From b9afa61e0140839e2c6d60015a0578391f95c312 Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Sat, 31 Jan 2026 00:39:33 +0100 Subject: [PATCH] Fixed query-based affiliate URL getting skipped. --- src/affiliates.js | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/affiliates.js b/src/affiliates.js index 8366950..51888e8 100644 --- a/src/affiliates.js +++ b/src/affiliates.js @@ -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; }