Skip to content

feat(desktop): align inspector rail to spec #3 + Settings shell nav#137

Merged
oratis merged 1 commit into
mainfrom
feat/inspector-rail-spec-align
Jun 1, 2026
Merged

feat(desktop): align inspector rail to spec #3 + Settings shell nav#137
oratis merged 1 commit into
mainfrom
feat/inspector-rail-spec-align

Conversation

@oratis
Copy link
Copy Markdown
Owner

@oratis oratis commented Jun 1, 2026

Summary

Follow-up to #91 (inspector expand panel). Aligns the collapsed inspector rail to design spec screen #3 and relocates the navigation it used to carry into a spec-faithful Settings shell (screen #9).

The rail now contains exactly the six elements the spec shows:

‹ expand · ▤ Plan (pending badge) · ◐ Context · 📁 Recent files · ⓘ Session info · ⚙ Settings

The four middle icons are inspector hints — clicking one expands the 320px panel and scrolls to that section (new focusSection prop + data-section anchors). Only /⌘\/icons expand; opens Settings.

Why the Settings shell

The old rail doubled as the only entry point to Permissions / MCP / Plugins / Skills / About (the Sidebar only handles sessions). Trimming the rail naively would have stranded those screens. Per spec screen #9 they belong behind the ⚙ cog in a shared .set-nav left column, so this adds <SettingsLayout> and folds the settings-family screens into it — nothing is unreachable. Sessions stay in the left sidebar where the spec puts them.

Changes

  • InspectorRail — trimmed to the 6 spec elements; onExpand(section) / onSettings / settingsActive replace the old screen-routing props.
  • SettingsLayout (new) + SETTINGS_FAMILY — unified left-nav hub for the settings-family screens (General / Permissions / MCP / Plugins / Skills / About). Only real screens are listed (no dead links).
  • InspectorPanelfocusSection prop scrolls to the requested data-section; sticky header.
  • AppexpandInspector(section), settings-shell wrapping in renderScreen.
  • index.css.settings-shell / .set-nav / .set-pane per spec lines 754–768; sticky .inspector-head.

Verification

Browser harness (real components + real index.css, Tauri IPC bypassed):

  • Collapsed rail measured at 48px with exactly ‹ / ▤(badge) / ◐ / 📁 / ⓘ / spacer / ⚙.
  • Expanded panel 320px, coexists with the Settings shell.
  • .set-nav switches the active screen (verified active class + crumb).
  • ⌘\ toggle unchanged.

typecheck, eslint, full monorepo test suite (28 desktop + 618 core, etc.), and production build all pass via pre-commit.

🤖 Generated with Claude Code

The collapsed inspector rail now matches design spec screen #3 exactly:
‹ expand · ▤ Plan (pending badge) · ◐ Context · 📁 Recent files ·
ⓘ Session info · ⚙ Settings. The four middle icons are inspector hints —
clicking one expands the 320px panel and scrolls to that section (new
`focusSection` prop on InspectorPanel + `data-section` anchors).

The rail previously doubled as the *only* navigation to Permissions / MCP /
Plugins / Skills / About. Per spec screen #9 those live behind the ⚙ cog in a
shared Settings shell, so this adds <SettingsLayout> (a `.set-nav` left column
+ pane) and folds the settings-family screens into it — nothing is stranded.
Sessions stay in the left sidebar where the spec puts them.

- InspectorRail: trimmed to the 6 spec elements; onExpand(section) / onSettings
  / settingsActive replace the old screen-routing props.
- SettingsLayout + SETTINGS_FAMILY: unified nav for settings-family screens.
- App: expandInspector(section), settings-shell wrapping in renderScreen.
- index.css: `.settings-shell` / `.set-nav` / `.set-pane` per spec lines
  754-768; sticky `.inspector-head` so focused sections land below it.

Verified in a browser harness: rail = 48px with exactly ‹/▤(badge)/◐/📁/ⓘ/⚙,
panel = 320px, set-nav switches active screen, ⌘\ unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@oratis oratis merged commit 18b13c9 into main Jun 1, 2026
3 checks passed
@oratis oratis deleted the feat/inspector-rail-spec-align branch June 1, 2026 05:34
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