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

71 lines
1.7 KiB
React
Raw Normal View History

// @flow
2018-02-24 01:24:00 +01:00
import React from 'react';
2019-03-05 05:46:57 +01:00
// @if TARGET='app'
2018-04-17 00:51:35 +02:00
import { ipcRenderer } from 'electron';
2019-03-05 05:46:57 +01:00
// @endif
2018-02-24 01:24:00 +01:00
import { Modal } from 'modal/modal';
2018-03-26 23:32:43 +02:00
import Button from 'component/button';
import I18nMessage from 'component/i18nMessage';
2017-12-08 11:08:50 +01:00
type Props = {
closeModal: any => any,
declineAutoUpdate: () => any,
};
2019-01-08 03:46:33 +01:00
type State = {
disabled: boolean,
};
class ModalAutoUpdateDownloaded extends React.PureComponent<Props, State> {
constructor(props: Props) {
super(props);
this.state = {
disabled: false,
};
}
2017-12-08 11:08:50 +01:00
render() {
const { closeModal, declineAutoUpdate } = this.props;
2017-12-22 07:42:04 +01:00
2017-12-08 11:08:50 +01:00
return (
<Modal
2018-03-26 23:32:43 +02:00
isOpen
2017-12-22 07:42:04 +01:00
type="confirm"
2019-07-11 03:42:25 +02:00
contentLabel={__('Upgrade Downloaded')}
2020-08-26 22:28:33 +02:00
title={__('LBRY leveled up')}
confirmButtonLabel={__('Upgrade Now')}
abortButtonLabel={__('Not Now')}
confirmButtonDisabled={this.state.disabled}
2017-12-10 09:06:30 +01:00
onConfirmed={() => {
this.setState({ disabled: true });
2018-02-24 01:24:00 +01:00
ipcRenderer.send('autoUpdateAccepted');
2017-12-10 09:06:30 +01:00
}}
onAborted={() => {
declineAutoUpdate();
closeModal();
}}
2017-12-08 11:08:50 +01:00
>
2019-07-21 23:31:22 +02:00
<p>{__('A new version of LBRY is ready for you.')}</p>
<p className="help">
<I18nMessage
tokens={{
release_notes: (
<Button
button="link"
label={__('release notes')}
href="https://github.com/lbryio/lbry-desktop/releases"
/>
),
}}
>
Want to know what has changed? See the %release_notes%.
</I18nMessage>
2019-07-21 23:31:22 +02:00
</p>
2017-12-08 11:08:50 +01:00
</Modal>
);
}
}
export default ModalAutoUpdateDownloaded;