import React from 'react';
import { SessionModal } from './SessionModal';
import { SessionButton } from './SessionButton';
import { ToastUtils, UserUtils } from '../../session/utils';
import { DefaultTheme, withTheme } from 'styled-components';
import { PasswordUtil } from '../../util';
import { getPasswordHash } from '../../data/data';
import { QRCode } from 'react-qr-svg';
import { mn_decode } from '../../session/crypto/mnemonic';
import { SessionWrapperModal } from './SessionWrapperModal';
import { SpacerLG, SpacerSM, SpacerXS } from '../basic/Text';
import autoBind from 'auto-bind';
import { recoveryPhraseModal } from '../../state/ducks/modalDialog';
interface State {
  error: string;
  loadingPassword: boolean;
  loadingSeed: boolean;
  recoveryPhrase: string;
  hasPassword: boolean | null;
  passwordHash: string;
  passwordValid: boolean;
}
class SessionSeedModalInner extends React.Component<{}, State> {
  constructor(props: any) {
    super(props);
    this.state = {
      error: '',
      loadingPassword: true,
      loadingSeed: true,
      recoveryPhrase: '',
      hasPassword: null,
      passwordHash: '',
      passwordValid: false,
    };
    autoBind(this);
  }
  public componentDidMount() {
    setTimeout(() => ($('#seed-input-password') as any).focus(), 100);
  }
  public render() {
    const i18n = window.i18n;
    void this.checkHasPassword();
    void this.getRecoveryPhrase();
    const { hasPassword, passwordValid } = this.state;
    const loading = this.state.loadingPassword || this.state.loadingSeed;
    const onClose = () => window.inboxStore?.dispatch(recoveryPhraseModal(null));
    return (
      <>
        {!loading && (
          
{i18n('showRecoveryPhrasePasswordRequest')}
{error && ( <>{i18n('recoveryPhraseSavePromptMain')}