UNPKG

@particle-network/auth-core-modal

Version:

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

272 lines (271 loc) 14.5 kB
"use client"; import{a as Y}from"./chunk-FZ52HJ5J.js";import{a as w}from"./chunk-CA2ONM6K.js";import{a as X}from"./chunk-3GNUKO34.js";import{b as d}from"./chunk-6ART4FPU.js";import{a as W}from"./chunk-JLTVTEXA.js";import{P as x,Q as J,R as K,g as j,h as U,ha as Q,i as H,j as E,k as $,l as L,la as Z,m as O,n as D,o as F,q as G,qa as I,r as q,s as g,sa as R,ta as tt,ua as ot}from"./chunk-CNYYVI6H.js";import"./chunk-L535NPP3.js";import{AuthType as ct,hasMasterPassword as _t,deletePaymentPassword as Nt,getLatestAuthType as kt,syncUserInfo as nt}from"@particle-network/auth-core";import o,{useEffect as zt,useMemo as y,useState as Ct}from"react";import{useTranslation as Pt}from"react-i18next";import{Button as it,Modal as gt}from"antd";import n from"react";import{useTranslation as xt}from"react-i18next";var et=`.bind-security-account-prompt .ant-modal-content { padding: 18px; } .bind-security-account-prompt .bind-hint-content { margin: 30px 0; font-weight: 500; font-size: 18px; text-align: center; color: var(--text-color); } .bind-security-account-prompt .prompt-bottom-btn-box { display: flex; gap: 16px; } `;var wt=e=>{let{visible:r,setVisible:h,onBind:m}=e,{t:p}=xt(),{authCoreModal:b}=I(),v=()=>{h(!1)};return n.createElement(n.Fragment,null,n.createElement("style",null,et),n.createElement(gt,{className:"bind-security-account-prompt",open:r,maskClosable:!1,onCancel:v,closeIcon:n.createElement(Z,null),centered:!0,getContainer:()=>b.rootBody},n.createElement("div",{className:"bind-hint-content"},p("account.security_account_bind_hint")),n.createElement("div",{className:"prompt-bottom-btn-box"},n.createElement(it,{className:"primary-antd-btn secondary particle-cancel-button",onClick:v},p("common.cancel")),n.createElement(it,{className:"primary-antd-btn",onClick:()=>{h(!1),m()}},p("common.bind")))))},at=wt;var rt=`.account-and-security { position: relative; display: flex; flex-direction: column; align-items: center; box-sizing: border-box; height: 100%; overflow: hidden; } .account-and-security .scroll-content { display: flex; flex: 1; flex-direction: column; align-items: center; width: 100%; padding-bottom: 0; overflow-y: auto; } .account-and-security .scroll-content .category-title { align-self: flex-start; margin-top: 8px; margin-left: calc(5% + 12px); font-weight: bold; font-size: 14px; line-height: 16px; color: var(--text-color); } .account-and-security .hover { cursor: pointer; } .account-and-security .hover:hover { opacity: var(--hover-opacity); } .account-and-security .label-item-switch { box-shadow: none !important; transform: scale(0.98); } .account-and-security .label-item { display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 20px; } .account-and-security .label-item .arrow-right-icon { color: var(--text-color); } .account-and-security .label-item .arrow-right-icon svg { width: 11px; height: 11px; } .account-and-security .label-item .label-item-name { font-weight: 400; font-size: 14px; line-height: 16px; color: var(--text-color); } .account-and-security .label-item .label-item-btn { min-width: 44px; height: 22px; padding: 0 13px; border-radius: var(--primary-btn-border-radius); font-weight: 500; font-size: 14px; line-height: 22px; text-align: center; white-space: nowrap; color: var(--primary-btn-color); background: var(--primary-btn-background-color); opacity: 1; cursor: pointer; } .account-and-security .label-item .label-item-btn:hover { opacity: var(--hover-opacity); } .account-and-security .footer-tips { position: absolute; bottom: 50px; font-weight: 400; font-size: 14px; line-height: 24px; text-align: center; color: var(--text-color); } .account-and-security .title { position: sticky; z-index: 1; top: 0; width: 100vw; padding-top: 18px; font-weight: 500; font-size: 18px; text-align: center; color: var(--text-color); background: var(--theme-background-color); background-color: var(--bg-color); } @media (min-width: 600px) { .account-and-security .title { width: calc(100 * var(--vw)); } } .account-and-security .payment-security { box-sizing: border-box; width: 90%; padding: 14px; margin-top: 18px; margin-bottom: 0; border-radius: var(--card-border-radius); background-color: var(--card-unclickable-background-color); } .account-and-security .payment-security h3 { margin-bottom: 12px; font-weight: bold; font-size: 14px; line-height: 16px; color: var(--text-color); } .account-and-security .payment-security p { box-sizing: border-box; padding-right: 20px; font-weight: 400; font-size: 14px; line-height: 18px; color: var(--secondary-text-color); opacity: 1; } .account-and-security .authorization-item { margin-bottom: 20px; } .account-and-security .authorization-item .label-item { height: 36px; margin: 0; } .account-and-security .master-password-item { width: 90%; padding: 14px; margin-top: 18px; border-radius: var(--card-border-radius); background-color: var(--card-unclickable-background-color); } .account-and-security .master-password-item .mp-header { display: flex; flex-direction: row; justify-content: space-between; align-items: center; margin-bottom: 12px; } .account-and-security .master-password-item .mp-header .mp-title { font-weight: bold; font-size: 14px; line-height: 16px; color: var(--text-color); } .account-and-security .master-password-item .mp-header .mp-learn-more { font-weight: 500; font-size: 14px; line-height: 16px; color: var(--accent-color); cursor: pointer; } .account-and-security .master-password-item .mp-content { display: flex; flex-direction: row; justify-content: space-between; align-items: center; } .account-and-security .master-password-item .mp-content .mp-desc { flex-shrink: 1; box-sizing: border-box; font-weight: 400; font-size: 14px; line-height: 18px; color: var(--secondary-text-color); opacity: 1; } .account-and-security .master-password-item .mp-content .mp-set { flex-shrink: 0; min-width: 44px; height: 22px; padding: 0 13px; margin-left: 16px; border-radius: var(--primary-btn-border-radius); font-weight: 500; font-size: 14px; line-height: 22px; text-align: center; white-space: nowrap; color: var(--primary-btn-color); background: var(--primary-btn-background-color); opacity: 1; cursor: pointer; } .account-and-security .master-password-item .mp-content .mp-set:hover { opacity: var(--hover-opacity); } .account-and-security .verification-security { box-sizing: border-box; width: 90%; padding: 14px; margin-top: 18px; border-radius: var(--card-border-radius); background-color: var(--card-unclickable-background-color); } .account-and-security .verification-security h3 { margin-bottom: 12px; font-weight: bold; font-size: 14px; line-height: 16px; color: var(--text-color); } .account-and-security .verification-security p { box-sizing: border-box; padding-right: 20px; font-weight: 400; font-size: 14px; line-height: 18px; color: var(--secondary-text-color); opacity: 1; } .account-and-security .account-box { display: flex; align-items: center; box-sizing: border-box; width: 90%; padding: 22px 12px; margin-top: 18px; border-radius: var(--card-border-radius); background-color: var(--card-unclickable-background-color); } .account-and-security .account-box .account-avatar { width: 20px; height: 20px; margin-right: 11px; border-radius: 50%; background-color: #efefef; } .account-and-security .account-box .account { flex-grow: 1; margin-right: 10px; overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; color: var(--text-color); } .account-and-security .account-box .more-account { font-weight: 500; font-size: 14px; text-align: end; text-overflow: ellipsis; white-space: nowrap; color: var(--accent-color); cursor: pointer; } `;var At=()=>{var P,A,S,T,M;let{t:e}=Pt(),r=R(),[h,m]=Ct(!1),{setPaymentVerify:p,showSelectSecurityAccount:b,setPaymentPassword:v}=tt(),{userInfo:t}=Q(),{modalOptions:st}=ot(),f=X(),_=y(()=>_t(),[t]),N=i=>{var c;return((c=t==null?void 0:t.thirdparty_user_info)==null?void 0:c.provider)===ct.jwt?i==null?void 0:i.replace(`${st.projectId}:`,""):i},lt={email:H,phone:G,facebook:E,google:L,apple:j,twitter:g,twitterv1:g,discord:U,github:$,twitch:q,microsoft:F,linkedin:D,jwt:O,telegram:Y},l=y(()=>{var a;let i=kt();return i||(i=((a=t==null?void 0:t.thirdparty_user_info)==null?void 0:a.provider)||"email"),i==="twitterv1"&&(i=ct.twitter),i},[t]),dt=y(()=>{var a,c,s,u;let i="";return l&&t&&(i=t[`${l}`]||t[`${l}_email`]||x(N(t[`${l}_id`]))),i||(t==null?void 0:t.email)||(t==null?void 0:t.phone)||((c=(a=t==null?void 0:t.thirdparty_user_info)==null?void 0:a.user_info)==null?void 0:c.email)||x(N(((u=(s=t==null?void 0:t.thirdparty_user_info)==null?void 0:s.user_info)==null?void 0:u.id)||""))},[l,t]),k=i=>{var a,c,s,u,B,V;((a=t==null?void 0:t.security_account)==null?void 0:a.email)&&!((c=t==null?void 0:t.security_account)!=null&&c.phone)||!((s=t==null?void 0:t.security_account)!=null&&s.email)&&((u=t==null?void 0:t.security_account)==null?void 0:u.phone)?r("/account/verify",{state:{account:((B=t==null?void 0:t.security_account)==null?void 0:B.email)||((V=t.security_account)==null?void 0:V.phone),authType:i,redirectUrl:"/account/security",pageType:"verify_security_account_set_security_account"}}):r("/account/bind",{state:{accountType:i,redirectUrl:"/account/security"}})},mt=()=>{var i,a,c,s;((i=t==null?void 0:t.security_account)==null?void 0:i.email)&&((a=t==null?void 0:t.security_account)==null?void 0:a.phone)?b(!0):r("/account/set-password",{state:{account:((c=t==null?void 0:t.security_account)==null?void 0:c.email)||((s=t==null?void 0:t.security_account)==null?void 0:s.phone)}})},pt=()=>{p({visible:!0,type:"close",onVerifyCompleted:i=>{Nt(i).then(a=>{f.success(e("account.close_success")),nt()}).catch(a=>{a.message&&f.error(a.message)})}})},z=y(()=>!0,[]),ut=()=>{r(-1)},yt=()=>{r("/account/master-password/change")},ht=()=>{r("/account/master-password")},vt=()=>{r("/account/master-password/description")},C=y(()=>{var i,a;return((i=t==null?void 0:t.security_account)==null?void 0:i.email)||((a=t==null?void 0:t.security_account)==null?void 0:a.phone)},[(P=t==null?void 0:t.security_account)==null?void 0:P.email,(A=t==null?void 0:t.security_account)==null?void 0:A.phone]);return zt(()=>{nt().catch(i=>{})},[]),o.createElement("div",{className:"account-and-security"},o.createElement("style",null,rt),z&&o.createElement(w,{onBack:ut},e("account.account_and_security")),!z&&o.createElement(w,null,e("account.account_and_security")),o.createElement("div",{className:"scroll-content"},o.createElement("div",{className:"category-title"},e("account.account")),o.createElement("div",{className:"account-box"},o.createElement("img",{className:"account-avatar",src:lt[l]}),o.createElement("div",{className:"account"},dt),o.createElement("div",{className:"more-account",onClick:()=>{C?r("/login-account"):m(!0)}},e("account.more_login_account"))),o.createElement("div",{className:"payment-security authorization-item"},o.createElement("div",{className:"label-item hover",onClick:()=>{r("/manageDevices/deviceList")}},o.createElement("div",{className:"label-item-name"},e("new.authorization")),o.createElement(d,{className:"arrow-right-icon",name:"arrow_right_icon"}))),o.createElement("div",{className:"category-title"},e("account.security")),o.createElement("div",{className:"master-password-item"},o.createElement("div",{className:"mp-header"},o.createElement("div",{className:"mp-title"},e("account.master_password")),o.createElement("div",{className:"mp-learn-more",onClick:vt},e("account.learn_more"))),o.createElement("div",{className:"mp-content"},o.createElement("div",{className:"mp-desc"},e("account.master_password_tip")),!_&&o.createElement("div",{className:"mp-set",onClick:ht},e("account.set"))),_&&o.createElement("div",{className:"label-item hover",onClick:yt},o.createElement("div",{className:"label-item-name"},e("account.change_master_password")),o.createElement(d,{className:"arrow-right-icon",name:"arrow_right_icon"}))),o.createElement("div",{className:"verification-security"},o.createElement("h3",null,e("account.verification_security")),o.createElement("p",null,e("account.verification_security_tip")),o.createElement("div",{className:"label-item"},o.createElement("div",{className:"label-item-name"},e("account.email")),J(((S=t==null?void 0:t.security_account)==null?void 0:S.email)||"")||o.createElement("div",{className:"label-item-btn",onClick:()=>k("email")},e("account.set"))),o.createElement("div",{className:"label-item"},o.createElement("div",{className:"label-item-name"},e("account.mobile")),K(((T=t==null?void 0:t.security_account)==null?void 0:T.phone)||"")||o.createElement("div",{className:"label-item-btn",onClick:()=>k("phone")},e("account.set")))),o.createElement("div",{className:"payment-security"},o.createElement("h3",null,e("account.payment_security")),o.createElement("p",null,e("account.payment_password_hint")),(M=t==null?void 0:t.security_account)!=null&&M.has_set_payment_password?o.createElement(o.Fragment,null,o.createElement("div",{className:"label-item hover",onClick:()=>r("/account/change-password")},o.createElement("div",{className:"label-item-name"},e("account.change_payment_password")),o.createElement(d,{className:"arrow-right-icon",name:"arrow_right_icon"})),o.createElement("div",{className:"label-item hover",onClick:mt},o.createElement("div",{className:"label-item-name"},e("account.forgot_payment_password")),o.createElement(d,{className:"arrow-right-icon",name:"arrow_right_icon"})),o.createElement("div",{className:"label-item hover",onClick:pt},o.createElement("div",{className:"label-item-name"},e("account.close_payment_password")),o.createElement(d,{className:"arrow-right-icon",name:"arrow_right_icon"}))):o.createElement("div",{className:"label-item"},o.createElement("div",{className:"label-item-name"},e("account.payment_password")),o.createElement("div",{className:"label-item-btn",onClick:()=>{C?v():m(!0)}},e("account.set"))))),o.createElement(W,{className:"footer-box-v2"}),o.createElement(at,{visible:h,setVisible:m,onBind:()=>{r("/account/bind",{state:{accountType:t!=null&&t.email?"phone":"email",showSwitch:!0,redirectUrl:"/account/security"}})}}))},lo=At;export{lo as default};