@particle-network/authkit
Version:
Auth Core provides MPC (Multi-Party Computation)-based threshold signatures.
8 lines (7 loc) • 5.94 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/pages/account/wrongPasswordModal/index.tsx"],
"sourcesContent": ["import { useInterval } from 'ahooks';\nimport { Button, Modal } from 'antd';\nimport React, { useEffect, useState } from 'react';\nimport CircleClose from '../../../components/icon/circle-close';\nimport { useAuthCoreModal, useCustomNavigate, useParticleAuth, useTranslation } from '../../../context';\nimport styles from './index.less';\nexport interface WrongPasswordInfo {\n visible: boolean;\n accountFrozen?: { seconds: number };\n}\n\nconst WrongPasswordModal = ({ info }: { info: WrongPasswordInfo }) => {\n const { t } = useTranslation();\n const { setWrongPassword, setPaymentVerify, userInfo, showSelectSecurityAccount } = useParticleAuth();\n\n const navigate = useCustomNavigate();\n\n const forgotPassword = () => {\n setWrongPassword({ visible: false });\n setPaymentVerify({ visible: false });\n chooseVerifyType();\n };\n const { authCoreModal } = useAuthCoreModal();\n\n //reset password\n const chooseVerifyType = () => {\n if (userInfo?.security_account?.email && userInfo?.security_account?.phone) {\n showSelectSecurityAccount(true);\n } else {\n navigate('/account/set-password', {\n state: {\n account: userInfo?.security_account?.email || userInfo?.security_account?.phone,\n },\n });\n }\n };\n\n const retry = () => {\n setWrongPassword({ visible: false });\n };\n\n const [interval, setInterval] = useState<number | undefined>();\n\n const [countdown, setCountdown] = useState(info.accountFrozen?.seconds || 0);\n\n useInterval(() => {\n const result = countdown - 1;\n setCountdown(result);\n if (result <= 0) {\n setInterval(undefined);\n retry();\n }\n }, interval);\n\n useEffect(() => {\n if (info.accountFrozen) {\n setCountdown(info.accountFrozen.seconds);\n setInterval(1000);\n }\n return () => {\n setInterval(undefined);\n };\n }, [info.accountFrozen]);\n\n const formatTime = (seconds: number): string => {\n let h: string | number = Math.floor(seconds / 60 / 60);\n h = h < 10 ? '0' + h : h;\n let m: string | number = Math.floor((seconds / 60) % 60);\n m = m < 10 ? '0' + m : m;\n let s: string | number = Math.floor(seconds % 60);\n s = s < 10 ? '0' + s : s;\n return h + ':' + m + ':' + s;\n };\n\n return (\n <>\n <style>{styles as unknown as string}</style>\n <Modal\n open={info.visible}\n closable={false}\n centered={true}\n okButtonProps={{ style: { display: 'none' } }}\n cancelButtonProps={{ style: { display: 'none' } }}\n getContainer={() => {\n return authCoreModal.rootBody as HTMLDivElement;\n }}\n >\n <div className='wrong-password-content'>\n <CircleClose className='close-icon' onClick={retry} />\n\n {info.accountFrozen ? (\n <>\n <div className='modal-title'>{t('account.incorrect_payment_password')}</div>\n <div className='tip m-margin-top-20'>{t('account.incorrect_tip2')}</div>\n </>\n ) : (\n <div className='tip m-margin-top-20'>{t('account.incorrect_tip1')}</div>\n )}\n\n {info.accountFrozen && <div className='frozen-countdown'>{formatTime(countdown)}</div>}\n\n <Button className='btn' onClick={forgotPassword}>\n {t('account.forgot_password')}\n </Button>\n\n {!info.accountFrozen && (\n <Button className='btn' onClick={retry}>\n {t('account.retry')}\n </Button>\n )}\n </div>\n </Modal>\n </>\n );\n};\n\nexport default WrongPasswordModal;\n"],
"mappings": "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",
"names": ["_a", "wrongPasswordModal_default"]
}