Fixed query-based affiliate URL getting skipped.

This commit is contained in:
2026-01-31 00:39:33 +01:00
parent 490be8800a
commit b9afa61e01

View File

@@ -42,6 +42,15 @@ export function getAffiliateSceneUrl(scene) {
});
}
if (scene.affiliate.parameters.query) { // used by e.g. Bang
const newParams = new URLSearchParams({
...Object.fromEntries(new URL(watchUrl).searchParams),
...Object.fromEntries(new URLSearchParams(scene.affiliate.parameters.query)),
});
return `${watchUrl}?${newParams.toString()}`;
}
const affiliateUrl = scene.affiliate.parameters.replaceScene?.hostname === new URL(watchUrl).hostname
? scene.affiliate.parameters.replaceScene.url
: scene.affiliate.url;
@@ -69,15 +78,6 @@ export function getAffiliateSceneUrl(scene) {
return affiliateUrlComponents.href;
}
if (scene.affiliate.parameters.query) { // used by e.g. Bang
const newParams = new URLSearchParams({
...Object.fromEntries(new URL(watchUrl).searchParams),
...Object.fromEntries(new URLSearchParams(scene.affiliate.parameters.query)),
});
return `${watchUrl}?${newParams.toString()}`;
}
return watchUrl;
}
@@ -100,8 +100,17 @@ export function getAffiliateEntityUrl(entity) {
return entityUrl;
}
if (entity.affiliate.parameters?.query) { // used by e.g. Bang
const newParams = new URLSearchParams({
...Object.fromEntries(new URL(entityUrl).searchParams),
...Object.fromEntries(new URLSearchParams(entity.affiliate.parameters.query)),
});
return `${entityUrl}?${newParams.toString()}`;
}
const affiliateUrl = entity.affiliate.parameters.replaceEntity?.hostname === new URL(entityUrl).hostname
? entity.affiliate.parameters.replaceentityUrl
? entity.affiliate.parameters.replaceEntity.url
: entity.affiliate.url;
if (entity.id === entity.affiliate.entityId || entityUrl === entity.parent?.url) {
@@ -134,14 +143,5 @@ export function getAffiliateEntityUrl(entity) {
return `${affiliateUrl}${pathname.replace(/^\/trial/, '')}${search}`; // replace needed for Jules Jordan, verify behavior on other sites
}
if (entity.affiliate.parameters.query) { // used by e.g. Bang
const newParams = new URLSearchParams({
...Object.fromEntries(new URL(entityUrl).searchParams),
...Object.fromEntries(new URLSearchParams(entity.affiliate.parameters.query)),
});
return `${entityUrl}?${newParams.toString()}`;
}
return entityUrl;
}