From 568f253bbb047e0db0cebb7fa1b9561a6e2c3b4e Mon Sep 17 00:00:00 2001 From: Ryderjj89 Date: Sat, 13 Sep 2025 19:06:21 -0400 Subject: [PATCH] Fix verse hover functionality with improved visibility and better UX --- frontend/src/components/BibleReader.tsx | 37 +++++++++++++++++-------- 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/frontend/src/components/BibleReader.tsx b/frontend/src/components/BibleReader.tsx index 7e3a8d75..1c9ef3da 100644 --- a/frontend/src/components/BibleReader.tsx +++ b/frontend/src/components/BibleReader.tsx @@ -49,6 +49,7 @@ const BibleReader: React.FC = ({ book, chapter, onBack, format const verseFavorites = new Set(favoriteStrings); setFavorites(verseFavorites); + console.log('Loaded verse favorites:', favoriteStrings); } } catch (error) { console.error('Failed to load favorites:', error); @@ -76,16 +77,19 @@ const BibleReader: React.FC = ({ book, chapter, onBack, format ); if (verseFavorite) { - await fetch(`/api/favorites/${verseFavorite.id}`, { + const deleteResponse = await fetch(`/api/favorites/${verseFavorite.id}`, { method: 'DELETE', credentials: 'include' }); - setFavorites(prev => { - const newFavorites = new Set(prev); - newFavorites.delete(verseNumber); - return newFavorites; - }); + if (deleteResponse.ok) { + setFavorites(prev => { + const newFavorites = new Set(prev); + newFavorites.delete(verseNumber); + return newFavorites; + }); + console.log('Removed verse favorite:', verseNumber); + } } } } else { @@ -105,6 +109,11 @@ const BibleReader: React.FC = ({ book, chapter, onBack, format if (response.ok) { setFavorites(prev => new Set(prev).add(verseNumber)); + console.log('Added verse favorite:', verseNumber); + } else if (response.status === 409) { + // 409 means it already exists, which is fine - just update the UI + setFavorites(prev => new Set(prev).add(verseNumber)); + console.log('Verse favorite already exists, updated UI:', verseNumber); } } } catch (error) { @@ -211,12 +220,16 @@ const BibleReader: React.FC = ({ book, chapter, onBack, format const verseText = verseMatch[2]; verses.push( -
+
{/* Star button - only show for authenticated users */} {user && ( )}
- {verseNumber} + {verseNumber} {verseText}
@@ -238,14 +251,14 @@ const BibleReader: React.FC = ({ book, chapter, onBack, format // Chapter header const headerText = line.replace(/^#+\s*/, ''); verses.push( -

+

{headerText}

); } else { // Regular text (continuation of previous verse or other content) verses.push( -

+

{line}

); @@ -316,7 +329,7 @@ const BibleReader: React.FC = ({ book, chapter, onBack, format {/* Chapter Title */}
-

+

{formatBookName(book)} {chapter}

{user && (