feat(web): wire TickerStrip + status bar role into DashboardLayout (TEC-3047)

- Import TickerStrip vào dashboard layout, truyền vào DashboardLayout.ticker
- Thêm placeholder top-8 quận với TODO comment chờ /analytics/districts API
- Thêm role="status" aria-live="polite" vào status bar div trong DashboardLayout
- 8 Vitest unit tests cho DashboardLayout: role=banner, role=status, ticker,
  sidebar collapse/expand width, main content (tất cả pass)

Note: listings.spec.tsx failure là pre-existing trên HEAD, không liên quan TEC-3047.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
Ho Ngoc Hai
2026-04-21 01:47:25 +07:00
parent d07f39b864
commit d6d7584677
3 changed files with 132 additions and 1 deletions

View File

@@ -65,7 +65,11 @@ export function DashboardLayout({
</div>
</div>
{statusBar ? (
<div className="flex h-6 items-center gap-4 border-t border-border bg-background-elevated px-4 text-[11px] text-foreground-muted">
<div
role="status"
aria-live="polite"
className="flex h-6 items-center gap-4 border-t border-border bg-background-elevated px-4 text-[11px] text-foreground-muted"
>
{statusBar}
</div>
) : null}