resolved related tweak #290
2 changed files with 51 additions and 35 deletions
17
dist/bundle.es.js
vendored
17
dist/bundle.es.js
vendored
|
@ -2406,21 +2406,27 @@ const makeSelectMyStreamUrlsForPage = (page = 1) => reselect.createSelector(sele
|
|||
|
||||
const selectMyStreamUrlsCount = reselect.createSelector(selectMyClaimUrisWithoutChannels, channels => channels.length);
|
||||
|
||||
const makeSelectResolvedRecommendedContentForUri = (uri, size) => reselect.createSelector(makeSelectClaimForUri(uri), selectResolvedSearchResultsByQuery, makeSelectClaimIsNsfw(uri), (claim, resolvedResultsByQuery, isMature) => {
|
||||
const makeSelectResolvedRecommendedContentForUri = (uri, size, claimId, claimName, claimTitle) => reselect.createSelector(makeSelectClaimForUri(uri), selectResolvedSearchResultsByQuery, makeSelectClaimIsNsfw(uri), (claim, resolvedResultsByQuery, isMature) => {
|
||||
const atVanityURI = !uri.includes('#');
|
||||
|
||||
let currentUri;
|
||||
let recommendedContent;
|
||||
let title;
|
||||
if (claim) {
|
||||
// always grab full URL - this can change once search returns canonical
|
||||
const currentUri = buildURI({ streamClaimId: claim.claim_id, streamName: claim.name });
|
||||
|
||||
const { title } = claim.value;
|
||||
currentUri = buildURI({ streamClaimId: claim.claim_id, streamName: claim.name });
|
||||
title = claim.value ? claim.value.title : null;
|
||||
} else {
|
||||
// for cases on mobile where the claim may not have been resolved ()
|
||||
currentUri = buildURI({ streamClaimId: claimId, streamName: claimName });
|
||||
title = claimTitle;
|
||||
}
|
||||
|
||||
if (!title) {
|
||||
return;
|
||||
}
|
||||
|
||||
const options = { related_to: claim.claim_id, size, isBackgroundSearch: false };
|
||||
const options = { related_to: claim ? claim.claim_id : claimId, size, isBackgroundSearch: false };
|
||||
|
||||
const searchQuery = getSearchQueryString(title.replace(/\//, ' '), options);
|
||||
let results = resolvedResultsByQuery[searchQuery];
|
||||
|
@ -2428,7 +2434,6 @@ const makeSelectResolvedRecommendedContentForUri = (uri, size) => reselect.creat
|
|||
results = results.filter(result => buildURI({ streamClaimId: result.claimId, streamName: result.name }) !== currentUri);
|
||||
recommendedContent = results;
|
||||
}
|
||||
}
|
||||
|
||||
return recommendedContent;
|
||||
});
|
||||
|
|
|
@ -678,7 +678,13 @@ export const selectMyStreamUrlsCount = createSelector(
|
|||
channels => channels.length
|
||||
);
|
||||
|
||||
export const makeSelectResolvedRecommendedContentForUri = (uri: string, size: number) =>
|
||||
export const makeSelectResolvedRecommendedContentForUri = (
|
||||
uri: string,
|
||||
size: number,
|
||||
claimId: string,
|
||||
claimName: string,
|
||||
claimTitle: string
|
||||
) =>
|
||||
createSelector(
|
||||
makeSelectClaimForUri(uri),
|
||||
selectResolvedSearchResultsByQuery,
|
||||
|
@ -686,12 +692,18 @@ export const makeSelectResolvedRecommendedContentForUri = (uri: string, size: nu
|
|||
(claim, resolvedResultsByQuery, isMature) => {
|
||||
const atVanityURI = !uri.includes('#');
|
||||
|
||||
let currentUri;
|
||||
let recommendedContent;
|
||||
let title;
|
||||
if (claim) {
|
||||
// always grab full URL - this can change once search returns canonical
|
||||
const currentUri = buildURI({ streamClaimId: claim.claim_id, streamName: claim.name });
|
||||
|
||||
const { title } = claim.value;
|
||||
currentUri = buildURI({ streamClaimId: claim.claim_id, streamName: claim.name });
|
||||
title = claim.value ? claim.value.title : null;
|
||||
} else {
|
||||
// for cases on mobile where the claim may not have been resolved ()
|
||||
currentUri = buildURI({ streamClaimId: claimId, streamName: claimName });
|
||||
title = claimTitle;
|
||||
}
|
||||
|
||||
if (!title) {
|
||||
return;
|
||||
|
@ -701,7 +713,7 @@ export const makeSelectResolvedRecommendedContentForUri = (uri: string, size: nu
|
|||
related_to?: string,
|
||||
nsfw?: boolean,
|
||||
isBackgroundSearch?: boolean,
|
||||
} = { related_to: claim.claim_id, size, isBackgroundSearch: false };
|
||||
} = { related_to: claim ? claim.claim_id : claimId, size, isBackgroundSearch: false };
|
||||
|
||||
const searchQuery = getSearchQueryString(title.replace(/\//, ' '), options);
|
||||
let results = resolvedResultsByQuery[searchQuery];
|
||||
|
@ -712,7 +724,6 @@ export const makeSelectResolvedRecommendedContentForUri = (uri: string, size: nu
|
|||
);
|
||||
recommendedContent = results;
|
||||
}
|
||||
}
|
||||
|
||||
return recommendedContent;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue