- Header shows ESV/NKJV logo when version is selected, generic book icon on homepage
- Version selector cards now display actual ESV and NKJV logos instead of generic icons
- Logos sourced from frontend/logos/ directory (esv-logo.png, nkjv-logo.png)
- Proper sizing and accessibility with alt text
- Maintains responsive design across all screen sizes
Beautiful card-based version selection:
- ESV and NKJV option cards with distinct colors and icons
- Responsive design (side-by-side on desktop, stacked on mobile)
- Hover effects and smooth transitions
- Proper TypeScript typing and clean component architecture
- Accessible design with proper contrast ratios
- Page title updated to 'The Bible' instead of 'ESV Bible'
- Homepage now shows version selection cards (ESV/NKJV) instead of book list
- Version dropdown shows 'Choose version' on homepage
- Users must select version before seeing books
- Maintains URL parameter support and all existing functionality
- Clean separation between version selection and Bible browsing
Now users start with version selection, preventing defaulting to one translation.
- Updated loadFavorites to filter favorites by version: only show favorites for current version
- Modified removeFavorite to match version when deleting specific favorites
- Added version to useEffect dependencies so favorites refresh when version changes
- Backend already supports version-specific favorites via database schema
Now users can favorite Genesis 1:1 in both ESV and NKJV independently - switching versions shows correct favorited states.
- 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
- Read version parameter from URL on page load (?version=esv|?version=nkjv)
- Update URL with version when selection changes
- Enable shareable version-specific URLs like /book/Genesis/chapter/1?version=nkjv
- Removed fix-nkjv-encoding.js utility script (no longer needed)
- Simplified readMarkdownFile back to basic BOM removal
- NKJV files now use same format as ESV: numbered paragraphs (1. verses...)
- Maintains React parsing for both ESV and NKJV formats
Provides a comprehensive tool to clean up text encoding issues in NKJV files:
- Converts corrupted UTF-8 to Latin-1 and back to clean UTF-8
- Removes BOM markers and Windows line endings
- Strips replacement characters
- Can be run locally: node fix-nkjv-encoding.js
- Detect UTF-8 replacement characters and fall back to Latin-1 encoding
- Add NKJV-specific cleanup to remove replacement chars and normalize line endings
- Strip UTF-8 BOM and handle Windows line endings properly
- Updated parseBibleText to detect NKJV verses with ###### 1 Verse format
- Added version-specific parsing for ESV (1. format) vs NKJV (###### format)
- Ensures proper verse number extraction and text display for both versions
- Removes diamond question marks and square artifacts in NKJV text
Complete NKJV translation with:
- 66 books in numbered directory format
- All verses in markdown format
- Consistent naming scheme matching ESV structure
- Encoding normalized for proper text display
This completes the multi-version Bible support with both ESV and NKJV translations.
- Rename project from 'ESV Bible' to 'The Bible'
- Implement version selection dropdown in homepage header
- Add support for multiple Bible versions:
* ESV (English Standard Version) - from mdbible
* NKJV (New King James Version) - from local NKJV/ directory
- Update all API endpoints to accept version parameter (?version=esv|?version=nkjv)
- Add version-aware favorites system that stores and displays Bible version (e.g., 'Genesis 1:1 (ESV)')
- Update database schema to include version column in favorites table
- Maintain backward compatibility with existing data
- Update Docker configuration and documentation
- Add detailed Bible Search Feature section with capabilities and API endpoints
- Document search interface options (header button, modal, dedicated page)
- Include search parameters and functionality details
- Add acknowledgment for mdbible repository as Bible data source
- Highlight contextual search results and direct verse navigation features
- Search results now navigate directly to specific verses using URL hash
- Clicking a search result takes you to the chapter and scrolls to the exact verse
- Matches the behavior of favorites navigation for consistent user experience
- URL format: /book/BookName/chapter/1#verse-5 for precise verse targeting
- Backend now properly handles chapter names that already include 'Chapter_' prefix
- Prevents double padding that was causing file not found errors
- Maintains backward compatibility for legacy chapter number requests
- Chapter loading should now work correctly alongside search functionality
- Update search engine to parse numbered list format (1. verse text)
- Fix chapter file path construction to use Chapter_XX.md format
- Add zero-padding for chapter numbers in API routes
- Skip empty lines and headers in markdown parsing
- Ensure compatibility with external bible data source structure
- Implement backend search engine with indexing and relevance scoring
- Add search API endpoints (/api/search and /api/search/suggestions)
- Create SearchComponent with modal and page views
- Add search button to header navigation
- Support real-time search with debouncing
- Include context verses and search term highlighting
- Add book filtering and mobile-responsive design
- Integrate with existing routing and navigation system