import type { ReactNode } from "react";

import { cn } from "@/lib/ui/variants";

export type PageWidth = "prose" | "default" | "wide";

const widths: Record<PageWidth, string> = {
  prose: "max-w-3xl",
  default: "max-w-5xl",
  wide: "max-w-7xl",
};

interface PageContainerProps {
  children: ReactNode;
  width?: PageWidth;
  className?: string;
}

// 统一页容器：居中 + 一致的最大宽度与内边距节奏（替换各页手写的 mx-auto max-w-* px-6 py-10）。
export function PageContainer({
  children,
  width = "default",
  className,
}: PageContainerProps) {
  return (
    <div className={cn("mx-auto px-6 py-10 sm:px-8", widths[width], className)}>
      {children}
    </div>
  );
}
