import { useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import styled from 'styled-components'; import { ToastUtils } from '../../session/utils'; import { mnDecode } from '../../session/crypto/mnemonic'; import { recoveryPhraseModal } from '../../state/ducks/modalDialog'; import { SpacerSM } from '../basic/Text'; import { usePasswordModal } from '../../hooks/usePasswordModal'; import { getTheme } from '../../state/selectors/theme'; import { getThemeValue } from '../../themes/globals'; import { getCurrentRecoveryPhrase } from '../../util/storage'; import { SessionQRCode } from '../SessionQRCode'; import { SessionWrapperModal } from '../SessionWrapperModal'; import { SessionButton, SessionButtonType } from '../basic/SessionButton'; interface SeedProps { recoveryPhrase: string; onClickCopy?: () => any; } const StyledRecoveryPhrase = styled.i``; const Seed = (props: SeedProps) => { const { recoveryPhrase, onClickCopy } = props; const dispatch = useDispatch(); const theme = useSelector(getTheme); const hexEncodedSeed = mnDecode(recoveryPhrase, 'english'); const copyRecoveryPhrase = (recoveryPhraseToCopy: string) => { window.clipboard.writeText(recoveryPhraseToCopy); ToastUtils.pushCopiedToClipBoard(); if (onClickCopy) { onClickCopy(); } dispatch(recoveryPhraseModal(null)); }; return ( <>
{window.i18n('recoveryPhraseSavePromptMain')}