'use client'; import Link from 'next/link'; import { useRouter } from 'next/navigation'; import { Home, LogOut, Menu } from 'lucide-react'; import { AccountSelector } from '@kit/accounts/account-selector'; import { featureFlagsConfig, getTeamAccountSidebarConfig, pathsConfig, } from '@kit/shared/config'; import { useSignOut } from '@kit/supabase/hooks/use-sign-out'; import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger, } from '@kit/ui/dialog'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@kit/ui/dropdown-menu'; import { Trans } from '@kit/ui/trans'; type Accounts = Array<{ label: string | null; value: string | null; image: string | null; }>; const features = { enableTeamAccounts: featureFlagsConfig.enableTeamAccounts, enableTeamCreation: featureFlagsConfig.enableTeamCreation, }; export const TeamAccountLayoutMobileNavigation = ( props: React.PropsWithChildren<{ account: string; userId: string; accounts: Accounts; }>, ) => { const signOut = useSignOut(); const Links = getTeamAccountSidebarConfig(props.account).routes.map( (item, index) => { if ('children' in item) { return item.children.map((child) => { return ( ); }); } if ('divider' in item) { return ; } }, ); return ( {Links} signOut.mutateAsync()} /> ); }; function DropdownLink( props: React.PropsWithChildren<{ path: string; label: string; Icon: React.ReactNode; }>, ) { return ( {props.Icon} ); } function SignOutDropdownItem( props: React.PropsWithChildren<{ onSignOut: () => unknown; }>, ) { return ( ); } function TeamAccountsModal(props: { accounts: Accounts; userId: string; account: string; }) { const router = useRouter(); return ( e.preventDefault()} >
{ const path = value ? pathsConfig.app.accountHome.replace('[account]', value) : pathsConfig.app.home; router.replace(path); }} />
); }