ClaimPreviewTile: restructure (no functional change)
Effects cannot be defined after the render function returns early, so it was not possible to add new effects when the derived variables that it depends on are way down below.
This commit is contained in:
parent
104dafc1e7
commit
287eb38e7a
1 changed files with 24 additions and 17 deletions
|
@ -134,20 +134,10 @@ function ClaimPreviewTile(props: Props) {
|
||||||
const channelUri = !isChannel ? signingChannel && signingChannel.permanent_url : claim && claim.permanent_url;
|
const channelUri = !isChannel ? signingChannel && signingChannel.permanent_url : claim && claim.permanent_url;
|
||||||
const channelTitle = signingChannel && ((signingChannel.value && signingChannel.value.title) || signingChannel.name);
|
const channelTitle = signingChannel && ((signingChannel.value && signingChannel.value.title) || signingChannel.name);
|
||||||
|
|
||||||
// Aria-label value for claim preview
|
const isChannelPage = window.location.pathname.startsWith('/@');
|
||||||
let ariaLabelData = isChannel ? title : formatClaimPreviewTitle(title, channelTitle, date, mediaDuration);
|
const shouldShowViewCount = !(!viewCount || (claim && claim.repost_url) || isLivestream || !isChannelPage);
|
||||||
|
|
||||||
function handleClick(e) {
|
const ariaLabelData = isChannel ? title : formatClaimPreviewTitle(title, channelTitle, date, mediaDuration);
|
||||||
if (navigateUrl) {
|
|
||||||
history.push(navigateUrl);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
React.useEffect(() => {
|
|
||||||
if (isValid && !isResolvingUri && shouldFetch && uri) {
|
|
||||||
resolveUri(uri);
|
|
||||||
}
|
|
||||||
}, [isValid, isResolvingUri, uri, resolveUri, shouldFetch]);
|
|
||||||
|
|
||||||
let shouldHide = false;
|
let shouldHide = false;
|
||||||
|
|
||||||
|
@ -165,14 +155,31 @@ function ClaimPreviewTile(props: Props) {
|
||||||
if (onHidden && shouldHide) onHidden(props.uri);
|
if (onHidden && shouldHide) onHidden(props.uri);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
function handleClick(e) {
|
||||||
|
if (navigateUrl) {
|
||||||
|
history.push(navigateUrl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
|
React.useEffect(() => {
|
||||||
|
if (isValid && !isResolvingUri && shouldFetch && uri) {
|
||||||
|
resolveUri(uri);
|
||||||
|
}
|
||||||
|
}, [isValid, isResolvingUri, uri, resolveUri, shouldFetch]);
|
||||||
|
|
||||||
|
// **************************************************************************
|
||||||
|
// **************************************************************************
|
||||||
|
|
||||||
if (shouldHide || (isLivestream && !showNoSourceClaims)) {
|
if (shouldHide || (isLivestream && !showNoSourceClaims)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
const isChannelPage = window.location.pathname.startsWith('/@');
|
|
||||||
|
|
||||||
const shouldShowViewCount = !(!viewCount || (claim && claim.repost_url) || isLivestream || !isChannelPage);
|
|
||||||
|
|
||||||
if (placeholder || (!claim && isResolvingUri)) {
|
if (placeholder || (!claim && isResolvingUri)) {
|
||||||
return (
|
return (
|
||||||
<li
|
<li
|
||||||
|
|
Loading…
Reference in a new issue