Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,547 changes: 743 additions & 804 deletions data/common/common_en.json

Large diffs are not rendered by default.

1,545 changes: 742 additions & 803 deletions data/common/common_es.json

Large diffs are not rendered by default.

1,547 changes: 743 additions & 804 deletions data/common/common_gu.json

Large diffs are not rendered by default.

1,547 changes: 743 additions & 804 deletions data/common/common_hi.json

Large diffs are not rendered by default.

1,547 changes: 743 additions & 804 deletions data/common/common_or.json

Large diffs are not rendered by default.

1,547 changes: 743 additions & 804 deletions data/common/common_ta.json

Large diffs are not rendered by default.

1,547 changes: 743 additions & 804 deletions data/common/common_te.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -202,28 +202,17 @@ const Verse = async ({ params: paramsPromise }: Props) => {
chapterData?.gita_chapters_by_pk?.name_translated ||
`Chapter ${chapterNumber}`;

// Helper to parse verse number for sorting
const parseVerseForSort = (verseStr: string): number => {
const match = verseStr.match(/^(\d+)/);
return match ? parseInt(match[1], 10) : 0;
};

// Sort verses by their first number to ensure correct order
const sortedVerses = [...commonVerses].sort(
(a, b) =>
parseVerseForSort(a.verse_number) - parseVerseForSort(b.verse_number),
);

// Note: Verses are already sorted in the JSON files
// Find next and previous verse numbers from the actual data
const currentIndex = sortedVerses.findIndex(
const currentIndex = commonVerses.findIndex(
(v) => v.verse_number === verseNumber,
);
const nextVerseNumber =
currentIndex >= 0 && currentIndex < sortedVerses.length - 1
? sortedVerses[currentIndex + 1]?.verse_number
currentIndex >= 0 && currentIndex < commonVerses.length - 1
? commonVerses[currentIndex + 1]?.verse_number
: undefined;
const prevVerseNumber =
currentIndex > 0 ? sortedVerses[currentIndex - 1]?.verse_number : undefined;
currentIndex > 0 ? commonVerses[currentIndex - 1]?.verse_number : undefined;

return (
<article>
Expand Down
44 changes: 20 additions & 24 deletions src/lib/data/queries.ts
Original file line number Diff line number Diff line change
Expand Up @@ -159,31 +159,27 @@ export async function queryChapterData(
const authorVerseMap = new Map(authorVerses.map((v) => [v.verse_number, v]));

// Build verses array - keep ranges as-is
const verses = commonVerses
.map((commonVerse) => {
// Parse first verse number for ID generation and sorting
const firstVerseNum = parseVerseNumber(commonVerse.verse_number);
// Note: Verses are already sorted in the JSON files
const verses = commonVerses.map((commonVerse) => {
// Parse first verse number for ID generation
const firstVerseNum = parseVerseNumber(commonVerse.verse_number);

return {
id: chapterNumber * 100 + firstVerseNum,
verse_number: commonVerse.verse_number, // Keep original string (e.g., "4-6")
word_meanings: commonVerse.word_meanings, // word_meanings is already a string in v4 data
chapter_number: chapterNumber,
gita_translations: authorVerseMap.get(commonVerse.verse_number)
?.translation
? [
{
description: authorVerseMap.get(commonVerse.verse_number)!
.translation!,
},
]
: [],
};
})
.sort(
(a, b) =>
parseVerseNumber(a.verse_number) - parseVerseNumber(b.verse_number),
); // Sort by first verse number in range
return {
id: chapterNumber * 100 + firstVerseNum,
verse_number: commonVerse.verse_number, // Keep original string (e.g., "4-6")
word_meanings: commonVerse.word_meanings, // word_meanings is already a string in v4 data
chapter_number: chapterNumber,
gita_translations: authorVerseMap.get(commonVerse.verse_number)
?.translation
? [
{
description: authorVerseMap.get(commonVerse.verse_number)!
.translation!,
},
]
: [],
};
});

return {
gita_chapters_by_pk: {
Expand Down
Loading