lbry-desktop/ui/modal/modalPublish/view.jsx

104 lines
3 KiB
React
Raw Normal View History

2018-03-26 14:32:43 -07:00
// @flow
2020-07-23 13:02:07 -04:00
import * as PAGES from 'constants/pages';
2018-03-26 14:32:43 -07:00
import React from 'react';
import { Modal } from 'modal/modal';
import ClaimPreview from 'component/claimPreview';
2019-11-01 13:27:01 -04:00
import Button from 'component/button';
2020-02-11 13:19:09 -05:00
import Card from 'component/common/card';
import Nag from 'component/common/nag';
2018-03-26 14:32:43 -07:00
type Props = {
closeModal: () => void,
clearPublish: () => void,
navigate: (string) => void,
2018-03-26 14:32:43 -07:00
uri: string,
isEdit: boolean,
2019-11-01 13:27:01 -04:00
filePath: ?string,
lbryFirstError: ?string,
2018-03-26 14:32:43 -07:00
};
2019-04-10 17:27:12 -04:00
class ModalPublishSuccess extends React.PureComponent<Props> {
2021-04-03 15:31:57 -04:00
componentDidMount() {
const { clearPublish } = this.props;
clearPublish();
}
2018-03-26 14:32:43 -07:00
render() {
2021-10-19 00:49:51 -04:00
const { closeModal, clearPublish, navigate, uri, isEdit, filePath, lbryFirstError } = this.props;
// $FlowFixMe
let contentLabel;
2021-10-19 00:49:51 -04:00
if (isEdit) {
contentLabel = __('Update published');
} else {
contentLabel = __('File published');
}
let publishMessage;
if (isEdit) {
publishMessage = __('Your update is now pending. It will take a few minutes to appear for other users.');
} else {
2021-07-20 12:44:15 -04:00
publishMessage = __('Your content will be live shortly.');
}
2018-03-26 14:32:43 -07:00
2020-02-11 13:19:09 -05:00
function handleClose() {
closeModal();
}
2018-03-26 14:32:43 -07:00
return (
2020-02-11 13:19:09 -05:00
<Modal isOpen type="card" contentLabel={__(contentLabel)} onAborted={handleClose}>
<Card
2021-10-19 00:49:51 -04:00
title={__('Success')}
subtitle={publishMessage}
2020-02-11 13:19:09 -05:00
body={
<React.Fragment>
<div className="card--inline">
<ClaimPreview type="small" uri={uri} />
</div>
2022-01-07 14:02:33 -05:00
{filePath && (
2020-02-11 13:19:09 -05:00
<p className="help">
<React.Fragment>
{__(
`Upload will continue in the background, please do not shut down immediately. Leaving the app running helps the network, thank you!`
)}{' '}
<Button button="link" href="https://lbry.com/faq/host-content" label={__('Learn More')} />
</React.Fragment>
</p>
)}
</React.Fragment>
}
actions={
2020-04-29 17:37:14 -04:00
<div className="section__actions">
2021-10-19 00:49:51 -04:00
<Button
button="primary"
label={__('View My Uploads')}
onClick={() => {
clearPublish();
navigate(`/$/${PAGES.UPLOADS}`);
closeModal();
}}
/>
2020-02-11 13:19:09 -05:00
<Button button="link" label={__('Close')} onClick={handleClose} />
2020-04-02 17:34:48 -04:00
</div>
2020-02-11 13:19:09 -05:00
}
nag={
lbryFirstError && (
<Nag
relative
type="error"
message={
<span>
{__('Your file was published to LBRY, but the YouTube upload failed.')}
<br />
{lbryFirstError}
</span>
}
/>
)
}
2020-02-11 13:19:09 -05:00
/>
2018-03-26 14:32:43 -07:00
</Modal>
);
}
}
2019-04-10 17:27:12 -04:00
export default ModalPublishSuccess;