Fixed banner URL not resolving to affiliate definition.
This commit is contained in:
@@ -38,6 +38,8 @@ const props = defineProps({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// console.log(props.campaign);
|
||||||
|
|
||||||
const bannerSrc = (() => {
|
const bannerSrc = (() => {
|
||||||
if (props.campaign.banner) {
|
if (props.campaign.banner) {
|
||||||
if (props.campaign.banner.entity.type === 'network' || !props.campaign.banner.entity.parent) {
|
if (props.campaign.banner.entity.type === 'network' || !props.campaign.banner.entity.parent) {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { getAffiliateEntityUrl } from './affiliates.js';
|
|||||||
|
|
||||||
const logger = initLogger();
|
const logger = initLogger();
|
||||||
|
|
||||||
function getCampaignUrl(campaign) {
|
function getCampaignUrl(campaign, entity) {
|
||||||
if (!campaign) {
|
if (!campaign) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -17,8 +17,13 @@ function getCampaignUrl(campaign) {
|
|||||||
return campaign.url;
|
return campaign.url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (campaign.affiliate?.url) {
|
||||||
|
return campaign.affiliate.url;
|
||||||
|
}
|
||||||
|
|
||||||
if (campaign.entity) {
|
if (campaign.entity) {
|
||||||
return getAffiliateEntityUrl(campaign.entity, campaign.affiliate);
|
// resolve e.g. parameter tracking
|
||||||
|
return getAffiliateEntityUrl(entity, campaign.affiliate);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
@@ -29,9 +34,11 @@ function curateCampaign(campaign) {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const entity = campaign.entity && curateEntity({ ...campaign.entity, parent: campaign.parent_entity });
|
||||||
|
|
||||||
const curatedCampaign = {
|
const curatedCampaign = {
|
||||||
id: campaign.id,
|
id: campaign.id,
|
||||||
entity: campaign.entity && curateEntity({ ...campaign.entity, parent: campaign.parent_entity }),
|
entity,
|
||||||
banner: campaign.banner && {
|
banner: campaign.banner && {
|
||||||
id: campaign.banner.id,
|
id: campaign.banner.id,
|
||||||
type: campaign.banner.type,
|
type: campaign.banner.type,
|
||||||
@@ -48,7 +55,7 @@ function curateCampaign(campaign) {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
curatedCampaign.url = getCampaignUrl(curatedCampaign);
|
curatedCampaign.url = getCampaignUrl(campaign, entity);
|
||||||
|
|
||||||
return curatedCampaign;
|
return curatedCampaign;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user