import React from 'react'; import { useNavigate } from 'react-router-dom'; import { Button, type ButtonProps } from '@/components/ui/Button'; import { cn } from '@/utils/utils'; export interface BackButtonProps extends Omit { /** Route explicite (ex: "/support"). Si omis, fait un retour arrière dans l'historique (-1) */ to?: string; /** Texte par défaut du bouton */ label?: string; /** Fonction personnalisée au clic */ onClick?: (e: React.MouseEvent) => void; } export const BackButton: React.FC = ({ to, label = "Retour", onClick, variant = "ghost", // Style par défaut : ultra discret sur la surface Neumorphic size = "sm", children, className, ...props }) => { const navigate = useNavigate(); // Logique du clic (priorité : onClick perso > destination 'to' > retour historique) const handleClick = (e: React.MouseEvent) => { if (onClick) { onClick(e); } else if (to) { navigate(to); } else { navigate(-1); } }; return ( ); }; export default BackButton;