Context
Part of epic #6504's chat track. No chat-shaped component exists anywhere in apps/loopover-miner-ui or @loopover/ui-kit's component set. The epic specifies a hybrid, dashboard-first layout: a persistent, collapsible chat rail (~380px) mounted once in __root.tsx so it survives route navigation, collapsing to a slide-over on narrow viewports by reusing packages/loopover-ui-kit/src/components/sidebar.tsx's existing mobile-sheet mechanism for that one responsive behavior only.
Requirements
- Build the rail shell (open/collapsed state, ~380px width, mounted once in
__root.tsx) with no message content yet — this issue is the container only, not the message list/composer (a separate child issue).
- On narrow viewports, collapse to a slide-over using
sidebar.tsx's existing mobile-sheet mechanism — do not adopt sidebar.tsx as primary navigation, only its mobile-sheet behavior for this one surface.
__root.tsx's routed Outlet and all four existing routes must remain the primary content area, untouched in layout terms — the rail sits alongside them, it does not replace or collapse them into summaries.
Deliverables
Test Coverage Requirements
99%+ Codecov patch coverage on every changed line and branch, plus a regression test for the new/changed behavior (note: apps/** UI code may fall outside the strict Codecov patch gate — check coverage.include — but a before/after screenshot table per this repo's UI-PR convention is still required for any visual change).
Expected Outcome
A persistent chat rail container exists and survives route navigation, with no functional chat yet — ready for the message-list/composer child issue to fill in.
Links & Resources
Epic: #6504. apps/loopover-miner-ui/src/routes/__root.tsx, packages/loopover-ui-kit/src/components/sidebar.tsx.
Context
Part of epic #6504's chat track. No chat-shaped component exists anywhere in
apps/loopover-miner-uior@loopover/ui-kit's component set. The epic specifies a hybrid, dashboard-first layout: a persistent, collapsible chat rail (~380px) mounted once in__root.tsxso it survives route navigation, collapsing to a slide-over on narrow viewports by reusingpackages/loopover-ui-kit/src/components/sidebar.tsx's existing mobile-sheet mechanism for that one responsive behavior only.Requirements
__root.tsx) with no message content yet — this issue is the container only, not the message list/composer (a separate child issue).sidebar.tsx's existing mobile-sheet mechanism — do not adoptsidebar.tsxas primary navigation, only its mobile-sheet behavior for this one surface.__root.tsx's routedOutletand all four existing routes must remain the primary content area, untouched in layout terms — the rail sits alongside them, it does not replace or collapse them into summaries.Deliverables
__root.tsxsidebar.tsx's mechanismTest Coverage Requirements
99%+ Codecov patch coverage on every changed line and branch, plus a regression test for the new/changed behavior (note: apps/** UI code may fall outside the strict Codecov patch gate — check coverage.include — but a before/after screenshot table per this repo's UI-PR convention is still required for any visual change).
Expected Outcome
A persistent chat rail container exists and survives route navigation, with no functional chat yet — ready for the message-list/composer child issue to fill in.
Links & Resources
Epic: #6504.
apps/loopover-miner-ui/src/routes/__root.tsx,packages/loopover-ui-kit/src/components/sidebar.tsx.