proj/Frontend/components/mode-toggle.tsx
2026-01-22 10:49:41 +01:00

36 lines
959 B
TypeScript

"use client"
import * as React from "react"
import { Moon, Sun } from "lucide-react"
import { useTheme } from "next-themes"
import { Switch } from "@/components/ui/switch"
import { Label } from "@/components/ui/label"
export function ModeToggle() {
const { theme, setTheme } = useTheme()
const [mounted, setMounted] = React.useState(false)
// Hydration fix
React.useEffect(() => {
setMounted(true)
}, [])
if (!mounted) {
return null
}
const isDark = theme === "dark"
return (
<div className="flex items-center space-x-2">
<Sun className="h-4 w-4" />
<Switch
id="dark-mode"
checked={isDark}
onCheckedChange={(checked) => setTheme(checked ? "dark" : "light")}
/>
<Moon className="h-4 w-4" />
<Label htmlFor="dark-mode" className="sr-only">Thema umschalten</Label>
</div>
)
}