neuroread/components/app-sidebar.tsx
2025-04-03 17:21:52 -04:00

140 lines
3.0 KiB
TypeScript

"use client";
import * as React from "react";
import {
AudioWaveform,
Blocks,
BrainCircuit,
Calendar,
Command,
Home,
Inbox,
MessageCircleQuestion,
Search,
Settings2,
Sparkles,
Trash2,
Upload,
} from "lucide-react";
import { NavDocuments } from "@/components/nav-favorites";
import { NavMain } from "@/components/nav-main";
import { NavSecondary } from "@/components/nav-secondary";
import {
Sidebar,
SidebarContent,
SidebarHeader,
SidebarMenuButton,
SidebarRail,
} from "@/components/ui/sidebar";
export function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar>) {
const data = {
navMain: [
{
title: "Search",
url: "/dashboard/search",
icon: Search,
},
{
title: "Home",
url: "/dashboard",
icon: Home,
isActive: true,
},
{
title: "Upload",
url: "/dashboard/upload",
icon: Upload,
},
],
navSecondary: [
{
title: "Settings",
url: "#",
icon: Settings2,
},
{
title: "Trash",
url: "#",
icon: Trash2,
},
{
title: "Help",
url: "#",
icon: MessageCircleQuestion,
},
],
favorites: [
{
name: "Project Management & Task Tracking",
url: "#",
emoji: "📊",
},
{
name: "Family Recipe Collection & Meal Planning",
url: "#",
emoji: "🍳",
},
{
name: "Fitness Tracker & Workout Routines",
url: "#",
emoji: "💪",
},
{
name: "Book Notes & Reading List",
url: "#",
emoji: "📚",
},
{
name: "Sustainable Gardening Tips & Plant Care",
url: "#",
emoji: "🌱",
},
{
name: "Language Learning Progress & Resources",
url: "#",
emoji: "🗣️",
},
{
name: "Home Renovation Ideas & Budget Tracker",
url: "#",
emoji: "🏠",
},
{
name: "Personal Finance & Investment Portfolio",
url: "#",
emoji: "💰",
},
{
name: "Movie & TV Show Watchlist with Reviews",
url: "#",
emoji: "🎬",
},
{
name: "Daily Habit Tracker & Goal Setting",
url: "#",
emoji: "✅",
},
],
};
return (
<Sidebar className="border-r-0" {...props}>
<SidebarHeader>
<SidebarMenuButton className="w-fit px-1.5">
<div className="bg-sidebar-primary text-sidebar-primary-foreground flex aspect-square size-5 items-center justify-center rounded-md">
<BrainCircuit className="size-3" />
</div>
<span className="truncate font-medium">Neuroread</span>
</SidebarMenuButton>
<NavMain items={data.navMain} />
</SidebarHeader>
<SidebarContent>
<NavDocuments documents={data.favorites} />
<NavSecondary items={data.navSecondary} className="mt-auto" />
</SidebarContent>
<SidebarRail />
</Sidebar>
);
}