mirror of
https://github.com/narrrl/proton-stream.git
synced 2026-11-04 16:57:00 +01:00
feat(app): polish pass - toasts, shortcuts, redesigned pages, cheaper frames
- toasts replace the status line; keyboard shortcuts with a ? overlay - library: filters, sort, row virtualisation, cached search, skeleton tiles until the catalog loads, gradient placeholder art - title page: season pills, episode rows with stills and one download glyph, portrait poster, clamped overview, resume time in the button - player: fading chrome, smooth scrims, subtitles lifted over the controls, drag-following seek knob, OSD, speed menu, auto-skip - settings as grouped cards with toggles and palette previews - shares: confirm before removing, inline link validation, form kept until the add succeeds; downloads scroll and show rate and ETA - downloads pipeline four blocks; the next episode is warmed near the end - a film behind another page repaints at 4 Hz, not its frame rate Fixes B55-B60.
This commit is contained in:
1 parent
c5adcddb1e
commit
4027ab5fb3
20 files changed
+3389
-763
No files matched your search
@@ -101,6 +101,24 @@ for a press, 0.10–0.12 s for a hover, 0.16 s for the tab pill's travel and 0.2
|
||||
for artwork arriving. Compose's defaults are close enough that nothing here
|
||||
overrides them.
|
||||
|
||||
## Desktop widgets
|
||||
|
||||
`pstr-app/src/ui/widgets.rs` holds the hand-painted controls. Use them instead
|
||||
of egui's own in new code:
|
||||
|
||||
- `toggle`: an on/off switch. It replaces `ui.checkbox`, whose unchecked box
|
||||
is filled with the card colour and so disappears on a card.
|
||||
- `settings_group` / `settings_row`: one card per subject, with the name and
|
||||
description on the left and the control on the right (the libadwaita
|
||||
preferences pattern `proton-drive-linux` uses).
|
||||
- `segmented`: pills on a shared track, for picking one of a few values
|
||||
(library filter, season).
|
||||
- `chip`: a small rounded fact, such as a genre.
|
||||
- `watched_mark`, `download_button`: the round icon buttons on an episode row.
|
||||
|
||||
Messages go through `ui::toast::Toasts` (via `App::note`), not a status line.
|
||||
Destructive actions ask through `ui::confirm`.
|
||||
|
||||
## Adding a token
|
||||
|
||||
Name it in the owning client first, restate it on the other side, and extend the
|
||||
|
||||
Reference in new issue
Block a user