feat(sidebar): context menu for nav items in sidebar, toolbar blocks, added missing docs for various blocks and triggers#2754
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile OverviewGreptile SummaryThis PR adds right-click context menus for sidebar navigation items and toolbar blocks/triggers, along with missing documentation links across the codebase. Key ChangesNew Context Menu Components
Implementation PatternBoth new components follow the established context menu pattern in the codebase:
Documentation Links
Consistency ImprovementsUpdated 10+ existing context menu components to use the consistent Minor Improvements
Issues FoundCritical Issue: Domain InconsistencyThe subflow configurations (loop-config.ts and parallel-config.ts) use Confidence Score: 4/5
Important Files ChangedFile Analysis
Sequence DiagramsequenceDiagram
participant User
participant NavItem as Sidebar Nav Item
participant Sidebar
participant NavItemContextMenu
participant Browser
User->>NavItem: Right-click on nav item (Logs/Templates/Knowledge Base)
NavItem->>Sidebar: onContextMenu event with href
Sidebar->>Sidebar: handleNavItemContextMenu(e, href)
Sidebar->>Sidebar: setActiveNavItemHref(href)
Sidebar->>Sidebar: handleNavContextMenuBase(e)
Note over Sidebar: useContextMenu hook updates state
Sidebar->>NavItemContextMenu: Render with isOpen=true, position={x, y}
alt User clicks "Open in new tab"
User->>NavItemContextMenu: Click "Open in new tab"
NavItemContextMenu->>Sidebar: onOpenInNewTab()
Sidebar->>Browser: window.open(activeNavItemHref, '_blank')
NavItemContextMenu->>Sidebar: onClose()
Sidebar->>Sidebar: closeNavContextMenu(), setActiveNavItemHref(null)
else User clicks "Copy link"
User->>NavItemContextMenu: Click "Copy link"
NavItemContextMenu->>Sidebar: onCopyLink()
Sidebar->>Browser: navigator.clipboard.writeText(fullUrl)
NavItemContextMenu->>Sidebar: onClose()
Sidebar->>Sidebar: closeNavContextMenu(), setActiveNavItemHref(null)
else User clicks outside
User->>Browser: Click outside menu
Browser->>Sidebar: Click event (via useContextMenu hook)
Sidebar->>NavItemContextMenu: Popover onOpenChange(false)
NavItemContextMenu->>Sidebar: onClose()
Sidebar->>Sidebar: closeNavContextMenu(), setActiveNavItemHref(null)
end
|
...workspaceId]/w/components/sidebar/components/nav-item-context-menu/nav-item-context-menu.tsx
Show resolved
Hide resolved
...workspaceId]/w/components/sidebar/components/nav-item-context-menu/nav-item-context-menu.tsx
Outdated
Show resolved
Hide resolved
apps/sim/app/workspace/[workspaceId]/w/components/sidebar/sidebar.tsx
Outdated
Show resolved
Hide resolved
…text menus and added docs for missing blocks
|
@greptile |
Summary
Type of Change
Testing
Tested manually
Checklist