From cd70e654259698c6bd616b22e598e09d8f195708 Mon Sep 17 00:00:00 2001 From: Padreug Date: Tue, 8 Sep 2026 16:19:08 +0200 Subject: [PATCH] feat(events): warn buyers to check their spam folder for the ticket email A tester's ticket landed in spam. A mail-tester run of the demo mailer scored 8.3/10 with authentication fully green, so the sender setup is not at fault and the mailer is being hardened separately (aiolabs/events fix/ticket-email-headers). Until sender reputation builds, tell buyers where to look: a red hint under the email field. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01EYwoAkZZmXMMmaBp4WGUBo --- src/i18n/locales/en.ts | 1 + src/i18n/locales/es.ts | 1 + src/i18n/locales/fr.ts | 1 + src/i18n/types.ts | 1 + src/modules/events/components/PurchaseTicketDialog.vue | 1 + 5 files changed, 5 insertions(+) diff --git a/src/i18n/locales/en.ts b/src/i18n/locales/en.ts index 19becc3..f3475df 100644 --- a/src/i18n/locales/en.ts +++ b/src/i18n/locales/en.ts @@ -144,6 +144,7 @@ const messages: LocaleMessages = { nameRequired: 'Name is required', email: 'Email', emailHint: 'Your ticket will be sent to this address.', + spamHint: 'If it has not arrived a few minutes after paying, check your spam folder.', emailInvalid: 'Enter a valid email address', confirmEmail: 'Confirm email', emailMismatch: 'Email addresses do not match', diff --git a/src/i18n/locales/es.ts b/src/i18n/locales/es.ts index 7bb588b..1e080fe 100644 --- a/src/i18n/locales/es.ts +++ b/src/i18n/locales/es.ts @@ -144,6 +144,7 @@ const messages: LocaleMessages = { nameRequired: 'El nombre es obligatorio', email: 'Correo electrónico', emailHint: 'Tu boleto se enviará a esta dirección.', + spamHint: 'Si no llega unos minutos después de pagar, revisa tu carpeta de spam.', emailInvalid: 'Introduce un correo electrónico válido', confirmEmail: 'Confirmar correo', emailMismatch: 'Los correos no coinciden', diff --git a/src/i18n/locales/fr.ts b/src/i18n/locales/fr.ts index 28dd564..7c16e79 100644 --- a/src/i18n/locales/fr.ts +++ b/src/i18n/locales/fr.ts @@ -144,6 +144,7 @@ const messages: LocaleMessages = { nameRequired: 'Le nom est obligatoire', email: 'E-mail', emailHint: 'Votre billet sera envoyé à cette adresse.', + spamHint: 'S’il n’est pas arrivé quelques minutes après le paiement, vérifiez votre dossier spam.', emailInvalid: 'Saisissez une adresse e-mail valide', confirmEmail: "Confirmer l'e-mail", emailMismatch: 'Les adresses e-mail ne correspondent pas', diff --git a/src/i18n/types.ts b/src/i18n/types.ts index 1dbb181..c41389f 100644 --- a/src/i18n/types.ts +++ b/src/i18n/types.ts @@ -119,6 +119,7 @@ export interface LocaleMessages { nameRequired: string email: string emailHint: string + spamHint: string emailInvalid: string confirmEmail: string emailMismatch: string diff --git a/src/modules/events/components/PurchaseTicketDialog.vue b/src/modules/events/components/PurchaseTicketDialog.vue index cff41e3..b3e6209 100644 --- a/src/modules/events/components/PurchaseTicketDialog.vue +++ b/src/modules/events/components/PurchaseTicketDialog.vue @@ -430,6 +430,7 @@ onUnmounted(() => { {{ t('events.purchase.contact.emailHint') }} +

{{ t('events.purchase.contact.spamHint') }}