From 8b0ba77b631efe1d8f991174717b0b09b6049957 Mon Sep 17 00:00:00 2001 From: syoul Date: Sun, 23 Nov 2025 11:07:06 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20d'une=20alerte=20de=20confirmation=20ap?= =?UTF-8?q?r=C3=A8s=20copie=20du=20lien?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Alerte explicite avec le lien copié - Feedback clair pour l'utilisateur - Meilleur fallback pour anciens navigateurs - Durée du feedback augmentée à 3 secondes --- components/admin/ClientForm.tsx | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/components/admin/ClientForm.tsx b/components/admin/ClientForm.tsx index 0a87310..88109ce 100644 --- a/components/admin/ClientForm.tsx +++ b/components/admin/ClientForm.tsx @@ -71,23 +71,33 @@ export default function ClientForm({ client, onSuccess, onCancel }: ClientFormPr }; const handleCopyLink = async () => { + const url = getClientUrl(); try { - await navigator.clipboard.writeText(getClientUrl()); + await navigator.clipboard.writeText(url); setCopied(true); - setTimeout(() => setCopied(false), 2000); + // Alerte pour confirmer + alert(`✅ Lien copié !\n\n${url}\n\nVous pouvez maintenant le coller (Ctrl+V) pour le partager avec votre client.`); + setTimeout(() => setCopied(false), 3000); } catch (err) { console.error("Erreur lors de la copie:", err); // Fallback pour les navigateurs plus anciens const textArea = document.createElement("textarea"); - textArea.value = getClientUrl(); + textArea.value = url; + textArea.style.position = "fixed"; + textArea.style.left = "-999999px"; document.body.appendChild(textArea); textArea.select(); try { - document.execCommand("copy"); - setCopied(true); - setTimeout(() => setCopied(false), 2000); + const successful = document.execCommand("copy"); + if (successful) { + setCopied(true); + alert(`✅ Lien copié !\n\n${url}\n\nVous pouvez maintenant le coller (Ctrl+V) pour le partager avec votre client.`); + setTimeout(() => setCopied(false), 3000); + } else { + alert(`❌ Copie automatique non supportée.\n\nVeuillez copier manuellement le lien:\n\n${url}`); + } } catch (e) { - alert("Impossible de copier. Veuillez copier manuellement le lien."); + alert(`❌ Copie automatique non supportée.\n\nVeuillez copier manuellement le lien:\n\n${url}`); } document.body.removeChild(textArea); }