fabro/lib/crates/fabro-server/tests/it/api
Bryan Helmkamp 4190e13a20
Collapsible run stage sidebar (#352)
## What

Makes the run-detail stage sidebar (shown on the Overview and Stages
tabs) collapsible with a slide animation.

- A toggle button slides the panel between full width (`w-56`) and an
icon-only rail (`w-12`), animating `width` over 300ms with the same
easing as the Ask Fabro panel.
- When collapsed, **stage status icons stay visible** — green check /
red X / spinning teal for running — so run progress is still scannable
at a glance. Workflow links (Graph Source, Run Logs, etc.) collapse to
icons too so they remain reachable.
- Labels and durations become `sr-only` with `title` tooltips for hover.
- The open/closed choice persists to `localStorage`
(`fabro:stage-sidebar-collapsed`), carrying across the Overview and
Stages tabs and reloads.

## Layout

- The collapse toggle is inline with the `STAGES` heading row (or
`WORKFLOW` when a run has no stages yet), so it doesn't push the stage
list down.
- The stage sidebar's top padding on the Stages tab was reduced (`pt-6`
→ `pt-3`) so the heading aligns with the adjacent content column and
sits closer to the tab nav.

## Notes

Self-contained in `StageSidebar` — `run-overview.tsx` and
`run-stages.tsx` render it inside flex layouts that already track its
width, so the slide works in both with no parent changes (aside from the
padding tweak).

Verified: `tsc` typecheck passes; `stage-sidebar` lib tests pass
(10/10).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: fabro-sh-0530[bot] <281434857+fabro-sh-0530[bot]@users.noreply.github.com>
Co-authored-by: Fabro <noreply@fabro.sh>
2026-05-22 12:20:29 -04:00
..
auth_sessions.rs chore: simplify 2026-05-20 09:13:51 -04:00
cli_auth_token.rs chore: simplify 2026-05-20 09:13:51 -04:00
docs.rs docs(deployment): split into local vs self-hosted, drop Render/Fly/DO 2026-05-01 09:26:35 -04:00
install.rs refactor(install): share persistence pipeline (#332) 2026-05-21 08:04:04 -04:00
install_openai_compatible.rs refactor(llm): split provider identity from adapters (#280) 2026-05-16 13:13:41 -04:00
mod.rs feat(api): bind sessions to runs (#336) 2026-05-21 10:53:41 -04:00
routing.rs feat(server): expose health check at /api/v1/health (#279) 2026-05-16 08:37:00 -04:00
run_files.rs feat: Replace duration/elapsed fields with wall_time_ms and StageTiming (#343) 2026-05-21 21:06:40 -04:00
runs.rs Collapsible run stage sidebar (#352) 2026-05-22 12:20:29 -04:00
sandbox_vnc.rs feat(api): unify public run shape 2026-05-10 20:48:55 -04:00
sessions.rs feat(api): add ask fabro session endpoints (#342) 2026-05-21 21:26:15 -04:00
settings.rs Collapsible run stage sidebar (#352) 2026-05-22 12:20:29 -04:00
system.rs Collapsible run stage sidebar (#352) 2026-05-22 12:20:29 -04:00
tcp.rs fix(server): default foreground logs to stdout 2026-05-06 12:41:52 -04:00