feat(leads): allow_tracking gate + icon bug fix + docs update

- QR scanner: after badge loads, blocks add with 'Tracking Opt-Out' warning
  card if allow_tracking !== true; replaced deprecated CheckCircle → CircleCheck
- Manual search: shows ShieldOff 'Opt-Out' label per row for blocked badges;
  add_as_lead() also guards against programmatic bypass
- Fix: ae_comp__exhibit_tracking_obj_li — Loader2 from wrong package
  @lucide/svelte → LoaderCircle from lucide-svelte
- ae_types.ts: added allow_tracking and agree_to_tc to ae_EventBadge interface
- README.md (leads): full rewrite reflecting actual current state and known gaps
- TODO__Agents.md: updated Leads entry from stale 'NEXT MAJOR FEATURE' to
  accurate in-progress status with remaining checklist

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Scott Idem
2026-03-16 15:59:26 -04:00
parent b8104b3ff2
commit be24cfdeb5
6 changed files with 203 additions and 79 deletions

View File

@@ -502,6 +502,10 @@ export interface ae_EventBadge extends ae_BaseObj {
print_first_datetime?: string | Date | null;
print_last_datetime?: string | Date | null;
// Exhibitor lead capture opt-in. Must be true to allow adding as a lead.
allow_tracking?: boolean | null;
agree_to_tc?: boolean | null;
ticket_list?: any[] | null;
data_json?: any;
default_qry_str?: string | null;