fix: Correctly show recipient count during creation and edit

This commit is contained in:
Dries Augustyns
2025-12-09 11:08:53 +01:00
parent 85b9d7afe7
commit d0191be31d
2 changed files with 24 additions and 13 deletions
+3 -13
View File
@@ -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) {
+21
View File
@@ -279,6 +279,20 @@ export default function CreateCampaignPage() {
</div>
</div>
)}
{audienceType === CampaignAudienceType.ALL && (
<div className="bg-blue-50 border border-blue-200 rounded-lg p-4 flex items-start gap-3">
<Users className="h-5 w-5 text-blue-600 mt-0.5" />
<div>
<p className="text-sm font-medium text-blue-900">
All subscribed contacts
</p>
<p className="text-xs text-blue-700 mt-1">
This campaign will be sent to all contacts who haven't unsubscribed
</p>
</div>
</div>
)}
</CardContent>
</Card>
</div>
@@ -335,6 +349,13 @@ export default function CreateCampaignPage() {
<span className="font-medium">{estimatedRecipients.toLocaleString()}</span>
</div>
)}
{audienceType === CampaignAudienceType.ALL && (
<div className="flex justify-between py-2">
<span className="text-neutral-500">Recipients</span>
<span className="font-medium">All subscribed</span>
</div>
)}
</div>
{/* Info Note */}