Skip to content

Implement Theme System with Dark/Light Mode Support #17

@StephenTheodore

Description

@StephenTheodore

Goal

Implement comprehensive theme system with dark/light mode switching as specified in UI requirements.

Issue Background

README.md specifies "Dark mode preferred or selectable option" but current implementation only has basic dark theme hardcoded in AnalyzeView.

Requirements

  • Create theme resource dictionaries (Dark.axaml, Light.axaml)
  • Implement theme switching service
  • Add theme toggle in SettingsView
  • Update all views to use theme resources instead of hardcoded colors
  • Persist theme preference in settings
  • Support system theme detection

Theme Resources Needed

  • Colors: Background, foreground, accent, border colors
  • Brushes: Gradients, patterns for UI elements
  • Styles: Button, TextBlock, Border styles for consistency
  • Icons: Theme-appropriate icons and symbols

Implementation Components

  • IThemeService interface for theme management
  • ThemeService implementation with persistence
  • Theme resource dictionaries
  • Settings integration for user preference
  • System theme detection (optional)

Acceptance Criteria

  • Theme resource dictionaries created
  • Theme switching service implemented
  • Settings UI for theme selection working
  • All views use theme resources
  • Theme preference persistence working
  • Smooth theme switching transitions
  • System theme detection (if possible)

Priority

Medium - UI enhancement requirement

Labels

enhancement, ui, theming, dark-mode, light-mode, settings

Metadata

Metadata

Assignees

No one assigned

    Labels

    configurationConfiguration, settings, and environmentuiUser interface and visual components

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions