diff --git a/apps/web/src/routes/group-detail.tsx b/apps/web/src/routes/group-detail.tsx index b4cba1e..1c062ae 100644 --- a/apps/web/src/routes/group-detail.tsx +++ b/apps/web/src/routes/group-detail.tsx @@ -149,6 +149,29 @@ export function GroupDetailView() { } }; + const handleCopyMessage = async () => { + if (!whatsappMessage) return; + try { + await navigator.clipboard.writeText(whatsappMessage); + toast.success('¡Mensaje copiado al portapapeles!'); + } catch { + toast.error('No se pudo copiar automáticamente. Copia el texto manualmente.'); + } + }; + + const handleOpenWhatsApp = async () => { + if (!whatsappShareUrl) return; + try { + if (whatsappMessage) { + await navigator.clipboard.writeText(whatsappMessage); + toast.success('¡Abriendo WhatsApp! Mensaje copiado al portapapeles.'); + } + } catch { + // Ignorar si clipboard falla + } + window.open(whatsappShareUrl, '_blank', 'noopener,noreferrer'); + }; + const handleQuickSubmit = (e: React.FormEvent) => { e.preventDefault(); if (!firstName.trim() || !phone.trim()) { @@ -249,10 +272,13 @@ export function GroupDetailView() { const validRowsCount = parsedContacts.filter((c) => c.isValid).length; const invalidRowsCount = parsedContacts.length - validRowsCount; - const whatsappShareUrl = group && inviteTokenQuery.data?.inviteUrl - ? `https://wa.me/?text=${encodeURIComponent( - `¡Hola! Te invito a unirte a nuestro grupo "${group.name}". Completa tus datos de inscripción en el siguiente enlace: ${inviteTokenQuery.data.inviteUrl}`, - )}` + const whatsappMessage = + group && inviteTokenQuery.data?.inviteUrl + ? `¡Hola! 👋 Te invito a unirte al grupo *${group.name}*.\n\nCompleta tus datos de inscripción en el siguiente enlace:\n${inviteTokenQuery.data.inviteUrl}` + : ''; + + const whatsappShareUrl = whatsappMessage + ? `https://wa.me/?text=${encodeURIComponent(whatsappMessage)}` : ''; if (groupQuery.isPending) { @@ -498,28 +524,42 @@ export function GroupDetailView() { -
Vista previa del mensaje para WhatsApp:
-- “¡Hola! Te invito a unirte a nuestro grupo {group.name}. Completa tus datos de inscripción en el siguiente enlace: {inviteTokenQuery.data?.inviteUrl}” -
+Vista previa del mensaje para WhatsApp:
+ ++ 💡 Al hacer clic en Abrir en WhatsApp, el mensaje completo se copia automáticamente al portapapeles. Si WhatsApp Web solo carga el enlace, puedes pegarlo directamente con Ctrl+V o Cmd+V. +
> )}