feat(sidebar): user-customizable nav — hide/show and reorder items#199
Open
Makisuo wants to merge 2 commits into
Open
feat(sidebar): user-customizable nav — hide/show and reorder items#199Makisuo wants to merge 2 commits into
Makisuo wants to merge 2 commits into
Conversation
The sidebar has grown to ~12 nav items and is getting hard to scan.
Add an inline edit mode ("Customize sidebar" in the footer group) with
per-item eye toggles and drag/keyboard reordering, persisted per
browser in localStorage via the existing Atom.kvs pattern.
- Stable `id` on NavItem (href is unstable: the infra gate rewrites it)
- mergeOrder drops removed ids and inserts future nav items at their
default position so new features never silently vanish
- Overview is locked (always visible, pinned first); org feature gating
stays authoritative — prefs apply on top of visibleSignalsNavItems
- Edit bar pinned outside the sidebar ScrollArea; collapsing the rail
mid-edit acts as implicit Done; grips are keyboard-operable
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
|
Your Pullfrog Router balance is exhausted. You have a card on file but auto-reload is disabled, so runs paused once your balance went past the overdraft buffer. Top up balance → · Enable auto-reload →
|
…ebar # Conflicts: # apps/web/src/components/dashboard/nav-items.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

What
The sidebar has grown to ~12 nav items and is getting hard to scan. This adds a user-facing "Customize sidebar" entry (pencil icon, footer group) that flips the sidebar into an inline edit mode:
motionReorder) or keyboard (Arrow keys / Home / End on the grip)maple.sidebar.prefs) via the existingAtom.kvspatternDesign decisions
NavItem— href can't be the identity becausevisibleSignalsNavItemsrewrites the Infrastructure href when infra is org-gated offmergeOrderdrops removed ids and inserts nav items shipped in future releases at their default position, so new features never silently vanish from customized sidebars/traces) just shows no active item — intentional, no ghost rowReviewer notes
EyeSlashIconfollows the app's dotted icon style (coreEyeIcon+ strike)useEffect: collapse-exits-edit is derived state adjusted during renderTesting
bun run typecheckclean;bun run test— 11/11 new tests pass🤖 Generated with Claude Code