Skip to content

feat(desktop): settings modal and sidebar color polish - #112

Merged
h4yfans merged 7 commits into
mainfrom
feat/settings-modal-and-sidebar-polish
Mar 25, 2026
Merged

feat(desktop): settings modal and sidebar color polish#112
h4yfans merged 7 commits into
mainfrom
feat/settings-modal-and-sidebar-polish

Conversation

@h4yfans

@h4yfans h4yfans commented Mar 25, 2026

Copy link
Copy Markdown
Collaborator

What

Replace settings tab with a modal dialog overlay and refine sidebar/dark mode colors.

Why

Settings is a transient interaction — a modal overlay returns users to their exact context after closing, unlike a tab which competes for workspace. Sidebar accent colors were too tinted; dark mode foreground was too bright.

How

  • New SettingsModalProvider context with section-aware open(section?) for deep-linking (e.g. account)
  • Removed settings from TabType union, SINGLETON_TAB_TYPES, TAB_ICONS, TAB_PATHS
  • Sidebar accent neutralized from color-mix(tint) to plain rgba() / #2a2a2a across 3 themes
  • Active indicators switched from bg-sidebar-accent-foreground to bg-tint
  • Dark mode foreground toned from #e8e6e1#bcbab6

Type

  • feat — new feature
  • fix — bug fix
  • refactor — restructure without behavior change
  • style — visual/UI only
  • perf — performance improvement
  • test — adding or updating tests
  • chore — tooling, deps, config
  • docs — documentation only
  • ci — CI/CD changes

Test plan

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing (describe below)

Manual: Cmd+, opens settings modal, Esc closes. VaultSwitcher settings and sign-in buttons route through modal. Sidebar active indicators show tint color across light/warm/dark themes. Dark mode text contrast verified.

Checklist

  • Self-reviewed the diff
  • No hardcoded secrets or credentials
  • Files stay under ~500 LOC
  • Follows immutable data patterns

h4yfans added 7 commits March 25, 2026 04:02
Replace tab-based settings navigation with a modal overlay pattern.
SettingsModalProvider context supports section-aware opening (e.g. account).
Settings no longer occupies a tab slot — opens as an overlay instead.
Removes 'settings' from TabType, SINGLETON_TAB_TYPES, TAB_ICONS, and
TAB_PATHS. VaultSwitcher and keyboard shortcut now use useSettingsModal.
Sidebar accent switches from tint-mixed color to neutral bg across all
three themes. Active indicators use bg-tint directly. Dark mode
foreground toned from #e8e6e1 to #bcbab6 for reduced eye strain.
Previous commit included a stale map from a different source state.
Regenerated to match the actual committed IPC handlers.
…c button

handleSyncClick still used openTab with type: 'settings' after TabType
removal — switch to useSettingsModal('account').
@h4yfans
h4yfans merged commit 0fe309d into main Mar 25, 2026
2 checks passed
@h4yfans
h4yfans deleted the feat/settings-modal-and-sidebar-polish branch March 25, 2026 01:19
h4yfans added a commit that referenced this pull request May 6, 2026
* feat(desktop): add settings modal context and dialog component

Replace tab-based settings navigation with a modal overlay pattern.
SettingsModalProvider context supports section-aware opening (e.g. account).

* refactor(desktop): replace settings tab with modal dialog

Settings no longer occupies a tab slot — opens as an overlay instead.
Removes 'settings' from TabType, SINGLETON_TAB_TYPES, TAB_ICONS, and
TAB_PATHS. VaultSwitcher and keyboard shortcut now use useSettingsModal.

* style(desktop): neutralize sidebar accent and tone dark mode foreground

Sidebar accent switches from tint-mixed color to neutral bg across all
three themes. Active indicators use bg-tint directly. Dark mode
foreground toned from #e8e6e1 to #bcbab6 for reduced eye strain.

* chore(desktop): regenerate IPC invoke map

* docs: add changelog for settings modal and sidebar polish

* fix(desktop): regenerate IPC invoke map from current source

Previous commit included a stale map from a different source state.
Regenerated to match the actual committed IPC handlers.

* fix(desktop): replace remaining settings tab reference in sidebar sync button

handleSyncClick still used openTab with type: 'settings' after TabType
removal — switch to useSettingsModal('account').
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