Add Dark Mode Support - Resolves #246 #256
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🌙 Add Dark Mode Support
Summary
This PR adds full dark mode support to the DevPortfolio template, addressing issue 246 and providing users with a seamless light/dark theme toggle experience that respects system preferences and persists user choice.
See a live example here.
Features Added
🎨 Dark Mode Toggle Component
🌓 Theme System
@custom-variant darkfor Tailwind dark mode support🎯 Component Updates
Updated all components with dark mode variants:
📦 Dependencies
Added new packages to support the feature:
@astrojs/react- React integration for Astro@radix-ui/react-slot- Composable component primitiveslucide-react- Icon librarytailwindcss-animate- Animation utilitiestw-animate-css- Additional animation support⚙️ Configuration
Technical Implementation
Theme Detection Logic:
prefers-color-schememedia queryColor System:
Responsive Design
User Experience
Testing Checklist
Screenshots
Breaking Changes
None - this is a purely additive feature.
Notes for Reviewers
dark:variant prefix