File tree Expand file tree Collapse file tree 1 file changed +15
-24
lines changed
Expand file tree Collapse file tree 1 file changed +15
-24
lines changed Original file line number Diff line number Diff line change @@ -5,34 +5,25 @@ import { Moon, Sun } from 'lucide-react'
55import { useTheme } from "next-themes"
66
77import { Button } from "@/components/ui/button"
8- import {
9- DropdownMenu ,
10- DropdownMenuContent ,
11- DropdownMenuItem ,
12- DropdownMenuTrigger ,
13- } from "@/components/ui/dropdown-menu"
148
159export function ThemeToggle ( ) {
16- const { setTheme } = useTheme ( )
10+ const { theme, setTheme } = useTheme ( )
11+
12+ const toggleTheme = ( ) => {
13+ setTheme ( theme === "dark" ? "light" : "dark" )
14+ }
1715
1816 return (
19- < DropdownMenu >
20- < DropdownMenuTrigger asChild >
21- < Button variant = "outline" size = "icon" >
22- < Sun className = "h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" />
23- < Moon className = "absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" />
24- < span className = "sr-only" > Toggle theme</ span >
25- </ Button >
26- </ DropdownMenuTrigger >
27- < DropdownMenuContent align = "end" >
28- < DropdownMenuItem onClick = { ( ) => setTheme ( "light" ) } className = "cursor-pointer" >
29- Light
30- </ DropdownMenuItem >
31- < DropdownMenuItem onClick = { ( ) => setTheme ( "dark" ) } className = "cursor-pointer" >
32- Dark
33- </ DropdownMenuItem >
34- </ DropdownMenuContent >
35- </ DropdownMenu >
17+ < Button
18+ variant = "outline"
19+ size = "icon"
20+ onClick = { toggleTheme }
21+ aria-label = "Toggle theme"
22+ >
23+ { /* Icon transitions */ }
24+ < Sun className = "h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" />
25+ < Moon className = "absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" />
26+ </ Button >
3627 )
3728}
3829
You can’t perform that action at this time.
0 commit comments