Skip to content

feat: add settings dialog with theme picker in sidebar footer#27

Merged
j4rviscmd merged 1 commit intomainfrom
feat/settings-dialog
Mar 23, 2026
Merged

feat: add settings dialog with theme picker in sidebar footer#27
j4rviscmd merged 1 commit intomainfrom
feat/settings-dialog

Conversation

@j4rviscmd
Copy link
Copy Markdown
Owner

Summary

  • Add a new features/settings module with a modal dialog accessible from a settings button at the bottom of the sidebar (SidebarFooter)
  • The dialog provides Light/Dark/System theme selection using radio-style ThemeOption components backed by the existing ThemeProvider
  • Install shadcn/ui Dialog component (@base-ui/react/dialog primitive)
  • Simplify NoteSidebar by extracting a renderNoteItem helper and inlining the unpinnedNotes variable

Changes

File Change
src/components/ui/dialog.tsx New — shadcn/ui Dialog component
src/features/settings/index.ts New — barrel export
src/features/settings/ui/SettingsDialog.tsx New — settings dialog with theme picker
src/features/settings/ui/ThemeOption.tsx New — radio-style theme option component
src/features/sidebar/ui/NoteSidebar.tsx Modified — SidebarFooter + SettingsDialog integration + simplification

Test plan

  • Verify settings button (gear icon) appears at the bottom of the sidebar
  • Click the button and confirm the dialog opens
  • Select each theme option (Light/Dark/System) and verify theme changes immediately
  • Close and reopen the dialog to confirm selected theme persists
  • Verify sidebar note list, search, pin/delete still work correctly
  • Test on both desktop and mobile sidebar layouts

🤖 Generated with Claude Code

Introduce a new features/settings module with a modal dialog
accessible from a settings button at the bottom of the sidebar.
The dialog provides Light/Dark/System theme selection using
radio-style options backed by the existing ThemeProvider.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@j4rviscmd j4rviscmd added the enhancement New feature or request label Mar 23, 2026
@j4rviscmd j4rviscmd merged commit 22f09c5 into main Mar 23, 2026
@j4rviscmd j4rviscmd deleted the feat/settings-dialog branch March 23, 2026 03:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant