Skip to content

Commit 0a9a757

Browse files
committed
chore: update component
1 parent 0dd04dc commit 0a9a757

File tree

4 files changed

+409
-212
lines changed

4 files changed

+409
-212
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
import { LayoutDashboardIcon, MapPinned } from 'lucide-react';
2+
3+
import {
4+
Sidebar,
5+
SidebarContent,
6+
SidebarGroup,
7+
SidebarGroupContent,
8+
SidebarGroupLabel,
9+
SidebarMenu,
10+
SidebarMenuButton,
11+
SidebarMenuItem,
12+
} from '@/components/ui/sidebar';
13+
import { NavLink } from 'react-router';
14+
15+
// Menu items.
16+
const items = [
17+
{
18+
title: 'Home',
19+
url: 'ikhtisar',
20+
icon: LayoutDashboardIcon,
21+
},
22+
{
23+
title: 'Region',
24+
url: 'region',
25+
icon: MapPinned,
26+
},
27+
];
28+
29+
export function AppSidebar() {
30+
return (
31+
<Sidebar collapsible="icon" variant="floating">
32+
<SidebarContent>
33+
<SidebarGroup>
34+
<SidebarGroupLabel className="text-md font-black">
35+
PlateFrom
36+
</SidebarGroupLabel>
37+
<SidebarGroupContent>
38+
<SidebarMenu>
39+
{items.map((item) => (
40+
<SidebarMenuItem key={item.title}>
41+
<NavLink to={item.url}>
42+
{({ isActive }) => (
43+
<SidebarMenuButton asChild isActive={isActive}>
44+
<span>
45+
<item.icon
46+
className={isActive ? 'text-red-600' : ''}
47+
/>
48+
<span
49+
className={isActive ? 'font-bold text-red-600' : ''}
50+
>
51+
{item.title}
52+
</span>
53+
</span>
54+
</SidebarMenuButton>
55+
)}
56+
</NavLink>
57+
</SidebarMenuItem>
58+
))}
59+
</SidebarMenu>
60+
</SidebarGroupContent>
61+
</SidebarGroup>
62+
</SidebarContent>
63+
</Sidebar>
64+
);
65+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { Outlet } from 'react-router';
2+
import { SidebarProvider, SidebarTrigger } from '../ui/sidebar';
3+
import { AppSidebar } from './app-sidebar';
4+
5+
export default function Layout() {
6+
return (
7+
<SidebarProvider>
8+
<AppSidebar />
9+
<main>
10+
<SidebarTrigger />
11+
<div className="ps-2 pe-3 py-3 w-full h-dvh">
12+
<Outlet />
13+
</div>
14+
</main>
15+
</SidebarProvider>
16+
);
17+
}

0 commit comments

Comments
 (0)