Skip to content

feat(ui): global project tab nav on every /projects/[id]/* route - #13

Merged
ralyodio merged 1 commit into
masterfrom
feat/global-project-tab-nav
May 22, 2026
Merged

ralyodio merged 1 commit into
masterfrom
feat/global-project-tab-nav

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

Hoists the project chrome (logo/title/action bar + tab nav) into the project layout unconditionally so every project sub-route shows the same nav — including /projects/[id]/runs/[runId] and any deep autoblog/social pages. ProjectShell becomes a pass-through; the six pages that still wrap themselves keep working without edits.

Old behavior: the layout-client only rendered the project header + tab
nav for autoblog/social paths. Other tabs (overview, scans, performance,
stats, repos, getting-started) rendered their own ProjectShell. Pages
not covered by either branch — most notably /projects/[id]/runs/[runId],
and any deep autoblog/social sub-routes that hadn't been wrapped — got
no nav at all and felt like dead ends.

Fix: hoist the header + status controls + tab nav into the project
layout (layout-client.tsx) unconditionally. ProjectTabsNav already
derives currentTab from usePathname() so the layout doesn't need to
know the active tab.

Refactor:
- layout-client.tsx: drop the isSubTab gate; always render the chrome.
- components/project-tabs-nav.tsx: rewrite as the single source of truth
  for the tabs list + per-tab matchers (Scans tab also lights up on
  /runs/[runId]; Overview matches the bare project URL only).
- components/project-shell.tsx: now a pass-through. Six existing pages
  still call <ProjectShell>{children}</ProjectShell>; making it a
  noop avoids touching every page in this PR. The original render is
  deprecated and a follow-up can drop the wrappers entirely.

After this PR every project sub-route shows the same chrome at the
same Y, including run-detail and any future deep links.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ralyodio
ralyodio merged commit a8107d8 into master May 22, 2026
@ralyodio
ralyodio deleted the feat/global-project-tab-nav branch May 22, 2026 14:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant