@abtnode/blocklet-services 1.17.7 → 1.17.8-beta-20260104-120132-cb5b1914
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/routes/blocklet.js +26 -2
- package/api/util/blocklet-utils.js +15 -0
- package/dist/assets/{AdapterDayjs-CIz_EOtQ.js → AdapterDayjs-DyRP0A_7.js} +1 -1
- package/dist/assets/{Google-UUKF9aLU.js → Google-Bjq5o7qL.js} +1 -1
- package/dist/assets/{access-control-BvVaKG93.js → access-control-Cv1j0YWJ.js} +1 -1
- package/dist/assets/{add-component-core-DuwLtUBl.js → add-component-core-8nx00xJP.js} +1 -1
- package/dist/assets/{add-resource-DSF4-AYI.js → add-resource-B3-VwSQg.js} +1 -1
- package/dist/assets/{addon-CAO5ZUVe.js → addon-DckWyYy3.js} +1 -1
- package/dist/assets/{advanced-D-_qy4C4.js → advanced-BcLdGbJh.js} +1 -1
- package/dist/assets/{aigne-B-7qxD7r.js → aigne-Dehkd-7B.js} +1 -1
- package/dist/assets/{appearance-DpKwY0o1.js → appearance-CkrEEbhp.js} +1 -1
- package/dist/assets/{audit-logs-BW1TvN0z.js → audit-logs-XPxQHo2y.js} +1 -1
- package/dist/assets/{authorize-BwNdnPft.js → authorize-ByHCjaXS.js} +1 -1
- package/dist/assets/{base32-CmNHdxL7.js → base32-BPZDlXZz.js} +1 -1
- package/dist/assets/{bind-account-DOG2XJ6s.js → bind-account-DtN3r3bu.js} +1 -1
- package/dist/assets/{branding-lvlhWE2R.js → branding-Aq4o2tjp.js} +1 -1
- package/dist/assets/{branding-40UKivXV.js → branding-CBzX3Xum.js} +1 -1
- package/dist/assets/{branding-CUwzFTtf.js → branding-khY0G2TO.js} +1 -1
- package/dist/assets/{bundle-avatar-DJ_-4AO_.js → bundle-avatar-Dtpi1uSw.js} +1 -1
- package/dist/assets/{button-82FUWQ2H.js → button-D6aVYj2n.js} +1 -1
- package/dist/assets/{click-to-copy-CBd8B_uk.js → click-to-copy-BEM1P78p.js} +1 -1
- package/dist/assets/{complete-DCZaPQL5.js → complete-CuyAiV3B.js} +1 -1
- package/dist/assets/{component-CIlZ9gz_.js → component-nxxcEAFR.js} +2 -2
- package/dist/assets/{config-DCwReZ_J.js → config-DOcJbRFr.js} +1 -1
- package/dist/assets/{config-BFSglxmm.js → config-DweHAJPq.js} +2 -2
- package/dist/assets/{config-Dzr61Ovu.js → config-n9Go4CIg.js} +1 -1
- package/dist/assets/{config-navigation-D47x55_t.js → config-navigation-BG6durqz.js} +2 -2
- package/dist/assets/{config-space-D2mAEqFL.js → config-space-DNGDnW7P.js} +1 -1
- package/dist/assets/{confirm-DQlu79Sm.js → confirm-BRnYfcDD.js} +1 -1
- package/dist/assets/{connect-Dd7NRVCL.js → connect-B84DSta0.js} +1 -1
- package/dist/assets/{connect-II0vWvpi.js → connect-CmaOf6IU.js} +1 -1
- package/dist/assets/{connect-to-B_iWUbwW.js → connect-to-BEfFI4oa.js} +1 -1
- package/dist/assets/{create-passport-svg-BwkPTICE.js → create-passport-svg-BKhJ2ufW.js} +1 -1
- package/dist/assets/{createClass-DVDZaC6q.js → createClass-DXSToV70.js} +1 -1
- package/dist/assets/{dashboard-Bu3a5Px4.js → dashboard-CDOqgUmx.js} +5 -5
- package/dist/assets/{delete-confirm-BIuv3oO4.js → delete-confirm-1vzcMsM2.js} +1 -1
- package/dist/assets/{did-address-h4uLp20A.js → did-address-B3eXeL7H.js} +1 -1
- package/dist/assets/{domain--lKnmb8L.js → domain-D75xKDoP.js} +1 -1
- package/dist/assets/{domain-action-card-B5bWcTCx.js → domain-action-card-BgDPfYMr.js} +1 -1
- package/dist/assets/{domains-DTnBb4pb.js → domains-BmgTqdar.js} +1 -1
- package/dist/assets/{email-bOQg3Ln3.js → email-0rfuUid8.js} +2 -2
- package/dist/assets/engine-D-_cbl3F.js +1 -0
- package/dist/assets/exchange-passport-DtpDKfXH.js +1 -0
- package/dist/assets/{form-DcGl-E0U.js → form-BblKAylu.js} +1 -1
- package/dist/assets/{form-text-input-DNXpKwew.js → form-text-input-C-JBHNfU.js} +1 -1
- package/dist/assets/{fuel-tsazXQKp.js → fuel-BPg61IpB.js} +1 -1
- package/dist/assets/{gen-access-key-DrfFQLFL.js → gen-access-key-B-PvqBv6.js} +1 -1
- package/dist/assets/{gen-simple-access-key-CnP2yUd7.js → gen-simple-access-key-BRpJnjDR.js} +1 -1
- package/dist/assets/get-safe-url-xl2OarvZ.js +1 -0
- package/dist/assets/{home-BN59HeAP.js → home-CT38dHBL.js} +1 -1
- package/dist/assets/{iframe-CC7bnIjL.js → iframe-D119MMHU.js} +1 -1
- package/dist/assets/{index-Bc7P9fwl.js → index-8bzrOXqv.js} +1 -1
- package/dist/assets/{index-BORuOqqa.js → index-BMtr5-CV.js} +1 -1
- package/dist/assets/{index-BmeJ3mXz.js → index-BNAs76qj.js} +1 -1
- package/dist/assets/{index-55ZI5Xlz.js → index-BODmBNkm.js} +1 -1
- package/dist/assets/{index-CLao_b9r.js → index-BWCHnVga.js} +1 -1
- package/dist/assets/{index-DJEbIkF6.js → index-BcIeEF3v.js} +1 -1
- package/dist/assets/{index-ByMKy0IO.js → index-BpWFE-ry.js} +1 -1
- package/dist/assets/{index-DPByvHrj.js → index-C6oxUE_X.js} +6 -6
- package/dist/assets/{index-5n0QAOjO.js → index-CGrk0HiP.js} +1 -1
- package/dist/assets/{index-CoWxyxJt.js → index-CIC0R_Qc.js} +1 -1
- package/dist/assets/{index-keEY0SLH.js → index-CSCCjNba.js} +1 -1
- package/dist/assets/{index-DlTghgU6.js → index-CfA9D2iF.js} +1 -1
- package/dist/assets/{index-mL2PjDd3.js → index-D1f4dwYF.js} +3 -3
- package/dist/assets/{index-CNUfol2K.js → index-DGbr3NAq.js} +1 -1
- package/dist/assets/{index-H8MAN7us.js → index-DSVwCr5p.js} +2 -2
- package/dist/assets/{index-DZyT0N9R.js → index-DUo9jXH_.js} +1 -1
- package/dist/assets/{index-CXyo5mo3.js → index-DcjD74XY.js} +1 -1
- package/dist/assets/{index-D4cbtlCM.js → index-DdojJXSn.js} +2 -2
- package/dist/assets/{index-ETdrsXsn.js → index-DoDx-vpV.js} +2 -2
- package/dist/assets/{index-D3AsXyHs.js → index-E4Hos_Sx.js} +5 -5
- package/dist/assets/{index-DG0EDext.js → index-NWCpUGtr.js} +76 -76
- package/dist/assets/{index-DMjWlw40.js → index-OTENuoZ0.js} +1 -1
- package/dist/assets/{index-ByEZTgqv.js → index-TG3kf9io.js} +1 -1
- package/dist/assets/{index-CH-EXqMX.js → index-TzwTiNQ7.js} +1 -1
- package/dist/assets/{index-BJ6le4Td.js → index-VaUGnCuU.js} +1 -1
- package/dist/assets/{index-JhIOETr8.js → index-arhRQhsc.js} +1 -1
- package/dist/assets/{index-Bg5uZrWj.js → index-bCC4mzZc.js} +1 -1
- package/dist/assets/{index-CbjFdIdE.js → index-sBtfsjBo.js} +1 -1
- package/dist/assets/{index-BDmLm9RE.js → index-tfYDa2i6.js} +1 -1
- package/dist/assets/{index-D0cfNfgL.js → index-uODjznr3.js} +1 -1
- package/dist/assets/{invitation-0lU4EchQ.js → invitation-CVulfNR5.js} +4 -4
- package/dist/assets/{invitations-CSnyD-Wp.js → invitations-CuhR5Qhr.js} +1 -1
- package/dist/assets/invite-uHE_P5fP.js +1 -0
- package/dist/assets/{isURL-D4WfF4w_.js → isURL-CRZ7iI7F.js} +1 -1
- package/dist/assets/issue-passport-CgdZdVEa.js +1 -0
- package/dist/assets/{item-CwiqvF0e.js → item-BJSHAMwK.js} +1 -1
- package/dist/assets/{landing-page-q4NMkyjD.js → landing-page-Bu1ZaLGu.js} +1 -1
- package/dist/assets/{layout-CdGgFfY4.js → layout-D9M0eiNw.js} +1 -1
- package/dist/assets/{list-NP-91JKf.js → list-BYNjj68R.js} +1 -1
- package/dist/assets/{list-CVN6FKdL.js → list-DVUI92a2.js} +1 -1
- package/dist/assets/localization-CZX-M3IK.js +1 -0
- package/dist/assets/{log-Cox3P5_L.js → log-DbdNMVuv.js} +1 -1
- package/dist/assets/logger-Biwe4SzB.js +1 -0
- package/dist/assets/{login-2zmJhcBe.js → login-DUYsZ42N.js} +1 -1
- package/dist/assets/{login-oauth-callback-zq4hRJXC.js → login-oauth-callback-RLp-7ubu.js} +1 -1
- package/dist/assets/{logo-uploader-6T6d75Q6.js → logo-uploader-BFMnNkRn.js} +1 -1
- package/dist/assets/{lost-passport-DviehTF2.js → lost-passport-CB5SFq30.js} +1 -1
- package/dist/assets/{open-window-_3kVydQ2.js → open-window-xMdq1GjU.js} +1 -1
- package/dist/assets/{over-due-invoice-payment-rAHkUVgY.js → over-due-invoice-payment-DvKFY6t9.js} +1 -1
- package/dist/assets/{overview-DSB1dlE4.js → overview-DNVfcZQO.js} +2 -2
- package/dist/assets/{passport-DzlmGAGE.js → passport-BNRZfcVH.js} +1 -1
- package/dist/assets/{passport-item-DdvT-U5C.js → passport-item-Bf_kXmId.js} +1 -1
- package/dist/assets/{permission-CcdJMHov.js → permission-C0rLyhnq.js} +1 -1
- package/dist/assets/{preferences-B3FTkTJx.js → preferences-XGJx_7ht.js} +1 -1
- package/dist/assets/{profile-embed-Ds6zLGgv.js → profile-embed-DROgyynT.js} +1 -1
- package/dist/assets/{publish-resource-CAbbkAX0.js → publish-resource-C3tnQoPG.js} +1 -1
- package/dist/assets/{react-beautiful-dnd.esm-DDZ1XDH7.js → react-beautiful-dnd.esm-BZjy3RlT.js} +1 -1
- package/dist/assets/{runtime-BKJMYAui.js → runtime-DiEn6rZ9.js} +1 -1
- package/dist/assets/sdk-C45BrgFy.js +1 -0
- package/dist/assets/{security-3Y4MabOo.js → security-Ch3TxRbd.js} +1 -1
- package/dist/assets/{session-D-wwXXFW.js → session-5s-U-ruq.js} +1 -1
- package/dist/assets/{setup-CgcKBlmf.js → setup-DgF_JFoX.js} +1 -1
- package/dist/assets/{simple-select-qqtCC0US.js → simple-select-EppOca29.js} +1 -1
- package/dist/assets/{spaces-DGJd1uEt.js → spaces-BE9CZzeJ.js} +1 -1
- package/dist/assets/{start-Cu_Xr7Yd.js → start-D6EkscL8.js} +1 -1
- package/dist/assets/{starting-progress-DpUpXo1N.js → starting-progress-MyalFKYG.js} +2 -2
- package/dist/assets/{status-qiMZo73y.js → status-vSa6pwrP.js} +1 -1
- package/dist/assets/{step-actions-BKMeYA5x.js → step-actions-X2c_czAD.js} +1 -1
- package/dist/assets/{studio-BzkFXY4W.js → studio-BcQoXvqZ.js} +1 -1
- package/dist/assets/{switch-CWBW7iKo.js → switch-BjA8SIAh.js} +1 -1
- package/dist/assets/{switch-control-D9D8FbX3.js → switch-control-D2RiXLWV.js} +1 -1
- package/dist/assets/{table-tips-B9_goTLn.js → table-tips-Dgzi4H1y.js} +1 -1
- package/dist/assets/{team-DvyWlb8W.js → team-D9lFN8Pe.js} +1 -1
- package/dist/assets/{traffic-DsUQQR3F.js → traffic-CvgJe_3z.js} +1 -1
- package/dist/assets/transfer-IRaap94c.js +16 -0
- package/dist/assets/{unsubscribe-DpfMHut2.js → unsubscribe-7WUPZn-b.js} +1 -1
- package/dist/assets/{use-app-logo-BKJ912HX.js → use-app-logo-Cfo-T8ZY.js} +1 -1
- package/dist/assets/{use-window-close-BVOSCf9h.js → use-window-close-4WCUBrSc.js} +1 -1
- package/dist/assets/{useLocalStorage-BmGa-RG8.js → useLocalStorage-Cl1rEjxs.js} +1 -1
- package/dist/assets/{user-center-8NTN-2CY.js → user-center-BoGQKLvn.js} +1 -1
- package/dist/assets/{user-follower-C-xe6Fqb.js → user-follower-D8NzTP2C.js} +1 -1
- package/dist/assets/{util-CznlXimv.js → util-BNGEGQGN.js} +1 -1
- package/dist/assets/{util-DQmPydCJ.js → util-CDBgZOAd.js} +1 -1
- package/dist/assets/{vendor-arcblock-DyliHtVF.js → vendor-arcblock-B1iA4v4a.js} +1 -1
- package/dist/assets/{vendor-ux-IiqHAjMq.js → vendor-ux-jvAfFAl1.js} +2 -2
- package/dist/assets/{wait-connect-Co7Po2HJ.js → wait-connect-VFnD4S6k.js} +1 -1
- package/dist/assets/{wizard-tGxr6THv.js → wizard-D6nEp8xR.js} +1 -1
- package/dist/assets/{wizard-components-qCiwxNk8.js → wizard-components-CQAhuCn-.js} +1 -1
- package/dist/assets/wrap-locale-qgV7mOv6.js +1 -0
- package/dist/assets/{zh-DL3Su93_.js → zh-LGxmNDus.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +36 -36
- package/dist/assets/engine-_hdQizRi.js +0 -1
- package/dist/assets/exchange-passport-B8J1z6zW.js +0 -1
- package/dist/assets/get-safe-url-DaqBo3hv.js +0 -1
- package/dist/assets/invite-8i_Oru_O.js +0 -1
- package/dist/assets/issue-passport-Br15qs7n.js +0 -1
- package/dist/assets/localization-DAE0Xt60.js +0 -1
- package/dist/assets/logger-BKK0qIc9.js +0 -1
- package/dist/assets/sdk-DkjNLRKY.js +0 -1
- package/dist/assets/transfer-BU2gLE9m.js +0 -16
- package/dist/assets/wrap-locale-BdDblHwV.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{$ as pe,Y as xe,V as O,K as J,b2 as K,aP as ge,aW as Y,H as Se,au as me}from"./vendor-ux-IiqHAjMq.js";import{j as e,ak as d,am as W,T as w,U as fe,W as c,J as he,Q as _,bW as we,bX as D,bY as $,a6 as ye,n as H,s as re,ar as B}from"./vendor-mui-core-DnR6WYuU.js";import{a as I,g as X,b as F,h as be,q as ne,B as Ee,v as je}from"./vendor-hooks-qxhUUbW5.js";import{U as q}from"./ua-parser-DP5omx3I.js";import{J as p,aD as ve,b1 as Re,Z as le,c as Ce,ba as Te,bb as Ie,bc as Ne}from"./index-DG0EDext.js";import{r as R}from"./vendor-react-CTtPmzVP.js";import{u as ie}from"./use-mobile-BINJTzMb.js";import{b as Z}from"./sdk-DkjNLRKY.js";import{J as Ue}from"./vendor-utils-CxWN1dT3.js";import{u as Ae}from"./session-D-wwXXFW.js";import{f as ee}from"./index-DBs9Ljax.js";function ae({user:t,sessionUser:a}){const n=I(()=>(t?.passports||[])?.find(x=>x.name===a.role),[t?.passports,a?.role]);return e.jsxs(d,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(pe,{size:40,variant:"circle",shape:"circle",src:a.avatar,did:a.did,sx:{flexShrink:0}}),e.jsxs(d,{sx:{flex:1,overflow:"hidden"},children:[e.jsxs(d,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(W,{title:a.fullName,children:e.jsx(w,{sx:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",flex:1},children:a.fullName})}),e.jsx(fe,{label:n?.title||n?.name||"Guest",size:"small",variant:"outlined",sx:{flexShrink:0,fontWeight:"bold",fontSize:"12px",color:"text.primary",borderColor:"grey.300",backgroundColor:"transparent",textTransform:"capitalize",pr:.5,pl:0,height:"auto"}})]}),e.jsx(W,{title:a.email,children:e.jsx(w,{variant:"body2",color:"grey",sx:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:a.email})})]})]})}ae.propTypes={user:c.object.isRequired,sessionUser:c.shape({role:c.string,avatar:c.string,did:c.string,fullName:c.string,email:c.string}).isRequired};const _e=()=>Promise.resolve(""),te=t=>new q(t,{browser:[[/(ArcWallet)\/([\w\.]+)/i],[q.BROWSER.NAME,q.BROWSER.VERSION]]}).getResult(),se={display:"flex",justifyContent:"flex-end",textAlign:"right"},Oe=new Re({concurrency:1}),V=R.memo(({userSession:t,isMobile:a=!1})=>{const n=X({loading:!0,ipRegion:""}),{t:x,locale:g}=O();R.useEffect(()=>{Oe.add(async()=>{try{n.ipRegion=await _e(t.lastLoginIp)}finally{n.loading=!1}})},[n,t.lastLoginIp]);const r=I(()=>a?{display:"flex",justifyContent:"flex-end"}:{},[a]);return e.jsx(d,{...a&&{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:1,flexWrap:"wrap"},children:n.ipRegion?e.jsxs(e.Fragment,{children:[e.jsx(w,{variant:"body2",children:n.ipRegion}),e.jsx(Y,{size:16,className:"ip-address",style:r,locale:g,children:t.lastLoginIp||x("userCenter.unknown")})]}):e.jsxs(e.Fragment,{children:[e.jsx(Y,{size:16,className:"ip-address",style:r,locale:g,children:t.lastLoginIp||x("userCenter.unknown")}),n.loading?e.jsx(w,{variant:"body2",color:"grey",sx:{textAlign:"center"},children:e.jsx(ye,{size:12,color:"inherit"})}):null]})})});V.propTypes={userSession:c.object.isRequired,isMobile:c.bool};V.defaultProps={isMobile:!1};function ke({user:t,showAction:a=!0,showUser:n=!0,getUserSessions:x,showOffline:g=!1}){const r=X({status:p.USER_SESSION_STATUS.ONLINE,page:1,pageSize:10}),u=X({[p.USER_SESSION_STATUS.ONLINE]:0,[p.USER_SESSION_STATUS.EXPIRED]:0,[p.USER_SESSION_STATUS.OFFLINE]:0}),y=xe(),{t:s,locale:E}=O(),m=ie({key:"md"}),C=he(o=>o.breakpoints.down("lg")),{confirmApi:b,confirmHolder:j}=ve(),T=F(async()=>{const o=await x({page:r.page,pageSize:r.pageSize,status:r.status}),l=o?.paging?.total||0;return u[r.status]=l,{total:l,list:o?.list||[]}});be(async()=>{const o=await x({page:1,pageSize:1,status:p.USER_SESSION_STATUS.EXPIRED});u[p.USER_SESSION_STATUS.EXPIRED]=o?.paging?.total||0;const l=await x({page:1,pageSize:1,status:p.USER_SESSION_STATUS.OFFLINE});u[p.USER_SESSION_STATUS.OFFLINE]=l?.paging?.total||0});const f=ne(T,{refreshDeps:[r.status,r.page,r.pageSize]}),S=I(()=>f.data?.list||[],[f.data?.list]),N=I(()=>{const{status:o}=r;return o===p.USER_SESSION_STATUS.ONLINE?u[o]<=1:u[o]===0},[S,y]),v=I(()=>J({},m?se:{}),[m]),M=F(({visitorId:o})=>{b.open({title:s("userCenter.logoutThisSession"),content:s("userCenter.logoutThisSessionConfirm"),confirmButtonText:s("userCenter.confirm"),confirmButtonProps:{color:"error"},cancelButtonText:s("userCenter.cancel"),onConfirm:async()=>{await Z.user.logout({visitorId:o,includeFederated:!0});const{page:l=0}=r,{list:i=[]}=f.data||{},h=i.length||0;l>1&&h===1&&(r.page=Math.max(l-1,1)),f.refresh(),b.close()}})}),k=F(()=>{b.open({title:s("userCenter.logoutAllSession",{type:s(r.status)}),content:s("userCenter.logoutAllSessionConfirm",{type:s(r.status)}),confirmButtonText:s("userCenter.confirm"),confirmButtonProps:{color:"error"},cancelButtonText:s("userCenter.cancel"),onConfirm:async()=>{await Z.user.logout({status:r.status,visitorId:y,includeFederated:!0}),r.page=1,f.refresh(),b.close()}})}),L=[];a&&L.push(e.jsx(W,{title:s("userCenter.logoutAllTips",{type:s(r.status)}),children:e.jsx(_,{sx:{ml:.5},size:"small",variant:"contained",color:"error",onClick:k,disabled:N,children:s("userCenter.logoutAll",{type:s(r.status)})})},"logoutAll"));const U=I(()=>({search:!1,sort:!1,download:!1,filter:!1,print:!1,expandableRowsOnClick:!1,searchDebounceTime:600,page:r.page-1,rowsPerPage:r.pageSize,count:f.data?.total||0}),[f.data?.total,r.page,r.pageSize]),z=[{label:s("userCenter.platform"),name:"platform",options:{customBodyRenderLite:o=>{const l=S[o],i=te(l?.ua);return e.jsx(d,{sx:v,children:[i.os?.name,i.os?.version].filter(Boolean).join("/")||s("userCenter.unknown")})}}},{label:s("userCenter.deviceType"),name:"deviceType",options:{customBodyRenderLite:o=>{const l=S[o],i=te(l?.ua);return e.jsx(d,{sx:v,children:[i.browser?.name,i.browser?.version].filter(Boolean).join("/")||s("userCenter.unknown")})}}},{label:s("userCenter.walletOS"),name:"walletOS",options:{customBodyRenderLite:o=>{const l=S[o];return e.jsx(d,{sx:v,children:l.extra?.walletOS?l.extra.walletOS.toUpperCase():s("userCenter.unknown")})}}},n&&{label:s("userCenter.user"),name:"user",options:{customBodyRenderLite:o=>{const l=S[o];return e.jsx(d,{sx:J({minWidth:150,maxWidth:250},m?se:{}),children:e.jsx(ae,{sessionUser:l.user,user:t})})}}},{label:s("userCenter.createdAt"),name:"createdAt",options:{customBodyRenderLite:o=>{const l=S[o];return e.jsx(d,{sx:v,children:l.createdAt?e.jsx(K,{value:l.createdAt,relativeRange:3*86400*1e3}):s("userCenter.unknown")})}}},!g&&{label:s("userCenter.updatedAt"),name:"updatedAt",options:{customBodyRenderLite:o=>{const l=S[o];return e.jsx(d,{sx:v,children:l.status===p.USER_SESSION_STATUS.EXPIRED?s("userCenter.expired"):e.jsx(K,{value:l.updatedAt,relativeRange:3*86400*1e3})})}}},{label:s("userCenter.lastLoginIp"),name:"lastLoginIp",options:{customBodyRenderLite:o=>{const l=S[o];return e.jsx(V,{userSession:l,isMobile:m})}}},a&&{label:s("userCenter.actions"),name:"actions",options:{customBodyRenderLite:o=>{const l=S[o];return e.jsx(d,{sx:v,children:e.jsx(_,{sx:{whiteSpace:"nowrap",fontSize:"12px !important",lineHeight:"1.25",px:1},disabled:y===l.visitorId,variant:"outlined",size:"small",color:"error",onClick:()=>M({visitorId:l.visitorId}),children:l.status===p.USER_SESSION_STATUS.EXPIRED?s("userCenter.remove"):y===l.visitorId?s("userCenter.currentSession"):s("userCenter.logout")})})}}}].filter(Boolean);return e.jsxs(d,{className:"pc-user-sessions",sx:{maxWidth:m?"unset":C?"calc(100vw - 300px)":"100%",".pc-user-sessions-table":{display:"flex",flexDirection:"column",height:"100%",gap:1},...m&&{".pc-user-sessions-table > div:nth-child(2)":{border:"1px solid",borderColor:"divider",borderRadius:1}},".MuiTableCell-head":{whiteSpace:"nowrap",fontWeight:"bold"},".MuiTableRow-root":{border:"unset","&:nth-child(even)":{backgroundColor:"grey.50","&:hover":{backgroundColor:o=>`${o.palette.grey[50]} !important`}}},".MuiTableRow-hover":{"&:hover":{backgroundColor:"inherit !important"}},".MuiTableCell-root":{paddingRight:"8px",paddingLeft:"8px",color:"text.secondary",...m&&{padding:"8px !important","&:first-child":{paddingTop:"20px!important"},"&:last-child":{paddingBottom:"20px!important"}}}},children:[j,e.jsx(ge,{count:f.data?.total||0,data:S,columns:z,customButtons:L,options:U,locale:E,loading:f.loading,className:"pc-user-sessions-table",title:e.jsxs(we,{row:!0,sx:{lineHeight:1,ml:1},onChange:o=>{r.status=o.target.value},children:[e.jsx(D,{value:p.USER_SESSION_STATUS.ONLINE,control:e.jsx($,{size:"small",sx:{lineHeight:1,fontSize:0},checked:r.status===p.USER_SESSION_STATUS.ONLINE}),label:e.jsxs(w,{sx:{display:"flex",alignItems:"center"},children:[s("userCenter.online"),e.jsxs(w,{component:"span",sx:{ml:.5,color:"text.secondary"},children:["(",u[p.USER_SESSION_STATUS.ONLINE],")"]})]})}),e.jsx(D,{value:p.USER_SESSION_STATUS.EXPIRED,control:e.jsx($,{size:"small",sx:{lineHeight:1,fontSize:0},checked:r.status===p.USER_SESSION_STATUS.EXPIRED}),label:e.jsxs(w,{sx:{display:"flex",alignItems:"center"},children:[s("userCenter.expired"),e.jsxs(w,{component:"span",sx:{ml:.5,color:"text.secondary"},children:["(",u[p.USER_SESSION_STATUS.EXPIRED],")"]})]})}),g?e.jsx(D,{value:p.USER_SESSION_STATUS.OFFLINE,control:e.jsx($,{size:"small",sx:{lineHeight:1,fontSize:0},checked:r.status===p.USER_SESSION_STATUS.OFFLINE}),label:e.jsxs(w,{sx:{display:"flex",alignItems:"center"},children:[s("userCenter.offline"),e.jsxs(w,{component:"span",sx:{ml:.5,color:"text.secondary"},children:["(",u[p.USER_SESSION_STATUS.OFFLINE],")"]})]})}):null]}),onChange:o=>{r.page=o.page+1,r.pageSize=o.rowsPerPage}})]})}ke.propTypes={user:c.object.isRequired,showAction:c.bool,showUser:c.bool,showOffline:c.bool,getUserSessions:c.func.isRequired};const oe=20,Q={currentTab:c.string.isRequired},G={user:c.object.isRequired,column:c.number};function Le(){return e.jsxs(d,{sx:{border:"1px solid",borderColor:"divider",borderRadius:1,p:2},children:[e.jsxs(d,{sx:{display:"flex",alignItems:"center",gap:2,mb:1},children:[e.jsx(B,{variant:"circular",width:48,height:48}),e.jsxs(d,{sx:{flex:1},children:[e.jsx(B,{variant:"text",width:"60%",height:20}),e.jsx(B,{variant:"text",width:"80%",height:16})]})]}),e.jsx(B,{variant:"text",width:"40%",height:14})]})}function ce({currentTab:t,errorMsg:a=""}){const{t:n}=O(),x=R.useMemo(()=>({following:n("team.userFollowers.emptyFollowing"),followers:n("team.userFollowers.emptyFollowers"),invitees:n("team.userFollowers.emptyInvitees")})[t],[t,n]);return e.jsx(me,{children:a||x})}ce.propTypes={...Q,errorMsg:c.string};function ue({user:t,teamDid:a,currentTab:n,column:x=2,refresh:g=()=>{},followed:r=!1,showSocialActions:u=!0}){const{t:y,locale:s}=O(),{api:E}=le(),{session:m}=Ae(),C=R.useRef(null),[b]=Ee(C),j=ie({key:"md"}),T={following:E.getUserFollowing,followers:E.getUserFollowers,invitees:E.getUserInvites},{data:f,loading:S,loadMore:N,loadingMore:v,reload:M,error:k}=je(async i=>{if(!t?.did)return{list:[],total:0};const h=i?Math.ceil(i.list.length/oe)+1:1,A=T[n];if(!A)return{list:[],total:0};const P=await A({input:{teamDid:a,userDid:t.did,type:n,paging:{page:h,pageSize:oe}}});return{list:(n==="invitees"?P?.users:P?.data)||[],total:P?.paging?.total||0}},{reloadDeps:[n,t?.did,r],isNoMore:i=>i?.list.length?i.list.length>=i?.total:!0,onError(i){Se.error(ee(i))}}),L=()=>{try{n!=="invitees"&&M(),g()}catch(i){console.error(i)}},{list:U=[],total:z=0}=f||{},o=U.length<z,l=F(i=>{if(!i?.did)return;const h=Ue(Ce.WELLKNOWN_BLOCKLET_USER_PATH,{did:i.did,locale:s});window.open(h,"_blank")});return R.useEffect(()=>{b&&N()},[b,N]),S?e.jsx(d,{sx:{py:2,display:"grid",gridTemplateColumns:{xs:"1fr",sm:`repeat(${x}, 1fr)`},gap:2},children:Array.from({length:6},(i,h)=>`skeleton-${n}-${h}`).map(i=>e.jsx(Le,{},i))}):U.length===0?e.jsx(ce,{currentTab:n,errorMsg:k?ee(k):""}):e.jsxs(d,{children:[e.jsx(d,{className:"user-list",sx:{px:j?0:1,py:2,display:"grid",gridTemplateColumns:{md:"1fr",lg:`repeat(${x}, 1fr)`},gap:2},children:U.map(i=>{const h=n==="invitees"?i:i.user;if(!h)return null;let A=n==="following"?i.userDid:i.followerDid;return n==="invitees"&&(A=h.did),e.jsx(d,{className:"user-item",children:e.jsx(Te,{user:h,showDid:!0,cardType:Ne.CARD,infoType:Ie.INFO,session:m,showSocialActions:u,onAvatarClick:l,onFollowClick:L})},A)})}),o?e.jsx(d,{sx:{display:"flex",justifyContent:"center",mt:2},children:e.jsx(_,{variant:"text",color:"primary",onClick:N,ref:C,children:y(v?"common.loading":"webhookEndpoint.loadMore")})}):null]})}ue.propTypes={...Q,...G,followed:c.bool};function de({data:t,currentTab:a,onTabChange:n,showInvitees:x=!0}){const{t:g}=O(),r=[{label:g("team.userFollowers.following"),value:"following",count:t?.following||0},{label:g("team.userFollowers.followers"),value:"followers",count:t?.followers||0},...x?[{label:g("team.userFollowers.invitees"),value:"invitees",count:t?.invitees||0}]:[]];return e.jsx(d,{children:r.map(u=>e.jsxs(Fe,{className:a===u.value?"active":"",onClick:()=>n(u.value),children:[u.label,u.count>0&&e.jsxs("span",{className:"count",style:{marginLeft:4},children:["(",u.count>99?"99+":u.count,")"]})]},u.value))})}de.propTypes={...Q,...G,onTabChange:c.func.isRequired};function Be({user:t,teamDid:a,column:n=2,followed:x=!1,showSocialActions:g=!0,showInvitees:r=!0}){const[u,y]=R.useState("following"),{api:s}=le(),E=R.useMemo(()=>{const{settings:j={}}=window?.blocklet||{},{invite:T}=j;return T&&T.enabled},[]),{data:m,refresh:C}=ne(async()=>t?.did?(await s.getUserFollowStats({input:{teamDid:a,userDids:[t.did],options:{includeInvitees:r&&E}}}))?.data?.[t.did]||{following:0,followers:0,invitees:0}:{following:0,followers:0},{refreshDeps:[t?.did,x]}),b=j=>{y(j)};return e.jsxs(d,{children:[e.jsx(de,{data:m,user:t,currentTab:u,onTabChange:b,showInvitees:r&&E}),e.jsx(ue,{column:n,user:t,currentTab:u,teamDid:a,followed:x,refresh:C,showSocialActions:g},u)]})}Be.propTypes={...G,teamDid:c.string.isRequired,followed:c.bool,showInvitees:c.bool};const Fe=re(_)`
|
|
1
|
+
import{$ as pe,Y as xe,V as O,K as J,b2 as K,aP as ge,aW as Y,H as Se,au as me}from"./vendor-ux-jvAfFAl1.js";import{j as e,ak as d,am as W,T as w,U as fe,W as c,J as he,Q as _,bW as we,bX as D,bY as $,a6 as ye,n as H,s as re,ar as B}from"./vendor-mui-core-DnR6WYuU.js";import{a as I,g as X,b as F,h as be,q as ne,B as Ee,v as je}from"./vendor-hooks-qxhUUbW5.js";import{U as q}from"./ua-parser-DP5omx3I.js";import{J as p,aD as ve,b1 as Re,Z as le,c as Ce,ba as Te,bb as Ie,bc as Ne}from"./index-NWCpUGtr.js";import{r as R}from"./vendor-react-CTtPmzVP.js";import{u as ie}from"./use-mobile-BINJTzMb.js";import{b as Z}from"./sdk-C45BrgFy.js";import{J as Ue}from"./vendor-utils-CxWN1dT3.js";import{u as Ae}from"./session-5s-U-ruq.js";import{f as ee}from"./index-DBs9Ljax.js";function ae({user:t,sessionUser:a}){const n=I(()=>(t?.passports||[])?.find(x=>x.name===a.role),[t?.passports,a?.role]);return e.jsxs(d,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(pe,{size:40,variant:"circle",shape:"circle",src:a.avatar,did:a.did,sx:{flexShrink:0}}),e.jsxs(d,{sx:{flex:1,overflow:"hidden"},children:[e.jsxs(d,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(W,{title:a.fullName,children:e.jsx(w,{sx:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",flex:1},children:a.fullName})}),e.jsx(fe,{label:n?.title||n?.name||"Guest",size:"small",variant:"outlined",sx:{flexShrink:0,fontWeight:"bold",fontSize:"12px",color:"text.primary",borderColor:"grey.300",backgroundColor:"transparent",textTransform:"capitalize",pr:.5,pl:0,height:"auto"}})]}),e.jsx(W,{title:a.email,children:e.jsx(w,{variant:"body2",color:"grey",sx:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:a.email})})]})]})}ae.propTypes={user:c.object.isRequired,sessionUser:c.shape({role:c.string,avatar:c.string,did:c.string,fullName:c.string,email:c.string}).isRequired};const _e=()=>Promise.resolve(""),te=t=>new q(t,{browser:[[/(ArcWallet)\/([\w\.]+)/i],[q.BROWSER.NAME,q.BROWSER.VERSION]]}).getResult(),se={display:"flex",justifyContent:"flex-end",textAlign:"right"},Oe=new Re({concurrency:1}),V=R.memo(({userSession:t,isMobile:a=!1})=>{const n=X({loading:!0,ipRegion:""}),{t:x,locale:g}=O();R.useEffect(()=>{Oe.add(async()=>{try{n.ipRegion=await _e(t.lastLoginIp)}finally{n.loading=!1}})},[n,t.lastLoginIp]);const r=I(()=>a?{display:"flex",justifyContent:"flex-end"}:{},[a]);return e.jsx(d,{...a&&{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:1,flexWrap:"wrap"},children:n.ipRegion?e.jsxs(e.Fragment,{children:[e.jsx(w,{variant:"body2",children:n.ipRegion}),e.jsx(Y,{size:16,className:"ip-address",style:r,locale:g,children:t.lastLoginIp||x("userCenter.unknown")})]}):e.jsxs(e.Fragment,{children:[e.jsx(Y,{size:16,className:"ip-address",style:r,locale:g,children:t.lastLoginIp||x("userCenter.unknown")}),n.loading?e.jsx(w,{variant:"body2",color:"grey",sx:{textAlign:"center"},children:e.jsx(ye,{size:12,color:"inherit"})}):null]})})});V.propTypes={userSession:c.object.isRequired,isMobile:c.bool};V.defaultProps={isMobile:!1};function ke({user:t,showAction:a=!0,showUser:n=!0,getUserSessions:x,showOffline:g=!1}){const r=X({status:p.USER_SESSION_STATUS.ONLINE,page:1,pageSize:10}),u=X({[p.USER_SESSION_STATUS.ONLINE]:0,[p.USER_SESSION_STATUS.EXPIRED]:0,[p.USER_SESSION_STATUS.OFFLINE]:0}),y=xe(),{t:s,locale:E}=O(),m=ie({key:"md"}),C=he(o=>o.breakpoints.down("lg")),{confirmApi:b,confirmHolder:j}=ve(),T=F(async()=>{const o=await x({page:r.page,pageSize:r.pageSize,status:r.status}),l=o?.paging?.total||0;return u[r.status]=l,{total:l,list:o?.list||[]}});be(async()=>{const o=await x({page:1,pageSize:1,status:p.USER_SESSION_STATUS.EXPIRED});u[p.USER_SESSION_STATUS.EXPIRED]=o?.paging?.total||0;const l=await x({page:1,pageSize:1,status:p.USER_SESSION_STATUS.OFFLINE});u[p.USER_SESSION_STATUS.OFFLINE]=l?.paging?.total||0});const f=ne(T,{refreshDeps:[r.status,r.page,r.pageSize]}),S=I(()=>f.data?.list||[],[f.data?.list]),N=I(()=>{const{status:o}=r;return o===p.USER_SESSION_STATUS.ONLINE?u[o]<=1:u[o]===0},[S,y]),v=I(()=>J({},m?se:{}),[m]),M=F(({visitorId:o})=>{b.open({title:s("userCenter.logoutThisSession"),content:s("userCenter.logoutThisSessionConfirm"),confirmButtonText:s("userCenter.confirm"),confirmButtonProps:{color:"error"},cancelButtonText:s("userCenter.cancel"),onConfirm:async()=>{await Z.user.logout({visitorId:o,includeFederated:!0});const{page:l=0}=r,{list:i=[]}=f.data||{},h=i.length||0;l>1&&h===1&&(r.page=Math.max(l-1,1)),f.refresh(),b.close()}})}),k=F(()=>{b.open({title:s("userCenter.logoutAllSession",{type:s(r.status)}),content:s("userCenter.logoutAllSessionConfirm",{type:s(r.status)}),confirmButtonText:s("userCenter.confirm"),confirmButtonProps:{color:"error"},cancelButtonText:s("userCenter.cancel"),onConfirm:async()=>{await Z.user.logout({status:r.status,visitorId:y,includeFederated:!0}),r.page=1,f.refresh(),b.close()}})}),L=[];a&&L.push(e.jsx(W,{title:s("userCenter.logoutAllTips",{type:s(r.status)}),children:e.jsx(_,{sx:{ml:.5},size:"small",variant:"contained",color:"error",onClick:k,disabled:N,children:s("userCenter.logoutAll",{type:s(r.status)})})},"logoutAll"));const U=I(()=>({search:!1,sort:!1,download:!1,filter:!1,print:!1,expandableRowsOnClick:!1,searchDebounceTime:600,page:r.page-1,rowsPerPage:r.pageSize,count:f.data?.total||0}),[f.data?.total,r.page,r.pageSize]),z=[{label:s("userCenter.platform"),name:"platform",options:{customBodyRenderLite:o=>{const l=S[o],i=te(l?.ua);return e.jsx(d,{sx:v,children:[i.os?.name,i.os?.version].filter(Boolean).join("/")||s("userCenter.unknown")})}}},{label:s("userCenter.deviceType"),name:"deviceType",options:{customBodyRenderLite:o=>{const l=S[o],i=te(l?.ua);return e.jsx(d,{sx:v,children:[i.browser?.name,i.browser?.version].filter(Boolean).join("/")||s("userCenter.unknown")})}}},{label:s("userCenter.walletOS"),name:"walletOS",options:{customBodyRenderLite:o=>{const l=S[o];return e.jsx(d,{sx:v,children:l.extra?.walletOS?l.extra.walletOS.toUpperCase():s("userCenter.unknown")})}}},n&&{label:s("userCenter.user"),name:"user",options:{customBodyRenderLite:o=>{const l=S[o];return e.jsx(d,{sx:J({minWidth:150,maxWidth:250},m?se:{}),children:e.jsx(ae,{sessionUser:l.user,user:t})})}}},{label:s("userCenter.createdAt"),name:"createdAt",options:{customBodyRenderLite:o=>{const l=S[o];return e.jsx(d,{sx:v,children:l.createdAt?e.jsx(K,{value:l.createdAt,relativeRange:3*86400*1e3}):s("userCenter.unknown")})}}},!g&&{label:s("userCenter.updatedAt"),name:"updatedAt",options:{customBodyRenderLite:o=>{const l=S[o];return e.jsx(d,{sx:v,children:l.status===p.USER_SESSION_STATUS.EXPIRED?s("userCenter.expired"):e.jsx(K,{value:l.updatedAt,relativeRange:3*86400*1e3})})}}},{label:s("userCenter.lastLoginIp"),name:"lastLoginIp",options:{customBodyRenderLite:o=>{const l=S[o];return e.jsx(V,{userSession:l,isMobile:m})}}},a&&{label:s("userCenter.actions"),name:"actions",options:{customBodyRenderLite:o=>{const l=S[o];return e.jsx(d,{sx:v,children:e.jsx(_,{sx:{whiteSpace:"nowrap",fontSize:"12px !important",lineHeight:"1.25",px:1},disabled:y===l.visitorId,variant:"outlined",size:"small",color:"error",onClick:()=>M({visitorId:l.visitorId}),children:l.status===p.USER_SESSION_STATUS.EXPIRED?s("userCenter.remove"):y===l.visitorId?s("userCenter.currentSession"):s("userCenter.logout")})})}}}].filter(Boolean);return e.jsxs(d,{className:"pc-user-sessions",sx:{maxWidth:m?"unset":C?"calc(100vw - 300px)":"100%",".pc-user-sessions-table":{display:"flex",flexDirection:"column",height:"100%",gap:1},...m&&{".pc-user-sessions-table > div:nth-child(2)":{border:"1px solid",borderColor:"divider",borderRadius:1}},".MuiTableCell-head":{whiteSpace:"nowrap",fontWeight:"bold"},".MuiTableRow-root":{border:"unset","&:nth-child(even)":{backgroundColor:"grey.50","&:hover":{backgroundColor:o=>`${o.palette.grey[50]} !important`}}},".MuiTableRow-hover":{"&:hover":{backgroundColor:"inherit !important"}},".MuiTableCell-root":{paddingRight:"8px",paddingLeft:"8px",color:"text.secondary",...m&&{padding:"8px !important","&:first-child":{paddingTop:"20px!important"},"&:last-child":{paddingBottom:"20px!important"}}}},children:[j,e.jsx(ge,{count:f.data?.total||0,data:S,columns:z,customButtons:L,options:U,locale:E,loading:f.loading,className:"pc-user-sessions-table",title:e.jsxs(we,{row:!0,sx:{lineHeight:1,ml:1},onChange:o=>{r.status=o.target.value},children:[e.jsx(D,{value:p.USER_SESSION_STATUS.ONLINE,control:e.jsx($,{size:"small",sx:{lineHeight:1,fontSize:0},checked:r.status===p.USER_SESSION_STATUS.ONLINE}),label:e.jsxs(w,{sx:{display:"flex",alignItems:"center"},children:[s("userCenter.online"),e.jsxs(w,{component:"span",sx:{ml:.5,color:"text.secondary"},children:["(",u[p.USER_SESSION_STATUS.ONLINE],")"]})]})}),e.jsx(D,{value:p.USER_SESSION_STATUS.EXPIRED,control:e.jsx($,{size:"small",sx:{lineHeight:1,fontSize:0},checked:r.status===p.USER_SESSION_STATUS.EXPIRED}),label:e.jsxs(w,{sx:{display:"flex",alignItems:"center"},children:[s("userCenter.expired"),e.jsxs(w,{component:"span",sx:{ml:.5,color:"text.secondary"},children:["(",u[p.USER_SESSION_STATUS.EXPIRED],")"]})]})}),g?e.jsx(D,{value:p.USER_SESSION_STATUS.OFFLINE,control:e.jsx($,{size:"small",sx:{lineHeight:1,fontSize:0},checked:r.status===p.USER_SESSION_STATUS.OFFLINE}),label:e.jsxs(w,{sx:{display:"flex",alignItems:"center"},children:[s("userCenter.offline"),e.jsxs(w,{component:"span",sx:{ml:.5,color:"text.secondary"},children:["(",u[p.USER_SESSION_STATUS.OFFLINE],")"]})]})}):null]}),onChange:o=>{r.page=o.page+1,r.pageSize=o.rowsPerPage}})]})}ke.propTypes={user:c.object.isRequired,showAction:c.bool,showUser:c.bool,showOffline:c.bool,getUserSessions:c.func.isRequired};const oe=20,Q={currentTab:c.string.isRequired},G={user:c.object.isRequired,column:c.number};function Le(){return e.jsxs(d,{sx:{border:"1px solid",borderColor:"divider",borderRadius:1,p:2},children:[e.jsxs(d,{sx:{display:"flex",alignItems:"center",gap:2,mb:1},children:[e.jsx(B,{variant:"circular",width:48,height:48}),e.jsxs(d,{sx:{flex:1},children:[e.jsx(B,{variant:"text",width:"60%",height:20}),e.jsx(B,{variant:"text",width:"80%",height:16})]})]}),e.jsx(B,{variant:"text",width:"40%",height:14})]})}function ce({currentTab:t,errorMsg:a=""}){const{t:n}=O(),x=R.useMemo(()=>({following:n("team.userFollowers.emptyFollowing"),followers:n("team.userFollowers.emptyFollowers"),invitees:n("team.userFollowers.emptyInvitees")})[t],[t,n]);return e.jsx(me,{children:a||x})}ce.propTypes={...Q,errorMsg:c.string};function ue({user:t,teamDid:a,currentTab:n,column:x=2,refresh:g=()=>{},followed:r=!1,showSocialActions:u=!0}){const{t:y,locale:s}=O(),{api:E}=le(),{session:m}=Ae(),C=R.useRef(null),[b]=Ee(C),j=ie({key:"md"}),T={following:E.getUserFollowing,followers:E.getUserFollowers,invitees:E.getUserInvites},{data:f,loading:S,loadMore:N,loadingMore:v,reload:M,error:k}=je(async i=>{if(!t?.did)return{list:[],total:0};const h=i?Math.ceil(i.list.length/oe)+1:1,A=T[n];if(!A)return{list:[],total:0};const P=await A({input:{teamDid:a,userDid:t.did,type:n,paging:{page:h,pageSize:oe}}});return{list:(n==="invitees"?P?.users:P?.data)||[],total:P?.paging?.total||0}},{reloadDeps:[n,t?.did,r],isNoMore:i=>i?.list.length?i.list.length>=i?.total:!0,onError(i){Se.error(ee(i))}}),L=()=>{try{n!=="invitees"&&M(),g()}catch(i){console.error(i)}},{list:U=[],total:z=0}=f||{},o=U.length<z,l=F(i=>{if(!i?.did)return;const h=Ue(Ce.WELLKNOWN_BLOCKLET_USER_PATH,{did:i.did,locale:s});window.open(h,"_blank")});return R.useEffect(()=>{b&&N()},[b,N]),S?e.jsx(d,{sx:{py:2,display:"grid",gridTemplateColumns:{xs:"1fr",sm:`repeat(${x}, 1fr)`},gap:2},children:Array.from({length:6},(i,h)=>`skeleton-${n}-${h}`).map(i=>e.jsx(Le,{},i))}):U.length===0?e.jsx(ce,{currentTab:n,errorMsg:k?ee(k):""}):e.jsxs(d,{children:[e.jsx(d,{className:"user-list",sx:{px:j?0:1,py:2,display:"grid",gridTemplateColumns:{md:"1fr",lg:`repeat(${x}, 1fr)`},gap:2},children:U.map(i=>{const h=n==="invitees"?i:i.user;if(!h)return null;let A=n==="following"?i.userDid:i.followerDid;return n==="invitees"&&(A=h.did),e.jsx(d,{className:"user-item",children:e.jsx(Te,{user:h,showDid:!0,cardType:Ne.CARD,infoType:Ie.INFO,session:m,showSocialActions:u,onAvatarClick:l,onFollowClick:L})},A)})}),o?e.jsx(d,{sx:{display:"flex",justifyContent:"center",mt:2},children:e.jsx(_,{variant:"text",color:"primary",onClick:N,ref:C,children:y(v?"common.loading":"webhookEndpoint.loadMore")})}):null]})}ue.propTypes={...Q,...G,followed:c.bool};function de({data:t,currentTab:a,onTabChange:n,showInvitees:x=!0}){const{t:g}=O(),r=[{label:g("team.userFollowers.following"),value:"following",count:t?.following||0},{label:g("team.userFollowers.followers"),value:"followers",count:t?.followers||0},...x?[{label:g("team.userFollowers.invitees"),value:"invitees",count:t?.invitees||0}]:[]];return e.jsx(d,{children:r.map(u=>e.jsxs(Fe,{className:a===u.value?"active":"",onClick:()=>n(u.value),children:[u.label,u.count>0&&e.jsxs("span",{className:"count",style:{marginLeft:4},children:["(",u.count>99?"99+":u.count,")"]})]},u.value))})}de.propTypes={...Q,...G,onTabChange:c.func.isRequired};function Be({user:t,teamDid:a,column:n=2,followed:x=!1,showSocialActions:g=!0,showInvitees:r=!0}){const[u,y]=R.useState("following"),{api:s}=le(),E=R.useMemo(()=>{const{settings:j={}}=window?.blocklet||{},{invite:T}=j;return T&&T.enabled},[]),{data:m,refresh:C}=ne(async()=>t?.did?(await s.getUserFollowStats({input:{teamDid:a,userDids:[t.did],options:{includeInvitees:r&&E}}}))?.data?.[t.did]||{following:0,followers:0,invitees:0}:{following:0,followers:0},{refreshDeps:[t?.did,x]}),b=j=>{y(j)};return e.jsxs(d,{children:[e.jsx(de,{data:m,user:t,currentTab:u,onTabChange:b,showInvitees:r&&E}),e.jsx(ue,{column:n,user:t,currentTab:u,teamDid:a,followed:x,refresh:C,showSocialActions:g},u)]})}Be.propTypes={...G,teamDid:c.string.isRequired,followed:c.bool,showInvitees:c.bool};const Fe=re(_)`
|
|
2
2
|
&.MuiButtonBase-root {
|
|
3
3
|
border-radius: 9999px;
|
|
4
4
|
margin-right: 2px;
|