From 5b5df954c1a5bd538cfc818d88aa96a9965b1f7f Mon Sep 17 00:00:00 2001 From: louispaulb Date: Fri, 22 May 2026 11:49:30 -0400 Subject: [PATCH] fix(campaigns/wizard): always show parse summary, even on 0 drops MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous breakdown only rendered when at least one of the drop counters was > 0. When the Map CSV cleanly parses every row and the imbalance comes purely from the Giftbit CSV having more entries than the Map CSV, the operator was left with "13 surplus gifts" and no explanation. The summary now always shows "Map CSV: N raw rows → M contacts paired" and, when no rows were dropped, explicitly states that the imbalance must come from the Giftbit side (asks the operator to confirm the generated gift count matches the Map file). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.7 --- .../campaigns/pages/CampaignNewPage.vue | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/apps/ops/src/modules/campaigns/pages/CampaignNewPage.vue b/apps/ops/src/modules/campaigns/pages/CampaignNewPage.vue index e4238f9..5c75d12 100644 --- a/apps/ops/src/modules/campaigns/pages/CampaignNewPage.vue +++ b/apps/ops/src/modules/campaigns/pages/CampaignNewPage.vue @@ -220,17 +220,28 @@ il y a plus de cartes-cadeaux que de contacts. Le surplus sera perdu si la campagne est envoyée tel quel. - -
- Ventilation des contacts droppés au parsing du Map CSV - (sur {{ parseSkipped.total_rows }} lignes brutes) : - {{ parseSkipped.no_email }} sans email valide · - {{ parseSkipped.duplicate }} emails en double (déjà vu plus haut) · - {{ parseSkipped.multi_skip }} couples ignorés (selon le réglage "Emails multiples") · - {{ parseSkipped.no_name }} sans nom (gardés, utilisent "cher client" à l'envoi) + +
+ + Map CSV : {{ parseSkipped.total_rows }} ligne(s) brute(s) → + {{ recipients.length }} contact(s) pairé(s) avec un cadeau. + + Aucun contact n'a été droppé au parsing — l'imbalance vient probablement du fait + que le CSV Giftbit a {{ unusedGifts.length }} ligne(s) de plus que le CSV Map. + Vérifie que le nombre de cartes-cadeaux générées chez Giftbit correspond bien au + fichier Map utilisé. + + + Ventilation des droppés : + {{ parseSkipped.no_email }} sans email valide · + {{ parseSkipped.duplicate }} emails en double · + {{ parseSkipped.multi_skip }} couples ignorés (réglage "Emails multiples"). + + + ({{ parseSkipped.no_name }} ligne(s) sans nom ont été gardées et utiliseront "cher client" à l'envoi.) +