소스 검색

user theme toggle

Bernt Christian Egeland 7 달 전
부모
커밋
e1d44844a0
1개의 변경된 파일과 12개의 추가작업 그리고 0개의 파일을 삭제
  1. 12 0
      src/components/app-sidebar.tsx

+ 12 - 0
src/components/app-sidebar.tsx

@@ -41,16 +41,19 @@ import {
   LayoutDashboard,
   Loader2,
   LogOut,
+  Moon,
   Package,
   Plus,
   Receipt,
   Settings,
   ShieldCheck,
+  Sun,
   Users,
 } from 'lucide-react'
 import { switchOrganization } from '@/features/team/Actions/switchOrganization'
 import { createNewOrganization } from '@/features/team/Actions/createNewOrganization'
 import type { PlanFeatures } from '@/lib/features'
+import { useTheme } from '@/components/theme-provider'
 
 const baseNavItems = [
   { title: 'Dashboard', url: '/', icon: LayoutDashboard },
@@ -85,6 +88,7 @@ export function AppSidebar({
   const pathname = usePathname()
   const router = useRouter()
   const { data: session } = useSession()
+  const { theme, setTheme } = useTheme()
   const [showCreateOrg, setShowCreateOrg] = React.useState(false)
   const [newOrgName, setNewOrgName] = React.useState('')
   const [creatingOrg, setCreatingOrg] = React.useState(false)
@@ -266,6 +270,14 @@ export function AppSidebar({
                     Settings
                   </Link>
                 </DropdownMenuItem>
+                <DropdownMenuItem onClick={() => setTheme(theme === 'dark' ? 'light' : 'dark')}>
+                  {theme === 'dark' ? (
+                    <Sun className="mr-2 size-4" />
+                  ) : (
+                    <Moon className="mr-2 size-4" />
+                  )}
+                  {theme === 'dark' ? 'Light Mode' : 'Dark Mode'}
+                </DropdownMenuItem>
                 <DropdownMenuSeparator />
                 <DropdownMenuItem onClick={handleSignOut}>
                   <LogOut className="mr-2 size-4" />