import { cn } from "../lib/utils"; // --------------------------------------------------------------------------- // Settings page scaffold // // Every top-level settings view (Integrations, Policies, API keys, Providers, // Organization, Billing) shares one column width, gutter, and heading scale so // the content edge and title don't shift as you move between tabs. Use these // instead of hand-rolling the `mx-auto max-w-* px-* py-*` wrapper per page. // --------------------------------------------------------------------------- function PageContainer({ className, children, ...props }: React.ComponentProps<"div">) { return (
{children}
); } function PageHeader({ title, description, actions, className, children, ...props }: Omit, "title"> & { title: React.ReactNode; description?: React.ReactNode; /** Optional trailing controls (buttons) aligned to the heading baseline. */ actions?: React.ReactNode; }) { return (

{title}

{description && (

{description}

)} {children}
{actions &&
{actions}
}
); } export { PageContainer, PageHeader };