@abtnode/blocklet-services 1.17.2-beta-20251113-233840-b720c2e6 → 1.17.2-beta-20251114-122922-4319f1ac

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.
Files changed (163) hide show
  1. package/api/libs/connect/session.js +3 -2
  2. package/api/middlewares/launcher-login.js +2 -1
  3. package/api/routes/federated.js +2 -2
  4. package/api/routes/oauth/client.js +2 -2
  5. package/api/routes/user-session.js +67 -61
  6. package/api/routes/user.js +5 -5
  7. package/api/services/auth/connect/invite.js +2 -2
  8. package/api/services/auth/connect/issue-passport.js +2 -2
  9. package/api/services/auth/connect/setup.js +2 -1
  10. package/api/services/auth/session.js +2 -2
  11. package/api/util/federated.js +2 -2
  12. package/api/util/user-util.js +3 -2
  13. package/dist/assets/{AdapterDayjs-n7bg6_1X.js → AdapterDayjs-B04P6h7J.js} +1 -1
  14. package/dist/assets/{Google-B7vPL-F-.js → Google-CqFo2faB.js} +1 -1
  15. package/dist/assets/{access-control-DzGgWWZ2.js → access-control-CjCxQlMu.js} +1 -1
  16. package/dist/assets/{add-component-core-BVgXUmDl.js → add-component-core-C2S9QiqL.js} +1 -1
  17. package/dist/assets/{add-resource-BYFXLlJi.js → add-resource-CuaLDI6L.js} +1 -1
  18. package/dist/assets/{addon-D55HADGw.js → addon-D41X7_Ha.js} +1 -1
  19. package/dist/assets/{advanced-78iwWU4o.js → advanced-DgrelCY3.js} +1 -1
  20. package/dist/assets/{aigne-D2ouITtp.js → aigne-Yr1coV9J.js} +1 -1
  21. package/dist/assets/{appearance-BxJw9_9i.js → appearance-DTPu5zPe.js} +1 -1
  22. package/dist/assets/{arrow-down.svg-jcbqXjCo.js → arrow-down.svg-BIX16b-P.js} +1 -1
  23. package/dist/assets/{audit-logs-DKA2Ld-V.js → audit-logs-ChufMFKS.js} +1 -1
  24. package/dist/assets/{authorize-C_GTM8sX.js → authorize-BvRxf82d.js} +1 -1
  25. package/dist/assets/{base32-C2ICddpr.js → base32-CE_1-AN3.js} +1 -1
  26. package/dist/assets/{bind-account-BzUOnS2v.js → bind-account-xMtYaPJ7.js} +1 -1
  27. package/dist/assets/{branding-BMYM39Yb.js → branding-C1ye6wGf.js} +1 -1
  28. package/dist/assets/{branding-CMcJRjq4.js → branding-C5BV6PKe.js} +1 -1
  29. package/dist/assets/{branding-DG0j7pus.js → branding-DbQznVYe.js} +1 -1
  30. package/dist/assets/{bundle-avatar-C2b68fsU.js → bundle-avatar-B1050zFo.js} +1 -1
  31. package/dist/assets/{button-DckwEyNC.js → button-9QcssggO.js} +1 -1
  32. package/dist/assets/{click-to-copy-dTo_gMCB.js → click-to-copy-BkU88dAD.js} +1 -1
  33. package/dist/assets/{complete-LX-wd42B.js → complete-DZVVfX5P.js} +1 -1
  34. package/dist/assets/{component-DrYS_RjR.js → component-CfrOI6i5.js} +2 -2
  35. package/dist/assets/{config-C23x5afe.js → config-CkNzsAXv.js} +1 -1
  36. package/dist/assets/{config-CrtCTkMs.js → config-D5LRMmb0.js} +1 -1
  37. package/dist/assets/{config-B1rMxK96.js → config-DeWFFWZ4.js} +1 -1
  38. package/dist/assets/{config-navigation-D_FYtIV1.js → config-navigation-kBAhTt_z.js} +9 -9
  39. package/dist/assets/{config-space-Dj1xIdxV.js → config-space-GWPehdiS.js} +1 -1
  40. package/dist/assets/{confirm-CsU3Oo5d.js → confirm-Cb7UwqYS.js} +1 -1
  41. package/dist/assets/{connect-BlLt6EUW.js → connect-BXfNpVtu.js} +1 -1
  42. package/dist/assets/{connect-Bj54R4zL.js → connect-DL9YrliM.js} +1 -1
  43. package/dist/assets/{connect-to-Bn-bpt7c.js → connect-to-5xKcFhJq.js} +1 -1
  44. package/dist/assets/{create-passport-svg-r85opQmx.js → create-passport-svg--kCsicWA.js} +1 -1
  45. package/dist/assets/{createClass-BEaxqVN7.js → createClass-D9-Z7Ng8.js} +1 -1
  46. package/dist/assets/{dashboard-ByAVWWCJ.js → dashboard-Blst3P1q.js} +2 -2
  47. package/dist/assets/{delete-confirm-GHfrlOg3.js → delete-confirm-oFx7NRBG.js} +1 -1
  48. package/dist/assets/{did-address-C7Y529i0.js → did-address-BeDbQEgo.js} +1 -1
  49. package/dist/assets/{domain-DwA0APIu.js → domain-BAz5Jnp3.js} +1 -1
  50. package/dist/assets/{domain-action-card-DNJD1QsY.js → domain-action-card-BPIGiyRz.js} +1 -1
  51. package/dist/assets/{domains-DUtzb2xL.js → domains-DzH4E7Ky.js} +1 -1
  52. package/dist/assets/{email-BcmCHHXV.js → email-AE87NO3k.js} +1 -1
  53. package/dist/assets/engine-CHbWdoYF.js +1 -0
  54. package/dist/assets/{exchange-passport-BTJI81nF.js → exchange-passport-Chzr6DQN.js} +1 -1
  55. package/dist/assets/{form-B7Bm3zQR.js → form-D_b_DG-x.js} +1 -1
  56. package/dist/assets/{form-text-input-D_psiVer.js → form-text-input-C2U1m5ol.js} +1 -1
  57. package/dist/assets/{fuel-C34uL1eO.js → fuel-C8FRHxLR.js} +1 -1
  58. package/dist/assets/{gen-access-key-C31K8UIS.js → gen-access-key-DwnkD6OQ.js} +1 -1
  59. package/dist/assets/{gen-simple-access-key-B6cEQyVG.js → gen-simple-access-key-D5wTuY1t.js} +1 -1
  60. package/dist/assets/get-safe-url-mHb8MGmt.js +1 -0
  61. package/dist/assets/{home-CnZu_C7R.js → home-2prkME-Q.js} +1 -1
  62. package/dist/assets/{iframe-0QvKnUSA.js → iframe-DqyN02cu.js} +1 -1
  63. package/dist/assets/{index-Dkr8COJ6.js → index-0PQCgggo.js} +1 -1
  64. package/dist/assets/{index-CBB-6wLp.js → index-6DYfiGIi.js} +2 -2
  65. package/dist/assets/{index-DbMXkhZq.js → index-BFjPk5rY.js} +2 -2
  66. package/dist/assets/{index-D-vmjAd3.js → index-BK6jWBnR.js} +1 -1
  67. package/dist/assets/{index-DtEKkBB8.js → index-BKvI-HQW.js} +1 -1
  68. package/dist/assets/{index-C2vqAUdb.js → index-BcWDbRWR.js} +1 -1
  69. package/dist/assets/{index-B3hel-O_.js → index-BjPh-7kQ.js} +1 -1
  70. package/dist/assets/{index-BNk73zyW.js → index-Bkmh68gh.js} +3 -3
  71. package/dist/assets/{index-BYOmYfxB.js → index-C-PaVJtk.js} +1 -1
  72. package/dist/assets/{index-thMounfk.js → index-CA0pv3Uq.js} +3 -3
  73. package/dist/assets/{index-BYYnRb6p.js → index-CDLNMKDM.js} +82 -82
  74. package/dist/assets/{index-B6Slehxb.js → index-CGsJfc7B.js} +1 -1
  75. package/dist/assets/{index-XStWNunW.js → index-CHmNqpEJ.js} +1 -1
  76. package/dist/assets/{index-4Q2nGBR1.js → index-CHnA2nN2.js} +1 -1
  77. package/dist/assets/{index-EQzXRMHS.js → index-CIHjwyhW.js} +1 -1
  78. package/dist/assets/{index-TszeC1SU.js → index-CLdviW_b.js} +1 -1
  79. package/dist/assets/{index-DqTNJ8Zu.js → index-CiTIvXav.js} +1 -1
  80. package/dist/assets/{index-Y6z8B_zK.js → index-CkLEqkuR.js} +1 -1
  81. package/dist/assets/{index-DTZgqull.js → index-D45OiFud.js} +1 -1
  82. package/dist/assets/{index-C3EbOdrf.js → index-DEoXYS44.js} +1 -1
  83. package/dist/assets/{index-nHUlbC17.js → index-DTf1TIHb.js} +1 -1
  84. package/dist/assets/{index-Dtls6zrz.js → index-DVeHusdz.js} +1 -1
  85. package/dist/assets/{index-B117pBNr.js → index-D_MyW6is.js} +1 -1
  86. package/dist/assets/{index-DpnM0Oph.js → index-DfxScG8C.js} +1 -1
  87. package/dist/assets/{index-BapXgoRr.js → index-Ds523Kr4.js} +1 -1
  88. package/dist/assets/{index-DKpBwa3h.js → index-Dw-Z7YrL.js} +1 -1
  89. package/dist/assets/{index-CTmrDTTO.js → index-YZ0yjUWt.js} +1 -1
  90. package/dist/assets/{index-Dl7ntxgc.js → index-dhiRVZZQ.js} +1 -1
  91. package/dist/assets/{index-Db5-qBEa.js → index-erLJSqBe.js} +1 -1
  92. package/dist/assets/{index-BHqk4DRy.js → index-heiIZy8r.js} +1 -1
  93. package/dist/assets/{invitation-CF-l2bGx.js → invitation-BLXeyB9R.js} +1 -1
  94. package/dist/assets/{invitations-DZgF_G9y.js → invitations-DAbKE0z_.js} +1 -1
  95. package/dist/assets/{invite-BQPUtzrP.js → invite-nkH5yAFh.js} +1 -1
  96. package/dist/assets/{isURL-CdZBC5rb.js → isURL-B8QEuluM.js} +1 -1
  97. package/dist/assets/{issue-passport-CNy122pu.js → issue-passport-DHA-EFAO.js} +1 -1
  98. package/dist/assets/{item-bs6kC0V9.js → item-CjT9qBlP.js} +1 -1
  99. package/dist/assets/{landing-page-BEdI4Uem.js → landing-page-4maignTY.js} +1 -1
  100. package/dist/assets/{layout-HVfFSCrc.js → layout-e6DMnPsI.js} +1 -1
  101. package/dist/assets/{list-UYNsLF-V.js → list-B_m0p7sB.js} +1 -1
  102. package/dist/assets/{list-DYPNdBQ0.js → list-DG5rE6en.js} +1 -1
  103. package/dist/assets/localization-Ds_U2GMW.js +1 -0
  104. package/dist/assets/{log-1vq1ZG0o.js → log-BUSdWhUD.js} +1 -1
  105. package/dist/assets/logger-BsYh0hGr.js +1 -0
  106. package/dist/assets/{login-DDVsbMic.js → login-ML7YmOtr.js} +1 -1
  107. package/dist/assets/{login-oauth-callback-DQbytE-5.js → login-oauth-callback-D958pJEU.js} +1 -1
  108. package/dist/assets/{logo-uploader-BUvQQWmf.js → logo-uploader-BBf1tYyb.js} +1 -1
  109. package/dist/assets/{lost-passport-B2FZYBUv.js → lost-passport-C0Gat_y8.js} +1 -1
  110. package/dist/assets/{open-window-BGu_PdUA.js → open-window-BCPyuDbV.js} +1 -1
  111. package/dist/assets/{over-due-invoice-payment-CSEzFVaZ.js → over-due-invoice-payment-BXBLnoyA.js} +1 -1
  112. package/dist/assets/{overview-Db_OsTPe.js → overview-DDe_917X.js} +1 -1
  113. package/dist/assets/{passport-CO7_Cu0e.js → passport-Be2_BAlL.js} +1 -1
  114. package/dist/assets/{passport-item-4wBkLlfR.js → passport-item-CrqI8LZP.js} +1 -1
  115. package/dist/assets/{permission-DvAolQ-Q.js → permission-CRiK9UiX.js} +1 -1
  116. package/dist/assets/{preferences-B82nMaO0.js → preferences-B8QM8HJG.js} +1 -1
  117. package/dist/assets/profile-embed-Dkf-JFZx.js +1 -0
  118. package/dist/assets/{publish-resource-_xYnz-Z3.js → publish-resource-DDAEroSI.js} +1 -1
  119. package/dist/assets/{react-beautiful-dnd.esm-Cj5UKyoO.js → react-beautiful-dnd.esm-BsXmsXbi.js} +1 -1
  120. package/dist/assets/{runtime-BgxpAnsa.js → runtime-Dx-xN_gK.js} +1 -1
  121. package/dist/assets/sdk-DjGKLOyd.js +1 -0
  122. package/dist/assets/{security-DoO2ZJVY.js → security-CDnrU-XX.js} +1 -1
  123. package/dist/assets/{session-DeWNn47Q.js → session-BDmvqOvc.js} +1 -1
  124. package/dist/assets/{setup-D4pKSboV.js → setup-Cju8Z063.js} +1 -1
  125. package/dist/assets/{simple-select-CINtBPZE.js → simple-select-DWI2SRq6.js} +1 -1
  126. package/dist/assets/{spaces-CCbSHYP8.js → spaces-CNXRZTcd.js} +1 -1
  127. package/dist/assets/{start-BY1R2UT5.js → start-BBRJjidX.js} +1 -1
  128. package/dist/assets/{starting-progress-CJhrg-lU.js → starting-progress-D-1aLd8t.js} +1 -1
  129. package/dist/assets/{status-BMRLu_19.js → status-CK9xg7pT.js} +1 -1
  130. package/dist/assets/{step-actions-BkqofW7Q.js → step-actions-CWp-NtsH.js} +1 -1
  131. package/dist/assets/{studio-DCgh-vhK.js → studio-B1WBQVRk.js} +1 -1
  132. package/dist/assets/{switch-control-sKJkh6AT.js → switch-control-BXLt-KrD.js} +1 -1
  133. package/dist/assets/{table-tips-BDEuNUa-.js → table-tips-CD2JCnV7.js} +1 -1
  134. package/dist/assets/{team-C3Lb5lSC.js → team-CCbX1N7p.js} +1 -1
  135. package/dist/assets/{traffic-D2Cfq9L1.js → traffic-Bxkf9fJx.js} +1 -1
  136. package/dist/assets/{transfer-DOdQMQLS.js → transfer-8WkD_jUd.js} +1 -1
  137. package/dist/assets/{unsubscribe-Dbk_TXVM.js → unsubscribe-DVeiVKLX.js} +1 -1
  138. package/dist/assets/{use-app-logo-5LCwuL_7.js → use-app-logo-lNueneHC.js} +1 -1
  139. package/dist/assets/{use-window-close-DSeaP-vP.js → use-window-close-D8vmtt2d.js} +1 -1
  140. package/dist/assets/{useLocalStorage-Cja7SGMc.js → useLocalStorage-E5ZXDlU2.js} +1 -1
  141. package/dist/assets/user-center-BU_yo3ue.js +126 -0
  142. package/dist/assets/user-follower-DLzUfaiE.js +32 -0
  143. package/dist/assets/{util-DT6hMKHn.js → util-Bj9Es728.js} +1 -1
  144. package/dist/assets/{util-CVkoegRs.js → util-CeZoM_ul.js} +1 -1
  145. package/dist/assets/{vendor-arcblock-Cjhx0qYj.js → vendor-arcblock-DrHS8FbJ.js} +1 -1
  146. package/dist/assets/{vendor-ux-CYelfrd4.js → vendor-ux-CzE32faw.js} +1 -1
  147. package/dist/assets/{wait-connect-CI9czsmS.js → wait-connect-ySKEj_Ph.js} +1 -1
  148. package/dist/assets/{wizard-components-DvfW-PYY.js → wizard-components-B1CGAMtl.js} +1 -1
  149. package/dist/assets/{wizard-DdxYdubI.js → wizard-sjepmmF5.js} +1 -1
  150. package/dist/assets/wrap-locale-cNkWnEw5.js +1 -0
  151. package/dist/assets/{zh-DtY2CCsC.js → zh-CUmZifBZ.js} +1 -1
  152. package/dist/index.html +1 -1
  153. package/dist/service-worker.js +1 -1
  154. package/package.json +49 -49
  155. package/dist/assets/engine-CnumkZlJ.js +0 -1
  156. package/dist/assets/get-safe-url-DJBvJ5j0.js +0 -1
  157. package/dist/assets/localization-CmVSMbfo.js +0 -1
  158. package/dist/assets/logger-B2ocx_Ko.js +0 -1
  159. package/dist/assets/profile-embed-Cum73eUB.js +0 -1
  160. package/dist/assets/sdk-CFjCOL-V.js +0 -1
  161. package/dist/assets/user-center-DeR7b6_x.js +0 -126
  162. package/dist/assets/user-follower-BghxPW4p.js +0 -32
  163. package/dist/assets/wrap-locale-DOU63eiN.js +0 -1
