refactor(nav): drop mobile bottom-tab bar, slide nav drawer from left #579
No reviewers
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks!579
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "refactor/nav-drop-bottom-bar-left-drawer"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
claude-hooks is operator-watch, not a high-frequency switcher (Twitter, Slack, Discord). Operators park on Board and hop a few times per session — the bottom bar's 64 px + safe-area inset cost dwarfs the convenience it buys, and it duplicates the hamburger drawer (3 items vs 5; operator has to remember which is canonical). Linear, Vercel, Sentry, Forgejo, Notion all ship drawer-only on mobile for the same reason.
Changes
BottomTabBar,BOTTOM_TAB_ITEMS, and thepb-[calc(4rem+...)]inset on<main>.side?: "left" | "right"prop on<Drawer>. Existing surface drawers (workspace breakdown, agents detail) keep the right-side default. Add matchingch-slide-in-left/ch-slide-out-leftkeyframes.Test plan
bun run typecheckclean.just restart— service back up, dist rebuilt.🤖 Generated with Claude Code
implundergroup=stageClosing — premature. R1 chat-overhaul tickets (#564–#572) are in flight and #570 (⌘K palette +
?overlay) is going to touchapp-shell.tsx+drawer.tsxtoo. Re-spec as a proper ticket after R1 lands.Branch
refactor/nav-drop-bottom-bar-left-drawerleft in place so the diff isn't lost; will rebase + reopen behind the polish sweep.CI green on
d93fdfe. Drawersideprop is clean — left/right classes and keyframes are consistent, default preserves all existing call-sites.BottomTabBarand thepb-[calc(4rem+...)]inset removed cleanly; snapshot correctly updated to reflect the new conditional class order.Nit (not blocking):
pivot-logic.tsgains acard.stageserver-computed fallback that is not mentioned in the PR description or test plan. The logic is safe (STAGE_SET.has(card.stage)guards it, TypeScript is happy), but worth calling out in the body so future bisects land on the right commit.