@abtnode/blocklet-services 1.16.54-beta-20251016-050817-2fc632b8 → 1.16.54-beta-20251021-070951-25e3083c

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 (263) hide show
  1. package/api/cache.js +1 -1
  2. package/api/emails/_components/asset.js +7 -2
  3. package/api/emails/_components/attachments.js +1 -1
  4. package/api/index.js +2 -0
  5. package/api/libs/connect/v1.js +2 -2
  6. package/api/libs/connect/v2.js +1 -1
  7. package/api/libs/email.js +1 -1
  8. package/api/libs/push-kit/index.js +2 -2
  9. package/api/middlewares/check-federated.js +4 -4
  10. package/api/middlewares/verify-sig.js +3 -2
  11. package/api/routes/blocklet.js +1 -1
  12. package/api/routes/federated.js +1 -1
  13. package/api/routes/mcp.js +1 -1
  14. package/api/routes/sign.js +388 -0
  15. package/api/routes/user.js +1 -1
  16. package/api/services/auth/connect/receive-transfer-app-owner.js +2 -2
  17. package/api/services/auth/session.js +2 -2
  18. package/api/services/notification/blocklet-events-notifier.js +1 -1
  19. package/api/services/notification/queue.js +2 -1
  20. package/api/socket/channel/component.js +1 -1
  21. package/api/socket/channel/did.js +1 -1
  22. package/api/socket/util.js +4 -2
  23. package/api/util/federated.js +1 -1
  24. package/api/util/index.js +1 -1
  25. package/dist/assets/{AdapterDayjs-DyE9ImrK.js → AdapterDayjs-_MgvkJfN.js} +1 -1
  26. package/dist/assets/{Google-ZJmTt04Y.js → Google-BqikEiR8.js} +1 -1
  27. package/dist/assets/{access-control-C5AwSG3T.js → access-control-BoqKXv8e.js} +1 -1
  28. package/dist/assets/{actions-C4-lIUPY.js → actions-DqoNrBDK.js} +1 -1
  29. package/dist/assets/add-component-core-sYAwjN9z.js +768 -0
  30. package/dist/assets/{add-resource-Brh4F6D2.js → add-resource-hzPcoJ0T.js} +1 -1
  31. package/dist/assets/{addon-DMW6BcQH.js → addon-CS6YZSHC.js} +2 -2
  32. package/dist/assets/{advanced-ykwSXzlQ.js → advanced-J_6wIjW2.js} +2 -2
  33. package/dist/assets/{aigne-DmDL-WLj.js → aigne-CxLs420v.js} +1 -1
  34. package/dist/assets/api-Btn0Tp3W.js +1 -0
  35. package/dist/assets/{appearance-CwaUUdyp.js → appearance-Bwlo2rIk.js} +1 -1
  36. package/dist/assets/{ar-Ge3t6oI2.js → ar-BQm9lQ4M.js} +1 -1
  37. package/dist/assets/{arrow-down.svg-D3B8bxxx.js → arrow-down.svg-D6V-7qfa.js} +1 -1
  38. package/dist/assets/audit-logs-drM5It_9.js +35 -0
  39. package/dist/assets/{authorize-CmneXxos.js → authorize-C2nAxV7L.js} +1 -1
  40. package/dist/assets/{base-chart-C_jLgGFD.js → base-chart-C-Raz4Q-.js} +1 -1
  41. package/dist/assets/{base32-Cg02gOuu.js → base32-ka8Vb9QP.js} +1 -1
  42. package/dist/assets/bind-account-BKkm4lat.js +1 -0
  43. package/dist/assets/{branding-B_eCdYJK.js → branding-BMzG8nKx.js} +5 -5
  44. package/dist/assets/branding-LL49PkTZ.js +1 -0
  45. package/dist/assets/{branding-DETOdgiW.js → branding-ZGJRfDDo.js} +1 -1
  46. package/dist/assets/{bundle-avatar-BFaxogKz.js → bundle-avatar-DLTX9h1v.js} +1 -1
  47. package/dist/assets/button-9InonP1B.js +1 -0
  48. package/dist/assets/click-to-copy-C1mF6WNf.js +1 -0
  49. package/dist/assets/{cloneDeep-gpb_g13N.js → cloneDeep-C6qewg0C.js} +1 -1
  50. package/dist/assets/{collapse-D7GlSZQp.js → collapse-BMy0GGFk.js} +1 -1
  51. package/dist/assets/{complete-Bqi3d0V1.js → complete-D-B5H4ek.js} +2 -2
  52. package/dist/assets/{component-CSPqPsOF.js → component-BRcD0ov6.js} +4 -4
  53. package/dist/assets/{config-BHZS65kz.js → config-BBtGnVxO.js} +1 -1
  54. package/dist/assets/{config-BWSyA18z.js → config-Cbg3z3uP.js} +4 -4
  55. package/dist/assets/{config-CPdtVTio.js → config-D_zbuwUO.js} +1 -1
  56. package/dist/assets/{config-navigation-BFsrGucq.js → config-navigation-C1GAik0L.js} +3 -3
  57. package/dist/assets/{config-space-CSl6D7xo.js → config-space-DAd9qYRh.js} +1 -1
  58. package/dist/assets/confirm-G3RZHlkC.js +7 -0
  59. package/dist/assets/{connect-BVXqic92.js → connect-BKAyVkDD.js} +1 -1
  60. package/dist/assets/{connect-FvriLilq.js → connect-BsaKZiRP.js} +1 -1
  61. package/dist/assets/connect-to-CEyhDVUe.js +1 -0
  62. package/dist/assets/{content-layout-W7JDm8iO.js → content-layout-oyz1EqNZ.js} +1 -1
  63. package/dist/assets/{create-passport-svg-BsR3hKFq.js → create-passport-svg-_Jak4aT3.js} +1 -1
  64. package/dist/assets/createClass-SqayuDE6.js +1 -0
  65. package/dist/assets/{dashboard-DyYLnek8.js → dashboard-DmRLgkA_.js} +2 -2
  66. package/dist/assets/{de-CbARTvf4.js → de-D0uPENSq.js} +1 -1
  67. package/dist/assets/{delete-confirm-DpKJ9gtf.js → delete-confirm-DfQxKTw0.js} +1 -1
  68. package/dist/assets/{did-address-BQL5Zxlr.js → did-address-CZak4Nzl.js} +1 -1
  69. package/dist/assets/domain-BAM622YE.js +9 -0
  70. package/dist/assets/{domain-action-card-CRdL2PFv.js → domain-action-card-CQGZ0jGR.js} +2 -2
  71. package/dist/assets/domains-CO0Aw1Yc.js +1 -0
  72. package/dist/assets/{email-OlQWpbtF.js → email-Dl8yxP6V.js} +1 -1
  73. package/dist/assets/{empty-spinner-sNq-0DF5.js → empty-spinner-DYOzicuy.js} +1 -1
  74. package/dist/assets/engine-9k0o50qZ.js +1 -0
  75. package/dist/assets/{es-CaCbzATO.js → es-Dh4_UfCu.js} +1 -1
  76. package/dist/assets/{exchange-passport-DK4-g9my.js → exchange-passport-D8yfPLJz.js} +1 -1
  77. package/dist/assets/{form-C5dLovtO.js → form-CNqHi73v.js} +3 -3
  78. package/dist/assets/{form-text-input-AIMlcRaM.js → form-text-input-BAs2p7bF.js} +1 -1
  79. package/dist/assets/{form-wrapper-DINLdpTN.js → form-wrapper-C8oo_Fdy.js} +1 -1
  80. package/dist/assets/{fr-B3yjKUFH.js → fr-CzZWQkiT.js} +1 -1
  81. package/dist/assets/{fuel-DkqmEB8D.js → fuel-CplPFp5J.js} +1 -1
  82. package/dist/assets/{gen-access-key-BnCg2Wu1.js → gen-access-key-BOCSj0Mk.js} +1 -1
  83. package/dist/assets/{gen-simple-access-key-zOQbFtZ8.js → gen-simple-access-key-BtXjt6B3.js} +1 -1
  84. package/dist/assets/get-safe-url-BFcRpP-P.js +1 -0
  85. package/dist/assets/{hi-q4mhHiIl.js → hi-Do9VCuRi.js} +1 -1
  86. package/dist/assets/{home-DTXdAvXT.js → home-C4yo5X5x.js} +1 -1
  87. package/dist/assets/{id-DTf7aVH8.js → id-Dhhrveu9.js} +1 -1
  88. package/dist/assets/{iframe-DAoobOBi.js → iframe-BnDsbRZG.js} +1 -1
  89. package/dist/assets/index-B-TqDd4N.js +6 -0
  90. package/dist/assets/{index-IGBGBXd_.js → index-B-Z_6Rom.js} +1 -1
  91. package/dist/assets/index-B4cuO9Xn.js +1 -0
  92. package/dist/assets/index-BF2QIyXe.js +1 -0
  93. package/dist/assets/{index-ve-p7nSZ.js → index-BXeml37I.js} +5 -5
  94. package/dist/assets/index-Bg7omuZF.js +120 -0
  95. package/dist/assets/index-BkN8Xhir.js +4 -0
  96. package/dist/assets/{index-DNGdj2R4.js → index-BnLQoeO-.js} +8 -8
  97. package/dist/assets/{index-DHQkab_n.js → index-Bq0J1vuR.js} +4 -4
  98. package/dist/assets/{index-DFceGCP0.js → index-C1Dar18k.js} +1 -1
  99. package/dist/assets/{index-D1thq8eN.js → index-C2BTIEUf.js} +6 -6
  100. package/dist/assets/index-C4jOkJlz.js +7 -0
  101. package/dist/assets/{index-D6Y3sCzN.js → index-C80zMKsC.js} +2 -2
  102. package/dist/assets/{index-Cs_I9KFa.js → index-CBUhK5iP.js} +7 -7
  103. package/dist/assets/index-CJ-XSW_L.js +281 -0
  104. package/dist/assets/{index-BJrVQ6ch.js → index-CVsqBtJa.js} +8 -8
  105. package/dist/assets/{index-C80JxCSn.js → index-CZin5K15.js} +1 -1
  106. package/dist/assets/{index-B6a6aopU.js → index-CjkeMMBV.js} +10 -10
  107. package/dist/assets/{index-D_vhPpT2.js → index-ClNZcPUD.js} +1 -1
  108. package/dist/assets/{index-Cr5RxnHu.js → index-CusWQN3w.js} +2 -2
  109. package/dist/assets/{index-iOD1kOar.js → index-D1efASvL.js} +4 -4
  110. package/dist/assets/{index-VySXxf4w.js → index-D5TNmV3K.js} +1 -1
  111. package/dist/assets/index-DBAtORvP.js +1 -0
  112. package/dist/assets/index-DGdrBC5v.js +55 -0
  113. package/dist/assets/index-DOKjY-HO.js +124 -0
  114. package/dist/assets/{index-rQAVknkX.js → index-DPyXKBMU.js} +1 -1
  115. package/dist/assets/{index-BdHbrnpK.js → index-DdsyasUE.js} +2 -2
  116. package/dist/assets/{index-DX3L95vz.js → index-De-Vgsb6.js} +1 -1
  117. package/dist/assets/{index-DlRa8Zeh.js → index-DsXcQxrF.js} +1 -1
  118. package/dist/assets/index-FASRIZyi.js +1039 -0
  119. package/dist/assets/{index-Cd_Gml9C.js → index-KLDWx9Xh.js} +1 -1
  120. package/dist/assets/{index-KpZGUssm.js → index-NomqB6Iy.js} +1 -1
  121. package/dist/assets/{index-DeVDiUjo.js → index-SEBP2NIP.js} +1 -1
  122. package/dist/assets/index-XxymBn5U.js +29 -0
  123. package/dist/assets/{invitation-P1aXUnIO.js → invitation-BUnl3HPw.js} +2 -2
  124. package/dist/assets/{invitations-dPkgiFPr.js → invitations-C4hW9Ss3.js} +1 -1
  125. package/dist/assets/{invite-Bz99qCDF.js → invite-C3ahxxD9.js} +1 -1
  126. package/dist/assets/{isURL-DYsELTMk.js → isURL-2pkMgw7e.js} +2 -2
  127. package/dist/assets/{issue-passport-DPyxNFLD.js → issue-passport-Ciq2eM7I.js} +1 -1
  128. package/dist/assets/{item-B1UaStjk.js → item-O0rUCXMz.js} +1 -1
  129. package/dist/assets/{ja-Csh_XwzF.js → ja-B70UYq5X.js} +1 -1
  130. package/dist/assets/{ko-xiNTwgO9.js → ko-C7TZwmXC.js} +1 -1
  131. package/dist/assets/{landing-page-CkVnGimh.js → landing-page-CG20_HOe.js} +1 -1
  132. package/dist/assets/{launch-result-message-Dt-T7zmz.js → launch-result-message-DWeUg9rM.js} +1 -1
  133. package/dist/assets/{layout-fFNOz6Xe.js → layout-1o45g_uH.js} +1 -1
  134. package/dist/assets/list-C71-rjVf.js +2 -0
  135. package/dist/assets/list-DINgkvuD.js +103 -0
  136. package/dist/assets/{list-header-CjohGZ9B.js → list-header-BE2kzda_.js} +1 -1
  137. package/dist/assets/localization-DYkMU0eo.js +1 -0
  138. package/dist/assets/{log-lPrpnnPZ.js → log-DqmR8QgI.js} +1 -1
  139. package/dist/assets/logger-oH4RP6-F.js +1 -0
  140. package/dist/assets/login-BI9XDtGo.js +1 -0
  141. package/dist/assets/{login-oauth-callback-DebmT1Db.js → login-oauth-callback-DtnKE3JA.js} +1 -1
  142. package/dist/assets/{logo-uploader-3OpHGD1n.js → logo-uploader-B4ZyAHbx.js} +1 -1
  143. package/dist/assets/{lost-passport-xCmWuuxC.js → lost-passport-Bjk0xMLc.js} +3 -3
  144. package/dist/assets/{observability-B458LeIE.js → observability-Zow0Sv-X.js} +1 -1
  145. package/dist/assets/{omit-DdfLLBNW.js → omit-hhiOJGRf.js} +1 -1
  146. package/dist/assets/{open-window-CzYfI7l7.js → open-window-Dtxc-Syt.js} +1 -1
  147. package/dist/assets/{over-due-invoice-payment-C5fynimj.js → over-due-invoice-payment-Bk50hmsa.js} +1 -1
  148. package/dist/assets/{overview-BFzvEbcq.js → overview-CknecGQX.js} +2 -2
  149. package/dist/assets/{page-header-gosgJ3fX.js → page-header-DCvzRay5.js} +1 -1
  150. package/dist/assets/passport-C1l7yRXa.js +1 -0
  151. package/dist/assets/passport-item-Dysdq_0a.js +1 -0
  152. package/dist/assets/{permission-UeJPGiMm.js → permission-YVbPVhS_.js} +1 -1
  153. package/dist/assets/{playground-_1Dj8J_h.js → playground-CAOOFQT1.js} +1 -1
  154. package/dist/assets/preferences-BnD1O3qZ.js +1 -0
  155. package/dist/assets/profile-embed-C-sTb3pJ.js +1 -0
  156. package/dist/assets/{pt-BvcG4R7B.js → pt-DObJ_ADK.js} +1 -1
  157. package/dist/assets/publish-resource-DyVr3uUG.js +1 -0
  158. package/dist/assets/{react-beautiful-dnd.esm-CIwtis6a.js → react-beautiful-dnd.esm-sCK871VJ.js} +1 -1
  159. package/dist/assets/{react-stripe.esm-omsK4b05.js → react-stripe.esm-Dc9snvfb.js} +1 -1
  160. package/dist/assets/{required-BPzIdi1N.js → required-BGaDOGrj.js} +1 -1
  161. package/dist/assets/revoke.svg-CmffMlcP.js +1 -0
  162. package/dist/assets/{ru-DzUPRLmr.js → ru-nYDmEUmY.js} +1 -1
  163. package/dist/assets/runtime-CRB33yxr.js +1 -0
  164. package/dist/assets/{sanitize-CEXE1rEu.js → sanitize-BEqBHa8a.js} +1 -1
  165. package/dist/assets/sdk-Cl2zdl3A.js +1 -0
  166. package/dist/assets/{section-DOw43pby.js → section-C75bzkkL.js} +1 -1
  167. package/dist/assets/security-cMS5Z8Ta.js +22 -0
  168. package/dist/assets/{session-Dnp_ufkx.js → session-Chl38-LD.js} +1 -1
  169. package/dist/assets/{setup-DpBiTcjv.js → setup-C01-2uXI.js} +1 -1
  170. package/dist/assets/{shorten-label-C-X_7vr2.js → shorten-label-RqvHqcC3.js} +1 -1
  171. package/dist/assets/simple-select-DN_9r-L2.js +1 -0
  172. package/dist/assets/{spaces-Bu7-7u79.js → spaces-BH2l_OkZ.js} +1 -1
  173. package/dist/assets/{start-B1qawsPb.js → start-BFh5jV0q.js} +1 -1
  174. package/dist/assets/{starting-progress-BfM3wNuj.js → starting-progress-bX2MhHI_.js} +1 -1
  175. package/dist/assets/status-Cchdz2Py.js +1 -0
  176. package/dist/assets/{step-actions-BzwezgI2.js → step-actions-CcUwY5bt.js} +1 -1
  177. package/dist/assets/{studio-Bk9PCaeS.js → studio-C0FYSJNq.js} +1 -1
  178. package/dist/assets/{switch-control-CRxlGq2g.js → switch-control-Bn_HYEC5.js} +1 -1
  179. package/dist/assets/{table-tips-BMq3WO_p.js → table-tips-Crqym4Bn.js} +1 -1
  180. package/dist/assets/team-Bje0MaMX.js +146 -0
  181. package/dist/assets/{th-BmW1qKpZ.js → th-DMcUw_9_.js} +1 -1
  182. package/dist/assets/traffic-CeSX-kN3.js +1 -0
  183. package/dist/assets/{transfer-CUe_bnhh.js → transfer-Ja2mKjqd.js} +2 -2
  184. package/dist/assets/ua-parser-DP5omx3I.js +1 -0
  185. package/dist/assets/{unsubscribe-5Z1xcJ3T.js → unsubscribe-Dmbg53P8.js} +1 -1
  186. package/dist/assets/{use-app-logo-0uziDh86.js → use-app-logo-DhmCQsWv.js} +1 -1
  187. package/dist/assets/{use-mobile-DLnLSQQq.js → use-mobile-DCNBsOlH.js} +1 -1
  188. package/dist/assets/{use-mobile-Db5FIl07.js → use-mobile-maRlSUwU.js} +1 -1
  189. package/dist/assets/{use-server-logo-CFlVReBS.js → use-server-logo-n_aaKVoZ.js} +1 -1
  190. package/dist/assets/{use-window-close-CrHmRyVV.js → use-window-close-CYqH6r-n.js} +1 -1
  191. package/dist/assets/{useAsync-BKYfrNw7.js → useAsync-BcVLpt2E.js} +1 -1
  192. package/dist/assets/{useAsync-1_z8P8M4.js → useAsync-cZ_FPf9k.js} +1 -1
  193. package/dist/assets/{useAsyncRetry-Dyo5t1bq.js → useAsyncRetry-DwwEjrjs.js} +1 -1
  194. package/dist/assets/{useLocalStorage-Be_1V0gr.js → useLocalStorage-BIH12-5o.js} +1 -1
  195. package/dist/assets/user-center-_0Nuo2NC.js +126 -0
  196. package/dist/assets/user-follower-rI_4OXB_.js +32 -0
  197. package/dist/assets/{util-DXaZWduO.js → util-CVi4JaWM.js} +1 -1
  198. package/dist/assets/{util-CQfGbjyT.js → util-LPNcvj77.js} +1 -1
  199. package/dist/assets/{vendor-arcblock-DGOH9a3F.js → vendor-arcblock-DVRwGBYP.js} +114 -115
  200. package/dist/assets/{vendor-hooks-DmThWyyG.js → vendor-hooks-CjESGRlR.js} +2 -2
  201. package/dist/assets/{vendor-mui-core-BFPsXaTR.js → vendor-mui-core-CnXrAOs3.js} +1 -1
  202. package/dist/assets/{vendor-mui-x-C6iZOJbV.js → vendor-mui-x-bJ5idfMH.js} +1 -1
  203. package/dist/assets/vendor-utils-cJEl_UEd.js +213 -0
  204. package/dist/assets/{vendor-ux-CE4sOH7O.js → vendor-ux-DtnxszG_.js} +126 -133
  205. package/dist/assets/{vi-BPU54RQW.js → vi-B73oWQBC.js} +1 -1
  206. package/dist/assets/{wait-connect-Rle27g9O.js → wait-connect-DDuMthnp.js} +1 -1
  207. package/dist/assets/{wizard-CewJTR0V.js → wizard-Boblk5Le.js} +1 -1
  208. package/dist/assets/{wizard-components-B4yvBYZF.js → wizard-components-DxHb4Zui.js} +1 -1
  209. package/dist/assets/wrap-locale-DTDVuPVv.js +1 -0
  210. package/dist/assets/{zh-Bg-a-bz5.js → zh-CeqvJ1eC.js} +1 -1
  211. package/dist/assets/{zh-WrFfMVyM.js → zh-DCABA61W.js} +1 -1
  212. package/dist/assets/{zh-tw-DjWFpq-W.js → zh-tw-M_0Y4wmR.js} +1 -1
  213. package/dist/index.html +1 -1
  214. package/dist/service-worker.js +1 -1
  215. package/package.json +49 -48
  216. package/dist/assets/add-component-core-CrZWbFmf.js +0 -768
  217. package/dist/assets/api-txzyyizM.js +0 -1
  218. package/dist/assets/audit-logs-eJR1v94e.js +0 -35
  219. package/dist/assets/bind-account-B_UMGXib.js +0 -1
  220. package/dist/assets/branding-CHRz3wuZ.js +0 -1
  221. package/dist/assets/button-CaqBEwnu.js +0 -1
  222. package/dist/assets/click-to-copy-CK42VmRr.js +0 -1
  223. package/dist/assets/confirm-CEAKWDZJ.js +0 -7
  224. package/dist/assets/connect-to-dZwJX0bt.js +0 -1
  225. package/dist/assets/createClass-B4I2IV47.js +0 -1
  226. package/dist/assets/domain-Bq75ZuOm.js +0 -9
  227. package/dist/assets/domains-BiIZZN7p.js +0 -1
  228. package/dist/assets/engine-B1U2TY7M.js +0 -1
  229. package/dist/assets/get-safe-url-3Xj-tgXY.js +0 -1
  230. package/dist/assets/index-3yzleS_1.js +0 -1041
  231. package/dist/assets/index-BcGECSaf.js +0 -1
  232. package/dist/assets/index-Bgt2qHLn.js +0 -30
  233. package/dist/assets/index-CDCcuLh3.js +0 -7
  234. package/dist/assets/index-CZp06HHE.js +0 -281
  235. package/dist/assets/index-D9QTZSnh.js +0 -1
  236. package/dist/assets/index-DJj8GmQS.js +0 -6
  237. package/dist/assets/index-D_HqsEfj.js +0 -4
  238. package/dist/assets/index-D_s4QOu7.js +0 -1
  239. package/dist/assets/index-Dfmjh5-5.js +0 -124
  240. package/dist/assets/index-LeqLm9hN.js +0 -55
  241. package/dist/assets/index-RD-gFG7U.js +0 -113
  242. package/dist/assets/list-C-9EwvIL.js +0 -2
  243. package/dist/assets/list-CX2Q1hbc.js +0 -103
  244. package/dist/assets/localization-DQioZq4I.js +0 -1
  245. package/dist/assets/logger-DkBs7Soy.js +0 -1
  246. package/dist/assets/login-63olb_gZ.js +0 -1
  247. package/dist/assets/passport-BLmrTDdo.js +0 -1
  248. package/dist/assets/passport-item-CBB6usyJ.js +0 -1
  249. package/dist/assets/preferences-Da8NATLw.js +0 -1
  250. package/dist/assets/profile-embed-9LLnCulK.js +0 -1
  251. package/dist/assets/publish-resource-Chyv1Trw.js +0 -1
  252. package/dist/assets/runtime-iwxdTEke.js +0 -1
  253. package/dist/assets/sdk-D4xzRwM9.js +0 -1
  254. package/dist/assets/security-D4Sx6wQO.js +0 -22
  255. package/dist/assets/simple-select-Bg4XC1E_.js +0 -1
  256. package/dist/assets/status-LEG00uGL.js +0 -1
  257. package/dist/assets/team-DmYSbFMF.js +0 -146
  258. package/dist/assets/traffic-CzxoP9Vj.js +0 -1
  259. package/dist/assets/user-center-u6FpYGow.js +0 -126
  260. package/dist/assets/user-follower-CyGK-1so.js +0 -32
  261. package/dist/assets/user-sessions-4qrRIOb8.js +0 -1
  262. package/dist/assets/vendor-utils-OrZFrHBP.js +0 -213
  263. package/dist/assets/wrap-locale-qW2Nj5Kt.js +0 -1
