Refine title episode cards, section stacking and action menus
Some checks failed
review/code-claude Code review: pass, no blocking findings (9 non-blocking notes)
review/design-claude Blocked: card height 126 vs 140 dp, Menu to Media info flash, poster/cast overlap
Some checks failed
review/code-claude Code review: pass, no blocking findings (9 non-blocking notes)
review/design-claude Blocked: card height 126 vs 140 dp, Menu to Media info flash, poster/cast overlap
This commit is contained in:
parent
c2f7ccc438
commit
6d7513bd0e
19 changed files with 379 additions and 85 deletions
|
|
@ -627,18 +627,18 @@ retain the approved frames except for the requested feedback changes:
|
|||
that may still be cancelled; first mount restores the intended shelf item.
|
||||
Discover uses all six approved poster slots. Person keeps the final column
|
||||
at full poster width.
|
||||
- Episode images choose episode Primary, then Thumb, then the already-read
|
||||
series Backdrop. Episode cards are 400×280 px; cast retains its 68 px clearance.
|
||||
Episode context uses the episode overview, with two summary lines on the
|
||||
focused card. Held-series headers measure their copy/actions and leave 40 px
|
||||
before seasons instead of reserving a fixed empty 900 px header.
|
||||
- Episode images choose episode Primary, then Thumb, then the already-read series Backdrop.
|
||||
Title episode cards now use 448×252 px (16:9), with a one-line focused summary,
|
||||
no show-name overlay, and `S1 E3 · duration` plus the watched check on one line.
|
||||
Ready title headers measure their copy/actions and leave 40 px before the
|
||||
following section; series retain the empty 56 px readiness reservation.
|
||||
- Every Discover heading uses a 104 px band, including a 60 px title-to-card
|
||||
gap. Home heading geometry is unchanged.
|
||||
- Hero/backdrop decoding is bounded to 1920×1080; upright hero sheets request
|
||||
420×630. The shared request builder replaces conflicting Jellyfin size/encoding
|
||||
parameters: cards use WebP quality 80, while hero backdrops/sheets retain JPEG
|
||||
quality 96. Poster/tile/wide/episode requests are 256×384, 400×225, 544×306 and
|
||||
400×280; Jellyfin fill preserves aspect ratio before the UI crops. Tags and
|
||||
448×252; Jellyfin fill preserves aspect ratio before the UI crops. Tags and
|
||||
authentication query parameters remain intact. TMDB uses w342 for posters and
|
||||
portraits, w780 for landscape cards and w1280 for hero backdrops, never original.
|
||||
Lossy WebP decoding is guaranteed below minSdk 23; API 28+ additionally checks
|
||||
|
|
@ -690,6 +690,24 @@ pop a pushed title/person from content **or** nav. Initial loading has no conten
|
|||
target: Down stays in nav, while Back can still leave the title. A missing rating
|
||||
set emits no layout node, so it cannot reserve an invisible extra facts gap.
|
||||
|
||||
The title Menu replaces the old More/media-info icon action and contains Media
|
||||
info plus Add for someone when requests are permitted. It is shared by held
|
||||
movie, series and episode pages; non-held pages expose Add for someone in the
|
||||
same menu while Request/status and Not interested/Show again stay in the row.
|
||||
Version, tracks, watched and trailer controls keep their existing positions.
|
||||
Back from Media info returns to the menu; Back from the menu restores its
|
||||
opening button. The compact menu fades in for 160 ms and out for 100 ms using
|
||||
the motion ease-out token, with reduced-motion fades capped at 80 ms. Only the
|
||||
bounded menu panel owns an alpha layer; the scrim is static. Controls
|
||||
use the shared 4 px straddle focus ring. Episode details omit the redundant
|
||||
Seasons shortcut; series pages retain it. Ratings appear only in the header
|
||||
facts line, not again beside progress, on movie, series and episode pages.
|
||||
|
||||
Episode shelf skeletons use the same width, height and pitch as ready cards.
|
||||
Person filmography and related-title shelves remain posters; Home continuation
|
||||
tiles are a separate component and retain their series-name context.
|
||||
|
||||
|
||||
`TitleReadFacade` confines SDK reads, server/user-scoped last-good disk copies,
|
||||
person credits and playback mutations to one boundary. `ConductarrTitlePages`
|
||||
adds real detail, cast, related titles, performer/filmography, readiness/receipts
|
||||
|
|
@ -714,7 +732,10 @@ headers, sheets, cast and poster captions without changing shared type tokens.
|
|||
Fractional stack placement rounds only the accumulated position, preventing a
|
||||
one-pixel-per-row drift. Focused controls share the canonical lift shadow.
|
||||
`TitleKeysTest` replays real Android keys, including modal Back/hold, nearest-row
|
||||
entry, remembered columns, long-sheet visibility and full media-table geometry.
|
||||
entry, remembered columns and long-sheet visibility. `TitleRound2Test` covers
|
||||
menu Back/focus, preserved media info and household requests, movie stacking,
|
||||
the Mussolini resume example, request revocation, episode skeleton geometry,
|
||||
and native menu fade frames sampled in 16 ms steps.
|
||||
`TitleAsyncFocusTest` delays title and person replies through the real destination
|
||||
and view-model, then exercises content focus and hardware Back. Subtitles Off
|
||||
maps to the player's explicit disabled sentinel, not its unspecified default.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue