'use client'; import { useRouter } from 'next/navigation'; import type { Session } from '@supabase/supabase-js'; import { ArrowLeftCircleIcon, ArrowRightCircleIcon } from 'lucide-react'; import { AccountSelector } from '@kit/accounts/account-selector'; import { Sidebar, SidebarContent } from '@kit/ui/sidebar'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from '@kit/ui/tooltip'; import { Trans } from '@kit/ui/trans'; import { cn } from '@kit/ui/utils'; import { ProfileDropdownContainer } from '~/(dashboard)/home/_components/personal-account-dropdown'; import featureFlagsConfig from '~/config/feature-flags.config'; import pathsConfig from '~/config/paths.config'; import { AppSidebarNavigation } from './app-sidebar-navigation'; type AccountModel = { label: string | null; value: string | null; image: string | null; }; const features = { enableOrganizationAccounts: featureFlagsConfig.enableOrganizationAccounts, enableOrganizationCreation: featureFlagsConfig.enableOrganizationCreation, }; export function AppSidebar(props: { account: string; accounts: AccountModel[]; collapsed: boolean; session: Session | null; }) { return ( {({ collapsed, setCollapsed }) => ( )} ); } function SidebarContainer(props: { account: string; accounts: AccountModel[]; session: Session | null; collapsed: boolean; setCollapsed: (collapsed: boolean) => void; }) { const { account, accounts } = props; const router = useRouter(); return ( <> { const path = value ? pathsConfig.app.accountHome.replace('[account]', value) : pathsConfig.app.home; router.replace(path); }} />
); } function AppSidebarFooterMenu(props: { collapsed: boolean; setCollapsed: (collapsed: boolean) => void; }) { return ( ); } function CollapsibleButton({ collapsed, onClick, }: React.PropsWithChildren<{ collapsed: boolean; onClick: (collapsed: boolean) => void; }>) { const className = cn( `bg-background absolute -right-[10.5px] bottom-4 cursor-pointer block`, ); const iconClassName = 'bg-background text-gray-300 dark:text-gray-600 h-5 w-5'; return ( onClick(!collapsed)} > ); }