Give Storage its own row and rebuild the disk list as a table
All checks were successful
Deploy / deploy (push) Successful in 23s
All checks were successful
Deploy / deploy (push) Successful in 23s
Ten disks stacked at --row-h each turned one third of the "Right now" strip into a ~950px tower. The row is a grid, so Now playing and Downloads stretched to match and held roughly 1500px of empty card between them. The information needed width, not a shorter list. "Right now" drops to two columns and Storage moves to a full-width row beneath it, where the same ten disks are a six-column table — disk, used, size, free, usage bar, temp — at ~270px total. Nothing is hidden and nothing scrolls except the table itself, which gets its own overflow container below 720px rather than wrapping the sizes into mush. Also: the array total moves to a bar above the table and the summary into the card header, so the hero figure isn't repeating what every row already says. The header summary is a sentence rather than a badge, so it needs .card-meta-wrap to opt out of the global nowrap — without it that one string pushed the whole page sideways on a phone. Local-fallback (no per-disk data) and error states keep the previous hero-figure treatment. CLAUDE.md now carries the dead-space rule this came from. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
326ab6cee5
commit
08c71ba68d
3 changed files with 176 additions and 74 deletions
22
CLAUDE.md
22
CLAUDE.md
|
|
@ -67,6 +67,28 @@ the user's Unraid home server. Server-side project directory is still named
|
|||
tiers in `app.py`: a "Right now" strip (live streams, download queue,
|
||||
array usage) sits above the fold, with library, discovery, requests and
|
||||
watch insights below it.
|
||||
- **Cards in a row must earn their height — never leave dead space.** A
|
||||
`.row` is a CSS grid, so every card stretches to the tallest one in that
|
||||
row. A card whose content outgrows its neighbours doesn't just get tall,
|
||||
it hollows out everything beside it. This has bitten once already: the
|
||||
per-disk Storage list stacked ten disks at `--row-h` each, turning one
|
||||
third of the "Right now" strip into a ~950px tower and leaving ~1500px of
|
||||
empty card across Now playing and Downloads.
|
||||
- Before adding a repeating list to a card in a multi-column row, check
|
||||
what the row's other cards hold at their **quietest** — one stream, an
|
||||
idle queue, zero pending requests — and keep the tallest card within
|
||||
roughly 1.5× of that.
|
||||
- When the content genuinely won't fit, the fix is **more width**: give
|
||||
the card its own full-width row (`grid-template-columns: 1fr`) and lay
|
||||
its list out in columns inside, or use more columns within the existing
|
||||
card. Ten items down one narrow column is three tidy rows of tiles once
|
||||
the card spans the page.
|
||||
- The fix is **never** an inner scroll area, a truncated list, or content
|
||||
hidden behind a toggle the user has to find — see the "nothing clipped
|
||||
or hidden" rule the header pills already follow.
|
||||
- Where a short card still can't be avoided, centre its content
|
||||
vertically rather than reaching for `align-items: start`; equal-height
|
||||
cards are a settled preference.
|
||||
- Degraded services render through the `service_error()` macro, which
|
||||
pairs `friendly_error` (human cause) with the raw exception behind a
|
||||
disclosure, passed through `redact_secrets` — SABnzbd and Tautulli put
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue