feat: add new segmented sidebar#9355
Conversation
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughIntroduces a segmented sidebar variant with section state persisted in cookies, a new search context/provider, MCP sidebar integration, and updated FlowPage wiring. Adds segmented nav UI and tests, MCP icon update, configuration triggers, footer MCP actions, and presentational class tweaks. Extends SidebarProvider and related components’ public APIs. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor U as User
participant SN as SidebarSegmentedNav
participant SP as SidebarProvider
participant SC as SearchContext
participant CK as Cookie (sidebar-section)
U->>SN: Click nav item (id)
SN->>SP: get {activeSection, open, toggleSidebar, setActiveSection}
alt clicked == activeSection and open
SN->>SP: toggleSidebar()
else clicked != activeSection or !open
SN->>SP: setActiveSection(id)
SP->>CK: Write SIDEBAR_SECTION_COOKIE_NAME=id
opt Sidebar closed
SN->>SP: toggleSidebar() (open)
end
alt id == "search"
SN-->>SC: focusSearch() (delayed)
end
end
sequenceDiagram
participant FP as FlowPage
participant SP as SidebarProvider (segmented)
participant FSP as FlowSearchProvider
participant FS as FlowSidebarComponent
participant MCP as useGetMCPServers
FP->>SP: Provide {segmentedSidebar: ENABLE_NEW_SIDEBAR}
SP->>FSP: Wrap children with sidebar context
FSP->>FS: Provide search context
FS->>MCP: Fetch MCP servers (if ENABLE_NEW_SIDEBAR)
MCP-->>FS: {servers, loading, error}
FS->>FS: Render sections by activeSection (components/bundles/mcp)
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested labels
Suggested reviewers
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
Status, Documentation and Community
|
Codecov Report❌ Patch coverage is ❌ Your project status has failed because the head coverage (5.81%) is below the target coverage (10.00%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #9355 +/- ##
==========================================
+ Coverage 34.65% 34.68% +0.03%
==========================================
Files 1203 1207 +4
Lines 56717 56963 +246
Branches 5352 5419 +67
==========================================
+ Hits 19655 19759 +104
- Misses 36925 37060 +135
- Partials 137 144 +7
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
…into segmented-side-bar
|



Testing checklist
ENABLE_NEW_SIDEBARFF and make sure the old view still looks intactHow MCP search works:
Adds a copy of the MCP component w/ a new searchable field containing the server name
Summary by CodeRabbit
New Features
UI/UX
Tests