import React, { useEffect, useState } from 'react'; import { Spinner } from 'react-bootstrap'; import { downloadAsFile } from 'utils/common'; import { getRecoveryKey } from 'utils/crypto'; import constants from 'utils/strings/constants'; import { MessageDialog } from './MessageDailog'; interface Props { show: boolean; onHide: () => void; somethingWentWrong: any; } function RecoveryKeyModal(props: Props) { const [recoveryKey, setRecoveryKey] = useState(null); useEffect(() => { if (!props.show) { return; } const main = async () => { const recoveryKey = await getRecoveryKey(); if (!recoveryKey) { props.somethingWentWrong(); props.onHide(); } setRecoveryKey(recoveryKey); }; main(); }, [props.show]); return ( { downloadAsFile( constants.RECOVERY_KEY_FILENAME, recoveryKey ); props.onHide(); }, }, }} >

{constants.RECOVERY_KEY_DESCRIPTION}

{recoveryKey ? (
{recoveryKey}
) : ( )}

{constants.KEY_NOT_STORED_DISCLAIMER}

); } export default RecoveryKeyModal;