Skip to content

feat(console): role-aware navigation shell + dense-screen UX overhaul - #5

Merged
keksmd merged 4 commits into
mainfrom
ux/console-navigation-redesign
Jun 11, 2026
Merged

feat(console): role-aware navigation shell + dense-screen UX overhaul#5
keksmd merged 4 commits into
mainfrom
ux/console-navigation-redesign

Conversation

@keksmd

@keksmd keksmd commented Jun 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

Console navigation/UX redesign plus dependency hygiene.

  • Role-aware navigation shell — new components/shell/* (top-bar, project-nav, project-switcher, env-selector, account-menu, command-palette) wired to lib/project-context.tsx and lib/rbac.ts.
  • Reusable UI primitivesdata-table, breadcrumb, copy-button, phase-badge, tooltip, plus lib/format.ts / lib/resources.ts helpers.
  • Page refreshes — models, operations, and project pages adopt the new shell + data-table.
  • Deps — Next 16.2.4→16.2.7, Tailwind 4.3.0 (fixes Turbopack postcss worker leak).

Note on gitops commit

5791cff (chart/→resources/ rename) is included in this branch's history but is already in main as c2bd184 (cherry-picked). The diffs are identical, so the merge will not double-apply it; it appears here only because the branch predates the cherry-pick.

🤖 Generated with Claude Code

keksmd and others added 3 commits June 5, 2026 01:24
Rework the console around persistent project context and the PRD's three
personas (client / developer / admin), so the path to any screen is short and
each role sees only the depth it needs.

Navigation & IA shell:
- Top bar with persistent project switcher, environment selector, ⌘K command
  palette and account menu (logout moved here from the sidebar footer).
- Project-scoped left nav driven by a declarative resource registry
  (lib/resources.ts) with v2–v4 "coming soon" placeholders.
- Shared ProjectProvider (lib/project-context.tsx): one project/role/env fetch;
  env persisted to URL (?env=) + localStorage so it survives navigation/back.
- Capability predicates in lib/rbac.ts (role is project-scoped); shared
  Breadcrumb component replaces hand-inlined trails.

Dense screens & detail pages:
- Reusable DataTable (search/sort/paginate, aria-sort) applied to AI Studio,
  Approvals and App Servers; CopyButton + Tooltip primitives.
- New Databases detail page (overview / connection / backups).
- Operations gains search + status filter; model cards de-densified.

Persona gating & hardening:
- Raw compose/values editors, image digests and the Manifests tab gated by
  role; deep-link guards on compose/values (canEditYaml) and approvals.
- Create flows redirect immediately to the live-highlighted operation.

A11y & cleanup:
- role="alert"/aria-live on form errors + toasts, aria-labels, focus rings,
  improved sidebar contrast.
- Extracted duplicated timeAgo -> lib/format.ts and a shared PhaseBadge.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ArgoCD layout

ArgoCD points the App's helm.path at apps/<app>/resources/ — a self-contained
chart (Chart.yaml + templates/) holding our platform CRDs, kept separate from
the external workload chart the user configures. Rename the path segment and the
renderer helpers (AppResourcesGitPath / AppResourcesTemplatesGitPath /
AppResourcesChartYamlGitPath) and the gitwatcher reverse-sync regex/handler
accordingly. CRDs (ServiceDatabase, AIModel, PublicApi) now live in
apps/<app>/resources/templates/.

Directive: App helm.path, the resources/ path helpers, and the gitwatcher
resourceTemplatePathRe regex must stay in lockstep.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Comment thread frontend/app/(console)/ai-studio/page.tsx Outdated
…ed as HTML'

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
@keksmd
keksmd merged commit c28b3b8 into main Jun 11, 2026
6 checks passed
@keksmd
keksmd deleted the ux/console-navigation-redesign branch June 22, 2026 02:32
keksmd added a commit that referenced this pull request Jul 13, 2026
#5/#8 extensions

Correct the #1 root cause (user-service is broker-free; rabbitmq unused, HTTP not
AMQP — the broker theory was stale). Record the durable name-uniqueness fix (#2:
per-project + spec.argoName) and the additional #4/#5/#8 sites the first sweep
missed. Remove the duplicate registry file created this session.
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.

2 participants