lbry-desktop/ui/js/component/filePrice/view.jsx

45 lines
963 B
React
Raw Normal View History

2017-06-06 23:19:12 +02:00
import React from "react";
import { CreditAmount } from "component/common";
2017-06-08 06:42:19 +02:00
class FilePrice extends React.PureComponent {
componentWillMount() {
2017-06-06 23:19:12 +02:00
this.fetchCost(this.props);
2017-05-12 19:14:06 +02:00
}
componentWillReceiveProps(nextProps) {
2017-06-06 23:19:12 +02:00
this.fetchCost(nextProps);
2017-05-12 19:14:06 +02:00
}
2017-05-12 19:14:06 +02:00
fetchCost(props) {
2017-06-08 06:42:19 +02:00
const { costInfo, fetchCostInfo, uri, fetching, claim } = props;
if (costInfo === undefined && !fetching && claim) {
2017-06-06 23:19:12 +02:00
fetchCostInfo(uri);
2017-05-12 19:14:06 +02:00
}
}
2017-05-12 19:14:06 +02:00
render() {
const { costInfo, look = "indicator", showFullPrice = false } = this.props;
2017-05-12 19:14:06 +02:00
2017-06-06 23:19:12 +02:00
const isEstimate = costInfo ? !costInfo.includesData : null;
2017-05-12 19:14:06 +02:00
if (!costInfo) {
2017-06-06 23:19:12 +02:00
return (
<span className={`credit-amount credit-amount--${look}`}>???</span>
);
2017-05-12 19:14:06 +02:00
}
2017-06-06 23:19:12 +02:00
return (
<CreditAmount
label={false}
amount={costInfo.cost}
isEstimate={isEstimate}
showFree={true}
showFullPrice={showFullPrice}
2017-06-06 23:19:12 +02:00
/>
);
2017-05-12 19:14:06 +02:00
}
}
2017-06-06 06:21:55 +02:00
export default FilePrice;