@particle-network/authkit
Version:
Auth Core provides MPC (Multi-Party Computation)-based threshold signatures.
272 lines (271 loc) • 14.5 kB
JavaScript
"use client";
import{a as at}from"./chunk-YV2QPNMZ.mjs";import{a as N}from"./chunk-YAWI32JU.mjs";import{a as _,j as it}from"./chunk-NSWCC5PG.mjs";import{a as d}from"./chunk-BM7ICTT2.mjs";import{a as et}from"./chunk-ZTTU2K7E.mjs";import"./chunk-UXH6IVHO.mjs";import"./chunk-GYYKKPHD.mjs";import"./chunk-3RRPQ2DX.mjs";import{A as G,B as q,C as J,D as K,E as Q,F as W,G as X,H as Y,I as Z,K as I,L as R,M as f,V as tt,b as w,c as E,d as $,h as g,l as L,m as O,o as D,p as F,r as b,sa as ot}from"./chunk-H6TXMQRA.mjs";import"./chunk-C7OWFSST.mjs";import{AuthType as st,hasMasterPassword as _t,deletePaymentPassword as Nt,getLatestAuthType as kt,syncUserInfo as lt}from"@particle-network/auth-core";import o,{useEffect as zt,useMemo as y,useState as Pt}from"react";import s from"react";var rt=`.bind-security-account-prompt {
padding: 24px;
}
.bind-security-account-prompt .bind-hint-content {
margin: 16px 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}=b(),{authCoreModal:x}=O(),v=()=>{h(!1)};return s.createElement(s.Fragment,null,s.createElement("style",null,g(rt)),s.createElement(it,{className:"bind-security-account-prompt",open:r,maskClosable:!1,onCancel:v,forceBottom:!0,zIndex:1e3,getContainer:()=>x.rootBody,height:"auto"},s.createElement("div",{className:"bind-hint-content"},p("account.security_account_bind_hint")),s.createElement("div",{className:"prompt-bottom-btn-box"},s.createElement(_,{className:"primary-antd-btn secondary particle-cancel-button",onClick:v},p("common.cancel")),s.createElement(_,{type:"primary",className:"primary-antd-btn",onClick:()=>{h(!1),m()}},p("common.bind")))))},ct=wt;var nt=`.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 Ct=()=>{var T,M,B,V,j;let{t:e}=b(),r=D(),[h,m]=Pt(!1),{setPaymentVerify:p,showSelectSecurityAccount:x,setPaymentPassword:v}=L(),{userInfo:t}=ot(),{modalOptions:dt}=F(),k=tt(),z=y(()=>_t(),[t]),P=i=>{var c;return((c=t==null?void 0:t.thirdparty_user_info)==null?void 0:c.provider)===st.jwt?i==null?void 0:i.replace(`${dt.projectId}:`,""):i},mt={email:J,phone:I,facebook:K,google:W,apple:G,twitter:f,twitterv1:f,discord:q,github:Q,twitch:R,microsoft:Z,linkedin:Y,jwt:X,telegram:at},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=st.twitter),i},[t]),pt=y(()=>{var a,c,n,u;let i="";return l&&t&&(i=t[`${l}`]||t[`${l}_email`]||w(P(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)||w(P(((u=(n=t==null?void 0:t.thirdparty_user_info)==null?void 0:n.user_info)==null?void 0:u.id)||""))},[l,t]),C=i=>{var a,c,n,u,U,H;((a=t==null?void 0:t.security_account)==null?void 0:a.email)&&!((c=t==null?void 0:t.security_account)!=null&&c.phone)||!((n=t==null?void 0:t.security_account)!=null&&n.email)&&((u=t==null?void 0:t.security_account)==null?void 0:u.phone)?r("/account/verify",{state:{account:((U=t==null?void 0:t.security_account)==null?void 0:U.email)||((H=t.security_account)==null?void 0:H.phone),authType:i,redirectUrl:"/account/security",pageType:"verify_security_account_set_security_account"}}):r("/account/bind",{state:{accountType:i,redirectUrl:"/account/security"}})},ut=()=>{var i,a,c,n;((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)?x(!0):r("/account/set-password",{state:{account:((c=t==null?void 0:t.security_account)==null?void 0:c.email)||((n=t==null?void 0:t.security_account)==null?void 0:n.phone)}})},yt=()=>{p({visible:!0,type:"close",onVerifyCompleted:i=>{Nt(i).then(a=>{k.success(e("account.close_success")),lt()}).catch(a=>{a.message&&k.error(a.message)})}})},A=y(()=>!0,[]),ht=()=>{r(-1)},vt=()=>{r("/account/master-password/change")},gt=()=>{r("/account/master-password")},bt=()=>{r("/account/master-password/description")},S=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)},[(T=t==null?void 0:t.security_account)==null?void 0:T.email,(M=t==null?void 0:t.security_account)==null?void 0:M.phone]);return zt(()=>{lt().catch(i=>{})},[]),o.createElement("div",{className:"account-and-security"},o.createElement("style",null,g(nt)),A&&o.createElement(N,{onBack:ht},e("account.account_and_security")),!A&&o.createElement(N,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:mt[l]}),o.createElement("div",{className:"account"},pt),o.createElement("div",{className:"more-account",onClick:()=>{S?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:bt},e("account.learn_more"))),o.createElement("div",{className:"mp-content"},o.createElement("div",{className:"mp-desc"},e("account.master_password_tip")),!z&&o.createElement("div",{className:"mp-set",onClick:gt},e("account.set"))),z&&o.createElement("div",{className:"label-item hover",onClick:vt},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")),E(((B=t==null?void 0:t.security_account)==null?void 0:B.email)||"")||o.createElement("div",{className:"label-item-btn",onClick:()=>C("email")},e("account.set"))),o.createElement("div",{className:"label-item"},o.createElement("div",{className:"label-item-name"},e("account.mobile")),$(((V=t==null?void 0:t.security_account)==null?void 0:V.phone)||"")||o.createElement("div",{className:"label-item-btn",onClick:()=>C("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")),(j=t==null?void 0:t.security_account)!=null&&j.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:ut},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:yt},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:()=>{S?v():m(!0)}},e("account.set"))))),o.createElement(et,{className:"footer-box-v2"}),o.createElement(ct,{visible:h,setVisible:m,onBind:()=>{r("/account/bind",{state:{accountType:t!=null&&t.email?"phone":"email",showSwitch:!0,redirectUrl:"/account/security"}})}}))},co=Ct;export{co as default};