diff --git a/apps/ops/src/api/campaigns.js b/apps/ops/src/api/campaigns.js index cc53535..eda10c3 100644 --- a/apps/ops/src/api/campaigns.js +++ b/apps/ops/src/api/campaigns.js @@ -104,6 +104,17 @@ export function retryRecipient (campaignId, rowIndex) { ) } +// Create a brand-new draft campaign targeted at the parent's non-clicked +// recipients. Uses gift-email-reminder-* templates + an urgency subject. +// The new campaign is returned but NOT auto-sent — the operator reviews +// and clicks Lancer l'envoi when ready. +export function createReminderCampaign (parentCampaignId) { + return hubFetch( + `/campaigns/${encodeURIComponent(parentCampaignId)}/reminder`, + { method: 'POST' }, + ) +} + // Build the URL the browser hits to download the per-recipient CSV report // (giftbit shortlink ↔ email ↔ name ↔ status). The hub serves it with the // proper Content-Disposition so an click triggers a save. diff --git a/apps/ops/src/modules/campaigns/pages/CampaignDetailPage.vue b/apps/ops/src/modules/campaigns/pages/CampaignDetailPage.vue index 4140213..79e236c 100644 --- a/apps/ops/src/modules/campaigns/pages/CampaignDetailPage.vue +++ b/apps/ops/src/modules/campaigns/pages/CampaignDetailPage.vue @@ -12,6 +12,11 @@ > Télécharger le rapport (shortlinks Giftbit, emails, statuts d'envoi) + + Cloner cette campagne pour les destinataires qui n'ont PAS cliqué le cadeau encore + @@ -125,16 +130,18 @@