@abtnode/blocklet-services 1.16.29-beta-112566d5 → 1.16.29-beta-cbfd116d

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 (197) hide show
  1. package/api/libs/connect/session.js +79 -5
  2. package/api/routes/user.js +34 -0
  3. package/api/services/auth/connect/switch-profile.js +1 -0
  4. package/api/services/auth/session.js +2 -1
  5. package/api/state/profile.js +84 -0
  6. package/dist/assets/{Add-CY4Vajpf.js → Add-DUVzKYFm.js} +1 -1
  7. package/dist/assets/{AddBox-DeNDC_On.js → AddBox-CT33z_Zw.js} +1 -1
  8. package/dist/assets/{Alert-X8Tf_Ya2.js → Alert-bNqYhcqn.js} +1 -1
  9. package/dist/assets/{ArrowDropDown-B1ERiCZ6.js → ArrowDropDown-D8Cz7Mn2.js} +1 -1
  10. package/dist/assets/{Avatar-DzypDi2F.js → Avatar-BOUPLUwk.js} +1 -1
  11. package/dist/assets/{ButtonGroup-Yl1SMoBq.js → ButtonGroup-D4mZO4Fl.js} +1 -1
  12. package/dist/assets/{CheckCircle-lTVG_pn6.js → CheckCircle-Ocnhk6Zm.js} +1 -1
  13. package/dist/assets/{ChevronRight-yT0593W6.js → ChevronRight-DTp0tWJx.js} +1 -1
  14. package/dist/assets/{Close-DJPwlagN.js → Close-Dv0WBlnZ.js} +1 -1
  15. package/dist/assets/CloseOutlined-D-KrmlLZ.js +1 -0
  16. package/dist/assets/{Delete-LnXfw8II.js → Delete-DVuHYKCF.js} +1 -1
  17. package/dist/assets/{DeleteOutline-yfbdyPMw.js → DeleteOutline-Djc7fx6t.js} +1 -1
  18. package/dist/assets/{Done-CegxfXGS.js → Done-hVgZPg46.js} +1 -1
  19. package/dist/assets/{Download-CbdL3-JP.js → Download-CaohbVSv.js} +1 -1
  20. package/dist/assets/{Edit-mj0warXM.js → Edit-B6Q6agid.js} +1 -1
  21. package/dist/assets/{EditIcon-BWMMTTyf.js → EditIcon-CoTYxPVa.js} +1 -1
  22. package/dist/assets/{Error-CnzO6x6f.js → Error-DPX7wzQI.js} +1 -1
  23. package/dist/assets/{ExpandMore-BoZqCbU8.js → ExpandMore-Dlsr2tPH.js} +1 -1
  24. package/dist/assets/{FilterList-C75puMMo.js → FilterList-CxPULTD0.js} +4 -4
  25. package/dist/assets/{FormControl-02YkGBiU.js → FormControl-DS4KaFHq.js} +1 -1
  26. package/dist/assets/{FormControlLabel-BZuIe-KU.js → FormControlLabel-C0hZddbx.js} +1 -1
  27. package/dist/assets/{FormGroup-CUYWiNiM.js → FormGroup-C3fjarrl.js} +1 -1
  28. package/dist/assets/{Google-D6M8c4go.js → Google-BlxdY2rj.js} +3 -3
  29. package/dist/assets/{Hidden-BtwYfeyy.js → Hidden-B431iBU_.js} +1 -1
  30. package/dist/assets/{InfoOutlined-DzWheCe4.js → InfoOutlined-v3x0TY6V.js} +1 -1
  31. package/dist/assets/{InputAdornment-B3Ml-Pew.js → InputAdornment-DobS7Kox.js} +1 -1
  32. package/dist/assets/{InputLabel-D_H-0SoX.js → InputLabel-B1CW0pkO.js} +1 -1
  33. package/dist/assets/{LastPage-D-3vv4wE.js → LastPage-C4NAdMRF.js} +1 -1
  34. package/dist/assets/{Launch-B0EjmiiU.js → Launch-ByMOsCzr.js} +1 -1
  35. package/dist/assets/{LaunchOutlined-sgP85ul9.js → LaunchOutlined-D4Flylz3.js} +1 -1
  36. package/dist/assets/{Link-1nuQkwqf.js → Link-C3mczvyl.js} +1 -1
  37. package/dist/assets/{ListItemText-Bn_r5n_z.js → ListItemText-CgBEGXWT.js} +1 -1
  38. package/dist/assets/{LoadingButton-D9fUIMmf.js → LoadingButton-Dlsz1Ms3.js} +1 -1
  39. package/dist/assets/{LockIcon-CkuBg3Hn.js → LockIcon-sRezRxDg.js} +1 -1
  40. package/dist/assets/{Loop-CIkJKfB9.js → Loop-B8_3BEHM.js} +1 -1
  41. package/dist/assets/{MoreVert-DhDSKiqk.js → MoreVert-a-kv_ER7.js} +1 -1
  42. package/dist/assets/{OpenInNew-DUIHrnXo.js → OpenInNew-CzbN8XuL.js} +1 -1
  43. package/dist/assets/{Pagination-BlS75-dT.js → Pagination-DFx6ff11.js} +1 -1
  44. package/dist/assets/{PlayArrow-MoLzECrB.js → PlayArrow-aNY7jbBC.js} +1 -1
  45. package/dist/assets/{QuestionMarkCircle-D2W4KMR_.js → QuestionMarkCircle-B_rw-f43.js} +1 -1
  46. package/dist/assets/{RadioGroup-C3L5xJaa.js → RadioGroup-BfWqVp9t.js} +1 -1
  47. package/dist/assets/{Search-DTUqGlmf.js → Search-M7JhBg8T.js} +1 -1
  48. package/dist/assets/{Select-DCbRxmUU.js → Select-D9POEHyN.js} +2 -2
  49. package/dist/assets/{ServerLogo-BhzjzHzD.js → ServerLogo-CmEIITqo.js} +1 -1
  50. package/dist/assets/{Skeleton-5Ejh8uW9.js → Skeleton-DSmw4PBH.js} +5 -5
  51. package/dist/assets/{Slider-Cl86dPUi.js → Slider-DwSRUy4d.js} +1 -1
  52. package/dist/assets/{Stepper-BFMAEaBf.js → Stepper-LW_MLyom.js} +1 -1
  53. package/dist/assets/{TextField-BHSEV3Ac.js → TextField-tzVHCyGP.js} +1 -1
  54. package/dist/assets/{Toolbar-D3YIXjSy.js → Toolbar-DJupn0f9.js} +1 -1
  55. package/dist/assets/{ViewList-cURATctI.js → ViewList-C1U7sxhd.js} +1 -1
  56. package/dist/assets/{access-control-D8X_8z7A.js → access-control-DOWWWYql.js} +1 -1
  57. package/dist/assets/{actions-CbsTrVFd.js → actions-BVhLyZpR.js} +1 -1
  58. package/dist/assets/{add-component-core-CATRvviC.js → add-component-core-DDx1WDjh.js} +20 -20
  59. package/dist/assets/add-resource-CBt30k1E.js +1 -0
  60. package/dist/assets/{addon-D0jt9co0.js → addon-B0cj0mfg.js} +1 -1
  61. package/dist/assets/{analytics-wO1onAqc.js → analytics-Ct3JnUhl.js} +9 -9
  62. package/dist/assets/api-CkjkeCdA.js +1 -0
  63. package/dist/assets/audit-logs-CfrqWHnt.js +58 -0
  64. package/dist/assets/{blocklet-storage-Bbhcz6In.js → blocklet-storage-DHTHeqHC.js} +1 -1
  65. package/dist/assets/{button-DTeWpy9g.js → button-BTJqPnHF.js} +1 -1
  66. package/dist/assets/{click-to-copy-CaJFO5Kq.js → click-to-copy-eJ8KblZ5.js} +1 -1
  67. package/dist/assets/{complete-3uapgH3n.js → complete-C1e5FlMJ.js} +4 -4
  68. package/dist/assets/{component-BCvhjsjE.js → component-BacRXbI5.js} +1 -1
  69. package/dist/assets/{config-DJ2yOOMa.js → config-7HPh0OPK.js} +1 -1
  70. package/dist/assets/{config-DRVy3XZK.js → config-BKEljyRy.js} +2 -2
  71. package/dist/assets/{config-navigation-DRALpukx.js → config-navigation-9PNvdTi2.js} +2 -2
  72. package/dist/assets/confirm-BUGn-2W8.js +7 -0
  73. package/dist/assets/{connect-BSe0CQFh.js → connect-C-nA2wuT.js} +1 -1
  74. package/dist/assets/{connect-BegmDQRh.js → connect-Cis6vi3E.js} +1 -1
  75. package/dist/assets/{connect-to-CsUlyY6l.js → connect-to-CmyzTb62.js} +2 -2
  76. package/dist/assets/{content-layout-7iVGY_ud.js → content-layout-DimpCafz.js} +1 -1
  77. package/dist/assets/{dashboard-Dy_5eyk1.js → dashboard--jZHvPJB.js} +7 -7
  78. package/dist/assets/{did-address-01PnQBPQ.js → did-address-2bWEhCPb.js} +1 -1
  79. package/dist/assets/{domain-BXr1Jxdg.js → domain-C7z_PdCP.js} +1 -1
  80. package/dist/assets/{domain-list-DRd4BKdS.js → domain-list-SF-C3yfn.js} +2 -2
  81. package/dist/assets/{exchange-passport-DBlhf64U.js → exchange-passport-bFf5UOyl.js} +1 -1
  82. package/dist/assets/{fallback-D4IbwHOh.js → fallback-26RC6JHo.js} +1 -1
  83. package/dist/assets/{format-error-BLTYbOE0.js → format-error-HsQXURX_.js} +1 -1
  84. package/dist/assets/{fuel-BFrr131p.js → fuel-BTmuGQUQ.js} +1 -1
  85. package/dist/assets/{fullpage-o_U-2IGS.js → fullpage-Cjsv3Wf9.js} +1 -1
  86. package/dist/assets/{home--rxR-cTY.js → home-C5blY9H6.js} +1 -1
  87. package/dist/assets/{iframe-DAPuN1dW.js → iframe-B-dRGYkN.js} +1 -1
  88. package/dist/assets/{index-BRzBZXpP.js → index-24yb3A6v.js} +4 -4
  89. package/dist/assets/{index-Bf4S7Fg9.js → index-B-WWT0RB.js} +1 -1
  90. package/dist/assets/{index-BCLn-9S9.js → index-B0FNhvZR.js} +1 -1
  91. package/dist/assets/index-B0pqmro3.js +1 -0
  92. package/dist/assets/{index-DW7MULcX.js → index-BDw9WR4Y.js} +1 -1
  93. package/dist/assets/{index-BrXFspW6.js → index-BRh4m4iG.js} +1 -1
  94. package/dist/assets/{index-7PLdtDxY.js → index-BhroV0sn.js} +1 -1
  95. package/dist/assets/{index-DHRl1pLr.js → index-BnDpXkQD.js} +1 -1
  96. package/dist/assets/index-Bo6_cvnJ.js +4 -0
  97. package/dist/assets/{index-CHegi_Ee.js → index-BvABiWhK.js} +1 -1
  98. package/dist/assets/index-C8pZezDf.js +11 -0
  99. package/dist/assets/{index-Cd20iNJ4.js → index-C97B1afx.js} +18 -18
  100. package/dist/assets/{index-l8yj4zzE.js → index-CBouf4h_.js} +1 -1
  101. package/dist/assets/{index-BB-3C_7E.js → index-CEIhpkQ8.js} +1 -1
  102. package/dist/assets/{index-CptRhWH5.js → index-CEzHaZQX.js} +61 -30
  103. package/dist/assets/{index-CbcN4v3T.js → index-CIjX7CkA.js} +1 -1
  104. package/dist/assets/index-CM5JeGjL.js +54 -0
  105. package/dist/assets/{index-DZWxxu-P.js → index-Cj8_nBBf.js} +7 -7
  106. package/dist/assets/{index-CyUODU0b.js → index-CrOnhTCB.js} +1 -1
  107. package/dist/assets/{index-1I7IXhML.js → index-Cs_U4e7a.js} +1 -1
  108. package/dist/assets/{index-CzsxjdeJ.js → index-D03FwDOh.js} +1 -1
  109. package/dist/assets/{index-Diwtza0T.js → index-DATcoDW2.js} +8 -8
  110. package/dist/assets/{index-Dvf9hLBW.js → index-DTwcC2c1.js} +6 -6
  111. package/dist/assets/{index-Cf2_yBdK.js → index-DhM5yf8I.js} +1 -1
  112. package/dist/assets/{index-B0KUbTqG.js → index-DuTXpR60.js} +1 -1
  113. package/dist/assets/index-DzOteYvH.js +1 -0
  114. package/dist/assets/{index-B_Mn_6jy.js → index-Hr_Wbh6L.js} +1 -1
  115. package/dist/assets/{index-CZq1iuqc.js → index-IcQQOgM-.js} +196 -196
  116. package/dist/assets/{index-Bs7XqsZf.js → index-JXy24O4H.js} +1 -1
  117. package/dist/assets/index-UfxSCCrt.js +16 -0
  118. package/dist/assets/{index-ClrMer_1.js → index-XJYhE0w4.js} +1 -1
  119. package/dist/assets/{index-CmmFWW8f.js → index-lx_CUTL7.js} +1 -1
  120. package/dist/assets/{index-NKypbT5t.js → index-p63x9Zq5.js} +5 -5
  121. package/dist/assets/{index.es-DIBj3Jq4.js → index.es-CM1Yp6_h.js} +2 -2
  122. package/dist/assets/{index.esm-N7xOi6VN.js → index.esm-ChzwWoAD.js} +1 -1
  123. package/dist/assets/info-outline-rounded-DSoVZkGR.js +1 -0
  124. package/dist/assets/{invitation-Hu8jHCIo.js → invitation-DrXYTbOJ.js} +1 -1
  125. package/dist/assets/{invite-tCvD1Emp.js → invite-DuTRLxo9.js} +1 -1
  126. package/dist/assets/{issue-passport-BQo4G1nz.js → issue-passport-BlE3WUbc.js} +1 -1
  127. package/dist/assets/{item-DbGtGKeZ.js → item-CADE3Q1i.js} +1 -1
  128. package/dist/assets/{jss-plugin-props-sort.esm-DvQhW7jP.js → jss-plugin-props-sort.esm-BLFIN_3Q.js} +1 -1
  129. package/dist/assets/{launch-result-message-Bur7t6_c.js → launch-result-message-ePDZL2vD.js} +1 -1
  130. package/dist/assets/{layout-B0uAwIQe.js → layout-FpvhR73S.js} +1 -1
  131. package/dist/assets/{list-header-DFekr1NL.js → list-header-DXsvXmu-.js} +1 -1
  132. package/dist/assets/localization-SCjgzakh.js +1 -0
  133. package/dist/assets/{log-CjsiT4t8.js → log-BRlbvBGI.js} +1 -1
  134. package/dist/assets/{login-1J5BbYVV.js → login-CWtJouqB.js} +1 -1
  135. package/dist/assets/{login-oauth-callback-Blrq-pTH.js → login-oauth-callback-BZ0EO56v.js} +1 -1
  136. package/dist/assets/logo-uploader-CmT8ckaw.js +122 -0
  137. package/dist/assets/{lost-passport-B-xv32w5.js → lost-passport-YsMU9JSe.js} +3 -3
  138. package/dist/assets/{lottie-DHZm2Pp-.js → lottie-BoxmSqiv.js} +1 -1
  139. package/dist/assets/notifications-W8YDjym1.js +62 -0
  140. package/dist/assets/{open-window-C6VjWW94.js → open-window-CocULKZD.js} +1 -1
  141. package/dist/assets/overview-DFBre46m.js +12 -0
  142. package/dist/assets/{page-header-Doy1SeXs.js → page-header-DHrt0NLM.js} +1 -1
  143. package/dist/assets/{permission-BWAp0U1U.js → permission-DC5jJJsJ.js} +1 -1
  144. package/dist/assets/{preferences-C-rgtZ7Y.js → preferences-CeJNU9ax.js} +1 -1
  145. package/dist/assets/publish-resource-Bv1oefVi.js +1 -0
  146. package/dist/assets/react-Bq9Lc-LH.js +379 -0
  147. package/dist/assets/{redux-DJ4kW5cs.js → redux-BxhlcuLd.js} +1 -1
  148. package/dist/assets/resource-dialog-DFiUROrY.js +57 -0
  149. package/dist/assets/{selector-CoXEpXpq.js → selector-Bgt80Coe.js} +3 -3
  150. package/dist/assets/session-CxUjHNzI.js +1 -0
  151. package/dist/assets/setup-DQJXHOhw.js +14 -0
  152. package/dist/assets/{shorten-label-FpBR8oOW.js → shorten-label-Cykg6Lz7.js} +1 -1
  153. package/dist/assets/{slicedToArray-D6tWlK6Z.js → slicedToArray-BZ87qXGO.js} +2 -2
  154. package/dist/assets/{spaces-Dxw-EmTw.js → spaces-fGVCv7ID.js} +1 -1
  155. package/dist/assets/{start-D1WI9rVf.js → start-DHS9hXkS.js} +1 -1
  156. package/dist/assets/{step-actions-D3Bgjg32.js → step-actions-O0ph47PU.js} +1 -1
  157. package/dist/assets/{studio-SFi0TZqU.js → studio-DVDs4sAk.js} +1 -1
  158. package/dist/assets/{switch-control-D_6oISXT.js → switch-control-PRHugKgV.js} +1 -1
  159. package/dist/assets/{toUpper-DA5F5eP3.js → toUpper-BfLoBzn-.js} +1 -1
  160. package/dist/assets/{transfer-YRbXZ2oQ.js → transfer-NH0JDMM6.js} +1 -1
  161. package/dist/assets/{uniqBy-moVi8I9O.js → uniqBy-5dSXPjpT.js} +1 -1
  162. package/dist/assets/{unsubscribe-B-8N_G1A.js → unsubscribe-DHLJvqL7.js} +1 -1
  163. package/dist/assets/{url-join-BUXfHAG-.js → url-join-slhKS0RS.js} +1 -1
  164. package/dist/assets/use-blocklet-info-for-connect-did-spaces-CGcx0VhM.js +1 -0
  165. package/dist/assets/{use-mobile-C_ONEjf6.js → use-mobile-D7_VFCeM.js} +1 -1
  166. package/dist/assets/{useAsync-BLjRrBya.js → useAsync-xzt4qFZd.js} +1 -1
  167. package/dist/assets/{useFormControl-BrCPFkZH.js → useFormControl-DzLIycge.js} +1 -1
  168. package/dist/assets/{useLocalStorage-DrhIkVxO.js → useLocalStorage-C42lOP94.js} +1 -1
  169. package/dist/assets/{useSetState-CbQrbQss.js → useSetState-Cg2fSW48.js} +1 -1
  170. package/dist/assets/{useSlot-BSk477LF.js → useSlot-D6gCQKPz.js} +1 -1
  171. package/dist/assets/user-center-BPr1Hwe7.js +1 -0
  172. package/dist/assets/{util-Do8cOsC3.js → util-DEsBTM-7.js} +1 -1
  173. package/dist/assets/{wrap-locale-D6fNmzs0.js → wrap-locale-HDcgra7k.js} +1 -1
  174. package/dist/index.html +1 -1
  175. package/dist/service-worker.js +1 -1
  176. package/package.json +27 -26
  177. package/dist/assets/CloseOutlined-D1ZA66gd.js +0 -1
  178. package/dist/assets/add-resource-B0nzFGxn.js +0 -1
  179. package/dist/assets/api-BFSOae_v.js +0 -1
  180. package/dist/assets/audit-logs-DDUnfrlt.js +0 -58
  181. package/dist/assets/confirm-BzNK2mDA.js +0 -7
  182. package/dist/assets/index-CLFX4mT1.js +0 -11
  183. package/dist/assets/index-Cy3QGaUZ.js +0 -54
  184. package/dist/assets/index-K7xQGL1m.js +0 -16
  185. package/dist/assets/index-Wy8tXmp4.js +0 -4
  186. package/dist/assets/localization-Dyeek5nb.js +0 -1
  187. package/dist/assets/logo-uploader-KJa3kg20.js +0 -122
  188. package/dist/assets/notifications-D9-n_25q.js +0 -62
  189. package/dist/assets/overview-DkYsGUOj.js +0 -12
  190. package/dist/assets/publish-resource-C5iQ3qEW.js +0 -1
  191. package/dist/assets/react-CT3HMgMp.js +0 -56
  192. package/dist/assets/resource-dialog-Dyf09u0L.js +0 -57
  193. package/dist/assets/session-Ci3gpI0a.js +0 -1
  194. package/dist/assets/setup-D47fcxKa.js +0 -14
  195. package/dist/assets/use-blocklet-info-for-connect-did-spaces-DhpD5O4W.js +0 -1
  196. package/dist/assets/user-center-BYfQOHt3.js +0 -1
  197. package/dist/assets/user-sessions-CAX_hHjv.js +0 -1
