Evidence type: [evidence]
Time horizon: After launch
Files: frontend/src/components/layout/ModernSidebar.tsx:30,121-136,214-220, frontend/src/components/layout/MainLayout.tsx:64
What's happening: ModernSidebar carries extensive isHovered state and ~20 conditional class branches commented as mobile behavior, but MainLayout mounts the sidebar inside hidden md:flex, so it never renders below md and the hover state is always irrelevant.
Why it matters: A large share of the component's complexity serves a code path that cannot execute, obscuring real behavior.
Recommendation: Remove isHovered, the mouse handlers, and every isExpanded && branch.
Expected impact: ~60 lines and the most confusing conditional styling removed.
Effort estimate: S
Finding ID: UX-L1
Source: docs/agents/pre-launch-report.md
Evidence type: [evidence]
Time horizon: After launch
Files: frontend/src/components/layout/ModernSidebar.tsx:30,121-136,214-220, frontend/src/components/layout/MainLayout.tsx:64
What's happening:
ModernSidebarcarries extensiveisHoveredstate and ~20 conditional class branches commented as mobile behavior, butMainLayoutmounts the sidebar insidehidden md:flex, so it never renders belowmdand the hover state is always irrelevant.Why it matters: A large share of the component's complexity serves a code path that cannot execute, obscuring real behavior.
Recommendation: Remove
isHovered, the mouse handlers, and everyisExpanded &&branch.Expected impact: ~60 lines and the most confusing conditional styling removed.
Effort estimate: S
Finding ID: UX-L1
Source: docs/agents/pre-launch-report.md