Skip to content

feat: dark mode (WIP - DO NOT MERGE)#311

Draft
smmariquit wants to merge 8 commits into
stagingfrom
feat/dark-mode
Draft

feat: dark mode (WIP - DO NOT MERGE)#311
smmariquit wants to merge 8 commits into
stagingfrom
feat/dark-mode

Conversation

@smmariquit
Copy link
Copy Markdown
Owner

⚠️ This PR is broken as fuck

Dark mode implementation using next-themes + Tailwind v4 color variable overrides.

What was attempted:

  • Installed next-themes with ThemeProvider and @custom-variant dark for Tailwind v4
  • Created ThemeToggle component in navbars (Student, Manager, Admin, Landing)
  • Overrode Tailwind --color-* variables in .dark scope
  • Replaced hardcoded bg-[#EDE9DE] with bg-[var(--cream)] globally

What's broken:

  • Many components still have hardcoded hex colors in style={{}} and arbitrary Tailwind values that don't flip
  • Cards/containers inconsistently dark
  • Text contrast issues on several pages
  • Needs a full component-by-component audit before it's usable

Parking this for now. Do not merge.

- installed next-themes and added Providers
- added floating ThemeToggle button
- configured globals.css with automatic override classes for instant dark mode support across the app without manual refactoring
- Removed hacky global CSS overrides that were causing white-on-white text issues
- Moved ThemeToggle from a floating button into StudentNavBar and admin PageHeader
- Properly added dark mode Tailwind variants to NotAssignedDashboard cards
- Changed global *:focus-visible to a 2px orange ring with a 3px offset, removing laggy transitions
- Added rounded-full and padding to navbar icons so focus outlines wrap perfectly instead of forming clunky boxes
- Added rounded-md to nav links for tighter focus boundaries
…navbars

- Added targeted CSS attribute selectors for bg-white, bg-[#EDE9DE], text-black, borders, inputs
- Added dark: variants to AssignedDashboard and NotAssignedDashboard
- Added ThemeToggle to landing page navbar and manager layout navbar
- Added CSS custom properties for surface/raised colors
Replaced broken CSS attribute selectors with --color-* variable
overrides in .dark scope. This is the correct approach for Tailwind v4
since utility classes like bg-white reference --color-white internally.
- All 23 instances of hardcoded cream background now use the CSS
  variable which flips in dark mode automatically
- Added dark text variants to landing page and testimonials section
- This ensures page-level backgrounds properly switch
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 18, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
comsci-128 Ready Ready Preview, Comment May 18, 2026 4:51am

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