Skip to content

Commit 241d977

Browse files
authored
Merge pull request #21 from pattern-tech/feat/sidebar-wallet-address
feat: Show connected wallet address in sidebar
2 parents 8e22155 + 2fccf0a commit 241d977

6 files changed

Lines changed: 26 additions & 67 deletions

File tree

components/app-sidebar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ export function AppSidebar({ user }: { user: User | undefined }) {
6363
<SidebarContent>
6464
<SidebarHistory user={user} />
6565
</SidebarContent>
66-
<SidebarFooter>{user && <SidebarUserNav user={user} />}</SidebarFooter>
66+
<SidebarFooter>{user && <SidebarUserNav />}</SidebarFooter>
6767
</Sidebar>
6868
);
6969
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default function AppkitAccountButton() {
2+
return <appkit-account-button balance="hide" />;
3+
}

components/appkit-button.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default function AppkitButton() {
2+
return <appkit-button />;
3+
}

components/chat-header.tsx

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
"use client";
1+
'use client';
22

3-
import { useRouter } from "next/navigation";
4-
import { useWindowSize } from "usehooks-ts";
3+
import { useRouter } from 'next/navigation';
4+
import { memo } from 'react';
5+
import { useWindowSize } from 'usehooks-ts';
56

6-
import { SidebarToggle } from "@/components/sidebar-toggle";
7-
import { Button } from "@/components/ui/button";
8-
import { PlusIcon } from "./icons";
9-
import { useSidebar } from "./ui/sidebar";
10-
import { memo } from "react";
11-
import { Tooltip, TooltipContent, TooltipTrigger } from "./ui/tooltip";
12-
import ConnectButton from "./connect-button";
7+
import { SidebarToggle } from '@/components/sidebar-toggle';
8+
import { Button } from '@/components/ui/button';
9+
10+
import AppkitButton from './appkit-button';
11+
import { PlusIcon } from './icons';
12+
import { useSidebar } from './ui/sidebar';
13+
import { Tooltip, TooltipContent, TooltipTrigger } from './ui/tooltip';
1314

1415
function PureChatHeader() {
1516
const router = useRouter();
@@ -28,7 +29,7 @@ function PureChatHeader() {
2829
variant="outline"
2930
className="order-2 md:order-1 md:px-2 px-2 md:h-fit ml-auto md:ml-0"
3031
onClick={() => {
31-
router.push("/");
32+
router.push('/');
3233
router.refresh();
3334
}}
3435
>
@@ -41,7 +42,7 @@ function PureChatHeader() {
4142
)}
4243

4344
<div className="order-4 m-4 md:ml-auto">
44-
<ConnectButton />
45+
<AppkitButton />
4546
</div>
4647
</header>
4748
);

components/connect-button.tsx

Lines changed: 0 additions & 3 deletions
This file was deleted.

components/sidebar-user-nav.tsx

Lines changed: 6 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,23 @@
11
'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';
72

83
import {
94
DropdownMenu,
10-
DropdownMenuContent,
11-
DropdownMenuItem,
12-
DropdownMenuSeparator,
135
DropdownMenuTrigger,
146
} 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';
208

21-
export function SidebarUserNav({ user }: { user: User }) {
22-
const { setTheme, theme } = useTheme();
9+
import AppkitAccountButton from './appkit-account-button';
2310

11+
export function SidebarUserNav() {
2412
return (
2513
<SidebarMenu>
2614
<SidebarMenuItem>
2715
<DropdownMenu>
2816
<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>
4020
</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>
6621
</DropdownMenu>
6722
</SidebarMenuItem>
6823
</SidebarMenu>

0 commit comments

Comments
 (0)