- Updated HighlightsTab to accept syncStatus and syncErrorMessage props
- Added SyncStatusIndicator component import and display in highlights panel
- Enhanced BibleReaderApp with sync status tracking state (synced/syncing/pending/error)
- Modified performSync function to update sync status based on result
- Updated VersDetailsPanel to pass sync status props through to HighlightsTab
- Sync status now visible to users in the Highlights tab with real-time updates
Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added HighlightSyncManager and highlight state management to BibleReaderApp
- Implemented highlight handlers: add, update color, remove, and sync
- Connected highlight state from BibleReaderApp to VersDetailsPanel
- Updated VersDetailsPanel to pass highlight props to HighlightsTab
- Added auto-sync initialization with 30-second interval
- Prepared for Phase 2.1B API integration
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add aria-label to close button for screen reader support
- Add dynamic aria-label to bookmark button (Add/Remove bookmark)
- Add aria-label and character counter to notes TextField
- Wrap mobile bottom sheet in proper dialog semantics (role="dialog", aria-modal="true")
- Display full verse reference (Book Chapter:Verse) instead of just verse number
- Add useEffect to reset tab to Notes when verse changes for better UX
- Add 500 character limit to notes with visual counter
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>