24 changed files with 219 additions and 84 deletions
-
2web/app/(app)/(auth)/(components)/request-password-reset-form.tsx
-
2web/app/(app)/(auth)/(components)/reset-password-form.tsx
-
4web/app/(app)/(auth)/login/page.tsx
-
12web/app/(app)/(auth)/register/page.tsx
-
4web/app/(app)/dashboard/(components)/generate-api-key.tsx
-
21web/app/(app)/layout-wrapper.tsx
-
2web/app/(app)/layout.tsx
-
15web/app/(landing-page)/(components)/code-snippet-section.tsx
-
2web/app/(landing-page)/(components)/customization-section.tsx
-
4web/app/(landing-page)/(components)/download-app-section.tsx
-
2web/app/(landing-page)/(components)/features-section.tsx
-
4web/app/(landing-page)/(components)/hero-section.tsx
-
2web/app/(landing-page)/(components)/how-it-works-section.tsx
-
68web/app/(landing-page)/(components)/landing-page-header.tsx
-
6web/app/(landing-page)/(components)/support-project-section.tsx
-
41web/app/layout.tsx
-
10web/components/shared/app-header.tsx
-
2web/components/shared/customer-support.tsx
-
2web/components/shared/footer.tsx
-
41web/components/shared/theme-toggle.tsx
-
8web/middleware.ts
-
1web/package.json
-
14web/pnpm-lock.yaml
-
34web/styles/main.css
@ -0,0 +1,41 @@ |
|||||
|
'use client' |
||||
|
|
||||
|
import { useTheme } from 'next-themes' |
||||
|
import { Button } from '@/components/ui/button' |
||||
|
import { Sun, Moon, Laptop } from 'lucide-react' |
||||
|
import { |
||||
|
DropdownMenu, |
||||
|
DropdownMenuContent, |
||||
|
DropdownMenuItem, |
||||
|
DropdownMenuTrigger, |
||||
|
} from '@/components/ui/dropdown-menu' |
||||
|
|
||||
|
export default function ThemeToggle() { |
||||
|
const { theme, setTheme } = useTheme() |
||||
|
|
||||
|
return ( |
||||
|
<DropdownMenu> |
||||
|
<DropdownMenuTrigger asChild> |
||||
|
<Button variant='ghost' size='icon'> |
||||
|
<Sun className='h-5 w-5 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0' /> |
||||
|
<Moon className='absolute h-5 w-5 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100' /> |
||||
|
<span className='sr-only'>Toggle theme</span> |
||||
|
</Button> |
||||
|
</DropdownMenuTrigger> |
||||
|
<DropdownMenuContent align='end'> |
||||
|
<DropdownMenuItem onClick={() => setTheme('light')}> |
||||
|
<Sun className='mr-2 h-4 w-4' /> |
||||
|
<span>Light</span> |
||||
|
</DropdownMenuItem> |
||||
|
<DropdownMenuItem onClick={() => setTheme('dark')}> |
||||
|
<Moon className='mr-2 h-4 w-4' /> |
||||
|
<span>Dark</span> |
||||
|
</DropdownMenuItem> |
||||
|
<DropdownMenuItem onClick={() => setTheme('system')}> |
||||
|
<Laptop className='mr-2 h-4 w-4' /> |
||||
|
<span>System</span> |
||||
|
</DropdownMenuItem> |
||||
|
</DropdownMenuContent> |
||||
|
</DropdownMenu> |
||||
|
) |
||||
|
} |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue