added obfuscation of NSFW based on setting in app for search page.

This commit is contained in:
Mark Beamer Jr 2018-06-16 12:49:43 -04:00
parent 96cdf2029f
commit 7db2471b77
2 changed files with 10 additions and 1 deletions

View file

@ -5,7 +5,9 @@ import {
makeSelectMetadataForUri, makeSelectMetadataForUri,
makeSelectFileInfoForUri, makeSelectFileInfoForUri,
makeSelectIsUriResolving, makeSelectIsUriResolving,
makeSelectClaimIsMine,
} from 'lbry-redux'; } from 'lbry-redux';
import { selectShowNsfw } from 'redux/selectors/settings';
import { doNavigate } from 'redux/actions/navigation'; import { doNavigate } from 'redux/actions/navigation';
import { doClearPublish, doUpdatePublishForm } from 'redux/actions/publish'; import { doClearPublish, doUpdatePublishForm } from 'redux/actions/publish';
import { selectRewardContentClaimIds } from 'redux/selectors/content'; import { selectRewardContentClaimIds } from 'redux/selectors/content';
@ -17,6 +19,8 @@ const select = (state, props) => ({
metadata: makeSelectMetadataForUri(props.uri)(state), metadata: makeSelectMetadataForUri(props.uri)(state),
isResolvingUri: makeSelectIsUriResolving(props.uri)(state), isResolvingUri: makeSelectIsUriResolving(props.uri)(state),
rewardedContentClaimIds: selectRewardContentClaimIds(state, props), rewardedContentClaimIds: selectRewardContentClaimIds(state, props),
obscureNsfw: !selectShowNsfw(state),
claimIsMine: makeSelectClaimIsMine(props.uri)(state),
}); });
const perform = dispatch => ({ const perform = dispatch => ({

View file

@ -13,6 +13,8 @@ type Props = {
fullWidth: boolean, // removes the max-width css fullWidth: boolean, // removes the max-width css
showUri: boolean, showUri: boolean,
showLocal: boolean, showLocal: boolean,
obscureNsfw: boolean,
claimIsMine: boolean,
isDownloaded: boolean, isDownloaded: boolean,
uri: string, uri: string,
isResolvingUri: boolean, isResolvingUri: boolean,
@ -58,6 +60,8 @@ class FileTile extends React.PureComponent<Props> {
navigate, navigate,
rewardedContentClaimIds, rewardedContentClaimIds,
showUri, showUri,
obscureNsfw,
claimIsMine,
fullWidth, fullWidth,
showLocal, showLocal,
isDownloaded, isDownloaded,
@ -73,6 +77,7 @@ class FileTile extends React.PureComponent<Props> {
isClaimed && metadata && metadata.title ? metadata.title : parseURI(uri).contentName; isClaimed && metadata && metadata.title ? metadata.title : parseURI(uri).contentName;
const thumbnail = metadata && metadata.thumbnail ? metadata.thumbnail : null; const thumbnail = metadata && metadata.thumbnail ? metadata.thumbnail : null;
const isRewardContent = claim && rewardedContentClaimIds.includes(claim.claim_id); const isRewardContent = claim && rewardedContentClaimIds.includes(claim.claim_id);
const shouldObscureNsfw = obscureNsfw && metadata && metadata.nsfw && !claimIsMine;
const onClick = () => navigate('/show', { uri }); const onClick = () => navigate('/show', { uri });
@ -93,7 +98,7 @@ class FileTile extends React.PureComponent<Props> {
role="button" role="button"
tabIndex="0" tabIndex="0"
> >
<CardMedia title={title || name} thumbnail={thumbnail} /> <CardMedia title={title || name} thumbnail={thumbnail} nsfw={shouldObscureNsfw} />
<div className="file-tile__info"> <div className="file-tile__info">
{isResolvingUri && <div className="card__title--small">{__('Loading...')}</div>} {isResolvingUri && <div className="card__title--small">{__('Loading...')}</div>}
{!isResolvingUri && ( {!isResolvingUri && (