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

49 lines
1.3 KiB
React
Raw Normal View History

// @flow
import React, { useState } 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';
import LastReleaseChanges from 'component/lastReleaseChanges';
2017-12-08 11:08:50 +01:00
type Props = {
2022-06-29 01:00:24 +02:00
closeModal: (any) => any,
declineAutoUpdate: () => any,
2022-06-29 01:00:24 +02:00
errorWhileUpdating: boolean,
};
const ModalAutoUpdateDownloaded = (props: Props) => {
2022-06-29 01:00:24 +02:00
const { closeModal, declineAutoUpdate, errorWhileUpdating } = props;
const [disabled, setDisabled] = useState(false);
2022-06-29 01:00:24 +02:00
const isDownloading = disabled && !errorWhileUpdating;
const handleConfirm = () => {
setDisabled(true);
ipcRenderer.send('autoUpdateAccepted');
};
const handleAbort = () => {
declineAutoUpdate();
closeModal();
};
2017-12-22 07:42:04 +01:00
return (
<Modal
isOpen
type="confirm"
contentLabel={__('Upgrade Downloaded')}
title={__('LBRY leveled up')}
2022-06-29 01:00:24 +02:00
confirmButtonLabel={isDownloading ? __('Downloading...') : __('Upgrade Now')}
abortButtonLabel={__('Not Now')}
2022-06-29 01:00:24 +02:00
confirmButtonDisabled={isDownloading}
onConfirmed={handleConfirm}
onAborted={handleAbort}
>
<LastReleaseChanges />
2022-06-29 01:00:24 +02:00
{errorWhileUpdating && <p>__('There was an error while updating. Please try again.')</p>}
</Modal>
);
};
2017-12-08 11:08:50 +01:00
export default ModalAutoUpdateDownloaded;