|
1 | 1 | 'use client'; |
2 | | -import { ChevronUp } from 'lucide-react'; |
3 | | -import Image from 'next/image'; |
4 | | -import type { User } from 'next-auth'; |
5 | | -import { signOut } from 'next-auth/react'; |
6 | | -import { useTheme } from 'next-themes'; |
7 | 2 |
|
8 | 3 | import { |
9 | 4 | DropdownMenu, |
10 | | - DropdownMenuContent, |
11 | | - DropdownMenuItem, |
12 | | - DropdownMenuSeparator, |
13 | 5 | DropdownMenuTrigger, |
14 | 6 | } from '@/components/ui/dropdown-menu'; |
15 | | -import { |
16 | | - SidebarMenu, |
17 | | - SidebarMenuButton, |
18 | | - SidebarMenuItem, |
19 | | -} from '@/components/ui/sidebar'; |
| 7 | +import { SidebarMenu, SidebarMenuItem } from '@/components/ui/sidebar'; |
20 | 8 |
|
21 | | -export function SidebarUserNav({ user }: { user: User }) { |
22 | | - const { setTheme, theme } = useTheme(); |
| 9 | +import AppkitAccountButton from './appkit-account-button'; |
23 | 10 |
|
| 11 | +export function SidebarUserNav() { |
24 | 12 | return ( |
25 | 13 | <SidebarMenu> |
26 | 14 | <SidebarMenuItem> |
27 | 15 | <DropdownMenu> |
28 | 16 | <DropdownMenuTrigger asChild> |
29 | | - <SidebarMenuButton className="data-[state=open]:bg-sidebar-accent bg-background data-[state=open]:text-sidebar-accent-foreground h-10"> |
30 | | - <Image |
31 | | - src={`https://avatar.vercel.sh/${user.email}`} |
32 | | - alt={user.email ?? 'User Avatar'} |
33 | | - width={24} |
34 | | - height={24} |
35 | | - className="rounded-full" |
36 | | - /> |
37 | | - <span className="truncate">{user?.email}</span> |
38 | | - <ChevronUp className="ml-auto" /> |
39 | | - </SidebarMenuButton> |
| 17 | + <div className="flex justify-center w-full p-1"> |
| 18 | + <AppkitAccountButton /> |
| 19 | + </div> |
40 | 20 | </DropdownMenuTrigger> |
41 | | - <DropdownMenuContent |
42 | | - side="top" |
43 | | - className="w-[--radix-popper-anchor-width]" |
44 | | - > |
45 | | - <DropdownMenuItem |
46 | | - className="cursor-pointer" |
47 | | - onSelect={() => setTheme(theme === 'dark' ? 'light' : 'dark')} |
48 | | - > |
49 | | - {`Toggle ${theme === 'light' ? 'dark' : 'light'} mode`} |
50 | | - </DropdownMenuItem> |
51 | | - <DropdownMenuSeparator /> |
52 | | - <DropdownMenuItem asChild> |
53 | | - <button |
54 | | - type="button" |
55 | | - className="w-full cursor-pointer" |
56 | | - onClick={() => { |
57 | | - signOut({ |
58 | | - redirectTo: '/', |
59 | | - }); |
60 | | - }} |
61 | | - > |
62 | | - Sign out |
63 | | - </button> |
64 | | - </DropdownMenuItem> |
65 | | - </DropdownMenuContent> |
66 | 21 | </DropdownMenu> |
67 | 22 | </SidebarMenuItem> |
68 | 23 | </SidebarMenu> |
|
0 commit comments