"use client"; import { Building2, ChevronsUpDown, Plus } from "lucide-react"; import { useRouter } from "next/navigation"; import { Menu, MenuGroup, MenuGroupLabel, MenuItem, MenuPopup, MenuSeparator, MenuTrigger, } from "@/components/ui/menu"; import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar, } from "@/components/ui/sidebar"; import { authClient } from "@/lib/auth-client"; // Switches the active clinic (organization). Scopes every subsequent patient // API call. Replaces the old static "team switcher". export function OrgSwitcher() { const { isMobile, state } = useSidebar(); const isCollapsed = state === "collapsed"; const router = useRouter(); const { data: orgs } = authClient.useListOrganizations(); const { data: activeOrg } = authClient.useActiveOrganization(); const setActive = async (organizationId: string) => { if (organizationId === activeOrg?.id) return; await authClient.organization.setActive({ organizationId }); }; const activeName = activeOrg?.name ?? "Select clinic"; return ( } >
{!isCollapsed && ( <>
{activeName} Clinic
)}
Clinics {(orgs ?? []).map((org) => ( setActive(org.id)} >
{org.name}
))}
router.push("/onboarding")} >
Create clinic
); }