import type { ReactNode } from "react"; import type { LucideIcon } from "lucide-react"; import { cn } from "@/lib/utils"; interface PageHeaderProps { title: ReactNode; /** Une phrase : à quoi sert la page, en langage courant. */ description?: ReactNode; icon?: LucideIcon; /** Boutons ou filtres alignés à droite du titre. */ actions?: ReactNode; className?: string; } /** * En-tête commun à toutes les pages : même taille de titre, même place pour * l'explication et pour les actions. Il y en avait sept variantes. */ export function PageHeader({ title, description, icon: Icon, actions, className }: PageHeaderProps) { return (
{Icon && (
)}

{title}

{description && (

{description}

)}
{actions &&
{actions}
}
); }