More improvements for better compatibility with new claim format

- Update Pending Files cache to match format more closely
 - Except null instead of string for pending publishes
This commit is contained in:
Alex Liebowitz 2017-04-13 16:35:40 -04:00 committed by Jeremy Kauffman
parent 736d769fa6
commit 83f43ab54f
3 changed files with 16 additions and 8 deletions

View file

@ -13,7 +13,7 @@ export let FileTileStream = React.createClass({
propTypes: {
uri: React.PropTypes.string,
metadata: React.PropTypes.object.isRequired,
metadata: React.PropTypes.object,
contentType: React.PropTypes.string.isRequired,
outpoint: React.PropTypes.string,
hasSignature: React.PropTypes.bool,
@ -75,14 +75,14 @@ export let FileTileStream = React.createClass({
const lbryUri = uri.normalizeLbryUri(this.props.uri);
const metadata = this.props.metadata;
const isConfirmed = typeof metadata == 'object';
const isConfirmed = !!metadata;
const title = isConfirmed ? metadata.title : lbryUri;
const obscureNsfw = this.props.obscureNsfw && isConfirmed && metadata.nsfw;
return (
<section className={ 'file-tile card ' + (obscureNsfw ? 'card--obscured ' : '') } onMouseEnter={this.handleMouseOver} onMouseLeave={this.handleMouseOut}>
<div className={"row-fluid card__inner file-tile__row"}>
<div className="span3">
<a href={'?show=' + lbryUri}><Thumbnail className="file-tile__thumbnail" src={metadata.thumbnail} alt={'Photo for ' + (title || this.props.uri)} /></a>
<a href={'?show=' + lbryUri}><Thumbnail className="file-tile__thumbnail" {... metadata && metadata.thumbnail ? {src: metadata.thumbnail} : {}} alt={'Photo for ' + (title || this.props.uri)} /></a>
</div>
<div className="span9">
{ !this.props.hidePrice
@ -188,7 +188,7 @@ export let FileCardStream = React.createClass({
const lbryUri = uri.normalizeLbryUri(this.props.uri);
const metadata = this.props.metadata;
const isConfirmed = typeof metadata == 'object';
const isConfirmed = !!metadata;
const title = isConfirmed ? metadata.title : lbryUri;
const obscureNsfw = this.props.obscureNsfw && isConfirmed && metadata.nsfw;
const primaryUrl = '?show=' + lbryUri;

View file

@ -65,7 +65,7 @@ function pendingPublishToDummyClaim({channel_name, name, outpoint, claim_id, txi
}
function pendingPublishToDummyFileInfo({name, outpoint, claim_id}) {
return {name, outpoint, claim_id, metadata: {stream: {metadata: 'Attempting publication'}}};
return {name, outpoint, claim_id, null};
}

View file

@ -161,11 +161,19 @@ export let FileList = React.createClass({
seenUris = {};
const fileInfosSorted = this._sortFunctions[this.state.sortBy](this.props.fileInfos);
for (let {outpoint, name, channel_name, metadata: {stream: {metadata}}, mime_type, claim_id, has_signature, signature_is_valid} of fileInfosSorted) {
if (!metadata || seenUris[name]) {
for (let {outpoint, name, channel_name, metadata, mime_type, claim_id, has_signature, signature_is_valid} of fileInfosSorted) {
if (seenUris[name] || !claim_id) {
continue;
}
let streamMetadata;
if (metadata) {
streamMetadata = metadata.stream.metadata;
} else {
streamMetadata = null;
}
let fileUri;
if (!channel_name) {
fileUri = uri.buildLbryUri({name});
@ -174,7 +182,7 @@ export let FileList = React.createClass({
}
seenUris[name] = true;
content.push(<FileTileStream key={outpoint} outpoint={outpoint} uri={fileUri} hideOnRemove={true}
hidePrice={this.props.hidePrices} metadata={metadata} contentType={mime_type}
hidePrice={this.props.hidePrices} metadata={streamMetadata} contentType={mime_type}
hasSignature={has_signature} signatureIsValid={signature_is_valid} />);
}