mirror of
https://github.com/ruisaraiva19/favycon.git
synced 2026-09-13 18:46:28 +05:00
* feat: upgrade dependencies * chore: update linter and CI workflows * chore: upgrade browserslist
32 lines
777 B
TypeScript
32 lines
777 B
TypeScript
import { useDarkMode } from 'hooks/use-dark-mode'
|
|
import { SvgSun } from 'components/svgs/svg-sun'
|
|
import { SvgMoon } from 'components/svgs/svg-moon'
|
|
|
|
import styles from './index.module.scss'
|
|
|
|
const DarkModeToggle = () => {
|
|
const darkMode = useDarkMode(false, {
|
|
classNameDark: 'dark',
|
|
classNameLight: 'light',
|
|
element: typeof document !== 'undefined' ? document.documentElement : undefined,
|
|
})
|
|
|
|
return (
|
|
<div className={styles.root}>
|
|
<input
|
|
className={styles.checkbox}
|
|
type="checkbox"
|
|
id="darkMode"
|
|
checked={darkMode.value}
|
|
onChange={darkMode.toggle}
|
|
/>
|
|
<label htmlFor="darkMode" className={styles.label}>
|
|
<SvgSun className={styles.sun} />
|
|
<SvgMoon className={styles.moon} />
|
|
</label>
|
|
</div>
|
|
)
|
|
}
|
|
|
|
export { DarkModeToggle }
|