34 lines
835 B
TypeScript
34 lines
835 B
TypeScript
import type { ReactNode } from 'react';
|
|
|
|
import { PageBody } from '@kit/ui/page';
|
|
import { AppBreadcrumbs } from '@kit/ui/app-breadcrumbs';
|
|
|
|
import { TeamAccountLayoutPageHeader } from '~/home/[account]/_components/team-account-layout-page-header';
|
|
|
|
interface CmsPageShellProps {
|
|
account: string;
|
|
title: string;
|
|
description?: string;
|
|
children: ReactNode;
|
|
}
|
|
|
|
/**
|
|
* Shared CMS page shell — wraps PageBody + header + breadcrumbs.
|
|
* Use in every CMS feature page to maintain consistent layout.
|
|
*/
|
|
export function CmsPageShell({ account, title, description, children }: CmsPageShellProps) {
|
|
return (
|
|
<>
|
|
<TeamAccountLayoutPageHeader
|
|
account={account}
|
|
title={title}
|
|
description={description ?? <AppBreadcrumbs />}
|
|
/>
|
|
|
|
<PageBody>
|
|
{children}
|
|
</PageBody>
|
|
</>
|
|
);
|
|
}
|