"use client" import type { ComponentProps } from "react" import { useMemo } from "react" import { useI18n } from "@/i18n/provider" import { filterDashboardNavForSession, filterDashboardSecondaryNavForSession, } from "@/lib/navigation" import { useAuth } from "@/components/auth-provider" import { NavMain } from "@/components/nav-main" import { NavSecondary } from "@/components/nav-secondary" import { NavUser } from "@/components/nav-user" import { WorkspaceSwitcher } from "@/components/workspace-switcher" import { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuItem, } from "@/components/ui/sidebar" export function AppSidebar({ ...props }: ComponentProps) { const t = useI18n() const { session } = useAuth() const navSections = useMemo( () => filterDashboardNavForSession(session?.permissions, session?.roles), [session?.permissions, session?.roles] ) const secondaryNavItems = useMemo( () => filterDashboardSecondaryNavForSession(session?.permissions, session?.roles), [session?.permissions, session?.roles] ) const user = { name: session?.user.nickname || session?.user.username || t("common.notSignedIn"), email: session?.user.username || t("common.guest"), avatar: session?.user.avatar || "", } return ( {navSections.map((section) => ( ({ ...item, title: t(item.titleKey), }))} /> ))} {secondaryNavItems.length > 0 ? ( ) : null} ) }