UNPKG

@particle-network/authkit

Version:

Auth Core provides MPC (Multi-Party Computation)-based threshold signatures.

8 lines (7 loc) 7.21 kB
{ "version": 3, "sources": ["../../src/components/icon/icon-copy.tsx", "../../src/context/hooks/usePaymentPassword.ts", "../../src/pages/sign/components/menu.tsx"], "sourcesContent": ["import Icon from '@ant-design/icons';\nimport React from 'react';\nimport svg from '../../common/icon/copy.svg';\n\nconst IconCopy = ({ className = '', ...others }) => {\n return (\n <Icon\n className={className}\n //@ts-ignore\n component={svg}\n {...others}\n />\n );\n};\n\nexport default IconCopy;\n", "import { hasPaymentPassword, isNullish } from '@particle-network/auth-core';\nimport { useEffect, useState } from 'react';\nimport { useParticleAuth } from '..';\nimport { PromptSettingType } from '../../api/model/bundle';\nimport { PreferenceKey, load, save } from '../../repository';\n\nexport const usePaymentPassword = () => {\n const [hasSetPaymentPassword, setHasSetPaymentPassword] = useState(hasPaymentPassword());\n\n const { setPaymentPassword, userInfo, modalOptions, showAccountTipModal } = useParticleAuth();\n\n useEffect(() => {\n setHasSetPaymentPassword(Boolean(userInfo?.security_account?.has_set_payment_password));\n }, [userInfo]);\n\n const showSetPaymentPasswordOrConfirm = (confirm: () => void) => {\n if (hasSetPaymentPassword) {\n confirm();\n } else {\n if (\n modalOptions.promptSettingConfig?.promptPaymentPasswordSettingWhenSign === PromptSettingType.every ||\n modalOptions.promptSettingConfig?.promptPaymentPasswordSettingWhenSign === PromptSettingType.everyAndNotSkip\n ) {\n showAccountTipModal({\n visible: true,\n confirm,\n });\n } else if (\n (modalOptions.promptSettingConfig?.promptPaymentPasswordSettingWhenSign ||\n isNullish(modalOptions.promptSettingConfig?.promptPaymentPasswordSettingWhenSign)) &&\n !load(PreferenceKey.PN_OPEN_SET_PAYMENT_PASSWORD)\n ) {\n save(PreferenceKey.PN_OPEN_SET_PAYMENT_PASSWORD, '1');\n showAccountTipModal({\n visible: true,\n confirm,\n });\n } else {\n confirm();\n }\n }\n };\n\n return {\n hasSetPaymentPassword,\n setPaymentPassword,\n showSetPaymentPasswordOrConfirm,\n };\n};\n", "// wallet : displaywallet \u6BCF\u4E2A\u9875\u9762\u90FD\u6709\n// account : \u6BCF\u4E2A\u9875\u9762\u90FD\u6709,\u7EA2\u70B9 \u70B9\u51FB\u6D88\u5931 \u5B58\u50A8\u5230localstorage\n// transaction : evm \u94FE eth_sendTransaction \u65F6\u6709,\u7EA2\u70B9\u70B9\u51FB\u6D88\u5931 \u5B58\u50A8\u5230 sessionStorage\n// \u5C0F\u4E8E3\u4E2A\u7684\u65F6\u5019\uFF0C\u4E0D\u663E\u793Amenu\uFF0C\u76F4\u63A5\u5E73\u94FA\n\nimport { Badge } from 'antd';\nimport md5 from 'crypto-js/md5.js';\nimport cloneDeep from 'lodash/cloneDeep.js';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport { useCustomNavigate, useParticleAuth } from '../../../context';\n\nconst Menu = (props: any) => {\n const { userInfo } = props;\n const navigate = useCustomNavigate();\n const { modalOptions } = useParticleAuth();\n\n const accountSecurityKey = useMemo(() => {\n const key = `${modalOptions.appId}_${userInfo?.uuid}`;\n return `account_security_${md5(key)}`;\n }, [modalOptions.appId, userInfo?.uuid]);\n\n const [meunInfo, setMeunInfo] = useState<any>({\n account: {\n name: 'Account & Security',\n display: true,\n badge: false,\n },\n });\n\n /**\n * \u6709Paymentpassword\u6216Masterpassword\u5176\u4E2D\u4E00\u4E2A\u6CA1\u6709\u5C31\u8BBE\u7F6E security \u4E3Atrue\uFF0C\u663E\u793A\u7EA2\u70B9\n */\n useEffect(() => {\n if (userInfo?.security_account && !!accountSecurityKey && !localStorage.getItem(accountSecurityKey)) {\n // eslint-disable-next-line camelcase\n const { has_set_master_password, has_set_payment_password } = userInfo?.security_account || {};\n // eslint-disable-next-line camelcase\n if (!has_set_master_password || !has_set_payment_password) {\n meunInfo.account.badge = true;\n } else {\n meunInfo.account.badge = false;\n }\n } else {\n meunInfo.account.badge = false;\n }\n setMeunInfo(cloneDeep(meunInfo));\n }, [userInfo?.security_account, accountSecurityKey]);\n\n const accountButton = (\n <div\n className='item'\n onClick={() => {\n meunInfo.account.badge = false;\n setMeunInfo(cloneDeep(meunInfo));\n navigate('/account/security');\n localStorage.setItem(accountSecurityKey, 'true');\n }}\n >\n <Badge dot={!!meunInfo.account.badge}>\n <SVGIcon className='wallet-icon' name='security_icon' />\n </Badge>\n </div>\n );\n\n return <div className='top-menu-list'>{!!meunInfo?.account?.display && accountButton}</div>;\n};\n\nexport default Menu;\n"], "mappings": "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", "names": ["React", "useEffect", "useState", "useState", "useEffect", "React"] }