mirror of
https://github.com/narrrl/proton-stream.git
synced 2026-11-04 00:47:00 +01:00
feat(app,android,ios): display type, artwork fade-in, shimmer, lifting tiles and paged shelves
A first pass at making the three clients look like a streaming app rather than a file browser, with no new data behind it. - Type: a Hero rung (34) set in Inter Display Bold, the optical size Inter draws for large text, for the banner's name and a title page's name where no logo stands in. Desktop `Role::Hero` and `theme::display`; Android and iOS `displayLarge`, at a tighter 1.1 leading. The font has its private use mappings stripped like the other two cuts. - Artwork fades in over its skeleton on Android and iOS, as it already did on desktop cards; art already decoded draws at once. Desktop episode stills and logos fade in too. - Skeletons shimmer: a soft diagonal highlight instead of a pulse. - Desktop tiles lift towards the viewer under the pointer, capped so a lifted tile never reaches its neighbour, and keyboard focus gets a ring of its own. - Desktop shelves share one `ui::shelf`: edges fade into the page and, under the pointer, round buttons page the row along. - Genres are chips on Android and iOS; quality (4K, HDR, 10-bit, Dual audio) moves out of the facts line into small outlined marks on all three. - Desktop title page and hero buttons use a tonal style beside the accent one, and the player's top bar a dark glass style, instead of egui's stock buttons. Episode numbers leave monospace for the type ramp. - The phone players' top and bottom bars are gradients rather than flat bands, and a double-tap seek is felt as well as seen.
This commit is contained in:
1 parent
3ebfd1a57b
commit
255e463fc8
33 files changed
+886
-290
No files matched your search
@@ -20,12 +20,13 @@ is the contract, and each side's copy is asserted against it by a test.
|
||||
|
||||
## Type
|
||||
|
||||
Nine rungs. The desktop names them; Android restates them because Material's own
|
||||
Ten rungs. The desktop names them; Android restates them because Material's own
|
||||
scale is a different one (`displayLarge` is 57sp, which is a size for a lock
|
||||
screen and not for anything in a library grid).
|
||||
|
||||
| Role | Size | What it is |
|
||||
|---|---|---|
|
||||
| Hero | 34 | the banner's name and a title page's name, where no logo stands in |
|
||||
| Display | 26 | the name of the thing you are looking at, once per page |
|
||||
| Title | 20 | an empty state, or a page heading with no display line |
|
||||
| Heading | 18 | the brand in the nav bar; a dialog's heading |
|
||||
@@ -39,8 +40,11 @@ screen and not for anything in a library grid).
|
||||
Weight and leading are each side's own. The desktop bundles Inter
|
||||
(`pstr-app/assets/fonts`, OFL) and sets Display, Title, Heading and Section in
|
||||
its semibold cut, which egui sees as a family of its own (`theme::semibold`);
|
||||
everything below Section is the regular cut. Compose derives line height as
|
||||
1.35 × size rather than naming it nine more times.
|
||||
everything below Section is the regular cut. Hero is set in Inter Display Bold,
|
||||
the optical size Inter draws for large text (`theme::display`); Android and iOS
|
||||
map it to `displayLarge`. Compose derives line height as 1.35 × size rather
|
||||
than naming it ten more times, except Hero at 1.1, where the text leading
|
||||
pushes a two-line name apart.
|
||||
|
||||
Icons on the desktop come from the Phosphor icon font (`egui-phosphor`,
|
||||
regular weight), installed right behind Inter so an icon can sit inside an
|
||||
|
||||
Reference in new issue
Block a user