{
  "version": 3,
  "sources": ["../../src/pages/loginAccount/index.tsx"],
  "sourcesContent": ["import { AuthType } from '@particle-network/auth-core';\nimport { useThrottleFn } from 'ahooks';\nimport { parsePhoneNumber } from 'libphonenumber-js/max';\nimport React, { useMemo } from 'react';\nimport useMessage from '../..//context/hooks/useMessage';\nimport Header from '../../components/header';\nimport SVGIcon from '../../components/icon/svg-icon';\nimport PowerFooter from '../../components/power-footer';\nimport { useCustomNavigate, useParticleAuth, useTranslation } from '../../context';\nimport { PageType } from '../account/accountVerify/config';\n\nimport email from '../../common/images/email_icon.png';\nimport facebook from '../../common/images/facebook_icon.png';\nimport google from '../../common/images/google_icon.png';\nimport phone from '../../common/images/phone_icon.png';\nimport twitter from '../../common/images/twitter_icon.png';\n\nimport styles from './index.less';\n\nexport const getAccountList = (params: any) => {\n  const { userInfo, t } = params;\n  const list = [\n    {\n      type: AuthType.phone,\n      icon: phone,\n      name: t('account.mobile'),\n      value: userInfo.phone,\n      id: undefined,\n      isOriginal: false,\n    },\n    {\n      type: AuthType.email,\n      icon: email,\n      name: t('account.email'),\n      value: userInfo.email,\n      id: undefined,\n      isOriginal: false,\n    },\n    {\n      type: AuthType.google,\n      icon: google,\n      name: t('login.google'),\n      value: userInfo.google_email,\n      id: userInfo.google_id,\n      isOriginal: false,\n    },\n    {\n      type: AuthType.facebook,\n      icon: facebook,\n      name: t('login.facebook'),\n      value: userInfo.facebook_email,\n      id: userInfo.facebook_id,\n      isOriginal: false,\n    },\n    {\n      type: AuthType.twitter,\n      icon: twitter,\n      name: t('login.twitter'),\n      value: userInfo.twitter_email,\n      id: userInfo.twitter_id,\n      isOriginal: false,\n    },\n  ];\n  // if (userInfo.email && isSDKSupportPassKeys()) {\n  //     list.push({\n  //         type: AuthType.passkeys,\n  //         icon: passkeys,\n  //         name: t('login.passkeys'),\n  //         value: undefined,\n  //         id: userInfo.passkeys_id ? userInfo.email : undefined,\n  //         isOriginal: false,\n  //     });\n  // }\n  return list;\n};\n\nexport const encryptValue = (value: string) => {\n  let result = value?.replace(' ', '');\n  if (!result) {\n    return result;\n  } else if (result?.includes?.('@')) {\n    // email\n    result = `${result.split('@')[0].substr(0, 3)}****@${result.split('@')[1]}`;\n  } else if (result?.includes?.('+')) {\n    // phone\n    const phoneNumber = parsePhoneNumber(result);\n    const nationalNumber = phoneNumber.nationalNumber.toString();\n    const countryCode = phoneNumber.countryCallingCode;\n    result = `+${countryCode} ${nationalNumber?.substr?.(0, 3)}****${nationalNumber?.substr?.(-4)}`;\n  } else if (result) {\n    result = `${result.substr(0, 3)}****${result.substr(-4)}`;\n  }\n  return result;\n};\n\nlet selectedAuthType: AuthType;\n\nconst LoginAccount = () => {\n  const { t } = useTranslation();\n  const navigate = useCustomNavigate();\n  const { userInfo, showSelectSecurityAccount } = useParticleAuth();\n  const message = useMessage();\n  const { run: toAccountVerify } = useThrottleFn(\n    (params) => {\n      navigate('/account/verify', {\n        state: {\n          account: params.account, // \u9A8C\u8BC1\u5B89\u5168\u8D26\u53F7\n          authType: selectedAuthType, // \u5217\u8868\u9009\u62E9\u7684 authType\n          pageType: PageType.VerifySecurityAccount_BindLoginAccount,\n        },\n      });\n    },\n    { wait: 3000 }\n  );\n\n  const accountList = useMemo(() => {\n    return getAccountList({ userInfo, t });\n  }, [userInfo, t]);\n\n  const toLoginAccountBind = (item: any) => {\n    if (item.value || item.id) {\n      // \u76F4\u63A5\u8DF3\u8F6C\u5230LoginAccount\u9875\u9762\n      // if (item.type === AuthType.passkeys) {\n      //     navigate('/login-account/details', {\n      //         state: {\n      //             accountInfo: item,\n      //         },\n      //     });\n      // } else {\n      navigate('/login-account/bind', {\n        state: {\n          authType: item.type,\n        },\n      });\n      // }\n    } else if (!userInfo?.security_account?.email && !userInfo?.security_account?.phone) {\n      // \u7ED1\u5B9A\u5B89\u5168\u8D26\u53F7\n      message.error('Please bind security account first.');\n    } else if (userInfo?.security_account?.email && userInfo?.security_account?.phone) {\n      // \u9009\u62E9\u5B89\u5168\u8D26\u53F7\n      showSelectSecurityAccount(true, {\n        authType: selectedAuthType, // \u5217\u8868\u9009\u62E9\u7684 authType\n        pageType: PageType.VerifySecurityAccount_BindLoginAccount,\n      });\n    } else {\n      // \u9A8C\u8BC1\u5B89\u5168\u8D26\u53F7\n      toAccountVerify({\n        account: userInfo?.security_account?.email || userInfo?.security_account?.phone,\n      });\n    }\n  };\n\n  return (\n    <div className='login-account-box'>\n      <style>{styles as unknown as string}</style>\n      <Header displayBackBtn={true}>{t('account.login_account')}</Header>\n      <div className='scroll-content'>\n        <div className='login-account-description'>{t('account.login_account_hint')}</div>\n        <div className='account-list'>\n          {accountList?.map((item, index) => {\n            return (\n              <div\n                className='login-account-item'\n                onClick={() => {\n                  selectedAuthType = item.type;\n                  toLoginAccountBind(item);\n                }}\n                key={index}\n              >\n                <img src={item.icon} />\n                <div className='login-account-name'>{item.name}</div>\n                <div className='login-account-value' data-no-linked={item.value || item.id ? false : true}>\n                  {encryptValue(item.value || item.id) || t('account.not_linked')}\n                </div>\n                <SVGIcon className='arrow-right-icon' name='arrow_right_icon' />\n              </div>\n            );\n          })}\n        </div>\n      </div>\n\n      <PowerFooter className='footer-box-v2' />\n    </div>\n  );\n};\n\nexport default LoginAccount;\n"],
  "mappings": "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",
  "names": ["loginAccount_default"]
}