@@ -1,4 +1,4 @@
1
- const e={setup:{connect:{title:"Configurar servidor Blocklet",scan:"Utilice los siguientes métodos para convertirse en el propietario de este servidor",confirm:"Revisa esta operación en tu billetera DID",success:"Tu cuenta está conectada a este servidor"},keyPair:{title:"Derivar KeyPair",scan:"Conecta tu billetera DID para generar un par de claves para esta aplicación",confirm:"Revise esta operación en su billetera DID",success:"Tu par de claves se almacena de forma segura"},verify:{title:"Se requiere credencial de propiedad",scan:"Conecta tu billetera DID para proporcionar credenciales de propiedad",confirm:"Revise esta operación en su billetera DID",success:"Tu cuenta está conectada a este servidor"},accept:{title:"Aceptando certificados de propiedad del servidor",scan:"Conecta tu billetera DID para proporcionar credenciales de propiedad",confirm:"Revise esta operación en su billetera DID",success:"Tu cuenta está conectada a este servidor"},title:"Configurar el servidor de Blocklet",steps:{eula:"Acuerdo de licencia de usuario final",eulaFooter:"He leído y aceptado los términos del EULA",connect:"Conectar billetera de propiedad del DID",verify:"Verificar Propiedad",basicSettings:"Configuración básica",launchApp:"Iniciar aplicación",complete:"Completo"},congratulation:"¡Felicitaciones! Tu servidor de Blocklet es seguro y listo para usar.",redirectButton:"Llévame al panel de control!"},login:{loginTo:"Conectar a",description:"Solo el propietario del servidor y los miembros aprobados pueden acceder al panel de control",switchDid:{title:"Cambiar cuenta",scan:"Use los siguientes métodos para agregar una cuenta",confirm:"Confirma el cambio en tu billetera DID",success:"Cambiado exitosamente"},switchSpecifiedDid:{title:"Cambiar cuenta",scan:"Necesitas cambiar el DID a {did} para completar las siguientes acciones",confirm:"Confirma el cambio en tu billetera de DID",success:"Cambiado con éxito"},connect:{title:"Conectar",scan:"Solo el propietario del servidor y los miembros aprobados pueden acceder al panel",confirm:"Confirma en tu cuenta",success:"Estás conectado exitosamente"},verify:{title:"Verificar acceso",scan:"Conecta tu billetera DID para presentar el pasaporte de propietario o administrador",confirm:"Confirma en tu cuenta",success:"Tu acceso está verificado",abort:"Verificación de acceso abortada",description:"Debe proporcionar el pasaporte de {roles} para realizar esta operación, solo se le pedirá verificar nuevamente después de 1 hora de inactividad.",descriptionForDestroy:"Necesitas proporcionar el pasaporte de {roles} para realizar esta operación peligrosa para garantizar la seguridad."},login:"Conectar",termsOfUse:"Términos de Uso",agreeTermsOfUse:"Reconozco que he leído y acepto lo aplicable"},acceptServer:{title:"Reclamar servidor con NFT de propiedad",tooltip:"Si recibiste un NFT de propiedad del servidor, puedes reclamar tu pasaporte de propietario con este enlace."},exchangePassport:{title:"Intercambia el pasaporte por NFT",success:"Has intercambiado tu pasaporte correctamente e iniciado sesión con el pasaporte {name}",login:"Iniciar sesión",dialog:{title:"Obtener el pasaporte con NFT",scan:"Conecta tu billetera DID para presentar tu NFT y obtener un pasaporte",confirm:"Selecciona NFT en tu billetera DID",success:"El pasaporte ha sido intercambiado exitosamente"},tooltip1:"Si posees un NFT de la colección,",tooltip2:"Puedes canjear tu pasaporte con este enlace."},payablePassport:{title:"Compra pasaporte con pago",tooltip:"Si no tienes pasaporte, puedes comprar uno con este enlace."},sidebar:{dashboard:"Panel de control",blocklets:"Blocklets",console:"Consola",settings:"Ajustes"},system:{total:"Total",used:"Usado",free:"Libre",cores:"Número de núcleos",instances:"Número de instancias"},common:{invalid:"Inválido",about:"Acerca de",access:"Acceso",accessKey:"Claves de acceso",action:"Acción",actions:"Acciones",add:"Agregar",address:"Dirección",afterTime:"Después de {time}",allow:"Permitir",alreadyExist:"Ya existe",approve:"Aprobar",approved:"Aprobado",appUrl:"URL de la APP",auditLogs:"Registro de auditoría",author:"Autor",avatar:"Avatar",back:"Volver",basic:"Básico",basicInfo:"Información Básica",profile:"Perfil",bind:"Enlazar",blocklet:"Bloqueo",blocklets:"Blocklets",blockletsStorage:"Almacenamiento de Bloques",cacheStorage:"Almacenamiento en caché",cancel:"Cancelar",certificate:"Certificado",category:"Tema del registro",click:"Haz clic para copiar",close:"Cerrar",selectAll:"Seleccionar todo",unselectAll:"Deseleccionar todo",collapseAll:"Colapsar todo",community:"URL de la comunidad",complete:"Completo",componentBasicInfo:"Información básica del componente",components:"Blocklets",config:"Configurar",configuration:"Configuración",appearance:"Apariencia",configNavigation:"Navegación",configSuccess:"Configuración exitosa",confirm:"Confirmar",connect:"Conectar",console:"Consola",continue:"Continuar",continueWith:"Continuar con",copiedTip:"Copiado",copyAndClose:"Copiar y cerrar",copyTip:"Haga clic para copiar",coreStorage:"Almacenamiento principal",cpu:"CPU",create:"Crear",createSuccess:"Crear clave de acceso",created:"Creado en",createdAt:"Creado en",createdBy:"Creado por",dAddress:"Identificadores Descentralizados (DID)",dataStorage:"Almacenamiento en Disco Local",delConfirm:"Eliminar",delConfirmDescription:"¿Confirmar eliminar {data}?",delete:"Eliminar",dependents:"Dependientes",description:"Descripción",detail:"Detalle",did:"DID",disk:"Disco",diskInfo:"Información del disco",docker:"ES Docker",documentation:"Documentación",domain:"Dominio",downgradeTo:"Bajar de categoría a",download:"Descargar",downloading:"Descargando",edit:"Editar",email:"Email",phone:"Teléfono",empty:"Vacío",emptyData:"No se encontraron resultados",enable:"Habilitar",engine:"Motor",env:"Entorno",environment:"Ambiente",expandAll:"Expandir todo",expired:"Caducado",expires:"Expira",export:"Exportar",externalIp:"IP Externa",failed:"Fallido",filter:"Filtro de registro",fingerprint:"Huella digital",finish:"Terminar",forbid:"Prohibir",free:"Libre",general:"General",gitpod:"ES Gitpod",goEULA:'Haz clic para ver "Contrato de licencia de usuario final"',group:"Grupo",image:"Imagen IS",install:"Instalar",installed:"Instalado",installedAt:"Instalado en",installSuccess:"La instalación se realizó correctamente",installing:"Instalando",internalIp:"IP interna",introduction:"Introducción",invite:"Invitar",inviting:"Invitando",ip:"IP",isPublic:"Público",issue:"Problema",issuer:"Emisor",item:"Artículo",joined:"Unido",key:"Clave",lastPublishedAt:"Publicado en",launcher:"Información del lanzador",leavePageTip:"¿Estás seguro de abandonar la página?",link:"Enlace",loading:"Cargando",log:"Ver Registros",logStorage:"Almacenamiento de registros",login:"Iniciar sesión",logo:"Logo",logout:"Cerrar sesión",logs:"Registros",manageTeam:"Administrar Equipo",marketplace:"Mercado",member:"Miembro",members:"Miembros",memory:"Memoria",meta:"Meta Datos",analytics:"Análisis",runtime:"Tiempo de ejecución",traffic:"Tráfico",more:"Más",mountPoint:"Punto de Montaje",name:"Nombre",next:"Siguiente",no:"No",noData:"No hay registros para mostrar",notice:"¡Pasarán cosas malas inesperadas si no lees esto!",noticeTitle:"Aviso",notification:"Notificación",open:"Abrir",management:"Gestión",os:"Sistema operativo",overview:"Resumen",owner:"Dueño",page404:"Página 404",passport:"Pasaporte",permission:"Permiso",port:"Puerto",pre:"Anterior",preferences:"Preferencias",preview:"Vista previa",protected:"Protegido",protocol:"Protocolo",purchase:"Compra",readMore:"Más",redirect:"Redirigir",redirectCode:"Código de redirección",redirectPermanently:"Redirección permanente",redirectTemporary:"Redirección Temporal",redirectUrl:"URL de redireccionamiento",rewrite:"Reescribir",release:"Liberación",rewriteUrl:"Reescribe la URL",reject:"Rechazar",reload:"Recargar",remark:"Observación",remove:"Eliminar",removeSuccess:"Eliminado con éxito",renew:"Renovar",reportIssue:"Reportar un problema",required:"Requerido",requiredErrorText:"{name} es requerido",resource:"Recurso",restart:"Reiniciar",restore:"Restaurar",retry:"Reintentar",revoke:"Revocar",role:"Rol",running:"Corriendo",runtimeInfo:"Información de tiempo de ejecución",save:"Guardar",saveChanges:"Guardar cambios",saveSuccess:"Guardado exitosamente",scheduleFailed:"Programación fallida",scheduleSuccess:"Programado exitosamente",scope:"Alcance",screenshot:"Capturas de pantalla",search:"Buscar",security:"Seguridad",serverDid:"Servidor DID",serverVersion:"Versión del servidor",setting:"Configuración",start:"Comenzar",status:"Estado",stop:"Detener",storage:"Almacenamiento",backup:"Respaldo",store:"Tienda",succeeded:"Éxito",subscription:"Suscripción",support:"URL o correo electrónico de soporte",switch:"Interruptor",team:"Equipo",the:"El",timeAgo:"{time} atrás",title:"Título",type:"Tipo",unavailable:"No disponible",update:"Actualización",updateAvailable:"Nueva versión {version} disponible",updatedAt:"Actualizado a las {time}",updatedBy:"Actualizado por",upgrade:"Mejorar",upgradeTo:"Actualiza a",upgrading:"Actualización",uptime:"Tiempo activo",url:"URL",valid:"Válido",value:"Valor",version:"Versión",visit:"Visitar",waiting:"Esperando",webhook:"Integraciones",yes:"Sí",invalidParam:"Parámetros inválidos",launch:"Lanzamiento",price:"Precio",redirecting:"Redirigiendo",error:"Error",reminder:"Recordatorio",normal:"Normal",gateway:"Puerta de enlace",verifyNFT:"Verificar NFT",errorMessage:"Mensaje de error:",slugifyHint:"El punto de montaje real será: {value}",strategy:"Estrategia",auto:"Auto",manual:"Manual",progress:"En progreso",startTime:"Hora de inicio",endTime:"Hora de finalización",timeoutError:"Error de tiempo de espera",tags:"Etiquetas",connectToStore:"Conectar a la tienda",uploaded:"Subido",upload:"Subir",blockletStudio:"Estudio",visitStore:"Visitar tienda",reconnect:"Reconecta",change:"Cambiar",disconnect:"Desconectar",sourceApp:"Pertenece a la aplicación",visitTarget:"Visita {name}",upgradeServer:"Actualizar el servidor",display:"Mostrar",requiredInputPlaceholder:"Por favor, ingrese {name}",refresh:"Actualizar",moveUp:"Mover hacia arriba",moveDown:"Desplazar hacia abajo",enabled:"Habilitado",disabled:"Desactivado",homepage:"Página de inicio",buy:"Comprar",view:"Ver",homepageTip:"Página de inicio o URL de demostración en vivo",repository:"Repositorio",expand:"Expandir",collapse:"Contraer",all:"Todo",notificationRecords:"Notificaciones",unrecordedUser:"Nombre no registrado",unrecordedRole:"Rol no registrado",auditLogsSearch:"Buscar por acción o contenido",optional:"Opcional",bugOrConnectDomain:"Comprar o conectar un dominio existente",bugOrConnectDomainTip:"Un nombre de dominio es la dirección única de tu sitio web en internet. Puedes comprar un nuevo dominio desde DID Names o cualquier registrador de dominios, o configurar un dominio existente que ya poseas.",connectExistingDomain:"Conectar dominio existente",domains:"Dominios",didDomains:"Dominios DID",manualDomains:"Mis Dominios",didDomainsDescription:"Los siguientes dominios son administrados automáticamente por el servicio DID:Names.",systemDomains:"Sistema Asignado",systemDomainsDescription:"Los siguientes dominios se asignan automáticamente de forma predeterminada. Si bien son accesibles, no están destinados para uso en producción y no deben compartirse con los clientes. Estos dominios son principalmente para fines de desarrollo.",manualDomainsDescription:"Los siguientes dominios son gestionados por su proveedor de dominios y se han configurado manualmente para apuntar aquí.",fileCount:"Recuento de archivos",fileSize:"Tamaño del archivo",time:"Tiempo",less:"Menos",timeInfo:"Tiempo",operator:"Operador",inviter:"Invitador",clear:"Limpiar",ok:"OK",minutes:"Minutos",hours:"Horas",hour:"Hora",days:"Días",day:"Día",weeks:"Semanas",months:"Meses",custom:"Personalizado",environments:"Entornos",sites:"Sitios",active:"Activo",backupTime:"Tiempo de copia de seguridad",lastUsedAt:"Último uso en",expiredAt:"Fecha de vencimiento",createdVia:"Creado a través de",neverExpired:"Nunca",baseInfo:"Información básica",otherInfo:"Más información",lightMode:"Modo Claro",darkMode:"Modo Oscuro",advancedConfig:"Avanzado",document:"documento",mcpServers:"Servidores MCP",generate:"Generar",copy:"Copiar",copied:"Copiado",orgs:"Organizaciones"},blocklet:{external:"Externo",notFound:"Bloqueo no encontrado en este servidor, tal vez ha sido eliminado",installFromMarket:"Instalar nuevos Blocklets",installFromUrl:"Instalar desde URL",installFromCreate:"Crear Blocklet",installFromDiskBackup:"Restaurar desde este servidor",installedAt:"Instalado en",internal:"Interno",startedAt:"Comenzado en",stoppedAt:"Detenido en",urlEmptyTip:"URL sin acceso",goToAddRule:"Ir a Agregar",services:"Servicios expuestos",upstreamPort:"Puerto ascendente",noService:"No hay servicios",appId:"App DID",appPid:"DID permanente",alsoKnownAs:"También conocido como",skSource:"Propietario de la billetera",reloadSuccess:"Blocklet se recargó exitosamente",statusTip:"Blocklet es {status}",initialUptime:"Menos de 1 metro",dashboard:"Panel de Bloqueos",noComponent:"La aplicación no tiene componentes y no se puede iniciar",fromUrl:{title:"Instalar Blocklet",label:"URL del Meta Blocklet",description:"La URL debería apuntar al Archivo Meta del Blocklet. Si necesitas referirte a un archivo local, por favor agrega el prefijo file://, por ejemplo: file:///Users/foo/blocklet.json.",confirm:"Instalar",step0:"URL de entrada",step1:"Confirmar Meta Información",existTipPrefix:"El Blocklet con el mismo DID ya existe, la versión es {version}",existTipSuffix:"Por favor, instale una versión superior."},action:{stopDescription:"Detener el bloqueo hará que sus interfaces públicas no sean accesibles, lo cual puede causar fallos en el usuario final",stopComponentDescription:"Detener el componente hará que sus interfaces públicas no estén accesibles, lo que puede causar fallos para el usuario final",confirmStop:"Sí, Detente",cancelDownloadDescription:"¿Cancelar la descarga de {name}?",removeApplicationDescription:"Borrar la aplicación eliminará el código y los datos generados por esta aplicación, los cuales no se podrán recuperar si no tienes copias de seguridad",removeApplicationAfterBackup:"Respaldar y eliminar la aplicación. Puedes restaurar la aplicación desde este servidor si lo necesitas",removeApplicationComplete:"Eliminar tanto el código como los datos para esta aplicación",removeComponentDescription:"Eliminar el componente borrará el código y los datos generados por este componente, los cuales no se pueden recuperar si no tienes ninguna copia de seguridad",removeComponentKeepData:"Mantén los datos para este componente, solo elimina el código",removeComponentComplete:"Eliminar tanto el código como los datos de este componente",confirmRemove:"Sí, Eliminarlo",confirmComponentRemove:"Sí, Elimínalo",upgradeDescription:"Actualizar el bloque hará que esté temporalmente no disponible, ¿estás seguro de continuar?",confirmUpgrade:"Sí, Mejóralo",confirmRestart:"Sí, Reiniciarlo",restartDescription:"Reiniciar el bloque se suspenderá temporalmente y es posible que no se inicie debido a un cambio de configuración"},dev:{modeTip:"Por favor cambia el servidor Blocklet a modo DEBUG"},index:{tableTitle:"Administra tus Blocklets",noBlocklet:"No se encontraron blocklets en este servidor de Blocklet, instala un blocklet desde el mercado para comenzar."},config:{name:"Nombre de la aplicación",description:"Descripción de la aplicación",logoSquare:"Logo de la aplicacion",logoRect:"Logotipo del sitio web",logoRectDesc:"Usado en: encabezado y pie de página del sitio web; se usará el logotipo de la app si no está configurado",logoFavicon:"Favicon",logoFaviconDesc:"Usado en: barra de direcciones y pestaña del navegador; se usará el logotipo de la app si no está configurado",clusterSize:"Cantidad de instancias cuando se ejecuta este blocklet en modo de clúster",copyrightOwner:"Titular de los derechos de autor",copyrightYear:"Copyright Año",deletable:{name:"Protección de eliminación",enable:"Este bloque no se puede eliminar actualmente",disable:"Este bloque puede ser eliminado actualmente"},walletType:{name:"Tipo de billetera",description:"Tipo de billetera de instancia de la Blocklet, cambiará el DID derivado"},languages:"Idiomas compatibles",selectLanguagesTip:"Ajusta el orden eliminando y volviendo a añadir",languagesSearch:"Buscar por Nombre Local del País, Nombre en Inglés o Código ISO...",passportColor:"Color del pasaporte",appUrl:"URL de la aplicación",access:{title:"¿Quién puede acceder?",description:"Elige cómo quieres controlar el acceso a tu aplicación.",useDefault:"Usar predeterminado",defaultDescription:"Usa la configuración predeterminada de la aplicación",whoCanAccess:{all:{title:"Abierto a todos",description:"Abierto al mundo, cualquiera puede acceder sin pasaporte"},owner:{title:"Acceso solo para propietario",description:"Debes proporcionar el pasaporte del propietario para acceder a esta aplicación"},invited:{title:"Acceso solo con invitación",description:"Solo los miembros invitados pueden acceder."}},publicToStore:"Público en tienda",publicInstanceTip:"La dirección de acceso de este bloque se mostrará en la Tienda (junto con tu DID para aceptar donaciones)",updatedTip:"Acceso Controlado Modificado"},changedTip:"Configuración actualizada, por favor reinicia Blocklet",missingRequired:"Falta la configuración requerida para iniciar el blocklet",gotoFix:"Ir a arreglar",environment:{key:"Clave de configuración",value:"Valor de configuración",keyValueRequired:"La clave de configuración y el valor deben ser especificados",invalidKey:"La clave de configuración no debe comenzar con BLOCKLET_ o COMPONENT_",deleteForbidden:"Esta configuración es requerida y no debe ser borrada",tip:"Las configuraciones que comienzan con BWA_ no deben contener información confidencial ya que serán enviadas al navegador"},dangerZone:"Zona de peligro",sharedToAllComponents:"Se compartirá con todos los componentes",session:{ttl:"Se pedirá al usuario que vuelva a iniciar sesión si no tiene actividad en este sitio durante {day} días",day:"{day} día",days:"{day} días",period:"Periodo de validez de sesión",profile:"Requisitos del perfil de usuario",cacheTtl:"Duración de caché para datos de sesión de usuario (en segundos)",fullNameEnabled:"Solicitar nombre de usuario al iniciar sesión (habilitado de forma predeterminada)",avatarEnabled:"Solicitar avatar de usuario al iniciar sesión (habilitado por defecto)",emailEnabled:"Solicitar correo electrónico del usuario al iniciar sesión",emailRequireVerified:"Requiere que el correo electrónico del usuario sea verificado antes de iniciar sesión",emailRequireUnique:"Requerir que el correo electrónico del usuario sea único en todos los usuarios",phoneEnabled:"Solicitar número de teléfono del usuario al iniciar sesión (aún no compatible)",phoneRequireVerified:"Requerir verificación del número de teléfono del usuario antes de iniciar sesión",phoneRequireUnique:"Requerir que el número de teléfono del usuario sea único entre todos los usuarios",emailTrustOauthProviders:"Confíe en los proveedores de OAuth para verificar el estado del correo electrónico",enableDomainBlackList:"Habilitar lista negra de dominios de correo electrónico (rechazar dominios de correo electrónico listados)",enableDomainWhiteList:"Permitir lista blanca de dominios de correo electrónico (solo permitir que los dominios de correo electrónico enumerados inicien sesión)",addDomain:"Añadir fuente para obtener la lista (en formato de texto plano, un dominio por línea)",enableBlacklist:"Activar revocación de token de inicio de sesión y token de actualización",experimentalSettings:"Configuración Experimental"},clearCache:{name:"Gestión de la Caché",purpose:"Gestionar archivos almacenados en servicios de enrutador y blocklet",title:"¿Confirmar borrado de caché?",action:"Borrar caché",success:"Se eliminaron correctamente {count} entradas de caché",description:"¿Estás seguro de que quieres borrar los archivos en caché en el router y el servicio de blocklet? Esta operación puede causar una ligera disminución en el rendimiento a corto plazo."},tenantMode:{name:"Modo multiinquilino",multiple:"Este blocklet se ejecuta en modo de múltiples inquilinos, los datos deben estar aislados para cada inquilino",single:"Este blocklet se ejecuta en modo de inquilino único, todos los datos son compartidos"},splashPortrait:"Imágenes de inicio",splashLandscape:"Paisaje de Salpicaduras",splashPortraitDesc:"Se muestra al iniciar el Blocklet. Formato PNG o JPG, relación de aspecto recomendada 9:16 para retrato y 16:9 para paisaje (máx. 5 MB)",rotateSessionKey:{name:"Rotación de sal de sesión",purpose:"La sal de sesión es un valor aleatorio usado para mejorar la seguridad de los tokens de sesión. Haga clic en el botón para rotar manualmente la sal de sesión, lo que ayuda a reducir el riesgo de compromiso del token de inicio de sesión.",title:"¿Confirmar rotación de sal de sesión?",action:"Girar Sal",success:"Sal cambiado con éxito",description:"¿Seguro que quieres rotar la sal de sesión? Esta operación invalidará todos los tokens de inicio de sesión existentes y obligará al usuario a iniciar sesión de nuevo, incluido tu propio token de inicio de sesión."},ogImage:"Fondo de Open Graph",ogImageDesc:"Utilizado en: fondo para compartir en redes sociales",migrate:{button:"Migrar con DID Wallet",title:"Confirmar cambio de DID",description:"Si está iniciando con una cartera administrada por el servidor, puede cambiar el DID de la aplicación a su propia cartera.",confirm:"¿Seguro que desea cambiar el DID de la aplicación? Esta operación invalidará todas las sesiones existentes y obligará a los usuarios a iniciar sesión nuevamente, incluida la suya."},vault:{name:"Vault DID",title:"Configurar Vault",desc:"Utiliza vault para añadir una capa extra de seguridad a los fondos gestionados por este Blocklet.",tip:"Ingresa la dirección del vault para continuar, debes probar la propiedad de la dirección del vault antes de que pueda ser usada.",address:"Dirección del Vault",verified:"Vault está verificado",current:"Vault actual",error:{invalid:"La dirección del Vault debe ser un DID válido",holder:"La dirección de Vault debe ser un titular de tokens válido en la blockchain; no se admiten direcciones de token/activo/fábrica/participación.",duplicate:"Esta dirección de vault ya se usó, por favor use una diferente",appDid:"No se puede usar el DID de la aplicación como dirección de vault, por favor use una diferente"},role:"Tipo de rol",firstSeen:"Visto por primera vez",lastSeen:"Visto por última vez",migratedFrom:"Migrado desde",migratedTo:"Migrado a",commit:{title:"Verificar propiedad de Vault",scan:"Use los siguientes métodos para verificar la propiedad de la bóveda",confirm:"Confirmar usando DID Wallet",success:"Vault se configuró correctamente"},approve:{title:"Aprobar cambio de Vault",byOwner:"Firmar con el propietario del Blocklet para aprobar el cambio",byLast:"Firmar con la última bóveda para aprobar el cambio",confirm:"Confirmar usando DID Wallet",success:"El cambio de Vault está aprobado"}},changeImageTip:"Consejo: Si quieres cambiar la imagen, haz clic en Vista previa de imagen para cambiarla.",baseInfo:"Información básica",baseInfoDesc:"Aquí se puede configurar la información básica del sitio web.",logoSettings:"Información visual",logoSettingsDesc:"Crea una imagen de marca única, mejora el reconocimiento del sitio web y su atractivo visual en diversos escenarios.",languagesDesc:"Utilizado en: selección de idioma del visitante",nameDesc:"Usado en: encabezado DID Connect, pestaña del navegador, pie de página del sitio web, metadatos SEO y metadatos OpenGraph",descriptionDesc:"Usado en: metadatos SEO y metadatos OpenGraph",logoSquareDesc:"Usado en: pie de diálogo de autenticación de usuario y lista de apps de <b>DID Wallet</b>",logoDesc:"Tamaño recomendado: {width} x {height} píxeles",splashDesc:`Pantalla de inicio de la APP ArcSphere (se mostrará en <b>ArcSphere</b> si está configurado)
1
+ const e={setup:{connect:{title:"Configurar servidor Blocklet",scan:"Utilice los siguientes métodos para convertirse en el propietario de este servidor",confirm:"Revisa esta operación en tu billetera DID",success:"Tu cuenta está conectada a este servidor"},keyPair:{title:"Derivar KeyPair",scan:"Conecta tu billetera DID para generar un par de claves para esta aplicación",confirm:"Revise esta operación en su billetera DID",success:"Tu par de claves se almacena de forma segura"},verify:{title:"Se requiere credencial de propiedad",scan:"Conecta tu billetera DID para proporcionar credenciales de propiedad",confirm:"Revise esta operación en su billetera DID",success:"Tu cuenta está conectada a este servidor"},accept:{title:"Aceptando certificados de propiedad del servidor",scan:"Conecta tu billetera DID para proporcionar credenciales de propiedad",confirm:"Revise esta operación en su billetera DID",success:"Tu cuenta está conectada a este servidor"},title:"Configurar el servidor de Blocklet",steps:{eula:"Acuerdo de licencia de usuario final",eulaFooter:"He leído y aceptado los términos del EULA",connect:"Conectar billetera de propiedad del DID",verify:"Verificar Propiedad",basicSettings:"Configuración básica",launchApp:"Iniciar aplicación",complete:"Completo"},congratulation:"¡Felicitaciones! Tu servidor de Blocklet es seguro y listo para usar.",redirectButton:"Llévame al panel de control!"},login:{loginTo:"Conectar a",description:"Solo el propietario del servidor y los miembros aprobados pueden acceder al panel de control",switchDid:{title:"Cambiar cuenta",scan:"Use los siguientes métodos para agregar una cuenta",confirm:"Confirma el cambio en tu billetera DID",success:"Cambiado exitosamente"},switchSpecifiedDid:{title:"Cambiar cuenta",scan:"Necesitas cambiar el DID a {did} para completar las siguientes acciones",confirm:"Confirma el cambio en tu billetera de DID",success:"Cambiado con éxito"},connect:{title:"Conectar",scan:"Solo el propietario del servidor y los miembros aprobados pueden acceder al panel",confirm:"Confirma en tu cuenta",success:"Estás conectado exitosamente"},verify:{title:"Verificar acceso",scan:"Conecta tu billetera DID para presentar el pasaporte de propietario o administrador",confirm:"Confirma en tu cuenta",success:"Tu acceso está verificado",abort:"Verificación de acceso abortada",description:"Debe proporcionar el pasaporte de {roles} para realizar esta operación, solo se le pedirá verificar nuevamente después de 1 hora de inactividad.",descriptionForDestroy:"Necesitas proporcionar el pasaporte de {roles} para realizar esta operación peligrosa para garantizar la seguridad."},login:"Conectar",termsOfUse:"Términos de Uso",agreeTermsOfUse:"Reconozco que he leído y acepto lo aplicable"},acceptServer:{title:"Reclamar servidor con NFT de propiedad",tooltip:"Si recibiste un NFT de propiedad del servidor, puedes reclamar tu pasaporte de propietario con este enlace."},exchangePassport:{title:"Intercambia el pasaporte por NFT",success:"Has intercambiado tu pasaporte correctamente e iniciado sesión con el pasaporte {name}",login:"Iniciar sesión",dialog:{title:"Obtener el pasaporte con NFT",scan:"Conecta tu billetera DID para presentar tu NFT y obtener un pasaporte",confirm:"Selecciona NFT en tu billetera DID",success:"El pasaporte ha sido intercambiado exitosamente"},tooltip1:"Si posees un NFT de la colección,",tooltip2:"Puedes canjear tu pasaporte con este enlace."},payablePassport:{title:"Compra pasaporte con pago",tooltip:"Si no tienes pasaporte, puedes comprar uno con este enlace."},sidebar:{dashboard:"Panel de control",blocklets:"Blocklets",console:"Consola",settings:"Ajustes"},system:{total:"Total",used:"Usado",free:"Libre",cores:"Número de núcleos",instances:"Número de instancias"},common:{invalid:"Inválido",about:"Acerca de",access:"Acceso",accessKey:"Claves de acceso",action:"Acción",actions:"Acciones",add:"Agregar",address:"Dirección",afterTime:"Después de {time}",allow:"Permitir",alreadyExist:"Ya existe",approve:"Aprobar",approved:"Aprobado",appUrl:"URL de la APP",auditLogs:"Registro de auditoría",author:"Autor",avatar:"Avatar",back:"Volver",basic:"Básico",basicInfo:"Información Básica",profile:"Perfil",bind:"Enlazar",blocklet:"Bloqueo",blocklets:"Blocklets",blockletsStorage:"Almacenamiento de Bloques",cacheStorage:"Almacenamiento en caché",cancel:"Cancelar",certificate:"Certificado",category:"Tema del registro",click:"Haz clic para copiar",close:"Cerrar",selectAll:"Seleccionar todo",unselectAll:"Deseleccionar todo",collapseAll:"Colapsar todo",community:"URL de la comunidad",complete:"Completo",componentBasicInfo:"Información básica del componente",components:"Blocklets",config:"Configurar",configuration:"Configuración",appearance:"Apariencia",configNavigation:"Navegación",configSuccess:"Configuración exitosa",confirm:"Confirmar",connect:"Conectar",console:"Consola",continue:"Continuar",continueWith:"Continuar con",copiedTip:"Copiado",copyAndClose:"Copiar y cerrar",copyTip:"Haga clic para copiar",coreStorage:"Almacenamiento principal",cpu:"CPU",create:"Crear",createSuccess:"Crear clave de acceso",created:"Creado en",createdAt:"Creado en",createdBy:"Creado por",dAddress:"Identificadores Descentralizados (DID)",dataStorage:"Almacenamiento en Disco Local",delConfirm:"Eliminar",delConfirmDescription:"¿Confirmar eliminar {data}?",delete:"Eliminar",dependents:"Dependientes",description:"Descripción",detail:"Detalle",did:"DID",disk:"Disco",diskInfo:"Información del disco",docker:"ES Docker",documentation:"Documentación",domain:"Dominio",downgradeTo:"Bajar de categoría a",download:"Descargar",downloading:"Descargando",edit:"Editar",email:"Email",phone:"Teléfono",empty:"Vacío",emptyData:"No se encontraron resultados",enable:"Habilitar",engine:"Motor",env:"Entorno",environment:"Ambiente",expandAll:"Expandir todo",expired:"Caducado",expires:"Expira",export:"Exportar",externalIp:"IP Externa",failed:"Fallido",filter:"Filtro de registro",fingerprint:"Huella digital",finish:"Terminar",forbid:"Prohibir",free:"Libre",general:"General",gitpod:"ES Gitpod",goEULA:'Haz clic para ver "Contrato de licencia de usuario final"',group:"Grupo",image:"Imagen IS",install:"Instalar",installed:"Instalado",installedAt:"Instalado en",installSuccess:"La instalación se realizó correctamente",installing:"Instalando",internalIp:"IP interna",introduction:"Introducción",invite:"Invitar",inviting:"Invitando",ip:"IP",isPublic:"Público",issue:"Problema",issuer:"Emisor",item:"Artículo",joined:"Unido",key:"Clave",lastPublishedAt:"Publicado en",launcher:"Información del lanzador",leavePageTip:"¿Estás seguro de abandonar la página?",link:"Enlace",loading:"Cargando",log:"Ver Registros",logStorage:"Almacenamiento de registros",login:"Iniciar sesión",logo:"Logo",logout:"Cerrar sesión",logs:"Registros",manageTeam:"Administrar Equipo",marketplace:"Mercado",member:"Miembro",members:"Miembros",memory:"Memoria",meta:"Meta Datos",analytics:"Análisis",runtime:"Tiempo de ejecución",traffic:"Tráfico",more:"Más",mountPoint:"Punto de Montaje",name:"Nombre",next:"Siguiente",no:"No",noData:"No hay registros para mostrar",notice:"¡Pasarán cosas malas inesperadas si no lees esto!",noticeTitle:"Aviso",notification:"Notificación",open:"Abrir",management:"Gestión",os:"Sistema operativo",overview:"Resumen",owner:"Dueño",page404:"Página 404",passport:"Pasaporte",permission:"Permiso",port:"Puerto",pre:"Anterior",preferences:"Preferencias",preview:"Vista previa",protected:"Protegido",protocol:"Protocolo",purchase:"Compra",readMore:"Más",redirect:"Redirigir",redirectCode:"Código de redirección",redirectPermanently:"Redirección permanente",redirectTemporary:"Redirección Temporal",redirectUrl:"URL de redireccionamiento",rewrite:"Reescribir",release:"Liberación",rewriteUrl:"Reescribe la URL",reject:"Rechazar",reload:"Recargar",remark:"Observación",remove:"Eliminar",removeSuccess:"Eliminado con éxito",renew:"Renovar",reportIssue:"Reportar un problema",required:"Requerido",requiredErrorText:"{name} es requerido",resource:"Recurso",restart:"Reiniciar",restore:"Restaurar",retry:"Reintentar",revoke:"Revocar",role:"Rol",running:"Corriendo",runtimeInfo:"Información de tiempo de ejecución",save:"Guardar",saveChanges:"Guardar cambios",saveSuccess:"Guardado exitosamente",scheduleFailed:"Programación fallida",scheduleSuccess:"Programado exitosamente",scope:"Alcance",screenshot:"Capturas de pantalla",search:"Buscar",security:"Seguridad",serverDid:"Servidor DID",serverVersion:"Versión del servidor",setting:"Configuración",start:"Comenzar",status:"Estado",stop:"Detener",storage:"Almacenamiento",backup:"Respaldo",store:"Tienda",succeeded:"Éxito",subscription:"Suscripción",support:"URL o correo electrónico de soporte",switch:"Interruptor",team:"Equipo",the:"El",timeAgo:"{time} atrás",title:"Título",type:"Tipo",unavailable:"No disponible",update:"Actualización",updateAvailable:"Nueva versión {version} disponible",updatedAt:"Actualizado a las {time}",updatedBy:"Actualizado por",upgrade:"Mejorar",upgradeTo:"Actualiza a",upgrading:"Actualización",uptime:"Tiempo activo",url:"URL",valid:"Válido",value:"Valor",version:"Versión",visit:"Visitar",waiting:"Esperando",webhook:"Integraciones",yes:"Sí",invalidParam:"Parámetros inválidos",launch:"Lanzamiento",price:"Precio",redirecting:"Redirigiendo",error:"Error",reminder:"Recordatorio",normal:"Normal",gateway:"Puerta de enlace",verifyNFT:"Verificar NFT",errorMessage:"Mensaje de error:",slugifyHint:"El punto de montaje real será: {value}",strategy:"Estrategia",auto:"Auto",manual:"Manual",progress:"En progreso",startTime:"Hora de inicio",endTime:"Hora de finalización",timeoutError:"Error de tiempo de espera",tags:"Etiquetas",connectToStore:"Conectar a la tienda",uploaded:"Subido",upload:"Subir",blockletStudio:"Estudio",visitStore:"Visitar tienda",reconnect:"Reconecta",change:"Cambiar",disconnect:"Desconectar",sourceApp:"Pertenece a la aplicación",visitTarget:"Visita {name}",upgradeServer:"Actualizar el servidor",display:"Mostrar",requiredInputPlaceholder:"Por favor, ingrese {name}",refresh:"Actualizar",moveUp:"Mover hacia arriba",moveDown:"Desplazar hacia abajo",enabled:"Habilitado",disabled:"Desactivado",homepage:"Página de inicio",buy:"Comprar",view:"Ver",homepageTip:"Página de inicio o URL de demostración en vivo",repository:"Repositorio",expand:"Expandir",collapse:"Contraer",all:"Todo",notificationRecords:"Notificaciones",unrecordedUser:"Nombre no registrado",unrecordedRole:"Rol no registrado",auditLogsSearch:"Buscar por acción o contenido",optional:"Opcional",bugOrConnectDomain:"Comprar o conectar un dominio existente",bugOrConnectDomainTip:"Un nombre de dominio es la dirección única de tu sitio web en internet. Puedes comprar un nuevo dominio desde DID Names o cualquier registrador de dominios, o configurar un dominio existente que ya poseas.",connectExistingDomain:"Conectar dominio existente",domains:"Dominios",didDomains:"Dominios DID",manualDomains:"Mis Dominios",didDomainsDescription:"Los siguientes dominios son administrados automáticamente por el servicio DID:Names.",systemDomains:"Sistema Asignado",systemDomainsDescription:"Los siguientes dominios se asignan automáticamente de forma predeterminada. Si bien son accesibles, no están destinados para uso en producción y no deben compartirse con los clientes. Estos dominios son principalmente para fines de desarrollo.",manualDomainsDescription:"Los siguientes dominios son gestionados por su proveedor de dominios y se han configurado manualmente para apuntar aquí.",fileCount:"Recuento de archivos",fileSize:"Tamaño del archivo",time:"Tiempo",less:"Menos",timeInfo:"Tiempo",operator:"Operador",inviter:"Invitador",clear:"Limpiar",ok:"OK",minutes:"Minutos",hours:"Horas",hour:"Hora",days:"Días",day:"Día",weeks:"Semanas",months:"Meses",custom:"Personalizado",environments:"Entornos",sites:"Sitios",active:"Activo",backupTime:"Tiempo de copia de seguridad",lastUsedAt:"Último uso en",expiredAt:"Fecha de vencimiento",createdVia:"Creado a través de",neverExpired:"Nunca",baseInfo:"Información básica",otherInfo:"Más información",lightMode:"Modo Claro",darkMode:"Modo Oscuro",advancedConfig:"Avanzado",document:"documento",mcpServers:"Servidores MCP",generate:"Generar",copy:"Copiar",copied:"Copiado",orgs:"Organizaciones",userSessions:"Sesiones de Usuario"},blocklet:{external:"Externo",notFound:"Bloqueo no encontrado en este servidor, tal vez ha sido eliminado",installFromMarket:"Instalar nuevos Blocklets",installFromUrl:"Instalar desde URL",installFromCreate:"Crear Blocklet",installFromDiskBackup:"Restaurar desde este servidor",installedAt:"Instalado en",internal:"Interno",startedAt:"Comenzado en",stoppedAt:"Detenido en",urlEmptyTip:"URL sin acceso",goToAddRule:"Ir a Agregar",services:"Servicios expuestos",upstreamPort:"Puerto ascendente",noService:"No hay servicios",appId:"App DID",appPid:"DID permanente",alsoKnownAs:"También conocido como",skSource:"Propietario de la billetera",reloadSuccess:"Blocklet se recargó exitosamente",statusTip:"Blocklet es {status}",initialUptime:"Menos de 1 metro",dashboard:"Panel de Bloqueos",noComponent:"La aplicación no tiene componentes y no se puede iniciar",fromUrl:{title:"Instalar Blocklet",label:"URL del Meta Blocklet",description:"La URL debería apuntar al Archivo Meta del Blocklet. Si necesitas referirte a un archivo local, por favor agrega el prefijo file://, por ejemplo: file:///Users/foo/blocklet.json.",confirm:"Instalar",step0:"URL de entrada",step1:"Confirmar Meta Información",existTipPrefix:"El Blocklet con el mismo DID ya existe, la versión es {version}",existTipSuffix:"Por favor, instale una versión superior."},action:{stopDescription:"Detener el bloqueo hará que sus interfaces públicas no sean accesibles, lo cual puede causar fallos en el usuario final",stopComponentDescription:"Detener el componente hará que sus interfaces públicas no estén accesibles, lo que puede causar fallos para el usuario final",confirmStop:"Sí, Detente",cancelDownloadDescription:"¿Cancelar la descarga de {name}?",removeApplicationDescription:"Borrar la aplicación eliminará el código y los datos generados por esta aplicación, los cuales no se podrán recuperar si no tienes copias de seguridad",removeApplicationAfterBackup:"Respaldar y eliminar la aplicación. Puedes restaurar la aplicación desde este servidor si lo necesitas",removeApplicationComplete:"Eliminar tanto el código como los datos para esta aplicación",removeComponentDescription:"Eliminar el componente borrará el código y los datos generados por este componente, los cuales no se pueden recuperar si no tienes ninguna copia de seguridad",removeComponentKeepData:"Mantén los datos para este componente, solo elimina el código",removeComponentComplete:"Eliminar tanto el código como los datos de este componente",confirmRemove:"Sí, Eliminarlo",confirmComponentRemove:"Sí, Elimínalo",upgradeDescription:"Actualizar el bloque hará que esté temporalmente no disponible, ¿estás seguro de continuar?",confirmUpgrade:"Sí, Mejóralo",confirmRestart:"Sí, Reiniciarlo",restartDescription:"Reiniciar el bloque se suspenderá temporalmente y es posible que no se inicie debido a un cambio de configuración"},dev:{modeTip:"Por favor cambia el servidor Blocklet a modo DEBUG"},index:{tableTitle:"Administra tus Blocklets",noBlocklet:"No se encontraron blocklets en este servidor de Blocklet, instala un blocklet desde el mercado para comenzar."},config:{name:"Nombre de la aplicación",description:"Descripción de la aplicación",logoSquare:"Logo de la aplicacion",logoRect:"Logotipo del sitio web",logoRectDesc:"Usado en: encabezado y pie de página del sitio web; se usará el logotipo de la app si no está configurado",logoFavicon:"Favicon",logoFaviconDesc:"Usado en: barra de direcciones y pestaña del navegador; se usará el logotipo de la app si no está configurado",clusterSize:"Cantidad de instancias cuando se ejecuta este blocklet en modo de clúster",copyrightOwner:"Titular de los derechos de autor",copyrightYear:"Copyright Año",deletable:{name:"Protección de eliminación",enable:"Este bloque no se puede eliminar actualmente",disable:"Este bloque puede ser eliminado actualmente"},walletType:{name:"Tipo de billetera",description:"Tipo de billetera de instancia de la Blocklet, cambiará el DID derivado"},languages:"Idiomas compatibles",selectLanguagesTip:"Ajusta el orden eliminando y volviendo a añadir",languagesSearch:"Buscar por Nombre Local del País, Nombre en Inglés o Código ISO...",passportColor:"Color del pasaporte",appUrl:"URL de la aplicación",access:{title:"¿Quién puede acceder?",description:"Elige cómo quieres controlar el acceso a tu aplicación.",useDefault:"Usar predeterminado",defaultDescription:"Usa la configuración predeterminada de la aplicación",whoCanAccess:{all:{title:"Abierto a todos",description:"Abierto al mundo, cualquiera puede acceder sin pasaporte"},owner:{title:"Acceso solo para propietario",description:"Debes proporcionar el pasaporte del propietario para acceder a esta aplicación"},invited:{title:"Acceso solo con invitación",description:"Solo los miembros invitados pueden acceder."}},publicToStore:"Público en tienda",publicInstanceTip:"La dirección de acceso de este bloque se mostrará en la Tienda (junto con tu DID para aceptar donaciones)",updatedTip:"Acceso Controlado Modificado"},changedTip:"Configuración actualizada, por favor reinicia Blocklet",missingRequired:"Falta la configuración requerida para iniciar el blocklet",gotoFix:"Ir a arreglar",environment:{key:"Clave de configuración",value:"Valor de configuración",keyValueRequired:"La clave de configuración y el valor deben ser especificados",invalidKey:"La clave de configuración no debe comenzar con BLOCKLET_ o COMPONENT_",deleteForbidden:"Esta configuración es requerida y no debe ser borrada",tip:"Las configuraciones que comienzan con BWA_ no deben contener información confidencial ya que serán enviadas al navegador"},dangerZone:"Zona de peligro",sharedToAllComponents:"Se compartirá con todos los componentes",session:{ttl:"Se pedirá al usuario que vuelva a iniciar sesión si no tiene actividad en este sitio durante {day} días",day:"{day} día",days:"{day} días",period:"Periodo de validez de sesión",profile:"Requisitos del perfil de usuario",cacheTtl:"Duración de caché para datos de sesión de usuario (en segundos)",fullNameEnabled:"Solicitar nombre de usuario al iniciar sesión (habilitado de forma predeterminada)",avatarEnabled:"Solicitar avatar de usuario al iniciar sesión (habilitado por defecto)",emailEnabled:"Solicitar correo electrónico del usuario al iniciar sesión",emailRequireVerified:"Requiere que el correo electrónico del usuario sea verificado antes de iniciar sesión",emailRequireUnique:"Requerir que el correo electrónico del usuario sea único en todos los usuarios",phoneEnabled:"Solicitar número de teléfono del usuario al iniciar sesión (aún no compatible)",phoneRequireVerified:"Requerir verificación del número de teléfono del usuario antes de iniciar sesión",phoneRequireUnique:"Requerir que el número de teléfono del usuario sea único entre todos los usuarios",emailTrustOauthProviders:"Confíe en los proveedores de OAuth para verificar el estado del correo electrónico",enableDomainBlackList:"Habilitar lista negra de dominios de correo electrónico (rechazar dominios de correo electrónico listados)",enableDomainWhiteList:"Permitir lista blanca de dominios de correo electrónico (solo permitir que los dominios de correo electrónico enumerados inicien sesión)",addDomain:"Añadir fuente para obtener la lista (en formato de texto plano, un dominio por línea)",enableBlacklist:"Activar revocación de token de inicio de sesión y token de actualización",experimentalSettings:"Configuración Experimental"},clearCache:{name:"Gestión de la Caché",purpose:"Gestionar archivos almacenados en servicios de enrutador y blocklet",title:"¿Confirmar borrado de caché?",action:"Borrar caché",success:"Se eliminaron correctamente {count} entradas de caché",description:"¿Estás seguro de que quieres borrar los archivos en caché en el router y el servicio de blocklet? Esta operación puede causar una ligera disminución en el rendimiento a corto plazo."},tenantMode:{name:"Modo multiinquilino",multiple:"Este blocklet se ejecuta en modo de múltiples inquilinos, los datos deben estar aislados para cada inquilino",single:"Este blocklet se ejecuta en modo de inquilino único, todos los datos son compartidos"},splashPortrait:"Imágenes de inicio",splashLandscape:"Paisaje de Salpicaduras",splashPortraitDesc:"Se muestra al iniciar el Blocklet. Formato PNG o JPG, relación de aspecto recomendada 9:16 para retrato y 16:9 para paisaje (máx. 5 MB)",rotateSessionKey:{name:"Rotación de sal de sesión",purpose:"La sal de sesión es un valor aleatorio usado para mejorar la seguridad de los tokens de sesión. Haga clic en el botón para rotar manualmente la sal de sesión, lo que ayuda a reducir el riesgo de compromiso del token de inicio de sesión.",title:"¿Confirmar rotación de sal de sesión?",action:"Girar Sal",success:"Sal cambiado con éxito",description:"¿Seguro que quieres rotar la sal de sesión? Esta operación invalidará todos los tokens de inicio de sesión existentes y obligará al usuario a iniciar sesión de nuevo, incluido tu propio token de inicio de sesión."},ogImage:"Fondo de Open Graph",ogImageDesc:"Utilizado en: fondo para compartir en redes sociales",migrate:{button:"Migrar con DID Wallet",title:"Confirmar cambio de DID",description:"Si está iniciando con una cartera administrada por el servidor, puede cambiar el DID de la aplicación a su propia cartera.",confirm:"¿Seguro que desea cambiar el DID de la aplicación? Esta operación invalidará todas las sesiones existentes y obligará a los usuarios a iniciar sesión nuevamente, incluida la suya."},vault:{name:"Vault DID",title:"Configurar Vault",desc:"Utiliza vault para añadir una capa extra de seguridad a los fondos gestionados por este Blocklet.",tip:"Ingresa la dirección del vault para continuar, debes probar la propiedad de la dirección del vault antes de que pueda ser usada.",address:"Dirección del Vault",verified:"Vault está verificado",current:"Vault actual",error:{invalid:"La dirección del Vault debe ser un DID válido",holder:"La dirección de Vault debe ser un titular de tokens válido en la blockchain; no se admiten direcciones de token/activo/fábrica/participación.",duplicate:"Esta dirección de vault ya se usó, por favor use una diferente",appDid:"No se puede usar el DID de la aplicación como dirección de vault, por favor use una diferente"},role:"Tipo de rol",firstSeen:"Visto por primera vez",lastSeen:"Visto por última vez",migratedFrom:"Migrado desde",migratedTo:"Migrado a",commit:{title:"Verificar propiedad de Vault",scan:"Use los siguientes métodos para verificar la propiedad de la bóveda",confirm:"Confirmar usando DID Wallet",success:"Vault se configuró correctamente"},approve:{title:"Aprobar cambio de Vault",byOwner:"Firmar con el propietario del Blocklet para aprobar el cambio",byLast:"Firmar con la última bóveda para aprobar el cambio",confirm:"Confirmar usando DID Wallet",success:"El cambio de Vault está aprobado"}},changeImageTip:"Consejo: Si quieres cambiar la imagen, haz clic en Vista previa de imagen para cambiarla.",baseInfo:"Información básica",baseInfoDesc:"Aquí se puede configurar la información básica del sitio web.",logoSettings:"Información visual",logoSettingsDesc:"Crea una imagen de marca única, mejora el reconocimiento del sitio web y su atractivo visual en diversos escenarios.",languagesDesc:"Utilizado en: selección de idioma del visitante",nameDesc:"Usado en: encabezado DID Connect, pestaña del navegador, pie de página del sitio web, metadatos SEO y metadatos OpenGraph",descriptionDesc:"Usado en: metadatos SEO y metadatos OpenGraph",logoSquareDesc:"Usado en: pie de diálogo de autenticación de usuario y lista de apps de <b>DID Wallet</b>",logoDesc:"Tamaño recomendado: {width} x {height} píxeles",splashDesc:`Pantalla de inicio de la APP ArcSphere (se mostrará en <b>ArcSphere</b> si está configurado)
2
2
 
3
3
  Modo vertical:
4
4
  Proporción: 9:16
@@ -1 +1 @@
1
- import{j as e,a6 as P,ak as E}from"./vendor-mui-core-BFPsXaTR.js";import{r as k,i as T}from"./vendor-react-Dvs43sk9.js";import{o as j}from"./vendor-arcblock-DGOH9a3F.js";import{V as C,H as d,D as S}from"./vendor-ux-CE4sOH7O.js";import{v as W,c as v,S as I,s as R,b as U}from"./index-3yzleS_1.js";import{K as b}from"./landing-page-CkVnGimh.js";import{w as L}from"./wrap-locale-qW2Nj5Kt.js";import{g as N}from"./get-safe-url-3Xj-tgXY.js";import"./vendor-utils-OrZFrHBP.js";import"./vendor-hooks-DmThWyyG.js";import"./lottie-web-4koyQiv_.js";import"./index-D_s4QOu7.js";function _({SessionContext:n,webWalletUrl:r,onSuccess:o}){const{api:t,session:i}=k.useContext(n),{t:s,locale:h}=C(),f=T(),{searchParams:p}=new URL(window.location.href),l=p.get("redirect"),g=async(a,w)=>{o(a,w),await i.refresh(),d.success(s("exchangePassport.success")),setTimeout(()=>{if(l){const c=decodeURIComponent(l);c.startsWith(v.WELLKNOWN_SERVICE_PATH_PREFIX)?f(c,{replace:!0}):window.location.href=N(c)}else window.location.href=window.env.pathPrefix||window.env.apiPrefix||"/"},3e3)},u=a=>{d.error(a.message)},m={},x=p.get("componentId");return x&&(m.componentId=x),i.loading?e.jsx(j,{children:e.jsx(P,{})}):e.jsx(b,{did:window?.blocklet?.appPid||window?.env?.appPid,children:e.jsx(E,{sx:{maxWidth:"100%",height:"100%"},children:e.jsx(W,{popup:!0,open:!0,className:"connect",action:"exchange-passport",checkFn:t.get,checkTimeout:10*60*1e3,webWalletUrl:r,onSuccess:g,onError:u,locale:h,messages:{title:s("exchangePassport.dialog.title"),scan:s("exchangePassport.dialog.scan"),confirm:s("exchangePassport.dialog.confirm"),success:s("exchangePassport.dialog.success")},extraParams:m,extraContent:null,hideCloseButton:!0})})})}const B=L(_);function G(){const n=S(),r=(o,t)=>{o.sessionToken&&(R(t(o.sessionToken)),U(t(o.refreshToken)))};return e.jsx(B,{SessionContext:I,webWalletUrl:n,onSuccess:r})}export{G as default};
1
+ import{j as e,a6 as P,ak as E}from"./vendor-mui-core-CnXrAOs3.js";import{r as k,i as T}from"./vendor-react-Dvs43sk9.js";import{o as j}from"./vendor-arcblock-DVRwGBYP.js";import{V as C,H as d,u as S}from"./vendor-ux-DtnxszG_.js";import{v as W,c as v,S as I,s as R,b as U}from"./index-FASRIZyi.js";import{K as b}from"./landing-page-CG20_HOe.js";import{w as L}from"./wrap-locale-DTDVuPVv.js";import{g as N}from"./get-safe-url-BFcRpP-P.js";import"./vendor-utils-cJEl_UEd.js";import"./vendor-hooks-CjESGRlR.js";import"./lottie-web-4koyQiv_.js";import"./index-B4cuO9Xn.js";function _({SessionContext:n,webWalletUrl:r,onSuccess:o}){const{api:t,session:i}=k.useContext(n),{t:s,locale:h}=C(),f=T(),{searchParams:p}=new URL(window.location.href),l=p.get("redirect"),g=async(a,w)=>{o(a,w),await i.refresh(),d.success(s("exchangePassport.success")),setTimeout(()=>{if(l){const c=decodeURIComponent(l);c.startsWith(v.WELLKNOWN_SERVICE_PATH_PREFIX)?f(c,{replace:!0}):window.location.href=N(c)}else window.location.href=window.env.pathPrefix||window.env.apiPrefix||"/"},3e3)},u=a=>{d.error(a.message)},m={},x=p.get("componentId");return x&&(m.componentId=x),i.loading?e.jsx(j,{children:e.jsx(P,{})}):e.jsx(b,{did:window?.blocklet?.appPid||window?.env?.appPid,children:e.jsx(E,{sx:{maxWidth:"100%",height:"100%"},children:e.jsx(W,{popup:!0,open:!0,className:"connect",action:"exchange-passport",checkFn:t.get,checkTimeout:10*60*1e3,webWalletUrl:r,onSuccess:g,onError:u,locale:h,messages:{title:s("exchangePassport.dialog.title"),scan:s("exchangePassport.dialog.scan"),confirm:s("exchangePassport.dialog.confirm"),success:s("exchangePassport.dialog.success")},extraParams:m,extraContent:null,hideCloseButton:!0})})})}const B=L(_);function G(){const n=S(),r=(o,t)=>{o.sessionToken&&(R(t(o.sessionToken)),U(t(o.refreshToken)))};return e.jsx(B,{SessionContext:I,webWalletUrl:n,onSuccess:r})}export{G as default};
@@ -1,11 +1,11 @@
1
- import{D as w,j as o,a6 as v,T as B,bp as S}from"./vendor-mui-core-BFPsXaTR.js";import{o as T}from"./vendor-arcblock-DGOH9a3F.js";import{V as k,q as M}from"./vendor-ux-CE4sOH7O.js";import{r as _}from"./vendor-react-Dvs43sk9.js";import{l as P}from"./vendor-hooks-DmThWyyG.js";import{a6 as F,L as D}from"./index-3yzleS_1.js";import"./vendor-utils-OrZFrHBP.js";import"./lottie-web-4koyQiv_.js";const{Elements:I,PaymentElement:R,useElements:z,useStripe:N,loadStripe:q,LinkAuthenticationElement:L}=globalThis.__STRIPE_COMPONENTS__,O=S("div")`
1
+ import{D as w,j as o,a6 as v,T as B,bp as S}from"./vendor-mui-core-CnXrAOs3.js";import{o as T}from"./vendor-arcblock-DVRwGBYP.js";import{V as k,b as M}from"./vendor-ux-DtnxszG_.js";import{r as _}from"./vendor-react-Dvs43sk9.js";import{l as P}from"./vendor-hooks-CjESGRlR.js";import{a6 as F,L as D}from"./index-FASRIZyi.js";import"./vendor-utils-cJEl_UEd.js";import"./lottie-web-4koyQiv_.js";const{Elements:I,PaymentElement:R,useElements:z,useStripe:N,loadStripe:L,LinkAuthenticationElement:O}=globalThis.__STRIPE_COMPONENTS__,V=S("div")`
2
2
  width: 100%;
3
3
  opacity: 0;
4
4
  transition: opacity 300ms ease;
5
5
  &.visible {
6
6
  opacity: 1;
7
7
  }
8
- `;function V({clientSecret:p,intentType:u,customer:e,mode:f,onConfirm:b,returnUrl:g=""}){const r=N(),m=z(),{t:c}=k(),l=w(),[t,n]=P({message:"",confirming:!1,loaded:!1,showBillingForm:!1,isTransitioning:!1,paymentMethod:"card"}),s=a=>{const i=a.value?.type;(i==="google_pay"||i==="apple_pay")&&!y(e.address)&&!t.showBillingForm?(n({isTransitioning:!0}),setTimeout(()=>{n({isTransitioning:!1,paymentMethod:i,showBillingForm:!0})},300)):n({showBillingForm:!1,paymentMethod:i,isTransitioning:!1})},y=a=>a&&a.line1&&a.city&&a.state&&a.postal_code&&a.country;_.useEffect(()=>{if(!r||!p)return;r[u==="payment_intent"?"retrievePaymentIntent":"retrieveSetupIntent"](p).then(({paymentIntent:i,setupIntent:d})=>{switch((i||d)?.status){case"succeeded":n({message:c("paymentCredit.preparePayMessage.succeeded")});break;case"processing":n({message:c("paymentCredit.preparePayMessage.processing")});break}})},[r,p]);const x=_.useCallback(async a=>{if(a.preventDefault(),!(!r||!m))try{n({confirming:!0,message:""});const i=u==="payment_intent"?"confirmPayment":"confirmSetup",{error:d}=await m.submit();if(d){n({confirming:!1});return}const{error:h,paymentIntent:E,setupIntent:j}=await r[i]({elements:m,redirect:"if_required",confirmParams:{return_url:g||window.location.href,...t.showBillingForm?{}:{payment_method_data:{billing_details:{name:e.name,phone:e.phone,email:e.email,address:{...e.address||{},country:e.address?.country||"us",line1:e.address?.line1||"",line2:e.address?.line2||"",city:e.address?.city||"",state:e.address?.state||"",postal_code:e.address?.postal_code||"00000"}}}}}}),C=E||j;if(C?.status==="canceled"||C?.status==="requires_payment_method"){n({confirming:!1});return}if(n({confirming:!1}),h){if(h.type==="validation_error")return;n({message:h.message});return}b()}catch(i){console.error(i),n({confirming:!1,message:i.message})}},[e,u,r,t.showBillingForm,g]);return o.jsxs(W,{onSubmit:x,children:[(!t.paymentMethod||["link","card"].includes(t.paymentMethod))&&o.jsx(L,{options:{defaultValues:{email:e.email}}}),o.jsx(O,{className:t.isTransitioning?"":"visible",children:o.jsx(R,{options:{layout:"auto",fields:{billingDetails:t.showBillingForm?"auto":"never"},readOnly:t.confirming,defaultValues:{billingDetails:{name:e.name,phone:e.phone,email:e.email,address:e.address}},appearance:{theme:l.palette.mode,variables:{colorPrimary:l.palette.primary.main,colorBackground:l.palette.background.paper,colorText:l.palette.text.primary,colorDanger:l.palette.error.main,borderRadius:"4px"}}},onChange:s,onReady:()=>n({loaded:!0})})}),(!r||!m||!t.loaded)&&o.jsx(T,{relative:"parent",children:o.jsx(v,{})}),r&&m&&t.loaded&&o.jsx(D,{fullWidth:!0,sx:{mt:2,mb:1,borderRadius:0,fontSize:"0.875rem"},type:"submit",disabled:t.confirming||!t.loaded,loading:t.confirming,variant:"contained",color:"primary",size:"large",children:c("payment.checkout.continue",{action:c(`payment.checkout.${f}`)})}),t.message&&o.jsx(B,{sx:{mt:1,color:"error.main"},children:t.message})]})}const W=S("form")`
8
+ `;function W({clientSecret:p,intentType:u,customer:e,mode:f,onConfirm:b,returnUrl:g=""}){const r=N(),m=z(),{t:c}=k(),l=w(),[t,n]=P({message:"",confirming:!1,loaded:!1,showBillingForm:!1,isTransitioning:!1,paymentMethod:"card"}),s=a=>{const i=a.value?.type;(i==="google_pay"||i==="apple_pay")&&!y(e.address)&&!t.showBillingForm?(n({isTransitioning:!0}),setTimeout(()=>{n({isTransitioning:!1,paymentMethod:i,showBillingForm:!0})},300)):n({showBillingForm:!1,paymentMethod:i,isTransitioning:!1})},y=a=>a&&a.line1&&a.city&&a.state&&a.postal_code&&a.country;_.useEffect(()=>{if(!r||!p)return;r[u==="payment_intent"?"retrievePaymentIntent":"retrieveSetupIntent"](p).then(({paymentIntent:i,setupIntent:d})=>{switch((i||d)?.status){case"succeeded":n({message:c("paymentCredit.preparePayMessage.succeeded")});break;case"processing":n({message:c("paymentCredit.preparePayMessage.processing")});break}})},[r,p]);const x=_.useCallback(async a=>{if(a.preventDefault(),!(!r||!m))try{n({confirming:!0,message:""});const i=u==="payment_intent"?"confirmPayment":"confirmSetup",{error:d}=await m.submit();if(d){n({confirming:!1});return}const{error:h,paymentIntent:E,setupIntent:j}=await r[i]({elements:m,redirect:"if_required",confirmParams:{return_url:g||window.location.href,...t.showBillingForm?{}:{payment_method_data:{billing_details:{name:e.name,phone:e.phone,email:e.email,address:{...e.address||{},country:e.address?.country||"us",line1:e.address?.line1||"",line2:e.address?.line2||"",city:e.address?.city||"",state:e.address?.state||"",postal_code:e.address?.postal_code||"00000"}}}}}}),C=E||j;if(C?.status==="canceled"||C?.status==="requires_payment_method"){n({confirming:!1});return}if(n({confirming:!1}),h){if(h.type==="validation_error")return;n({message:h.message});return}b()}catch(i){console.error(i),n({confirming:!1,message:i.message})}},[e,u,r,t.showBillingForm,g]);return o.jsxs($,{onSubmit:x,children:[(!t.paymentMethod||["link","card"].includes(t.paymentMethod))&&o.jsx(O,{options:{defaultValues:{email:e.email}}}),o.jsx(V,{className:t.isTransitioning?"":"visible",children:o.jsx(R,{options:{layout:"auto",fields:{billingDetails:t.showBillingForm?"auto":"never"},readOnly:t.confirming,defaultValues:{billingDetails:{name:e.name,phone:e.phone,email:e.email,address:e.address}},appearance:{theme:l.palette.mode,variables:{colorPrimary:l.palette.primary.main,colorBackground:l.palette.background.paper,colorText:l.palette.text.primary,colorDanger:l.palette.error.main,borderRadius:"4px"}}},onChange:s,onReady:()=>n({loaded:!0})})}),(!r||!m||!t.loaded)&&o.jsx(T,{relative:"parent",children:o.jsx(v,{})}),r&&m&&t.loaded&&o.jsx(D,{fullWidth:!0,sx:{mt:2,mb:1,borderRadius:0,fontSize:"0.875rem"},type:"submit",disabled:t.confirming||!t.loaded,loading:t.confirming,variant:"contained",color:"primary",size:"large",children:c("payment.checkout.continue",{action:c(`payment.checkout.${f}`)})}),t.message&&o.jsx(B,{sx:{mt:1,color:"error.main"},children:t.message})]})}const $=S("form")`
9
9
  display: flex;
10
10
  flex-direction: column;
11
11
  justify-content: center;
@@ -13,4 +13,4 @@ import{D as w,j as o,a6 as v,T as B,bp as S}from"./vendor-mui-core-BFPsXaTR.js";
13
13
  width: 100%;
14
14
  height: 100%;
15
15
  min-height: 320px;
16
- `;function Y({clientSecret:p,intentType:u,publicKey:e,mode:f,customer:b,onConfirm:g,onCancel:r,returnUrl:m=""}){const c=q(e),{isMobile:l}=F(),{t,locale:n}=k(),s=w(),[y,x]=P({open:!0,closable:!0}),a=(i,d)=>{d!=="backdropClick"&&(x({open:!1}),r())};return o.jsx(M,{title:t("payment.checkout.cardPay",{action:t(`payment.checkout.${f}`)}),showCloseButton:y.closable,open:y.open,onClose:a,disableEscapeKeyDown:!0,sx:{".StripeElement":{minWidth:l?"100%":"500px",py:1},form:{justifyContent:"flex-start"},".StripeElement--focus":{borderColor:s.palette.primary.main},".StripeElement--invalid":{borderColor:s.palette.error.main},".StripeElement--complete":{borderColor:s.palette.success.main}},PaperProps:{style:{minWidth:l?"100%":"500px"}},children:o.jsx(I,{options:{clientSecret:p,locale:n==="zh"?"zh-CN":"en",appearance:{theme:s.palette.mode,variables:{colorPrimary:s.palette.primary.main,colorBackground:s.palette.background.paper,colorText:s.palette.text.primary,colorDanger:s.palette.error.main}}},stripe:c,children:o.jsx(V,{clientSecret:p,intentType:u,mode:f,customer:b,onConfirm:g,returnUrl:m})})})}export{Y as default};
16
+ `;function Y({clientSecret:p,intentType:u,publicKey:e,mode:f,customer:b,onConfirm:g,onCancel:r,returnUrl:m=""}){const c=L(e),{isMobile:l}=F(),{t,locale:n}=k(),s=w(),[y,x]=P({open:!0,closable:!0}),a=(i,d)=>{d!=="backdropClick"&&(x({open:!1}),r())};return o.jsx(M,{title:t("payment.checkout.cardPay",{action:t(`payment.checkout.${f}`)}),showCloseButton:y.closable,open:y.open,onClose:a,disableEscapeKeyDown:!0,sx:{".StripeElement":{minWidth:l?"100%":"500px",py:1},form:{justifyContent:"flex-start"},".StripeElement--focus":{borderColor:s.palette.primary.main},".StripeElement--invalid":{borderColor:s.palette.error.main},".StripeElement--complete":{borderColor:s.palette.success.main}},PaperProps:{style:{minWidth:l?"100%":"500px"}},children:o.jsx(I,{options:{clientSecret:p,locale:n==="zh"?"zh-CN":"en",appearance:{theme:s.palette.mode,variables:{colorPrimary:s.palette.primary.main,colorBackground:s.palette.background.paper,colorText:s.palette.text.primary,colorDanger:s.palette.error.main}}},stripe:c,children:o.jsx(W,{clientSecret:p,intentType:u,mode:f,customer:b,onConfirm:g,returnUrl:m})})})}export{Y as default};
@@ -1,4 +1,4 @@
1
- import{a as N,r as o}from"./vendor-react-Dvs43sk9.js";import{j as e,I as w,bi as G,Q as U,bE as H,O as Q,P as $,ai as J,o as Y,M as Z,W as s,z as V,ak as d,a6 as ee,bF as se,aj as te,F as ne,bG as ae}from"./vendor-mui-core-BFPsXaTR.js";import{s as re}from"./vendor-ux-CE4sOH7O.js";import{R as le}from"./required-BPzIdi1N.js";import{F as oe}from"./form-wrapper-DINLdpTN.js";import{e as ie}from"./edit.svg-DycWG9v3.js";function B({triggers:l=[],onEnterEdit:n,disabled:p}){const a=N.useRef(null),[h,c]=N.useState(!1),k=r=>{c(!1),r()},C=()=>{c(r=>!r)},i=r=>{a.current&&a.current.contains(r.target)||c(!1)};return l.length===0?e.jsx(w,{"data-cy":"schema-form-item-edit",onClick:n,disabled:p,size:"large",children:e.jsx(ie,{})}):e.jsxs(e.Fragment,{children:[e.jsx(G,{variant:"outlined",ref:a,"aria-label":"split button",children:e.jsx(U,{size:"large","aria-controls":h?"split-button-menu":void 0,"aria-expanded":h?"true":void 0,sx:{paddingLeft:"12px",paddingRight:"12px"},onClick:C,children:e.jsx(H,{})})}),e.jsx(Q,{sx:{zIndex:9999},open:h,anchorEl:a.current,role:void 0,placement:"bottom-end",children:e.jsx($,{children:e.jsx(J,{onClickAway:i,children:e.jsx(Y,{id:"split-button-menu",autoFocusItem:!0,children:l.map(r=>e.jsx(Z,{onClick:()=>k(r.handler),children:r.title},r.key))})})})})]})}B.propTypes={triggers:s.arrayOf(s.shape({key:s.string.isRequired,title:s.string.isRequired,handler:s.func.isRequired})),onEnterEdit:s.func.isRequired,disabled:s.bool.isRequired};const L=(l,n,p)=>l===null&&n&&p?"******":l?n?"******":l:"",ce=ae`
1
+ import{a as N,r as o}from"./vendor-react-Dvs43sk9.js";import{j as e,I as w,bi as G,Q as U,bE as H,O as Q,P as $,ai as J,o as Y,M as Z,W as s,z as V,ak as d,a6 as ee,bF as se,aj as te,F as ne,bG as ae}from"./vendor-mui-core-CnXrAOs3.js";import{p as re}from"./vendor-ux-DtnxszG_.js";import{R as le}from"./required-BGaDOGrj.js";import{F as oe}from"./form-wrapper-C8oo_Fdy.js";import{e as ie}from"./edit.svg-DycWG9v3.js";function B({triggers:l=[],onEnterEdit:n,disabled:p}){const a=N.useRef(null),[h,c]=N.useState(!1),k=r=>{c(!1),r()},C=()=>{c(r=>!r)},i=r=>{a.current&&a.current.contains(r.target)||c(!1)};return l.length===0?e.jsx(w,{"data-cy":"schema-form-item-edit",onClick:n,disabled:p,size:"large",children:e.jsx(ie,{})}):e.jsxs(e.Fragment,{children:[e.jsx(G,{variant:"outlined",ref:a,"aria-label":"split button",children:e.jsx(U,{size:"large","aria-controls":h?"split-button-menu":void 0,"aria-expanded":h?"true":void 0,sx:{paddingLeft:"12px",paddingRight:"12px"},onClick:C,children:e.jsx(H,{})})}),e.jsx(Q,{sx:{zIndex:9999},open:h,anchorEl:a.current,role:void 0,placement:"bottom-end",children:e.jsx($,{children:e.jsx(J,{onClickAway:i,children:e.jsx(Y,{id:"split-button-menu",autoFocusItem:!0,children:l.map(r=>e.jsx(Z,{onClick:()=>k(r.handler),children:r.title},r.key))})})})})]})}B.propTypes={triggers:s.arrayOf(s.shape({key:s.string.isRequired,title:s.string.isRequired,handler:s.func.isRequired})),onEnterEdit:s.func.isRequired,disabled:s.bool.isRequired};const L=(l,n,p)=>l===null&&n&&p?"******":l?n?"******":l:"",ce=ae`
2
2
  0%, 100% {
3
3
  transform: scale(1) translateX(0);
4
4
  }
@@ -1,4 +1,4 @@
1
- import{at as t,ak as o}from"./vendor-mui-core-BFPsXaTR.js";const r=t(o)`
1
+ import{at as t,ak as o}from"./vendor-mui-core-CnXrAOs3.js";const r=t(o)`
2
2
  width: 100%;
3
3
  flex-grow: 1;
4
4
  overflow-y: auto;
@@ -1,4 +1,4 @@
1
- const e={setup:{connect:{title:"Configurer le serveur Blocklet",scan:"Utilisez les méthodes suivantes pour devenir propriétaire de ce serveur",confirm:"Veuillez examiner cette opération sur votre portefeuille DID",success:"Votre compte est connecté à ce serveur"},keyPair:{title:"Dériver KeyPair",scan:"Connectez votre portefeuille DID pour générer une paire de clés pour cette application",confirm:"Veuillez vérifier cette opération sur votre portefeuille DID",success:"Votre paire de clés est stockée en toute sécurité"},verify:{title:"Justificatif de propriété requis",scan:"Connectez votre portefeuille DID pour fournir des justificatifs de propriété",confirm:"Veuillez passer en revue cette opération sur votre portefeuille DID",success:"Votre compte est connecté à ce serveur."},accept:{title:"Accepter les certificats de propriété requis par le serveur",scan:"Connectez votre portefeuille DID pour fournir les justificatifs de propriété",confirm:"Veuillez passer en revue cette opération sur votre portefeuille DID",success:"Votre compte est connecté à ce serveur"},title:"Configurer le serveur de Blocklet",steps:{eula:"Contrat de licence utilisateur final",eulaFooter:"J'ai lu et accepté les termes de l'EULA.",connect:"Connecter le portefeuille DID du propriétaire",verify:"Vérifier la propriété",basicSettings:"Paramètres de base",launchApp:"Lancer l'application",complete:"Complet"},congratulation:"Félicitations ! Votre serveur Blocklet est sécurisé et prêt à être utilisé",redirectButton:"Emmenez-moi au tableau de bord !"},login:{loginTo:"Connectez-vous à",description:"Seul le propriétaire du serveur et les membres approuvés peuvent accéder au tableau de bord",switchDid:{title:"Changer de compte",scan:"Utilisez les méthodes suivantes pour changer de compte",confirm:"Confirmez le changement dans votre portefeuille DID",success:"Changement réussi"},switchSpecifiedDid:{title:"Changer de compte",scan:"Vous devez commuter DID sur {did} pour effectuer les actions suivantes",confirm:"Confirmez le changement dans votre portefeuille DID",success:"Passage réussi"},connect:{title:"Connecter",scan:"Seul le propriétaire du serveur et les membres approuvés peuvent accéder au tableau de bord.",confirm:"Confirmer dans votre compte",success:"Vous êtes connecté avec succès"},verify:{title:"Vérifier l'accès",scan:"Connectez votre DID Wallet pour présenter le passeport du propriétaire ou de l'admin",confirm:"Confirmez dans votre compte",success:"Votre accès est vérifié",abort:"Vérification d'accès annulée",description:"Vous devez fournir le passeport {roles} pour effectuer cette opération, vous ne serez invité à vérifier à nouveau qu'après 1 heure d'inactivité.",descriptionForDestroy:"Vous devez fournir un passeport {roles} pour effectuer cette opération dangereuse afin d'assurer la sécurité."},login:"Connecter",termsOfUse:"Conditions d'utilisation",agreeTermsOfUse:"Je confirme avoir lu et accepté les conditions applicables"},acceptServer:{title:"Revendiquer le serveur avec la propriété NFT",tooltip:"Si vous avez reçu un nft de propriété de serveur, vous pouvez réclamer votre passeport de propriétaire avec ce lien."},exchangePassport:{title:"Échanger le passeport avec NFT",success:"Vous avez réussi à échanger votre passeport et vous êtes connecté avec le passeport",login:"Connexion",dialog:{title:"Obtenez un passeport avec NFT",scan:"Connectez votre portefeuille DID pour présenter votre NFT et obtenir un passeport",confirm:"Sélectionnez NFT dans votre portefeuille DID",success:"Le passeport a été échangé avec succès"},tooltip1:"Si vous possédez un NFT de la collection,",tooltip2:"Vous pouvez échanger votre passeport via ce lien."},payablePassport:{title:"Acheter un passeport avec paiement",tooltip:"Si vous n'avez pas de passeport, vous pouvez en acheter un via ce lien."},sidebar:{dashboard:"Tableau de bord",blocklets:"Blocklets",console:"Console",settings:"Paramètres"},system:{total:"Total",used:"Utilisé",free:"Libre",cores:"Nombre de cœurs",instances:"Nombre d'instances"},common:{invalid:"Invalide",about:"À propos de",access:"Accès",accessKey:"Clés d'accès",action:"Action",actions:"Actions",add:"Ajouter",address:"Adresse",afterTime:"Après {time}",allow:"Permettre",alreadyExist:"Existe déjà",approve:"Approuver",approved:"Approuvé",appUrl:"URL de l'application",auditLogs:"Piste d'audit",author:"Auteur",avatar:"Avatar",back:"Retour",basic:"Basique",basicInfo:"Informations de base",profile:"Profil",bind:"Lier",blocklet:"Blocklet",blocklets:"Blocklets",blockletsStorage:"Stockage de Blocklets",cacheStorage:"Stockage du cache",cancel:"Annuler",certificate:"certificat",category:"Sujet du journal",click:"Cliquez pour copier",close:"Fermer",selectAll:"Sélectionner tout",unselectAll:"Désélectionner tout",collapseAll:"Tout réduire",community:"URL de la communauté",complete:"Compléter",componentBasicInfo:"Informations de base sur le composant",components:"Blocklets",config:"Configurer",configuration:"Configuration",appearance:"Apparence",configNavigation:"Navigation",configSuccess:"Configuration réussie",confirm:"Confirmer",connect:"Connecter",console:"Console",continue:"Continuer",continueWith:"Continuer avec",copiedTip:"Copié",copyAndClose:"Copier et Fermer",copyTip:"Cliquez pour copier",coreStorage:"Stockage principal",cpu:"CPU",create:"Créer",createSuccess:"Créer une clé d'accès",created:"Créé le",createdAt:"Créé le",createdBy:"Créé par",dAddress:"Identifiants décentralisés (DID)",dataStorage:"Stockage sur disque local",delConfirm:"Supprimer",delConfirmDescription:"Confirmer la suppression de {data} ?",delete:"Supprimer",dependents:"Personnes à charge",description:"Description",detail:"Détail",did:"A FAIT",disk:"Disque",diskInfo:"Info disque",docker:"DOCKER est",documentation:"Documentation",domain:"Domaine",downgradeTo:"Rétrograder à",download:"Télécharger",downloading:"Téléchargement",edit:"Modifier",email:"Email",phone:"Téléphone",empty:"Vide",emptyData:"Aucun résultat trouvé",enable:"Activer",engine:"Moteur",env:"Environnement",environment:"Environnement",expandAll:"Tout développer",expired:"Expiré",expires:"Expire",export:"Exporter",externalIp:"IP Externe",failed:"Échec",filter:"Filtre de journal",fingerprint:"Empreinte digitale",finish:"Finir",forbid:"Interdire",free:"Libre",general:"Général",gitpod:"Gitpod EST",goEULA:"Cliquez pour afficher le 'Contrat de licence utilisateur final'",group:"Groupe",image:"C'EST l'image",install:"Installer",installed:"Installé",installedAt:"Installé à",installSuccess:"Installation réussie",installing:"Installation",internalIp:"Adresse IP interne",introduction:"Introduction",invite:"Inviter",inviting:"Invitant",ip:"IP",isPublic:"Public",issue:"Problème",issuer:"Émetteur",item:"Article",joined:"Rejoint",key:"Clé",lastPublishedAt:"Publié le",launcher:"Informations sur le lanceur",leavePageTip:"Êtes-vous sûr de vouloir quitter la page?",link:"Lien",loading:"Chargement",log:"Afficher les journaux",logStorage:"Stockage des journaux",login:"Connexion",logo:"Logo",logout:"Déconnexion",logs:"Journaux",manageTeam:"Gérer l'équipe",marketplace:"Marché",member:"Membre",members:"Membres",memory:"Mémoire",meta:"Métadonnées",analytics:"Analytique",runtime:"Exécution",traffic:"Trafic",more:"Plus",mountPoint:"Point de montagne",name:"Nom",next:"Prochain",no:"Non",noData:"Aucun enregistrement à afficher",notice:"Des choses mauvaises et inattendues arriveront si vous ne lisez pas ça !",noticeTitle:"Avis",notification:"Notification",open:"Ouvrir",management:"Gestion",os:"Système d'exploitation",overview:"Aperçu",owner:"Propriétaire",page404:"Page 404",passport:"Passeport",permission:"Permission",port:"Port",pre:"Précédent",preferences:"Préférences",preview:"Aperçu",protected:"Protégé",protocol:"Protocole",purchase:"Achat",readMore:"Plus",redirect:"Rediriger",redirectCode:"Code de redirection",redirectPermanently:"Redirection permanente",redirectTemporary:"Redirection temporaire",redirectUrl:"Rediriger l'URL",rewrite:"Reformuler",release:"Libération",rewriteUrl:"Réécrire URL",reject:"Rejeter",reload:"Recharger",remark:"Remarque",remove:"Supprimer",removeSuccess:"Supprimé avec succès",renew:"Renouveler",reportIssue:"Signaler un problème",required:"Requis",requiredErrorText:"{name} est requis",resource:"Ressource",restart:"Redémarrer",restore:"Restaurer",retry:"Réessayer",revoke:"Révoquer",role:"Rôle",running:"En train de courir",runtimeInfo:"Informations d'exécution",save:"Enregistrer",saveChanges:"Enregistrer les modifications",saveSuccess:"Enregistré avec succès",scheduleFailed:"Échec de l'agenda",scheduleSuccess:"Planifié avec succès",scope:"Portée",screenshot:"Captures d'écran",search:"Rechercher",security:"Sécurité",serverDid:"Serveur DID",serverVersion:"Version du serveur",setting:"Paramètres",start:"Début",status:"Statut",stop:"Arrêtez",storage:"Stockage",backup:"Sauvegarde",store:"Magasin",succeeded:"Réussi",subscription:"Abonnement",support:"URL d'assistance ou e-mail",switch:"Interrupteur",team:"Équipe",the:"Le",timeAgo:"Il y a {time}",title:"Titre",type:"Type",unavailable:"Indisponible",update:"Mettre à jour",updateAvailable:"Nouvelle version {version} disponible",updatedAt:"Mis à jour le",updatedBy:"Mis à jour par",upgrade:"Mise à niveau",upgradeTo:"Mettre à niveau vers",upgrading:"Mise à niveau",uptime:"Temps de fonctionnement",url:"URL",valid:"Valide",value:"Valeur",version:"Version",visit:"Visite",waiting:"En attente",webhook:"Intégrations",yes:"Oui",invalidParam:"Paramètres non valides",launch:"Lancer",price:"Prix",redirecting:"Redirection",error:"Erreur",reminder:"Rappel",normal:"Normal",gateway:"Passerelle",verifyNFT:"Vérifier NFT",errorMessage:"Message d'erreur",slugifyHint:"Le point de montage réel sera : {value}",strategy:"Stratégie",auto:"Voiture",manual:"Manuel",progress:"En cours",startTime:"Heure de début",endTime:"Heure de fin",timeoutError:"Erreur de délai d'attente",tags:"Étiquettes",connectToStore:"Se connecter au magasin",uploaded:"Téléchargé",upload:"Télécharger",blockletStudio:"Studio",visitStore:"Visiter le magasin",reconnect:"Reconnecter",change:"Changer",disconnect:"Déconnecter",sourceApp:"Appartient à l'application",visitTarget:"Visitez {name}",upgradeServer:"Mettre à niveau le serveur",display:"Affichage",requiredInputPlaceholder:"Veuillez saisir {name}",refresh:"Actualiser",moveUp:"Déplacer vers le haut",moveDown:"Déplacer vers le bas",enabled:"Activé",disabled:"Désactivé",homepage:"Page d'accueil",buy:"Acheter",view:"Voir",homepageTip:"Page d'accueil ou URL de démonstration en direct",repository:"Référentiel",expand:"Développer",collapse:"Réduire",all:"Tous",notificationRecords:"Notifications",unrecordedUser:"Nom non enregistré",unrecordedRole:"Rôle non enregistré",auditLogsSearch:"Rechercher par action ou contenu",optional:"Facultatif",bugOrConnectDomain:"Acheter ou connecter un domaine existant",bugOrConnectDomainTip:"Un nom de domaine est l'adresse unique de votre site web sur internet. Vous pouvez acheter un nouveau domaine auprès de DID Names ou de n'importe quel registrar de domaine, ou configurer un domaine existant que vous possédez déjà.",connectExistingDomain:"Connecter le domaine existant",domains:"Domaines",didDomains:"Domaines DID",manualDomains:"Mes domaines",didDomainsDescription:"Les domaines suivants sont automatiquement gérés par le service DID:Names.",systemDomains:"Système alloué",systemDomainsDescription:"Les domaines suivants sont automatiquement attribués par défaut. Bien qu'ils soient accessibles, ils ne sont pas destinés à une utilisation en production et ne doivent pas être partagés avec les clients. Ces domaines sont principalement destinés au développement.",manualDomainsDescription:"Les domaines suivants sont gérés par votre fournisseur de domaine et ont été configurés manuellement pour pointer ici.",fileCount:"Nombre de fichiers",fileSize:"Taille du fichier",time:"Temps",less:"Moins",timeInfo:"Calendrier",operator:"Opérateur",inviter:"Inviter",clear:"Effacer",ok:"OK",minutes:"Minutes",hours:"Heures",hour:"Heure",days:"Jours",day:"Jour",weeks:"Semaines",months:"Mois",custom:"Personnalisé",environments:"Environnements",sites:"Sites",active:"Actif",backupTime:"Heure de sauvegarde",lastUsedAt:"Dernière utilisation le",expiredAt:"Date d'expiration",createdVia:"Créé via",neverExpired:"Jamais",baseInfo:"Informations de base",otherInfo:"Autres informations",lightMode:"Mode lumière",darkMode:"Mode sombre",advancedConfig:"Avancé",document:"Document",mcpServers:"Serveurs MCP",generate:"Générer",copy:"Copier",copied:"Copié",orgs:"Organisations"},blocklet:{external:"Externe",notFound:"Blocklet non trouvé sur ce serveur, peut-être qu'il a été supprimé",installFromMarket:"Installer de nouveaux blocklets",installFromUrl:"Installer depuis une URL",installFromCreate:"Créer un Blocklet",installFromDiskBackup:"Restaurer à partir de ce serveur",installedAt:"Installé le",internal:"Interne",startedAt:"Débuté à",stoppedAt:"Arrêté à",urlEmptyTip:"Pas d'accès à l'URL",goToAddRule:"Aller à Ajouter",services:"Services exposés",upstreamPort:"Port amont",noService:"Aucun service",appId:"App DID",appPid:"DID permanent",alsoKnownAs:"Également connu sous le nom de",skSource:"Portefeuille du propriétaire",reloadSuccess:"Le Blocklet a été rechargé avec succès",statusTip:"Blocklet est {status}",initialUptime:"Moins d'1m",dashboard:"Tableau de bord Blocklet",noComponent:"L'application n'a pas de composants et ne peut pas être démarrée",fromUrl:{title:"Installer le Blocklet",label:"URL du méta bloc",description:"L'URL doit pointer vers le fichier Meta du Blocklet. Si vous avez besoin de référencer un fichier local, veuillez ajouter le préfixe file://, par exemple file:///Users/foo/blocklet.json.",confirm:"Installer",step0:"URL d'entrée",step1:"Confirmer les informations de méta",existTipPrefix:"Le bloclet avec le même DID existe déjà, la version est",existTipSuffix:"Veuillez installer une version supérieure."},action:{stopDescription:"Arrêter le bloclet rendra ses interfaces publiques inaccessibles, ce qui peut entraîner des échecs pour l'utilisateur final",stopComponentDescription:"Arrêter le composant rendra ses interfaces publiques inaccessibles, ce qui peut causer des échecs pour les utilisateurs finaux.",confirmStop:"Oui, Arrêtez",cancelDownloadDescription:"Annuler le téléchargement de {name} ?",removeApplicationDescription:"La suppression de l'application effacera le code et les données générés par cette application, qui ne pourront pas être récupérés si vous n'avez pas de sauvegardes",removeApplicationAfterBackup:"Sauvegardez et supprimez l'application. Vous pouvez restaurer l'application à partir de ce serveur si vous en avez besoin.",removeApplicationComplete:"Supprimez à la fois le code et les données de cette application",removeComponentDescription:"La suppression du composant effacera le code et les données générées par ce composant, qui ne peuvent pas être récupérés si vous n'avez pas de sauvegardes.",removeComponentKeepData:"Gardez les données pour ce composant, supprimez uniquement le code",removeComponentComplete:"Supprimez à la fois le code et les données de ce composant",confirmRemove:"Oui, supprimez-le",confirmComponentRemove:"Oui, Enlevez-le",upgradeDescription:"La mise à niveau du bloclet le rendra temporairement indisponible, êtes-vous sûr de vouloir continuer ?",confirmUpgrade:"Oui, améliorez-le",confirmRestart:"Oui, redémarrez-le",restartDescription:"Le bloclet sera temporairement suspendu et il se peut qu'il ne démarre pas en raison d'un changement de configuration."},dev:{modeTip:"Veuillez passer le serveur Blocklet en mode DEBUG"},index:{tableTitle:"Gérer vos Blocklets",noBlocklet:"Aucun blocklet trouvé dans ce serveur de blocklets, installez un blocklet depuis la place du marché pour commencer."},config:{name:"Nom de l'application",description:"Description de l'application",logoSquare:"Logo de l'application",logoRect:"Logo du site web",logoRectDesc:"Utilisé dans : en-tête et pied de page du site web, retour à l'icône de l'application si non configuré",logoFavicon:"Favicon",logoFaviconDesc:"Utilisé dans : barre d'adresse et onglet du navigateur, retour au logo de l'application s'il n'est pas configuré",clusterSize:"Nombre d'instances lorsque ce blocklet est exécuté en mode cluster",copyrightOwner:"Propriétaire des droits d'auteur",copyrightYear:"Copyright Année",deletable:{name:"Supprimer la protection",enable:"Ce blocklet ne peut actuellement pas être supprimé",disable:"Ce bloc peut actuellement être supprimé."},walletType:{name:"Type de portefeuille",description:"Type de portefeuille d'instance Blocklet, modifiera le DID dérivé"},languages:"Langues supportées",selectLanguagesTip:"Ajustez l'ordre en supprimant et en ré-ajoutant",languagesSearch:"Rechercher par nom local du pays, nom anglais ou code ISO...",passportColor:"Couleur du passeport",appUrl:"URL de l'application",access:{title:"Qui peut accéder ?",description:"Choisissez comment contrôler l'accès à votre application.",useDefault:"Utiliser les paramètres par défaut",defaultDescription:"Utilisez la configuration par défaut de l'application",whoCanAccess:{all:{title:"Ouvert à tous",description:"Ouvert au monde, n'importe qui peut y accéder sans passeport"},owner:{title:"Accès propriétaire uniquement",description:"Vous devez fournir le passeport du propriétaire pour accéder à cette application"},invited:{title:"Accès sur invitation uniquement",description:"Seuls les membres invités peuvent y accéder."}},publicToStore:"Public sur le magasin",publicInstanceTip:"L'adresse d'accès de ce bloc sera affichée dans le Store (avec votre DID pour accepter les dons)",updatedTip:"Contrôle d'accès modifié"},changedTip:"Configuration mise à jour, veuillez redémarrer le Blocklet",missingRequired:"Configuration requise manquante pour démarrer le blocage",gotoFix:"Allez réparer",environment:{key:"Clé de configuration",value:"Valeur de configuration",keyValueRequired:"La clé de configuration et la valeur doivent être spécifiées",invalidKey:"La clé de configuration ne doit pas commencer par BLOCKLET_ ou COMPONENT_.",deleteForbidden:"Cette configuration est requise et ne doit pas être supprimée",tip:"Les configurations préfixées avec BWA_ ne doivent pas contenir d'informations sensibles car elles seront envoyées au navigateur."},dangerZone:"Zone dangereuse",sharedToAllComponents:"Sera partagé à tous les composants",session:{ttl:"L'utilisateur sera invité à se connecter à nouveau s'ils n'ont aucune activité sur ce site pendant {day} jours.",day:"{day} jour",days:"{day} jours",period:"Durée de validité de la session",profile:"Exigences du profil utilisateur",cacheTtl:"Durée du cache pour les données de session utilisateur (en secondes)",fullNameEnabled:"Demander le nom d'utilisateur à la connexion (activé par défaut)",avatarEnabled:"Demander l'avatar de l'utilisateur à la connexion (activé par défaut)",emailEnabled:"Demander l'e-mail de l'utilisateur lors de la connexion",emailRequireVerified:"Exiger la vérification de l'e-mail de l'utilisateur avant la connexion",emailRequireUnique:"Exiger que l'e-mail de l'utilisateur soit unique pour tous les utilisateurs",phoneEnabled:"Demander le numéro de téléphone de l'utilisateur lors de la connexion (non pris en charge pour le moment)",phoneRequireVerified:"Le numéro de téléphone de l'utilisateur doit être vérifié avant de se connecter",phoneRequireUnique:"Exiger un numéro de téléphone unique pour l'ensemble des utilisateurs",emailTrustOauthProviders:"Faites confiance aux fournisseurs OAuth pour le statut de vérification de l'email",enableDomainBlackList:"Activer la liste noire de domaine de messagerie électronique (rejeter les domaines de messagerie électronique répertoriés)",enableDomainWhiteList:"Activer la liste blanche de domaine d'e-mails (autoriser uniquement les domaines d'e-mails répertoriés à se connecter)",addDomain:"Ajouter une source pour récupérer la liste (au format texte brut, un domaine par ligne)",enableBlacklist:"Activer la révocation du jeton de connexion et du jeton de rafraîchissement",experimentalSettings:"Paramètres expérimentaux"},clearCache:{name:"Gestion du cache",purpose:"Gérez les fichiers mis en cache dans les services de routeur et de blocklet",title:"Confirmer la suppression du cache ?",action:"Effacer le cache",success:"{count} entrées de cache effacées avec succès",description:"Êtes-vous sûr de vouloir effacer les fichiers mis en cache dans le routeur et le service de blocage? Cette opération peut entraîner une légère baisse des performances à court terme."},tenantMode:{name:"Mode multi-locataires",multiple:"Ce bloclet fonctionne en mode locataire multiple, les données doivent être isolées pour chaque locataire",single:"Ce blocklet fonctionne en mode locataire unique, toutes les données sont partagées."},splashPortrait:"Images d'accueil",splashLandscape:"Paysage de projection",splashPortraitDesc:"Affiché au lancement du Blocklet. Format PNG ou JPG, ratio conseillé 9:16 pour le portrait et 16:9 pour le paysage (max. 5 Mo)",rotateSessionKey:{name:"Rotation du sel de session",purpose:"Le sel de session est une valeur aléatoire utilisée pour améliorer la sécurité des jetons de session. Cliquez sur le bouton pour faire pivoter manuellement le sel de session, ce qui contribue à réduire le risque de compromission du jeton de connexion.",title:"Confirmer la rotation du sel de session ?",action:"Faire tourner le sel",success:"Sel de session pivoté avec succès",description:"Êtes-vous sûr de vouloir faire pivoter le sel de session ? Cette opération invalidera tous les jetons d’authentification existants et forcera les utilisateurs à se reconnecter, y compris votre propre jeton d’authentification."},ogImage:"Arrière-plan Open Graph",ogImageDesc:"Utilisé dans : arrière-plan de partage sur les réseaux sociaux",migrate:{button:"Migrer avec DID Wallet",title:"Confirmer le changement de DID",description:"Si vous lancez l'application avec un portefeuille géré par le serveur, vous pouvez changer l'application DID vers votre propre portefeuille.",confirm:"Êtes-vous sûr de vouloir modifier l'identifiant DID de l'application ? Cette opération invalidera toutes les sessions existantes et forcera les utilisateurs à se reconnecter, y compris votre propre session."},vault:{name:"Vault DID",title:"Configurer le coffre-fort",desc:"Utilisez Vault pour ajouter une couche supplémentaire de sécurité aux fonds gérés par ce blocklet",tip:"Entrez l'adresse du coffre pour continuer, vous devez prouver la propriété de l'adresse du coffre avant de pouvoir l'utiliser.",address:"Adresse du coffre",verified:"Le Vault est vérifié",current:"Coffre actuel",error:{invalid:"L'adresse du Vault doit être un DID valide",holder:"L'adresse du coffre-fort doit être un détenteur de jeton valide sur la blockchain ; les adresses de jeton/d'actif/d'usine/de mise ne sont pas prises en charge.",duplicate:"Cette adresse de coffre-fort a déjà été utilisée, veuillez en utiliser une autre.",appDid:"Impossible d'utiliser l'application DID comme adresse de coffre-fort, veuillez en utiliser une autre"},role:"Type de rôle",firstSeen:"Vu pour la première fois",lastSeen:"Vu pour la dernière fois",migratedFrom:"Migré de",migratedTo:"Migré vers",commit:{title:"Vérifiez la propriété du Vault",scan:"Utilisez les méthodes suivantes pour vérifier la propriété du coffre-fort",confirm:"Confirmer avec DID Wallet",success:"Le coffre est configuré avec succès"},approve:{title:"Approuver la modification du coffre-fort",byOwner:"Signer avec le propriétaire du Blocklet pour approuver le changement",byLast:"Signer avec le dernier coffre-fort pour approuver le changement",confirm:"Confirmer avec DID Wallet",success:"Modification du coffre-fort approuvée"}},changeImageTip:"Conseil : Cliquez sur Aperçu de l’image pour la modifier.",baseInfo:"Informations de base",baseInfoDesc:"Les informations de base du site web peuvent être définies ici.",logoSettings:"Information visuelle",logoSettingsDesc:"Créez une image de marque unique, améliorez la reconnaissance et l'attrait visuel du site web dans différents scénarios.",languagesDesc:"Utilisé dans : sélection de la langue du visiteur",nameDesc:"Utilisé dans : en-tête DID Connect, onglet du navigateur, pied de page du site web, métadonnées SEO et métadonnées OpenGraph",descriptionDesc:"Utilisé dans : métadonnées SEO et métadonnées OpenGraph",logoSquareDesc:"Utilisé dans : pied de page de la boîte de dialogue d'authentification utilisateur et liste d'applications <b>DID Wallet</b>",logoDesc:"Taille recommandée : {width} × {height} pixels",splashDesc:`Écran de lancement de l'application ArcSphere (affiché dans <b>ArcSphere</b> si configuré)
1
+ const e={setup:{connect:{title:"Configurer le serveur Blocklet",scan:"Utilisez les méthodes suivantes pour devenir propriétaire de ce serveur",confirm:"Veuillez examiner cette opération sur votre portefeuille DID",success:"Votre compte est connecté à ce serveur"},keyPair:{title:"Dériver KeyPair",scan:"Connectez votre portefeuille DID pour générer une paire de clés pour cette application",confirm:"Veuillez vérifier cette opération sur votre portefeuille DID",success:"Votre paire de clés est stockée en toute sécurité"},verify:{title:"Justificatif de propriété requis",scan:"Connectez votre portefeuille DID pour fournir des justificatifs de propriété",confirm:"Veuillez passer en revue cette opération sur votre portefeuille DID",success:"Votre compte est connecté à ce serveur."},accept:{title:"Accepter les certificats de propriété requis par le serveur",scan:"Connectez votre portefeuille DID pour fournir les justificatifs de propriété",confirm:"Veuillez passer en revue cette opération sur votre portefeuille DID",success:"Votre compte est connecté à ce serveur"},title:"Configurer le serveur de Blocklet",steps:{eula:"Contrat de licence utilisateur final",eulaFooter:"J'ai lu et accepté les termes de l'EULA.",connect:"Connecter le portefeuille DID du propriétaire",verify:"Vérifier la propriété",basicSettings:"Paramètres de base",launchApp:"Lancer l'application",complete:"Complet"},congratulation:"Félicitations ! Votre serveur Blocklet est sécurisé et prêt à être utilisé",redirectButton:"Emmenez-moi au tableau de bord !"},login:{loginTo:"Connectez-vous à",description:"Seul le propriétaire du serveur et les membres approuvés peuvent accéder au tableau de bord",switchDid:{title:"Changer de compte",scan:"Utilisez les méthodes suivantes pour changer de compte",confirm:"Confirmez le changement dans votre portefeuille DID",success:"Changement réussi"},switchSpecifiedDid:{title:"Changer de compte",scan:"Vous devez commuter DID sur {did} pour effectuer les actions suivantes",confirm:"Confirmez le changement dans votre portefeuille DID",success:"Passage réussi"},connect:{title:"Connecter",scan:"Seul le propriétaire du serveur et les membres approuvés peuvent accéder au tableau de bord.",confirm:"Confirmer dans votre compte",success:"Vous êtes connecté avec succès"},verify:{title:"Vérifier l'accès",scan:"Connectez votre DID Wallet pour présenter le passeport du propriétaire ou de l'admin",confirm:"Confirmez dans votre compte",success:"Votre accès est vérifié",abort:"Vérification d'accès annulée",description:"Vous devez fournir le passeport {roles} pour effectuer cette opération, vous ne serez invité à vérifier à nouveau qu'après 1 heure d'inactivité.",descriptionForDestroy:"Vous devez fournir un passeport {roles} pour effectuer cette opération dangereuse afin d'assurer la sécurité."},login:"Connecter",termsOfUse:"Conditions d'utilisation",agreeTermsOfUse:"Je confirme avoir lu et accepté les conditions applicables"},acceptServer:{title:"Revendiquer le serveur avec la propriété NFT",tooltip:"Si vous avez reçu un nft de propriété de serveur, vous pouvez réclamer votre passeport de propriétaire avec ce lien."},exchangePassport:{title:"Échanger le passeport avec NFT",success:"Vous avez réussi à échanger votre passeport et vous êtes connecté avec le passeport",login:"Connexion",dialog:{title:"Obtenez un passeport avec NFT",scan:"Connectez votre portefeuille DID pour présenter votre NFT et obtenir un passeport",confirm:"Sélectionnez NFT dans votre portefeuille DID",success:"Le passeport a été échangé avec succès"},tooltip1:"Si vous possédez un NFT de la collection,",tooltip2:"Vous pouvez échanger votre passeport via ce lien."},payablePassport:{title:"Acheter un passeport avec paiement",tooltip:"Si vous n'avez pas de passeport, vous pouvez en acheter un via ce lien."},sidebar:{dashboard:"Tableau de bord",blocklets:"Blocklets",console:"Console",settings:"Paramètres"},system:{total:"Total",used:"Utilisé",free:"Libre",cores:"Nombre de cœurs",instances:"Nombre d'instances"},common:{invalid:"Invalide",about:"À propos de",access:"Accès",accessKey:"Clés d'accès",action:"Action",actions:"Actions",add:"Ajouter",address:"Adresse",afterTime:"Après {time}",allow:"Permettre",alreadyExist:"Existe déjà",approve:"Approuver",approved:"Approuvé",appUrl:"URL de l'application",auditLogs:"Piste d'audit",author:"Auteur",avatar:"Avatar",back:"Retour",basic:"Basique",basicInfo:"Informations de base",profile:"Profil",bind:"Lier",blocklet:"Blocklet",blocklets:"Blocklets",blockletsStorage:"Stockage de Blocklets",cacheStorage:"Stockage du cache",cancel:"Annuler",certificate:"certificat",category:"Sujet du journal",click:"Cliquez pour copier",close:"Fermer",selectAll:"Sélectionner tout",unselectAll:"Désélectionner tout",collapseAll:"Tout réduire",community:"URL de la communauté",complete:"Compléter",componentBasicInfo:"Informations de base sur le composant",components:"Blocklets",config:"Configurer",configuration:"Configuration",appearance:"Apparence",configNavigation:"Navigation",configSuccess:"Configuration réussie",confirm:"Confirmer",connect:"Connecter",console:"Console",continue:"Continuer",continueWith:"Continuer avec",copiedTip:"Copié",copyAndClose:"Copier et Fermer",copyTip:"Cliquez pour copier",coreStorage:"Stockage principal",cpu:"CPU",create:"Créer",createSuccess:"Créer une clé d'accès",created:"Créé le",createdAt:"Créé le",createdBy:"Créé par",dAddress:"Identifiants décentralisés (DID)",dataStorage:"Stockage sur disque local",delConfirm:"Supprimer",delConfirmDescription:"Confirmer la suppression de {data} ?",delete:"Supprimer",dependents:"Personnes à charge",description:"Description",detail:"Détail",did:"A FAIT",disk:"Disque",diskInfo:"Info disque",docker:"DOCKER est",documentation:"Documentation",domain:"Domaine",downgradeTo:"Rétrograder à",download:"Télécharger",downloading:"Téléchargement",edit:"Modifier",email:"Email",phone:"Téléphone",empty:"Vide",emptyData:"Aucun résultat trouvé",enable:"Activer",engine:"Moteur",env:"Environnement",environment:"Environnement",expandAll:"Tout développer",expired:"Expiré",expires:"Expire",export:"Exporter",externalIp:"IP Externe",failed:"Échec",filter:"Filtre de journal",fingerprint:"Empreinte digitale",finish:"Finir",forbid:"Interdire",free:"Libre",general:"Général",gitpod:"Gitpod EST",goEULA:"Cliquez pour afficher le 'Contrat de licence utilisateur final'",group:"Groupe",image:"C'EST l'image",install:"Installer",installed:"Installé",installedAt:"Installé à",installSuccess:"Installation réussie",installing:"Installation",internalIp:"Adresse IP interne",introduction:"Introduction",invite:"Inviter",inviting:"Invitant",ip:"IP",isPublic:"Public",issue:"Problème",issuer:"Émetteur",item:"Article",joined:"Rejoint",key:"Clé",lastPublishedAt:"Publié le",launcher:"Informations sur le lanceur",leavePageTip:"Êtes-vous sûr de vouloir quitter la page?",link:"Lien",loading:"Chargement",log:"Afficher les journaux",logStorage:"Stockage des journaux",login:"Connexion",logo:"Logo",logout:"Déconnexion",logs:"Journaux",manageTeam:"Gérer l'équipe",marketplace:"Marché",member:"Membre",members:"Membres",memory:"Mémoire",meta:"Métadonnées",analytics:"Analytique",runtime:"Exécution",traffic:"Trafic",more:"Plus",mountPoint:"Point de montagne",name:"Nom",next:"Prochain",no:"Non",noData:"Aucun enregistrement à afficher",notice:"Des choses mauvaises et inattendues arriveront si vous ne lisez pas ça !",noticeTitle:"Avis",notification:"Notification",open:"Ouvrir",management:"Gestion",os:"Système d'exploitation",overview:"Aperçu",owner:"Propriétaire",page404:"Page 404",passport:"Passeport",permission:"Permission",port:"Port",pre:"Précédent",preferences:"Préférences",preview:"Aperçu",protected:"Protégé",protocol:"Protocole",purchase:"Achat",readMore:"Plus",redirect:"Rediriger",redirectCode:"Code de redirection",redirectPermanently:"Redirection permanente",redirectTemporary:"Redirection temporaire",redirectUrl:"Rediriger l'URL",rewrite:"Reformuler",release:"Libération",rewriteUrl:"Réécrire URL",reject:"Rejeter",reload:"Recharger",remark:"Remarque",remove:"Supprimer",removeSuccess:"Supprimé avec succès",renew:"Renouveler",reportIssue:"Signaler un problème",required:"Requis",requiredErrorText:"{name} est requis",resource:"Ressource",restart:"Redémarrer",restore:"Restaurer",retry:"Réessayer",revoke:"Révoquer",role:"Rôle",running:"En train de courir",runtimeInfo:"Informations d'exécution",save:"Enregistrer",saveChanges:"Enregistrer les modifications",saveSuccess:"Enregistré avec succès",scheduleFailed:"Échec de l'agenda",scheduleSuccess:"Planifié avec succès",scope:"Portée",screenshot:"Captures d'écran",search:"Rechercher",security:"Sécurité",serverDid:"Serveur DID",serverVersion:"Version du serveur",setting:"Paramètres",start:"Début",status:"Statut",stop:"Arrêtez",storage:"Stockage",backup:"Sauvegarde",store:"Magasin",succeeded:"Réussi",subscription:"Abonnement",support:"URL d'assistance ou e-mail",switch:"Interrupteur",team:"Équipe",the:"Le",timeAgo:"Il y a {time}",title:"Titre",type:"Type",unavailable:"Indisponible",update:"Mettre à jour",updateAvailable:"Nouvelle version {version} disponible",updatedAt:"Mis à jour le",updatedBy:"Mis à jour par",upgrade:"Mise à niveau",upgradeTo:"Mettre à niveau vers",upgrading:"Mise à niveau",uptime:"Temps de fonctionnement",url:"URL",valid:"Valide",value:"Valeur",version:"Version",visit:"Visite",waiting:"En attente",webhook:"Intégrations",yes:"Oui",invalidParam:"Paramètres non valides",launch:"Lancer",price:"Prix",redirecting:"Redirection",error:"Erreur",reminder:"Rappel",normal:"Normal",gateway:"Passerelle",verifyNFT:"Vérifier NFT",errorMessage:"Message d'erreur",slugifyHint:"Le point de montage réel sera : {value}",strategy:"Stratégie",auto:"Voiture",manual:"Manuel",progress:"En cours",startTime:"Heure de début",endTime:"Heure de fin",timeoutError:"Erreur de délai d'attente",tags:"Étiquettes",connectToStore:"Se connecter au magasin",uploaded:"Téléchargé",upload:"Télécharger",blockletStudio:"Studio",visitStore:"Visiter le magasin",reconnect:"Reconnecter",change:"Changer",disconnect:"Déconnecter",sourceApp:"Appartient à l'application",visitTarget:"Visitez {name}",upgradeServer:"Mettre à niveau le serveur",display:"Affichage",requiredInputPlaceholder:"Veuillez saisir {name}",refresh:"Actualiser",moveUp:"Déplacer vers le haut",moveDown:"Déplacer vers le bas",enabled:"Activé",disabled:"Désactivé",homepage:"Page d'accueil",buy:"Acheter",view:"Voir",homepageTip:"Page d'accueil ou URL de démonstration en direct",repository:"Référentiel",expand:"Développer",collapse:"Réduire",all:"Tous",notificationRecords:"Notifications",unrecordedUser:"Nom non enregistré",unrecordedRole:"Rôle non enregistré",auditLogsSearch:"Rechercher par action ou contenu",optional:"Facultatif",bugOrConnectDomain:"Acheter ou connecter un domaine existant",bugOrConnectDomainTip:"Un nom de domaine est l'adresse unique de votre site web sur internet. Vous pouvez acheter un nouveau domaine auprès de DID Names ou de n'importe quel registrar de domaine, ou configurer un domaine existant que vous possédez déjà.",connectExistingDomain:"Connecter le domaine existant",domains:"Domaines",didDomains:"Domaines DID",manualDomains:"Mes domaines",didDomainsDescription:"Les domaines suivants sont automatiquement gérés par le service DID:Names.",systemDomains:"Système alloué",systemDomainsDescription:"Les domaines suivants sont automatiquement attribués par défaut. Bien qu'ils soient accessibles, ils ne sont pas destinés à une utilisation en production et ne doivent pas être partagés avec les clients. Ces domaines sont principalement destinés au développement.",manualDomainsDescription:"Les domaines suivants sont gérés par votre fournisseur de domaine et ont été configurés manuellement pour pointer ici.",fileCount:"Nombre de fichiers",fileSize:"Taille du fichier",time:"Temps",less:"Moins",timeInfo:"Calendrier",operator:"Opérateur",inviter:"Inviter",clear:"Effacer",ok:"OK",minutes:"Minutes",hours:"Heures",hour:"Heure",days:"Jours",day:"Jour",weeks:"Semaines",months:"Mois",custom:"Personnalisé",environments:"Environnements",sites:"Sites",active:"Actif",backupTime:"Heure de sauvegarde",lastUsedAt:"Dernière utilisation le",expiredAt:"Date d'expiration",createdVia:"Créé via",neverExpired:"Jamais",baseInfo:"Informations de base",otherInfo:"Autres informations",lightMode:"Mode lumière",darkMode:"Mode sombre",advancedConfig:"Avancé",document:"Document",mcpServers:"Serveurs MCP",generate:"Générer",copy:"Copier",copied:"Copié",orgs:"Organisations",userSessions:"Sessions utilisateur"},blocklet:{external:"Externe",notFound:"Blocklet non trouvé sur ce serveur, peut-être qu'il a été supprimé",installFromMarket:"Installer de nouveaux blocklets",installFromUrl:"Installer depuis une URL",installFromCreate:"Créer un Blocklet",installFromDiskBackup:"Restaurer à partir de ce serveur",installedAt:"Installé le",internal:"Interne",startedAt:"Débuté à",stoppedAt:"Arrêté à",urlEmptyTip:"Pas d'accès à l'URL",goToAddRule:"Aller à Ajouter",services:"Services exposés",upstreamPort:"Port amont",noService:"Aucun service",appId:"App DID",appPid:"DID permanent",alsoKnownAs:"Également connu sous le nom de",skSource:"Portefeuille du propriétaire",reloadSuccess:"Le Blocklet a été rechargé avec succès",statusTip:"Blocklet est {status}",initialUptime:"Moins d'1m",dashboard:"Tableau de bord Blocklet",noComponent:"L'application n'a pas de composants et ne peut pas être démarrée",fromUrl:{title:"Installer le Blocklet",label:"URL du méta bloc",description:"L'URL doit pointer vers le fichier Meta du Blocklet. Si vous avez besoin de référencer un fichier local, veuillez ajouter le préfixe file://, par exemple file:///Users/foo/blocklet.json.",confirm:"Installer",step0:"URL d'entrée",step1:"Confirmer les informations de méta",existTipPrefix:"Le bloclet avec le même DID existe déjà, la version est",existTipSuffix:"Veuillez installer une version supérieure."},action:{stopDescription:"Arrêter le bloclet rendra ses interfaces publiques inaccessibles, ce qui peut entraîner des échecs pour l'utilisateur final",stopComponentDescription:"Arrêter le composant rendra ses interfaces publiques inaccessibles, ce qui peut causer des échecs pour les utilisateurs finaux.",confirmStop:"Oui, Arrêtez",cancelDownloadDescription:"Annuler le téléchargement de {name} ?",removeApplicationDescription:"La suppression de l'application effacera le code et les données générés par cette application, qui ne pourront pas être récupérés si vous n'avez pas de sauvegardes",removeApplicationAfterBackup:"Sauvegardez et supprimez l'application. Vous pouvez restaurer l'application à partir de ce serveur si vous en avez besoin.",removeApplicationComplete:"Supprimez à la fois le code et les données de cette application",removeComponentDescription:"La suppression du composant effacera le code et les données générées par ce composant, qui ne peuvent pas être récupérés si vous n'avez pas de sauvegardes.",removeComponentKeepData:"Gardez les données pour ce composant, supprimez uniquement le code",removeComponentComplete:"Supprimez à la fois le code et les données de ce composant",confirmRemove:"Oui, supprimez-le",confirmComponentRemove:"Oui, Enlevez-le",upgradeDescription:"La mise à niveau du bloclet le rendra temporairement indisponible, êtes-vous sûr de vouloir continuer ?",confirmUpgrade:"Oui, améliorez-le",confirmRestart:"Oui, redémarrez-le",restartDescription:"Le bloclet sera temporairement suspendu et il se peut qu'il ne démarre pas en raison d'un changement de configuration."},dev:{modeTip:"Veuillez passer le serveur Blocklet en mode DEBUG"},index:{tableTitle:"Gérer vos Blocklets",noBlocklet:"Aucun blocklet trouvé dans ce serveur de blocklets, installez un blocklet depuis la place du marché pour commencer."},config:{name:"Nom de l'application",description:"Description de l'application",logoSquare:"Logo de l'application",logoRect:"Logo du site web",logoRectDesc:"Utilisé dans : en-tête et pied de page du site web, retour à l'icône de l'application si non configuré",logoFavicon:"Favicon",logoFaviconDesc:"Utilisé dans : barre d'adresse et onglet du navigateur, retour au logo de l'application s'il n'est pas configuré",clusterSize:"Nombre d'instances lorsque ce blocklet est exécuté en mode cluster",copyrightOwner:"Propriétaire des droits d'auteur",copyrightYear:"Copyright Année",deletable:{name:"Supprimer la protection",enable:"Ce blocklet ne peut actuellement pas être supprimé",disable:"Ce bloc peut actuellement être supprimé."},walletType:{name:"Type de portefeuille",description:"Type de portefeuille d'instance Blocklet, modifiera le DID dérivé"},languages:"Langues supportées",selectLanguagesTip:"Ajustez l'ordre en supprimant et en ré-ajoutant",languagesSearch:"Rechercher par nom local du pays, nom anglais ou code ISO...",passportColor:"Couleur du passeport",appUrl:"URL de l'application",access:{title:"Qui peut accéder ?",description:"Choisissez comment contrôler l'accès à votre application.",useDefault:"Utiliser les paramètres par défaut",defaultDescription:"Utilisez la configuration par défaut de l'application",whoCanAccess:{all:{title:"Ouvert à tous",description:"Ouvert au monde, n'importe qui peut y accéder sans passeport"},owner:{title:"Accès propriétaire uniquement",description:"Vous devez fournir le passeport du propriétaire pour accéder à cette application"},invited:{title:"Accès sur invitation uniquement",description:"Seuls les membres invités peuvent y accéder."}},publicToStore:"Public sur le magasin",publicInstanceTip:"L'adresse d'accès de ce bloc sera affichée dans le Store (avec votre DID pour accepter les dons)",updatedTip:"Contrôle d'accès modifié"},changedTip:"Configuration mise à jour, veuillez redémarrer le Blocklet",missingRequired:"Configuration requise manquante pour démarrer le blocage",gotoFix:"Allez réparer",environment:{key:"Clé de configuration",value:"Valeur de configuration",keyValueRequired:"La clé de configuration et la valeur doivent être spécifiées",invalidKey:"La clé de configuration ne doit pas commencer par BLOCKLET_ ou COMPONENT_.",deleteForbidden:"Cette configuration est requise et ne doit pas être supprimée",tip:"Les configurations préfixées avec BWA_ ne doivent pas contenir d'informations sensibles car elles seront envoyées au navigateur."},dangerZone:"Zone dangereuse",sharedToAllComponents:"Sera partagé à tous les composants",session:{ttl:"L'utilisateur sera invité à se connecter à nouveau s'ils n'ont aucune activité sur ce site pendant {day} jours.",day:"{day} jour",days:"{day} jours",period:"Durée de validité de la session",profile:"Exigences du profil utilisateur",cacheTtl:"Durée du cache pour les données de session utilisateur (en secondes)",fullNameEnabled:"Demander le nom d'utilisateur à la connexion (activé par défaut)",avatarEnabled:"Demander l'avatar de l'utilisateur à la connexion (activé par défaut)",emailEnabled:"Demander l'e-mail de l'utilisateur lors de la connexion",emailRequireVerified:"Exiger la vérification de l'e-mail de l'utilisateur avant la connexion",emailRequireUnique:"Exiger que l'e-mail de l'utilisateur soit unique pour tous les utilisateurs",phoneEnabled:"Demander le numéro de téléphone de l'utilisateur lors de la connexion (non pris en charge pour le moment)",phoneRequireVerified:"Le numéro de téléphone de l'utilisateur doit être vérifié avant de se connecter",phoneRequireUnique:"Exiger un numéro de téléphone unique pour l'ensemble des utilisateurs",emailTrustOauthProviders:"Faites confiance aux fournisseurs OAuth pour le statut de vérification de l'email",enableDomainBlackList:"Activer la liste noire de domaine de messagerie électronique (rejeter les domaines de messagerie électronique répertoriés)",enableDomainWhiteList:"Activer la liste blanche de domaine d'e-mails (autoriser uniquement les domaines d'e-mails répertoriés à se connecter)",addDomain:"Ajouter une source pour récupérer la liste (au format texte brut, un domaine par ligne)",enableBlacklist:"Activer la révocation du jeton de connexion et du jeton de rafraîchissement",experimentalSettings:"Paramètres expérimentaux"},clearCache:{name:"Gestion du cache",purpose:"Gérez les fichiers mis en cache dans les services de routeur et de blocklet",title:"Confirmer la suppression du cache ?",action:"Effacer le cache",success:"{count} entrées de cache effacées avec succès",description:"Êtes-vous sûr de vouloir effacer les fichiers mis en cache dans le routeur et le service de blocage? Cette opération peut entraîner une légère baisse des performances à court terme."},tenantMode:{name:"Mode multi-locataires",multiple:"Ce bloclet fonctionne en mode locataire multiple, les données doivent être isolées pour chaque locataire",single:"Ce blocklet fonctionne en mode locataire unique, toutes les données sont partagées."},splashPortrait:"Images d'accueil",splashLandscape:"Paysage de projection",splashPortraitDesc:"Affiché au lancement du Blocklet. Format PNG ou JPG, ratio conseillé 9:16 pour le portrait et 16:9 pour le paysage (max. 5 Mo)",rotateSessionKey:{name:"Rotation du sel de session",purpose:"Le sel de session est une valeur aléatoire utilisée pour améliorer la sécurité des jetons de session. Cliquez sur le bouton pour faire pivoter manuellement le sel de session, ce qui contribue à réduire le risque de compromission du jeton de connexion.",title:"Confirmer la rotation du sel de session ?",action:"Faire tourner le sel",success:"Sel de session pivoté avec succès",description:"Êtes-vous sûr de vouloir faire pivoter le sel de session ? Cette opération invalidera tous les jetons d’authentification existants et forcera les utilisateurs à se reconnecter, y compris votre propre jeton d’authentification."},ogImage:"Arrière-plan Open Graph",ogImageDesc:"Utilisé dans : arrière-plan de partage sur les réseaux sociaux",migrate:{button:"Migrer avec DID Wallet",title:"Confirmer le changement de DID",description:"Si vous lancez l'application avec un portefeuille géré par le serveur, vous pouvez changer l'application DID vers votre propre portefeuille.",confirm:"Êtes-vous sûr de vouloir modifier l'identifiant DID de l'application ? Cette opération invalidera toutes les sessions existantes et forcera les utilisateurs à se reconnecter, y compris votre propre session."},vault:{name:"Vault DID",title:"Configurer le coffre-fort",desc:"Utilisez Vault pour ajouter une couche supplémentaire de sécurité aux fonds gérés par ce blocklet",tip:"Entrez l'adresse du coffre pour continuer, vous devez prouver la propriété de l'adresse du coffre avant de pouvoir l'utiliser.",address:"Adresse du coffre",verified:"Le Vault est vérifié",current:"Coffre actuel",error:{invalid:"L'adresse du Vault doit être un DID valide",holder:"L'adresse du coffre-fort doit être un détenteur de jeton valide sur la blockchain ; les adresses de jeton/d'actif/d'usine/de mise ne sont pas prises en charge.",duplicate:"Cette adresse de coffre-fort a déjà été utilisée, veuillez en utiliser une autre.",appDid:"Impossible d'utiliser l'application DID comme adresse de coffre-fort, veuillez en utiliser une autre"},role:"Type de rôle",firstSeen:"Vu pour la première fois",lastSeen:"Vu pour la dernière fois",migratedFrom:"Migré de",migratedTo:"Migré vers",commit:{title:"Vérifiez la propriété du Vault",scan:"Utilisez les méthodes suivantes pour vérifier la propriété du coffre-fort",confirm:"Confirmer avec DID Wallet",success:"Le coffre est configuré avec succès"},approve:{title:"Approuver la modification du coffre-fort",byOwner:"Signer avec le propriétaire du Blocklet pour approuver le changement",byLast:"Signer avec le dernier coffre-fort pour approuver le changement",confirm:"Confirmer avec DID Wallet",success:"Modification du coffre-fort approuvée"}},changeImageTip:"Conseil : Cliquez sur Aperçu de l’image pour la modifier.",baseInfo:"Informations de base",baseInfoDesc:"Les informations de base du site web peuvent être définies ici.",logoSettings:"Information visuelle",logoSettingsDesc:"Créez une image de marque unique, améliorez la reconnaissance et l'attrait visuel du site web dans différents scénarios.",languagesDesc:"Utilisé dans : sélection de la langue du visiteur",nameDesc:"Utilisé dans : en-tête DID Connect, onglet du navigateur, pied de page du site web, métadonnées SEO et métadonnées OpenGraph",descriptionDesc:"Utilisé dans : métadonnées SEO et métadonnées OpenGraph",logoSquareDesc:"Utilisé dans : pied de page de la boîte de dialogue d'authentification utilisateur et liste d'applications <b>DID Wallet</b>",logoDesc:"Taille recommandée : {width} × {height} pixels",splashDesc:`Écran de lancement de l'application ArcSphere (affiché dans <b>ArcSphere</b> si configuré)
2
2
  Mode portrait :
3
3
  Ratio : 9:16
4
4
  Mode paysage :
@@ -1,4 +1,4 @@
1
- import{j as e,ak as s,a6 as w,a$ as B,bd as N,at as v,W as d}from"./vendor-mui-core-BFPsXaTR.js";import{r as l}from"./vendor-react-Dvs43sk9.js";import{C as I}from"./vendor-utils-OrZFrHBP.js";import{s as $}from"./vendor-ux-CE4sOH7O.js";import{l as L,a as E,v as z}from"./index-3yzleS_1.js";import{W as A}from"./did-address-BQL5Zxlr.js";import{a as D}from"./page-header-gosgJ3fX.js";import{S as F}from"./layout-fFNOz6Xe.js";import{S as P}from"./step-actions-BzwezgI2.js";import{S as m}from"./button-CaqBEwnu.js";import"./vendor-hooks-DmThWyyG.js";import"./lottie-web-4koyQiv_.js";import"./vendor-arcblock-DGOH9a3F.js";import"./content-layout-W7JDm8iO.js";import"./use-mobile-Db5FIl07.js";function R({onNext:n=()=>{},onPrevious:x=()=>{}}){const{locale:u,t}=l.useContext($),{blocklet:a,gas:c,tokenInfo:f,actions:h}=L(),{api:j}=E(),[y,o]=l.useState(!1),{need:p="",current:g="",owe:r=99999,deficiency:k,symbol:b="",endpoint:i}=c||{},{origin:C="/"}=i?new URL(i):{};l.useEffect(()=>{const W=setInterval(()=>{h.refreshFuel()},2e3);return()=>{clearInterval(W)}},[]);const S=()=>{o(!1)};return c?e.jsxs(T,{children:[e.jsx("div",{className:"header",children:e.jsx(D,{title:t("setup.fuel.title"),onClickBack:x})}),e.jsxs(s,{className:"qr-body",children:[e.jsxs(s,{className:"tip",sx:{mb:6},children:[t("setup.fuel.tipStart").replace("slot",""),e.jsx("span",{className:"amount",children:`${p} ${b}`}),t("setup.fuel.tipEnd")]}),e.jsx(s,{sx:{fontSize:16,fontWeight:"fontWeightBold",mb:.5},children:t("setup.fuel.addressTitle")}),e.jsxs(s,{sx:{display:"flex",alignItems:"center"},children:[e.jsx(A,{className:"address",did:a.appDid}),e.jsx(B,{style:{lineHeight:1},target:"_blank",href:I(C,"/explorer/accounts/",a.appDid),underline:"hover",children:e.jsx(N,{className:"icon-launch"})})]}),e.jsx(s,{sx:{my:2},children:e.jsx(m,{color:"primary",onClick:()=>o(!0),disabled:!r,children:t("setup.fuel.fuelApp")})}),e.jsx(z,{popup:!0,open:y,action:"fuel",checkFn:j.get,checkTimeout:10*60*1e3,onSuccess:S,onClose:()=>o(!1),locale:u,messages:{title:t("setup.connect.title"),scan:t("setup.connect.scan"),confirm:t("setup.connect.confirm"),success:t("setup.connect.success")},extraParams:{amount:k,...f,endpoint:i}}),e.jsxs(s,{sx:{display:"flex",color:"text.secondary"},children:[e.jsxs(s,{sx:{display:"flex"},children:[e.jsxs(s,{children:[t("setup.fuel.need"),":"]}),e.jsx(s,{sx:{ml:.5,color:"primary.main",fontWeight:"fontWeightBold"},children:p})]}),e.jsxs(s,{sx:{display:"flex",ml:3},children:[e.jsxs(s,{children:[t("setup.fuel.current"),":"]}),e.jsx(s,{sx:{ml:.5,color:r>0?"error.main":"primary.main",fontWeight:"fontWeightBold"},children:g})]})]})]}),e.jsx(P,{mt:8,children:e.jsx(m,{disabled:r>0,onClick:()=>n(),children:t("setup.next")})})]}):e.jsx(s,{sx:{display:"flex",justifyContent:"center",alignItems:"center",width:"100%"},children:e.jsx(w,{})})}R.propTypes={onNext:d.func,onPrevious:d.func};const T=v(F)`
1
+ import{j as e,ak as s,a6 as w,a$ as B,bd as N,at as v,W as d}from"./vendor-mui-core-CnXrAOs3.js";import{r as l}from"./vendor-react-Dvs43sk9.js";import{C as I}from"./vendor-utils-cJEl_UEd.js";import{p as $}from"./vendor-ux-DtnxszG_.js";import{l as L,a as E,v as z}from"./index-FASRIZyi.js";import{W as A}from"./did-address-CZak4Nzl.js";import{a as D}from"./page-header-DCvzRay5.js";import{S as F}from"./layout-1o45g_uH.js";import{S as P}from"./step-actions-CcUwY5bt.js";import{S as m}from"./button-9InonP1B.js";import"./vendor-hooks-CjESGRlR.js";import"./lottie-web-4koyQiv_.js";import"./vendor-arcblock-DVRwGBYP.js";import"./content-layout-oyz1EqNZ.js";import"./use-mobile-DCNBsOlH.js";function R({onNext:n=()=>{},onPrevious:x=()=>{}}){const{locale:u,t}=l.useContext($),{blocklet:a,gas:c,tokenInfo:f,actions:h}=L(),{api:j}=E(),[y,o]=l.useState(!1),{need:p="",current:g="",owe:r=99999,deficiency:k,symbol:b="",endpoint:i}=c||{},{origin:C="/"}=i?new URL(i):{};l.useEffect(()=>{const W=setInterval(()=>{h.refreshFuel()},2e3);return()=>{clearInterval(W)}},[]);const S=()=>{o(!1)};return c?e.jsxs(T,{children:[e.jsx("div",{className:"header",children:e.jsx(D,{title:t("setup.fuel.title"),onClickBack:x})}),e.jsxs(s,{className:"qr-body",children:[e.jsxs(s,{className:"tip",sx:{mb:6},children:[t("setup.fuel.tipStart").replace("slot",""),e.jsx("span",{className:"amount",children:`${p} ${b}`}),t("setup.fuel.tipEnd")]}),e.jsx(s,{sx:{fontSize:16,fontWeight:"fontWeightBold",mb:.5},children:t("setup.fuel.addressTitle")}),e.jsxs(s,{sx:{display:"flex",alignItems:"center"},children:[e.jsx(A,{className:"address",did:a.appDid}),e.jsx(B,{style:{lineHeight:1},target:"_blank",href:I(C,"/explorer/accounts/",a.appDid),underline:"hover",children:e.jsx(N,{className:"icon-launch"})})]}),e.jsx(s,{sx:{my:2},children:e.jsx(m,{color:"primary",onClick:()=>o(!0),disabled:!r,children:t("setup.fuel.fuelApp")})}),e.jsx(z,{popup:!0,open:y,action:"fuel",checkFn:j.get,checkTimeout:10*60*1e3,onSuccess:S,onClose:()=>o(!1),locale:u,messages:{title:t("setup.connect.title"),scan:t("setup.connect.scan"),confirm:t("setup.connect.confirm"),success:t("setup.connect.success")},extraParams:{amount:k,...f,endpoint:i}}),e.jsxs(s,{sx:{display:"flex",color:"text.secondary"},children:[e.jsxs(s,{sx:{display:"flex"},children:[e.jsxs(s,{children:[t("setup.fuel.need"),":"]}),e.jsx(s,{sx:{ml:.5,color:"primary.main",fontWeight:"fontWeightBold"},children:p})]}),e.jsxs(s,{sx:{display:"flex",ml:3},children:[e.jsxs(s,{children:[t("setup.fuel.current"),":"]}),e.jsx(s,{sx:{ml:.5,color:r>0?"error.main":"primary.main",fontWeight:"fontWeightBold"},children:g})]})]})]}),e.jsx(P,{mt:8,children:e.jsx(m,{disabled:r>0,onClick:()=>n(),children:t("setup.next")})})]}):e.jsx(s,{sx:{display:"flex",justifyContent:"center",alignItems:"center",width:"100%"},children:e.jsx(w,{})})}R.propTypes={onNext:d.func,onPrevious:d.func};const T=v(F)`
2
2
  .qr-body {
3
3
  width: 580px;
4
4
  ${n=>n.theme.breakpoints.down("md")} {
@@ -1 +1 @@
1
- import{D as E,j as e,Q as S,b3 as P,b0 as R,ak as r,T as c,a6 as _}from"./vendor-mui-core-BFPsXaTR.js";import{a as I,Q as L,c as N,t as p,R as T,T as W}from"./index-3yzleS_1.js";import{o as A}from"./vendor-arcblock-DGOH9a3F.js";import{s as D}from"./vendor-ux-CE4sOH7O.js";import{g as U,b as w}from"./vendor-hooks-DmThWyyG.js";import{i as z,r as i,u as F}from"./vendor-react-Dvs43sk9.js";import{K as a}from"./landing-page-CkVnGimh.js";import{C as K}from"./vendor-utils-OrZFrHBP.js";import{u as M}from"./use-window-close-CrHmRyVV.js";import"./lottie-web-4koyQiv_.js";function Z(){const m=z(),l=i.useRef(null),{t:s,locale:d}=i.useContext(D),{api:x,connectApi:f}=I(),[h]=F(),j=E(),k=M(),n=U({ready:!1,success:!1,error:null,invalidSession:!1}),b=()=>{try{const o=new URL(window.location.href);if(o.hash.includes("invalid")){n.invalidSession=!0;return}const u=o.searchParams.get("__connect_url__"),v=T(u);if(!W(v))throw new Error("No token");n.ready=!0}catch{n.invalidSession=!0,m("#invalid",{replace:!0})}};i.useLayoutEffect(()=>b(),[]);const C=w(o=>{n.error=o.message,window.opener?.postMessage({type:"connect-endpoint-message",error:n.error},"*"),m("#invalid",{replace:!0})}),g=w(()=>{window.opener?.postMessage({type:"connect-endpoint-message",success:!0},"*"),n.success=!0}),t=h.get("source")||"Generate Access Key";i.useEffect(()=>{l.current&&n.ready&&f.open({locale:d,containerEl:l.current,action:"gen-access-key",extraParams:{remark:t},checkFn:x.get,saveConnect:!1,forceConnected:!1,className:"connect",popup:!1,baseUrl:window.location.origin,prefix:K(window.location.origin,N.WELLKNOWN_SERVICE_PATH_PREFIX,L),messages:{title:s("connectCli.title"),scan:s("connectCli.scan"),confirm:s("auth.confirm"),success:s("connectCli.success")},onSuccess:g,onError:C},{locale:d})},[f,n.ready,x,C,g,d,s,t]);const y=e.jsx(S,{variant:"outlined",color:"primary",size:"small",startIcon:e.jsx(P,{}),href:"/",style:{borderRadius:4},children:s("connectCli.home")});if(n.invalidSession)return e.jsx(a,{did:window.blocklet?.appPid,standalone:!0,children:e.jsx(p,{style:{backgroundColor:"transparent"},status:"error",title:s("connectCli.invalidSession"),description:s("connectCli.invalidSessionDesc"),extra:y})},"invalid");if(n.error){const o=n.error,u=y;return e.jsx(a,{did:window.blocklet?.appPid,standalone:!0,children:e.jsx(p,{style:{backgroundColor:"transparent"},status:"error",title:s("connectCli.connectionError"),description:o,extra:u})},"error")}return n.success?(h.has("closeOnSuccess")&&k(),e.jsx(a,{did:window.blocklet?.appPid,standalone:!0,children:e.jsx(p,{style:{backgroundColor:"transparent"},status:"info",icon:e.jsx(R,{style:{color:j.palette.success.main,fontSize:72}}),title:s("connectCli.success",{source:t}),description:`${s("connectCli.successDesc",{source:t})} ${s("connectCli.upload")}`})},"success")):n.ready?e.jsx(a,{did:window.blocklet?.appPid,standalone:!0,children:e.jsxs(r,{sx:{maxWidth:"100%",height:"100%"},children:[e.jsxs(r,{sx:{mb:5},children:[e.jsx(c,{variant:"h4",component:"h1",sx:{mb:1,fontWeight:"bold",textAlign:"center"},children:s("connectCli.tips.title")}),e.jsxs(r,{sx:{display:"flex",flexDirection:"column",gap:1,alignItems:"center"},children:[e.jsx(c,{sx:{color:"text.secondary"},children:s("connectCli.tips.item1")}),e.jsx(c,{sx:{color:"text.secondary"},children:s("connectCli.tips.item2")}),e.jsx(c,{sx:{color:"text.secondary"},children:s("connectCli.tips.item3")})]})]}),e.jsx(r,{sx:{display:"inline-block"},ref:l})]})},"ready"):e.jsx(A,{children:e.jsx(_,{})})}export{Z as default};
1
+ import{D as E,j as e,Q as S,b3 as P,b0 as R,ak as r,T as c,a6 as _}from"./vendor-mui-core-CnXrAOs3.js";import{a as I,Q as L,c as N,t as p,R as T,T as W}from"./index-FASRIZyi.js";import{o as A}from"./vendor-arcblock-DVRwGBYP.js";import{p as D}from"./vendor-ux-DtnxszG_.js";import{g as U,b as w}from"./vendor-hooks-CjESGRlR.js";import{i as z,r as i,u as F}from"./vendor-react-Dvs43sk9.js";import{K as a}from"./landing-page-CG20_HOe.js";import{C as K}from"./vendor-utils-cJEl_UEd.js";import{u as M}from"./use-window-close-CYqH6r-n.js";import"./lottie-web-4koyQiv_.js";function Z(){const m=z(),l=i.useRef(null),{t:s,locale:d}=i.useContext(D),{api:x,connectApi:f}=I(),[h]=F(),j=E(),k=M(),n=U({ready:!1,success:!1,error:null,invalidSession:!1}),b=()=>{try{const o=new URL(window.location.href);if(o.hash.includes("invalid")){n.invalidSession=!0;return}const u=o.searchParams.get("__connect_url__"),v=T(u);if(!W(v))throw new Error("No token");n.ready=!0}catch{n.invalidSession=!0,m("#invalid",{replace:!0})}};i.useLayoutEffect(()=>b(),[]);const C=w(o=>{n.error=o.message,window.opener?.postMessage({type:"connect-endpoint-message",error:n.error},"*"),m("#invalid",{replace:!0})}),g=w(()=>{window.opener?.postMessage({type:"connect-endpoint-message",success:!0},"*"),n.success=!0}),t=h.get("source")||"Generate Access Key";i.useEffect(()=>{l.current&&n.ready&&f.open({locale:d,containerEl:l.current,action:"gen-access-key",extraParams:{remark:t},checkFn:x.get,saveConnect:!1,forceConnected:!1,className:"connect",popup:!1,baseUrl:window.location.origin,prefix:K(window.location.origin,N.WELLKNOWN_SERVICE_PATH_PREFIX,L),messages:{title:s("connectCli.title"),scan:s("connectCli.scan"),confirm:s("auth.confirm"),success:s("connectCli.success")},onSuccess:g,onError:C},{locale:d})},[f,n.ready,x,C,g,d,s,t]);const y=e.jsx(S,{variant:"outlined",color:"primary",size:"small",startIcon:e.jsx(P,{}),href:"/",style:{borderRadius:4},children:s("connectCli.home")});if(n.invalidSession)return e.jsx(a,{did:window.blocklet?.appPid,standalone:!0,children:e.jsx(p,{style:{backgroundColor:"transparent"},status:"error",title:s("connectCli.invalidSession"),description:s("connectCli.invalidSessionDesc"),extra:y})},"invalid");if(n.error){const o=n.error,u=y;return e.jsx(a,{did:window.blocklet?.appPid,standalone:!0,children:e.jsx(p,{style:{backgroundColor:"transparent"},status:"error",title:s("connectCli.connectionError"),description:o,extra:u})},"error")}return n.success?(h.has("closeOnSuccess")&&k(),e.jsx(a,{did:window.blocklet?.appPid,standalone:!0,children:e.jsx(p,{style:{backgroundColor:"transparent"},status:"info",icon:e.jsx(R,{style:{color:j.palette.success.main,fontSize:72}}),title:s("connectCli.success",{source:t}),description:`${s("connectCli.successDesc",{source:t})} ${s("connectCli.upload")}`})},"success")):n.ready?e.jsx(a,{did:window.blocklet?.appPid,standalone:!0,children:e.jsxs(r,{sx:{maxWidth:"100%",height:"100%"},children:[e.jsxs(r,{sx:{mb:5},children:[e.jsx(c,{variant:"h4",component:"h1",sx:{mb:1,fontWeight:"bold",textAlign:"center"},children:s("connectCli.tips.title")}),e.jsxs(r,{sx:{display:"flex",flexDirection:"column",gap:1,alignItems:"center"},children:[e.jsx(c,{sx:{color:"text.secondary"},children:s("connectCli.tips.item1")}),e.jsx(c,{sx:{color:"text.secondary"},children:s("connectCli.tips.item2")}),e.jsx(c,{sx:{color:"text.secondary"},children:s("connectCli.tips.item3")})]})]}),e.jsx(r,{sx:{display:"inline-block"},ref:l})]})},"ready"):e.jsx(A,{children:e.jsx(_,{})})}export{Z as default};
@@ -1 +1 @@
1
- import{j as e,ak as a,T as y,a6 as M,b1 as X,Q as O,a$ as Y,D as Z,aX as W,bN as F,b0 as ee}from"./vendor-mui-core-BFPsXaTR.js";import{r as d,i as se,u as ne}from"./vendor-react-Dvs43sk9.js";import{K as te,at as oe,a as re,d as ie,R as $,t as ae,au as ce,c as le}from"./index-3yzleS_1.js";import{n as v,U as ue,C as K}from"./vendor-utils-OrZFrHBP.js";import{g as J,b as p,p as de,q as pe}from"./vendor-hooks-DmThWyyG.js";import{M as H,V as Q,S as he,o as G,O as fe}from"./vendor-ux-CE4sOH7O.js";import{o as xe}from"./vendor-arcblock-DGOH9a3F.js";import{K as ge}from"./landing-page-CkVnGimh.js";import{B as me,o as je,l as ye}from"./index-DeVDiUjo.js";import{u as we}from"./use-window-close-CrHmRyVV.js";import"./lottie-web-4koyQiv_.js";function Ce({requestAppInfo:l,currentAppInfo:w}){return e.jsxs(a,{sx:{textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",gap:2},children:[e.jsxs(a,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:[e.jsx(H,{src:w.appLogo,alt:"Server",width:48,height:48,useProxyFallback:!0}),e.jsxs(a,{sx:{mx:2,display:"flex",alignItems:"center","& .dot":{width:8,height:8,borderRadius:"50%",bgcolor:"grey.500",mx:.5}},children:[e.jsx(a,{className:"dot"}),e.jsx(a,{className:"dot"}),e.jsx(a,{className:"dot"})]}),e.jsx(H,{src:l.appLogo,alt:l.appName,width:48,height:48,useProxyFallback:!0})]}),e.jsxs(y,{sx:{mb:1,fontSize:"1.2rem"},children:["Authorize"," ",e.jsx(a,{component:"span",sx:{color:"primary.main"},children:l.appName})]})]})}const Ae={en:{notThis:"Not you?",useAnother:"Use another account",authorize:"Authorize",connect:"Connect",cancel:"Cancel"},zh:{notThis:"不是这个?",useAnother:"使用其他账户",authorize:"授权",connect:"Connect",cancel:"取消"}};function Se({session:l,requestAppInfo:w,currentAppInfo:z,children:k=null,userInfo:s=void 0,hideSwitchConnect:N=!1,hideAuthorize:t=!1,hideCancel:L=!1,hideButton:_=!1,notThisText:I=void 0,authorizeText:o=void 0,connectText:c=void 0,cancelText:P=void 0,useAnotherText:C=void 0,slotProps:h=void 0,onConnect:R=v,onAuthorize:x=v,onSwitchConnect:T=v,onSwitchPassport:A=v,onCancel:U=v,ref:D,disableAuthorizeButton:b=!1}){const r=J({loading:!1}),{locale:S="en"}=Q()||{},g=p((B,j={})=>he(Ae,B,S,"en",j)),f=p(()=>{r.loading=!1}),E=p(()=>{r.loading=!0,R?.(f)}),q=p(()=>{r.loading=!0,T?.(f)}),n=p(()=>{r.loading=!0,x?.(f)}),i=p(()=>{r.loading=!0,A?.(f)}),u=p(()=>{U?.()});if(d.useImperativeHandle(D,()=>({closeLoading:f})),l.loading||!l.initialized)return e.jsx(xe,{children:e.jsx(M,{})});const m=s??l?.user;return e.jsx(ge,{did:window.blocklet?.appPid,standalone:!0,children:e.jsx(a,{...h?.root,sx:G({width:420,maxWidth:"100%"},h?.root?.sx),children:e.jsx(te,{hideCloseButton:!0,...h?.didConnectContainer,children:e.jsxs(a,{...h?.contentContainer,sx:G({display:"flex",flexDirection:"column",gap:1.5,p:{xs:2,lg:3,xl:4},pt:{xs:3,xl:4},bgcolor:"background.paper"},h?.contentContainer?.sx),children:[e.jsx(Ce,{requestAppInfo:w,currentAppInfo:z}),m?e.jsxs(e.Fragment,{children:[e.jsx(me,{user:m,showDid:!0,cardType:ye.Detailed,infoType:je.Minimal,renderTopRightContent:()=>e.jsx(oe,{user:m,switchPassport:i})}),e.jsx(a,{})]}):null,k,_?null:e.jsxs(e.Fragment,{children:[e.jsx(a,{sx:{border:"1px solid",borderColor:"divider",borderRadius:2,overflow:"hidden",my:1}}),e.jsxs(X,{direction:"row",spacing:2,children:[L?null:e.jsx(O,{color:"inherit",variant:"outlined",size:"large",fullWidth:!0,onClick:u,sx:{color:"grey.500"},children:P||g("cancel")}),m&&!t?e.jsxs(O,{variant:"contained",size:"large",fullWidth:!0,onClick:n,disabled:r.loading||b,children:[r.loading?e.jsx(M,{size:20,sx:{mr:1}}):null,o||g("authorize")]}):e.jsxs(O,{variant:"contained",size:"large",fullWidth:!0,disabled:r.loading||b,onClick:E,children:[r.loading?e.jsx(M,{size:20,sx:{mr:1}}):null,c||g("connect")]})]})]}),N||!m?null:e.jsx(a,{sx:{textAlign:"center"},children:e.jsxs(y,{variant:"body2",sx:{display:"flex",alignItems:"center",justifyContent:"center",gap:1},children:[I||g("notThis")," ",e.jsx(Y,{underline:"hover",onClick:q,sx:{cursor:"pointer"},children:C||g("useAnother")})]})})]})})})})}const ve=K(window.location.origin,le.WELLKNOWN_BLOCKLET_USER_PATH,"settings#user-center-access-key-setting"),V=3e3;function De(){const l=d.useRef(null),[w,z]=d.useState(),[k]=de({targetDate:w}),{session:s}=re(),N=Z(),t=J({ready:!1,success:!1,error:null,invalidSession:!1,token:null}),[L,_]=pe("currentUserInfo",{defaultValue:null}),I=se(),{t:o}=Q(),[c]=ne(),P=we(),[,C]=d.useState(!0),[h,R]=d.useState({appName:c.get("cli")?c.get("appName")??o("aigne.cli"):"",appLogo:c.get("cli")?c.get("appLogo"):""}),x=c.get("required_roles")||"",T=d.useMemo(()=>{const n=x.split(",")||[];if(n.length===0)return n;const i=ue([s.user?.role,(s.user?.passports||[]).map(u=>u.role)].flat().filter(Boolean));return i.length===0?i:n.filter(u=>i.includes(u.toLocaleLowerCase().trim()))},[s.user,x]),A=T.join(","),U=s.user&&x?T.length>0:!0,D=async()=>{C(!0);try{const n=c.get("__url__"),i=n?$(n):null;if(!i){C(!1);return}const u="__blocklet__.js?type=json",B=new URL(i).origin,{data:j}=await ce.get(K(B,u));R({appName:j?.appName,appUrl:j?.appUrl,appLogo:K(j?.appUrl,j?.appLogo)})}catch(n){console.error(n)}finally{C(!1)}};d.useEffect(()=>{s.user&&_(s.user)},[s.user]);const b=()=>{D(),s.user&&_(s.user);try{const n=new URL(window.location.href);if(n.hash.includes("invalid")){t.invalidSession=!0;return}const i=n.searchParams.get("__token__"),u=i?$(i):null;if(!u)throw new Error("No token");t.token=u,t.ready=!0}catch(n){t.invalidSession=!0,t.error=n.message,window.opener?.postMessage({type:"connect-aigne-message",error:n.message},"*"),I("#invalid",{replace:!0})}};d.useLayoutEffect(()=>b(),[]);const r=window.blocklet,S=c.get("source")||"Generate Access Key",g=p(async n=>{try{await ie.post("/access-key/authorize",{source:S,sid:t.token,requiredRoles:A}),t.success=!0,window.opener?.postMessage({type:"connect-aigne-message",success:!0},"*"),c.has("closeOnSuccess")&&(z(Date.now()+V),setTimeout(()=>P(),V))}catch(i){console.error(i)}finally{n()}}),f=p(()=>{s.login()}),E=p(()=>{window.close()});d.useEffect(()=>{s.initialized&&!s.user&&(fe()||f())},[s?.user,s?.initialized,f]),d.useEffect(()=>{s.open||l.current?.closeLoading?.()},[s.open]);const q=()=>t.error?e.jsxs(W,{severity:"error",children:[e.jsx(F,{children:o("aigne.notAuthorized")}),t.error]}):t.success?e.jsx(ae,{style:{backgroundColor:"transparent"},status:"info",icon:e.jsx(ee,{style:{color:N.palette.success.main,fontSize:72}}),title:o("connectCli.success",{source:S}),description:`${o("connectCli.successDesc",{source:S})} ${c.has("closeOnSuccess")?o("connectCli.closeDelay",{seconds:Math.ceil(k/1e3)}):""}`}):e.jsxs(W,{severity:"info",children:[e.jsx(F,{children:o("aigne.connectTo",{appName:r.appName})}),x&&e.jsx(y,{component:"li",variant:"body2",children:A?o("aigne.accessTips.switchPassport",{required_roles:A}):o("aigne.accessTips.switchPassportRequired",{required_roles:x})}),e.jsx(y,{component:"li",variant:"body2",children:o("aigne.accessTips.tips1",{appName:h.appName,accessAppName:r.appName})}),e.jsx(y,{component:"li",variant:"body2",children:o("aigne.accessTips.tips2",{appName:h.appName})}),e.jsx(y,{component:"li",variant:"body2",sx:{"& a":{color:"inherit",textDecoration:"underline"}},dangerouslySetInnerHTML:{__html:o("aigne.accessTips.tips3",{url:ve,accessAppName:r.appName})}})]});return e.jsx(Se,{ref:l,session:s,requestAppInfo:h,currentAppInfo:r,userInfo:L,onAuthorize:g,onConnect:f,onSwitchConnect:s.switchDid,onCancel:E,hideAuthorize:!!t.error,hideSwitchConnect:t.success,hideButton:t.success,authorizeText:o("common.approve"),onSwitchPassport:s.switchDid,slotProps:{root:{sx:{width:500}}},disableAuthorizeButton:!U,children:q()})}export{De as default};
1
+ import{j as e,ak as a,T as y,a6 as M,b1 as X,Q as K,a$ as Y,D as Z,aX as W,bU as F,b0 as ee}from"./vendor-mui-core-CnXrAOs3.js";import{r as d,i as se,u as ne}from"./vendor-react-Dvs43sk9.js";import{K as te,at as oe,a as re,d as ie,R as $,t as ae,au as ce,c as le}from"./index-FASRIZyi.js";import{n as v,U as ue,C as O}from"./vendor-utils-cJEl_UEd.js";import{g as J,b as p,n as de,o as pe}from"./vendor-hooks-CjESGRlR.js";import{M as H,V as Q,I as he,o as G,D as fe}from"./vendor-ux-DtnxszG_.js";import{o as xe}from"./vendor-arcblock-DVRwGBYP.js";import{K as ge}from"./landing-page-CG20_HOe.js";import{B as me,o as je,l as ye}from"./index-SEBP2NIP.js";import{u as we}from"./use-window-close-CYqH6r-n.js";import"./lottie-web-4koyQiv_.js";function Ce({requestAppInfo:l,currentAppInfo:w}){return e.jsxs(a,{sx:{textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",gap:2},children:[e.jsxs(a,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:[e.jsx(H,{src:w.appLogo,alt:"Server",width:48,height:48,useProxyFallback:!0}),e.jsxs(a,{sx:{mx:2,display:"flex",alignItems:"center","& .dot":{width:8,height:8,borderRadius:"50%",bgcolor:"grey.500",mx:.5}},children:[e.jsx(a,{className:"dot"}),e.jsx(a,{className:"dot"}),e.jsx(a,{className:"dot"})]}),e.jsx(H,{src:l.appLogo,alt:l.appName,width:48,height:48,useProxyFallback:!0})]}),e.jsxs(y,{sx:{mb:1,fontSize:"1.2rem"},children:["Authorize"," ",e.jsx(a,{component:"span",sx:{color:"primary.main"},children:l.appName})]})]})}const Ae={en:{notThis:"Not you?",useAnother:"Use another account",authorize:"Authorize",connect:"Connect",cancel:"Cancel"},zh:{notThis:"不是这个?",useAnother:"使用其他账户",authorize:"授权",connect:"Connect",cancel:"取消"}};function Se({session:l,requestAppInfo:w,currentAppInfo:z,children:k=null,userInfo:s=void 0,hideSwitchConnect:N=!1,hideAuthorize:t=!1,hideCancel:L=!1,hideButton:_=!1,notThisText:I=void 0,authorizeText:o=void 0,connectText:c=void 0,cancelText:P=void 0,useAnotherText:C=void 0,slotProps:h=void 0,onConnect:R=v,onAuthorize:x=v,onSwitchConnect:T=v,onSwitchPassport:A=v,onCancel:U=v,ref:D,disableAuthorizeButton:b=!1}){const r=J({loading:!1}),{locale:S="en"}=Q()||{},g=p((B,j={})=>he(Ae,B,S,"en",j)),f=p(()=>{r.loading=!1}),E=p(()=>{r.loading=!0,R?.(f)}),q=p(()=>{r.loading=!0,T?.(f)}),n=p(()=>{r.loading=!0,x?.(f)}),i=p(()=>{r.loading=!0,A?.(f)}),u=p(()=>{U?.()});if(d.useImperativeHandle(D,()=>({closeLoading:f})),l.loading||!l.initialized)return e.jsx(xe,{children:e.jsx(M,{})});const m=s??l?.user;return e.jsx(ge,{did:window.blocklet?.appPid,standalone:!0,children:e.jsx(a,{...h?.root,sx:G({width:420,maxWidth:"100%"},h?.root?.sx),children:e.jsx(te,{hideCloseButton:!0,...h?.didConnectContainer,children:e.jsxs(a,{...h?.contentContainer,sx:G({display:"flex",flexDirection:"column",gap:1.5,p:{xs:2,lg:3,xl:4},pt:{xs:3,xl:4},bgcolor:"background.paper"},h?.contentContainer?.sx),children:[e.jsx(Ce,{requestAppInfo:w,currentAppInfo:z}),m?e.jsxs(e.Fragment,{children:[e.jsx(me,{user:m,showDid:!0,cardType:ye.Detailed,infoType:je.Minimal,renderTopRightContent:()=>e.jsx(oe,{user:m,switchPassport:i})}),e.jsx(a,{})]}):null,k,_?null:e.jsxs(e.Fragment,{children:[e.jsx(a,{sx:{border:"1px solid",borderColor:"divider",borderRadius:2,overflow:"hidden",my:1}}),e.jsxs(X,{direction:"row",spacing:2,children:[L?null:e.jsx(K,{color:"inherit",variant:"outlined",size:"large",fullWidth:!0,onClick:u,sx:{color:"grey.500"},children:P||g("cancel")}),m&&!t?e.jsxs(K,{variant:"contained",size:"large",fullWidth:!0,onClick:n,disabled:r.loading||b,children:[r.loading?e.jsx(M,{size:20,sx:{mr:1}}):null,o||g("authorize")]}):e.jsxs(K,{variant:"contained",size:"large",fullWidth:!0,disabled:r.loading||b,onClick:E,children:[r.loading?e.jsx(M,{size:20,sx:{mr:1}}):null,c||g("connect")]})]})]}),N||!m?null:e.jsx(a,{sx:{textAlign:"center"},children:e.jsxs(y,{variant:"body2",sx:{display:"flex",alignItems:"center",justifyContent:"center",gap:1},children:[I||g("notThis")," ",e.jsx(Y,{underline:"hover",onClick:q,sx:{cursor:"pointer"},children:C||g("useAnother")})]})})]})})})})}const ve=O(window.location.origin,le.WELLKNOWN_BLOCKLET_USER_PATH,"settings#user-center-access-key-setting"),V=3e3;function De(){const l=d.useRef(null),[w,z]=d.useState(),[k]=de({targetDate:w}),{session:s}=re(),N=Z(),t=J({ready:!1,success:!1,error:null,invalidSession:!1,token:null}),[L,_]=pe("currentUserInfo",{defaultValue:null}),I=se(),{t:o}=Q(),[c]=ne(),P=we(),[,C]=d.useState(!0),[h,R]=d.useState({appName:c.get("cli")?c.get("appName")??o("aigne.cli"):"",appLogo:c.get("cli")?c.get("appLogo"):""}),x=c.get("required_roles")||"",T=d.useMemo(()=>{const n=x.split(",")||[];if(n.length===0)return n;const i=ue([s.user?.role,(s.user?.passports||[]).map(u=>u.role)].flat().filter(Boolean));return i.length===0?i:n.filter(u=>i.includes(u.toLocaleLowerCase().trim()))},[s.user,x]),A=T.join(","),U=s.user&&x?T.length>0:!0,D=async()=>{C(!0);try{const n=c.get("__url__"),i=n?$(n):null;if(!i){C(!1);return}const u="__blocklet__.js?type=json",B=new URL(i).origin,{data:j}=await ce.get(O(B,u));R({appName:j?.appName,appUrl:j?.appUrl,appLogo:O(j?.appUrl,j?.appLogo)})}catch(n){console.error(n)}finally{C(!1)}};d.useEffect(()=>{s.user&&_(s.user)},[s.user]);const b=()=>{D(),s.user&&_(s.user);try{const n=new URL(window.location.href);if(n.hash.includes("invalid")){t.invalidSession=!0;return}const i=n.searchParams.get("__token__"),u=i?$(i):null;if(!u)throw new Error("No token");t.token=u,t.ready=!0}catch(n){t.invalidSession=!0,t.error=n.message,window.opener?.postMessage({type:"connect-aigne-message",error:n.message},"*"),I("#invalid",{replace:!0})}};d.useLayoutEffect(()=>b(),[]);const r=window.blocklet,S=c.get("source")||"Generate Access Key",g=p(async n=>{try{await ie.post("/access-key/authorize",{source:S,sid:t.token,requiredRoles:A}),t.success=!0,window.opener?.postMessage({type:"connect-aigne-message",success:!0},"*"),c.has("closeOnSuccess")&&(z(Date.now()+V),setTimeout(()=>P(),V))}catch(i){console.error(i)}finally{n()}}),f=p(()=>{s.login()}),E=p(()=>{window.close()});d.useEffect(()=>{s.initialized&&!s.user&&(fe()||f())},[s?.user,s?.initialized,f]),d.useEffect(()=>{s.open||l.current?.closeLoading?.()},[s.open]);const q=()=>t.error?e.jsxs(W,{severity:"error",children:[e.jsx(F,{children:o("aigne.notAuthorized")}),t.error]}):t.success?e.jsx(ae,{style:{backgroundColor:"transparent"},status:"info",icon:e.jsx(ee,{style:{color:N.palette.success.main,fontSize:72}}),title:o("connectCli.success",{source:S}),description:`${o("connectCli.successDesc",{source:S})} ${c.has("closeOnSuccess")?o("connectCli.closeDelay",{seconds:Math.ceil(k/1e3)}):""}`}):e.jsxs(W,{severity:"info",children:[e.jsx(F,{children:o("aigne.connectTo",{appName:r.appName})}),x&&e.jsx(y,{component:"li",variant:"body2",children:A?o("aigne.accessTips.switchPassport",{required_roles:A}):o("aigne.accessTips.switchPassportRequired",{required_roles:x})}),e.jsx(y,{component:"li",variant:"body2",children:o("aigne.accessTips.tips1",{appName:h.appName,accessAppName:r.appName})}),e.jsx(y,{component:"li",variant:"body2",children:o("aigne.accessTips.tips2",{appName:h.appName})}),e.jsx(y,{component:"li",variant:"body2",sx:{"& a":{color:"inherit",textDecoration:"underline"}},dangerouslySetInnerHTML:{__html:o("aigne.accessTips.tips3",{url:ve,accessAppName:r.appName})}})]});return e.jsx(Se,{ref:l,session:s,requestAppInfo:h,currentAppInfo:r,userInfo:L,onAuthorize:g,onConnect:f,onSwitchConnect:s.switchDid,onCancel:E,hideAuthorize:!!t.error,hideSwitchConnect:t.success,hideButton:t.success,authorizeText:o("common.approve"),onSwitchPassport:s.switchDid,slotProps:{root:{sx:{width:500}}},disableAuthorizeButton:!U,children:q()})}export{De as default};
@@ -0,0 +1 @@
1
+ import{O as t}from"./index-FASRIZyi.js";import{H as e}from"./vendor-ux-DtnxszG_.js";function c(...o){try{return t(...o)}catch(r){throw e.error("Invalid redirect url"),console.error("Invalid redirect url",r),r}}export{c as g};