@abtnode/blocklet-services 1.16.29-beta-2eaf40bc → 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 (202) 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/api/util/index.js +7 -0
  7. package/dist/assets/{Add-C5zWPWbi.js → Add-DUVzKYFm.js} +1 -1
  8. package/dist/assets/{AddBox-C4A7DDm4.js → AddBox-CT33z_Zw.js} +1 -1
  9. package/dist/assets/{Alert-D91U5h--.js → Alert-bNqYhcqn.js} +1 -1
  10. package/dist/assets/{ArrowDropDown-Cq32DOpt.js → ArrowDropDown-D8Cz7Mn2.js} +1 -1
  11. package/dist/assets/{Avatar-XXXVLUFk.js → Avatar-BOUPLUwk.js} +1 -1
  12. package/dist/assets/{ButtonGroup-k3SZjeUa.js → ButtonGroup-D4mZO4Fl.js} +1 -1
  13. package/dist/assets/{CheckCircle-CbXxG2JL.js → CheckCircle-Ocnhk6Zm.js} +1 -1
  14. package/dist/assets/{ChevronRight-BKcNccG9.js → ChevronRight-DTp0tWJx.js} +1 -1
  15. package/dist/assets/{Close-CdBP5F4J.js → Close-Dv0WBlnZ.js} +1 -1
  16. package/dist/assets/CloseOutlined-D-KrmlLZ.js +1 -0
  17. package/dist/assets/{Delete-DlfFien6.js → Delete-DVuHYKCF.js} +1 -1
  18. package/dist/assets/{DeleteOutline-De4xAGvs.js → DeleteOutline-Djc7fx6t.js} +1 -1
  19. package/dist/assets/{Done-DO1tfb2_.js → Done-hVgZPg46.js} +1 -1
  20. package/dist/assets/{Download-CVseEK0o.js → Download-CaohbVSv.js} +1 -1
  21. package/dist/assets/{Edit-DOJCHJ5p.js → Edit-B6Q6agid.js} +1 -1
  22. package/dist/assets/{EditIcon-Bg4AkV00.js → EditIcon-CoTYxPVa.js} +1 -1
  23. package/dist/assets/{Error-CQmWghPs.js → Error-DPX7wzQI.js} +1 -1
  24. package/dist/assets/{ExpandMore-DD2GykPj.js → ExpandMore-Dlsr2tPH.js} +1 -1
  25. package/dist/assets/{FilterList-QafrkXbd.js → FilterList-CxPULTD0.js} +4 -4
  26. package/dist/assets/{FormControl-Kt4xANtI.js → FormControl-DS4KaFHq.js} +1 -1
  27. package/dist/assets/{FormControlLabel-B6ISinfm.js → FormControlLabel-C0hZddbx.js} +1 -1
  28. package/dist/assets/{FormGroup-BEMyIGSj.js → FormGroup-C3fjarrl.js} +1 -1
  29. package/dist/assets/{Google-DGP2JaKw.js → Google-BlxdY2rj.js} +3 -3
  30. package/dist/assets/{Hidden-kl5Tbw1B.js → Hidden-B431iBU_.js} +1 -1
  31. package/dist/assets/{InfoOutlined-BRuBRFbl.js → InfoOutlined-v3x0TY6V.js} +1 -1
  32. package/dist/assets/{InputAdornment-C5IWgB4u.js → InputAdornment-DobS7Kox.js} +1 -1
  33. package/dist/assets/{InputLabel-DbdmcDbJ.js → InputLabel-B1CW0pkO.js} +1 -1
  34. package/dist/assets/{LastPage-DXISIPs8.js → LastPage-C4NAdMRF.js} +1 -1
  35. package/dist/assets/{Launch-CDcio2Tm.js → Launch-ByMOsCzr.js} +1 -1
  36. package/dist/assets/{LaunchOutlined-D8a8pCOt.js → LaunchOutlined-D4Flylz3.js} +1 -1
  37. package/dist/assets/{Link-DFzOJFD-.js → Link-C3mczvyl.js} +1 -1
  38. package/dist/assets/{ListItemText-Bnnk7Gbj.js → ListItemText-CgBEGXWT.js} +1 -1
  39. package/dist/assets/{LoadingButton-DGVicOWa.js → LoadingButton-Dlsz1Ms3.js} +1 -1
  40. package/dist/assets/{LockIcon-CTWJWfSc.js → LockIcon-sRezRxDg.js} +1 -1
  41. package/dist/assets/{Loop-CbV2fFUd.js → Loop-B8_3BEHM.js} +1 -1
  42. package/dist/assets/{MoreVert-er-bltGF.js → MoreVert-a-kv_ER7.js} +1 -1
  43. package/dist/assets/{OpenInNew-Bu6iI6eA.js → OpenInNew-CzbN8XuL.js} +1 -1
  44. package/dist/assets/{Pagination-Dz7kgZlB.js → Pagination-DFx6ff11.js} +1 -1
  45. package/dist/assets/{PlayArrow-2r36AAmk.js → PlayArrow-aNY7jbBC.js} +1 -1
  46. package/dist/assets/{QuestionMarkCircle-CoIXItlb.js → QuestionMarkCircle-B_rw-f43.js} +1 -1
  47. package/dist/assets/{RadioGroup-C7j1KJ7y.js → RadioGroup-BfWqVp9t.js} +1 -1
  48. package/dist/assets/{Search-CMyGk9R2.js → Search-M7JhBg8T.js} +1 -1
  49. package/dist/assets/{Select-BeNQ99oP.js → Select-D9POEHyN.js} +2 -2
  50. package/dist/assets/{ServerLogo-D12k9g2u.js → ServerLogo-CmEIITqo.js} +1 -1
  51. package/dist/assets/{Skeleton-FXGSJdkA.js → Skeleton-DSmw4PBH.js} +5 -5
  52. package/dist/assets/{Slider-GjDHfyBj.js → Slider-DwSRUy4d.js} +1 -1
  53. package/dist/assets/{Stepper-BF6lz4ut.js → Stepper-LW_MLyom.js} +1 -1
  54. package/dist/assets/{TextField-D3XEyFR4.js → TextField-tzVHCyGP.js} +1 -1
  55. package/dist/assets/{Toolbar-_9it32pJ.js → Toolbar-DJupn0f9.js} +1 -1
  56. package/dist/assets/{ViewList-BhIE_M4V.js → ViewList-C1U7sxhd.js} +1 -1
  57. package/dist/assets/{access-control-BWh_6uO-.js → access-control-DOWWWYql.js} +1 -1
  58. package/dist/assets/{actions-DLO5dlyV.js → actions-BVhLyZpR.js} +1 -1
  59. package/dist/assets/{add-component-core-C3OBXrft.js → add-component-core-DDx1WDjh.js} +21 -23
  60. package/dist/assets/add-resource-CBt30k1E.js +1 -0
  61. package/dist/assets/{addon-1j40gf6h.js → addon-B0cj0mfg.js} +1 -1
  62. package/dist/assets/{analytics-DVd3xO2s.js → analytics-Ct3JnUhl.js} +9 -9
  63. package/dist/assets/api-CkjkeCdA.js +1 -0
  64. package/dist/assets/audit-logs-CfrqWHnt.js +58 -0
  65. package/dist/assets/blocklet-storage-DHTHeqHC.js +1 -0
  66. package/dist/assets/{button-2f4tapJk.js → button-BTJqPnHF.js} +1 -1
  67. package/dist/assets/{click-to-copy-CNizZfqS.js → click-to-copy-eJ8KblZ5.js} +1 -1
  68. package/dist/assets/{complete-CTg4NtH_.js → complete-C1e5FlMJ.js} +4 -4
  69. package/dist/assets/{component-DyLPRRkR.js → component-BacRXbI5.js} +6 -6
  70. package/dist/assets/{config-Cl9yfIWh.js → config-7HPh0OPK.js} +1 -1
  71. package/dist/assets/{config-BBl1Og8k.js → config-BKEljyRy.js} +2 -2
  72. package/dist/assets/{config-navigation-RZ9QpkFv.js → config-navigation-9PNvdTi2.js} +2 -2
  73. package/dist/assets/confirm-BUGn-2W8.js +7 -0
  74. package/dist/assets/{connect-B-qpRVvn.js → connect-C-nA2wuT.js} +1 -1
  75. package/dist/assets/{connect-DDELE721.js → connect-Cis6vi3E.js} +1 -1
  76. package/dist/assets/connect-to-CmyzTb62.js +54 -0
  77. package/dist/assets/{content-layout-CK5XQfmW.js → content-layout-DimpCafz.js} +1 -1
  78. package/dist/assets/dashboard--jZHvPJB.js +165 -0
  79. package/dist/assets/{did-address-GzRMEyk7.js → did-address-2bWEhCPb.js} +1 -1
  80. package/dist/assets/{domain-C3D9kcXD.js → domain-C7z_PdCP.js} +1 -1
  81. package/dist/assets/{domain-list-BRcBrFVB.js → domain-list-SF-C3yfn.js} +2 -2
  82. package/dist/assets/{exchange-passport-B9ZrHETZ.js → exchange-passport-bFf5UOyl.js} +1 -1
  83. package/dist/assets/{fallback-rg9fefdL.js → fallback-26RC6JHo.js} +1 -1
  84. package/dist/assets/{format-error-B3RYdl6q.js → format-error-HsQXURX_.js} +1 -1
  85. package/dist/assets/{fuel-BDMvUxVC.js → fuel-BTmuGQUQ.js} +1 -1
  86. package/dist/assets/{fullpage-DFMbQYE_.js → fullpage-Cjsv3Wf9.js} +1 -1
  87. package/dist/assets/{home-YZ2dUhxo.js → home-C5blY9H6.js} +1 -1
  88. package/dist/assets/{iframe-s25HWReH.js → iframe-B-dRGYkN.js} +1 -1
  89. package/dist/assets/{index-CHJwugzh.js → index-24yb3A6v.js} +4 -4
  90. package/dist/assets/{index-BU9mgEVG.js → index-B-WWT0RB.js} +1 -1
  91. package/dist/assets/{index-BPSr4f2j.js → index-B0FNhvZR.js} +1 -1
  92. package/dist/assets/index-B0pqmro3.js +1 -0
  93. package/dist/assets/{index-Cx1j9azw.js → index-BDw9WR4Y.js} +1 -1
  94. package/dist/assets/{index-Bva9FLKW.js → index-BRh4m4iG.js} +1 -1
  95. package/dist/assets/{index-D12KUiCG.js → index-BhroV0sn.js} +1 -1
  96. package/dist/assets/{index-CvOK9BmX.js → index-BnDpXkQD.js} +1 -1
  97. package/dist/assets/index-Bo6_cvnJ.js +4 -0
  98. package/dist/assets/{index-Db5U7Aba.js → index-BvABiWhK.js} +1 -1
  99. package/dist/assets/index-C8pZezDf.js +11 -0
  100. package/dist/assets/{index-DOU4d3bN.js → index-C97B1afx.js} +18 -18
  101. package/dist/assets/{index-CHbscbku.js → index-CBouf4h_.js} +1 -1
  102. package/dist/assets/{index-u_IDQFrq.js → index-CEIhpkQ8.js} +1 -1
  103. package/dist/assets/{config-space-DTE8U19b.js → index-CEzHaZQX.js} +61 -30
  104. package/dist/assets/{index-Xh4BYwzS.js → index-CIjX7CkA.js} +1 -1
  105. package/dist/assets/index-CM5JeGjL.js +54 -0
  106. package/dist/assets/{index-DMq0_62n.js → index-Cj8_nBBf.js} +7 -7
  107. package/dist/assets/{index-BCpZXkUS.js → index-CrOnhTCB.js} +1 -1
  108. package/dist/assets/{index-CcddEj1V.js → index-Cs_U4e7a.js} +1 -1
  109. package/dist/assets/{index-DU7-35nh.js → index-D03FwDOh.js} +1 -1
  110. package/dist/assets/{index-VRudjsk_.js → index-DATcoDW2.js} +4 -4
  111. package/dist/assets/{index-Ce3CP3Jp.js → index-DTwcC2c1.js} +6 -6
  112. package/dist/assets/{index-nyOsFIwy.js → index-DhM5yf8I.js} +1 -1
  113. package/dist/assets/{index-WDF_phnR.js → index-DuTXpR60.js} +1 -1
  114. package/dist/assets/index-DzOteYvH.js +1 -0
  115. package/dist/assets/{index-5qacoeSv.js → index-Hr_Wbh6L.js} +1 -1
  116. package/dist/assets/index-IcQQOgM-.js +1290 -0
  117. package/dist/assets/{index-DJLK29SJ.js → index-JXy24O4H.js} +1 -1
  118. package/dist/assets/index-UfxSCCrt.js +16 -0
  119. package/dist/assets/{index-UmXxvIz7.js → index-XJYhE0w4.js} +1 -1
  120. package/dist/assets/{index-Dcp0-2H6.js → index-lx_CUTL7.js} +1 -1
  121. package/dist/assets/{index-CGXAjTXD.js → index-p63x9Zq5.js} +5 -5
  122. package/dist/assets/{index.es-BySfVRax.js → index.es-CM1Yp6_h.js} +2 -2
  123. package/dist/assets/{index.esm-Cpbu1bqz.js → index.esm-ChzwWoAD.js} +1 -1
  124. package/dist/assets/info-outline-rounded-DSoVZkGR.js +1 -0
  125. package/dist/assets/{invitation-ZiYOpo0m.js → invitation-DrXYTbOJ.js} +1 -1
  126. package/dist/assets/{invite-CP_9mlTp.js → invite-DuTRLxo9.js} +1 -1
  127. package/dist/assets/{issue-passport-OdsEQRgF.js → issue-passport-BlE3WUbc.js} +1 -1
  128. package/dist/assets/{item-B9vXmxNy.js → item-CADE3Q1i.js} +1 -1
  129. package/dist/assets/{jss-plugin-props-sort.esm-InWevx1Y.js → jss-plugin-props-sort.esm-BLFIN_3Q.js} +1 -1
  130. package/dist/assets/{launch-result-message-Z1C1sG3K.js → launch-result-message-ePDZL2vD.js} +1 -1
  131. package/dist/assets/{layout-BJYUy5aS.js → layout-FpvhR73S.js} +1 -1
  132. package/dist/assets/{list-header-7mHFR-6j.js → list-header-DXsvXmu-.js} +1 -1
  133. package/dist/assets/localization-SCjgzakh.js +1 -0
  134. package/dist/assets/{log-D0ihnCPe.js → log-BRlbvBGI.js} +1 -1
  135. package/dist/assets/{login-BJ99c8Da.js → login-CWtJouqB.js} +1 -1
  136. package/dist/assets/{login-oauth-callback-DXPZbXE8.js → login-oauth-callback-BZ0EO56v.js} +1 -1
  137. package/dist/assets/logo-uploader-CmT8ckaw.js +122 -0
  138. package/dist/assets/{lost-passport-PezCqF0f.js → lost-passport-YsMU9JSe.js} +3 -3
  139. package/dist/assets/{lottie-BCG4dny2.js → lottie-BoxmSqiv.js} +1 -1
  140. package/dist/assets/notifications-W8YDjym1.js +62 -0
  141. package/dist/assets/{open-window-CuGAzF2Z.js → open-window-CocULKZD.js} +1 -1
  142. package/dist/assets/overview-DFBre46m.js +12 -0
  143. package/dist/assets/{page-header-C5ecJ6Qd.js → page-header-DHrt0NLM.js} +1 -1
  144. package/dist/assets/{permission-BEPRmEw3.js → permission-DC5jJJsJ.js} +1 -1
  145. package/dist/assets/{preferences-knw56gSD.js → preferences-CeJNU9ax.js} +1 -1
  146. package/dist/assets/publish-resource-Bv1oefVi.js +1 -0
  147. package/dist/assets/react-Bq9Lc-LH.js +379 -0
  148. package/dist/assets/{redux-tOVF_oDT.js → redux-BxhlcuLd.js} +1 -1
  149. package/dist/assets/resource-dialog-DFiUROrY.js +57 -0
  150. package/dist/assets/{selector-CNsCKDRb.js → selector-Bgt80Coe.js} +1 -1
  151. package/dist/assets/session-CxUjHNzI.js +1 -0
  152. package/dist/assets/setup-DQJXHOhw.js +14 -0
  153. package/dist/assets/{shorten-label-CunJMulX.js → shorten-label-Cykg6Lz7.js} +1 -1
  154. package/dist/assets/{slicedToArray-C9-uQLEN.js → slicedToArray-BZ87qXGO.js} +2 -2
  155. package/dist/assets/{spaces-Dm4toCmL.js → spaces-fGVCv7ID.js} +1 -1
  156. package/dist/assets/{start-CrrzSOx-.js → start-DHS9hXkS.js} +1 -1
  157. package/dist/assets/{step-actions-BkxasUm3.js → step-actions-O0ph47PU.js} +1 -1
  158. package/dist/assets/{studio-Cz2NXhoj.js → studio-DVDs4sAk.js} +1 -1
  159. package/dist/assets/{switch-control-BOre_YDJ.js → switch-control-PRHugKgV.js} +1 -1
  160. package/dist/assets/{toUpper-6wIhNvu3.js → toUpper-BfLoBzn-.js} +1 -1
  161. package/dist/assets/{transfer-DQPf7r9j.js → transfer-NH0JDMM6.js} +1 -1
  162. package/dist/assets/{uniqBy-C3O4Rmks.js → uniqBy-5dSXPjpT.js} +1 -1
  163. package/dist/assets/{unsubscribe-DhdgpWxi.js → unsubscribe-DHLJvqL7.js} +1 -1
  164. package/dist/assets/{url-join-DH_b1eAH.js → url-join-slhKS0RS.js} +1 -1
  165. package/dist/assets/use-blocklet-info-for-connect-did-spaces-CGcx0VhM.js +1 -0
  166. package/dist/assets/{use-mobile-CnnusHmf.js → use-mobile-D7_VFCeM.js} +1 -1
  167. package/dist/assets/useAsync-xzt4qFZd.js +1 -0
  168. package/dist/assets/{useFormControl-DUzGwbSY.js → useFormControl-DzLIycge.js} +1 -1
  169. package/dist/assets/{useLocalStorage-B-I-NsSz.js → useLocalStorage-C42lOP94.js} +1 -1
  170. package/dist/assets/{useSetState-Be-I2Gl-.js → useSetState-Cg2fSW48.js} +1 -1
  171. package/dist/assets/{useSlot-LBVvloQJ.js → useSlot-D6gCQKPz.js} +1 -1
  172. package/dist/assets/user-center-BPr1Hwe7.js +1 -0
  173. package/dist/assets/{util-CoWq6oMk.js → util-DEsBTM-7.js} +1 -1
  174. package/dist/assets/{wrap-locale-Cn1jipF7.js → wrap-locale-HDcgra7k.js} +1 -1
  175. package/dist/index.html +1 -1
  176. package/dist/service-worker.js +1 -1
  177. package/package.json +27 -26
  178. package/dist/assets/CloseOutlined-Crg0BDr4.js +0 -1
  179. package/dist/assets/add-resource-DdlMvNYe.js +0 -1
  180. package/dist/assets/api-C37A8mCN.js +0 -1
  181. package/dist/assets/audit-logs-CJh_A9OZ.js +0 -58
  182. package/dist/assets/confirm-CD6_CMUq.js +0 -7
  183. package/dist/assets/connect-to-DMAPIkc9.js +0 -54
  184. package/dist/assets/dashboard-BOQEjKT8.js +0 -165
  185. package/dist/assets/index-BEbMx7tF.js +0 -54
  186. package/dist/assets/index-BfhVorqV.js +0 -1290
  187. package/dist/assets/index-CscyFLCJ.js +0 -4
  188. package/dist/assets/index-Dn7MhkOZ.js +0 -11
  189. package/dist/assets/index-_y2ZXCMC.js +0 -16
  190. package/dist/assets/localization-DH4Rcoxd.js +0 -1
  191. package/dist/assets/logo-uploader-Cb8u4LYv.js +0 -122
  192. package/dist/assets/notifications-CKxrvr1-.js +0 -62
  193. package/dist/assets/overview-BSBWgzbj.js +0 -12
  194. package/dist/assets/publish-resource-D_KlfXTF.js +0 -1
  195. package/dist/assets/react-Di5TTO9l.js +0 -56
  196. package/dist/assets/resource-dialog-5vdlaAuh.js +0 -57
  197. package/dist/assets/session-Cf-ZqG4P.js +0 -1
  198. package/dist/assets/setup-CbG6rF4U.js +0 -14
  199. package/dist/assets/use-blocklet-info-for-connect-did-spaces-gtr1x-_o.js +0 -1
  200. package/dist/assets/useAsync-6Zzjy7PW.js +0 -1
  201. package/dist/assets/user-center-BXOQaeTd.js +0 -1
  202. package/dist/assets/user-sessions-CdgU8G0J.js +0 -1
@@ -1 +0,0 @@
1
- import{f as S,j as a,B as m,A as G,a as R,T as B,be as q,M as L,g as H,u as J,bN as Y,h as E,O as K,b as O,bG as k,bD as Q,dM as U}from"./index-BfhVorqV.js";import{D as X}from"./index-5qacoeSv.js";import{U as T,d as F}from"./resource-dialog-5vdlaAuh.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=S(()=>{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(G,{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(B,{sx:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",flex:1},children:n.fullName})}),a.jsx(q,{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(B,{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=S(()=>g.data||[],[g.data]),x=S(()=>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=S(()=>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=S(()=>({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(B,{variant:"body2",children:x[o.lastLoginIp]}),a.jsx(B,{variant:"body2",color:"grey",children:o.lastLoginIp||r("unknown")})]}):a.jsx(B,{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};