38 lines
1.0 KiB
React
38 lines
1.0 KiB
React
import Modal from './Modal.jsx';
|
|
|
|
/**
|
|
* Modale de confirmation générique.
|
|
* Props :
|
|
* open — booléen
|
|
* title — titre de la modale (défaut : "Confirmer la suppression")
|
|
* message — texte explicatif
|
|
* confirmLabel — libellé du bouton de confirmation (défaut : "Supprimer")
|
|
* onConfirm — callback appelé au clic "Confirmer"
|
|
* onCancel — callback appelé au clic "Annuler" ou ✕
|
|
*/
|
|
export default function ConfirmModal({
|
|
open,
|
|
title = 'Confirmer la suppression',
|
|
message,
|
|
confirmLabel = 'Supprimer',
|
|
onConfirm,
|
|
onCancel,
|
|
}) {
|
|
return (
|
|
<Modal
|
|
open={open}
|
|
title={title}
|
|
onClose={onCancel}
|
|
width={440}
|
|
footer={
|
|
<>
|
|
<button className="ghost" type="button" onClick={onCancel}>Annuler</button>
|
|
<button className="danger" type="button" onClick={onConfirm}>{confirmLabel}</button>
|
|
</>
|
|
}
|
|
>
|
|
<p style={{ margin: '8px 0 4px', color: 'var(--text)', lineHeight: 1.5 }}>{message}</p>
|
|
</Modal>
|
|
);
|
|
}
|