12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import { Link } from '@inertiajs/react';
- import { BookOpen, Folder, LayoutGrid } from 'lucide-react';
- import { AppLogo } from '@/common/AppLogo';
- import { NavFooter } from '@/common/NavFooter';
- import { NavMain } from '@/common/NavMain';
- import { NavUser } from '@/common/NavUser';
- import { type NavItem } from '@/common/types';
- import { dashboard } from '@/routes';
- import { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuItem } from '@/shadcn/sidebar';
- const mainNavItems: NavItem[] = [
- {
- title: 'Dashboard',
- href: dashboard(),
- icon: LayoutGrid,
- },
- ];
- const footerNavItems: NavItem[] = [
- {
- title: 'Repository',
- href: 'https://github.com/laravel/react-starter-kit',
- icon: Folder,
- },
- {
- title: 'Documentation',
- href: 'https://laravel.com/docs/starter-kits#react',
- icon: BookOpen,
- },
- ];
- export function AppSidebar() {
- return (
- <Sidebar collapsible="icon" variant="inset">
- <SidebarHeader>
- <SidebarMenu>
- <SidebarMenuItem>
- <SidebarMenuButton size="lg" asChild>
- <Link href={dashboard()} prefetch>
- <AppLogo />
- </Link>
- </SidebarMenuButton>
- </SidebarMenuItem>
- </SidebarMenu>
- </SidebarHeader>
- <SidebarContent>
- <NavMain items={mainNavItems} />
- </SidebarContent>
- <SidebarFooter>
- <NavFooter items={footerNavItems} className="mt-auto" />
- <NavUser />
- </SidebarFooter>
- </Sidebar>
- );
- }
|