Recon 7 6 b #6418

Merged
jessopb merged 3 commits from recon-7-6-b into master 2021-07-07 20:21:11 +02:00
9 changed files with 25 additions and 15 deletions

View file

@ -4,12 +4,12 @@ declare type HomepageObject = {
options: any,
route: string,
title: string,
}
};
declare type HomepageData = {
[string]: HomepageObject,
default: any => any,
}
};
declare type RowDataItem = {
title: any,
@ -19,6 +19,7 @@ declare type RowDataItem = {
extra?: any,
options?: {
channelIds?: Array<string>,
limitClaimsPerChannel?: number,
pageSize: number,
},
route?: string,

View file

@ -1,5 +1,5 @@
// @flow
import { SHOW_ADS } from 'config';
import { SHOW_ADS, ENABLE_NO_SOURCE_CLAIMS } from 'config';
import * as CS from 'constants/claim_search';
import * as ICONS from 'constants/icons';
import React, { Fragment } from 'react';
@ -136,6 +136,7 @@ function ChannelContent(props: Props) {
{!channelIsMine && claimsInChannel > 0 && <HiddenNsfwClaims uri={uri} />}
<ClaimListDiscover
showNoSourceClaims={ENABLE_NO_SOURCE_CLAIMS}
defaultFreshness={CS.FRESH_ALL}
showHiddenByUser={viewHiddenChannels}
forceShowReposts

View file

@ -45,7 +45,7 @@ type Props = {
livestreamMap?: { [string]: any },
searchOptions?: any,
collectionId?: string,
hideLivestreamClaims?: boolean,
showNoSourceClaims?: boolean,
};
export default function ClaimList(props: Props) {
@ -77,7 +77,7 @@ export default function ClaimList(props: Props) {
livestreamMap,
searchOptions,
collectionId,
hideLivestreamClaims,
showNoSourceClaims,
} = props;
const [currentSort, setCurrentSort] = usePersistedState(persistedStorageKey, SORT_NEW);
@ -137,7 +137,7 @@ export default function ClaimList(props: Props) {
properties={renderProperties}
live={resolveLive(index)}
collectionId={collectionId}
hideLivestreamClaims={hideLivestreamClaims}
showNoSourceClaims={showNoSourceClaims}
/>
))}
{!timedOut && urisLength === 0 && !loading && <div className="empty main--empty">{empty || noResultMsg}</div>}
@ -198,7 +198,7 @@ export default function ClaimList(props: Props) {
showUserBlocked={showHiddenByUser}
showHiddenByUser={showHiddenByUser}
collectionId={collectionId}
hideLivestreamClaims={hideLivestreamClaims}
showNoSourceClaims={showNoSourceClaims}
customShouldHide={(claim: StreamClaim) => {
// Hack to hide spee.ch thumbnail publishes
// If it meets these requirements, it was probably uploaded here:

View file

@ -72,6 +72,7 @@ type Props = {
liveLivestreamsFirst?: boolean,
livestreamMap?: { [string]: any },
hasSource?: boolean,
showNoSourceClaims?: boolean,
isChannel?: boolean,
empty?: string,
};
@ -129,6 +130,7 @@ function ClaimListDiscover(props: Props) {
livestreamMap,
hasSource,
isChannel = false,
showNoSourceClaims,
empty,
} = props;
const didNavigateForward = history.action === 'PUSH';
@ -512,6 +514,7 @@ function ClaimListDiscover(props: Props) {
liveLivestreamsFirst={liveLivestreamsFirst}
livestreamMap={livestreamMap}
searchOptions={options}
showNoSourceClaims={showNoSourceClaims}
empty={empty}
/>
{loading && (
@ -546,6 +549,7 @@ function ClaimListDiscover(props: Props) {
liveLivestreamsFirst={liveLivestreamsFirst}
livestreamMap={livestreamMap}
searchOptions={options}
showNoSourceClaims={showNoSourceClaims}
empty={empty}
/>
{loading &&

View file

@ -44,6 +44,8 @@ type Props = {
properties?: (Claim) => void,
live?: boolean,
collectionId?: string,
showNoSourceClaims?: boolean,
isLivestream: boolean,
};
function ClaimPreviewTile(props: Props) {
@ -66,6 +68,8 @@ function ClaimPreviewTile(props: Props) {
showHiddenByUser,
properties,
live,
showNoSourceClaims,
isLivestream,
collectionId,
} = props;
const isRepost = claim && claim.repost_channel_url;
@ -149,7 +153,7 @@ function ClaimPreviewTile(props: Props) {
shouldHide = blockedChannelUris.some((blockedUri) => blockedUri === claim.permanent_url);
}
if (shouldHide) {
if (shouldHide || (isLivestream && !showNoSourceClaims)) {
return null;
}

View file

@ -37,7 +37,7 @@ export function prioritizeActiveLivestreams(
// for that channel actually point to the same source).
// 2. 'liveChannelIds' needs to be pruned after being accounted for,
// otherwise all livestream-claims will be "live" (we'll only take the
// latest one as "live").
// latest one as "live" ).
return (
claim &&
claim.value_type === 'stream' &&
@ -145,7 +145,7 @@ function ClaimTilesDiscover(props: Props) {
mutedUris,
liveLivestreamsFirst,
livestreamMap,
// pin,
// pin, // let's pin from /web folder
prefixUris,
} = props;
@ -240,7 +240,7 @@ function ClaimTilesDiscover(props: Props) {
const isLoading = fetchingClaimSearchByQuery[mainSearchKey];
if (liveLivestreamsFirst && livestreamMap) {
if (liveLivestreamsFirst && livestreamMap && !isLoading) {
prioritizeActiveLivestreams(uris, liveUris, livestreamMap, claimsByUri, claimSearchByQuery, options);
}

View file

@ -123,7 +123,7 @@ class SelectThumbnail extends React.PureComponent<Props> {
<FileSelector
currentPath={thumbnailPath}
label={__('Thumbnail')}
placeholder={__('Choose a thumbnail')}
placeholder={__('Choose an enticing thumbnail')}
accept={accept}
onFileChosen={(file) => openModal(MODALS.CONFIRM_THUMBNAIL_UPLOAD, { file })}
/>

View file

@ -9,7 +9,7 @@ import Icon from 'component/common/icon';
import NotificationBubble from 'component/notificationBubble';
import I18nMessage from 'component/i18nMessage';
import ChannelThumbnail from 'component/channelThumbnail';
import { PINNED_LABEL_1, PINNED_URI_1, PINNED_URI_2, PINNED_LABEL_2, SIMPLE_SITE, DOMAIN } from 'config';
import { PINNED_LABEL_1, PINNED_URI_1, PINNED_URI_2, PINNED_LABEL_2, SIMPLE_SITE, DOMAIN, ENABLE_UI_NOTIFICATIONS } from 'config';
// @if TARGET='app'
import { IS_MAC } from 'component/app/view';
// @endif
@ -213,7 +213,7 @@ function SideNavigation(props: Props) {
});
}
const notificationsEnabled = user && user.experimental_ui;
const notificationsEnabled = ENABLE_UI_NOTIFICATIONS || (user && user.experimental_ui);
const isAuthenticated = Boolean(email);
// SIDE LINKS: FOLLOWING, HOME, [FULL,] [EXTRA]
let SIDE_LINKS: Array<SideNavLink> = [];

View file

@ -6,8 +6,8 @@ import {
makeSelectNotificationsDisabled,
} from 'redux/selectors/subscriptions';
import { makeSelectPermanentUrlForUri } from 'lbry-redux';
import { doToast } from 'redux/actions/notifications';
import { selectUser } from 'redux/selectors/user';
import { doToast } from 'redux/actions/notifications';
import SubscribeButton from './view';
const select = (state, props) => ({