From bd30be4f68f614f4f5fefcae5e8bfdd54d357b4d Mon Sep 17 00:00:00 2001 From: Sat Naing Date: Sun, 22 Sep 2024 08:36:50 +0700 Subject: [PATCH] feat: upgrade theme button to theme dropdown (#33) Theme button is upgraded to theme dropdown to include system as an option. Resolves #29 --- src/components/theme-switch.tsx | 53 ++++++++++++++++++++++++++------- 1 file changed, 43 insertions(+), 10 deletions(-) diff --git a/src/components/theme-switch.tsx b/src/components/theme-switch.tsx index 706ada98..68853952 100644 --- a/src/components/theme-switch.tsx +++ b/src/components/theme-switch.tsx @@ -1,7 +1,14 @@ -import { IconMoon, IconSun } from '@tabler/icons-react' +import { useEffect } from 'react' +import { IconCheck, IconMoon, IconSun } from '@tabler/icons-react' +import { cn } from '@/lib/utils' +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from '@/components/ui/dropdown-menu' import { useTheme } from './theme-provider' import { Button } from './custom/button' -import { useEffect } from 'react' export default function ThemeSwitch() { const { theme, setTheme } = useTheme() @@ -14,14 +21,40 @@ export default function ThemeSwitch() { metaThemeColor && metaThemeColor.setAttribute('content', themeColor) }, [theme]) + console.log(theme) + return ( - + + + + + + setTheme('light')}> + Light{' '} + + + setTheme('dark')}> + Dark + + + setTheme('system')}> + System + + + + ) }