TheClashFruit
6fdc97b98b
All checks were successful
Deploy Website / build (push) Successful in 1m28s
23 lines
540 B
TypeScript
23 lines
540 B
TypeScript
import { useState, useEffect } from 'react';
|
|
import { useTheme } from 'next-themes';
|
|
|
|
export default function ThemeChanger() {
|
|
const [mounted, setMounted] = useState(false);
|
|
const { theme, setTheme } = useTheme();
|
|
|
|
useEffect(() => {
|
|
setMounted(true);
|
|
}, []);
|
|
|
|
if (!mounted) {
|
|
return null;
|
|
}
|
|
|
|
return (
|
|
<select value={theme} onChange={e => setTheme(e.target.value)}>
|
|
<option value="system">System</option>
|
|
<option value="dark">Dark</option>
|
|
<option value="light">Light</option>
|
|
</select>
|
|
);
|
|
} |