From ebd2519974c910d31a38a82151837b0c500b9b5d Mon Sep 17 00:00:00 2001 From: Andrei Date: Wed, 24 Sep 2025 12:54:08 +0000 Subject: [PATCH] Improve bible reader navigation layout and alignment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Reorganize controls into two logical rows: filters and settings - Fix alignment issues with version selector and toggle button - Center font size controls with other action buttons - Remove version count caption that caused height differences - Maintain full functionality in both normal and reading modes - Improve visual hierarchy and user experience 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- app/[locale]/bible/reader.tsx | 154 ++++++++++++++++++---------------- app/globals.css | 16 ++++ 2 files changed, 97 insertions(+), 73 deletions(-) diff --git a/app/[locale]/bible/reader.tsx b/app/[locale]/bible/reader.tsx index 63ba24d..d87ba1e 100644 --- a/app/[locale]/bible/reader.tsx +++ b/app/[locale]/bible/reader.tsx @@ -200,6 +200,20 @@ export default function BibleReaderNew() { localStorage.setItem('bibleReaderPreferences', JSON.stringify(preferences)) }, [preferences]) + // Handle full screen mode - add/remove CSS class to body + useEffect(() => { + if (preferences.readingMode) { + document.body.classList.add('bible-fullscreen-mode') + } else { + document.body.classList.remove('bible-fullscreen-mode') + } + + // Cleanup on unmount + return () => { + document.body.classList.remove('bible-fullscreen-mode') + } + }, [preferences.readingMode]) + // Save selected version to localStorage useEffect(() => { if (selectedVersion) { @@ -602,6 +616,7 @@ export default function BibleReaderNew() { { if (el) verseRefs.current[verse.verseNum] = el }} + data-verse-container sx={{ mb: 1, display: 'flex', @@ -674,18 +689,20 @@ export default function BibleReaderNew() { const renderNavigation = () => ( - + {/* First Row: Navigation Filters */} + {/* Version Selection */} - + {t('version')} + + {/* Second Row: Settings and Controls */} + {/* Font Size Controls */} - - - setPreferences(prev => ({ - ...prev, - fontSize: Math.max(12, prev.fontSize - 1) - }))} - disabled={preferences.fontSize <= 12} - > - A⁻ - - setPreferences(prev => ({ - ...prev, - fontSize: Math.min(28, prev.fontSize + 1) - }))} - disabled={preferences.fontSize >= 28} - > - A⁺ - - - + setPreferences(prev => ({ + ...prev, + fontSize: Math.max(12, prev.fontSize - 1) + }))} + disabled={preferences.fontSize <= 12} + > + A⁻ + + setPreferences(prev => ({ + ...prev, + fontSize: Math.min(28, prev.fontSize + 1) + }))} + disabled={preferences.fontSize >= 28} + > + A⁺ + {/* Action Buttons */} - - - - setPreferences(prev => ({ ...prev, readingMode: !prev.readingMode }))} - sx={{ color: preferences.readingMode ? 'primary.main' : 'inherit' }} - > - {preferences.readingMode ? : } - - + + setPreferences(prev => ({ ...prev, readingMode: !prev.readingMode }))} + sx={{ color: preferences.readingMode ? 'primary.main' : 'inherit' }} + > + {preferences.readingMode ? : } + + - - setSettingsOpen(true)}> - - - + + setSettingsOpen(true)}> + + + - {user && ( - - - {isChapterBookmarked ? : } - - - )} - - - - - - - - + {user && ( + + + {isChapterBookmarked ? : } + + + )} + + + + + ) @@ -1012,12 +1020,12 @@ export default function BibleReaderNew() { - {/* Navigation Section */} - {!preferences.readingMode && renderNavigation()} + {/* Navigation Section - Always show but with different styling in reading mode */} + {renderNavigation()} {/* Reading Content */}