fix(web): collapse subtitles into one row chip #258

Merged
naps62-yolo merged 4 commits from sub-fixes into main 2026-08-26 08:58:14 +01:00
Owner

A file's row carried one green card per subtitle track, so an mkv with 25
embedded languages buried the row. It now carries one chip.

  • The chip names the wanted languages only — en, pt-PT,en, en,pt+10.
    Green with a check glyph when nothing wanted is missing, amber when
    something is (§4.2's own hue for a gap; violet here means downloading).
    It is also the button that opens the subtitle panel.
  • Its width comes from the wanted set, not from the row's content, so the
    chips after it stay in column. Same reasoning as the deck's .cw widths.
  • The waiver chip shrank to the warning triangle, keeping "below the size
    floor" in its title and aria-label — §4.2's drawn-glyph exemption.
  • Subtitles sit beside the audio tags; both are languages the file carries.
  • Every track the chip elides, including the languages nobody asked for and
    the per-track delete from #223, moved to an "on this file" lane at the top
    of the panel, ordered wanted, then gaps, then the rest.

Verified against production data: The Batman (8 embedded tracks, pt-PT
missing) and Rick and Morty S09 (25 tracks per episode), desktop and 420px.

A file's row carried one green card per subtitle track, so an mkv with 25 embedded languages buried the row. It now carries one chip. - The chip names the wanted languages only — `en`, `pt-PT,en`, `en,pt+10`. Green with a check glyph when nothing wanted is missing, amber when something is (§4.2's own hue for a gap; violet here means downloading). It is also the button that opens the subtitle panel. - Its width comes from the wanted set, not from the row's content, so the chips after it stay in column. Same reasoning as the deck's `.cw` widths. - The waiver chip shrank to the warning triangle, keeping "below the size floor" in its title and `aria-label` — §4.2's drawn-glyph exemption. - Subtitles sit beside the audio tags; both are languages the file carries. - Every track the chip elides, including the languages nobody asked for and the per-track delete from #223, moved to an "on this file" lane at the top of the panel, ordered wanted, then gaps, then the rest. Verified against production data: The Batman (8 embedded tracks, pt-PT missing) and Rick and Morty S09 (25 tracks per episode), desktop and 420px.
naps62-yolo added 3 commits 2026-08-26 08:08:59 +01:00
A file's row carried one green card per subtitle track, so an mkv with 25
embedded languages pushed the row into a wall of chips nobody wants to
read. One chip now names the wanted languages only — 'en', 'pt-PT,en',
'en,pt+10' — green when nothing wanted is missing, amber when something
is, and it is the button that opens the panel. Every track the chip
elides, including the languages nobody asked for and their delete
affordance, moved into a new 'on this file' lane at the top of that
panel.
"below the size floor" cost an episode row more width than the fact is
worth, so the waiver chip now draws the warning triangle and keeps the
sentence in its title and aria-label — the same drawn-glyph exemption
§4.2 grants a file being on disk. The subtitle chip moves up beside the
audio tags, since both are languages the file carries, and the panel's
"on this file" lane orders wanted languages first, then their gaps, then
the languages nobody asked for.
fix(web): give the subtitle chip a fixed width
ci / web (pull_request) Successful in 48s
ci / rust (pull_request) Failing after 1m15s
9495bb5560
The chip was as wide as its own languages, so an episode showing `en`
ended left of one showing `pt-PT,en` and every chip after it drifted with
it. Its language run is now sized from the wanted set — the widest label
that set can ever produce — and the satisfied check keeps its slot whether
or not it is drawn. Same fixed-column reasoning as the deck's `.cw`
widths.
naps62-yolo added 1 commit 2026-08-26 08:41:43 +01:00
Merge remote-tracking branch 'origin/main' into sub-fixes
ci / web (pull_request) Successful in 50s
ci / rust (pull_request) Successful in 1m17s
c82e59fd9c
naps62-yolo merged commit bd5131f424 into main 2026-08-26 08:58:14 +01:00
naps62-yolo deleted branch sub-fixes 2026-08-26 08:58:14 +01:00
Sign in to join this conversation.