Improved affiliate selection.

This commit is contained in:
2025-10-06 05:20:17 +02:00
parent 50280692e8
commit b355ef4bf5
4 changed files with 18 additions and 11 deletions

View File

@@ -168,16 +168,21 @@ const entityUrl = (() => {
return null;
}
if (!entity.affiliate?.parameters) {
return entity.url;
// affiliate might be inherited, only use full URL when directly associated
if (entity.affiliate?.url && entity.affiliate.entityId === entity.id) {
return entity.affiliate.url;
}
const newParams = new URLSearchParams({
...Object.fromEntries(new URL(entity.url).searchParams),
...Object.fromEntries(new URLSearchParams(entity.affiliate.parameters)),
});
if (entity.affiliate?.parameters) {
const newParams = new URLSearchParams({
...Object.fromEntries(new URL(entity.url).searchParams),
...Object.fromEntries(new URLSearchParams(entity.affiliate.parameters)),
});
return `${entity.url}?${newParams}`;
return `${entity.url}?${newParams}`;
}
return entity.url;
})();
</script>

View File

@@ -54,12 +54,12 @@ export async function onBeforeRender(pageContext) {
const campaigns = await getRandomCampaigns([
{
entityIds: [entity.id, entity.parent?.id].filter(Boolean),
minRatio: 1.5,
minRatio: 3,
allowRandomFallback: false,
},
{
entityIds: [entity.id, entity.parent?.id].filter(Boolean),
minRatio: 1.5,
minRatio: 3,
allowRandomFallback: false,
},
pageContext.routeParams.domain === 'scenes' ? {