import React, { useEffect, useState } from 'react'; import { Spinner } from 'react-bootstrap'; import { downloadAsFile } from 'utils/common'; import { getRecoveryKey } from 'utils/crypto'; import { setJustSignedUp } from 'utils/storage'; 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]); function onSaveClick() { downloadAsFile(constants.RECOVERY_KEY_FILENAME, recoveryKey); onSaveLaterClick(); } function onSaveLaterClick() { props.onHide(); setJustSignedUp(false); } return (

{constants.RECOVERY_KEY_DESCRIPTION}

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

{constants.KEY_NOT_STORED_DISCLAIMER}

); } export default RecoveryKeyModal;