import { Button } from '@repo/shadcn-ui/components'; import { cn } from '@repo/shadcn-ui/lib/utils'; import { ChevronLeftIcon } from 'lucide-react'; // features/common/components/page-header.tsx import type { ReactNode } from "react"; import { CustomerInvoiceStatusBadge } from "./customer-invoice-status-badge"; interface PageHeaderProps { /** Icono que aparece a la izquierda del título */ icon?: ReactNode; /** Contenido del título (texto plano o nodo complejo) */ title: ReactNode; /** Descripción secundaria debajo del título */ description?: ReactNode; /** Estado opcional (ej. "draft", "paid") */ status?: string; /** Contenido del lado derecho (botones, menús, etc.) */ rightSlot?: ReactNode; className?: string; } export function PageHeader({ icon, title, description, status, rightSlot, className }: PageHeaderProps) { return (
{/* Lado izquierdo */}
{icon &&
{icon}
}

{title}

{status && }
{description &&

{description}

}
{/* Lado derecho parametrizable */} {rightSlot &&
{rightSlot}
}
); }