Skip to content
This repository was archived by the owner on Apr 24, 2026. It is now read-only.

Commit 330fbca

Browse files
authored
Merge pull request #63 from renderghost/feature/issue-62-sidebar-beta-improvements
Feature #62: Sidebar improvements for beta trial
2 parents 54327b9 + 2c2d62a commit 330fbca

2 files changed

Lines changed: 74 additions & 21 deletions

File tree

‎src/app/globals.css‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,4 +279,17 @@
279279
color: var(--color-purple-muted-500);
280280
opacity: 1;
281281
}
282+
283+
/* BETA badge styling */
284+
.beta-badge {
285+
background-color: var(--color-red-muted-400);
286+
color: var(--color-purple-muted-900);
287+
}
288+
289+
@media (prefers-color-scheme: dark) {
290+
.beta-badge {
291+
background-color: var(--color-yellow-vivid-500);
292+
color: var(--color-purple-muted-900);
293+
}
294+
}
282295
}

‎src/components/app-sidebar.tsx‎

Lines changed: 61 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,18 @@ import Image from 'next/image';
44
import Link from 'next/link';
55
import { usePathname } from 'next/navigation';
66
import {
7+
BookOpen,
78
Building2,
8-
GraduationCap,
9-
Zap,
109
Calendar,
11-
BookOpen,
12-
Sparkles,
13-
Globe,
14-
ContactRound,
10+
IdCardLanyard,
11+
GraduationCap,
12+
Info,
13+
Link2,
1514
LogOut,
15+
MessageCircleHeart,
16+
Sparkles,
17+
Users,
18+
Zap,
1619
} from 'lucide-react';
1720

1821
import {
@@ -85,17 +88,32 @@ const linksItems = [
8588
{
8689
title: 'Socials',
8790
url: '/dashboard/socials',
88-
icon: ContactRound,
91+
icon: Users,
8992
countKey: 'socialLinks' as const,
9093
},
9194
{
9295
title: 'Links',
9396
url: '/dashboard/links',
94-
icon: Globe,
97+
icon: Link2,
9598
countKey: 'webLinks' as const,
9699
},
97100
];
98101

102+
const supportItems = [
103+
{
104+
title: 'Documentation',
105+
url: 'https://docs.lanyards.app/',
106+
icon: Info,
107+
external: true,
108+
},
109+
{
110+
title: 'Support',
111+
url: 'https://signal.group/#CjQKII7UrdZwfftsYT2F7w0zKkFaudDblsBRc2eLpgpP3m-CEhAhjk2AnC2hvLLOFYBrcBe-',
112+
icon: MessageCircleHeart,
113+
external: true,
114+
},
115+
];
116+
99117
export function AppSidebar({ profile, counts }: AppSidebarProps) {
100118
const pathname = usePathname();
101119

@@ -128,11 +146,14 @@ export function AppSidebar({ profile, counts }: AppSidebarProps) {
128146
className="hidden rounded-lg dark:block"
129147
/>
130148
<div className="flex flex-col gap-0.5 leading-none">
131-
<span className="font-bold leading-none">Lanyards</span>
149+
<div className="flex items-center gap-2">
150+
<span className="font-semibold text-foreground">Lanyards</span>
151+
<Badge variant="secondary" className="w-fit beta-badge">
152+
BETA
153+
</Badge>
154+
</div>
132155
<span className="text-xs text-muted-foreground leading-none">
133-
{/* {profile?.handle ? `@${profile.handle}` : 'Dashboard'} */}
134156
{profile?.handle ? `Linking Researchers` : 'Dashboard'}
135-
{/* Linking Researchers */}
136157
</span>
137158
</div>
138159
</Link>
@@ -153,6 +174,16 @@ export function AppSidebar({ profile, counts }: AppSidebarProps) {
153174
</Link>
154175
</SidebarMenuButton>
155176
</SidebarMenuItem>
177+
{profile?.handle && (
178+
<SidebarMenuItem>
179+
<SidebarMenuButton asChild>
180+
<Link href={`/${profile.handle}`} target="_blank">
181+
<IdCardLanyard />
182+
<span>View Lanyard</span>
183+
</Link>
184+
</SidebarMenuButton>
185+
</SidebarMenuItem>
186+
)}
156187
</SidebarMenu>
157188
</SidebarGroup>
158189

@@ -209,20 +240,29 @@ export function AppSidebar({ profile, counts }: AppSidebarProps) {
209240
</SidebarMenu>
210241
</SidebarGroupContent>
211242
</SidebarGroup>
243+
244+
{/* Support Section */}
245+
<SidebarGroup>
246+
<SidebarGroupLabel>Support</SidebarGroupLabel>
247+
<SidebarGroupContent>
248+
<SidebarMenu>
249+
{supportItems.map((item) => (
250+
<SidebarMenuItem key={item.title}>
251+
<SidebarMenuButton asChild>
252+
<Link href={item.url} target="_blank" rel="noopener noreferrer">
253+
<item.icon />
254+
<span>{item.title}</span>
255+
</Link>
256+
</SidebarMenuButton>
257+
</SidebarMenuItem>
258+
))}
259+
</SidebarMenu>
260+
</SidebarGroupContent>
261+
</SidebarGroup>
212262
</SidebarContent>
213263

214264
<SidebarFooter>
215265
<SidebarMenu>
216-
{profile?.handle && (
217-
<SidebarMenuItem>
218-
<SidebarMenuButton asChild>
219-
<Link href={`/${profile.handle}`} target="_blank">
220-
<Globe />
221-
<span>View Public Profile</span>
222-
</Link>
223-
</SidebarMenuButton>
224-
</SidebarMenuItem>
225-
)}
226266
<SidebarMenuItem>
227267
<form action="/api/auth/logout" method="POST" className="w-full">
228268
<SidebarMenuButton type="submit" className="w-full">

0 commit comments

Comments
 (0)