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

66 lines
1.7 KiB
JavaScript

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";
class FileListPublished extends React.PureComponent {
componentWillMount() {
if (!this.props.isPending) this.props.fetchFileListPublished();
}
componentDidUpdate() {
if (this.props.fileInfos.length > 0) this.props.claimFirstPublishReward();
}
componentWillUnmount() {
this.props.cancelResolvingUris();
}
render() {
const { fileInfos, isPending, navigate } = this.props;
let content;
if (fileInfos && fileInfos.length > 0) {
content = (
<FileList
fileInfos={fileInfos}
fetching={isPending}
fileTileShowEmpty={FileTile.SHOW_EMPTY_PENDING}
/>
);
} else {
if (isPending) {
content = <BusyMessage message={__("Loading")} />;
} else {
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>
);
}
}
return (
<main className="main--single-column">
<SubHeader />
{content}
</main>
);
}
}
export default FileListPublished;