Compare commits
4 commits
master
...
resolved-r
Author | SHA1 | Date | |
---|---|---|---|
|
84e6970799 | ||
|
91c60558c6 | ||
|
c863098842 | ||
|
f6e99498d2 |
2 changed files with 51 additions and 35 deletions
33
dist/bundle.es.js
vendored
33
dist/bundle.es.js
vendored
|
@ -2406,28 +2406,33 @@ const makeSelectMyStreamUrlsForPage = (page = 1) => reselect.createSelector(sele
|
||||||
|
|
||||||
const selectMyStreamUrlsCount = reselect.createSelector(selectMyClaimUrisWithoutChannels, channels => channels.length);
|
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('#');
|
const atVanityURI = !uri.includes('#');
|
||||||
|
|
||||||
|
let currentUri;
|
||||||
let recommendedContent;
|
let recommendedContent;
|
||||||
|
let title;
|
||||||
if (claim) {
|
if (claim) {
|
||||||
// always grab full URL - this can change once search returns canonical
|
// always grab full URL - this can change once search returns canonical
|
||||||
const currentUri = buildURI({ streamClaimId: claim.claim_id, streamName: claim.name });
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
const { title } = claim.value;
|
if (!title) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!title) {
|
const options = { related_to: claim ? claim.claim_id : claimId, size, isBackgroundSearch: false };
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const options = { related_to: claim.claim_id, size, isBackgroundSearch: false };
|
const searchQuery = getSearchQueryString(title.replace(/\//, ' '), options);
|
||||||
|
let results = resolvedResultsByQuery[searchQuery];
|
||||||
const searchQuery = getSearchQueryString(title.replace(/\//, ' '), options);
|
if (results) {
|
||||||
let results = resolvedResultsByQuery[searchQuery];
|
results = results.filter(result => buildURI({ streamClaimId: result.claimId, streamName: result.name }) !== currentUri);
|
||||||
if (results) {
|
recommendedContent = results;
|
||||||
results = results.filter(result => buildURI({ streamClaimId: result.claimId, streamName: result.name }) !== currentUri);
|
|
||||||
recommendedContent = results;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return recommendedContent;
|
return recommendedContent;
|
||||||
|
|
|
@ -678,7 +678,13 @@ export const selectMyStreamUrlsCount = createSelector(
|
||||||
channels => channels.length
|
channels => channels.length
|
||||||
);
|
);
|
||||||
|
|
||||||
export const makeSelectResolvedRecommendedContentForUri = (uri: string, size: number) =>
|
export const makeSelectResolvedRecommendedContentForUri = (
|
||||||
|
uri: string,
|
||||||
|
size: number,
|
||||||
|
claimId: string,
|
||||||
|
claimName: string,
|
||||||
|
claimTitle: string
|
||||||
|
) =>
|
||||||
createSelector(
|
createSelector(
|
||||||
makeSelectClaimForUri(uri),
|
makeSelectClaimForUri(uri),
|
||||||
selectResolvedSearchResultsByQuery,
|
selectResolvedSearchResultsByQuery,
|
||||||
|
@ -686,32 +692,37 @@ export const makeSelectResolvedRecommendedContentForUri = (uri: string, size: nu
|
||||||
(claim, resolvedResultsByQuery, isMature) => {
|
(claim, resolvedResultsByQuery, isMature) => {
|
||||||
const atVanityURI = !uri.includes('#');
|
const atVanityURI = !uri.includes('#');
|
||||||
|
|
||||||
|
let currentUri;
|
||||||
let recommendedContent;
|
let recommendedContent;
|
||||||
|
let title;
|
||||||
if (claim) {
|
if (claim) {
|
||||||
// always grab full URL - this can change once search returns canonical
|
// always grab full URL - this can change once search returns canonical
|
||||||
const currentUri = buildURI({ streamClaimId: claim.claim_id, streamName: claim.name });
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
const { title } = claim.value;
|
if (!title) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!title) {
|
const options: {
|
||||||
return;
|
related_to?: string,
|
||||||
}
|
nsfw?: boolean,
|
||||||
|
isBackgroundSearch?: boolean,
|
||||||
|
} = { related_to: claim ? claim.claim_id : claimId, size, isBackgroundSearch: false };
|
||||||
|
|
||||||
const options: {
|
const searchQuery = getSearchQueryString(title.replace(/\//, ' '), options);
|
||||||
related_to?: string,
|
let results = resolvedResultsByQuery[searchQuery];
|
||||||
nsfw?: boolean,
|
if (results) {
|
||||||
isBackgroundSearch?: boolean,
|
results = results.filter(
|
||||||
} = { related_to: claim.claim_id, size, isBackgroundSearch: false };
|
result =>
|
||||||
|
buildURI({ streamClaimId: result.claimId, streamName: result.name }) !== currentUri
|
||||||
const searchQuery = getSearchQueryString(title.replace(/\//, ' '), options);
|
);
|
||||||
let results = resolvedResultsByQuery[searchQuery];
|
recommendedContent = results;
|
||||||
if (results) {
|
|
||||||
results = results.filter(
|
|
||||||
result =>
|
|
||||||
buildURI({ streamClaimId: result.claimId, streamName: result.name }) !== currentUri
|
|
||||||
);
|
|
||||||
recommendedContent = results;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return recommendedContent;
|
return recommendedContent;
|
||||||
|
|
Loading…
Reference in a new issue