"use client"; import { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarTrigger, useSidebar, } from "@/components/ui/sidebar"; import { Tooltip, TooltipPopup, TooltipTrigger, } from "@/components/ui/tooltip"; import { cn } from "@/lib/utils"; import { useActiveRole, visibleNavItems } from "@/lib/roles"; import { motion } from "framer-motion"; import Image from "next/image"; import { useTranslation } from "react-i18next"; import type { Route } from "./nav-main"; import DashboardNavigation from "@/components/sidebar-02/nav-main"; import { NotificationsPopover } from "@/components/sidebar-02/nav-notifications"; import { NavUser } from "@/components/sidebar-02/nav-user"; export function DashboardSidebar() { const { state } = useSidebar(); const { t } = useTranslation(); const role = useActiveRole(); const isCollapsed = state === "collapsed"; // Hide clinical nav from non-clinical roles (e.g. reception). See lib/roles.ts. const dashboardRoutes: Route[] = visibleNavItems(role).map((item) => ({ id: item.id, title: t(item.labelKey), icon: , link: item.link, subs: item.subs?.map((sub) => ({ title: t(sub.labelKey), link: sub.link, icon: sub.icon ? : undefined, })), })); return ( {/* White fox mark — inverted to black in light mode. */} temetro } /> temetro ); }