diff options
| author | Maze Winther <mazewinther@gmail.com> | 2025-08-31 00:20:14 +0200 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2025-08-31 00:20:14 +0200 |
| commit | 37d40148087fc7c3497fba31e82bc7c7496bde8d (patch) | |
| tree | b584ebda711fdfaa7561c653f53a8102e413153c /apps/web/src/components/theme-toggle.tsx | |
| parent | e98e40028ee3f9b074688fc54a1a1cae3caec63d (diff) | |
| parent | 5abddb0a22c73b745e748409bc2fa46750ddd4d7 (diff) | |
| download | opencut-37d40148087fc7c3497fba31e82bc7c7496bde8d.tar.gz | |
Merge branch 'staging'
Diffstat (limited to 'apps/web/src/components/theme-toggle.tsx')
| -rw-r--r-- | apps/web/src/components/theme-toggle.tsx | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/apps/web/src/components/theme-toggle.tsx b/apps/web/src/components/theme-toggle.tsx new file mode 100644 index 00000000..8302a19c --- /dev/null +++ b/apps/web/src/components/theme-toggle.tsx @@ -0,0 +1,25 @@ +"use client";
+
+import { Button } from "./ui/button";
+import { Sun, Moon } from "lucide-react";
+import { useTheme } from "next-themes";
+
+interface ThemeToggleProps {
+ className?: string;
+}
+
+export function ThemeToggle({ className }: ThemeToggleProps) {
+ const { theme, setTheme } = useTheme();
+
+ return (
+ <Button
+ size="icon"
+ variant="text"
+ className="h-7"
+ onClick={() => setTheme(theme === "dark" ? "light" : "dark")}
+ >
+ <Sun className="!size-[1.1rem]" />
+ <span className="sr-only">{theme === "dark" ? "Light" : "Dark"}</span>
+ </Button>
+ );
+}
|
