feat(sidebar): hover-peek collapsed nav with drag-to-close#3361
Conversation
When the nav is collapsed, hovering the window's left edge or the title-bar toggle slides it out as a floating overlay with a dimming scrim; mouse off and it slides away. The resize handle works on the floating panel too, and dragging past half the min width collapses the sidebar Linear-style — keep holding and drag back out to pop it open. Open/close animates the container and panel on one shared curve so the content edge and nav edge track each other, and the toggle button now toggles collapse instead of history-back. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
😎 Merged directly without going through the merge queue, as the queue was empty and the PR was up to date with the target branch - details. |
|
React Doctor found 6 issues in 1 file · 6 warnings. 6 warnings
Reviewed by React Doctor for commit |
|
Reviews (1): Last reviewed commit: "feat(sidebar): hover-peek collapsed nav ..." | Re-trigger Greptile |
There was a problem hiding this comment.
Complex feature with zero reviews that changes a shared primitive (ResizableSidebar) in ways that affect ~8 existing consumers beyond the intended ChannelsSidebar — specifically removing overflow:hidden and changing the closed state from an in-flow clipped element to an off-screen absolutely-positioned z-50 layer. Get a team review to verify no layout regressions in the other sidebar consumers before merging.
…, arm state inline Track drag-ended-closed in a ref set synchronously with the closing mousemove (mouseup can beat React's listener re-registration), cancel peek when the sidebar unmounts so the module singleton can't leak a stale overlay into the next mount, and disarm the resize handle inline during render instead of a prop-watching effect (react-doctor no-adjust-state-on-prop-change). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Problems
Changes
How did you test this?
pnpm --filter @posthog/ui typecheckand biome clean.bg-black/*, hence thebg-blackA-*scale).Automatic notifications
🤖 Generated with Claude Code