Commit Graph

21 Commits

Author SHA1 Message Date
neon af8f55976f feat(client): add the Nostalgia appearance style
Add a Style setting beside mode, accent, radius and background. Nostalgia restyles the app through
tokens only (neutral surface palettes, system type, flat shell, top glow) and pins background,
opacity and brightness. Add a top glow reach slider for both styles. Tidy the theme layer first:
charts read live tokens, bare `rounded` follows the radius scale, one shared sign-in toolbar.
Also carries the settings page header redesign.
2026-10-09 01:01:57 +00:00
neon 01b5638ea7 feat(cover): show each book's cover in the shape of its primary format
Pick the face slot from the primary file's medium instead of the library's
ratio, and send that frame per book on cards, detail, notebook labels and
recommendations. Grids keep uniform tiles, and the library setting becomes
Grid shape.
2026-10-08 06:19:00 +00:00
neon e28bd67fa3 feat(cover): give books with both media separate ebook and audiobook covers
Keep one cover slot per medium and show the one each surface needs: the
library's shape for the face, square art on audio screens, the ebook slot
for Kobo and OPDS. Legacy covers convert on upgrade or on first read, and a
write that names no slot keeps working for released iOS builds. Also read
the dev client origin from one constant.
2026-09-23 19:55:25 +00:00
neon c113c63bde fix(series): make select mode work when series are collapsed
Selecting inside a collapsed library was broken in every layout: a grid series card navigated
into the series instead of selecting, and a list or table series row selected only the
representative book rather than the series it stands for.

Suppress collapse for as long as select mode is active, so the list reloads uncollapsed and
every row is an individual, selectable book. The saved collapse preference is untouched and
comes back on exit. The toolbar toggle stays focusable while locked and explains itself
through its tooltip, since entering select mode visibly re-lays out the view.

Closes #963
2026-08-10 18:36:27 +00:00
neon 544f4d5e53 fix(books): respect library cover aspect ratio for combined media books
Books containing both ebook and audiobook formats were incorrectly rendered with square covers in dashboard widgets, series views, and cards because aspect ratio logic checked for any audio format file instead of relying on the configured cover aspect ratio or primary media profile.

Closes #712
2026-07-22 04:12:13 +00:00
neon 920aa3b477 build(deps): refresh client and server dependencies
Keep the dependency baseline current after the release window, and adapt the icon and zip integrations to current package APIs.
2026-06-21 06:00:55 +00:00
neon f1a7ba6070 fix(cover): refresh cached cover URLs
Update cover mutation paths to bump the book timestamp used for cover cache busting, and carry per-book collapsed-series cover versions so child covers do not reuse a representative book timestamp.
2026-06-20 20:52:43 +00:00
neon 96e42d2ac1 feat(settings): add option to turn book spine off for comics
Adds a display preference to conditionally render book spines on comic
formats. The new setting is defaulted to false. Various book cover
surfaces across the application now respect this preference by checking
if the format is a comic before rendering the spine.

Closes #295
2026-06-15 05:56:39 +00:00
neon 5d0b5143fc fix(cover): resolve spine sizing and consistency issues
Delay spine layer rendering for blurred-fit covers until the image ratio is known so it does not overflow the artwork. Enable spine overlays on series stack cards, series detail headers, and carousels where they were previously disabled. Apply data attributes to spine layers so standalone artwork elements render properly without surface ancestors.

Closes #294
2026-06-12 05:43:12 +00:00
neon 936b907352 feat(series): add stack display mode for series thumbnails
Introduces a new 'stack' cover mode for series cards, rendering the covers
as a stacked pile. This mode has also been made the default for series card
display preferences. Settings UI is updated to allow users to toggle this
mode alongside existing mosaic and single-cover options.

Closes #223
2026-06-03 17:56:20 +00:00
neon 73795767da fix(series): use numeric ID for routing to support long titles
Transition from title-based to ID-based routing for series to prevent
404 errors when a series has an excessively long title. This introduces
numeric IDs for series, backed by schema updates, and updates the
frontend router to use seriesId instead of seriesName.

Closes #198
2026-06-02 18:53:14 +00:00
neon 9fd61d327a feat(client): support square audiobook covers and inline series cells
Refactors the virtual book table to render collapsed series as standard
inline cells (BookTableCollapsedSeriesCell) rather than full-width
rows, improving table alignment and layout consistency. Updates the
dashboard scroller and cover artwork components to support 1:1 aspect
ratios, ensuring audiobook covers are displayed correctly without
distortion.
2026-06-01 20:52:07 +00:00
neon fe936822ba fix(smart-scope): prune deleted scopes from dashboard shelves
Remove stale smart-scope scrollers after smart scopes load so deleted shelves stop rendering and stop issuing invalid scroller requests.

Add dashboard config edge-case tests for prune, reset, and malformed storage normalization to prevent regressions.

Closes #189
2026-06-01 15:47:33 +00:00
neon 16e01f6b01 feat(settings): add option to show titles under grid cards (#181)
Add a user preference to configure the label displayed underneath book
and series cards in grid view. The option allows users to select
between hiding labels completely, showing book titles, or showing series
titles.

Closes #159
2026-05-31 19:37:28 -06:00
neon 7a1b0120b8 feat(series): add selectable cover modes for collapsed series cards
Allow readers to choose which representative series cover appears in collapsed grid view so browsing can prioritize first, latest, or first unread volumes.

Closes #160
2026-05-31 15:10:00 +00:00
neon 0ab342d80b fix(cover): disable spine overlay for audiobook covers
Respect audiobook presentation by forcing spine effects off for audio items.
Keep the selected spine mode unchanged for non-audiobook covers.

Ref #147
2026-05-30 02:03:42 +00:00
neon 9e891f609f feat(client): add configurable spine and shadow effects for book covers (#65)
Unify cover rendering with a reusable surface wrapper so cover styling stays consistent across grid, list, table, and dashboard views.
Expose spine overlay and shadow strength controls in appearance settings and fit spine overlays to cropped cover frames to avoid visual bleed.
Add tests for the cover surface component and aspect-ratio fitting helpers.

closes #62
2026-05-20 14:38:52 -06:00
neon c7a066e4eb fix(client): bust stale covers after bulk refresh via pre-bump and consistent coverUrl usage 2026-05-13 19:51:52 +00:00
neon cfc3672a6c refactor: rename book-bucket to book-dock and lens to smart-scope 2026-04-20 22:57:27 -06:00
neon 2ac7bf822d feat: overhaul series detail view and improve card interactions 2026-04-16 17:06:53 -06:00
neon cbaa3b0f1b feat(series): add series collapse with per-library preferences 2026-04-15 18:25:34 -06:00