From d9e2bedc1bb8ce87e4953044f654732587c96b54 Mon Sep 17 00:00:00 2001 From: saridsa2 Date: Tue, 31 Mar 2026 11:58:01 +0530 Subject: [PATCH] =?UTF-8?q?feat:=20CSV=20lead=20import=20=E2=80=94=20compl?= =?UTF-8?q?ete=20wizard=20with=20campaign=20selection,=20mapping,=20and=20?= =?UTF-8?q?patient=20matching?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- src/pages/campaigns.tsx | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/pages/campaigns.tsx b/src/pages/campaigns.tsx index d243c2c..562d0a6 100644 --- a/src/pages/campaigns.tsx +++ b/src/pages/campaigns.tsx @@ -1,12 +1,12 @@ import { useMemo, useState } from 'react'; import { Link } from 'react-router'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { faPenToSquare } from '@fortawesome/pro-duotone-svg-icons'; +import { faPenToSquare, faFileImport } from '@fortawesome/pro-duotone-svg-icons'; -import { TopBar } from '@/components/layout/top-bar'; import { Tabs, TabList, Tab, TabPanel } from '@/components/application/tabs/tabs'; import { CampaignCard } from '@/components/campaigns/campaign-card'; import { CampaignEditSlideout } from '@/components/campaigns/campaign-edit-slideout'; +import { LeadImportWizard } from '@/components/campaigns/lead-import-wizard'; import { Button } from '@/components/base/buttons/button'; import { useCampaigns } from '@/hooks/use-campaigns'; import { useLeads } from '@/hooks/use-leads'; @@ -31,6 +31,7 @@ const tabs: TabConfig[] = [ export const CampaignsPage = () => { const [activeTab, setActiveTab] = useState('all'); const [editCampaign, setEditCampaign] = useState(null); + const [importOpen, setImportOpen] = useState(false); const { refresh } = useData(); const selectedTab = tabs.find((t) => t.id === activeTab) ?? tabs[0]; @@ -86,7 +87,22 @@ export const CampaignsPage = () => { return (
- +
+
+

Campaigns

+

{subtitle}

+
+ +
setActiveTab(String(key))}> { onSaved={refresh} /> )} + +
); };