diff --git a/frontend/src/components/BibleReader.tsx b/frontend/src/components/BibleReader.tsx index 1114c15e..b3984c77 100644 --- a/frontend/src/components/BibleReader.tsx +++ b/frontend/src/components/BibleReader.tsx @@ -48,30 +48,30 @@ const BibleReader: React.FC = ({ book, chapter, onBack, format } }, [loading, content]); - // Load favorites when user is available + // Load favorites when user is available and reload when version changes useEffect(() => { if (user) { loadFavorites(); } - }, [user, book, chapter]); + }, [user, book, chapter, 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 favoriteStrings: string[] = data.favorites - .filter((fav: any) => fav.book === book && fav.chapter === chapter && fav.verse_start) // Only verse-level favorites for this chapter + .filter((fav: any) => fav.book === book && fav.chapter === chapter && fav.verse_start && fav.version === version) // Only verse-level favorites for this chapter and version .map((fav: any) => fav.verse_end ? `${fav.verse_start}-${fav.verse_end}` : fav.verse_start.toString()); - + const verseFavorites = new Set(favoriteStrings); setFavorites(verseFavorites); - console.log('Loaded verse favorites:', favoriteStrings); + console.log('Loaded verse favorites for version:', version, favoriteStrings); } } catch (error) { console.error('Failed to load favorites:', error); @@ -92,10 +92,11 @@ const BibleReader: React.FC = ({ book, chapter, onBack, format if (response.ok) { const data = await response.json(); - const verseFavorite = data.favorites.find((fav: any) => - fav.book === book && - fav.chapter === chapter && - fav.verse_start === parseInt(verseNumber) + const verseFavorite = data.favorites.find((fav: any) => + fav.book === book && + fav.chapter === chapter && + fav.verse_start === parseInt(verseNumber) && + fav.version === version ); if (verseFavorite) {