@@ -0,0 +1,32 @@
1
+ import{$ as pe,B as xe,V as O,o as J,z as K,h as ge,J as Y,H as Se,i as me}from"./vendor-ux-CzE32faw.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 _,bq as we,b6 as D,br as $,a6 as ye,n as H,s as re,ar as B}from"./vendor-mui-core-CnXrAOs3.js";import{a as I,g as X,b as F,h as Ee,k as ne,p as be,q as je}from"./vendor-hooks-CjESGRlR.js";import{U as q}from"./ua-parser-DP5omx3I.js";import{Y as p,az as ve,aA as Re,_ as le,c as Ce,ar as Te,as as Ie,at as Ne}from"./index-CDLNMKDM.js";import{r as R}from"./vendor-react-Dvs43sk9.js";import{u as ie}from"./use-mobile-maRlSUwU.js";import{b as Z}from"./sdk-DjGKLOyd.js";import{J as Ue}from"./vendor-utils-cJEl_UEd.js";import{u as Ae}from"./session-BDmvqOvc.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:b}=O(),m=ie({key:"md"}),C=he(o=>o.breakpoints.down("lg")),{confirmApi:E,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||[]}});Ee(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]),z=F(({visitorId:o})=>{E.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(),E.close()}})}),k=F(()=>{E.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(),E.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]),M=[{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:()=>z({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:M,customButtons:L,options:U,locale:b,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:b}=le(),{session:m}=Ae(),C=R.useRef(null),[E]=be(C),j=ie({key:"md"}),T={following:b.getUserFollowing,followers:b.getUserFollowers,invitees:b.getUserInvites},{data:f,loading:S,loadMore:N,loadingMore:v,reload:z,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"&&z(),g()}catch(i){console.error(i)}},{list:U=[],total:M=0}=f||{},o=U.length<M,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(()=>{E&&N()},[E,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(),b=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&&b}}}))?.data?.[t.did]||{following:0,followers:0,invitees:0}:{following:0,followers:0},{refreshDeps:[t?.did,x]}),E=j=>{y(j)};return e.jsxs(d,{children:[e.jsx(de,{data:m,user:t,currentTab:u,onTabChange:E,showInvitees:r&&b}),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
+ &.MuiButtonBase-root {
3
+ border-radius: 9999px;
4
+ margin-right: 2px;
5
+ padding: 5px 12px;
6
+ line-height: 22px;
7
+ font-size: 13px;
8
+ background-color: ${({theme:t})=>t.palette.background.default};
9
+ color: ${({theme:t})=>t.palette.text.primary};
10
+ font-weight: 400;
11
+ border: 1px solid ${({theme:t})=>t.palette.divider} !important;
12
+ }
13
+ &.active.MuiButtonBase-root,
14
+ &.active.MuiButtonBase-root:hover {
15
+ color: ${({theme:t})=>t.palette.primary.main};
16
+ font-weight: 600;
17
+ background-color: ${({theme:t})=>H(t.palette.primary.main,.1)};
18
+ border: 1px solid ${({theme:t})=>H(t.palette.primary.main,.24)} !important;
19
+ }
20
+
21
+ &.MuiButtonBase-root:hover {
22
+ background-color: rgba(0, 0, 0, 0.04);
23
+ }
24
+ `;re(_)`
25
+ color: ${({theme:t})=>t.palette.text.primary};
26
+ font-weight: 500;
27
+ border-color: ${({theme:t})=>t.palette.grey[300]};
28
+ line-height: 1.5;
29
+ &:hover {
30
+ background-color: ${({theme:t})=>H(t.palette.primary.main,.1)};
31
+ }
32
+ `;export{ke as U,Be as a};