2017-04-23 18:10:45 +02:00
import React from 'react' ;
import lbry from 'lbry.js' ;
import lbryuri from 'lbryuri.js' ;
import Link from 'component/link' ;
import { FormField } from 'component/form.js' ;
2017-05-09 00:22:27 +02:00
import { FileTile } from 'component/fileTile' ;
2017-04-23 18:10:45 +02:00
import rewards from 'rewards.js' ;
import lbryio from 'lbryio.js' ;
import { BusyMessage , Thumbnail } from 'component/common.js' ;
import FileList from 'component/fileList'
2017-05-05 10:10:51 +02:00
import SubHeader from 'component/subHeader'
2017-04-23 18:10:45 +02:00
2017-05-01 08:26:09 +02:00
class FileListPublished extends React . Component {
2017-05-11 02:59:47 +02:00
componentWillMount ( ) {
this . props . fetchFileListPublished ( )
}
2017-05-01 08:26:09 +02:00
componentDidUpdate ( ) {
if ( this . props . publishedContent . length > 0 ) this . _requestPublishReward ( )
}
_requestPublishReward ( ) {
2017-05-05 10:10:51 +02:00
// TODO this is throwing an error now
// Error: LBRY internal API is disabled
//
// lbryio.call('reward', 'list', {}).then(function(userRewards) {
// //already rewarded
// if (userRewards.filter(function (reward) {
// return reward.RewardType == rewards.TYPE_FIRST_PUBLISH && reward.TransactionID
// }).length) {
// return
// }
// else {
// rewards.claimReward(rewards.TYPE_FIRST_PUBLISH).catch(() => {})
// }
// })
2017-05-01 08:26:09 +02:00
}
2017-04-23 18:10:45 +02:00
2017-05-01 08:26:09 +02:00
render ( ) {
const {
publishedContent ,
fetching ,
navigate ,
} = this . props
2017-05-05 10:10:51 +02:00
let content
2017-05-01 08:26:09 +02:00
if ( fetching ) {
2017-05-05 10:10:51 +02:00
content = < BusyMessage message = "Loading" / >
2017-05-01 08:26:09 +02:00
} else if ( ! publishedContent . length ) {
2017-05-06 18:31:47 +02:00
content = < span > You haven 't downloaded anything from LBRY yet. Go <Link onClick={() => navigate(' / discover ' ) } label = "search for your first download" / > ! < / span >
2017-05-01 08:26:09 +02:00
} else {
2017-05-05 10:10:51 +02:00
content = < FileList fileInfos = { publishedContent } hidePrices = { true } / >
2017-05-01 08:26:09 +02:00
}
2017-05-05 10:10:51 +02:00
return (
2017-05-11 02:59:47 +02:00
< main className = "main--single-column" >
2017-05-05 10:10:51 +02:00
< SubHeader / >
{ content }
< / main >
)
2017-05-01 08:26:09 +02:00
}
}
2017-04-23 18:10:45 +02:00
export default FileListPublished