gigafibre-fsm/services
louispaulb 608a525038 Events: segment checkboxes for the reminder ("not opened"/"opened"/"clicked")
The reminder previously always targeted everyone not yet registered as one
fixed group. Staff can now pick which engagement segments to include:

- reminderCandidates()/reminderSend() (events.js) accept an optional
  `segments` filter (subset of sent/opened/clicked, matching the original
  invitation's per-recipient status). `breakdown` always reports the FULL
  unfiltered counts so the UI can show each checkbox's true count
  regardless of what's checked; `candidates`/`count` reflect the filter —
  what actually gets sent.
- New routes accept it: GET reminder-preview?segments=a,b and POST
  reminder-send {segments:[...]}.
- EventsPage.vue Rappel tab: the flat breakdown chips became checkboxes
  (all checked by default = prior behavior), with a live target count and
  a client-side-filtered recipient preview.
- CampaignDetailPage.vue: new "Relancer les non-inscrits" button for any
  event-type send — same checkbox/count/confirm flow in a compact dialog,
  without leaving the campaign page. Targets that campaign directly (no
  source picker needed, unlike the Events-page flow which can target any
  past send for the event).

Verified live: segment-filtered preview against the real production
campaign (2,295 total non-registered -> 708 when limited to opened+clicked,
correctly excluding the 1,587 who never opened).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 12:18:56 -04:00
..
cogeco-checker fix(cogeco-checker): disable browser cache to rule it out as 401 cause 2026-06-01 21:47:19 -04:00
docuseal refactor: major cleanup — remove dead dispatch app, commit all backend code, extract client composables 2026-04-08 17:38:38 -04:00
email-editor feat(email-editor): persist easy-email JSON state for instant restore on reload 2026-05-22 06:04:48 -04:00
legacy-bridge feat(ops): wireless on the same status cards + DHCP leases (F parity) 2026-07-21 15:17:34 -04:00
legacy-db refactor: major cleanup — remove dead dispatch app, commit all backend code, extract client composables 2026-04-08 17:38:38 -04:00
modem-bridge feat: flow editor, Gemini QR scanner with offline queue, dispatch planning v2 2026-04-22 10:44:17 -04:00
osrm feat(dispatch): OSRM road-time matrix for the VRP optimizer (Phase 2) 2026-07-02 13:48:43 -04:00
roster-solver hub+solveur : compétences multi par job + réservation + matérialisation quarts + app terrain natif 2026-07-07 20:46:42 -04:00
targo-hub Events: segment checkboxes for the reminder ("not opened"/"opened"/"clicked") 2026-07-24 12:18:56 -04:00