diff --git a/client/src/pages/TripInvitation.tsx b/client/src/pages/TripInvitation.tsx index 91eb18a..0b99b5e 100644 --- a/client/src/pages/TripInvitation.tsx +++ b/client/src/pages/TripInvitation.tsx @@ -35,7 +35,7 @@ function TripInvitation({ email: "", message: "", }); - + const [copyLink, setCopyLink] = useState(false); const [loading, setLoading] = useState(false); const formatDate = (dateString: string) => { @@ -62,6 +62,7 @@ function TripInvitation({ const cancelInvitation = (e: React.MouseEvent) => { setInvitationForm({ email: "", message: "" }); + setCopyLink(false); if (onClose) onClose(e); }; @@ -74,7 +75,7 @@ function TripInvitation({ const copyToClipboard = async (text: string) => { try { await navigator.clipboard.writeText(text); - toast.success("Lien d’invitation copié 📋"); + toast.success("Lien d'invitation copié"); } catch { toast.error("Impossible de copier le lien"); } @@ -100,8 +101,14 @@ function TripInvitation({ throw new Error(data.error || "Erreur lors de l'envoi"); } - await copyToClipboard(data.invitationLink); + if (copyLink) { + await copyToClipboard(data.invitationLink); + } + + toast.success("Email envoyé avec succès"); + setInvitationForm({ email: "", message: "" }); + setCopyLink(false); } catch { toast.error("Erreur lors de l'envoi de l'invitation"); } finally { @@ -109,6 +116,7 @@ function TripInvitation({ } }; + return (
-
@@ -162,6 +169,7 @@ function TripInvitation({ onChange={updateInvitationForm} required placeholder="adresse@email.com" + disabled={loading} /> @@ -172,15 +180,28 @@ function TripInvitation({ value={invitationForm.message} onChange={updateInvitationForm} placeholder="Ajoutez un message personnalisé..." + disabled={loading} /> + +