Skip to content

Conversation

PremKumar7516
Copy link

This PR introduces a full-featured theme toggle (dark/light mode) across the Password Manager application. The user can manually switch between themes using the icon in the navbar. The selected theme is persisted using localStorage.

Key Features :

  • Added a global ThemeContext to manage theme state.
  • Integrated toggle button in the navbar using lucide-react icons.
  • Tailwind and MUI theme configuration updated to support dark mode.
  • Applied conditional styling throughout the app (e.g., background, text, etc.).
  • Clerk UI components now also adapt to the selected theme via appearance.baseTheme.

Files Changed :

  • ThemeContext.tsx – Handles theme logic and persistence.
  • Navbar.tsx – Includes the theme toggle button.
  • index.css, App.tsx, main.tsx – Updated to apply theme classes.
  • muiTheme.ts, tailwind.config.js – Setup for dark mode support.
  • Minor updates to existing components for consistent styling.

Tested :

  • Verified theme toggle works correctly from light to dark and vice versa.
  • Theme toggle works and updates UI without refresh.
  • Confirmed that the selected theme persists after page reload.
  • Checked login screen (unauthenticated) and dashboard (authenticated) behavior in both themes.
  • Clerk UI adapts based on current theme.
  • No console errors or blank screen issues.

Notes :

  • Uses Tailwind’s dark: classes for basic layout.
  • MUI and Clerk theming are kept in sync with app theme.
  • Defaults to light mode for unauthenticated users.

Screenshot Preview :

Light Mode :
Screenshot 2025-08-01 160650

Dark Mode :
Screenshot 2025-08-01 143337

Clerk UI component in dark mode :
Screenshot 2025-08-01 152927

Copy link

vercel bot commented Aug 1, 2025

@PremKumar7516 is attempting to deploy a commit to the avdheshvarshney's projects Team on Vercel.

A member of the Team first needs to authorize it.

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