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

73 lines
2.3 KiB
React
Raw Normal View History

2018-03-26 23:32:43 +02:00
// @flow
import React from 'react';
import { Modal } from 'modal/modal';
import ClaimPreview from 'component/claimPreview';
2019-11-01 18:27:01 +01:00
import Button from 'component/button';
2020-02-11 19:19:09 +01:00
import Card from 'component/common/card';
2018-03-26 23:32:43 +02:00
type Props = {
closeModal: () => void,
clearPublish: () => void,
navigate: string => void,
uri: string,
isEdit: boolean,
2019-11-01 18:27:01 +01:00
filePath: ?string,
2018-03-26 23:32:43 +02:00
};
2019-04-10 23:27:12 +02:00
class ModalPublishSuccess extends React.PureComponent<Props> {
2018-03-26 23:32:43 +02:00
render() {
2019-11-01 18:27:01 +01:00
const { closeModal, clearPublish, navigate, uri, isEdit, filePath } = this.props;
const contentLabel = isEdit ? 'Update published' : 'File published';
const publishMessage = isEdit ? 'update is now' : 'file is now';
2018-03-26 23:32:43 +02:00
2020-02-11 19:19:09 +01:00
function handleClose() {
clearPublish();
closeModal();
}
2018-03-26 23:32:43 +02:00
return (
2020-02-11 19:19:09 +01:00
<Modal isOpen type="card" contentLabel={__(contentLabel)} onAborted={handleClose}>
<Card
title={__('Success')}
subtitle={__(`Your %publishMessage% pending on LBRY. It will take a few minutes to appear for other users.`, {
2019-11-01 18:27:01 +01:00
publishMessage,
})}
2020-02-11 19:19:09 +01:00
body={
<React.Fragment>
<div className="card--inline">
<ClaimPreview type="small" uri={uri} />
</div>
{filePath && !IS_WEB && (
<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-02 23:34:48 +02:00
<div className="card__actions">
2020-02-11 19:19:09 +01:00
<Button
button="primary"
label={__('View My Publishes')}
onClick={() => {
clearPublish();
navigate('/$/published');
closeModal();
}}
/>
<Button button="link" label={__('Close')} onClick={handleClose} />
2020-04-02 23:34:48 +02:00
</div>
2020-02-11 19:19:09 +01:00
}
/>
2018-03-26 23:32:43 +02:00
</Modal>
);
}
}
2019-04-10 23:27:12 +02:00
export default ModalPublishSuccess;