diff --git a/apps/web/src/pages/campaigns/[id].tsx b/apps/web/src/pages/campaigns/[id].tsx index 1e7b997..146ee1c 100644 --- a/apps/web/src/pages/campaigns/[id].tsx +++ b/apps/web/src/pages/campaigns/[id].tsx @@ -326,19 +326,9 @@ export default function CampaignDetailsPage() { const c = campaign.data; const s = stats?.data; - // Get recipient count for draft campaigns - const getDraftRecipientCount = () => { - if (!campaign?.data) return 0; - const c = campaign.data; - - if (c.audienceType === CampaignAudienceType.SEGMENT && c.segmentId && segments) { - const segment = segments.find(s => s.id === c.segmentId); - return segment?.memberCount || 0; - } - return 0; // We'd need total contact count for ALL audience type - }; - - const draftRecipientCount = isEditMode ? getDraftRecipientCount() : 0; + // Get recipient count for draft campaigns from the campaign's totalRecipients field + // The backend calculates this for all audience types when the campaign is created/updated + const draftRecipientCount = isEditMode && campaign?.data ? campaign.data.totalRecipients : 0; // Render edit form for drafts if (isEditMode) { diff --git a/apps/web/src/pages/campaigns/create.tsx b/apps/web/src/pages/campaigns/create.tsx index 890f060..35554d2 100644 --- a/apps/web/src/pages/campaigns/create.tsx +++ b/apps/web/src/pages/campaigns/create.tsx @@ -279,6 +279,20 @@ export default function CreateCampaignPage() { )} + + {audienceType === CampaignAudienceType.ALL && ( +
+ All subscribed contacts +
++ This campaign will be sent to all contacts who haven't unsubscribed +
+