mirror of
https://github.com/supabase/supabase.git
synced 2026-07-05 18:14:20 +08:00
24 lines
688 B
TypeScript
24 lines
688 B
TypeScript
import { useTheme } from './Providers'
|
|
import { IconSun, IconMoon } from '@supabase/ui'
|
|
|
|
function DarkModeToggle() {
|
|
const { isDarkMode, toggleTheme } = useTheme()
|
|
|
|
const toggleDarkMode = () => {
|
|
localStorage.setItem('supabaseDarkMode', (!isDarkMode).toString())
|
|
toggleTheme()
|
|
|
|
const key = localStorage.getItem('supabaseDarkMode')
|
|
document.documentElement.className = key === 'true' ? 'dark' : ''
|
|
}
|
|
|
|
return (
|
|
<button className="flex w-full justify-between" onClick={() => toggleDarkMode()}>
|
|
{isDarkMode ? <span>Dark Mode</span> : <span>Light Mode</span>}
|
|
{isDarkMode ? <IconMoon /> : <IconSun />}
|
|
</button>
|
|
)
|
|
}
|
|
|
|
export default DarkModeToggle
|