website/components/ThemeChanger.tsx

23 lines
540 B
TypeScript
Raw Permalink Normal View History

2024-04-21 14:48:51 +00:00
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>
);
}