Skip to content

feat: dark mode toggle with localStorage persistence#82

Open
opensecretsauce wants to merge 2 commits intosorosave-protocol:mainfrom
opensecretsauce:feat/dark-mode
Open

feat: dark mode toggle with localStorage persistence#82
opensecretsauce wants to merge 2 commits intosorosave-protocol:mainfrom
opensecretsauce:feat/dark-mode

Conversation

@opensecretsauce
Copy link

Closes #31

Changes

  • Enable Tailwind darkMode: 'class' strategy
  • Add DarkModeToggle component with sun/moon icon, localStorage persistence, and prefers-color-scheme detection on first visit
  • Update Navbar to include toggle with dark: class variants
  • Update layout.tsx body with dark:bg-gray-950 + suppressHydrationWarning
  • Smooth transition-colors between themes

Build

pnpm build

- Add WalletAdapter interface (src/lib/wallets/index.ts)
- Add FreighterAdapter, xBullAdapter, AlbedoAdapter
- Refactor providers.tsx to support multiple wallets + localStorage persistence
- Update ConnectWallet.tsx with wallet selection modal
- Create src/lib/sdk.ts as local stub for @sorosave/sdk
- Create src/lib/wallet.ts with multi-wallet signTransaction routing
- Fix all @sorosave/sdk missing module errors — build passes clean
…ol#31)

- Enable Tailwind darkMode: 'class' strategy
- Add DarkModeToggle component (sun/moon icon, localStorage)
- Respects prefers-color-scheme on first visit
- Update Navbar to include toggle + dark: variants
- Update layout.tsx body with dark:bg-gray-950 + suppressHydrationWarning
- transition-colors for smooth theme switching
@opensecretsauce
Copy link
Author

⚠️ Dependency note: This PR should be reviewed after #81 merges. PR #81 introduces the foundational infrastructure (wallet adapters, local SDK stub, import fixes) that this feature builds on. Once #81 is merged, I will rebase this branch and the diff will only show the feature-specific changes.

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.

Implement dark mode toggle

1 participant