@@ -1 +0,0 @@
1
- import{f as B,j as a,B as m,A as q,a as R,T as S,bc as G,M as L,g as H,u as J,bL as Y,h as E,O as K,b as O,bE as k,bB as Q,dM as U}from"./index-CZq1iuqc.js";import{D as X}from"./index-B_Mn_6jy.js";import{U as T,d as F}from"./resource-dialog-Dyf09u0L.js";class Z extends Error{constructor(n){super(),this.name="AbortError",this.message=n}}const N=e=>globalThis.DOMException===void 0?new Z(e):new DOMException(e),M=e=>{const n=e.reason===void 0?N("This operation was aborted."):e.reason;return n instanceof Error?n:N(n)};async function ee(e,n,{concurrency:s=Number.POSITIVE_INFINITY,stopOnError:i=!0,signal:u}={}){return new Promise((w,C)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof n!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(s)||s===Number.POSITIVE_INFINITY)&&s>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${s}\` (${typeof s})`);const r=[],A=[],g=new Map;let c=!1,x=!1,v=!1,y=0,b=0;const D=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),h=t=>{c=!0,x=!0,C(t)};u&&(u.aborted&&h(M(u)),u.addEventListener("abort",()=>{h(M(u))}));const I=async()=>{if(x)return;const t=await D.next(),o=b;if(b++,t.done){if(v=!0,y===0&&!x){if(!i&&A.length>0){h(new AggregateError(A));return}if(x=!0,g.size===0){w(r);return}const l=[];for(const[d,p]of r.entries())g.get(d)!==z&&l.push(p);w(l)}return}y++,(async()=>{try{const l=await t.value;if(x)return;const d=await n(l,o);d===z&&g.set(o,d),r[o]=d,y--,await I()}catch(l){if(i)h(l);else{A.push(l),y--;try{await I()}catch(d){h(d)}}}})()};(async()=>{for(let t=0;t<s;t++){try{await I()}catch(o){h(o);break}if(v||c)break}})()})}const z=Symbol("skip");async function te(e,n){return ee(e,s=>s(),n)}function oe({user:e,sessionUser:n}){const s=B(()=>{var i;return(i=(e==null?void 0:e.passports)||[])==null?void 0:i.find(u=>u.name===n.role)},[e==null?void 0:e.passports,n==null?void 0:n.role]);return a.jsxs(m,{sx:{display:"flex",alignItems:"center",gap:1},children:[a.jsx(q,{size:40,variant:"circle",shape:"circle",src:n.avatar,did:n.did,sx:{flexShrink:0}}),a.jsxs(m,{sx:{flex:1,overflow:"hidden"},children:[a.jsxs(m,{sx:{display:"flex",alignItems:"center",gap:1},children:[a.jsx(R,{title:n.fullName,children:a.jsx(S,{sx:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",flex:1},children:n.fullName})}),a.jsx(G,{label:(s==null?void 0:s.title)||(s==null?void 0:s.name)||"Guest",size:"small",variant:"outlined",sx:{flexShrink:0,fontWeight:"bold",fontSize:"12px",color:L.textBase,borderColor:L.strokeBorderStrong,backgroundColor:"transparent",textTransform:"capitalize",pr:.5,pl:0,height:"auto"}})]}),a.jsx(R,{title:n.email,children:a.jsx(S,{variant:"body2",color:"grey",sx:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:n.email})})]})]})}const ne={zh:{confirm:"确认",cancel:"取消",visitorId:"设备标识",deviceType:"设备类型",platform:"操作系统",walletOS:"钱包类型",role:"角色",fullname:"姓名",email:"邮箱",avatar:"头像",user:"用户",createdAt:"首次活动时间",updatedAt:"最近活动时间",lastLoginIp:"最近活动地址",actions:"操作",logoutAll:"注销所有会话",logoutAllTips:"不会注销当前会话",logout:"注销",currentSession:"当前会话",unknown:"未知",expired:"已过期",remove:"删除",logoutThisSession:"注销指定会话",logoutThisSessionConfirm:"确定要注销此会话吗?",logoutAllSession:"注销所有会话",logoutAllSessionConfirm:"确定要注销所有会话吗?"},en:{confirm:"Confirm",cancel:"Cancel",visitorId:"Device ID",deviceType:"Device Type",platform:"Platform",walletOS:"Wallet OS",role:"Role",fullname:"Fullname",email:"Email",avatar:"Avatar",user:"User",createdAt:"First Active Time",updatedAt:"Last Active Time",actions:"Actions",lastLoginIp:"Last Login IP",logoutAll:"Logout all",logoutAllTips:"Will not logout current session",logout:"Logout",currentSession:"Current Session",unknown:"Unknown",expired:"Expired",remove:"Remove",logoutThisSession:"Logout this session",logoutThisSessionConfirm:"Are you sure to logout this session?",logoutAllSession:"Logout all sessions",logoutAllSessionConfirm:"Are you sure to logout all sessions?"}},V="Reserved IP",P="ip-region-cache";async function re(e){const n=`https://ipapi.co/${e}/json/`,i=await(await fetch(n)).json();let u="";return i.error?i.reserved&&(u=V):u=[i.country_name,i.region,i.city].filter(Boolean).join("/"),u}async function se(e){const n=`https://api.ip.sb/geoip/${e}`,i=await(await fetch(n)).json();let u="";return i.error?i.reserved&&(u=V):u=[i.country,i.region,i.city].filter(Boolean).join("/"),u}async function ie(e){let n="",s={};try{const i=localStorage.getItem(P);i&&(s=JSON.parse(i))}catch{s={}}if(s[e])n=s[e];else{try{n=await se(e)}catch{console.warn("Fail to get ip region from ip.sb")}if(!n)try{n=await re(e)}catch{console.warn("Fail to get ip region from ip-api.co")}}if(n){const i=Object.keys(s);i.length>100&&delete s[i[0]],s[e]&&delete s[e],s[e]=n,localStorage.setItem(P,JSON.stringify(s))}return n}async function ae(e){return Promise.all(e.map(n=>ie(n)))}const W=e=>new T(e,{browser:[[/(ArcWallet)\/([\w\.]+)/i],[T.BROWSER.NAME,T.BROWSER.VERSION]]}).getResult();function de({user:e,showAction:n=!0,showUser:s=!0}){const i=H(),{locale:u}=J(),{confirmApi:w,confirmHolder:C}=Y(),r=E((t,o={})=>Q(ne,t,u,"en",o)),A=E(async()=>{let t=e==null?void 0:e.userSessions;t||(t=await F.userSession.getUserSessions({did:e.did}));try{const l=t==null?void 0:t.map((f,j)=>[j,f.lastLoginIp]).filter(f=>!!f[1]),d=l==null?void 0:l.map(f=>f[1]),p=await ae(d);for(let f=0;f<p.length;f++){const j=p[f],_=l[f],$=t[_[0]];$.ipRegion=j}}catch(l){console.warn("Failed to convert ip to region"),console.error(l)}const o=new Date().getTime();return U(t,l=>l.visitorId===i?-1:o-new Date(l.updatedAt).getTime())}),g=K(A),c=B(()=>g.data||[],[g.data]),x=B(()=>c.reduce((t,o)=>(t[o.lastLoginIp]=o.ipRegion,t),{}),[c]),v=E(({visitorId:t})=>{w.open({title:r("logoutThisSession"),content:r("logoutThisSessionConfirm"),confirmButtonText:r("confirm"),cancelButtonText:r("cancel"),onConfirm:async()=>{await F.user.logout({visitorId:t}),g.refresh(),w.close()}})}),y=B(()=>c.filter(o=>o.visitorId!==i),[c]),b=E(()=>{w.open({title:r("logoutAllSession"),content:r("logoutAllSessionConfirm"),confirmButtonText:r("confirm"),cancelButtonText:r("cancel"),onConfirm:async()=>{const t=y.map(o=>()=>F.user.logout({visitorId:o.visitorId}));await te(t,{concurrency:3,stopOnError:!1}),g.refresh(),w.close()}})}),D=[];n&&D.push(a.jsx(R,{title:r("logoutAllTips"),children:a.jsx(O,{sx:{ml:.5},size:"small",variant:"contained",color:"error",onClick:b,disabled:y.length===0,children:r("logoutAll")})},"logoutAll"));const h=B(()=>({search:!1,sort:!1,download:!1,filter:!1,print:!1,expandableRowsOnClick:!1,searchDebounceTime:600}),[]),I=[{label:r("platform"),name:"platform",options:{customBodyRenderLite:t=>{var d,p;const o=c[t],l=W(o.ua);return a.jsx(m,{children:[(d=l.os)==null?void 0:d.name,(p=l.os)==null?void 0:p.version].filter(Boolean).join("/")||r("unknown")})}}},{label:r("deviceType"),name:"deviceType",options:{customBodyRenderLite:t=>{var d,p;const o=c[t],l=W(o.ua);return a.jsx(m,{children:[(d=l.browser)==null?void 0:d.name,(p=l.browser)==null?void 0:p.version].filter(Boolean).join("/")||r("unknown")})}}},{label:r("walletOS"),name:"walletOS",options:{customBodyRenderLite:t=>{var l;const o=c[t];return a.jsx(m,{children:((l=o.extra)==null?void 0:l.walletOS)||r("unknown")})}}},s&&{label:r("user"),name:"user",options:{customBodyRenderLite:t=>{const o=c[t];return a.jsx(m,{sx:{minWidth:150,maxWidth:250},children:a.jsx(oe,{sessionUser:o.user,user:e})})}}},{label:r("createdAt"),name:"createdAt",options:{customBodyRenderLite:t=>{const o=c[t];return o.createdAt?a.jsx(k,{value:o.createdAt,relativeRange:3*86400*1e3,locale:u}):r("unknown")}}},{label:r("updatedAt"),name:"updatedAt",options:{customBodyRenderLite:t=>{const o=c[t];return o.status==="expired"?r("expired"):a.jsx(k,{value:o.updatedAt,relativeRange:3*86400*1e3,locale:u})}}},{label:r("lastLoginIp"),name:"lastLoginIp",options:{customBodyRenderLite:t=>{const o=c[t];return a.jsx(m,{children:x[o.lastLoginIp]?a.jsxs(a.Fragment,{children:[a.jsx(S,{variant:"body2",children:x[o.lastLoginIp]}),a.jsx(S,{variant:"body2",color:"grey",children:o.lastLoginIp||r("unknown")})]}):a.jsx(S,{children:o.lastLoginIp||r("unknown")})})}}},n&&{label:r("actions"),name:"actions",options:{customBodyRenderLite:t=>{const o=c[t];return a.jsx(m,{children:a.jsx(O,{sx:{whiteSpace:"nowrap",fontSize:"12px",px:1},disabled:i===o.visitorId,variant:"outlined",size:"small",color:"error",onClick:()=>v({visitorId:o.visitorId}),children:o.status==="expired"?r("remove"):i===o.visitorId?r("currentSession"):r("logout")})})}}}].filter(Boolean);return a.jsxs(m,{sx:{".MuiTableCell-head":{whiteSpace:"nowrap",fontWeight:"bold"}},children:[C,a.jsx(X,{locale:u,data:c,columns:I,customButtons:D,options:h,loading:g.loading})]})}export{de as U};