api: improve ref parser
This commit is contained in:
@@ -243,8 +243,8 @@ export async function postEvent(
|
|||||||
duration: 0,
|
duration: 0,
|
||||||
path: path,
|
path: path,
|
||||||
referrer: referrer?.url,
|
referrer: referrer?.url,
|
||||||
referrerName: referrer?.name ?? utmReferrer?.name ?? '',
|
referrerName: referrer?.name || utmReferrer?.name || '',
|
||||||
referrerType: referrer?.type ?? utmReferrer?.type ?? '',
|
referrerType: referrer?.type || utmReferrer?.type || '',
|
||||||
profile: undefined,
|
profile: undefined,
|
||||||
meta: undefined,
|
meta: undefined,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -34,17 +34,25 @@ export function getReferrerWithQuery(
|
|||||||
|
|
||||||
const source = query.utm_source ?? query.ref ?? query.utm_referrer ?? '';
|
const source = query.utm_source ?? query.ref ?? query.utm_referrer ?? '';
|
||||||
|
|
||||||
const match = Object.values(referrers).find(
|
if (source === '') {
|
||||||
(referrer) => referrer.name.toLowerCase() === source?.toLowerCase()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (!match) {
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const match = Object.values(referrers).find(
|
||||||
|
(referrer) => referrer.name.toLowerCase() === source.toLowerCase()
|
||||||
|
);
|
||||||
|
|
||||||
|
if (match) {
|
||||||
|
return {
|
||||||
|
name: match.name,
|
||||||
|
type: match.type,
|
||||||
|
url: '',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
name: match.name,
|
name: source,
|
||||||
type: match.type,
|
type: 'unknown',
|
||||||
url: '',
|
url: '',
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user