diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index ed097893..e26e7afa 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -325,6 +325,7 @@ function App() { formatBookName={formatBookName} user={user} onFavoriteChange={handleFavoriteChange} + version={versionId} /> ); }; diff --git a/frontend/src/components/ChapterSelector.tsx b/frontend/src/components/ChapterSelector.tsx index d97fb43b..9e86269b 100644 --- a/frontend/src/components/ChapterSelector.tsx +++ b/frontend/src/components/ChapterSelector.tsx @@ -9,9 +9,10 @@ interface ChapterSelectorProps { formatBookName: (bookName: string) => string; user?: any; onFavoriteChange?: () => void; + version?: string; } -const ChapterSelector: React.FC = ({ book, onChapterSelect, onBack, formatBookName, user, onFavoriteChange }) => { +const ChapterSelector: React.FC = ({ book, onChapterSelect, onBack, formatBookName, user, onFavoriteChange, version = 'esv' }) => { const [chapters, setChapters] = useState([]); const [loading, setLoading] = useState(true); const [favorites, setFavorites] = useState>(new Set()); @@ -25,24 +26,25 @@ const ChapterSelector: React.FC = ({ book, onChapterSelect if (user) { loadFavorites(); } - }, [user, book]); + }, [user, book, version]); const loadFavorites = async () => { if (!user) return; - + try { const response = await fetch('/api/favorites', { credentials: 'include' }); - + if (response.ok) { const data = await response.json(); const favoriteChapters: string[] = data.favorites - .filter((fav: any) => fav.book === book && fav.chapter && !fav.verse_start) // Only chapter-level favorites for this book + .filter((fav: any) => fav.book === book && fav.chapter && fav.version === version && !fav.verse_start) // Only chapter-level favorites for this book and version .map((fav: any) => fav.chapter); - + const chapterFavorites = new Set(favoriteChapters); setFavorites(chapterFavorites); + console.log('Loaded chapter favorites for version:', version, favoriteChapters); } } catch (error) { console.error('Failed to load favorites:', error); @@ -93,7 +95,8 @@ const ChapterSelector: React.FC = ({ book, onChapterSelect credentials: 'include', body: JSON.stringify({ book: book, - chapter: chapter + chapter: chapter, + version: version }) }); diff --git a/frontend/src/components/VersionSelector.tsx b/frontend/src/components/VersionSelector.tsx index 12b3ce18..4e9688c7 100644 --- a/frontend/src/components/VersionSelector.tsx +++ b/frontend/src/components/VersionSelector.tsx @@ -83,7 +83,7 @@ const VersionSelector: React.FC = ({ onVersionSelect }) =>

- Both translations include the complete Old and New Testaments, with search and bookmarking features. + All translations include the complete Old and New Testaments, with search and bookmarking features.