john-okeefe
db4de823f3
feat: Update reader template for foliate-js integration
Update reader page template to use foliate-js custom element and add theme selector UI.
Template Changes:
1. Add foliate-js integration:
- Load foliate-themes.css for reading theme system
- Load foliate-js/view.js to register <foliate-view> custom element
- Replace <main id="reader-content"> with <foliate-view id="reader-view">
- Foliate auto-initializes from the custom element
2. Add Reading Theme selector:
- New section in settings panel (before Typography)
- Single dropdown with 18 themes organized by category using <optgroup>
- Categories: Classic Reading, Sky & Atmosphere, Sunset & Warmth, Nature & Earth, High Performance
- Each theme shows descriptive name
- Themes organized for easy discovery (grouped by mood/use case)
3. Remove broken references:
- Remove ebook-content class (tied to broken CSS columns approach)
- Clean up old reader-specific CSS class references
Reader Template Structure:
- Chrome (top/bottom bars): Back button, title, settings gear
- Bottom bar: Progress display, TOC/bookmarks/notes buttons, panel editor (comics)
- Settings panel: Chrome behavior, progress mode, reading themes, typography (fonts, spacing)
- TOC panel: Table of contents navigation
- Navigator panel: Page thumbnail with draggable viewport
- Bookmarks panel: User bookmarks with add button
- Dictionary popup: Word definition popup
Template Generator:
- Regenerated reader_templ.go via go generate
- Syncs template changes with Go backend
2026-04-12 12:09:56 -04:00
..
2026-03-13 22:25:12 -04:00
2026-03-13 22:25:12 -04:00
2026-03-13 22:25:12 -04:00
2026-03-13 22:25:12 -04:00
2026-03-12 09:04:26 -04:00
2026-03-11 16:41:45 -04:00
2026-03-28 23:54:26 -04:00
2026-03-13 22:25:12 -04:00
2026-03-13 22:25:12 -04:00
2026-03-28 23:54:26 -04:00
2026-03-13 22:25:12 -04:00
2026-03-13 22:25:12 -04:00
2026-03-12 15:44:46 -04:00
2026-03-12 15:44:15 -04:00
2026-03-28 23:54:39 -04:00
2026-03-28 23:54:39 -04:00
2026-04-06 16:02:54 -04:00
2026-04-04 18:17:06 -04:00
2026-03-27 15:52:02 -04:00
2026-03-27 15:52:02 -04:00
2026-03-28 20:35:40 -04:00
2026-03-28 20:35:40 -04:00
2026-03-12 09:04:26 -04:00
2026-03-09 20:11:31 -04:00
2026-03-13 22:25:12 -04:00
2026-03-13 22:25:12 -04:00
2026-03-28 23:54:42 -04:00
2026-03-28 23:54:42 -04:00
2026-03-13 22:25:12 -04:00
2026-03-13 22:25:12 -04:00
2026-03-13 22:25:12 -04:00
2026-03-13 22:25:12 -04:00
2026-03-28 23:54:42 -04:00
2026-03-28 23:54:42 -04:00
2026-03-13 22:25:12 -04:00
2026-03-13 22:25:12 -04:00
2026-03-13 22:25:12 -04:00
2026-03-13 22:25:12 -04:00
2026-03-12 09:04:26 -04:00
2026-02-20 13:25:35 -05:00
2026-03-28 00:46:10 -04:00
2026-03-28 00:46:10 -04:00
2026-04-06 16:02:45 -04:00
2026-04-04 18:17:06 -04:00
2026-04-06 16:02:45 -04:00
2026-04-04 18:17:06 -04:00
2026-04-06 16:02:45 -04:00
2026-04-04 18:17:06 -04:00
2026-03-12 09:04:26 -04:00
2026-03-08 21:36:02 -04:00
2026-03-12 09:04:26 -04:00
2026-03-08 21:36:02 -04:00
2026-03-13 22:25:12 -04:00
2026-03-13 22:25:12 -04:00
2026-03-28 23:54:42 -04:00
2026-03-28 23:54:42 -04:00
2026-03-13 22:25:12 -04:00
2026-03-13 22:25:12 -04:00
2026-04-12 12:09:56 -04:00
2026-04-12 12:09:56 -04:00
2026-04-06 16:02:45 -04:00
2026-04-04 18:17:06 -04:00
2026-03-28 21:21:03 -04:00
2026-03-28 21:21:03 -04:00
2026-03-11 11:01:43 -04:00
2026-03-08 21:36:02 -04:00
2026-04-03 22:29:01 -04:00
2026-03-13 22:25:12 -04:00
2026-03-13 22:25:12 -04:00
2026-03-31 17:09:25 -04:00