gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/theme-switch/theme-toggle/index.tsx · v0.3.0-alpha6
Source
1 88bd1b0 Mrdn 2y ago import { Moon, Sun } from "lucide-react"
2 88bd1b0 Mrdn 2y ago
3 88bd1b0 Mrdn 2y ago import {
4 88bd1b0 Mrdn 2y ago Button,
5 88bd1b0 Mrdn 2y ago DropdownMenu,
6 88bd1b0 Mrdn 2y ago DropdownMenuContent,
7 88bd1b0 Mrdn 2y ago DropdownMenuItem,
8 88bd1b0 Mrdn 2y ago DropdownMenuTrigger,
9 88bd1b0 Mrdn 2y ago } from "@marzneshin/components"
10 88bd1b0 Mrdn 2y ago import { useTheme } from "../theme-provider"
11 3b7feef Mrdn 2y ago import { useTranslation } from "react-i18next"
12 88bd1b0 Mrdn 2y ago
13 88bd1b0 Mrdn 2y ago export function ThemeToggle() {
14 88bd1b0 Mrdn 2y ago const { setTheme } = useTheme()
15 3b7feef Mrdn 2y ago const { t } = useTranslation()
16 88bd1b0 Mrdn 2y ago return (
17 88bd1b0 Mrdn 2y ago <DropdownMenu>
18 88bd1b0 Mrdn 2y ago <DropdownMenuTrigger asChild>
19 b15ff05 Mrdn 2y ago <Button variant="outline" className="bg-secondary-foreground text-primary-foreground" size="icon">
20 1eb203e Mrdn 2y ago <Sun className="transition-all scale-100 rotate-0 dark:scale-0 dark:-rotate-90 h-[1rem] w-[1rem]" />
21 1eb203e Mrdn 2y ago <Moon className="absolute transition-all scale-0 rotate-90 dark:scale-100 dark:rotate-0 h-[1rem] w-[1rem]" />
22 88bd1b0 Mrdn 2y ago <span className="sr-only">Toggle theme</span>
23 88bd1b0 Mrdn 2y ago </Button>
24 88bd1b0 Mrdn 2y ago </DropdownMenuTrigger>
25 88bd1b0 Mrdn 2y ago <DropdownMenuContent align="end">
26 88bd1b0 Mrdn 2y ago <DropdownMenuItem onClick={() => setTheme("light")}>
27 3b7feef Mrdn 2y ago {t('light')}
28 88bd1b0 Mrdn 2y ago </DropdownMenuItem>
29 88bd1b0 Mrdn 2y ago <DropdownMenuItem onClick={() => setTheme("dark")}>
30 3b7feef Mrdn 2y ago {t('dark')}
31 88bd1b0 Mrdn 2y ago </DropdownMenuItem>
32 88bd1b0 Mrdn 2y ago <DropdownMenuItem onClick={() => setTheme("system")}>
33 3b7feef Mrdn 2y ago {t('system')}
34 88bd1b0 Mrdn 2y ago </DropdownMenuItem>
35 88bd1b0 Mrdn 2y ago </DropdownMenuContent>
36 88bd1b0 Mrdn 2y ago </DropdownMenu>
37 88bd1b0 Mrdn 2y ago )
38 88bd1b0 Mrdn 2y ago }