From fdbce422138f1b1801db5b2d8116a61acb9fe82a Mon Sep 17 00:00:00 2001 From: saridsa2 Date: Tue, 31 Mar 2026 13:57:04 +0530 Subject: [PATCH] feat: split mapping dropdowns into separate row above preview table Mapping bar with styled dropdowns sits above the DynamicTable. Mapped columns show brand highlight, unmapped show gray. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../campaigns/lead-import-wizard.tsx | 49 ++++++++++++------- 1 file changed, 32 insertions(+), 17 deletions(-) diff --git a/src/components/campaigns/lead-import-wizard.tsx b/src/components/campaigns/lead-import-wizard.tsx index d53c2fa..08efaf1 100644 --- a/src/components/campaigns/lead-import-wizard.tsx +++ b/src/components/campaigns/lead-import-wizard.tsx @@ -283,27 +283,42 @@ export const LeadImportWizard = ({ isOpen, onOpenChange }: LeadImportWizardProps {noPhoneCount > 0 && {noPhoneCount} no phone} -
+ {/* Mapping row — separate from table */} +
+ {mapping.map(m => ( +
+ {m.csvHeader} + +
+ ))} +
+ Match +
Auto
+
+
+ + {/* Data table */} +
columns={[ ...mapping.map(m => ({ id: m.csvHeader, - label: m.csvHeader, - headerRenderer: () => ( -
- {m.csvHeader} - -
- ), + label: m.leadField ? LEAD_FIELDS.find(f => f.field === m.leadField)?.label ?? m.csvHeader : m.csvHeader, }) as DynamicColumn), { id: '__match__', label: 'Patient Match' }, ]}