"use client"; import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from "@/components/ui/collapsible"; import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupLabel, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarRail, } from "@/components/ui/sidebar"; //import { UserAvatarProfile } from "@/components/user-avatar-profile"; import { navItems, tenantNavConfig } from "@/constants/data"; import { useMediaQuery } from "@/hooks/use-media-query"; import { IconBell, IconChevronRight, IconChevronsDown, IconCreditCard, IconLogout, IconPhotoUp, IconUserCircle, } from "@tabler/icons-react"; import Link from "next/link"; import { usePathname, useRouter } from "next/navigation"; import * as React from "react"; import { Icons } from "../icons"; import { OrgSwitcher } from "../org-switcher"; import { useAuth } from "@/providers/AuthProvider"; export const company = { name: "ALLA", logo: IconPhotoUp, plan: "Enterprise", }; const tenants = [ { id: "1", name: "ALLA" }, { id: "2", name: "ONVALLA" }, ]; export default function AppSidebar() { const pathname = usePathname(); const { isOpen } = useMediaQuery(); const router = useRouter(); const [activeTenant, setActiveTenant] = React.useState(tenants[0]); const { isAuthenticated, userInfo, logout } = useAuth(); const handleSwitchTenant = (tenantId: string) => { const newTenant = tenants.find((t) => t.id === tenantId); if (newTenant) { setActiveTenant(newTenant); // Optional: Redirect to the tenant's dashboard after switching // router.push(tenantNavConfig[tenantId][0]?.url || "/"); } }; // Get navItems based on active tenant const currentNavItems = tenantNavConfig[activeTenant.id] || navItems; return ( Overview {currentNavItems.map((item) => { const Icon = item.icon ? Icons[item.icon] : Icons.logo; return item?.items && item?.items?.length > 0 ? ( {item.icon && } {item.title} {item.items?.map((subItem) => ( {subItem.title} ))} ) : ( {item.title} ); })} {userInfo && (
{userInfo?.name || userInfo?.preferred_username || "User"}
)}
{userInfo && ( <>
{userInfo?.name || userInfo?.preferred_username || "User"}
)}
Notifications logout()}> Logout
); }