var formatItemStyle = { fontSize: '0.95em', marginTop: '10px', maxHeight: '220px' }, formatItemImgStyle = { maxWidth: '100%', maxHeight: '100%', display: 'block', marginLeft: 'auto', marginRight: 'auto', marginTop: '5px', }, formatHeaderStyle = { fontWeight: 'bold', marginBottom: '5px' }, formatSubheaderStyle = { marginBottom: '10px', fontSize: '0.9em' }, formatItemDescriptionStyle = { color: '#444', marginBottom: '5px', fontSize: '1.2em', }, formatItemMetadataStyle = { color: '#444', marginBottom: '5px', fontSize: '0.9em', }, formatItemCostStyle = { float: 'right' }; var FormatItem = React.createClass({ propTypes: { metadata: React.PropTypes.object, name: React.PropTypes.string, amount: React.PropTypes.double, }, render: function() { return (
{'Photo

Address: {this.props.name}

   

{this.props.metadata.description}

Author: {this.props.metadata.author}
Language: {this.props.metadata.language}
License: {this.props.metadata.license}
); } }); var FormatsSection = React.createClass({ propTypes: { name: React.PropTypes.string, }, getInitialState: function() { return { metadata: null, amount: 0.0, }; }, componentWillMount: function() { lbry.resolveName(this.props.name, (metadata) => { this.setState({ metadata: metadata, }) }); lbry.search(this.props.name, (results) => { this.setState({ amount: (results ? results[0].cost_est : 0.0) }); }); }, render: function() { if (this.state.metadata == null) { // Still waiting for metadata return null; } var format = this.state.metadata; return (

{this.state.metadata.title}

{/* In future, anticipate multiple formats, just a guess at what it could look like // var formats = metadata.formats // return ({formats.map(function(format,i){ */} {/* })}); */}
); } }); var DetailPage = React.createClass({ propTypes: { name: React.PropTypes.string, }, render: function() { return (
); } });