"use client"; import { System, Dark, Light } from "@openstatus/icons"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@openstatus/ui/components/ui/select"; import { cn } from "@openstatus/ui/lib/utils"; import { useTheme } from "next-themes"; import type * as React from "react"; import { useState } from "react"; import { useEffect } from "react"; export function ThemeToggle({ className, ...props }: React.ComponentProps) { const { setTheme, theme } = useTheme(); const [mounted, setMounted] = useState(false); useEffect(() => { setMounted(true); }, []); // NOTE: hydration error if we don't do this if (!mounted) { return ( ); } return ( ); }