From e21bc5946349ad6d1962587050eb99c09d6603c3 Mon Sep 17 00:00:00 2001 From: Ryderjj89 Date: Sun, 28 Sep 2025 13:45:31 -0400 Subject: [PATCH] Add version switching for favorites - clicking NKJV favorites now switches to NKJV version and URL parameters update automatically - Added setSelectedVersion prop to FavoritesMenu component - Updated navigateToFavorite to switch app version before navigation - Favorites now switch to the stored version automatically - URL parameters update correctly for ESV/NKJV selection --- frontend/src/App.tsx | 13 +++++++------ frontend/src/components/FavoritesMenu.tsx | 16 +++++++++++----- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 7f5be51e..57096ed1 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -497,12 +497,13 @@ function App() { {user && (
- setUser((prev: any) => ({ ...prev }))} - /> + setUser((prev: any) => ({ ...prev }))} + />
)} diff --git a/frontend/src/components/FavoritesMenu.tsx b/frontend/src/components/FavoritesMenu.tsx index 157facf5..37cb4062 100644 --- a/frontend/src/components/FavoritesMenu.tsx +++ b/frontend/src/components/FavoritesMenu.tsx @@ -18,9 +18,10 @@ interface FavoritesMenuProps { formatBookName: (bookName: string) => string; getBookUrlName: (bookName: string) => string; onFavoriteChange?: () => void; + setSelectedVersion?: (version: string) => void; } -const FavoritesMenu: React.FC = ({ user, formatBookName, getBookUrlName, onFavoriteChange }) => { +const FavoritesMenu: React.FC = ({ user, formatBookName, getBookUrlName, onFavoriteChange, setSelectedVersion }) => { const [isOpen, setIsOpen] = useState(false); const [favorites, setFavorites] = useState([]); const [loading, setLoading] = useState(false); @@ -71,14 +72,19 @@ const FavoritesMenu: React.FC = ({ user, formatBookName, get const navigateToFavorite = (favorite: Favorite) => { const urlBookName = getBookUrlName(favorite.book); - + + // Switch to the version the favorite was stored with + if (favorite.version && favorite.version !== 'esv' && setSelectedVersion) { + setSelectedVersion(favorite.version); + } + if (favorite.chapter) { // Navigate to chapter, with verse hash if it's a verse favorite - let url = `/book/${urlBookName}/chapter/${favorite.chapter}`; + let navUrl = `/book/${urlBookName}/chapter/${favorite.chapter}`; if (favorite.verse_start) { - url += `#verse-${favorite.verse_start}`; + navUrl += `#verse-${favorite.verse_start}`; } - navigate(url); + navigate(navUrl); } else { // Navigate to book navigate(`/book/${urlBookName}`);