import { use } from 'react'; import { cookies } from 'next/headers'; import { TeamAccountWorkspaceContextProvider } from '@kit/team-accounts/components'; import { If } from '@kit/ui/if'; import { Page, PageLayoutStyle, PageMobileNavigation, PageNavigation, } from '@kit/ui/page'; import { AppLogo } from '~/components/app-logo'; import { getTeamAccountSidebarConfig } from '~/config/team-account-navigation.config'; import { withI18n } from '~/lib/i18n/with-i18n'; // local imports import { TeamAccountLayoutMobileNavigation } from './_components/team-account-layout-mobile-navigation'; import { TeamAccountLayoutSidebar } from './_components/team-account-layout-sidebar'; import { TeamAccountNavigationMenu } from './_components/team-account-navigation-menu'; import { loadTeamWorkspace } from './_lib/server/team-account-workspace.loader'; interface Params { account: string; } function TeamWorkspaceLayout({ children, params, }: React.PropsWithChildren<{ params: Params; }>) { const data = use(loadTeamWorkspace(params.account)); const style = getLayoutStyle(params.account); const accounts = data.accounts.map(({ name, slug, picture_url }) => ({ label: name, value: slug, image: picture_url, })); return (
{children}
); } function getLayoutStyle(account: string) { return ( (cookies().get('layout-style')?.value as PageLayoutStyle) ?? getTeamAccountSidebarConfig(account).style ); } export default withI18n(TeamWorkspaceLayout);