61 lines
2.0 KiB
Markdown
61 lines
2.0 KiB
Markdown
# Dashboard sidebar unification
|
|
|
|
## Outcome
|
|
|
|
The dashboard now renders the same `AppSidebar.vue` component as every other
|
|
authenticated route. This removes the final visible navigation fork without
|
|
changing dashboard content, domain state, stores, API contracts, or route
|
|
registration.
|
|
|
|
## Implementation
|
|
|
|
- Replaced the dashboard-only `Sidebar.vue` render in `NexusLayout.vue` with
|
|
`AppSidebar.vue`.
|
|
- Preserved the dashboard task count through the existing task store.
|
|
- Bound the active destination to the current Vue Router route.
|
|
- Kept the existing mobile close event and backdrop behavior.
|
|
- Aligned the dashboard topbar and backdrop breakpoint with the shared
|
|
sidebar's `900px` overlay breakpoint.
|
|
|
|
## Rendered proof
|
|
|
|
| Evidence | Viewport | Result |
|
|
| --- | --- | --- |
|
|
| Dashboard before | `1440 x 900` | Separate sidebar confirmed |
|
|
| Settings reference | `1440 x 900` | Shared component authority |
|
|
| Dashboard after | `1440 x 900` | Matches shared sidebar |
|
|
| Dashboard mobile | `375 x 812` | Overlay, categories, Settings, and footer visible |
|
|
| Same-viewport comparison | `1440 x 900` | Identical sidebar geometry and styling |
|
|
|
|
Evidence files are stored under `screenshots/`.
|
|
|
|
## Interaction and geometry
|
|
|
|
- Dashboard -> Agents -> Dashboard passed.
|
|
- Dashboard -> Settings passed at `375px`.
|
|
- Active states use `aria-current="page"`.
|
|
- The overlay closes after navigation.
|
|
- No document-level horizontal overflow at `375`, `768`, `1024`, `1440`, or
|
|
`1920px`.
|
|
- At `768px`, the sidebar is hidden off-canvas and the named topbar toggle is
|
|
visible.
|
|
- Browser console: no errors. Existing fixture/API fallback warnings remain.
|
|
|
|
## Technical gates
|
|
|
|
```text
|
|
pnpm typecheck -> passed
|
|
pnpm test -> passed (1 file, 2 tests)
|
|
pnpm build -> passed (1,873 modules)
|
|
git diff --check -> passed; line-ending notices only
|
|
```
|
|
|
|
## Severity result
|
|
|
|
- P0: none
|
|
- P1: none
|
|
- P2: none
|
|
|
|
Evidence maturity: controlled local browser proof. No commit, push, or
|
|
deployment was performed.
|