@particle-network/auth-core-modal
Version:
Auth Core provides MPC (Multi-Party Computation)-based threshold signatures.
272 lines (271 loc) • 14.5 kB
JavaScript
"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};