Ajout d'une alerte de confirmation après copie du lien

- Alerte explicite avec le lien copié
- Feedback clair pour l'utilisateur
- Meilleur fallback pour anciens navigateurs
- Durée du feedback augmentée à 3 secondes
This commit is contained in:
2025-11-23 11:07:06 +01:00
parent 83c209117e
commit 8b0ba77b63

View File

@ -71,23 +71,33 @@ export default function ClientForm({ client, onSuccess, onCancel }: ClientFormPr
}; };
const handleCopyLink = async () => { const handleCopyLink = async () => {
const url = getClientUrl();
try { try {
await navigator.clipboard.writeText(getClientUrl()); await navigator.clipboard.writeText(url);
setCopied(true); 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) { } catch (err) {
console.error("Erreur lors de la copie:", err); console.error("Erreur lors de la copie:", err);
// Fallback pour les navigateurs plus anciens // Fallback pour les navigateurs plus anciens
const textArea = document.createElement("textarea"); const textArea = document.createElement("textarea");
textArea.value = getClientUrl(); textArea.value = url;
textArea.style.position = "fixed";
textArea.style.left = "-999999px";
document.body.appendChild(textArea); document.body.appendChild(textArea);
textArea.select(); textArea.select();
try { try {
document.execCommand("copy"); const successful = document.execCommand("copy");
setCopied(true); if (successful) {
setTimeout(() => setCopied(false), 2000); 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) { } 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); document.body.removeChild(textArea);
} }