import type { ReactNode } from "react";

import { cn } from "@/lib/utils";

import { DashboardPageContent } from "./dashboard-page-content";

type CustomerPageShellProps = {
  children: ReactNode;
  className?: string;
  contentClassName?: string;
  /** When set, enables viewport-locked layout in the dashboard shell (no page scroll). */
  pageLayout?: "full" | "viewport";
};

export function CustomerPageShell({
  children,
  className,
  contentClassName,
  pageLayout,
}: CustomerPageShellProps) {
  return (
    <div
      className={cn("flex min-h-0 min-w-0 flex-1 flex-col", className)}
      data-content-padding="false"
      data-page-layout={pageLayout}
    >
      <DashboardPageContent className={contentClassName}>{children}</DashboardPageContent>
    </div>
  );
}
