diff --git a/ui/js/component/fileCard/view.jsx b/ui/js/component/fileCard/view.jsx index 753ffa10d..9b5513298 100644 --- a/ui/js/component/fileCard/view.jsx +++ b/ui/js/component/fileCard/view.jsx @@ -7,22 +7,15 @@ import FilePrice from 'component/filePrice' import UriIndicator from 'component/uriIndicator'; class FileCard extends React.Component { - constructor(props) { - super(props) - this.state = { - showNsfwHelp: false - } - } - componentDidMount() { const { - resolvingUri, + isResolvingUri, resolveUri, claim, uri, } = this.props - if(!resolvingUri && !claim && uri) { + if(!isResolvingUri && !claim && uri) { resolveUri(uri) } } @@ -49,16 +42,14 @@ class FileCard extends React.Component { } = this.props const uri = lbryuri.normalize(this.props.uri); - const isConfirmed = !!metadata; - const title = isConfirmed ? metadata.title : uri; - const obscureNsfw = this.props.obscureNsfw && isConfirmed && metadata.nsfw; + const title = !isResolvingUri && metadata && metadata.title ? metadata.title : uri; + const obscureNsfw = this.props.obscureNsfw && metadata && metadata.nsfw; + let description = "" - if (isConfirmed) { - description = metadata.description - } else if (isResolvingUri) { + if (isResolvingUri) { description = "Loading..." - } else { - description = This file is pending confirmation. + } else if (metadata && metadata.description) { + description = metadata.description } return ( diff --git a/ui/js/component/fileList/view.jsx b/ui/js/component/fileList/view.jsx index 2f7b66fb9..ebd94c0ee 100644 --- a/ui/js/component/fileList/view.jsx +++ b/ui/js/component/fileList/view.jsx @@ -71,7 +71,7 @@ class FileList extends React.Component { contentName: fileInfo.name, channelName: fileInfo.channel_name, }) - content.push() + content.push() }) return (
diff --git a/ui/js/component/fileTile/view.jsx b/ui/js/component/fileTile/view.jsx index 47e4620b9..09570527e 100644 --- a/ui/js/component/fileTile/view.jsx +++ b/ui/js/component/fileTile/view.jsx @@ -7,8 +7,10 @@ import {Thumbnail, TruncatedText,} from 'component/common.js'; import FilePrice from 'component/filePrice' import UriIndicator from 'component/uriIndicator'; -/*should be merged into FileTile once FileTile is refactored to take a single id*/ class FileTile extends React.Component { + static SHOW_EMPTY_PUBLISH = "publish" + static SHOW_EMPTY_PENDING = "pending" + constructor(props) { super(props) this._fileInfoSubscribeId = null @@ -62,46 +64,48 @@ class FileTile extends React.Component { } const { + claim, metadata, isResolvingUri, + showEmpty, navigate, hidePrice, } = this.props const uri = lbryuri.normalize(this.props.uri); - const isConfirmed = !!metadata; - const title = isConfirmed ? metadata.title : uri; - const obscureNsfw = this.props.obscureNsfw && isConfirmed && metadata.nsfw; + const isClaimed = !!claim; + const title = isClaimed && metadata && metadata.title ? metadata.title : uri; + const obscureNsfw = this.props.obscureNsfw && metadata && metadata.nsfw; + let onClick = () => navigate('/show', { uri }) let description = "" - if (isConfirmed) { + if (isClaimed) { description = metadata.description } else if (isResolvingUri) { description = "Loading..." - } else { + } else if (showEmpty === FileTile.SHOW_EMPTY_PUBLISH) { + onClick = () => navigate('/publish') + description = This location is unclaimed - ! + } else if (showEmpty === FileTile.SHOW_EMPTY_PENDING) { description = This file is pending confirmation. } return (
- navigate('/show', { uri })} className="card__link" className="card__link"> +
- { !this.props.hidePrice - ? - : null} + { !hidePrice ? : null}
{uri}

{title}

- {isConfirmed - ? metadata.description - : This file is pending confirmation.} + {description}
diff --git a/ui/js/component/wunderbar/index.js b/ui/js/component/wunderbar/index.js index 040a9fb8b..6976f7933 100644 --- a/ui/js/component/wunderbar/index.js +++ b/ui/js/component/wunderbar/index.js @@ -2,6 +2,7 @@ import React from 'react' import { connect } from 'react-redux' +import lbryuri from 'lbryuri.js' import { selectWunderBarAddress, selectWunderBarIcon @@ -28,7 +29,7 @@ const perform = (dispatch) => ({ // activateSearch: () => dispatch(doActivateSearch()), // deactivateSearch: () => setTimeout(() => { dispatch(doDeactivateSearch()) }, 50), onSearch: (query) => dispatch(doNavigate('/search', { query })), - onSubmit: (query) => console.debug('you submitted'), + onSubmit: (query) => dispatch(doNavigate('/show', { uri: lbryuri.normalize(query) } )) }) export default connect(select, perform)(Wunderbar) diff --git a/ui/js/component/wunderbar/view.jsx b/ui/js/component/wunderbar/view.jsx index 2ddc13dd1..bdf432ea8 100644 --- a/ui/js/component/wunderbar/view.jsx +++ b/ui/js/component/wunderbar/view.jsx @@ -40,11 +40,14 @@ class WunderBar extends React.PureComponent { this.setState({ address: event.target.value }) - let searchTerm = event.target.value; + let searchQuery = event.target.value; this._userTypingTimer = setTimeout(() => { - this._resetOnNextBlur = false; - this.props.onSearch(searchTerm); + const hasQuery = searchQuery.length === 0; + this._resetOnNextBlur = hasQuery; + if (searchQuery) { + this.props.onSearch(searchQuery); + } }, 800); // 800ms delay, tweak for faster/slower } diff --git a/ui/js/page/discover/view.jsx b/ui/js/page/discover/view.jsx index 0b9c3ecb9..6bcab8adb 100644 --- a/ui/js/page/discover/view.jsx +++ b/ui/js/page/discover/view.jsx @@ -32,7 +32,7 @@ const DiscoverPage = (props) => { let content - if (fetchingFeaturedUris) content = + if (fetchingFeaturedUris) content = if (!fetchingFeaturedUris && failed) content =
Failed to load landing content.
if (!fetchingFeaturedUris && !failed) { content = Object.keys(featuredUris).map(category => { diff --git a/ui/js/page/search/view.jsx b/ui/js/page/search/view.jsx index 780fc3e09..d23abb333 100644 --- a/ui/js/page/search/view.jsx +++ b/ui/js/page/search/view.jsx @@ -74,7 +74,7 @@ const SearchPage = (props) => { Exact URL - +
: '' }