import { use } from 'react'; import { cookies } from 'next/headers'; import { UserWorkspaceContextProvider } from '@kit/accounts/components'; import { Page, PageLayoutStyle, PageMobileNavigation, PageNavigation, } from '@kit/ui/page'; import { SidebarProvider } from '@kit/ui/shadcn-sidebar'; import { AppLogo } from '~/components/app-logo'; import { personalAccountNavigationConfig } from '~/config/personal-account-navigation.config'; import { withI18n } from '~/lib/i18n/with-i18n'; // home imports import { HomeMenuNavigation } from './_components/home-menu-navigation'; import { HomeMobileNavigation } from './_components/home-mobile-navigation'; import { HomeSidebar } from './_components/home-sidebar'; import { loadUserWorkspace } from './_lib/server/load-user-workspace'; function UserHomeLayout({ children }: React.PropsWithChildren) { const style = use(getLayoutStyle()); if (style === 'sidebar') { return {children}; } return {children}; } export default withI18n(UserHomeLayout); function SidebarLayout({ children }: React.PropsWithChildren) { const workspace = use(loadUserWorkspace()); const sidebarMinimized = personalAccountNavigationConfig.sidebarCollapsed; return ( {children} ); } function HeaderLayout({ children }: React.PropsWithChildren) { const workspace = use(loadUserWorkspace()); return ( {children} ); } function MobileNavigation({ workspace, }: { workspace: Awaited>; }) { return ( <> ); } async function getLayoutStyle() { const cookieStore = await cookies(); return ( (cookieStore.get('layout-style')?.value as PageLayoutStyle) ?? personalAccountNavigationConfig.style ); }