Skip to content

feat(settings): add theme preset selection support#1850

Merged
Priyanshu-byte-coder merged 1 commit into
Priyanshu-byte-coder:mainfrom
CyraTechZenith:feat/theme-presets-v2
Jun 2, 2026
Merged

feat(settings): add theme preset selection support#1850
Priyanshu-byte-coder merged 1 commit into
Priyanshu-byte-coder:mainfrom
CyraTechZenith:feat/theme-presets-v2

Conversation

@CyraTechZenith
Copy link
Copy Markdown
Contributor

Summary

Adds theme preset selection support to the Settings page, allowing users to choose from multiple predefined themes while preserving existing theme functionality and user preferences.

Closes #252


Type of Change

  • Bug fix
  • New feature
  • Documentation update
  • Refactor / code cleanup

Changes Made

  • Added centralized theme configuration in src/lib/themes.ts
  • Added ThemePresetPicker component for selecting theme presets
  • Extended ThemeContext to support multiple theme options
  • Added new theme variants:
    • Dracula
    • Nord
    • Catppuccin Mocha
    • Solarized Dark
  • Added corresponding theme CSS variables and styling
  • Integrated theme preset selection into the Settings page
  • Preserved existing light/dark theme behavior
  • Added theme persistence using local storage

How to Test

Steps for the reviewer to verify this works:

  • Run the application locally
  • Navigate to Settings
  • Verify the theme preset selector is displayed
  • Select each available theme preset
  • Confirm UI colors update correctly
  • Refresh the page and verify the selected theme persists
  • Verify existing light/dark functionality continues to work as expected
  • Verify the Settings page remains responsive on different screen sizes

Screenshots (if UI change)

Custom Theme:
Custom Theme

Light/Dark Theme:
Light-Dark themes

Theme Presets:
Theme presets


Checklist

  • Linked issue in summary
  • npm run lint passes locally (pre-existing warnings remain)
  • No TypeScript errors (npm run type-check)
  • Self-reviewed the diff
  • Added/updated tests if applicable

Accessibility Checklist

  • Proper keyboard navigation tested
  • Responsive UI verified
  • Accessibility labels added where needed

Additional Notes

npm run lint completes successfully. Existing repository warnings unrelated to this change remain and were not introduced by this PR.

This change only affects theme selection functionality and does not modify existing user settings, GitHub integrations, notification preferences, timezone settings, Discord webhook settings, pinned repositories, or weekly digest preferences.

@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 1, 2026

@CyraTechZenith is attempting to deploy a commit to the PRIYANSHU DOSHI's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions github-actions Bot added gssoc26 GSSoC 2026 contribution type:design GSSoC type bonus: UI/design (+10 pts) type:feature GSSoC type bonus: new feature labels Jun 1, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 1, 2026

GSSoC Label Checklist 🏷️

@Priyanshu-byte-coder — please apply the appropriate labels before merging:

Difficulty (pick one):

  • level:beginner — 20 pts
  • level:intermediate — 35 pts
  • level:advanced — 55 pts
  • level:critical — 80 pts

Quality (optional):

  • quality:clean — ×1.2 multiplier
  • quality:exceptional — ×1.5 multiplier

Validation (required to score):

  • gssoc:approved — counts for points
  • gssoc:invalid / gssoc:spam / gssoc:ai-slop — does not score

Type labels (type:*) are auto-detected from files and title. Review and adjust if needed.
Points formula: (difficulty × quality_multiplier) + type_bonus

@Priyanshu-byte-coder Priyanshu-byte-coder added the level2 GSSoC Level 2 - Medium complexity (25 points) label Jun 2, 2026
@Priyanshu-byte-coder Priyanshu-byte-coder merged commit da52ed2 into Priyanshu-byte-coder:main Jun 2, 2026
4 checks passed
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 2, 2026

🎉 Merged! Thanks for contributing to DevTrack.

If the project has been useful to you, a ⭐ star on the repo is the easiest way to support it — it helps DevTrack get discovered by more developers.

Keep an eye on open issues for your next contribution!

@Priyanshu-byte-coder Priyanshu-byte-coder added the gssoc:approved GSSoC: PR approved for scoring label Jun 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc:approved GSSoC: PR approved for scoring gssoc26 GSSoC 2026 contribution level2 GSSoC Level 2 - Medium complexity (25 points) type:design GSSoC type bonus: UI/design (+10 pts) type:feature GSSoC type bonus: new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] Add custom dashboard color themes (Dracula, Nord, Catppuccin presets)

2 participants