fix: prevent duplicate filters, support Direct referrer, pass filters to Campaigns

- Deduplicate filters so clicking the same item twice doesn't stack identical pills
- Normalize "Direct" referrer to empty string so direct traffic filtering works
- Pass active filters through to Campaigns component so it respects dashboard filters
This commit is contained in:
Usman Baig
2026-03-06 22:40:57 +01:00
parent ec96fa8a0d
commit 0809c37067
4 changed files with 36 additions and 8 deletions

View File

@@ -55,6 +55,8 @@ export function parseFiltersFromURL(raw: string): DimensionFilter[] {
export function filterLabel(f: DimensionFilter): string {
const dim = DIMENSION_LABELS[f.dimension] || f.dimension
const op = OPERATOR_LABELS[f.operator] || f.operator
const val = f.values.length > 1 ? `${f.values[0]} +${f.values.length - 1}` : f.values[0]
const rawVal = f.values.length > 1 ? `${f.values[0]} +${f.values.length - 1}` : f.values[0]
// Show "Direct" for empty referrer values (direct traffic has no referrer in DB)
const val = f.dimension === 'referrer' && rawVal === '' ? 'Direct' : rawVal
return `${dim} ${op} ${val}`
}