Checking session...
+
+
diff --git a/src/components/AdminSidebar.tsx b/src/components/AdminSidebar.tsx
index 75f70d2..7de8bf5 100644
--- a/src/components/AdminSidebar.tsx
+++ b/src/components/AdminSidebar.tsx
@@ -1,68 +1,63 @@
import { A, useLocation } from '@solidjs/router';
-import { For, Show } from 'solid-js';
+import { For, Show, createSignal } from 'solid-js';
import {
- Bell,
- Briefcase,
- ClipboardList,
- FileText,
- FolderCog,
- HandHelping,
- LayoutGrid,
- Percent,
- Receipt,
- Sparkles,
- UserCircle2,
- Users,
- WalletCards,
+ LayoutGrid, Building2, Briefcase, Users, ShieldCheck, FileText,
+ LayoutDashboard, ClipboardList, UserRoundSearch, UserCircle,
+ Camera, Palette, BookOpen, Code2, BriefcaseBusiness, HandHelping,
+ WalletCards, CreditCard, Tag, Percent, Receipt, ShoppingCart,
+ FileCheck, Star, HeadphonesIcon, BarChart3, BookMarked, Bell,
+ ChevronLeft,
} from 'lucide-solid';
type Item = {
href: string;
label: string;
- iconPath?: string;
- icon?: any;
+ icon: any;
aliasPrefix?: string;
- separatorBefore?: boolean;
- group?: string;
};
const items: Item[] = [
- { href: '/admin', label: 'Dashboard', icon: LayoutGrid },
- { href: '/admin/roles', label: 'Internal Role Management', icon: FolderCog, group: 'Management' },
- { href: '/admin/runtime-roles', label: 'External Role Management', icon: Users },
- { href: '/admin/onboarding-management', label: 'External Onboarding', icon: Users, aliasPrefix: '/admin/onboarding-schemas' },
- { href: '/admin/internal-dashboard-management', label: 'Internal Dashboards', icon: LayoutGrid },
- { href: '/admin/external-dashboard-management', label: 'External Dashboards', icon: LayoutGrid, aliasPrefix: '/admin/role-ui-configs' },
- { href: '/admin/approval', label: 'Approval Management', icon: ClipboardList },
- { href: '/admin/department', label: 'Department Management', icon: Briefcase, group: 'Organisation' },
- { href: '/admin/designation', label: 'Designation Management', icon: Briefcase },
- { href: '/admin/employees', label: 'Employee Management', icon: UserCircle2 },
- { href: '/admin/users', label: 'Users Management', icon: Users },
- { href: '/admin/company', label: 'Company Management', icon: Briefcase },
- { href: '/admin/candidate', label: 'Candidate Management', icon: UserCircle2 },
- { href: '/admin/customer', label: 'Customer Management', icon: UserCircle2 },
- { href: '/admin/photographer', label: 'Photographer Management', icon: Sparkles, group: 'Service Providers' },
- { href: '/admin/makeup-artist', label: 'Makeup Artist Management', icon: Sparkles },
- { href: '/admin/tutors', label: 'Tutors Management', icon: Sparkles },
- { href: '/admin/developers', label: 'Developers Management', icon: Sparkles },
- { href: '/admin/jobs', label: 'Jobs Management', icon: Briefcase, group: 'Operations' },
- { href: '/admin/leads', label: 'Leads Management', icon: HandHelping },
- { href: '/admin/pricing', label: 'Pricing Management', icon: WalletCards, group: 'Finance' },
- { href: '/admin/credit', label: 'Credit Management', icon: WalletCards },
- { href: '/admin/coupon', label: 'Coupon Management', icon: Percent },
- { href: '/admin/discount', label: 'Discount Management', icon: Percent },
- { href: '/admin/tax', label: 'Tax Management', icon: Receipt },
- { href: '/admin/order', label: 'Order Management', icon: FileText },
- { href: '/admin/invoice', label: 'Invoice Management', icon: FileText },
- { href: '/admin/review', label: 'Review Management', icon: FileText, group: 'Support' },
- { href: '/admin/support', label: 'Support Management', icon: UserCircle2 },
- { href: '/admin/report', label: 'Report Management', icon: Bell },
- { href: '/admin/ledger', label: 'Ledger Management', icon: Receipt },
- { href: '/admin/kb', label: 'Knowledge Base', icon: FileText },
- { href: '/admin/notifications', label: 'Notifications', icon: Bell },
+ { href: '/admin', label: 'Dashboard', icon: LayoutGrid },
+ { href: '/admin/department', label: 'Department Management', icon: Building2 },
+ { href: '/admin/designation', label: 'Designation Management', icon: Briefcase },
+ { href: '/admin/employees', label: 'Internal User Management', icon: Users },
+ { href: '/admin/roles', label: 'Internal Role Management', icon: ShieldCheck },
+ { href: '/admin/runtime-roles', label: 'External Role Management', icon: ShieldCheck },
+ { href: '/admin/onboarding-management', label: 'Onboarding Management', icon: FileText, aliasPrefix: '/admin/onboarding-schemas' },
+ { href: '/admin/internal-dashboard-management',label: 'Internal Dashboard Management', icon: LayoutDashboard },
+ { href: '/admin/external-dashboard-management',label: 'External Dashboard Management', icon: LayoutDashboard, aliasPrefix: '/admin/role-ui-configs' },
+ { href: '/admin/approval', label: 'Approval Management', icon: ClipboardList },
+ { href: '/admin/users', label: 'External User Management', icon: UserRoundSearch },
+ { href: '/admin/customer', label: 'Customer Management', icon: UserCircle },
+ { href: '/admin/company', label: 'Company Management', icon: Building2 },
+ { href: '/admin/candidate', label: 'Candidate Management', icon: UserCircle },
+ { href: '/admin/photographer', label: 'Photographer Management', icon: Camera },
+ { href: '/admin/makeup-artist', label: 'Makeup Artist Management', icon: Palette },
+ { href: '/admin/tutors', label: 'Tutor Management', icon: BookOpen },
+ { href: '/admin/developers', label: 'Developer Management', icon: Code2 },
+ { href: '/admin/jobs', label: 'Jobs Management', icon: BriefcaseBusiness },
+ { href: '/admin/leads', label: 'Leads Management', icon: HandHelping },
+ { href: '/admin/pricing', label: 'Pricing Management', icon: WalletCards },
+ { href: '/admin/credit', label: 'Credit Management', icon: CreditCard },
+ { href: '/admin/coupon', label: 'Coupon Management', icon: Tag },
+ { href: '/admin/discount', label: 'Discount Management', icon: Percent },
+ { href: '/admin/tax', label: 'Tax Management', icon: Receipt },
+ { href: '/admin/order', label: 'Order Management', icon: ShoppingCart },
+ { href: '/admin/invoice', label: 'Invoice Management', icon: FileCheck },
+ { href: '/admin/review', label: 'Review Management', icon: Star },
+ { href: '/admin/kb', label: 'Knowledge Base Management', icon: BookMarked },
+ { href: '/admin/notifications', label: 'Notifications', icon: Bell },
+ { href: '/admin/support', label: 'Support Management', icon: HeadphonesIcon },
+ { href: '/admin/report', label: 'Report Management', icon: BarChart3 },
+ { href: '/admin/ledger', label: 'Ledger Management', icon: Receipt },
];
-export default function AdminSidebar(props: { onNavigate?: () => void; onLogout?: () => void }) {
+export default function AdminSidebar(props: {
+ collapsed: boolean;
+ onToggle: () => void;
+ onNavigate?: () => void;
+ onLogout?: () => void;
+}) {
const location = useLocation();
const active = (item: Item) => {
@@ -72,61 +67,76 @@ export default function AdminSidebar(props: { onNavigate?: () => void; onLogout?
};
return (
-