The file "user-workspace.loader.ts" was renamed to "load-user-workspace.ts", in order to better reflect its purpose. All imports across different components and settings pages were updated accordingly. The changes ensure the application adheres to naming conventions, enhancing code readability and maintainability.
57 lines
1.5 KiB
TypeScript
57 lines
1.5 KiB
TypeScript
import { use } from 'react';
|
|
|
|
import { cookies } from 'next/headers';
|
|
|
|
import { If } from '@kit/ui/if';
|
|
import {
|
|
Page,
|
|
PageLayoutStyle,
|
|
PageMobileNavigation,
|
|
PageNavigation,
|
|
} from '@kit/ui/page';
|
|
|
|
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 workspace = use(loadUserWorkspace());
|
|
const style = getLayoutStyle();
|
|
|
|
return (
|
|
<Page style={style}>
|
|
<PageNavigation>
|
|
<If condition={style === 'header'}>
|
|
<HomeMenuNavigation workspace={workspace} />
|
|
</If>
|
|
|
|
<If condition={style === 'sidebar'}>
|
|
<HomeSidebar workspace={workspace} />
|
|
</If>
|
|
</PageNavigation>
|
|
|
|
<PageMobileNavigation className={'flex items-center justify-between'}>
|
|
<AppLogo />
|
|
<HomeMobileNavigation workspace={workspace} />
|
|
</PageMobileNavigation>
|
|
|
|
{children}
|
|
</Page>
|
|
);
|
|
}
|
|
|
|
export default withI18n(UserHomeLayout);
|
|
|
|
function getLayoutStyle() {
|
|
return (
|
|
(cookies().get('layout-style')?.value as PageLayoutStyle) ??
|
|
personalAccountNavigationConfig.style
|
|
);
|
|
}
|