Skip to content

feat(dashboard): add dark mode support with theme toggle - #227

Merged
mijinummi merged 4 commits into
MD-Creative-Production:mainfrom
oraimoitel:feat/dark-mode-support
Aug 30, 2026
Merged

feat(dashboard): add dark mode support with theme toggle#227
mijinummi merged 4 commits into
MD-Creative-Production:mainfrom
oraimoitel:feat/dark-mode-support

Conversation

@oraimoitel

Copy link
Copy Markdown
Contributor

Summary

Closes #117. Adds dark mode support to the Sentinel dashboard.

Changes

  • ThemeProvider: Client-side context with localStorage persistence for theme preference
  • ThemeToggle: Accessible button in TopBar with sun/moon icons, keyboard support, and aria-labels
  • Tailwind config: Added darkMode: 'class' strategy
  • Layout: Added base light/dark mode classes to body, sidebar, topbar
  • globals.css: Updated body, scrollbar, card, and badge styles with dark: variants
  • Sidebar: Light/dark variants for background, text, borders, and active states

Acceptance Criteria

  • Theme toggle in TopBar switches between light and dark
  • Preference persists in localStorage across sessions
  • Accessible via keyboard and screen readers
  • No changes to backend or API behavior

Validation

  • Build passes: npx next build in apps/dashboard
  • No TypeScript errors

Closes MD-Creative-Production#117

- Add ThemeProvider with localStorage persistence
- Add ThemeToggle component (sun/moon icons) in TopBar
- Configure Tailwind darkMode: 'class'
- Add dark: variants to layout, sidebar, globals, and badges
- Accessible toggle with aria-label and keyboard support
@oraimoitel
oraimoitel force-pushed the feat/dark-mode-support branch from 0a91a7c to e922cd0 Compare August 30, 2026 10:33
oraimoitel and others added 3 commits August 30, 2026 14:34
🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
- Update root tsconfig.json to only include src/modules/reports/ (the
  only src/ code used by backend) instead of all of src/**/* which
  pulls in orphaned legacy code with missing module dependencies
- Fix import paths in apps/backend/router.ts, src/app.ts, and
  v1/controllers/resourceController.ts (missing src/ segment)
- Exclude orphaned src/api-keys/ test from jest config (depends on
  non-existent src/prisma/prisma.service)
@mijinummi

Copy link
Copy Markdown
Collaborator

LGTM! Good job @oraimoitel

@mijinummi
mijinummi merged commit d1ba00e into MD-Creative-Production:main Aug 30, 2026
12 checks passed
@grantfox-oss grantfox-oss Bot mentioned this pull request Aug 30, 2026
3 tasks
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.

Add Dark Mode Support

2 participants