import { useNavigate, useLocation } from "@tanstack/react-router"; import { Search } from "lucide-react"; import { Stack, Group, Text, Badge, Input, NavLink as MantineNavLink, Box, } from "@mantine/core"; interface SidebarProps { className?: string; } export function Sidebar({ className }: SidebarProps) { const location = useLocation(); const navigate = useNavigate(); // Define menu items with their paths const menuItems = [ { name: "Beranda", path: "/dashboard" }, { name: "Kinerja Divisi", path: "/dashboard/kinerja-divisi" }, { name: "Pengaduan & Layanan Publik", path: "/dashboard/pengaduan-layanan-publik" }, { name: "Jenna Analytic", path: "/dashboard/jenna-analytic" }, { name: "Demografi & Kependudukan", path: "/dashboard/demografi-pekerjaan" }, { name: "Keuangan & Anggaran", path: "/dashboard/keuangan" }, { name: "Bumdes & UMKM Desa", path: "/dashboard/bumdes" }, { name: "Sosial", path: "/dashboard/sosial" }, { name: "Keamanan", path: "/dashboard/keamanan" }, { name: "Bantuan", path: "/dashboard/bantuan" }, { name: "Pengaturan", path: "/dashboard/pengaturan" }, ]; return ( {/* Logo */} DESA + Digitalisasi Desa Transparansi Kerja {/* Search */} } styles={{ input: { "&::placeholder": { color: "var(--mantine-color-gray-5)", }, }, }} /> {/* Menu Items */} {menuItems.map((item, index) => ( navigate({ to: item.path })} label={item.name} active={location.pathname === item.path} variant="subtle" color="blue" /> ))} ); }