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-19 01:14:26 +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 ( ) {
2017-05-19 01:14:26 +02:00
if ( this . props . fileInfos . length > 0 ) this . _requestPublishReward ( )
2017-05-01 08:26:09 +02:00
}
_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 {
2017-05-19 01:14:26 +02:00
fileInfos ,
isPending ,
2017-05-01 08:26:09 +02:00
navigate ,
} = this . props
2017-05-05 10:10:51 +02:00
let content
2017-05-15 18:34:33 +02:00
2017-05-19 01:14:26 +02:00
if ( fileInfos && fileInfos . length > 0 ) {
content = < FileList fileInfos = { fileInfos } fetching = { isPending } fileTileShowEmpty = { FileTile . SHOW _EMPTY _PENDING } / >
2017-05-01 08:26:09 +02:00
} else {
2017-05-19 01:14:26 +02:00
if ( isPending ) {
2017-05-15 18:34:33 +02:00
content = < BusyMessage message = "Loading" / >
} else {
2017-05-24 03:01:38 +02:00
content = < span > It looks like you haven 't published anything to LBRY yet. Go <Link onClick={() => navigate(' / publish ' ) } label = "share your beautiful cats with the world" / > ! < / span >
2017-05-15 18:34:33 +02:00
}
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