Complete Rybbit campaign aggregation

This commit is contained in:
2026-06-05 21:51:39 +02:00
parent f069b74b08
commit 3efbc06e40
6 changed files with 102 additions and 2 deletions

View File

@@ -101,6 +101,20 @@ export const getDashboard = query({
niches: [...new Set(leads.map((lead) => lead.niche).filter(Boolean))].sort(),
postalCodes: [...new Set(leads.map((lead) => lead.postalCode).filter(Boolean))].sort(),
},
auditSegments: filteredAudits.map((audit) => {
const lead = leads.find((row) => row._id === audit.leadId);
const campaign = lead?.campaignId
? campaigns.find((row) => row._id === lead.campaignId)
: null;
return {
path: `/audit/${audit.slug}`,
campaignId: lead?.campaignId ?? null,
campaignName: campaign?.name ?? "Ohne Kampagne",
niche: lead?.niche ?? "Nische offen",
region: campaign?.region ?? lead?.postalCode ?? "Region offen",
};
}),
metrics: {
foundLeads: filteredLeads.length,
leadsWithContact: filteredLeads.filter((lead) => Boolean(lead.email || lead.phone)).length,