@particle-network/authkit
Version:
Auth Core provides MPC (Multi-Party Computation)-based threshold signatures.
8 lines (7 loc) • 22.6 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/pages/account/setMasterPassword/index.tsx", "../../src/pages/account/setMasterPasswordSuccess/index.tsx", "../../src/pages/account/setMasterPassword/masterPasswordLoading.tsx"],
"sourcesContent": ["import { RecordType } from '@particle-network/analytics';\nimport { analyticsRecord, setMastersPassword } from '@particle-network/auth-core';\nimport { useRequest } from 'ahooks';\nimport { Button, Form, Modal, Space, Typography } from 'antd';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { AuthError } from '../../../api/model/authError';\nimport { PromptSettingType } from '../../../api/model/bundle';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport InputPassword from '../../../components/input-password';\nimport PowerFooter from '../../../components/power-footer';\nimport {\n useAuthCoreModal,\n useCustomNavigate,\n useModalOptions,\n useParticleAuth,\n useTranslation,\n} from '../../../context';\nimport { useConnect } from '../../../context/hooks/useConnect';\nimport useMessage from '../../../context/hooks/useMessage';\nimport { AuthCoreModalEvent } from '../../../context/types';\nimport { isAutoFocusSupported } from '../../../utils';\nimport SetMasterPasswordSuccess from '../setMasterPasswordSuccess';\nimport styles from './index.less';\nimport MasterPasswordLoading from './masterPasswordLoading';\n\nconst SetMasterPassword = (props: any) => {\n const navigate = useCustomNavigate();\n\n const { t } = useTranslation();\n\n const { Text, Link } = Typography;\n const message = useMessage();\n const state = props;\n\n const [digitsError, setDigitsError] = useState(false);\n\n const [matchError, setMatchError] = useState(false);\n\n const [passwordStep, setPasswordStep] = useState<'unset' | 'loading' | 'success' | 'failure'>('unset');\n\n const { authCoreModal } = useAuthCoreModal();\n\n const [passwordForm] = Form.useForm();\n\n const [passwordValue, setPasswordValue] = useState('');\n\n const [disableSubmit, setDisableSubmit] = useState(true);\n\n const { loginSuccessRedirectToApp, events } = useParticleAuth();\n\n const { modalOptions } = useModalOptions();\n\n const { disconnect } = useConnect();\n\n const { setAuthCoreModal } = useAuthCoreModal();\n\n const changePassword = useMemo(() => (state as any)?.setNewMasterPassword, [state]);\n\n const loginSetMasterPassword = useMemo(() => (state as any)?.loginSetMasterPassword, [state]);\n\n useEffect(() => {\n if (\n modalOptions?.promptSettingConfig?.promptMasterPasswordSettingWhenLogin === PromptSettingType.everyAndNotSkip &&\n loginSetMasterPassword\n ) {\n setAuthCoreModal({\n closable: false,\n });\n return () => {\n setAuthCoreModal({\n closable: true,\n });\n };\n }\n }, [loginSetMasterPassword, modalOptions?.promptSettingConfig?.promptMasterPasswordSettingWhenLogin]);\n\n const { run: runSetMasterPassword } = useRequest(setMastersPassword, {\n manual: true,\n onBefore: () => {\n setPasswordStep('loading');\n },\n onSuccess: async (result) => {\n console.log('set master password success', result);\n if (!changePassword) {\n analyticsRecord({\n // eslint-disable-next-line camelcase\n record_type: RecordType.PAGE_SETTING_MASTER_PASSWORD_SET, // \u4E3B\u5BC6\u7801\u8BBE\u7F6E\u6210\u529F\n });\n } else {\n analyticsRecord({\n // eslint-disable-next-line camelcase\n record_type: RecordType.PAGE_SETTING_MASTER_PASSWORD_CHANGE, // \u4E3B\u5BC6\u7801\u4FEE\u6539\u6210\u529F\n });\n }\n\n setPasswordStep('success');\n },\n onError: (error) => {\n console.log('set master password error', error);\n setPasswordStep('failure');\n message.error(t('account.master_password_set_failed'));\n },\n });\n\n const toDescription = () => {\n navigate('/account/master-password/description');\n };\n\n const onInputFinish = ({\n password,\n confirmPassword,\n }: {\n password: string | undefined;\n confirmPassword: string | undefined;\n }) => {\n if (password && password.length >= 6 && password.length <= 20 && password === confirmPassword) {\n setPasswordValue(password);\n runSetMasterPassword(password);\n } else {\n setDigitsError(!password || password.length < 6 || password.length > 20);\n setMatchError(Boolean(password && confirmPassword && password !== confirmPassword));\n }\n };\n\n const onPasswordInputBlur = (event: any) => {\n const password: string | undefined = passwordForm.getFieldValue('password');\n const confirmPassword: string | undefined = passwordForm.getFieldValue('confirmPassword');\n setDigitsError(!password || password.length < 6 || password.length > 20);\n if (password && confirmPassword) {\n setMatchError(password !== confirmPassword);\n }\n };\n const onConfirmPasswordInputBlur = (event: any) => {\n const password: string | undefined = passwordForm.getFieldValue('password');\n const confirmPassword: string | undefined = passwordForm.getFieldValue('confirmPassword');\n setMatchError(Boolean(password && confirmPassword && password !== confirmPassword));\n };\n\n const onPasswordInputChange = () => {\n setDigitsError(false);\n };\n\n const onConfirmPasswordInputChange = () => {\n setMatchError(false);\n };\n\n const warningModalRef = React.useRef<any>();\n\n const onBack = () => {\n if (modalOptions?.promptSettingConfig?.promptMasterPasswordSettingWhenLogin === PromptSettingType.everyAndNotSkip) {\n warningModalRef.current = Modal.warning({\n className: 'm-warning-modal',\n wrapClassName: 'auth-core-modal-error set-mp-warning-modal',\n getContainer: () => {\n return authCoreModal.rootBody as HTMLElement;\n },\n content: (\n <div className='content-wrap'>\n <div className='content'>{t('account.unset_the_master_password')}</div>\n <div className='footer-btns'>\n <Button\n className='cancel-btn'\n onClick={() => {\n disconnect().finally(() => {\n warningModalRef.current.destroy();\n setAuthCoreModal({\n particleModalVisible: false,\n });\n\n events.emit(AuthCoreModalEvent.LoginFail, AuthError.userCancelOperation());\n });\n }}\n >\n {t('account.exit')}\n </Button>\n <Button\n className='confirm-btn'\n onClick={() => {\n warningModalRef.current.destroy();\n }}\n >\n {t('new.continue')}\n </Button>\n </div>\n </div>\n ),\n closable: true,\n maskClosable: false,\n });\n } else if (loginSetMasterPassword) {\n loginSuccessRedirectToApp();\n } else {\n navigate(-1);\n }\n };\n\n const onValuesChange = () => {\n const password = passwordForm.getFieldValue('password');\n const confirmPassword = passwordForm.getFieldValue('confirmPassword');\n setDisableSubmit(!password || !confirmPassword);\n };\n\n useEffect(() => {\n // biRecords({\n // record_type: RecordType.PAGE_SETTING_MASTER_PASSWORD_ENTER, // \u8FDB\u5165\u4E3B\u5BC6\u7801\u8BBE\u7F6E\u9875\u9762\n // });\n }, []);\n\n return (\n <div className='set-mp-container'>\n <style>{styles as unknown as string}</style>\n <div className='set-mp-title'>\n {changePassword ? t('account.new_master_password') : t('account.master_password')}\n </div>\n\n {/* set master password */}\n {(passwordStep === 'unset' || passwordStep === 'failure') && (\n <div className='form-wrap'>\n <Form onFinish={onInputFinish} form={passwordForm} layout='vertical' onValuesChange={onValuesChange}>\n <div className='account-header'>\n <SVGIcon className='icon-navigation-back' name='circle_back' onClick={onBack} />\n </div>\n <div className='scroll-content'>\n <div className='mp-input-name padding-top-16'>\n {changePassword ? t('account.new_master_password') : t('account.master_password')}\n </div>\n <Form.Item name='password' initialValue={passwordValue}>\n <InputPassword\n className='mp-input'\n onBlur={onPasswordInputBlur}\n onChange={onPasswordInputChange}\n autoFocus={isAutoFocusSupported()}\n />\n </Form.Item>\n\n {digitsError && <div className='mp-input-error'>{t('account.password_digits_hint')}</div>}\n\n <div className='mp-confirm-input-name'>\n {changePassword ? t('account.confirm_new_master_password') : t('account.confirm_master_password')}\n </div>\n\n <Form.Item name='confirmPassword' initialValue={passwordValue}>\n <InputPassword\n className='mp-input'\n onBlur={onConfirmPasswordInputBlur}\n onChange={onConfirmPasswordInputChange}\n autoFocus={false}\n />\n </Form.Item>\n\n {matchError && <div className='mp-input-error'>{t('account.master_password_not_match')}</div>}\n\n <Space className='description-space' direction='vertical'>\n <Text>\n * {t('account.master_password_use1')}{' '}\n <Link onClick={toDescription} className='more-text-btn'>\n {t('account.learn_more_period')}\n </Link>\n </Text>\n <Text strong>* {t('account.master_password_store_hint')}</Text>\n <Text>{t('account.master_password_note')}</Text>\n </Space>\n </div>\n <Form.Item>\n <div className='set-mp-footer'>\n <Button className='primary-antd-btn set-mp-btn' htmlType='submit' disabled={disableSubmit}>\n {changePassword ? t('account.set_new_master_password') : t('account.set_master_password')}\n </Button>\n <PowerFooter />\n </div>\n </Form.Item>\n </Form>\n </div>\n )}\n\n {/* set master password loading */}\n {passwordStep === 'loading' && <MasterPasswordLoading />}\n\n {/* set master password success */}\n {passwordStep === 'success' && <SetMasterPasswordSuccess loginSetMasterPassword={loginSetMasterPassword} />}\n </div>\n );\n};\n\nexport default SetMasterPassword;\n", "import { useInterval } from 'ahooks';\nimport { Button, Space, Typography } from 'antd';\nimport { useLottie } from 'lottie-react';\nimport React, { Suspense, useState } from 'react';\nimport PowerFooter from '../../../components/power-footer';\nimport { useCustomNavigate, useParticleAuth, useTranslation } from '../../../context';\nimport styles from './index.less';\nconst rightData = require('../../../common/lottie/right.json');\n\nconst SetMasterPasswordSuccess = (props: any) => {\n const { loginSetMasterPassword } = props;\n const { loginSuccessRedirectToApp } = useParticleAuth();\n const { Text } = Typography;\n const { t } = useTranslation();\n const navigate = useCustomNavigate();\n\n const [interval, setInterval] = useState<number | undefined>(1000);\n\n const [countdown, setCountdown] = useState(3);\n\n const { View } = useLottie({\n animationData: rightData,\n loop: false,\n });\n\n useInterval(() => {\n if (countdown > 0) {\n const result = countdown - 1;\n setCountdown(result);\n if (result === 0) {\n setInterval(undefined);\n backOnClick();\n }\n }\n }, interval);\n\n const backOnClick = () => {\n if (loginSetMasterPassword) {\n loginSuccessRedirectToApp();\n } else {\n navigate('/account/security', { replace: true, back: true });\n }\n };\n\n return (\n <>\n <style>{styles as unknown as string}</style>\n <div className='set-mp-success-container'>\n <Suspense fallback={<></>}>\n <div className='set-mp-success-icon'>{View}</div>\n </Suspense>\n <div className='set-mp-success'>{t('account.setting_successed')}</div>\n <Space className='set-mp-success-tip' direction='vertical'>\n <Text>{t('account.master_password_successed')}</Text>\n <Text strong>{t('account.master_password_store_hint')}</Text>\n </Space>\n\n <Button className='primary-antd-btn back-btn' onClick={backOnClick}>\n {t('login.back') + ` (${countdown})`}\n </Button>\n <PowerFooter />\n </div>\n </>\n );\n};\n\nexport default SetMasterPasswordSuccess;\n", "import { Space, Typography } from 'antd';\nimport { useLottie } from 'lottie-react';\nimport React, { Suspense } from 'react';\nimport { useTranslation } from '../../../context';\nimport PowerFooter from '../../../components/power-footer';\nimport { useCustomize } from '../../../context/hooks';\n\nconst walletEncryptLight = require('../../../common/lottie/wallet_encrypt_fff.json');\nconst walletEncryptDark = require('../../../common/lottie/wallet_encrypt_000.json');\n\nconst MasterPasswordLoading = () => {\n const { t } = useTranslation();\n const { themeType } = useCustomize();\n\n const { View } = useLottie({\n animationData: themeType === 'dark' ? walletEncryptDark : walletEncryptLight,\n loop: true,\n });\n\n return (\n <div className='mp-loading-container' data-theme={themeType}>\n <div className='scroll-content'>\n <Suspense fallback={<></>}>\n <div className='mp-icon-loading'>{View}</div>\n </Suspense>\n <Space className='loading-tip' direction='vertical'>\n <Typography.Text>{t('account.master_password_loading_tip1')}</Typography.Text>\n <Typography.Text>{t('account.master_password_loading_tip2')}</Typography.Text>\n <Typography.Text>{t('account.master_password_loading_tip3')}</Typography.Text>\n </Space>\n </div>\n <PowerFooter />\n </div>\n );\n};\n\nexport default MasterPasswordLoading;\n"],
"mappings": "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",
"names": ["Button", "Space", "Typography", "React", "useState", "setMasterPasswordSuccess_default", "Space", "Typography", "useLottie", "React", "Suspense", "useLottie", "React", "Suspense", "Space", "Typography", "Typography", "useState", "_a", "React", "Button", "Space", "setMasterPasswordSuccess_default", "setMasterPassword_default"]
}