- Replace all querySelector('.reminder-info') calls with EventBus.emit('showReminder')
across 14 files — prevents crashes when the element is not mounted
- Move ReminderInfo from inside the sidebar to the top of the right content column
so it no longer obscures sidebar navigation
- Fix reminder not showing for non-hot-reload settings (Slider hook violation where
useT() was called inside a requestAnimationFrame callback)
- Skip reminder for LocationSearch since it already emits a hot-reload refresh event
- Suppress reminder for settings with hot-reload (no page refresh needed)
- Fix modal content overflowing right edge: replace width:100%!important on
.modalTabContent with flex:1 + min-width:0 + overflow-x:hidden
- Fix ReminderInfo refresh button being too small
- Fix sidebar collapse animation using max-width transition instead of width:0
- Fix PhotoInformation showing 0x0 resolution and Unknown Location before image loads
- Fix Wikipedia disambiguation links for quote authors by returning null from
getAuthorLink (Wikidata links used when available)
- Bail early in useSuggestedPacks when offline mode is enabled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Added react-router for improved routing and navigation.
- Replaced hash-based navigation with React Router's navigate function.
- Introduced RouterBridge to manage deep linking and legacy navigation.
- Updated components to utilize useNavigate and useLocation hooks.
- Refactored modal handling to integrate with React Router.
- Removed updateHash utility to prevent conflicts with React Router's history management.
- Created routes configuration for application structure and lazy loading.
- Ensured backward compatibility with existing deep link data structure.
- Introduced new SuggestedPacks component to display trending quote and photo packs.
- Implemented useSuggestedPacks hook for fetching and caching suggested packs from the marketplace.
- Updated localization files for multiple languages to include new strings for suggested packs.
- Added explore all button to navigate to the marketplace category page.
- Updated various SCSS files to replace RGBA color definitions with RGB notation using alpha transparency (e.g., rgba(255, 255, 255, 0.1) to rgb(255 255 255 / 10%)).
- Enhanced RTL support by adding new mixins for inline padding, margin, positioning, and text alignment.
- Adjusted themed mixins to remove unnecessary parentheses for consistency.
- Cleaned up font-face declarations in index.scss for improved readability.
- Minor adjustments to layout properties in quicklinks and welcome components for better responsiveness.