'use client'; import Link from 'next/link'; import { useRouter } from 'next/navigation'; import { HomeIcon, LogOutIcon, MenuIcon } from 'lucide-react'; import { AccountSelector } from '@kit/accounts/account-selector'; 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'; import featureFlagsConfig from '~/config/feature-flags.config'; import { getOrganizationAccountSidebarConfig } from '~/config/organization-account-sidebar.config'; import pathsConfig from '~/config/paths.config'; export const MobileAppNavigation = ( props: React.PropsWithChildren<{ slug: string; }>, ) => { const signOut = useSignOut(); const Links = getOrganizationAccountSidebarConfig(props.slug).routes.map( (item, index) => { if ('children' in item) { return item.children.map((child) => { return ( ); }); } if ('divider' in item) { return ; } 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 OrganizationsModal() { const router = useRouter(); return ( e.preventDefault()} >
{ const path = value ? pathsConfig.app.accountHome.replace('[account]', value) : pathsConfig.app.home; router.replace(path); }} accounts={[]} features={{ enableOrganizationAccounts: featureFlagsConfig.enableOrganizationAccounts, enableOrganizationCreation: featureFlagsConfig.enableOrganizationCreation, }} />
); }