Skip to content

feat: refine console and control center UI#298

Merged
DeadWaveWave merged 4 commits into
mainfrom
feat/refine-control-center-ui
Jul 10, 2026
Merged

feat: refine console and control center UI#298
DeadWaveWave merged 4 commits into
mainfrom
feat/refine-control-center-ui

Conversation

@chen-985211

@chen-985211 chen-985211 commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

💡 Change Scope

  • Small Change: Fast feedback, localized UI/logic, low-risk.
  • Large Change: New feature, cross-boundary logic, runtime-risk (persistence, IPC, lifecycle, recovery).

📝 What Does This PR Do?

Refines the OpenCove console into a calmer, denser productivity-tool UI while preserving existing behavior and state ownership.

  • Adds semantic surface, text, interaction, focus, toggle, theme-preview, elevation, and overlay-layer tokens.
  • Introduces reusable Button, IconButton, Toggle, SettingRow, Dialog, Popover, and dismissable-layer primitives with unit coverage.
  • Reworks Control Center to the approved 360 px compact layout, removes its sidebar control, calibrates typography and switch colors, and keeps all five themes accessible.
  • Refines settings, header, sidebar, command/search surfaces, messages, notifications, workspace canvas, minimap, node chrome, remote UI, and worktree surfaces across dark, light, Ember, and Ember Light themes.
  • Adds a staged UI style guard to prevent raw component colors, undeclared tokens, and theme-branch drift.
  • Defines semantic nested-dialog and dialog-popover layers, fixing pointer interception for remote directory browsing and prompt-template menus.
  • Integrates the merged Settings hierarchy from Refine Settings hierarchy and visual design #299 with the shared Dialog focus lifecycle, semantic UI tokens, and scoped legacy toggle styles without reintroducing the Control Center sidebar action.

No executable architecture-rule impact.


🏗️ Large Change Spec (Required if "Large Change" is checked)

1. Context & Business Logic

The console had inconsistent visual hierarchy, duplicated theme branches, raw component colors, and competing overlay conventions. This PR consolidates the renderer UI around restrained tool-style semantic tokens and reusable accessible primitives. User-visible behavior remains the same except that Control Center no longer exposes the sidebar toggle, as requested; sidebar pinning and shortcuts remain available through their existing owners.

2. State Ownership & Invariants

  • AgentSettings remains the authoritative owner of theme, minimap, standby-banner, UI font-size, and sidebar intent. The new components only project and dispatch changes; they do not introduce mirrored persistent state.
  • Exactly one Control Center theme radio is selected, and all toggles preserve native switch semantics and keyboard focus behavior.
  • Overlay order is deterministic: normal menus/popovers remain below dialogs; nested dialogs and dialog popovers remain above their parent dialog; notifications remain topmost.
  • Closing Dialog/Popover surfaces restores focus without leaking listeners or allowing a lower layer to intercept pointer input.

3. Verification Plan & Regression Layer

  • Unit: UI primitives, anchored placement, focus trapping, dismissable layers, toggle semantics, and style-guard rules.
  • E2E: Control Center dark/light/Ember screenshots, 360 px proportions, switch colors, typography ratios, sidebar-control removal, theme selection, narrow viewport, large UI text, settings focus semantics, remote directory browsing, and prompt-template nested overlays.
  • Full gate: pnpm pre-commit passed with 91 unit-test files / 288 tests and 257 Electron E2E tests passed; 47 platform/manual cases skipped as expected.

✅ Delivery & Compliance Checklist

  • My code passes the ultimate gatekeeper: pnpm pre-commit is completely green.
  • I have signed the CLA if required (the automated check may request confirmation).
  • I have included new tests to lock down the behavior.
  • I have strictly adhered to the DEVELOPMENT.md architectural boundaries.
  • I have attached a screenshot or screen recording (Playwright dark/light/Ember/narrow captures were generated and reviewed locally; upload via the GitHub UI is still required so review-only media is not committed).
  • I have updated the documentation accordingly (no external feature or architecture contract changed; the style guard is integrated into the repository gate).

📸 Screenshots / Visual Evidence

Playwright generated and validated the following review captures locally:

  • Control Center: dark, light, Ember, and narrow viewport with large UI text.
  • Settings: dark/light themes, narrow layout, every primary page, Worker hierarchy, search keyboard behavior, modal focus containment, and focus restoration.
  • Remote UI audit surfaces.

Per repository policy, these review-only images are not committed. They can be uploaded directly to this PR through the GitHub UI.

…enter-ui

# Conflicts:
#	src/app/renderer/styles/base.css
#	src/app/renderer/styles/settings-panel.buttons.css
#	src/app/renderer/styles/settings-panel.css
#	src/app/renderer/styles/settings-panel.lists.css
#	src/app/renderer/styles/settings-panel.search.css
#	src/app/renderer/styles/settings-panel.sidebar.css
#	src/contexts/settings/presentation/renderer/SettingsPanel.tsx
#	src/contexts/settings/presentation/renderer/settingsPanel/SettingsPanelSidebar.tsx
@DeadWaveWave DeadWaveWave merged commit 0b13726 into main Jul 10, 2026
7 of 9 checks passed
@DeadWaveWave DeadWaveWave deleted the feat/refine-control-center-ui branch July 10, 2026 14:11
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