I3217 — A wide table on a UI screen is a stacked list below the narrow width, from the same rows
Give the kit's table one narrow projection (each row a card with its labelled cells, the first column its heading) applied by CSS below the declared narrow width, and use it on the Issues, PR Drain and workspace issue tables; a graph's table fallback is shown first at that width.
BLOKOVÁNO vlna 1 · p2 · profil implementation · bezpečné paralelně
Blocked. This issue cannot start until I3214 is done. The status is derived from that, not declared.
Cíl
Give the kit's table one narrow projection (each row a card with its labelled cells, the first column its heading) applied by CSS below the declared narrow width, and use it on the Issues, PR Drain and workspace issue tables; a graph's table fallback is shown first at that width.
Proč
The 2026-10-08 mobile review named tables, modals and 1400 px graphs inside overflow-x as the dense surfaces that fail on phones. Proposed in ADR 0215 (A phone is the baseline width of every first-party surface, and the primary flow is accepted there before a surface grows) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c197#1.
Aktuální stav
The audit refuses page overflow; scripts/lib/interaction-specs/scroll-region.mjs holds tables that scroll inside their region.
Cílový stav
One kit class pair renders the same HTML rows as a table or as stacked cards by width; no second markup.
Rozsah
- share/ui/src/ui.css
- apps/majordomus-cli/src/ui/view.rs
- apps/majordomus-cli/src/ui/issues.rs
- apps/majordomus-cli/src/ui/prs.rs
Mimo rozsah
- Server-side mobile detection
- A separate mobile template
Závislosti
Kritéria přijetí
- At the floor width no listed table scrolls horizontally and every cell keeps its column label
- The served HTML is identical at every width
Validace
- scripts/ui audit --only /ui/issues
- cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib ui::view
Požadované důkazy
- ui_audit_issues_floor_width
Důkazy
Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.
Časová osa
- zahájeno
- —
- ověřeno
- —
- dokončeno
- —
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Canonical record: .ai/repo/project/issues/I3217.yaml. Read it back with majordomus plan show I3217.