Files
xrpl-hooks-ide/components/ThemeChanger.tsx
2022-08-17 11:50:49 +05:30

35 lines
794 B
TypeScript

import { useState, useEffect } from 'react'
import { useTheme } from 'next-themes'
import { Sun, Moon } from 'phosphor-react'
import Button from './Button'
const ThemeChanger = () => {
const { theme, setTheme } = useTheme()
const [mounted, setMounted] = useState(false)
useEffect(() => setMounted(true), [])
if (!mounted) return null
return (
<Button
outline
onClick={() => {
setTheme(theme && theme === 'light' ? 'dark' : 'light')
}}
css={{
display: 'flex',
marginLeft: 'auto',
cursor: 'pointer',
alignItems: 'center',
justifyContent: 'center',
color: '$muted'
}}
>
{theme === 'dark' ? <Sun size="15px" /> : <Moon size="15px" />}
</Button>
)
}
export default ThemeChanger