import type { LucideIcon } from "lucide-react"; import type { ReactNode } from "react"; import { cn } from "@/lib/utils"; interface PageHeaderProps { title: ReactNode; description?: ReactNode; icon?: LucideIcon; /** Boutons d'action affichés à droite (empilés sous le titre sur mobile). */ actions?: ReactNode; className?: string; } /** En-tête standard de toutes les pages : icône, titre, description et actions. */ export function PageHeader({ title, description, icon: Icon, actions, className }: PageHeaderProps) { return (
{Icon && (
)}

{title}

{description &&

{description}

}
{actions &&
{actions}
}
); } interface SectionHeaderProps { title: ReactNode; description?: ReactNode; actions?: ReactNode; className?: string; } /** Titre de section à l'intérieur d'une page. */ export function SectionHeader({ title, description, actions, className }: SectionHeaderProps) { return (

{title}

{description &&

{description}

}
{actions}
); }