lbry-desktop/ui/js/page/fileListPublished/view.jsx

79 lines
2.1 KiB
React
Raw Normal View History

2017-06-06 23:19:12 +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";
import FileTile from "component/fileTile";
import rewards from "rewards.js";
import lbryio from "lbryio.js";
import { BusyMessage, Thumbnail } from "component/common.js";
import FileList from "component/fileList";
import SubHeader from "component/subHeader";
2017-05-01 08:26:09 +02:00
class FileListPublished extends React.Component {
componentWillMount() {
2017-06-06 23:19:12 +02:00
this.props.fetchFileListPublished();
}
2017-05-01 08:26:09 +02:00
componentDidUpdate() {
2017-06-06 23:19:12 +02:00
if (this.props.fileInfos.length > 0) this._requestPublishReward();
2017-05-01 08:26:09 +02:00
}
_requestPublishReward() {
// 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) {
2017-05-25 02:10:36 +02:00
// return reward.reward_type == rewards.TYPE_FIRST_PUBLISH && reward.transaction_id
// }).length) {
// return
// }
// else {
// rewards.claimReward(rewards.TYPE_FIRST_PUBLISH).catch(() => {})
// }
// })
2017-05-01 08:26:09 +02:00
}
2017-05-01 08:26:09 +02:00
render() {
2017-06-06 23:19:12 +02:00
const { fileInfos, isPending, navigate } = this.props;
2017-05-01 08:26:09 +02:00
2017-06-06 23:19:12 +02:00
let content;
2017-05-15 18:34:33 +02:00
if (fileInfos && fileInfos.length > 0) {
2017-06-06 23:19:12 +02:00
content = (
<FileList
fileInfos={fileInfos}
fetching={isPending}
fileTileShowEmpty={FileTile.SHOW_EMPTY_PENDING}
/>
);
2017-05-01 08:26:09 +02:00
} else {
if (isPending) {
2017-06-06 23:19:12 +02:00
content = <BusyMessage message={__("Loading")} />;
2017-05-15 18:34:33 +02:00
} else {
2017-06-06 23:19:12 +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
}
return (
<main className="main--single-column">
<SubHeader />
{content}
</main>
2017-06-06 23:19:12 +02:00
);
2017-05-01 08:26:09 +02:00
}
}
2017-06-06 06:21:55 +02:00
export default FileListPublished;