import type { ReactNode } from 'react';

import { AppBreadcrumbs } from '@kit/ui/app-breadcrumbs';
import { PageBody } from '@kit/ui/page';

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 !== undefined ? description : <AppBreadcrumbs />}
      />

      <PageBody>{children}</PageBody>
    </>
  );
}
