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
This commit is contained in:
Ryderjj89
2025-09-28 13:45:31 -04:00
parent 54edb264fe
commit e21bc59463
2 changed files with 18 additions and 11 deletions

View File

@@ -501,6 +501,7 @@ function App() {
user={user}
formatBookName={formatBookName}
getBookUrlName={getBookUrlName}
setSelectedVersion={setSelectedVersion}
onFavoriteChange={() => setUser((prev: any) => ({ ...prev }))}
/>
</div>

View File

@@ -18,9 +18,10 @@ interface FavoritesMenuProps {
formatBookName: (bookName: string) => string;
getBookUrlName: (bookName: string) => string;
onFavoriteChange?: () => void;
setSelectedVersion?: (version: string) => void;
}
const FavoritesMenu: React.FC<FavoritesMenuProps> = ({ user, formatBookName, getBookUrlName, onFavoriteChange }) => {
const FavoritesMenu: React.FC<FavoritesMenuProps> = ({ user, formatBookName, getBookUrlName, onFavoriteChange, setSelectedVersion }) => {
const [isOpen, setIsOpen] = useState(false);
const [favorites, setFavorites] = useState<Favorite[]>([]);
const [loading, setLoading] = useState(false);
@@ -72,13 +73,18 @@ const FavoritesMenu: React.FC<FavoritesMenuProps> = ({ 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}`);