import { PortalSidebarNavigation } from '@/components/portal-sidebar-navigation'; import type { ProfileAccess } from '@/types/profile-access'; import { Link, usePage } from '@inertiajs/react'; import { portalNavigation, canShowLegacyManagement, } from '@/lib/portal-navigation'; import AppLogo from '@/components/app-logo'; import { NavUser } from '@/components/nav-user'; import { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuItem, } from '@/components/ui/sidebar'; import { dashboard } from '@/routes'; import type { Auth } from '@/types'; import type { OpportunityManagementAccess } from '@/types/opportunity-management'; export function AppSidebar() { const currentPage = usePage(); const { auth, existingBusinessEnabled, educationEnabled, aiEnabled, opportunityManagement, contentManagementHref, contentManagementAccess, profileAccess, scopedAdministration, } = usePage<{ auth: Auth; existingBusinessEnabled?: boolean; educationEnabled?: boolean; aiEnabled?: boolean; profileAccess?: ProfileAccess | null; opportunityManagement?: OpportunityManagementAccess | null; contentManagementHref?: string | null; scopedAdministration?: { label: string; href: string }[]; contentManagementAccess?: { opportunities?: { index: string; create?: string | null }; }; }>().props; const groups = portalNavigation({ authenticated: !!auth.user, manager: canShowLegacyManagement(auth), businesses: existingBusinessEnabled, education: educationEnabled, ai: aiEnabled, opportunityManagement, profileAccess, contentManagementHref, contentManagementAccess, scopedAdministration, legacyContent: currentPage.props.legacyContentEnabled as | boolean | undefined, procurement: currentPage.props.procurementEnabled as | boolean | undefined, businessReviewUrl: currentPage.props.businessReviewUrl as | string | null | undefined, }); return ( ); }