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 (
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 (
);
}
});