24 lines · 659 B · TypeScript
RawDownload
"use client"; import { MoonIcon, SunIcon } from "lucide-react";import { useTheme } from "next-themes";import { Button } from "@/components/ui/button"; export function ThemeToggle() {  const { resolvedTheme, setTheme } = useTheme();  const isDark = resolvedTheme !== "light";   return (    <Button      type="button"      variant="ghost"      size="icon-sm"      className="hidden sm:inline-flex"      aria-label={isDark ? "Switch to light mode" : "Switch to dark mode"}      onClick={() => setTheme(isDark ? "light" : "dark")}    >      <SunIcon className="dark:hidden" />      <MoonIcon className="hidden dark:block" />    </Button>  );}