Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
parkpow
GitHub Repository: parkpow/deep-license-plate-recognition
Path: blob/master/gate-controller/components/mode-toggle.tsx
1072 views
1
"use client";
2
3
import * as React from "react";
4
import { Moon, Sun } from "lucide-react";
5
import { useTheme } from "next-themes";
6
7
import { Button } from "@/components/ui/button";
8
import {
9
DropdownMenu,
10
DropdownMenuContent,
11
DropdownMenuItem,
12
DropdownMenuTrigger,
13
} from "@/components/ui/dropdown-menu";
14
15
export function ModeToggle() {
16
const { setTheme } = useTheme();
17
18
return (
19
<DropdownMenu>
20
<DropdownMenuTrigger asChild>
21
<Button variant="outline" size="icon">
22
<Sun className="h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90" />
23
<Moon className="absolute h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0" />
24
<span className="sr-only">Toggle theme</span>
25
</Button>
26
</DropdownMenuTrigger>
27
<DropdownMenuContent align="end">
28
<DropdownMenuItem onClick={() => setTheme("light")}>
29
Light
30
</DropdownMenuItem>
31
<DropdownMenuItem onClick={() => setTheme("dark")}>
32
Dark
33
</DropdownMenuItem>
34
<DropdownMenuItem onClick={() => setTheme("system")}>
35
System
36
</DropdownMenuItem>
37
</DropdownMenuContent>
38
</DropdownMenu>
39
);
40
}
41
42