diff --git a/apps/ops/src/api/events.js b/apps/ops/src/api/events.js index 01a541e..a77354f 100644 --- a/apps/ops/src/api/events.js +++ b/apps/ops/src/api/events.js @@ -27,6 +27,13 @@ export async function deleteRsvp (eventId, key) { return hubFetch(`/events/${enc export async function sendInvite (eventId, body) { return hubFetch(`/events/${encodeURIComponent(eventId)}/send`, { method: 'POST', body }) } export async function previewAudience (eventId, body) { return hubFetch(`/events/${encodeURIComponent(eventId)}/audience`, { method: 'POST', body }) } +// Aperçu HTML de l'invitation (gabarit festif OU template éditable). template: undefined=modèle configuré, ''=festif, ''=ce template. +export async function getInvitePreview (eventId, { lang = 'fr', template } = {}) { + const qs = new URLSearchParams({ lang }) + if (template !== undefined) qs.set('template', template) + return hubFetch(`/events/${encodeURIComponent(eventId)}/invite-preview?${qs.toString()}`) +} + // Recherche FLOUE de clients (pg_trgm, typo/accent-tolérante) — réutilise l'endpoint app-wide. export async function searchCustomersFuzzy (q) { return hubFetch(`/collab/customer-search?q=${encodeURIComponent(q)}`) } diff --git a/apps/ops/src/pages/EventsPage.vue b/apps/ops/src/pages/EventsPage.vue index 2153c10..d6fe254 100644 --- a/apps/ops/src/pages/EventsPage.vue +++ b/apps/ops/src/pages/EventsPage.vue @@ -180,6 +180,22 @@ + + +
Modèle du courriel d'invitation
+ +
+ +
Aperçu et conception disponibles après la création.
+
+