Skip to content

feat(dashboard): make the shell usable on phones - #83

Merged
kodiakhq[bot] merged 2 commits into
mainfrom
feat/dashboard-shell
Nov 8, 2026
Merged

kodiakhq[bot] merged 2 commits into
mainfrom
feat/dashboard-shell

Conversation

@RedStar071

@RedStar071 RedStar071 commented Nov 8, 2026 •

Copy link
Copy Markdown
Member

Summary

On a phone the dashboard hid its sidebar and offered nothing in its place, so Audit, Settings, the account and sign-out could not be reached. The header also crammed the language picker, theme toggle, clock and refresh into one row.

The shell now follows the layout of the Nuxt UI dashboard starter, built with the existing UnoCSS tokens:

  • Below md, the sidebar opens as a drawer from a menu button. It takes focus when it opens and closes on Escape, a backdrop tap or navigation, and the page behind it is inert.
  • AppNavbar replaces the three hand-copied page headers (Control Plane, Audit, Settings) and is added to Organizations. It holds the title and page actions only; on phones the actions become 44 px icon buttons.
  • Language, theme and the signed-in account move to the sidebar footer.
  • RunnerMetrics becomes one dl strip that reflows from two to five columns without an empty cell.
  • New task opens in a native modal dialog from a navbar button instead of the details block in the page body.
  • btn-primary and text-error were used but never defined, so Queue task and Approve rendered unstyled. This adds btn-primary to apps/web/uno.config.ts and uses text-danger.

Why

The change stays inside apps/web and packages/i18n. It does not add @nuxt/ui, which would bring Tailwind alongside UnoCSS and break the contract in packages/ui/DESIGN.md. The i18n change removes the unused eyebrow and mode keys, adds the drawer's open and close labels in English and Italian, and regenerates the schema.

Verification

  • aube run check:repo
  • aube run lint:ci
  • aube run typecheck
  • aube test
  • aube run build

Safety and compatibility

  • I added or updated deterministic tests for changed behavior.
  • I preserved observe mode as read-only, or explained the policy change above.
  • Runtime commands and target-repository writes remain inside the runner boundary.
  • I did not expose secrets, tokens, personal data, or untrusted output in logs.
  • I updated documentation and Agent Skills when workflows or boundaries changed.

Agent context

  • Agent/tools used: Claude Code
  • What the agent did, and what you changed or verified yourself: The agent wrote the change from a phone screenshot and the request to follow the Nuxt dashboard starter.

Reviewer notes

The e2e tests still find the theme button and language picker by name; they now live in the sidebar, which is visible at the desktop viewport. The sidebar's "System status: Healthy" indicator is hard-coded and was left as is; it should be wired to a real check or removed in a follow-up.

🤖 AI disclosure: Wolfstar Agent Kit modified this description. AI open source policy.


Read this PR faster    Follow each request

RetriggerView in GreptileConfidence Score: 5/5

The PR appears safe to merge; both previous findings are addressed and no new blocking issues were found.

Reviews (2) · Last reviewed commit: "fix(dashboard): keep shortcuts and the d..." · Reviewed by Greptile

Below 768px the sidebar was hidden with nothing in its place, so Audit,
Settings, the account and sign-out were unreachable. The sidebar now opens
as a drawer from a per-page navbar, following the layout of the Nuxt UI
dashboard starter within the existing UnoCSS design system.

- AppNavbar replaces three copies of the page header; language and theme
  move to the sidebar footer with the account
- Metrics become one strip that reflows without an orphan cell
- New task opens in a native modal dialog from the navbar
- Define the missing btn-primary shortcut and replace text-error with
  text-danger, which left the queue and approve buttons unstyled
@coldtea-pr-lens

coldtea-pr-lens Bot commented Nov 8, 2026 •

Copy link
Copy Markdown
  • Redraw · drawn at 7ac311f, the branch has moved on

Architecture

Walkthrough of Responsive shell and dialog for tasks, in four steps

Read this PR faster

Inside the changed components — 1 view

Component view — Web application shell

Responsive navigation shell, top navbar, and modal dialog components in the web application.

Architecture view of Component view — Web application shell in wolfstar-project/code-zero

Data flow

Data flow diagram for wolfstar-project/code-zero at 7ac311f

Follow each request


Tip

After a push, tick Redraw to draw the latest commit

🪧 More tips
  • Run npx skills add coldteadotai/pr-lens, then tell your coding agent: "Diagram the change you just made with PR Lens and attach it to the pull request."
  • Run npx @coldtea/pr-lens-cli analyze --base origin/main on a branch, then npx @coldtea/pr-lens-cli render .pr-lens/graph.json. Same lenses, your own model key, before the pull request exists
  • Click the link under each diagram to open it on a canvas you can zoom, pan and step through
  • The diagrams are links. Click one to open it on the canvas, then press W or click play to walk through the change
  • Open a diagram on the canvas, then press W or click play to walk through the change one step at a time
  • The CLI's render reads .github/pr-lens.yml and applies your renames, exclusions and lane pins at draw time
  • Set github.comment.collapsed: true in .github/pr-lens.yml to fold the comment behind one View architecture… row. Drawing still runs as before
  • Set github.draw: on-demand in .github/pr-lens.yml and PR Lens stops drawing pull requests on its own. Comment @pr-lens draw on a pull request when you want that one drawn
  • Add .github/workflows/pr-lens.yml with coldteadotai/pr-lens/packages/action@v0 and your model provider's key as its api-key to run PR Lens from your own CI. Any /chat/completions endpoint works
  • Switch GitHub to dark mode and the diagrams follow. The moving dots are this pull request's data in motion
  • Set github.description: false in .github/pr-lens.yml to stop PR Lens adding buttons to your PR descriptions

Thanks for using PR Lens! It's free for OSS. If it helped, a star helps other teams find it.  Star PR Lens on GitHub

Shortcuts outside the new-task dialog stand down while it is open, so
`g a` no longer navigates away from a draft and `?` no longer opens the
sheet behind the modal. The drawer now scrolls everything below the brand,
so the account and preferences stay reachable on a short screen.
@kodiakhq
kodiakhq Bot merged commit 7caed98 into main Nov 8, 2026
15 checks passed
@kodiakhq
kodiakhq Bot deleted the feat/dashboard-shell branch November 8, 2026 18:19
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