Path: blob/master/gate-controller/components/mode-toggle.tsx
1072 views
"use client";12import * as React from "react";3import { Moon, Sun } from "lucide-react";4import { useTheme } from "next-themes";56import { Button } from "@/components/ui/button";7import {8DropdownMenu,9DropdownMenuContent,10DropdownMenuItem,11DropdownMenuTrigger,12} from "@/components/ui/dropdown-menu";1314export function ModeToggle() {15const { setTheme } = useTheme();1617return (18<DropdownMenu>19<DropdownMenuTrigger asChild>20<Button variant="outline" size="icon">21<Sun className="h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90" />22<Moon className="absolute h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0" />23<span className="sr-only">Toggle theme</span>24</Button>25</DropdownMenuTrigger>26<DropdownMenuContent align="end">27<DropdownMenuItem onClick={() => setTheme("light")}>28Light29</DropdownMenuItem>30<DropdownMenuItem onClick={() => setTheme("dark")}>31Dark32</DropdownMenuItem>33<DropdownMenuItem onClick={() => setTheme("system")}>34System35</DropdownMenuItem>36</DropdownMenuContent>37</DropdownMenu>38);39}404142