@abtnode/blocklet-services 1.16.54-beta-20251016-050817-2fc632b8 → 1.16.54-beta-20251017-133309-7d40faa6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/emails/_components/asset.js +7 -2
- package/api/emails/_components/attachments.js +1 -1
- package/dist/assets/{AdapterDayjs-DyE9ImrK.js → AdapterDayjs-T-a0V_gA.js} +1 -1
- package/dist/assets/{Google-ZJmTt04Y.js → Google-BXi1gq6W.js} +1 -1
- package/dist/assets/{access-control-C5AwSG3T.js → access-control-m0S6yUo8.js} +1 -1
- package/dist/assets/{actions-C4-lIUPY.js → actions-C0hEY5iN.js} +1 -1
- package/dist/assets/{add-component-core-CrZWbFmf.js → add-component-core-BksM6C--.js} +17 -17
- package/dist/assets/{add-resource-Brh4F6D2.js → add-resource-CTnW2X8N.js} +1 -1
- package/dist/assets/{addon-DMW6BcQH.js → addon-CPEWVDQ1.js} +1 -1
- package/dist/assets/{advanced-ykwSXzlQ.js → advanced-BQT157yk.js} +2 -2
- package/dist/assets/{aigne-DmDL-WLj.js → aigne-CfRlP6kv.js} +1 -1
- package/dist/assets/api-C7Kyuutl.js +1 -0
- package/dist/assets/{appearance-CwaUUdyp.js → appearance-BddR68-e.js} +1 -1
- package/dist/assets/{ar-Ge3t6oI2.js → ar-BQm9lQ4M.js} +1 -1
- package/dist/assets/{arrow-down.svg-D3B8bxxx.js → arrow-down.svg-UHWRwrOh.js} +1 -1
- package/dist/assets/audit-logs-BzqpNyz0.js +35 -0
- package/dist/assets/{authorize-CmneXxos.js → authorize-D9fC-nXh.js} +1 -1
- package/dist/assets/{base-chart-C_jLgGFD.js → base-chart-CSJD1faI.js} +1 -1
- package/dist/assets/{base32-Cg02gOuu.js → base32-iOXf3Dyk.js} +1 -1
- package/dist/assets/{bind-account-B_UMGXib.js → bind-account-DhXOE_rG.js} +1 -1
- package/dist/assets/branding-BQslHJ3k.js +1 -0
- package/dist/assets/{branding-DETOdgiW.js → branding-B_hljukd.js} +1 -1
- package/dist/assets/{branding-B_eCdYJK.js → branding-PrRXFhYD.js} +3 -3
- package/dist/assets/{bundle-avatar-BFaxogKz.js → bundle-avatar-B6pd4JA-.js} +1 -1
- package/dist/assets/button-2y9b8ibp.js +1 -0
- package/dist/assets/{click-to-copy-CK42VmRr.js → click-to-copy-PW3ieO34.js} +1 -1
- package/dist/assets/{cloneDeep-gpb_g13N.js → cloneDeep-D3tVGEyF.js} +1 -1
- package/dist/assets/{collapse-D7GlSZQp.js → collapse-Cc8IqFzl.js} +1 -1
- package/dist/assets/{complete-Bqi3d0V1.js → complete-BpTFnpTf.js} +2 -2
- package/dist/assets/{component-CSPqPsOF.js → component-abZy96kt.js} +2 -2
- package/dist/assets/{config-CPdtVTio.js → config-B-efbAjK.js} +1 -1
- package/dist/assets/{config-BWSyA18z.js → config-CBb_1lBq.js} +5 -5
- package/dist/assets/{config-BHZS65kz.js → config-CRxkGlLw.js} +1 -1
- package/dist/assets/{config-navigation-BFsrGucq.js → config-navigation-V-jkhCe0.js} +3 -3
- package/dist/assets/{config-space-CSl6D7xo.js → config-space-uoEgpVj0.js} +1 -1
- package/dist/assets/{confirm-CEAKWDZJ.js → confirm-2zLPRflS.js} +1 -1
- package/dist/assets/{connect-FvriLilq.js → connect-Bg2fkKdJ.js} +1 -1
- package/dist/assets/{connect-BVXqic92.js → connect-CR6YXL6l.js} +1 -1
- package/dist/assets/{connect-to-dZwJX0bt.js → connect-to-DVzVPrNg.js} +1 -1
- package/dist/assets/{content-layout-W7JDm8iO.js → content-layout-DJL10aJT.js} +1 -1
- package/dist/assets/{create-passport-svg-BsR3hKFq.js → create-passport-svg-G2i9OoEB.js} +1 -1
- package/dist/assets/{createClass-B4I2IV47.js → createClass-Bf8maCzZ.js} +1 -1
- package/dist/assets/{dashboard-DyYLnek8.js → dashboard-DvbW_coF.js} +2 -2
- package/dist/assets/{de-CbARTvf4.js → de-D0uPENSq.js} +1 -1
- package/dist/assets/{delete-confirm-DpKJ9gtf.js → delete-confirm-tJr-kQGY.js} +1 -1
- package/dist/assets/{did-address-BQL5Zxlr.js → did-address-yNLicvuz.js} +1 -1
- package/dist/assets/{domain-action-card-CRdL2PFv.js → domain-action-card-oKAg2vcg.js} +2 -2
- package/dist/assets/{domain-Bq75ZuOm.js → domain-orOrS-66.js} +1 -1
- package/dist/assets/domains-CIKaHlMa.js +1 -0
- package/dist/assets/{email-OlQWpbtF.js → email-Bw5lhga1.js} +1 -1
- package/dist/assets/{empty-spinner-sNq-0DF5.js → empty-spinner-Dqkt-AHg.js} +1 -1
- package/dist/assets/engine-DrB5N6Vq.js +1 -0
- package/dist/assets/{es-CaCbzATO.js → es-Dh4_UfCu.js} +1 -1
- package/dist/assets/{exchange-passport-DK4-g9my.js → exchange-passport-D5N7TuyP.js} +1 -1
- package/dist/assets/{form-C5dLovtO.js → form-D9ZwMxUQ.js} +1 -1
- package/dist/assets/{form-text-input-AIMlcRaM.js → form-text-input-BdGN_cNn.js} +1 -1
- package/dist/assets/{form-wrapper-DINLdpTN.js → form-wrapper-SZH1FnTd.js} +1 -1
- package/dist/assets/{fr-B3yjKUFH.js → fr-CzZWQkiT.js} +1 -1
- package/dist/assets/{fuel-DkqmEB8D.js → fuel-DRu4UcZ3.js} +1 -1
- package/dist/assets/{gen-access-key-BnCg2Wu1.js → gen-access-key-Cg1WeFbg.js} +1 -1
- package/dist/assets/{gen-simple-access-key-zOQbFtZ8.js → gen-simple-access-key-DPQLOBVf.js} +1 -1
- package/dist/assets/get-safe-url-BEmXir96.js +1 -0
- package/dist/assets/{hi-q4mhHiIl.js → hi-Do9VCuRi.js} +1 -1
- package/dist/assets/{home-DTXdAvXT.js → home-drsp3cTN.js} +1 -1
- package/dist/assets/{id-DTf7aVH8.js → id-Dhhrveu9.js} +1 -1
- package/dist/assets/{iframe-DAoobOBi.js → iframe-D7RMzvnk.js} +1 -1
- package/dist/assets/{index-DHQkab_n.js → index--FkaQ0Dk.js} +1 -1
- package/dist/assets/index--OvsXAyb.js +1 -0
- package/dist/assets/{index-DNGdj2R4.js → index-4_vQ0fa1.js} +4 -4
- package/dist/assets/{index-IGBGBXd_.js → index-B31Z5yXU.js} +1 -1
- package/dist/assets/index-B486VukG.js +1 -0
- package/dist/assets/{index-DeVDiUjo.js → index-B80ObPIt.js} +1 -1
- package/dist/assets/index-BJkTWRHF.js +281 -0
- package/dist/assets/{index-D_vhPpT2.js → index-BMkkWtK-.js} +1 -1
- package/dist/assets/index-BPz1W1F5.js +7 -0
- package/dist/assets/{index-D6Y3sCzN.js → index-BTb5QwNU.js} +2 -2
- package/dist/assets/{index-BJrVQ6ch.js → index-B_9ypeKS.js} +1 -1
- package/dist/assets/{index-3yzleS_1.js → index-BnPTSmJZ.js} +87 -87
- package/dist/assets/index-Bv1DYw0_.js +55 -0
- package/dist/assets/{index-D1thq8eN.js → index-BwxEDC7M.js} +6 -6
- package/dist/assets/{index-VySXxf4w.js → index-CAMegfIe.js} +1 -1
- package/dist/assets/{index-ve-p7nSZ.js → index-CMOR5eza.js} +5 -5
- package/dist/assets/index-CR7OYm8K.js +120 -0
- package/dist/assets/{index-KpZGUssm.js → index-CXs5RZ6g.js} +1 -1
- package/dist/assets/{index-Bgt2qHLn.js → index-CcoIHAI8.js} +4 -4
- package/dist/assets/{index-Cd_Gml9C.js → index-CjUY4wYp.js} +1 -1
- package/dist/assets/{index-DJj8GmQS.js → index-Cs8-XzFL.js} +1 -1
- package/dist/assets/{index-BcGECSaf.js → index-D0c5zNE-.js} +1 -1
- package/dist/assets/{index-C80JxCSn.js → index-D5jPhzpV.js} +1 -1
- package/dist/assets/{index-Cs_I9KFa.js → index-DC4JoVqO.js} +1 -1
- package/dist/assets/{index-DlRa8Zeh.js → index-DD8Xcc3x.js} +1 -1
- package/dist/assets/index-DJgF8q_o.js +124 -0
- package/dist/assets/{index-B6a6aopU.js → index-DJhcYi8s.js} +11 -11
- package/dist/assets/{index-DX3L95vz.js → index-DKuLdlGi.js} +1 -1
- package/dist/assets/{index-rQAVknkX.js → index-DVsdJqbi.js} +1 -1
- package/dist/assets/{index-Cr5RxnHu.js → index-DacQww-t.js} +1 -1
- package/dist/assets/{index-iOD1kOar.js → index-DdeHXxqD.js} +4 -4
- package/dist/assets/{index-BdHbrnpK.js → index-Dj7hvho1.js} +1 -1
- package/dist/assets/{index-D_HqsEfj.js → index-Dz7IF3dR.js} +1 -1
- package/dist/assets/{index-DFceGCP0.js → index-Z2OlxmBy.js} +1 -1
- package/dist/assets/{invitation-P1aXUnIO.js → invitation-dxOWwXhI.js} +1 -1
- package/dist/assets/{invitations-dPkgiFPr.js → invitations-fxhgBZ7v.js} +1 -1
- package/dist/assets/{invite-Bz99qCDF.js → invite-BUfTFpm3.js} +1 -1
- package/dist/assets/{isURL-DYsELTMk.js → isURL-BWdci4BV.js} +2 -2
- package/dist/assets/{issue-passport-DPyxNFLD.js → issue-passport-CGjo4nFE.js} +1 -1
- package/dist/assets/{item-B1UaStjk.js → item-CpRxSfFl.js} +1 -1
- package/dist/assets/{ja-Csh_XwzF.js → ja-B70UYq5X.js} +1 -1
- package/dist/assets/{ko-xiNTwgO9.js → ko-C7TZwmXC.js} +1 -1
- package/dist/assets/{landing-page-CkVnGimh.js → landing-page-BeMOLJet.js} +1 -1
- package/dist/assets/{launch-result-message-Dt-T7zmz.js → launch-result-message-DZJ76kCs.js} +1 -1
- package/dist/assets/{layout-fFNOz6Xe.js → layout-DSuoHJe3.js} +1 -1
- package/dist/assets/list-DA_a9DhC.js +103 -0
- package/dist/assets/list-gCQikTBu.js +2 -0
- package/dist/assets/{list-header-CjohGZ9B.js → list-header-BNFs7V0b.js} +1 -1
- package/dist/assets/localization-NenbMmXN.js +1 -0
- package/dist/assets/{log-lPrpnnPZ.js → log-BRV1BCFu.js} +1 -1
- package/dist/assets/logger-CHXN98LU.js +1 -0
- package/dist/assets/{login-63olb_gZ.js → login-DP97VuHR.js} +1 -1
- package/dist/assets/{login-oauth-callback-DebmT1Db.js → login-oauth-callback-C2DR5bOf.js} +1 -1
- package/dist/assets/{logo-uploader-3OpHGD1n.js → logo-uploader-BNfVMS9b.js} +1 -1
- package/dist/assets/{lost-passport-xCmWuuxC.js → lost-passport-BdOj7Qyw.js} +3 -3
- package/dist/assets/{observability-B458LeIE.js → observability-BjKI3tFt.js} +1 -1
- package/dist/assets/{omit-DdfLLBNW.js → omit-CxhCIYKY.js} +1 -1
- package/dist/assets/{open-window-CzYfI7l7.js → open-window-Dm9n80Az.js} +1 -1
- package/dist/assets/{over-due-invoice-payment-C5fynimj.js → over-due-invoice-payment-Cg-G2W1o.js} +1 -1
- package/dist/assets/{overview-BFzvEbcq.js → overview-BFV7mugn.js} +2 -2
- package/dist/assets/{page-header-gosgJ3fX.js → page-header-xpG0yfsa.js} +1 -1
- package/dist/assets/passport-CQWKOko9.js +1 -0
- package/dist/assets/passport-item-ZjtfZLBd.js +1 -0
- package/dist/assets/{permission-UeJPGiMm.js → permission-BZsLoL-d.js} +1 -1
- package/dist/assets/{playground-_1Dj8J_h.js → playground-DKMlueFr.js} +1 -1
- package/dist/assets/preferences-C5BaFHlg.js +1 -0
- package/dist/assets/profile-embed-HIW9YGAc.js +1 -0
- package/dist/assets/{pt-BvcG4R7B.js → pt-DObJ_ADK.js} +1 -1
- package/dist/assets/publish-resource-CG--uFPX.js +1 -0
- package/dist/assets/{react-beautiful-dnd.esm-CIwtis6a.js → react-beautiful-dnd.esm-DG8qQeEC.js} +1 -1
- package/dist/assets/{react-stripe.esm-omsK4b05.js → react-stripe.esm-BV6kfV2w.js} +1 -1
- package/dist/assets/{required-BPzIdi1N.js → required-C9DLcn9T.js} +1 -1
- package/dist/assets/revoke.svg-CmffMlcP.js +1 -0
- package/dist/assets/{ru-DzUPRLmr.js → ru-nYDmEUmY.js} +1 -1
- package/dist/assets/{runtime-iwxdTEke.js → runtime-tvucPK2o.js} +1 -1
- package/dist/assets/{sanitize-CEXE1rEu.js → sanitize-m8Fu6XGD.js} +1 -1
- package/dist/assets/sdk-BGPH_Nn6.js +1 -0
- package/dist/assets/{section-DOw43pby.js → section-MSasF4Cx.js} +1 -1
- package/dist/assets/{security-D4Sx6wQO.js → security-DTZHnwsj.js} +6 -6
- package/dist/assets/{session-Dnp_ufkx.js → session-ByI8mrad.js} +1 -1
- package/dist/assets/{setup-DpBiTcjv.js → setup-BUodqoBL.js} +1 -1
- package/dist/assets/{shorten-label-C-X_7vr2.js → shorten-label-dRmYvYJ7.js} +1 -1
- package/dist/assets/simple-select-C-ApYkD4.js +1 -0
- package/dist/assets/{spaces-Bu7-7u79.js → spaces-Bqe6pnFj.js} +1 -1
- package/dist/assets/{start-B1qawsPb.js → start-DCOjCV4F.js} +1 -1
- package/dist/assets/{starting-progress-BfM3wNuj.js → starting-progress-_tZGZM6B.js} +1 -1
- package/dist/assets/{status-LEG00uGL.js → status-DAIZaCUT.js} +1 -1
- package/dist/assets/{step-actions-BzwezgI2.js → step-actions-D_gKO0Cw.js} +1 -1
- package/dist/assets/{studio-Bk9PCaeS.js → studio-DCdXmXUq.js} +1 -1
- package/dist/assets/{switch-control-CRxlGq2g.js → switch-control-Ddqhf44I.js} +1 -1
- package/dist/assets/{table-tips-BMq3WO_p.js → table-tips-BUZ1mtAq.js} +1 -1
- package/dist/assets/{team-DmYSbFMF.js → team-CeANUXFV.js} +7 -7
- package/dist/assets/{th-BmW1qKpZ.js → th-DMcUw_9_.js} +1 -1
- package/dist/assets/{traffic-CzxoP9Vj.js → traffic-CVF4T2v4.js} +1 -1
- package/dist/assets/{transfer-CUe_bnhh.js → transfer-B4X6jlUA.js} +1 -1
- package/dist/assets/ua-parser-DP5omx3I.js +1 -0
- package/dist/assets/{unsubscribe-5Z1xcJ3T.js → unsubscribe-xvziXmXe.js} +1 -1
- package/dist/assets/{use-app-logo-0uziDh86.js → use-app-logo-Cp60-jm5.js} +1 -1
- package/dist/assets/{use-mobile-DLnLSQQq.js → use-mobile-Bjbo_Gou.js} +1 -1
- package/dist/assets/{use-mobile-Db5FIl07.js → use-mobile-CjZIGfWP.js} +1 -1
- package/dist/assets/{use-server-logo-CFlVReBS.js → use-server-logo-uMEEt675.js} +1 -1
- package/dist/assets/{use-window-close-CrHmRyVV.js → use-window-close-Coe8kRfa.js} +1 -1
- package/dist/assets/{useAsync-1_z8P8M4.js → useAsync-B9mMAdx5.js} +1 -1
- package/dist/assets/{useAsync-BKYfrNw7.js → useAsync-tu8lmT7w.js} +1 -1
- package/dist/assets/{useAsyncRetry-Dyo5t1bq.js → useAsyncRetry-n96jNDlD.js} +1 -1
- package/dist/assets/{useLocalStorage-Be_1V0gr.js → useLocalStorage-CPNhajTc.js} +1 -1
- package/dist/assets/user-center-CdyILvwP.js +126 -0
- package/dist/assets/user-follower-Brdja1Pl.js +32 -0
- package/dist/assets/{util-DXaZWduO.js → util-cUwto1hL.js} +1 -1
- package/dist/assets/{util-CQfGbjyT.js → util-d0fh6S9R.js} +1 -1
- package/dist/assets/{vendor-arcblock-DGOH9a3F.js → vendor-arcblock-BzYItNIN.js} +1 -1
- package/dist/assets/{vendor-hooks-DmThWyyG.js → vendor-hooks-tpeT8a0P.js} +2 -2
- package/dist/assets/{vendor-mui-core-BFPsXaTR.js → vendor-mui-core-BPcN1m8_.js} +1 -1
- package/dist/assets/{vendor-mui-x-C6iZOJbV.js → vendor-mui-x-DEgOZXst.js} +1 -1
- package/dist/assets/{vendor-utils-OrZFrHBP.js → vendor-utils-COYaMdo5.js} +1 -1
- package/dist/assets/{vendor-ux-CE4sOH7O.js → vendor-ux-D_B1Y7iC.js} +126 -133
- package/dist/assets/{vi-BPU54RQW.js → vi-B73oWQBC.js} +1 -1
- package/dist/assets/{wait-connect-Rle27g9O.js → wait-connect-B4jNvmkx.js} +1 -1
- package/dist/assets/{wizard-CewJTR0V.js → wizard-BZNmVb4z.js} +1 -1
- package/dist/assets/{wizard-components-B4yvBYZF.js → wizard-components-C5WSLWm-.js} +1 -1
- package/dist/assets/wrap-locale-CsR2MOap.js +1 -0
- package/dist/assets/{zh-Bg-a-bz5.js → zh-BsfsxdYb.js} +1 -1
- package/dist/assets/{zh-WrFfMVyM.js → zh-DCABA61W.js} +1 -1
- package/dist/assets/{zh-tw-DjWFpq-W.js → zh-tw-M_0Y4wmR.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/service-worker.js +1 -1
- package/package.json +34 -34
- package/dist/assets/api-txzyyizM.js +0 -1
- package/dist/assets/audit-logs-eJR1v94e.js +0 -35
- package/dist/assets/branding-CHRz3wuZ.js +0 -1
- package/dist/assets/button-CaqBEwnu.js +0 -1
- package/dist/assets/domains-BiIZZN7p.js +0 -1
- package/dist/assets/engine-B1U2TY7M.js +0 -1
- package/dist/assets/get-safe-url-3Xj-tgXY.js +0 -1
- package/dist/assets/index-CDCcuLh3.js +0 -7
- package/dist/assets/index-CZp06HHE.js +0 -281
- package/dist/assets/index-D9QTZSnh.js +0 -1
- package/dist/assets/index-D_s4QOu7.js +0 -1
- package/dist/assets/index-Dfmjh5-5.js +0 -124
- package/dist/assets/index-LeqLm9hN.js +0 -55
- package/dist/assets/index-RD-gFG7U.js +0 -113
- package/dist/assets/list-C-9EwvIL.js +0 -2
- package/dist/assets/list-CX2Q1hbc.js +0 -103
- package/dist/assets/localization-DQioZq4I.js +0 -1
- package/dist/assets/logger-DkBs7Soy.js +0 -1
- package/dist/assets/passport-BLmrTDdo.js +0 -1
- package/dist/assets/passport-item-CBB6usyJ.js +0 -1
- package/dist/assets/preferences-Da8NATLw.js +0 -1
- package/dist/assets/profile-embed-9LLnCulK.js +0 -1
- package/dist/assets/publish-resource-Chyv1Trw.js +0 -1
- package/dist/assets/sdk-D4xzRwM9.js +0 -1
- package/dist/assets/simple-select-Bg4XC1E_.js +0 -1
- package/dist/assets/user-center-u6FpYGow.js +0 -126
- package/dist/assets/user-follower-CyGK-1so.js +0 -32
- package/dist/assets/user-sessions-4qrRIOb8.js +0 -1
- package/dist/assets/wrap-locale-qW2Nj5Kt.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{D as q,j as o,ak as u,J as Z,a6 as ee,ae as ne,Q as oe}from"./vendor-mui-core-
|
|
1
|
+
import{D as q,j as o,ak as u,J as Z,a6 as ee,ae as ne,Q as oe}from"./vendor-mui-core-BPcN1m8_.js";import{i as se,u as te,r as L,L as re}from"./vendor-react-Dvs43sk9.js";import{a as ae,a7 as ce,R as ie,c as le,ae as S,H as E,af as U,Y as de,g as pe}from"./index-BnPTSmJZ.js";import{a as me,b as k,h as ue,m as fe}from"./vendor-hooks-tpeT8a0P.js";import{o as ge}from"./vendor-arcblock-BzYItNIN.js";import{V as he,u as we,F as ke,H as x}from"./vendor-ux-D_B1Y7iC.js";import{u as xe}from"./use-passport-id-B-b-_oYF.js";import{b as ve,c as _e,J as be,C as Te,A as Ce,O as Ie,P as ye}from"./vendor-utils-COYaMdo5.js";import{g as j}from"./get-safe-url-BEmXir96.js";import{K as Pe}from"./landing-page-BeMOLJet.js";import{d}from"./logger-CHXN98LU.js";import"./lottie-web-4koyQiv_.js";const De={primary:{light:"#51A2FF"}},R="authorization_response",Le=pe(),Se="blocklet:onLogin",f=new BroadcastChannel(Se);function ze(){const{getPassportId:M}=xe(),{session:N,connectApi:O}=ae(),{t:a,locale:A}=he(),F=se(),[i]=te(),{encrypt:B}=ce(),H=q(),v=we();let p={};try{p=JSON.parse(decodeURIComponent(ie(i.get("params"))))}catch(n){console.error("parse connect params failed",n)}ve(i.get("popup"));const{action:m="login",passkeyBehavior:J="both",extraParams:l={},messages:W,...g}=p;L.useEffect(()=>{l.inviter&&window.localStorage.setItem("inviter",l.inviter)},[l.inviter]);const c=i.get("redirect"),_=i.get("opener"),h=i.get("_ek_");l.passportId=M(),m==="login"&&_e(g.forceConnected)&&(g.forceConnected=!1);const w=n=>h?B(JSON.stringify(n),h):n,b=L.useMemo(()=>c||!window.opener?"redirect":"popup",[c]),T=async n=>{const e=await Le.federated.getTrustedDomains();if(!_){e.forEach(s=>{window.opener.postMessage(n,Ie(s)),window.opener.postMessage(n,ye(s))});return}const t=new URL(_);if(!e.includes(t.hostname))throw x.error(a("login.invalidOpenerUrl")),new Error("Invalid login caller");window.opener.postMessage(n,t.origin)},C=({encrypted:n=!0,...e},t,s)=>{d("connect page onSuccess",{encrypted:n,result:e,options:s}),n&&(e.sessionToken&&(e.sessionToken=t(e.sessionToken)),e.refreshToken&&(e.refreshToken=t(e.refreshToken)),e.visitorId&&(e.visitorId=t(e.visitorId)),d("connect page onSuccess decrypt",{result:e})),e.visitorId&&localStorage.setItem("__visitor_id",e.visitorId);const P={type:R,response:e,options:s};({redirect:()=>{d("connect page onSuccess redirect",e),setTimeout(()=>{if(U(),c){const D=decodeURIComponent(c),r=S(D);h&&r.searchParams.set("encrypted",!0),e.sessionToken&&r.searchParams.set("sessionToken",w(e.sessionToken)),e.refreshToken&&r.searchParams.set("refreshToken",w(e.refreshToken)),e.visitorId&&r.searchParams.set("visitorId",w(e.visitorId)),s?.connected_did&&r.searchParams.set("connected_did",s.connected_did),s?.connected_pk&&r.searchParams.set("connected_pk",s.connected_pk),s?.connected_app&&r.searchParams.set("connected_app",s.connected_app),s?.connected_wallet_os&&r.searchParams.set("connected_wallet_os",s.connected_wallet_os),s?.saveConnect&&r.searchParams.set("saveConnect",s.saveConnect),f.postMessage({...Ce(e,["sessionToken","refreshToken","visitorId"])}),de(D)?window.location.replace(j(r.href,{allowDomains:null})):F(`${r.pathname}${r.search}`,{replace:!0})}else window.location.replace(window.env.pathPrefix||"/")},3e3)},popup:async()=>{d("connect page onSuccess popup",P),await T(P),U(),setTimeout(()=>{window.open("about:blank","_self"),window.close()},2e3)}})[b]()},z=n=>{const e={type:R,error:n.message,errorDescription:n.message};d("connect page onError",{res:e}),{redirect:()=>{x.error(n.message)},popup:()=>{T(e)}}[b]()},K=me(()=>{if(m!=="login")return null;const n=window.blocklet?.trustedFactories||[];return n?.length>0?o.jsxs(u,{children:[a("exchangePassport.tooltip1"),o.jsx(u,{component:re,reloadDocument:!0,to:be(Te(le.WELLKNOWN_SERVICE_PATH_PREFIX,"/exchange-passport"),{redirect:c||"/"}),sx:{color:De.primary.light,"&:hover":{textDecoration:"underline dashed"}},children:a("exchangePassport.tooltip2")},"exchange-passport"),o.jsx(u,{component:"ul",sx:{pl:1.5},children:n.map(e=>o.jsx(u,{component:"li",children:e},e))})]}):null},[m]),Q=k(async()=>{if(!c)return!0;let n;try{n=new URL(c)}catch{return!1}let e;try{e=new URL(p?.baseUrl)}catch{try{e=new URL(p?.prefix)}catch(t){console.error("baseUrl and prefix are both invalid",t)}}if(e){let t=[];if(e.origin===window.location.origin?t=window.blocklet.domainAliases||[]:t=(await ke(e.origin))?.domainAliases||[],!t.includes(n.hostname))return x.error(a("login.invalidRedirectUrl")),!1}return!0}),I=k(()=>{const n=decodeURIComponent(c),e=S(n);window.location.replace(j(e.href,{allowDomains:null}))}),$=!0,V=!0,G=Z(n=>n.breakpoints.down("lg")),y=k(async()=>{await Q()&&$&&(window.temporaryDIDConnectOnSuccess=(e,t)=>{C(e,t,{saveConnect:!0})},setTimeout(()=>{O.open({locale:A,action:m,passkeyBehavior:J,extraParams:l,...g,className:"connect",popup:!0,messages:W||{title:a("login.connect.title"),scan:a("login.connect.scan"),confirm:a("login.connect.confirm"),success:a("login.connect.success")},extraContent:K,useSocket:!0,allowWallet:["1","true",void 0,null].includes(globalThis.blocklet?.DID_CONNECT_ALLOW_WALLET),onSuccess:C,onError:z,hideCloseButton:V})}))});if(ue(()=>{y(),f.addEventListener("message",I)}),fe(()=>{delete window.temporaryDIDConnectOnSuccess,f.removeEventListener("message",I),f.close()}),N.loading)return o.jsxs(o.Fragment,{children:[o.jsx(E,{children:o.jsx("title",{children:"DID Connect"})}),o.jsx(ge,{children:o.jsx(ee,{})})]});const X=globalThis.blocklet.appName,Y=globalThis.blocklet.appDescription;return o.jsxs(o.Fragment,{children:[o.jsx(E,{children:o.jsxs("title",{children:[globalThis.blocklet.appName," | DID Connect"]})}),G&&!v.arcSphere?o.jsx(ne,{styles:{"& .did-connect__container-dialog > .MuiBackdrop-root":{backgroundColor:`${H.palette.background.default} !important`}}}):o.jsx(Pe,{did:globalThis.blocklet.appPid,title:X,description:Y,actions:v.arcSphere?null:o.jsx(oe,{variant:"contained",disableElevation:!0,color:"primary",size:"large",onClick:y,children:a("login.login")})})]})}export{ze as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as h}from"./vendor-react-Dvs43sk9.js";import{V as x,
|
|
1
|
+
import{r as h}from"./vendor-react-Dvs43sk9.js";import{V as x,a4 as S,H as f}from"./vendor-ux-D_B1Y7iC.js";import{D as w,a as b,b as R}from"./index-CcoIHAI8.js";import{e as y,X as I,ab as E,Z as T,aM as P,aN as U}from"./index-BnPTSmJZ.js";import{j as t,ak as m,T as g,I as B,bX as q,W as r,bB as N}from"./vendor-mui-core-BPcN1m8_.js";import"./index-CjUY4wYp.js";import"./index-BojVbZw0.js";import{u as F}from"./config-space-uoEgpVj0.js";import{f as D}from"./index-DBs9Ljax.js";import{a as O,D as W,C as A}from"./vendor-utils-COYaMdo5.js";import"./api-C7Kyuutl.js";function K(){const{t:e}=x();return t.jsx(m,{children:t.jsxs(m,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",alignContent:"center"},children:[t.jsx(w,{style:{width:250,height:250}}),t.jsx(g,{sx:{marginTop:"24px"},children:e("storage.spaces.connect.providerForStorage")})]})})}function j({spaceGateway:e,onDeleteSpace:c=()=>{}}){const{t:n}=x(),[a,l]=h.useState(!1),[o,d]=h.useState(!1),u=(s,p)=>{s?.stopPropagation(),l(p)},i=async s=>{try{s?.stopPropagation(),d(!0),await c(e),l(!1)}catch(p){console.error(p),f.error(`${n("storage.spaces.gateway.delete.failed")}: ${D(p)}`)}finally{d(!1)}};return t.jsxs(t.Fragment,{children:[t.jsx(B,{size:"small",onClick:s=>u(s,!0),children:t.jsx(q,{})}),t.jsx(S,{title:n("storage.spaces.gateway.delete.title"),open:a,confirmButton:{text:n("common.confirm"),props:{size:"small",variant:"contained",color:"error",loading:o}},cancelButton:{text:n("common.cancel"),props:{size:"small",variant:"outlined"}},onConfirm:i,onCancel:s=>u(s,!1),children:t.jsx(g,{sx:{wordWrap:"break-word"},children:n("storage.spaces.gateway.delete.descForStorage",{name:`${e?.name}`})})})]})}j.propTypes={onDeleteSpace:r.func,spaceGateway:r.shape({name:r.string.isRequired,url:r.string.isRequired,protected:r.bool}).isRequired};function C({spaceGateway:e,onDisconnect:c=()=>{}}){const{t:n}=x(),a=async()=>{try{await c(),f.success(n("storage.spaces.gateway.delete.succeeded",{name:e.name?`(${e.name})`:""}))}catch(l){console.error(l),f.error(D(l))}};return t.jsx(j,{spaceGateway:e,onDeleteSpace:a})}C.propTypes={spaceGateway:r.shape({did:r.string.isRequired,name:r.string.isRequired,url:r.string.isRequired,endpoint:r.string.isRequired}).isRequired,onDisconnect:r.func};function Q(){const{t:e}=x(),{spaceGateway:c,settingStorageEndpoint:n}=F();return t.jsxs(m,{sx:{display:"flex",flexDirection:"column"},children:[t.jsx(m,{sx:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:t.jsx(g,{sx:{fontSize:"1rem",fontWeight:"bold"},children:e("storage.spaces.connected.title")})}),t.jsx(m,{children:t.jsx(b,{sx:{marginTop:2},endpoint:c.endpoint,selected:!0,action:a=>t.jsx(C,{...a,onDisconnect:()=>n(null)})})})]})}function $({blocklet:e}){if(O(e))return{};const{appDid:c}=e,n=y.getAppName(e),a=y.getAppDescription(e),o=e?.site?.domainAliases?.sort((i,s)=>i.accessibility.accessible&&s.accessibility.accessible?+i.isProtected-+s.isProtected:+s.accessibility.accessible-+i.accessibility.accessible)?.map(i=>{const s=i?.domainStatus?.isHttps?"https://":"http://",p=i?.value;return`${s}${p}`}).filter(Boolean)?.[0],d=I.DID_SPACES.AUTHORIZE.DEFAULT_SCOPE,u=window.location.href;return{appDid:c,appName:n,appDescription:a,appUrl:o,scopes:d,referrer:u,isReady:!!o}}function v({onConnect:e=()=>{},...c}){const{blocklet:n}=E(),{info:a}=T(),{t:l}=x(),o=$({blocklet:n}),d=P(a),u={checkFn:W.create({baseURL:A(window.location.origin,U())}).get,webWalletUrl:d,extraParams:{appPid:n.appPid,appDid:o.appDid,appName:o.appName,appDescription:o.appDescription,appUrl:o.appUrl,referrer:o.referrer,scopes:o.scopes,nodeDid:a.did}},i=async({spaceGateway:s})=>{try{await e(s),f.success(l("storage.spaces.connectedWithName",{name:s.name}))}catch(p){console.error(p),f.error(D(p))}};return t.jsx(R,{...c,options:u,onSuccess:i})}v.propTypes={onConnect:N.func};export{Q as C,K as D,v as a,$ as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as n,at as i,W as o}from"./vendor-mui-core-
|
|
1
|
+
import{j as n,at as i,W as o}from"./vendor-mui-core-BPcN1m8_.js";function p({children:e,...t}){return n.jsx(d,{...t,children:e})}p.propTypes={children:o.any.isRequired};const d=i.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
align-items: center;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as D,g as F}from"./vendor-react-Dvs43sk9.js";import{e as L}from"./vendor-arcblock-
|
|
1
|
+
import{e as D,g as F}from"./vendor-react-Dvs43sk9.js";import{e as L}from"./vendor-arcblock-BzYItNIN.js";var s={exports:{}};const N=D(L);var l;function R(){if(l)return s.exports;l=1;const{getNftBGColor:g,DEFAULT_COLORS:u,getNftBGColorFromDid:v,getSvg:f}=N,n=(e,r)=>{let t;return e==="default"?t=u["app-passport"]:e==="auto"?t=v(r):t=g(e),t},m=e=>{const r=parseInt(e.slice(1,3),16),t=parseInt(e.slice(3,5),16),o=parseInt(e.slice(5,7),16);return(.299*r+.587*t+.114*o)/255>.5?"#111":"#EEE"},x=({issuer:e="",title:r="",issuerDid:t="",issuerAvatarUrl:o="",ownerDid:p="",ownerName:C="",ownerAvatarUrl:P="",preferredColor:S="default",revoked:c=!1,isDataUrl:E=!1,width:d="100%",height:$="100%",extra:I=null,scope:a="passport",role:q=""})=>{const y=n(S,t),i=f({width:d,height:$,tag:c?"revoked":"",tagVariant:c?"error":"info",color:y,did:p,variant:`app-${a}`,verifiable:!0,issuer:{name:e,icon:o},header:{name:a==="passport"?r:C,icon:P},extra:a==="kyc"?{key:q,value:r}:I||{key:"Exp",value:"2123-01-01"}});return E?`data:image/svg+xml;utf8,${encodeURIComponent(i)}`:i};return s.exports=x,s.exports.getPassportColor=n,s.exports.getTextColor=m,s.exports}var T=R();const B=F(T);export{B as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c9 as u,ca as c}from"./vendor-mui-core-
|
|
1
|
+
import{c9 as u,ca as c}from"./vendor-mui-core-BPcN1m8_.js";import{a5 as f,a6 as s}from"./vendor-ux-D_B1Y7iC.js";function n(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r<t;r++)o[r]=e[r];return o}function y(e,t){if(e){if(typeof e=="string")return n(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}function b(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}function a(e){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},a(e)}function _(e,t){if(t&&(f(t)=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return c(e)}function d(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,s(o.key),o)}}function O(e,t,r){return t&&i(e.prototype,t),r&&i(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}export{O as _,d as a,b,_ as c,a as d,n as e,y as f};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.__toCdnUrl("assets/vendor-ux-DYcPPYq2.css"),window.__toCdnUrl("assets/index-DrVXX4fX.css"),window.__toCdnUrl("assets/index-gnjjKJuC.css"),window.__toCdnUrl("assets/add-component-core-G0iZE90Q.css")])))=>i.map(i=>d[i]);
|
|
2
|
-
import{s as tn,p as ht,H as F,V as B,aK as nn,aL as wo,a1 as So,M as on,a2 as rn,E as Et,G as jo,A as Co,z as ko,_ as L}from"./vendor-ux-CE4sOH7O.js";import{j as i,W as S,aZ as Eo,cN as Io,d4 as _o,bb as Lo,dg as To,dh as Do,cP as Ao,di as Po,d8 as Ro,dj as Mo,I as Ne,aQ as Oo,aR as No,aX as gt,a3 as Uo,M as Bo,aO as zo,a6 as V,aP as $o,bi as Fo,at as Ue,T as ee,bq as Vo,b6 as It,br as _t,ak as E,D as pe,J as re,ah as Be,ao as Ho,dk as Wo,aj as qo,dl as sn,dm as an,dn as cn,am as de,a$ as _e,dp as Lt,U as Q,aN as ln,Y as un,b_ as Ko,dq as Go,dr as Qo,Q as Zo,ds as Xo}from"./vendor-mui-core-BFPsXaTR.js";import{r as h,L as dn,i as fn,g as Jo,k as Yo,j as er}from"./vendor-react-Dvs43sk9.js";import{Z as ze,e as P,X as qe,am as Ke,c as R,Y as Tt,bD as tr,a1 as nr,ab as or,v as rr,bE as sr,bF as pn,a0 as te,bG as mn,aM as ir,bH as ar,W as cr,b3 as lr,b4 as ur,bI as dr,b5 as fr,bJ as pr,bK as mr,al as hr,bL as Ge,bM as gr,bN as br,b2 as xr,a as hn,B as gn,l as me,a9 as yr,k as vr,ad as wr,m as Dt,bO as At,h as Sr,j as jr,q as Cr,o as ie,n as kr,p as Er,P as Ir,G as _r,N as Lr,bC as Tr,$ as Dr,t as Ar}from"./index-3yzleS_1.js";import{a9 as Pr,C as W,J as bn,Q as Rr,e as Mr}from"./vendor-utils-OrZFrHBP.js";import{o as Ae}from"./vendor-arcblock-DGOH9a3F.js";import{u as Pt}from"./useLocalStorage-Be_1V0gr.js";import{f as bt}from"./index-DBs9Ljax.js";import{C as Rt}from"./confirm-CEAKWDZJ.js";import{g as Mt}from"./get-safe-url-3Xj-tgXY.js";import{u as xn}from"./session-Dnp_ufkx.js";import{a as ne,l as Or}from"./vendor-hooks-DmThWyyG.js";import{j as Nr,b as Ur,M as Br,a as zr,T as $r,N as Fr}from"./team-DmYSbFMF.js";import{c as Ot}from"./passport-BLmrTDdo.js";import{D as Vr,u as yn}from"./useAsyncRetry-Dyo5t1bq.js";import{u as vn}from"./useSetState-DFuQZPPV.js";import{x as Hr,d as Wr}from"./index-B6a6aopU.js";import{O as qr}from"./over-due-invoice-payment-C5fynimj.js";import{u as Kr}from"./use-mobile-Db5FIl07.js";const wn=h.createContext({});function Sn({children:e,type:t="blocklets"}){const[n,r]=h.useState([]),o=h.useRef([]),s=l=>{if(!o.current.includes(l)){const u=[...o.current,l];r(u),o.current=u}},a=l=>{if(o.current.includes(l)){const u=o.current.filter(d=>d!==l);r(u),o.current=u}},c=l=>{const u=n.filter(p=>l.find(f=>f===p));Pr(u,n).forEach(p=>a(p))};return i.jsx(wn.Provider,{value:{type:t,deletingBlocklets:n,addDeletingDid:s,removeDeletingDid:a,matchDeletingDid:c},children:e})}Sn.propTypes={type:S.string,children:S.node.isRequired};function ec(){return h.useContext(wn)}const Gr=e=>h.createElement("svg",{width:32,height:32,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},h.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.32989 8.20744C11.2787 6.82349 13.6098 6.08 16 6.08C18.3902 6.08 20.7213 6.82349 22.6701 8.20744C24.6189 9.59139 26.089 11.5473 26.8766 13.804C27.6642 16.0607 27.7304 18.5066 27.0659 20.8026C26.4419 22.9587 25.2026 24.8823 23.5044 26.3404H8.49555C6.79735 24.8823 5.55809 22.9587 4.9341 20.8026C4.26961 18.5066 4.33575 16.0607 5.12337 13.804C5.91098 11.5473 7.38107 9.59139 9.32989 8.20744ZM16 3.52C13.0786 3.52 10.2295 4.42871 7.84764 6.1202C5.46575 7.81169 3.66898 10.2022 2.70634 12.9604C1.7437 15.7187 1.66286 18.708 2.47501 21.5143C3.28717 24.3205 4.95211 26.8046 7.23909 28.6224C7.46554 28.8024 7.74628 28.9004 8.03554 28.9004H23.9644C24.2537 28.9004 24.5344 28.8024 24.7609 28.6224C27.0479 26.8046 28.7128 24.3205 29.5249 21.5143C30.3371 18.708 30.2563 15.7187 29.2936 12.9604C28.331 10.2022 26.5342 7.81169 24.1523 6.1202C21.7704 4.42871 18.9214 3.52 16 3.52ZM21.8829 13.5921C22.3827 13.0923 22.3827 12.2818 21.8829 11.7819C21.383 11.2821 20.5725 11.2821 20.0727 11.7819L17.868 13.9866C17.3072 13.7012 16.6724 13.5404 16 13.5404C13.7221 13.5404 11.8755 15.3869 11.8755 17.6648C11.8755 19.9427 13.7221 21.7892 16 21.7892C18.2779 21.7892 20.1244 19.9427 20.1244 17.6648C20.1244 16.9924 19.9635 16.3576 19.6782 15.7968L21.8829 13.5921ZM14.4355 17.6648C14.4355 16.8008 15.136 16.1004 16 16.1004C16.864 16.1004 17.5644 16.8008 17.5644 17.6648C17.5644 18.5288 16.864 19.2292 16 19.2292C15.136 19.2292 14.4355 18.5288 14.4355 17.6648Z",fill:"currentColor"})),Y={Start:Eo,Stop:Io,Restart:_o,Reload:Mo,Remove:Lo,Config:Ro,Log:Po,Group:Ao,Cancel:To,Dashboard:Gr,Overview:Do},Qr=(e,t)=>{if(!e)return"";if(!t)return e;const n=new URL(e),r=new URLSearchParams(n.searchParams),o=new URL(W(n.origin,t));return o.search=r.toString(),o.toString()},Zr="internal",Xr="external";function jn({blocklet:e,onStart:t,onComplete:n,variant:r="menu",hasPermission:o=!1,getComponentUrl:s=null,useBlockletUrlEvaluation:a=()=>({loading:!1,recommendedUrl:window?.location?.href}),...c}){const l=ze(),[u,d]=h.useState(null),[p,f]=h.useState(null),[x,y]=h.useState(!1),[b,j]=h.useState(null),{t:v}=h.useContext(tn),[C]=Pt("skip-blocklet-setup",!1),{loading:g,recommendedUrl:k}=a(e),[_]=Pt("blocklet-type-filter",Zr),m=P.isInProgress(e.status),[I,O]=h.useState(!1);h.useEffect(()=>{if(!e?.controller)return;O(e?.controller?.status?.value===qe.BLOCKLET_CONTROLLER_STATUS.suspended),(async()=>{try{const D=await l.api.getLauncherSession({input:{launcherSessionId:e?.controller?.launcherSessionId,launcherUrl:e?.controller?.launcherUrl}});if(D?.error){console.error("get launcher session failed",D.error);return}O([R.LAUNCH_SESSION_STATUS.overdue,R.LAUNCH_SESSION_STATUS.canceled,R.LAUNCH_SESSION_STATUS.terminated].includes(D?.launcherSession?.status))}catch(D){console.error("call getLauncherSession error",D)}})()},[]);const{inService:M}=l,N=(w,D,K=!1)=>async()=>{const G=async Se=>{t({action:w,blocklet:e}),y(!0),f(w);let je=!1;try{if(w==="remove")await D(Se);else if(w==="start"){if(!P.hasRunnableComponent(e)){F.error(v("blocklet.noComponent"));return}if(!M&&!C&&!e.settings?.initialized&&e.mode!==qe.BLOCKLET_MODES.DEVELOPMENT){if(!k||!Tt(k)){F.error(v("blocklet.gotoVisitError"));return}const U=tr(l.info),kt=new URL(k);kt.searchParams.set("serverUrl",U),window.open(Mt(kt.href,{allowDomains:null})),n({action:w,blocklet:e});return}const $=e.children.filter(U=>!P.isInProgress(U.status)&&U.status!=="running"||!P.isInProgress(U.greenStatus)&&U.greenStatus!=="running").map(U=>U.meta.did),J={did:e.meta.did,componentDids:$};await D({input:J})}else if(["stop","restart","reload"].includes(w)){const $=e.children.filter(U=>P.isDeletableBlocklet(U)).map(U=>U.meta.did),J={did:e.meta.did,componentDids:$};await D({input:J})}else{const $={did:e.meta.did};await D({input:$})}w==="remove"?je=!0:await nr(1e3),w==="reload"&&F.success(v("blocklet.reloadSuccess")),j(null),n({action:w,blocklet:e})}catch($){const J=`Blocklet ${w} failed: ${bt($)}`;throw n({action:w,blocklet:e,error:new Error(J)}),new Error(J)}finally{je||y(!1)}},ve=()=>{y(!1),j(null)},we=P.getDisplayName(e,!0),yo=e.mode===qe.BLOCKLET_MODES.DEVELOPMENT?{description:()=>i.jsx(ee,{component:"div",children:i.jsx(ee,{gutterBottom:!0,children:v("blocklet.action.removeApplicationDescription")})}),params:{removeType:"complete"}}:{description:(Se,je)=>i.jsxs(ee,{component:"div",children:[i.jsx(ee,{gutterBottom:!0,children:v("blocklet.action.removeApplicationDescription")}),i.jsxs(Vo,{name:"removeType",value:Se.removeType,onChange:$=>je({...Se,removeType:$.target.value}),children:[i.jsx(It,{value:"backup",control:i.jsx(_t,{}),label:v("blocklet.action.removeApplicationAfterBackup")}),i.jsx(It,{value:"complete",control:i.jsx(_t,{}),label:v("blocklet.action.removeApplicationComplete")})]})]}),params:{removeType:"backup"}},vo={stop:{title:`${v("common.stop")} ${we}`,description:v("blocklet.action.stopDescription"),confirm:v("blocklet.action.confirmStop"),cancel:v("common.cancel"),onConfirm:G,onCancel:ve},restart:{title:`${v("common.restart")} ${we}`,description:v("blocklet.action.restartDescription"),confirm:v("blocklet.action.confirmRestart"),cancel:v("common.cancel"),onConfirm:G,onCancel:ve},remove:{title:`${v("common.remove")} ${we}`,confirm:v("blocklet.action.confirmRemove"),cancel:v("common.cancel"),onConfirm:G,onCancel:ve,...yo},cancelDownload:{title:`${v("common.cancel")}`,description:v("blocklet.action.cancelDownloadDescription",{name:we}),confirm:v("common.confirm"),cancel:v("common.cancel"),onConfirm:G,onCancel:ve}};K?j(vo[w]):await G()},We=!!u,po=w=>{try{w.stopPropagation(),w.preventDefault()}catch{}d(w.currentTarget)},mo=w=>{try{w.stopPropagation(),w.preventDefault()}catch{}d(null)},Ct=async(w,D)=>{try{D.stopPropagation(),D.preventDefault()}catch{}if(typeof w.handler=="function")try{y(!0),f(w.action),await w.handler()}catch(K){console.error(`Blocklet ${w.name} failed: `,K)}finally{y(!1),d(null)}else d(null)},ho=!M&&P.isDeletableBlocklet(e)?{action:"remove",icon:Y.Remove,name:v("common.remove"),handler:N("remove",async({removeType:w})=>{w==="backup"&&await l.api.backupBlocklet({input:{appDid:e.appDid,to:"disk"}}),await l.api.deleteBlocklet({input:{did:e.meta.did,keepData:!1}})},!0),disabled:m}:null,go={action:"remove",icon:({sx:w,...D})=>i.jsx(Y.Cancel,{sx:{...w,paddingRight:"2px",zoom:.95},...D}),name:v("common.cancel"),handler:N("cancelDownload",l.api.cancelDownloadBlocklet,!0)},bo=P.getAppMissingConfigs(e),xo=()=>{const w=`/${e.mountPoint||"/"}`.replace(/\/+/g,"/"),D=s?.({mountPoint:w,blocklet:e});if(!D||!Tt(D)){F.error(v("blocklet.gotoVisitError"));return}const K=e?.site?.domainAliases;window.open(Mt(Qr(D,`${R.WELLKNOWN_SERVICE_PATH_PREFIX}/admin`),{allowDomains:K?.map(G=>G.value)}))};let ye=[{action:"start",icon:Y.Start,inExternal:!0,name:v("common.start"),handler:N("start",l.api.startBlocklet),disabled:I||e.children.every(w=>P.isBlockletRunning(w))||Ke(e.status)||g||m},{action:"stop",icon:Y.Stop,inExternal:!0,name:v("common.stop"),handler:N("stop",l.api.stopBlocklet,!0),disabled:!["running","starting"].includes(e.status)},{action:"restart",inExternal:!0,icon:Y.Restart,name:v("common.restart"),handler:N("restart",l.api.restartBlocklet,!0),disabled:I||e.status!=="running"},Ke(e.status)?go:ho,{separator:!0},M?null:{action:"dashboard",icon:({style:w,...D})=>i.jsx(Y.Dashboard,{...D,style:{...w,width:"26px",height:"26px",paddingRight:"3px"}}),name:v("sidebar.dashboard"),handler:xo}].filter(Boolean);return _===Xr&&(ye=ye.filter(w=>w.inExternal)),r==="menu"?i.jsxs(Nt,{"data-cy":"blocklet-actions",children:[i.jsx(Ne,{"aria-label":"more","aria-controls":"actions-menu","aria-haspopup":"true","data-cy":"trigger-blocklet-actions","actions-blocklet-did":e.meta.did,onClick:po,size:"small",disabled:!o||!Ke(e.status)&&x,children:i.jsx(Oo,{})}),i.jsxs(No,{id:"actions-menu",anchorEl:u,keepMounted:!0,open:We,onClose:mo,PaperProps:{},children:[bo.length>0&&i.jsxs(gt,{style:{maxWidth:"400px"},severity:"error",children:[v("blocklet.config.missingRequired"),i.jsx("br",{}),i.jsx(dn,{to:`/blocklets/${e.meta.did}/components`,children:v("blocklet.config.gotoFix")})]}),ye.map((w,D)=>w.separator?i.jsx(Uo,{},`separator-${D}`):i.jsxs(Bo,{dense:!0,onClick:K=>Ct(w,K),disabled:x||w.disabled,"data-cy":`${w.action}-blocklet`,children:[i.jsx(zo,{style:{minWidth:24},children:p===w.action&&x?i.jsx(V,{size:16,sx:{marginRight:1}}):i.jsx(w.icon,{fontSize:"small"})}),i.jsx($o,{primary:w.name})]},w.name))]}),b&&i.jsx(Rt,{title:b.title,description:b.description,confirm:b.confirm,cancel:b.cancel,params:b.params,onConfirm:b.onConfirm,onCancel:b.onCancel})]}):i.jsxs(Nt,{"data-cy":"blocklet-actions",...c,children:[i.jsx(Fo,{children:ye.filter(w=>!w.separator&&!w.onlyInMenu).map(w=>i.jsxs(ht,{title:w.name,"data-cy":`${w.action}-blocklet`,onClick:()=>Ct(w),disabled:!!w.disabled||x,children:[p===w.action&&x?i.jsx(V,{size:16,sx:{marginRight:1}}):i.jsx(w.icon,{}),i.jsx("span",{className:"blocklet-action-text",children:w.name})]},w.name))}),b&&i.jsx(Rt,{title:b.title,description:b.description,confirm:b.confirm,cancel:b.cancel,params:b.params,onConfirm:b.onConfirm,onCancel:b.onCancel})]})}jn.propTypes={getComponentUrl:S.func,blocklet:S.object.isRequired,onStart:S.func.isRequired,onComplete:S.func.isRequired,variant:S.oneOf(["menu","group"]),hasPermission:S.bool,useBlockletUrlEvaluation:S.func};const Nt=Ue.div`
|
|
2
|
+
import{s as tn,p as ht,H as F,V as B,aK as nn,aL as wo,a2 as So,M as on,a3 as rn,E as Et,G as jo,A as Co,z as ko,_ as L}from"./vendor-ux-D_B1Y7iC.js";import{j as i,W as S,aZ as Eo,cN as Io,d9 as _o,bb as Lo,dg as To,dh as Do,cP as Ao,di as Po,dd as Ro,dj as Mo,I as Ne,aQ as Oo,aR as No,aX as gt,a3 as Uo,M as Bo,aO as zo,a6 as V,aP as $o,bi as Fo,at as Ue,T as ee,bq as Vo,b6 as It,br as _t,ak as E,D as pe,J as re,ah as Be,ao as Ho,dk as Wo,aj as qo,dl as sn,dm as an,dn as cn,am as de,a$ as _e,dp as Lt,U as Q,aN as ln,Y as un,b_ as Ko,dq as Go,dr as Qo,Q as Zo,ds as Xo}from"./vendor-mui-core-BPcN1m8_.js";import{r as h,L as dn,i as fn,g as Jo,k as Yo,j as er}from"./vendor-react-Dvs43sk9.js";import{Z as ze,e as P,X as qe,am as Ke,c as R,Y as Tt,bC as tr,a1 as nr,ab as or,v as rr,bD as sr,bE as pn,a0 as te,bF as mn,aO as ir,bG as ar,W as cr,b2 as lr,b3 as ur,bH as dr,b4 as fr,bI as pr,bJ as mr,al as hr,bK as Ge,bL as gr,bM as br,b1 as xr,a as hn,B as gn,l as me,a9 as yr,k as vr,ad as wr,m as Dt,bN as At,h as Sr,j as jr,q as Cr,o as ie,n as kr,p as Er,P as Ir,G as _r,N as Lr,bB as Tr,$ as Dr,t as Ar}from"./index-BnPTSmJZ.js";import{a9 as Pr,C as W,J as bn,Q as Rr,e as Mr}from"./vendor-utils-COYaMdo5.js";import{o as Ae}from"./vendor-arcblock-BzYItNIN.js";import{u as Pt}from"./useLocalStorage-CPNhajTc.js";import{f as bt}from"./index-DBs9Ljax.js";import{C as Rt}from"./confirm-2zLPRflS.js";import{g as Mt}from"./get-safe-url-BEmXir96.js";import{u as xn}from"./session-ByI8mrad.js";import{a as ne,l as Or}from"./vendor-hooks-tpeT8a0P.js";import{j as Nr,b as Ur,M as Br,a as zr,T as $r,N as Fr}from"./team-CeANUXFV.js";import{c as Ot}from"./passport-CQWKOko9.js";import{D as Vr,u as yn}from"./useAsyncRetry-n96jNDlD.js";import{u as vn}from"./useSetState-DFuQZPPV.js";import{x as Hr,d as Wr}from"./index-DJhcYi8s.js";import{O as qr}from"./over-due-invoice-payment-Cg-G2W1o.js";import{u as Kr}from"./use-mobile-CjZIGfWP.js";const wn=h.createContext({});function Sn({children:e,type:t="blocklets"}){const[n,r]=h.useState([]),o=h.useRef([]),s=l=>{if(!o.current.includes(l)){const u=[...o.current,l];r(u),o.current=u}},a=l=>{if(o.current.includes(l)){const u=o.current.filter(d=>d!==l);r(u),o.current=u}},c=l=>{const u=n.filter(p=>l.find(f=>f===p));Pr(u,n).forEach(p=>a(p))};return i.jsx(wn.Provider,{value:{type:t,deletingBlocklets:n,addDeletingDid:s,removeDeletingDid:a,matchDeletingDid:c},children:e})}Sn.propTypes={type:S.string,children:S.node.isRequired};function ec(){return h.useContext(wn)}const Gr=e=>h.createElement("svg",{width:32,height:32,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},h.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.32989 8.20744C11.2787 6.82349 13.6098 6.08 16 6.08C18.3902 6.08 20.7213 6.82349 22.6701 8.20744C24.6189 9.59139 26.089 11.5473 26.8766 13.804C27.6642 16.0607 27.7304 18.5066 27.0659 20.8026C26.4419 22.9587 25.2026 24.8823 23.5044 26.3404H8.49555C6.79735 24.8823 5.55809 22.9587 4.9341 20.8026C4.26961 18.5066 4.33575 16.0607 5.12337 13.804C5.91098 11.5473 7.38107 9.59139 9.32989 8.20744ZM16 3.52C13.0786 3.52 10.2295 4.42871 7.84764 6.1202C5.46575 7.81169 3.66898 10.2022 2.70634 12.9604C1.7437 15.7187 1.66286 18.708 2.47501 21.5143C3.28717 24.3205 4.95211 26.8046 7.23909 28.6224C7.46554 28.8024 7.74628 28.9004 8.03554 28.9004H23.9644C24.2537 28.9004 24.5344 28.8024 24.7609 28.6224C27.0479 26.8046 28.7128 24.3205 29.5249 21.5143C30.3371 18.708 30.2563 15.7187 29.2936 12.9604C28.331 10.2022 26.5342 7.81169 24.1523 6.1202C21.7704 4.42871 18.9214 3.52 16 3.52ZM21.8829 13.5921C22.3827 13.0923 22.3827 12.2818 21.8829 11.7819C21.383 11.2821 20.5725 11.2821 20.0727 11.7819L17.868 13.9866C17.3072 13.7012 16.6724 13.5404 16 13.5404C13.7221 13.5404 11.8755 15.3869 11.8755 17.6648C11.8755 19.9427 13.7221 21.7892 16 21.7892C18.2779 21.7892 20.1244 19.9427 20.1244 17.6648C20.1244 16.9924 19.9635 16.3576 19.6782 15.7968L21.8829 13.5921ZM14.4355 17.6648C14.4355 16.8008 15.136 16.1004 16 16.1004C16.864 16.1004 17.5644 16.8008 17.5644 17.6648C17.5644 18.5288 16.864 19.2292 16 19.2292C15.136 19.2292 14.4355 18.5288 14.4355 17.6648Z",fill:"currentColor"})),Y={Start:Eo,Stop:Io,Restart:_o,Reload:Mo,Remove:Lo,Config:Ro,Log:Po,Group:Ao,Cancel:To,Dashboard:Gr,Overview:Do},Qr=(e,t)=>{if(!e)return"";if(!t)return e;const n=new URL(e),r=new URLSearchParams(n.searchParams),o=new URL(W(n.origin,t));return o.search=r.toString(),o.toString()},Zr="internal",Xr="external";function jn({blocklet:e,onStart:t,onComplete:n,variant:r="menu",hasPermission:o=!1,getComponentUrl:s=null,useBlockletUrlEvaluation:a=()=>({loading:!1,recommendedUrl:window?.location?.href}),...c}){const l=ze(),[u,d]=h.useState(null),[p,f]=h.useState(null),[x,y]=h.useState(!1),[b,j]=h.useState(null),{t:v}=h.useContext(tn),[C]=Pt("skip-blocklet-setup",!1),{loading:g,recommendedUrl:k}=a(e),[_]=Pt("blocklet-type-filter",Zr),m=P.isInProgress(e.status),[I,O]=h.useState(!1);h.useEffect(()=>{if(!e?.controller)return;O(e?.controller?.status?.value===qe.BLOCKLET_CONTROLLER_STATUS.suspended),(async()=>{try{const D=await l.api.getLauncherSession({input:{launcherSessionId:e?.controller?.launcherSessionId,launcherUrl:e?.controller?.launcherUrl}});if(D?.error){console.error("get launcher session failed",D.error);return}O([R.LAUNCH_SESSION_STATUS.overdue,R.LAUNCH_SESSION_STATUS.canceled,R.LAUNCH_SESSION_STATUS.terminated].includes(D?.launcherSession?.status))}catch(D){console.error("call getLauncherSession error",D)}})()},[]);const{inService:M}=l,N=(w,D,K=!1)=>async()=>{const G=async Se=>{t({action:w,blocklet:e}),y(!0),f(w);let je=!1;try{if(w==="remove")await D(Se);else if(w==="start"){if(!P.hasRunnableComponent(e)){F.error(v("blocklet.noComponent"));return}if(!M&&!C&&!e.settings?.initialized&&e.mode!==qe.BLOCKLET_MODES.DEVELOPMENT){if(!k||!Tt(k)){F.error(v("blocklet.gotoVisitError"));return}const U=tr(l.info),kt=new URL(k);kt.searchParams.set("serverUrl",U),window.open(Mt(kt.href,{allowDomains:null})),n({action:w,blocklet:e});return}const $=e.children.filter(U=>!P.isInProgress(U.status)&&U.status!=="running"||!P.isInProgress(U.greenStatus)&&U.greenStatus!=="running").map(U=>U.meta.did),J={did:e.meta.did,componentDids:$};await D({input:J})}else if(["stop","restart","reload"].includes(w)){const $=e.children.filter(U=>P.isDeletableBlocklet(U)).map(U=>U.meta.did),J={did:e.meta.did,componentDids:$};await D({input:J})}else{const $={did:e.meta.did};await D({input:$})}w==="remove"?je=!0:await nr(1e3),w==="reload"&&F.success(v("blocklet.reloadSuccess")),j(null),n({action:w,blocklet:e})}catch($){const J=`Blocklet ${w} failed: ${bt($)}`;throw n({action:w,blocklet:e,error:new Error(J)}),new Error(J)}finally{je||y(!1)}},ve=()=>{y(!1),j(null)},we=P.getDisplayName(e,!0),yo=e.mode===qe.BLOCKLET_MODES.DEVELOPMENT?{description:()=>i.jsx(ee,{component:"div",children:i.jsx(ee,{gutterBottom:!0,children:v("blocklet.action.removeApplicationDescription")})}),params:{removeType:"complete"}}:{description:(Se,je)=>i.jsxs(ee,{component:"div",children:[i.jsx(ee,{gutterBottom:!0,children:v("blocklet.action.removeApplicationDescription")}),i.jsxs(Vo,{name:"removeType",value:Se.removeType,onChange:$=>je({...Se,removeType:$.target.value}),children:[i.jsx(It,{value:"backup",control:i.jsx(_t,{}),label:v("blocklet.action.removeApplicationAfterBackup")}),i.jsx(It,{value:"complete",control:i.jsx(_t,{}),label:v("blocklet.action.removeApplicationComplete")})]})]}),params:{removeType:"backup"}},vo={stop:{title:`${v("common.stop")} ${we}`,description:v("blocklet.action.stopDescription"),confirm:v("blocklet.action.confirmStop"),cancel:v("common.cancel"),onConfirm:G,onCancel:ve},restart:{title:`${v("common.restart")} ${we}`,description:v("blocklet.action.restartDescription"),confirm:v("blocklet.action.confirmRestart"),cancel:v("common.cancel"),onConfirm:G,onCancel:ve},remove:{title:`${v("common.remove")} ${we}`,confirm:v("blocklet.action.confirmRemove"),cancel:v("common.cancel"),onConfirm:G,onCancel:ve,...yo},cancelDownload:{title:`${v("common.cancel")}`,description:v("blocklet.action.cancelDownloadDescription",{name:we}),confirm:v("common.confirm"),cancel:v("common.cancel"),onConfirm:G,onCancel:ve}};K?j(vo[w]):await G()},We=!!u,po=w=>{try{w.stopPropagation(),w.preventDefault()}catch{}d(w.currentTarget)},mo=w=>{try{w.stopPropagation(),w.preventDefault()}catch{}d(null)},Ct=async(w,D)=>{try{D.stopPropagation(),D.preventDefault()}catch{}if(typeof w.handler=="function")try{y(!0),f(w.action),await w.handler()}catch(K){console.error(`Blocklet ${w.name} failed: `,K)}finally{y(!1),d(null)}else d(null)},ho=!M&&P.isDeletableBlocklet(e)?{action:"remove",icon:Y.Remove,name:v("common.remove"),handler:N("remove",async({removeType:w})=>{w==="backup"&&await l.api.backupBlocklet({input:{appDid:e.appDid,to:"disk"}}),await l.api.deleteBlocklet({input:{did:e.meta.did,keepData:!1}})},!0),disabled:m}:null,go={action:"remove",icon:({sx:w,...D})=>i.jsx(Y.Cancel,{sx:{...w,paddingRight:"2px",zoom:.95},...D}),name:v("common.cancel"),handler:N("cancelDownload",l.api.cancelDownloadBlocklet,!0)},bo=P.getAppMissingConfigs(e),xo=()=>{const w=`/${e.mountPoint||"/"}`.replace(/\/+/g,"/"),D=s?.({mountPoint:w,blocklet:e});if(!D||!Tt(D)){F.error(v("blocklet.gotoVisitError"));return}const K=e?.site?.domainAliases;window.open(Mt(Qr(D,`${R.WELLKNOWN_SERVICE_PATH_PREFIX}/admin`),{allowDomains:K?.map(G=>G.value)}))};let ye=[{action:"start",icon:Y.Start,inExternal:!0,name:v("common.start"),handler:N("start",l.api.startBlocklet),disabled:I||e.children.every(w=>P.isBlockletRunning(w))||Ke(e.status)||g||m},{action:"stop",icon:Y.Stop,inExternal:!0,name:v("common.stop"),handler:N("stop",l.api.stopBlocklet,!0),disabled:!["running","starting"].includes(e.status)},{action:"restart",inExternal:!0,icon:Y.Restart,name:v("common.restart"),handler:N("restart",l.api.restartBlocklet,!0),disabled:I||e.status!=="running"},Ke(e.status)?go:ho,{separator:!0},M?null:{action:"dashboard",icon:({style:w,...D})=>i.jsx(Y.Dashboard,{...D,style:{...w,width:"26px",height:"26px",paddingRight:"3px"}}),name:v("sidebar.dashboard"),handler:xo}].filter(Boolean);return _===Xr&&(ye=ye.filter(w=>w.inExternal)),r==="menu"?i.jsxs(Nt,{"data-cy":"blocklet-actions",children:[i.jsx(Ne,{"aria-label":"more","aria-controls":"actions-menu","aria-haspopup":"true","data-cy":"trigger-blocklet-actions","actions-blocklet-did":e.meta.did,onClick:po,size:"small",disabled:!o||!Ke(e.status)&&x,children:i.jsx(Oo,{})}),i.jsxs(No,{id:"actions-menu",anchorEl:u,keepMounted:!0,open:We,onClose:mo,PaperProps:{},children:[bo.length>0&&i.jsxs(gt,{style:{maxWidth:"400px"},severity:"error",children:[v("blocklet.config.missingRequired"),i.jsx("br",{}),i.jsx(dn,{to:`/blocklets/${e.meta.did}/components`,children:v("blocklet.config.gotoFix")})]}),ye.map((w,D)=>w.separator?i.jsx(Uo,{},`separator-${D}`):i.jsxs(Bo,{dense:!0,onClick:K=>Ct(w,K),disabled:x||w.disabled,"data-cy":`${w.action}-blocklet`,children:[i.jsx(zo,{style:{minWidth:24},children:p===w.action&&x?i.jsx(V,{size:16,sx:{marginRight:1}}):i.jsx(w.icon,{fontSize:"small"})}),i.jsx($o,{primary:w.name})]},w.name))]}),b&&i.jsx(Rt,{title:b.title,description:b.description,confirm:b.confirm,cancel:b.cancel,params:b.params,onConfirm:b.onConfirm,onCancel:b.onCancel})]}):i.jsxs(Nt,{"data-cy":"blocklet-actions",...c,children:[i.jsx(Fo,{children:ye.filter(w=>!w.separator&&!w.onlyInMenu).map(w=>i.jsxs(ht,{title:w.name,"data-cy":`${w.action}-blocklet`,onClick:()=>Ct(w),disabled:!!w.disabled||x,children:[p===w.action&&x?i.jsx(V,{size:16,sx:{marginRight:1}}):i.jsx(w.icon,{}),i.jsx("span",{className:"blocklet-action-text",children:w.name})]},w.name))}),b&&i.jsx(Rt,{title:b.title,description:b.description,confirm:b.confirm,cancel:b.cancel,params:b.params,onConfirm:b.onConfirm,onCancel:b.onCancel})]})}jn.propTypes={getComponentUrl:S.func,blocklet:S.object.isRequired,onStart:S.func.isRequired,onComplete:S.func.isRequired,variant:S.oneOf(["menu","group"]),hasPermission:S.bool,useBlockletUrlEvaluation:S.func};const Nt=Ue.div`
|
|
3
3
|
display: flex;
|
|
4
4
|
align-items: center;
|
|
5
5
|
|
|
@@ -61,7 +61,7 @@ ${r}
|
|
|
61
61
|
.header-brand-addon {
|
|
62
62
|
display: block;
|
|
63
63
|
}
|
|
64
|
-
`;function ta(){const{t:e,locale:t}=B(),{blocklet:n,launcherSession:r,refreshSubscription:o}=me(),{connectApi:s,session:a,api:c}=hn(),[l,u]=h.useState(!1),[d,p]=h.useState(""),[f,x]=Or({subscriptionURL:"#"});if(h.useEffect(()=>{(Dt(n,r)||At(r))&&Sr({launcherSessionId:n?.controller?.launcherSessionId,launcherUrl:n?.controller?.launcherUrl,locale:t}).then(v=>{x({subscriptionURL:v})}).catch(v=>{console.error("get subscription url error:",v)})},[n,r]),h.useEffect(()=>{if(n.controller?.launcherUrl){const v=W(n.controller.launcherUrl,"__blocklet__.js?type=json");fetch(v).then(C=>C.json()).then(C=>{const g=C.componentMountPoints?.find(_=>_.did==="z2qaCNvKMv5GjouKdcDWexv6WqtHbpNPQDnAk")?.mountPoint,k=W(n.controller.launcherUrl,g);p(k)})}},[n.controller?.launcherUrl]),!n||!r)return"";let y=null,b="",j="error";return jr(r)?(y=Cr(r)?i.jsx(_e,{href:f.subscriptionURL,children:e("blocklet.manageSubscription")}):i.jsx(Zo,{variant:"text",color:"error",onClick:()=>u(!0),sx:{lineHeight:"inherit",fontSize:"inherit"},children:e("blocklet.payNow")}),b=e("blocklet.suspendedCausedByPastDue",{deadline:ie(r?.reservedUntil,t)})):At(r)?(y=i.jsx(_e,{href:f.subscriptionURL,children:e("blocklet.manageSubscription")}),b=e("blocklet.willBeSuspendedSoon",{deadline:ie((r?.subscription?.cancel_at||0)*1e3,t)}),j="warning"):Dt(n,r)?(y=i.jsx(_e,{href:f.subscriptionURL,children:e("blocklet.manageSubscription")}),b=e("blocklet.suspendedCausedByExpired",{deadline:ie(r?.reservedUntil,t),canceledAt:ie((r?.subscription?.canceled_at||0)*1e3,t)})):kr(n,r)&&(y=i.jsx(dn,{to:W(R.WELLKNOWN_BLOCKLET_ADMIN_PATH,"/did-spaces"),children:e("common.backup")}),b=e("blocklet.suspendedCausedByTerminated",{canceledAt:ie(r?.terminatedAt,t),deadline:Er(r?.terminatedAt,t)})),b?i.jsxs(i.Fragment,{children:[i.jsxs(gt,{severity:j,sx:{mb:1},children:[b,i.jsx(ee,{sx:{display:"inline-block",fontSize:"inherit",lineHeight:"inherit",ml:1,a:{textDecoration:"auto"},"& .MuiButtonBase-root":{p:0,minWidth:"auto"}},children:y})]}),l&&d&&r&&i.jsx(Ir,{session:a,connect:s,baseUrl:d,authToken:r.subscription.authToken,children:i.jsx(qr,{dialogProps:{open:l,onClose:()=>u(!1)},subscriptionId:r.subscription.id,successToast:!0,onPaid:()=>{c.post("/blocklet/start?fromSetup=1"),o(),u(!1)}})})]}):null}const na=h.lazy(()=>L(()=>import("./log-lPrpnnPZ.js"),__vite__mapDeps([0,1]),import.meta.url)),oa=h.lazy(()=>L(()=>import("./index-CZp06HHE.js"),__vite__mapDeps([0,1]),import.meta.url)),ra=h.lazy(()=>L(()=>import("./index-CDCcuLh3.js"),__vite__mapDeps([0,1]),import.meta.url)),sa=h.lazy(()=>L(()=>import("./index-DNGdj2R4.js"),__vite__mapDeps([0,1,2]),import.meta.url)),ia=h.lazy(()=>L(()=>import("./overview-BFzvEbcq.js"),__vite__mapDeps([0,1]),import.meta.url)),aa=h.lazy(()=>L(()=>import("./domains-BiIZZN7p.js"),__vite__mapDeps([0,1]),import.meta.url)),ca=h.lazy(()=>L(()=>import("./index-Cs_I9KFa.js"),__vite__mapDeps([0,1]),import.meta.url)),la=h.lazy(()=>L(()=>import("./appearance-CwaUUdyp.js"),__vite__mapDeps([0,1]),import.meta.url)),ua=h.lazy(()=>L(()=>import("./audit-logs-eJR1v94e.js"),__vite__mapDeps([0,1,2]),import.meta.url)),da=h.lazy(()=>L(()=>import("./index-RD-gFG7U.js"),__vite__mapDeps([0,1]),import.meta.url)),fa=h.lazy(()=>L(()=>import("./config-navigation-BFsrGucq.js"),__vite__mapDeps([0,1]),import.meta.url)),pa=h.lazy(()=>L(()=>import("./index-Cr5RxnHu.js"),__vite__mapDeps([0,1]),import.meta.url)),ma=h.lazy(()=>L(()=>import("./index-LeqLm9hN.js"),__vite__mapDeps([0,1]),import.meta.url)),ha=h.lazy(()=>L(()=>import("./security-D4Sx6wQO.js"),__vite__mapDeps([0,1]),import.meta.url)),ga=h.lazy(()=>L(()=>import("./branding-B_eCdYJK.js"),__vite__mapDeps([0,1]),import.meta.url)),ba=h.lazy(()=>L(()=>import("./advanced-ykwSXzlQ.js"),__vite__mapDeps([0,1]),import.meta.url)),xa=h.lazy(()=>L(()=>import("./traffic-CzxoP9Vj.js").then(e=>e.t),__vite__mapDeps([0,1]),import.meta.url)),ya=h.lazy(()=>L(()=>import("./runtime-iwxdTEke.js"),__vite__mapDeps([0,1]),import.meta.url)),va=h.lazy(()=>L(()=>import("./index-D1thq8eN.js"),__vite__mapDeps([0,1]),import.meta.url)),wa=h.lazy(()=>L(()=>import("./list-C-9EwvIL.js"),__vite__mapDeps([0,1]),import.meta.url)),Sa=h.lazy(()=>L(()=>import("./index-D_vhPpT2.js"),__vite__mapDeps([0,1]),import.meta.url)),ja=h.lazy(()=>L(()=>import("./config-BWSyA18z.js").then(e=>e.c),__vite__mapDeps([0,1]),import.meta.url)),Ca=h.lazy(()=>L(()=>import("./observability-B458LeIE.js"),[],import.meta.url)),ka=h.lazy(()=>L(()=>import("./playground-_1Dj8J_h.js"),[],import.meta.url)),Ea=h.lazy(()=>L(()=>import("./index-DJj8GmQS.js").then(e=>e.i),__vite__mapDeps([0,1]),import.meta.url)),Ia=h.lazy(()=>L(()=>import("./component-CSPqPsOF.js"),__vite__mapDeps([0,1,2,3]),import.meta.url)),_a=h.lazy(()=>L(()=>import("./index-rQAVknkX.js"),__vite__mapDeps([0,1]),import.meta.url)),La=W(R.WELLKNOWN_SERVICE_PATH_PREFIX,"user","notifications"),Ta=e=>{const{enqueueSnackbar:t}=nn(),n=h.useCallback(r=>bn(La,{id:r.id,severity:r.severity||"all",componentDid:r.source==="system"?"system":r.componentDid||"all"}),[]);Tr(`${e}/${R.EVENTS.NOTIFICATION_BLOCKLET_CREATE}`,r=>{const o=n(r),{severity:s,description:a}=r||{},c=["error","warning"].includes(s)||r.sticky;r.source==="system"&&t(a,{variant:s,autoHideDuration:c?null:5e3,content:l=>i.jsx(cs,{viewAllUrl:o,keyId:l,notification:r,content:i.jsx(Fr,{notification:r,minimal:!0,rows:0})})})},[],"user")};function fo({blocklet:e,isAdmin:t}){return t?i.jsx(da,{blocklet:e}):i.jsx(Ar,{status:403})}fo.propTypes={blocklet:S.object.isRequired,isAdmin:S.bool.isRequired};const Da=e=>{const{t}=B(),{blocklet:n,actions:{refreshBlocklet:r},client:o,did:s}=me(),a=ne(()=>Mr(n,"settings.org.enabled",!1),[n]),c=n?.meta?.did,l=!n||Dr(n.status)?[]:P.getAppMissingConfigs(n),u={overview:[{label:t("common.overview"),value:"overview"},{label:i.jsx(Xo,{"data-cy":"blocklet-list",color:"error",variant:"dot",invisible:!l.length,children:t("common.components")}),labelText:t("common.components"),value:"components"}],"did-connect":[{label:t("common.members"),value:"members"},a?{label:t("common.orgs"),value:"orgs"}:null,{label:t("team.member.passports"),value:"passports"},{label:t("common.setting"),value:"settings"},{label:t("common.security"),value:"security"},{label:t("oauth.client.tab"),value:"oauth"}].filter(Boolean),aigne:[{label:t("setup.aigne.config"),value:"aigne-config"}],website:[{label:t("common.domains"),value:"domains"},{label:t("common.branding"),value:"branding"},{label:t("common.theming"),value:"theming"},{label:t("common.navigation"),value:"navigation"}],operations:[{label:t("common.notificationRecords"),value:"notifications",show:e},{label:t("common.analytics"),value:"analytics"},{label:t("common.auditLogs"),value:"audit-logs"},{label:t("common.advancedConfig"),value:"advanced"}],integrations:[{label:"Webhooks",value:"webhooks",show:e},{label:t("common.accessKeys"),value:"access-keys"},{label:t("common.mcpServers"),value:"mcp-servers"}],developers:[{label:t("common.logs"),value:"logs",show:n?.children?.length&&n.structVersion===R.APP_STRUCT_VERSION},{label:t("common.performance"),value:"performance"},{label:t("common.docs"),value:"docs"}]},d={overview:ia,components:Ia,members:i.jsx(oa,{type:"blocklet",createPassportSvg:Ot}),passports:i.jsx(ca,{createPassportSvg:Ot}),orgs:i.jsx(Ea,{editable:!1,mode:"dashboard",layout:"table"}),settings:i.jsx(ma,{orientation:"vertical"}),security:i.jsx(ha,{}),"did-spaces":i.jsx(pa,{navOrientation:"horizontal"}),domains:aa,branding:i.jsx(ga,{blocklet:n,onUpdate:r}),theming:i.jsx(la,{}),navigation:fa,sitemap:i.jsx(ko,{children:t("common.comingSoon")}),notifications:i.jsx(fo,{blocklet:n,isAdmin:e}),"audit-logs":i.jsx(ua,{scope:c,categories:["blocklet","team","security","certificates","gateway"]}),analytics:i.jsx(xa,{client:o,did:s}),advanced:i.jsx(ba,{blocklet:n,onUpdate:r}),webhooks:i.jsx(ra,{}),"access-keys":i.jsx(va,{}),"mcp-servers":i.jsx(Sa,{}),logs:na,performance:i.jsx(ya,{client:o,did:s}),docs:_a,publish:i.jsx(sa,{}),oauth:i.jsx(wa,{}),"aigne-config":i.jsx(E,{sx:{maxWidth:1536},children:i.jsx(ja,{})}),"aigne-observability":i.jsx(Ca,{}),"aigne-playground":i.jsx(ka,{})};return{tabGroups:u,renders:d}};function Aa(){const e=fn(),{tab:t="overview",subtab:n}=er(),{locale:r}=B(),{blocklet:o,refreshFlag:s}=me(),{session:a}=xn(),c=ne(()=>a?.user?.did,[a]),l=Kr(),u=ne(()=>a.user?.role&&gn.includes(a.user.role),[a]);Ta(c);const{tabGroups:d,renders:p}=Da(u),f=g=>{e(`${R.WELLKNOWN_SERVICE_PATH_PREFIX}/admin/${t}/${g}`)},x=(d[t]||[]).filter(g=>g.show===void 0||g.show),y=(x||[]).find(g=>g.value===n)?.value||x?.[0]?.value||t,b=p[y]||p.overview,j=["overview"].includes(t),v=o?i.jsxs(Sn,{type:"components",children:[x.length>0&&i.jsxs(E,{sx:{mb:2,display:"flex",alignItems:"center",gap:2},children:[i.jsx(Co,{tabs:x,current:y,onChange:f,scrollButtons:"auto"}),j&&!l&&i.jsx(E,{sx:{flex:1,display:"flex",justifyContent:"flex-end"},children:i.jsx(E,{component:"div",className:"page-header",children:o?i.jsx(Ut,{className:"page-actions",hasPermission:!0,blocklet:o,onStart:()=>{},onComplete:({error:g}={})=>{g&&F.error(g.message)},variant:"group"}):null})})]}),i.jsx(E,{className:"page-content",children:i.jsx(h.Suspense,{fallback:i.jsx(Ae,{relative:"parent",children:i.jsx(V,{})}),children:h.isValidElement(b)?b:i.jsx(b,{blocklet:o})})})]}):i.jsx(Ae,{relative:"parent",children:i.jsx(V,{})}),C=ne(()=>{const g=window.blocklet?.navigation?.find(M=>M.id==="/team"&&M.section==="dashboard"),k=o?.meta?.title||"";let _="";if(g){const M=W(R.WELLKNOWN_BLOCKLET_ADMIN_PATH,t,t==="publish"?n:"");_=g.items.find(We=>We.link===M)?.title?.[r]||""}const m=x.find(M=>M.value===n),O=[m?.labelText||m?.label||x?.[0]?.labelText||x?.[0]?.label||"",_].filter(Boolean).join(" - ");return k?O?`${O} | ${k}`:k:O||""},[t,n,o,r]);return i.jsx(Lr,{children:i.jsx($r,{children:i.jsx(uo,{title:C,children:i.jsxs(Ra,{children:[l&&j&&i.jsx(E,{component:"div",className:"page-header",sx:{mb:2},children:o?i.jsx(Ut,{className:"page-actions",hasPermission:!0,blocklet:o,onStart:()=>{},onComplete:({error:g}={})=>{g&&F.error(g.message)},variant:"group"}):null}),i.jsx(es,{}),i.jsx(ta,{}),v]})},`${s}`)})})}function Pa(){const{blocklet:e}=me(),t=e?.meta?.did;return h.useEffect(()=>{const n=_r();return t&&n.connect(),()=>{t&&n.isConnected()&&n.disconnect()}},[t]),i.jsx(Aa,{})}const Ra=Ue.main`
|
|
64
|
+
`;function ta(){const{t:e,locale:t}=B(),{blocklet:n,launcherSession:r,refreshSubscription:o}=me(),{connectApi:s,session:a,api:c}=hn(),[l,u]=h.useState(!1),[d,p]=h.useState(""),[f,x]=Or({subscriptionURL:"#"});if(h.useEffect(()=>{(Dt(n,r)||At(r))&&Sr({launcherSessionId:n?.controller?.launcherSessionId,launcherUrl:n?.controller?.launcherUrl,locale:t}).then(v=>{x({subscriptionURL:v})}).catch(v=>{console.error("get subscription url error:",v)})},[n,r]),h.useEffect(()=>{if(n.controller?.launcherUrl){const v=W(n.controller.launcherUrl,"__blocklet__.js?type=json");fetch(v).then(C=>C.json()).then(C=>{const g=C.componentMountPoints?.find(_=>_.did==="z2qaCNvKMv5GjouKdcDWexv6WqtHbpNPQDnAk")?.mountPoint,k=W(n.controller.launcherUrl,g);p(k)})}},[n.controller?.launcherUrl]),!n||!r)return"";let y=null,b="",j="error";return jr(r)?(y=Cr(r)?i.jsx(_e,{href:f.subscriptionURL,children:e("blocklet.manageSubscription")}):i.jsx(Zo,{variant:"text",color:"error",onClick:()=>u(!0),sx:{lineHeight:"inherit",fontSize:"inherit"},children:e("blocklet.payNow")}),b=e("blocklet.suspendedCausedByPastDue",{deadline:ie(r?.reservedUntil,t)})):At(r)?(y=i.jsx(_e,{href:f.subscriptionURL,children:e("blocklet.manageSubscription")}),b=e("blocklet.willBeSuspendedSoon",{deadline:ie((r?.subscription?.cancel_at||0)*1e3,t)}),j="warning"):Dt(n,r)?(y=i.jsx(_e,{href:f.subscriptionURL,children:e("blocklet.manageSubscription")}),b=e("blocklet.suspendedCausedByExpired",{deadline:ie(r?.reservedUntil,t),canceledAt:ie((r?.subscription?.canceled_at||0)*1e3,t)})):kr(n,r)&&(y=i.jsx(dn,{to:W(R.WELLKNOWN_BLOCKLET_ADMIN_PATH,"/did-spaces"),children:e("common.backup")}),b=e("blocklet.suspendedCausedByTerminated",{canceledAt:ie(r?.terminatedAt,t),deadline:Er(r?.terminatedAt,t)})),b?i.jsxs(i.Fragment,{children:[i.jsxs(gt,{severity:j,sx:{mb:1},children:[b,i.jsx(ee,{sx:{display:"inline-block",fontSize:"inherit",lineHeight:"inherit",ml:1,a:{textDecoration:"auto"},"& .MuiButtonBase-root":{p:0,minWidth:"auto"}},children:y})]}),l&&d&&r&&i.jsx(Ir,{session:a,connect:s,baseUrl:d,authToken:r.subscription.authToken,children:i.jsx(qr,{dialogProps:{open:l,onClose:()=>u(!1)},subscriptionId:r.subscription.id,successToast:!0,onPaid:()=>{c.post("/blocklet/start?fromSetup=1"),o(),u(!1)}})})]}):null}const na=h.lazy(()=>L(()=>import("./log-BRV1BCFu.js"),__vite__mapDeps([0,1]),import.meta.url)),oa=h.lazy(()=>L(()=>import("./index-BJkTWRHF.js"),__vite__mapDeps([0,1]),import.meta.url)),ra=h.lazy(()=>L(()=>import("./index-BPz1W1F5.js"),__vite__mapDeps([0,1]),import.meta.url)),sa=h.lazy(()=>L(()=>import("./index-4_vQ0fa1.js"),__vite__mapDeps([0,1,2]),import.meta.url)),ia=h.lazy(()=>L(()=>import("./overview-BFV7mugn.js"),__vite__mapDeps([0,1]),import.meta.url)),aa=h.lazy(()=>L(()=>import("./domains-CIKaHlMa.js"),__vite__mapDeps([0,1]),import.meta.url)),ca=h.lazy(()=>L(()=>import("./index-DC4JoVqO.js"),__vite__mapDeps([0,1]),import.meta.url)),la=h.lazy(()=>L(()=>import("./appearance-BddR68-e.js"),__vite__mapDeps([0,1]),import.meta.url)),ua=h.lazy(()=>L(()=>import("./audit-logs-BzqpNyz0.js"),__vite__mapDeps([0,1,2]),import.meta.url)),da=h.lazy(()=>L(()=>import("./index-CR7OYm8K.js"),__vite__mapDeps([0,1]),import.meta.url)),fa=h.lazy(()=>L(()=>import("./config-navigation-V-jkhCe0.js"),__vite__mapDeps([0,1]),import.meta.url)),pa=h.lazy(()=>L(()=>import("./index-DacQww-t.js"),__vite__mapDeps([0,1]),import.meta.url)),ma=h.lazy(()=>L(()=>import("./index-Bv1DYw0_.js"),__vite__mapDeps([0,1]),import.meta.url)),ha=h.lazy(()=>L(()=>import("./security-DTZHnwsj.js"),__vite__mapDeps([0,1]),import.meta.url)),ga=h.lazy(()=>L(()=>import("./branding-PrRXFhYD.js"),__vite__mapDeps([0,1]),import.meta.url)),ba=h.lazy(()=>L(()=>import("./advanced-BQT157yk.js"),__vite__mapDeps([0,1]),import.meta.url)),xa=h.lazy(()=>L(()=>import("./traffic-CVF4T2v4.js").then(e=>e.t),__vite__mapDeps([0,1]),import.meta.url)),ya=h.lazy(()=>L(()=>import("./runtime-tvucPK2o.js"),__vite__mapDeps([0,1]),import.meta.url)),va=h.lazy(()=>L(()=>import("./index-BwxEDC7M.js"),__vite__mapDeps([0,1]),import.meta.url)),wa=h.lazy(()=>L(()=>import("./list-gCQikTBu.js"),__vite__mapDeps([0,1]),import.meta.url)),Sa=h.lazy(()=>L(()=>import("./index-BMkkWtK-.js"),__vite__mapDeps([0,1]),import.meta.url)),ja=h.lazy(()=>L(()=>import("./config-CBb_1lBq.js").then(e=>e.c),__vite__mapDeps([0,1]),import.meta.url)),Ca=h.lazy(()=>L(()=>import("./observability-BjKI3tFt.js"),[],import.meta.url)),ka=h.lazy(()=>L(()=>import("./playground-DKMlueFr.js"),[],import.meta.url)),Ea=h.lazy(()=>L(()=>import("./index-Cs8-XzFL.js").then(e=>e.i),__vite__mapDeps([0,1]),import.meta.url)),Ia=h.lazy(()=>L(()=>import("./component-abZy96kt.js"),__vite__mapDeps([0,1,2,3]),import.meta.url)),_a=h.lazy(()=>L(()=>import("./index-DVsdJqbi.js"),__vite__mapDeps([0,1]),import.meta.url)),La=W(R.WELLKNOWN_SERVICE_PATH_PREFIX,"user","notifications"),Ta=e=>{const{enqueueSnackbar:t}=nn(),n=h.useCallback(r=>bn(La,{id:r.id,severity:r.severity||"all",componentDid:r.source==="system"?"system":r.componentDid||"all"}),[]);Tr(`${e}/${R.EVENTS.NOTIFICATION_BLOCKLET_CREATE}`,r=>{const o=n(r),{severity:s,description:a}=r||{},c=["error","warning"].includes(s)||r.sticky;r.source==="system"&&t(a,{variant:s,autoHideDuration:c?null:5e3,content:l=>i.jsx(cs,{viewAllUrl:o,keyId:l,notification:r,content:i.jsx(Fr,{notification:r,minimal:!0,rows:0})})})},[],"user")};function fo({blocklet:e,isAdmin:t}){return t?i.jsx(da,{blocklet:e}):i.jsx(Ar,{status:403})}fo.propTypes={blocklet:S.object.isRequired,isAdmin:S.bool.isRequired};const Da=e=>{const{t}=B(),{blocklet:n,actions:{refreshBlocklet:r},client:o,did:s}=me(),a=ne(()=>Mr(n,"settings.org.enabled",!1),[n]),c=n?.meta?.did,l=!n||Dr(n.status)?[]:P.getAppMissingConfigs(n),u={overview:[{label:t("common.overview"),value:"overview"},{label:i.jsx(Xo,{"data-cy":"blocklet-list",color:"error",variant:"dot",invisible:!l.length,children:t("common.components")}),labelText:t("common.components"),value:"components"}],"did-connect":[{label:t("common.members"),value:"members"},a?{label:t("common.orgs"),value:"orgs"}:null,{label:t("team.member.passports"),value:"passports"},{label:t("common.setting"),value:"settings"},{label:t("common.security"),value:"security"},{label:t("oauth.client.tab"),value:"oauth"}].filter(Boolean),aigne:[{label:t("setup.aigne.config"),value:"aigne-config"}],website:[{label:t("common.domains"),value:"domains"},{label:t("common.branding"),value:"branding"},{label:t("common.theming"),value:"theming"},{label:t("common.navigation"),value:"navigation"}],operations:[{label:t("common.notificationRecords"),value:"notifications",show:e},{label:t("common.analytics"),value:"analytics"},{label:t("common.auditLogs"),value:"audit-logs"},{label:t("common.advancedConfig"),value:"advanced"}],integrations:[{label:"Webhooks",value:"webhooks",show:e},{label:t("common.accessKeys"),value:"access-keys"},{label:t("common.mcpServers"),value:"mcp-servers"}],developers:[{label:t("common.logs"),value:"logs",show:n?.children?.length&&n.structVersion===R.APP_STRUCT_VERSION},{label:t("common.performance"),value:"performance"},{label:t("common.docs"),value:"docs"}]},d={overview:ia,components:Ia,members:i.jsx(oa,{type:"blocklet",createPassportSvg:Ot}),passports:i.jsx(ca,{createPassportSvg:Ot}),orgs:i.jsx(Ea,{editable:!1,mode:"dashboard",layout:"table"}),settings:i.jsx(ma,{orientation:"vertical"}),security:i.jsx(ha,{}),"did-spaces":i.jsx(pa,{navOrientation:"horizontal"}),domains:aa,branding:i.jsx(ga,{blocklet:n,onUpdate:r}),theming:i.jsx(la,{}),navigation:fa,sitemap:i.jsx(ko,{children:t("common.comingSoon")}),notifications:i.jsx(fo,{blocklet:n,isAdmin:e}),"audit-logs":i.jsx(ua,{scope:c,categories:["blocklet","team","security","certificates","gateway"]}),analytics:i.jsx(xa,{client:o,did:s}),advanced:i.jsx(ba,{blocklet:n,onUpdate:r}),webhooks:i.jsx(ra,{}),"access-keys":i.jsx(va,{}),"mcp-servers":i.jsx(Sa,{}),logs:na,performance:i.jsx(ya,{client:o,did:s}),docs:_a,publish:i.jsx(sa,{}),oauth:i.jsx(wa,{}),"aigne-config":i.jsx(E,{sx:{maxWidth:1536},children:i.jsx(ja,{})}),"aigne-observability":i.jsx(Ca,{}),"aigne-playground":i.jsx(ka,{})};return{tabGroups:u,renders:d}};function Aa(){const e=fn(),{tab:t="overview",subtab:n}=er(),{locale:r}=B(),{blocklet:o,refreshFlag:s}=me(),{session:a}=xn(),c=ne(()=>a?.user?.did,[a]),l=Kr(),u=ne(()=>a.user?.role&&gn.includes(a.user.role),[a]);Ta(c);const{tabGroups:d,renders:p}=Da(u),f=g=>{e(`${R.WELLKNOWN_SERVICE_PATH_PREFIX}/admin/${t}/${g}`)},x=(d[t]||[]).filter(g=>g.show===void 0||g.show),y=(x||[]).find(g=>g.value===n)?.value||x?.[0]?.value||t,b=p[y]||p.overview,j=["overview"].includes(t),v=o?i.jsxs(Sn,{type:"components",children:[x.length>0&&i.jsxs(E,{sx:{mb:2,display:"flex",alignItems:"center",gap:2},children:[i.jsx(Co,{tabs:x,current:y,onChange:f,scrollButtons:"auto"}),j&&!l&&i.jsx(E,{sx:{flex:1,display:"flex",justifyContent:"flex-end"},children:i.jsx(E,{component:"div",className:"page-header",children:o?i.jsx(Ut,{className:"page-actions",hasPermission:!0,blocklet:o,onStart:()=>{},onComplete:({error:g}={})=>{g&&F.error(g.message)},variant:"group"}):null})})]}),i.jsx(E,{className:"page-content",children:i.jsx(h.Suspense,{fallback:i.jsx(Ae,{relative:"parent",children:i.jsx(V,{})}),children:h.isValidElement(b)?b:i.jsx(b,{blocklet:o})})})]}):i.jsx(Ae,{relative:"parent",children:i.jsx(V,{})}),C=ne(()=>{const g=window.blocklet?.navigation?.find(M=>M.id==="/team"&&M.section==="dashboard"),k=o?.meta?.title||"";let _="";if(g){const M=W(R.WELLKNOWN_BLOCKLET_ADMIN_PATH,t,t==="publish"?n:"");_=g.items.find(We=>We.link===M)?.title?.[r]||""}const m=x.find(M=>M.value===n),O=[m?.labelText||m?.label||x?.[0]?.labelText||x?.[0]?.label||"",_].filter(Boolean).join(" - ");return k?O?`${O} | ${k}`:k:O||""},[t,n,o,r]);return i.jsx(Lr,{children:i.jsx($r,{children:i.jsx(uo,{title:C,children:i.jsxs(Ra,{children:[l&&j&&i.jsx(E,{component:"div",className:"page-header",sx:{mb:2},children:o?i.jsx(Ut,{className:"page-actions",hasPermission:!0,blocklet:o,onStart:()=>{},onComplete:({error:g}={})=>{g&&F.error(g.message)},variant:"group"}):null}),i.jsx(es,{}),i.jsx(ta,{}),v]})},`${s}`)})})}function Pa(){const{blocklet:e}=me(),t=e?.meta?.did;return h.useEffect(()=>{const n=_r();return t&&n.connect(),()=>{t&&n.isConnected()&&n.disconnect()}},[t]),i.jsx(Aa,{})}const Ra=Ue.main`
|
|
65
65
|
.page-header {
|
|
66
66
|
display: flex;
|
|
67
67
|
justify-content: space-between;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e={setup:{connect:{title:"Blocklet Server einrichten",scan:"Verwenden Sie die folgenden Methoden, um Eigentümer dieses Servers zu werden",confirm:"Überprüfen Sie diese Operation in Ihrer DID-Brieftasche",success:"Dein Konto ist mit diesem Server verbunden"},keyPair:{title:"KeyPair ableiten",scan:"Verbinden Sie Ihre DID Wallet, um ein Schlüsselpaar für diese App zu generieren",confirm:"Bitte überprüfen Sie diese Operation in Ihrer DID-Brieftasche",success:"Ihr Schlüsselpaar wird sicher gespeichert"},verify:{title:"Eigentumsnachweis erforderlich",scan:"Verbinden Sie Ihre DID-Wallet, um Besitznachweise bereitzustellen",confirm:"Überprüfen Sie diese Operation in Ihrer DID-Brieftasche",success:"Dein Konto ist mit diesem Server verbunden."},accept:{title:"Serverzertifikate akzeptieren Besitznachweise",scan:"Verbinden Sie Ihre DID-Brieftasche, um Eigentumsnachweise bereitzustellen",confirm:"Überprüfe diese Operation in deiner DID-Geldbörse",success:"Dein Konto ist mit diesem Server verbunden"},title:"Richte Blocklet-Server ein",steps:{eula:"Endnutzer-Lizenzvereinbarung",eulaFooter:"Ich habe die Bedingungen der EULA gelesen und akzeptiere sie.",connect:"Verbinde Owner-DID-Wallet",verify:"Eigentumsrechte verifizieren",basicSettings:"Grundeinstellungen",launchApp:"Starte Anwendung",complete:"Vollständig"},congratulation:"Herzlichen Glückwunsch! Dein Blocklet Server ist sicher und bereit zur Verwendung",redirectButton:"Bring mich zum Dashboard!"},login:{loginTo:"Verbinden mit",description:"Nur Serverbesitzer und genehmigte Mitglieder können auf das Dashboard zugreifen",switchDid:{title:"Konto wechseln",scan:"Verwenden Sie die folgenden Methoden, um das Konto zu wechseln",confirm:"Bestätigen Sie den Wechsel in Ihrem DID-Wallet",success:"Erfolgreich umgeschaltet"},switchSpecifiedDid:{title:"Konto wechseln",scan:"Du musst DID auf {did} umschalten, um die folgenden Aktionen abzuschließen",confirm:"Bestätige den Wechsel in deiner DID-Brieftasche",success:"Erfolgreich gewechselt"},connect:{title:"Verbinden",scan:"Nur der Serverbesitzer und genehmigte Mitglieder können auf das Dashboard zugreifen.",confirm:"Bestätigen Sie in Ihrem Konto",success:"Du bist erfolgreich verbunden"},verify:{title:"Zugang verifizieren",scan:"Verbinden Sie Ihr DID Wallet, um den Besitzer oder Admin-Pass zu präsentieren",confirm:"Bestätigen Sie in Ihrem Konto",success:"Ihr Zugang ist verifiziert",abort:"Zugriffsüberprüfung abgebrochen",description:"Sie müssen {roles} Reisepass vorlegen, um diesen Vorgang durchzuführen. Sie werden nur nach 1 Stunde Inaktivität erneut um eine Bestätigung gebeten.",descriptionForDestroy:"Sie müssen einen {roles} Reisepass vorlegen, um diese gefährliche Operation durchzuführen und die Sicherheit zu gewährleisten."},login:"Verbinden",termsOfUse:"Nutzungsbedingungen",agreeTermsOfUse:"Ich bestätige, dass ich die geltenden gelesen und akzeptiert habe"},acceptServer:{title:"Behauptung Server mit Ownership NFT",tooltip:"Wenn Sie ein Server-Besitzernft erhalten haben, können Sie Ihren Eigentümerpass mit diesem Link beanspruchen."},exchangePassport:{title:"Passeport gegen NFT austauschen",success:"Sie haben Ihren Reisepass erfolgreich ausgetauscht und sich mit dem Reisepass angemeldet",login:"Anmelden",dialog:{title:"Holen Sie sich den Pass mit NFT",scan:"Verbinden Sie Ihre DID-Wallet, um Ihr NFT vorzustellen und einen Reisepass zu erhalten",confirm:"Wähle NFT in deiner DID Wallet aus",success:"Der Reisepass wurde erfolgreich ausgetauscht"},tooltip1:"Wenn Sie einen NFT aus der Sammlung besitzen,",tooltip2:"Sie können Ihren Reisepass über diesen Link tauschen."},payablePassport:{title:"Pass mit Zahlung kaufen",tooltip:"Wenn Sie keinen Reisepass haben, können Sie über diesen Link einen Reisepass erwerben."},sidebar:{dashboard:"Dashboard",blocklets:"Blocklets",console:"Konsole",settings:"Einstellungen"},system:{total:"Gesamt",used:"Benutzt",free:"Frei",cores:"Anzahl der Kerne",instances:"Anzahl der Instanzen"},common:{invalid:"Ungültig",about:"Über",access:"Zugriff",accessKey:"Zugriffsschlüssel",action:"Aktion",actions:"Aktionen",add:"Hinzufügen",address:"Adresse",afterTime:"Nach {time}",allow:"Erlauben",alreadyExist:"Existiert bereits",approve:"Genehmigen",approved:"Genehmigt",appUrl:"APP-URL",auditLogs:"Prüfspur",author:"Autor",avatar:"Avatar",back:"Zurück",basic:"Grundlegend",basicInfo:"Grundinformation",profile:"Profil",bind:"Binden",blocklet:"Blocklet",blocklets:"Blocklets",blockletsStorage:"Blocklets-Speicher",cacheStorage:"Cache-Speicher",cancel:"Abbrechen",certificate:"Zertifikat",category:"Protokollthema",click:"Klicken zum Kopieren",close:"Schließen",selectAll:"Alle auswählen",unselectAll:"Alle abwählen",collapseAll:"Alles zusammenklappen",community:"Community URL",complete:"Komplett",componentBasicInfo:"Komponentengrundinformation",components:"Blocklets",config:"Konfigurieren",configuration:"Konfiguration",appearance:"Aussehen",configNavigation:"Navigation",configSuccess:"Konfiguration erfolgreich",confirm:"Bestätigen",connect:"Verbinden",console:"Konsole",continue:"Weitermachen",continueWith:"Weitermachen mit",copiedTip:"Kopiert",copyAndClose:"Kopieren & Schließen",copyTip:"Klicken zum Kopieren",coreStorage:"Kernspeicher",cpu:"CPU",create:"Erstellen",createSuccess:"Erstelle Zugriffsschlüssel",created:"Erstellt am",createdAt:"Erstellt am",createdBy:"Erstellt von",dAddress:"Dezentrale Identifikatoren (DID)",dataStorage:"Speicher auf lokaler Festplatte",delConfirm:"Löschen",delConfirmDescription:"Bestätigen Sie das Löschen von {data}?",delete:"Löschen",dependents:"Abhängige",description:"Beschreibung",detail:"Detail",did:"HAST",disk:"Festplatte",diskInfo:"Festplatteninformation",docker:"IST Docker",documentation:"Dokumentation",domain:"Domain",downgradeTo:"Herabstufung auf",download:"Downloaden",downloading:"Herunterladen",edit:"Bearbeiten",email:"E-Mail",phone:"Telefon",empty:"Leer",emptyData:"Keine Ergebnisse gefunden",enable:"Aktivieren",engine:"Motor",env:"Umgebung",environment:"Umgebung",expandAll:"Alle erweitern",expired:"Abgelaufen",expires:"Läuft ab",export:"Exportieren",externalIp:"Externe IP",failed:"Fehlgeschlagen",filter:"Protokollfilter",fingerprint:"Fingerabdruck",finish:"Fertig",forbid:"Verbieten",free:"Frei",general:"Allgemein",gitpod:"IST Gitpod",goEULA:"Klicken Sie hier, um die 'Endbenutzer-Lizenzvereinbarung' anzuzeigen",group:"Gruppe",image:"IST Bild",install:"Installieren",installed:"Installiert",installedAt:"Installiert bei",installSuccess:"Erfolgreich installiert",installing:"Installieren",internalIp:"Interne IP",introduction:"Einführung",invite:"Einladen",inviting:"Einladen",ip:"IP",isPublic:"Öffentlich",issue:"Problem",issuer:"Emittent",item:"Artikel",joined:"Beigetreten",key:"Schlüssel",lastPublishedAt:"Veröffentlicht am",launcher:"Starterinformationen",leavePageTip:"Bist du sicher, die Seite zu verlassen?",link:"Link",loading:"Laden",log:"Logs anzeigen",logStorage:"Protokollspeicherung",login:"Anmelden",logo:"Logo",logout:"Abmelden",logs:"Protokolle",manageTeam:"Team verwalten",marketplace:"Marktplatz",member:"Mitglied",members:"Mitglieder",memory:"Erinnerung",meta:"Meta Daten",analytics:"Analytik",runtime:"Laufzeit",traffic:"Verkehr",more:"Mehr",mountPoint:"Berggipfel",name:"Name",next:"Nächstes",no:"Nein",noData:"Keine Einträge vorhanden",notice:"Unerwartete schlechte Dinge werden passieren, wenn Sie dies nicht lesen!",noticeTitle:"Hinweis",notification:"Benachrichtigung",open:"Öffnen",management:"Management",os:"Betriebssystem",overview:"Übersicht",owner:"Besitzer",page404:"404 Seite",passport:"Pass",permission:"Genehmigung",port:"Hafen",pre:"Vorherige",preferences:"Präferenzen",preview:"Vorschau",protected:"Geschützt",protocol:"Protokoll",purchase:"Kauf",readMore:"Mehr",redirect:"Umleiten",redirectCode:"Weiterleitungscode",redirectPermanently:"Permanente Weiterleitung",redirectTemporary:"Temporäre Umleitung",redirectUrl:"Weiterleitungs-URL",rewrite:"Umformulieren",release:"Freigabe",rewriteUrl:"URL umschreiben",reject:"Ablehnen",reload:"Neu laden",remark:"Bemerkung",remove:"Entfernen",removeSuccess:"Erfolgreich entfernt",renew:"Erneuern",reportIssue:"Melde ein Problem",required:"Erforderlich",requiredErrorText:"{name} wird benötigt",resource:"Ressource",restart:"Neustart",restore:"Wiederherstellen",retry:"Wiederholen",revoke:"Widerrufen",role:"Rolle",running:"Laufen",runtimeInfo:"Laufzeitinformationen",save:"Speichern",saveChanges:"Änderungen speichern",saveSuccess:"Erfolgreich gespeichert",scheduleFailed:"Terminkalender fehlgeschlagen",scheduleSuccess:"Erfolgreich geplant",scope:"Bereich",screenshot:"Screenshots",search:"Suche",security:"Sicherheit",serverDid:"Server DID",serverVersion:"Serverversion",setting:"Einstellungen",start:"Start",status:"Status",stop:"Stopp",storage:"Speicher",backup:"Backup",store:"Geschäft",succeeded:"Erfolgreich",subscription:"Abonnement",support:"Support-URL oder E-Mail",switch:"Schalter",team:"Team",the:"Der",timeAgo:"{time} vor",title:"Titel",type:"Typ",unavailable:"Nicht verfügbar",update:"Aktualisieren",updateAvailable:"Neue Version {version} verfügbar",updatedAt:"Aktualisiert am",updatedBy:"Aktualisiert von",upgrade:"Upgrade",upgradeTo:"Upgrade auf",upgrading:"Upgrade",uptime:"Betriebszeit",url:"URL",valid:"Gültig",value:"Wert",version:"Version",visit:"Besuch",waiting:"Warten",webhook:"Integrationen",yes:"Ja",invalidParam:"Ungültige Parameter",launch:"Start",price:"Preis",redirecting:"Umleitung",error:"Fehler",reminder:"Erinnerung",normal:"Normal",gateway:"Gateway",verifyNFT:"Verifizieren Sie NFT",errorMessage:"Fehlermeldung",slugifyHint:"Der tatsächliche Einhängepunkt wird sein: {value}",strategy:"Strategie",auto:"Auto",manual:"Handbuch",progress:"In Bearbeitung",startTime:"Startzeit",endTime:"Endzeit",timeoutError:"Zeitüberschreitungsfehler",tags:"Tags",connectToStore:"Verbinden Sie mit dem Geschäft",uploaded:"Hochgeladen",upload:"Hochladen",blockletStudio:"Studio",visitStore:"Besuche den Laden",reconnect:"Verbinden wiederherstellen",change:"Ändern",disconnect:"Verbindung trennen",sourceApp:"Zur App gehörend",visitTarget:"Besuchen Sie {name}",upgradeServer:"Server aktualisieren",display:"Anzeige",requiredInputPlaceholder:"Bitte geben Sie {name} ein",refresh:"Aktualisieren",moveUp:"Nach oben verschieben",moveDown:"Nach unten verschieben",enabled:"Aktiviert",disabled:"Deaktiviert",homepage:"Startseite",buy:"Kaufen",view:"Anzeigen",homepageTip:"Startseite oder Live-Demo-URL",repository:"Repository",expand:"Erweitern",collapse:"Zusammenklappen",all:"Alle",notificationRecords:"Benachrichtigungen",unrecordedUser:"Nicht erfasster Name",unrecordedRole:"Nicht aufgezeichnete Rolle",auditLogsSearch:"Nach Aktion oder Inhalt suchen",optional:"Optional",bugOrConnectDomain:"Domain kaufen oder verbinden",bugOrConnectDomainTip:"Eine Domain ist die eindeutige Adresse Ihrer Website im Internet. Sie können eine neue Domain bei DID Names oder einem anderen Domain-Registrar kaufen oder eine bereits vorhandene Domain konfigurieren.",connectExistingDomain:"Verbinde bestehende Domain",domains:"Domains",didDomains:"DID-Domains",manualDomains:"Meine Domains",didDomainsDescription:"Die folgenden Domains werden automatisch vom DID:Names-Dienst verwaltet.",systemDomains:"System zugewiesen",systemDomainsDescription:"Die folgenden Domains werden standardmäßig automatisch zugewiesen. Sie sind zwar zugänglich, jedoch nicht für die Produktion vorgesehen und sollten nicht mit Kunden geteilt werden. Diese Domains dienen hauptsächlich Entwicklungs-Zwecken.",manualDomainsDescription:"Die folgenden Domains werden von Ihrem Domain-Provider verwaltet und manuell hierhin verlinkt.",fileCount:"Dateianzahl",fileSize:"Dateigröße",time:"Zeit",less:"Weniger",timeInfo:"Zeitpunkt",operator:"Operator",inviter:"Einlader",clear:"Löschen",ok:"OK",minutes:"Minuten",hours:"Stunden",hour:"Stunde",days:"Tage",day:"Tag",weeks:"Wochen",months:"Monate",custom:"Benutzerdefiniert",environments:"Umgebungen",sites:"Websites",active:"Aktiv",backupTime:"Sicherungszeitpunkt",lastUsedAt:"Zuletzt verwendet am",expiredAt:"Ablaufdatum",createdVia:"Erstellt über",neverExpired:"Nie",baseInfo:"Grundlegende Informationen",otherInfo:"Weitere Informationen",lightMode:"Hellmodus",darkMode:"Dunkelmodus",advancedConfig:"Erweitert",document:"Dokument",mcpServers:"MCP-Server",generate:"Generieren",copy:"Kopieren",copied:"Kopiert",orgs:"Organisationen"},blocklet:{external:"Extern",notFound:"Blocklet auf diesem Server nicht gefunden, vielleicht wurde es gelöscht",installFromMarket:"Installiere neue Blocklets",installFromUrl:"Installiere von URL",installFromCreate:"Erstellen Sie Blocklet",installFromDiskBackup:"Wiederherstellen von diesem Server",installedAt:"Installiert am",internal:"Intern",startedAt:"Gestartet um",stoppedAt:"Gestoppt bei",urlEmptyTip:"Kein Zugriffs-URL",goToAddRule:"Gehe zu Hinzufügen",services:"Öffentliche Dienste",upstreamPort:"Upstream-Anschluss",noService:"Keine Dienstleistungen",appId:"App DID",appPid:"Permanente DID",alsoKnownAs:"Auch bekannt als",skSource:"Besitzer Wallet",reloadSuccess:"Blocklet wurde erfolgreich neu geladen",statusTip:"Blocklet ist {status}",initialUptime:"Weniger als 1m",dashboard:"Blocklet-Dashboard",noComponent:"Die Anwendung hat keine Komponenten und kann nicht gestartet werden",fromUrl:{title:"Blocklet installieren",label:"Blocklet Meta URL",description:"Die URL sollte auf die Meta-Datei des Blocklets zeigen. Wenn Sie auf eine lokale Datei verweisen möchten, fügen Sie bitte das Präfix file:// hinzu, z.B. file:///Users/foo/blocklet.json.",confirm:"Installieren",step0:"Eingabe-URL",step1:"Bestätige Metadaten",existTipPrefix:"Blocklet mit der gleichen DID existiert bereits, die Version ist",existTipSuffix:"Bitte installieren Sie eine höhere Version."},action:{stopDescription:"Das Stoppen des Blocklets macht seine öffentlichen Schnittstellen unzugänglich, was zu Fehlern für Endbenutzer führen kann",stopComponentDescription:"Das Stoppen des Komponenten macht ihre öffentlichen Schnittstellen unzugänglich, was möglicherweise zu Fehlern für Endbenutzer führen kann.",confirmStop:"Ja, Hör auf",cancelDownloadDescription:"Download von {name} abbrechen?",removeApplicationDescription:"Das Entfernen der Anwendung löscht den von dieser Anwendung generierten Code und die Daten, die nicht wiederhergestellt werden können, wenn Sie keine Sicherungskopien haben",removeApplicationAfterBackup:"Sichern und entfernen Sie die Anwendung. Sie können die Anwendung von diesem Server wiederherstellen, wenn Sie sie benötigen.",removeApplicationComplete:"Entferne sowohl den Code als auch die Daten für diese Anwendung",removeComponentDescription:"Das Entfernen der Komponente löscht den vom Komponente generierten Code und Daten, die nicht wiederhergestellt werden können, wenn Sie keine Sicherungskopien haben.",removeComponentKeepData:"Behalte die Daten für dieses Bauteil, entferne nur den Code",removeComponentComplete:"Entferne sowohl den Code als auch die Daten für diese Komponente",confirmRemove:"Ja, entferne es",confirmComponentRemove:"Ja, Entferne es",upgradeDescription:"Das Upgrade des Blocklets wird es vorübergehend nicht verfügbar machen. Sind Sie sicher, dass Sie fortfahren möchten?",confirmUpgrade:"Ja, aktualisieren Sie es",confirmRestart:"Ja, starte es neu",restartDescription:"Das Blocklet wird vorübergehend angehalten und könnte aufgrund einer Konfigurationsänderung möglicherweise nicht neu gestartet werden."},dev:{modeTip:"Bitte schalten Sie den Blocklet Server in den DEBUG-Modus um"},index:{tableTitle:"Verwalten Sie Ihre Blocklets",noBlocklet:"Keine Blocklets in diesem Blocklet Server gefunden, installieren Sie ein Blocklet aus dem Marktplatz, um zu beginnen."},config:{name:"App-Name",description:"App-Beschreibung",logoSquare:"App-Logo",logoRect:"Website-Logo",logoRectDesc:"Verwendet in: Website-Header und -Footer, fällt auf App-Logo zurück, wenn nicht konfiguriert",logoFavicon:"Favicon",logoFaviconDesc:"Verwendung: Browser-Adressleiste und Tab, falls nicht konfiguriert, wird auf das App-Logo zurückgegriffen",clusterSize:"Instanzanzahl beim Ausführen dieses Blockets im Cluster-Modus",copyrightOwner:"Urheberrechtsinhaber",copyrightYear:"Copyright Jahr",deletable:{name:"Lösche Schutz",enable:"Dieses Blocklet kann derzeit NICHT gelöscht werden",disable:"Dieses Blocklet kann derzeit gelöscht werden."},walletType:{name:"Brieftasche-Typ",description:"Blocklet Instanz Wallet Typ, wird die abgeleitete DID ändern"},languages:"Unterstützte Sprachen",selectLanguagesTip:"Passe die Reihenfolge an, indem du entfernst und erneut hinzufügst",languagesSearch:"Suche nach dem lokalen Namen, englischen Namen oder ISO-Code des Landes...",passportColor:"Passfarbe",appUrl:"App-URL",access:{title:"Wer kann zugreifen?",description:"Wählen Sie die Zugriffssteuerung für Ihre Anwendung.",useDefault:"Verwenden Sie die Standardeinstellungen",defaultDescription:"Verwenden Sie die Standardkonfiguration der Anwendung",whoCanAccess:{all:{title:"Für alle geöffnet",description:"Offen für die Welt, jeder kann ohne Reisepass darauf zugreifen"},owner:{title:"Nur für Eigentümer",description:"Sie müssen den Besitzerpass vorlegen, um auf diese Anwendung zugreifen zu können"},invited:{title:"Nur auf Einladung",description:"Nur eingeladene Mitglieder haben Zugriff."}},publicToStore:"Öffentlich im Geschäft",publicInstanceTip:"Die Zugriffsadresse dieses Blocklets wird im Store angezeigt (zusammen mit Ihrer DID zur Entgegennahme von Spenden)",updatedTip:"Zugriffskontrolle geändert"},changedTip:"Konfiguration aktualisiert, bitte Blocklet neu starten",missingRequired:"Fehlende erforderliche Konfiguration, um das Blocklet zu starten",gotoFix:"Gehe zur Reparatur",environment:{key:"Konfigurationsschlüssel",value:"Konfigurationswert",keyValueRequired:"Konfigurationsschlüssel und Wert müssen angegeben werden",invalidKey:"Die Konfigurationsschlüssel dürfen nicht mit BLOCKLET_ oder COMPONENT_ beginnen.",deleteForbidden:"Diese Konfiguration ist erforderlich und sollte nicht gelöscht werden",tip:"Konfigurationen, die mit BWA_ beginnen, sollten keine sensiblen Informationen enthalten, da sie an den Browser gesendet werden."},dangerZone:"Gefahrenzone",sharedToAllComponents:"Wird an alle Komponenten geteilt werden",session:{ttl:"Der Benutzer wird aufgefordert, sich erneut anzumelden, wenn er {day} Tage lang keine Aktivität auf dieser Website hat.",day:"{day} Tag",days:"{day} Tage",period:"Sitzung Gültigkeitsdauer",profile:"Benutzerprofilanforderungen",cacheTtl:"Cache-Dauer für Benutzersitzungsdaten (in Sekunden)",fullNameEnabled:"Benutzernamen bei der Anmeldung anfordern (standardmäßig aktiviert)",avatarEnabled:"Benutzerfoto beim Anmelden anfordern (standardmäßig aktiviert)",emailEnabled:"Benutzer-E-Mail bei Anmeldung anfordern",emailRequireVerified:"Benutzer-E-Mail muss vor dem Login verifiziert werden",emailRequireUnique:"Benötigen Sie die E-Mail des Benutzers, um eindeutig über alle Benutzer hinweg zu sein",phoneEnabled:"Benutzer-Telefonnummer bei der Anmeldung anfordern (noch nicht unterstützt)",phoneRequireVerified:"Benutzerhandynummer muss vor der Anmeldung überprüft werden",phoneRequireUnique:"Benötigen Sie eine eindeutige Telefonnummer für Benutzer in der gesamten Benutzerbasis",emailTrustOauthProviders:"Vertraue OAuth-Anbietern für den E-Mail-Verifizierungsstatus",enableDomainBlackList:"E-Mail-Domäne Blacklist aktivieren (abgelehnte E-Mail-Domains)",enableDomainWhiteList:"Aktiviere E-Mail-Domänen-Whitelist (nur aufgeführte E-Mail-Domänen zur Anmeldung zulassen)",addDomain:"Füge eine Quelle hinzu, um die Liste abzurufen (im Klartextformat, eine Domain pro Zeile)",enableBlacklist:"Anmelde-Token & Aktualisierungs-Token Widerruf aktivieren",experimentalSettings:"Experimentelle Einstellungen"},clearCache:{name:"Cache-Verwaltung",purpose:"Verwalten Sie Dateien, die im Router und Blocklet-Dienst zwischengespeichert sind",title:"Cache löschen bestätigen?",action:"Cache löschen",success:"Erfolgreich {count} Cache-Einträge gelöscht",description:"Bist du sicher, dass du zwischengespeicherte Dateien im Router und Blocklet-Service löschen möchtest? Diese Operation kann in naher Zukunft zu einer leichten Leistungseinbuße führen."},tenantMode:{name:"Multi-Tenant-Modus",multiple:"Dieses Blocklet läuft im Mehrmandantenmodus, Daten sollten für jeden Mandanten isoliert sein",single:"Dieser Blocklet läuft im Einzelmandantenmodus, alle Daten werden geteilt."},splashPortrait:"Startbilder",splashLandscape:"Willkommen Iandschaft",splashPortraitDesc:"Angezeigt, wenn das Blocklet gestartet wird. PNG oder JPG Format, empfohlenes Seitenverhältnis 9:16 für Hochformat und 16:9 für Querformat (max. 5 MB)",rotateSessionKey:{name:"Session-Salz-Rotation",purpose:"Sitzungs-Salt ist ein Zufallswert zur Erhöhung der Sicherheit von Sitzungs-Token. Klicken Sie auf die Schaltfläche, um den Sitzungs-Salt manuell zu rotieren. Dies hilft, das Risiko einer Kompromittierung des Anmelde-Tokens zu verringern.",title:"Sitzungssalzrotation bestätigen?",action:"Salz rotieren",success:"Session-Salt erfolgreich rotiert",description:"Sind Sie sicher, dass Sie das Sitzungs-Salt rotieren möchten? Diese Operation macht alle bestehenden Login-Tokens ungültig und zwingt Benutzer, sich erneut anzumelden, einschließlich Ihres eigenen Login-Tokens."},ogImage:"Open Graph-Hintergrund",ogImageDesc:"Verwendet in: Social-Media-Sharing-Hintergrund",migrate:{button:"Migration mit DID Wallet",title:"DID-Änderung bestätigen",description:"Wenn Sie mit einem serververwalteten Wallet starten, können Sie die Anwendungs-DID zu Ihrem eigenen Wallet ändern.",confirm:"Sind Sie sicher, dass Sie die Anwendungs-DID ändern möchten? Diese Aktion macht alle bestehenden Sitzungen ungültig und zwingt Benutzer, sich erneut anzumelden, einschließlich Ihrer eigenen Sitzung."},vault:{name:"Vault DID",title:"Vault einrichten",desc:"Verwenden Sie Vault, um eine zusätzliche Sicherheitsebene für die von diesem Blocklet verwalteten Gelder hinzuzufügen",tip:"Geben Sie die Tresoradresse ein, um fortzufahren, Sie müssen den Besitz der Tresoradresse nachweisen, bevor sie verwendet werden kann.",address:"Tresoradresse",verified:"Vault ist verifiziert",current:"Aktueller Tresor",error:{invalid:"Die Vault-Adresse muss eine gültige DID sein",holder:"Vault-Adresse muss ein gültiger Token-Inhaber in der Blockchain sein, Token/Asset/Factory/Stake-Adressen werden nicht unterstützt.",duplicate:"Diese Vault-Adresse wurde bereits verwendet, bitte verwenden Sie eine andere.",appDid:"Kann Anwendungs-DID nicht als Tresoradresse verwenden, bitte eine andere verwenden"},role:"Rollenart",firstSeen:"Erstmals gesehen",lastSeen:"Zuletzt gesehen",migratedFrom:"Migriert von",migratedTo:"Migriert zu",commit:{title:"Verifizieren Sie den Vault-Besitz",scan:"Verwenden Sie die folgenden Methoden, um den Besitz des Tresors zu überprüfen",confirm:"Bestätigen mit DID Wallet",success:"Vault ist erfolgreich konfiguriert"},approve:{title:"Genehmigung der Tresoränderung",byOwner:"Mit dem Blocklet-Besitzer unterschreiben, um die Änderung zu genehmigen",byLast:"Mit dem letzten Vault die Änderung genehmigen",confirm:"Mit DID Wallet bestätigen",success:"Tresoränderung genehmigt"}},changeImageTip:"Tipp: Klicken Sie auf Vorschaubild, um das Bild zu ändern.",baseInfo:"Grundinformationen",baseInfoDesc:"Hier können die grundlegenden Informationen der Website festgelegt werden.",logoSettings:"Visuelle Information",logoSettingsDesc:"Gestalten Sie ein einzigartiges Markenimage, verbessern Sie die Wiedererkennung und die visuelle Attraktivität der Website in verschiedenen Szenarien.",languagesDesc:"Verwendet in: Auswahl der Besucher Sprache",nameDesc:"Verwendet in: DID Connect-Header, Browser-Tab, Website-Footer, SEO-Metadaten und OpenGraph-Metadaten",descriptionDesc:"Verwendet in: SEO-Metadaten und OpenGraph-Metadaten",logoSquareDesc:"Verwendet in: Fußzeile des Benutzerauthentifizierungsdialogs und <b>DID Wallet</b> App-Liste",logoDesc:"Empfohlene Größe: {width} × {height} Pixel",splashDesc:`ArcSphere APP-Startbildschirm (wird in <b>ArcSphere</b> angezeigt, falls konfiguriert)
|
|
1
|
+
const e={setup:{connect:{title:"Blocklet Server einrichten",scan:"Verwenden Sie die folgenden Methoden, um Eigentümer dieses Servers zu werden",confirm:"Überprüfen Sie diese Operation in Ihrer DID-Brieftasche",success:"Dein Konto ist mit diesem Server verbunden"},keyPair:{title:"KeyPair ableiten",scan:"Verbinden Sie Ihre DID Wallet, um ein Schlüsselpaar für diese App zu generieren",confirm:"Bitte überprüfen Sie diese Operation in Ihrer DID-Brieftasche",success:"Ihr Schlüsselpaar wird sicher gespeichert"},verify:{title:"Eigentumsnachweis erforderlich",scan:"Verbinden Sie Ihre DID-Wallet, um Besitznachweise bereitzustellen",confirm:"Überprüfen Sie diese Operation in Ihrer DID-Brieftasche",success:"Dein Konto ist mit diesem Server verbunden."},accept:{title:"Serverzertifikate akzeptieren Besitznachweise",scan:"Verbinden Sie Ihre DID-Brieftasche, um Eigentumsnachweise bereitzustellen",confirm:"Überprüfe diese Operation in deiner DID-Geldbörse",success:"Dein Konto ist mit diesem Server verbunden"},title:"Richte Blocklet-Server ein",steps:{eula:"Endnutzer-Lizenzvereinbarung",eulaFooter:"Ich habe die Bedingungen der EULA gelesen und akzeptiere sie.",connect:"Verbinde Owner-DID-Wallet",verify:"Eigentumsrechte verifizieren",basicSettings:"Grundeinstellungen",launchApp:"Starte Anwendung",complete:"Vollständig"},congratulation:"Herzlichen Glückwunsch! Dein Blocklet Server ist sicher und bereit zur Verwendung",redirectButton:"Bring mich zum Dashboard!"},login:{loginTo:"Verbinden mit",description:"Nur Serverbesitzer und genehmigte Mitglieder können auf das Dashboard zugreifen",switchDid:{title:"Konto wechseln",scan:"Verwenden Sie die folgenden Methoden, um das Konto zu wechseln",confirm:"Bestätigen Sie den Wechsel in Ihrem DID-Wallet",success:"Erfolgreich umgeschaltet"},switchSpecifiedDid:{title:"Konto wechseln",scan:"Du musst DID auf {did} umschalten, um die folgenden Aktionen abzuschließen",confirm:"Bestätige den Wechsel in deiner DID-Brieftasche",success:"Erfolgreich gewechselt"},connect:{title:"Verbinden",scan:"Nur der Serverbesitzer und genehmigte Mitglieder können auf das Dashboard zugreifen.",confirm:"Bestätigen Sie in Ihrem Konto",success:"Du bist erfolgreich verbunden"},verify:{title:"Zugang verifizieren",scan:"Verbinden Sie Ihr DID Wallet, um den Besitzer oder Admin-Pass zu präsentieren",confirm:"Bestätigen Sie in Ihrem Konto",success:"Ihr Zugang ist verifiziert",abort:"Zugriffsüberprüfung abgebrochen",description:"Sie müssen {roles} Reisepass vorlegen, um diesen Vorgang durchzuführen. Sie werden nur nach 1 Stunde Inaktivität erneut um eine Bestätigung gebeten.",descriptionForDestroy:"Sie müssen einen {roles} Reisepass vorlegen, um diese gefährliche Operation durchzuführen und die Sicherheit zu gewährleisten."},login:"Verbinden",termsOfUse:"Nutzungsbedingungen",agreeTermsOfUse:"Ich bestätige, dass ich die geltenden gelesen und akzeptiert habe"},acceptServer:{title:"Behauptung Server mit Ownership NFT",tooltip:"Wenn Sie ein Server-Besitzernft erhalten haben, können Sie Ihren Eigentümerpass mit diesem Link beanspruchen."},exchangePassport:{title:"Passeport gegen NFT austauschen",success:"Sie haben Ihren Reisepass erfolgreich ausgetauscht und sich mit dem Reisepass angemeldet",login:"Anmelden",dialog:{title:"Holen Sie sich den Pass mit NFT",scan:"Verbinden Sie Ihre DID-Wallet, um Ihr NFT vorzustellen und einen Reisepass zu erhalten",confirm:"Wähle NFT in deiner DID Wallet aus",success:"Der Reisepass wurde erfolgreich ausgetauscht"},tooltip1:"Wenn Sie einen NFT aus der Sammlung besitzen,",tooltip2:"Sie können Ihren Reisepass über diesen Link tauschen."},payablePassport:{title:"Pass mit Zahlung kaufen",tooltip:"Wenn Sie keinen Reisepass haben, können Sie über diesen Link einen Reisepass erwerben."},sidebar:{dashboard:"Dashboard",blocklets:"Blocklets",console:"Konsole",settings:"Einstellungen"},system:{total:"Gesamt",used:"Benutzt",free:"Frei",cores:"Anzahl der Kerne",instances:"Anzahl der Instanzen"},common:{invalid:"Ungültig",about:"Über",access:"Zugriff",accessKey:"Zugriffsschlüssel",action:"Aktion",actions:"Aktionen",add:"Hinzufügen",address:"Adresse",afterTime:"Nach {time}",allow:"Erlauben",alreadyExist:"Existiert bereits",approve:"Genehmigen",approved:"Genehmigt",appUrl:"APP-URL",auditLogs:"Prüfspur",author:"Autor",avatar:"Avatar",back:"Zurück",basic:"Grundlegend",basicInfo:"Grundinformation",profile:"Profil",bind:"Binden",blocklet:"Blocklet",blocklets:"Blocklets",blockletsStorage:"Blocklets-Speicher",cacheStorage:"Cache-Speicher",cancel:"Abbrechen",certificate:"Zertifikat",category:"Protokollthema",click:"Klicken zum Kopieren",close:"Schließen",selectAll:"Alle auswählen",unselectAll:"Alle abwählen",collapseAll:"Alles zusammenklappen",community:"Community URL",complete:"Komplett",componentBasicInfo:"Komponentengrundinformation",components:"Blocklets",config:"Konfigurieren",configuration:"Konfiguration",appearance:"Aussehen",configNavigation:"Navigation",configSuccess:"Konfiguration erfolgreich",confirm:"Bestätigen",connect:"Verbinden",console:"Konsole",continue:"Weitermachen",continueWith:"Weitermachen mit",copiedTip:"Kopiert",copyAndClose:"Kopieren & Schließen",copyTip:"Klicken zum Kopieren",coreStorage:"Kernspeicher",cpu:"CPU",create:"Erstellen",createSuccess:"Erstelle Zugriffsschlüssel",created:"Erstellt am",createdAt:"Erstellt am",createdBy:"Erstellt von",dAddress:"Dezentrale Identifikatoren (DID)",dataStorage:"Speicher auf lokaler Festplatte",delConfirm:"Löschen",delConfirmDescription:"Bestätigen Sie das Löschen von {data}?",delete:"Löschen",dependents:"Abhängige",description:"Beschreibung",detail:"Detail",did:"HAST",disk:"Festplatte",diskInfo:"Festplatteninformation",docker:"IST Docker",documentation:"Dokumentation",domain:"Domain",downgradeTo:"Herabstufung auf",download:"Downloaden",downloading:"Herunterladen",edit:"Bearbeiten",email:"E-Mail",phone:"Telefon",empty:"Leer",emptyData:"Keine Ergebnisse gefunden",enable:"Aktivieren",engine:"Motor",env:"Umgebung",environment:"Umgebung",expandAll:"Alle erweitern",expired:"Abgelaufen",expires:"Läuft ab",export:"Exportieren",externalIp:"Externe IP",failed:"Fehlgeschlagen",filter:"Protokollfilter",fingerprint:"Fingerabdruck",finish:"Fertig",forbid:"Verbieten",free:"Frei",general:"Allgemein",gitpod:"IST Gitpod",goEULA:"Klicken Sie hier, um die 'Endbenutzer-Lizenzvereinbarung' anzuzeigen",group:"Gruppe",image:"IST Bild",install:"Installieren",installed:"Installiert",installedAt:"Installiert bei",installSuccess:"Erfolgreich installiert",installing:"Installieren",internalIp:"Interne IP",introduction:"Einführung",invite:"Einladen",inviting:"Einladen",ip:"IP",isPublic:"Öffentlich",issue:"Problem",issuer:"Emittent",item:"Artikel",joined:"Beigetreten",key:"Schlüssel",lastPublishedAt:"Veröffentlicht am",launcher:"Starterinformationen",leavePageTip:"Bist du sicher, die Seite zu verlassen?",link:"Link",loading:"Laden",log:"Logs anzeigen",logStorage:"Protokollspeicherung",login:"Anmelden",logo:"Logo",logout:"Abmelden",logs:"Protokolle",manageTeam:"Team verwalten",marketplace:"Marktplatz",member:"Mitglied",members:"Mitglieder",memory:"Erinnerung",meta:"Meta Daten",analytics:"Analytik",runtime:"Laufzeit",traffic:"Verkehr",more:"Mehr",mountPoint:"Berggipfel",name:"Name",next:"Nächstes",no:"Nein",noData:"Keine Einträge vorhanden",notice:"Unerwartete schlechte Dinge werden passieren, wenn Sie dies nicht lesen!",noticeTitle:"Hinweis",notification:"Benachrichtigung",open:"Öffnen",management:"Management",os:"Betriebssystem",overview:"Übersicht",owner:"Besitzer",page404:"404 Seite",passport:"Pass",permission:"Genehmigung",port:"Hafen",pre:"Vorherige",preferences:"Präferenzen",preview:"Vorschau",protected:"Geschützt",protocol:"Protokoll",purchase:"Kauf",readMore:"Mehr",redirect:"Umleiten",redirectCode:"Weiterleitungscode",redirectPermanently:"Permanente Weiterleitung",redirectTemporary:"Temporäre Umleitung",redirectUrl:"Weiterleitungs-URL",rewrite:"Umformulieren",release:"Freigabe",rewriteUrl:"URL umschreiben",reject:"Ablehnen",reload:"Neu laden",remark:"Bemerkung",remove:"Entfernen",removeSuccess:"Erfolgreich entfernt",renew:"Erneuern",reportIssue:"Melde ein Problem",required:"Erforderlich",requiredErrorText:"{name} wird benötigt",resource:"Ressource",restart:"Neustart",restore:"Wiederherstellen",retry:"Wiederholen",revoke:"Widerrufen",role:"Rolle",running:"Laufen",runtimeInfo:"Laufzeitinformationen",save:"Speichern",saveChanges:"Änderungen speichern",saveSuccess:"Erfolgreich gespeichert",scheduleFailed:"Terminkalender fehlgeschlagen",scheduleSuccess:"Erfolgreich geplant",scope:"Bereich",screenshot:"Screenshots",search:"Suche",security:"Sicherheit",serverDid:"Server DID",serverVersion:"Serverversion",setting:"Einstellungen",start:"Start",status:"Status",stop:"Stopp",storage:"Speicher",backup:"Backup",store:"Geschäft",succeeded:"Erfolgreich",subscription:"Abonnement",support:"Support-URL oder E-Mail",switch:"Schalter",team:"Team",the:"Der",timeAgo:"{time} vor",title:"Titel",type:"Typ",unavailable:"Nicht verfügbar",update:"Aktualisieren",updateAvailable:"Neue Version {version} verfügbar",updatedAt:"Aktualisiert am",updatedBy:"Aktualisiert von",upgrade:"Upgrade",upgradeTo:"Upgrade auf",upgrading:"Upgrade",uptime:"Betriebszeit",url:"URL",valid:"Gültig",value:"Wert",version:"Version",visit:"Besuch",waiting:"Warten",webhook:"Integrationen",yes:"Ja",invalidParam:"Ungültige Parameter",launch:"Start",price:"Preis",redirecting:"Umleitung",error:"Fehler",reminder:"Erinnerung",normal:"Normal",gateway:"Gateway",verifyNFT:"Verifizieren Sie NFT",errorMessage:"Fehlermeldung",slugifyHint:"Der tatsächliche Einhängepunkt wird sein: {value}",strategy:"Strategie",auto:"Auto",manual:"Handbuch",progress:"In Bearbeitung",startTime:"Startzeit",endTime:"Endzeit",timeoutError:"Zeitüberschreitungsfehler",tags:"Tags",connectToStore:"Verbinden Sie mit dem Geschäft",uploaded:"Hochgeladen",upload:"Hochladen",blockletStudio:"Studio",visitStore:"Besuche den Laden",reconnect:"Verbinden wiederherstellen",change:"Ändern",disconnect:"Verbindung trennen",sourceApp:"Zur App gehörend",visitTarget:"Besuchen Sie {name}",upgradeServer:"Server aktualisieren",display:"Anzeige",requiredInputPlaceholder:"Bitte geben Sie {name} ein",refresh:"Aktualisieren",moveUp:"Nach oben verschieben",moveDown:"Nach unten verschieben",enabled:"Aktiviert",disabled:"Deaktiviert",homepage:"Startseite",buy:"Kaufen",view:"Anzeigen",homepageTip:"Startseite oder Live-Demo-URL",repository:"Repository",expand:"Erweitern",collapse:"Zusammenklappen",all:"Alle",notificationRecords:"Benachrichtigungen",unrecordedUser:"Nicht erfasster Name",unrecordedRole:"Nicht aufgezeichnete Rolle",auditLogsSearch:"Nach Aktion oder Inhalt suchen",optional:"Optional",bugOrConnectDomain:"Domain kaufen oder verbinden",bugOrConnectDomainTip:"Eine Domain ist die eindeutige Adresse Ihrer Website im Internet. Sie können eine neue Domain bei DID Names oder einem anderen Domain-Registrar kaufen oder eine bereits vorhandene Domain konfigurieren.",connectExistingDomain:"Verbinde bestehende Domain",domains:"Domains",didDomains:"DID-Domains",manualDomains:"Meine Domains",didDomainsDescription:"Die folgenden Domains werden automatisch vom DID:Names-Dienst verwaltet.",systemDomains:"System zugewiesen",systemDomainsDescription:"Die folgenden Domains werden standardmäßig automatisch zugewiesen. Sie sind zwar zugänglich, jedoch nicht für die Produktion vorgesehen und sollten nicht mit Kunden geteilt werden. Diese Domains dienen hauptsächlich Entwicklungs-Zwecken.",manualDomainsDescription:"Die folgenden Domains werden von Ihrem Domain-Provider verwaltet und manuell hierhin verlinkt.",fileCount:"Dateianzahl",fileSize:"Dateigröße",time:"Zeit",less:"Weniger",timeInfo:"Zeitpunkt",operator:"Operator",inviter:"Einlader",clear:"Löschen",ok:"OK",minutes:"Minuten",hours:"Stunden",hour:"Stunde",days:"Tage",day:"Tag",weeks:"Wochen",months:"Monate",custom:"Benutzerdefiniert",environments:"Umgebungen",sites:"Websites",active:"Aktiv",backupTime:"Sicherungszeitpunkt",lastUsedAt:"Zuletzt verwendet am",expiredAt:"Ablaufdatum",createdVia:"Erstellt über",neverExpired:"Nie",baseInfo:"Grundlegende Informationen",otherInfo:"Weitere Informationen",lightMode:"Hellmodus",darkMode:"Dunkelmodus",advancedConfig:"Erweitert",document:"Dokument",mcpServers:"MCP-Server",generate:"Generieren",copy:"Kopieren",copied:"Kopiert",orgs:"Organisationen",userSessions:"Benutzersitzungen"},blocklet:{external:"Extern",notFound:"Blocklet auf diesem Server nicht gefunden, vielleicht wurde es gelöscht",installFromMarket:"Installiere neue Blocklets",installFromUrl:"Installiere von URL",installFromCreate:"Erstellen Sie Blocklet",installFromDiskBackup:"Wiederherstellen von diesem Server",installedAt:"Installiert am",internal:"Intern",startedAt:"Gestartet um",stoppedAt:"Gestoppt bei",urlEmptyTip:"Kein Zugriffs-URL",goToAddRule:"Gehe zu Hinzufügen",services:"Öffentliche Dienste",upstreamPort:"Upstream-Anschluss",noService:"Keine Dienstleistungen",appId:"App DID",appPid:"Permanente DID",alsoKnownAs:"Auch bekannt als",skSource:"Besitzer Wallet",reloadSuccess:"Blocklet wurde erfolgreich neu geladen",statusTip:"Blocklet ist {status}",initialUptime:"Weniger als 1m",dashboard:"Blocklet-Dashboard",noComponent:"Die Anwendung hat keine Komponenten und kann nicht gestartet werden",fromUrl:{title:"Blocklet installieren",label:"Blocklet Meta URL",description:"Die URL sollte auf die Meta-Datei des Blocklets zeigen. Wenn Sie auf eine lokale Datei verweisen möchten, fügen Sie bitte das Präfix file:// hinzu, z.B. file:///Users/foo/blocklet.json.",confirm:"Installieren",step0:"Eingabe-URL",step1:"Bestätige Metadaten",existTipPrefix:"Blocklet mit der gleichen DID existiert bereits, die Version ist",existTipSuffix:"Bitte installieren Sie eine höhere Version."},action:{stopDescription:"Das Stoppen des Blocklets macht seine öffentlichen Schnittstellen unzugänglich, was zu Fehlern für Endbenutzer führen kann",stopComponentDescription:"Das Stoppen des Komponenten macht ihre öffentlichen Schnittstellen unzugänglich, was möglicherweise zu Fehlern für Endbenutzer führen kann.",confirmStop:"Ja, Hör auf",cancelDownloadDescription:"Download von {name} abbrechen?",removeApplicationDescription:"Das Entfernen der Anwendung löscht den von dieser Anwendung generierten Code und die Daten, die nicht wiederhergestellt werden können, wenn Sie keine Sicherungskopien haben",removeApplicationAfterBackup:"Sichern und entfernen Sie die Anwendung. Sie können die Anwendung von diesem Server wiederherstellen, wenn Sie sie benötigen.",removeApplicationComplete:"Entferne sowohl den Code als auch die Daten für diese Anwendung",removeComponentDescription:"Das Entfernen der Komponente löscht den vom Komponente generierten Code und Daten, die nicht wiederhergestellt werden können, wenn Sie keine Sicherungskopien haben.",removeComponentKeepData:"Behalte die Daten für dieses Bauteil, entferne nur den Code",removeComponentComplete:"Entferne sowohl den Code als auch die Daten für diese Komponente",confirmRemove:"Ja, entferne es",confirmComponentRemove:"Ja, Entferne es",upgradeDescription:"Das Upgrade des Blocklets wird es vorübergehend nicht verfügbar machen. Sind Sie sicher, dass Sie fortfahren möchten?",confirmUpgrade:"Ja, aktualisieren Sie es",confirmRestart:"Ja, starte es neu",restartDescription:"Das Blocklet wird vorübergehend angehalten und könnte aufgrund einer Konfigurationsänderung möglicherweise nicht neu gestartet werden."},dev:{modeTip:"Bitte schalten Sie den Blocklet Server in den DEBUG-Modus um"},index:{tableTitle:"Verwalten Sie Ihre Blocklets",noBlocklet:"Keine Blocklets in diesem Blocklet Server gefunden, installieren Sie ein Blocklet aus dem Marktplatz, um zu beginnen."},config:{name:"App-Name",description:"App-Beschreibung",logoSquare:"App-Logo",logoRect:"Website-Logo",logoRectDesc:"Verwendet in: Website-Header und -Footer, fällt auf App-Logo zurück, wenn nicht konfiguriert",logoFavicon:"Favicon",logoFaviconDesc:"Verwendung: Browser-Adressleiste und Tab, falls nicht konfiguriert, wird auf das App-Logo zurückgegriffen",clusterSize:"Instanzanzahl beim Ausführen dieses Blockets im Cluster-Modus",copyrightOwner:"Urheberrechtsinhaber",copyrightYear:"Copyright Jahr",deletable:{name:"Lösche Schutz",enable:"Dieses Blocklet kann derzeit NICHT gelöscht werden",disable:"Dieses Blocklet kann derzeit gelöscht werden."},walletType:{name:"Brieftasche-Typ",description:"Blocklet Instanz Wallet Typ, wird die abgeleitete DID ändern"},languages:"Unterstützte Sprachen",selectLanguagesTip:"Passe die Reihenfolge an, indem du entfernst und erneut hinzufügst",languagesSearch:"Suche nach dem lokalen Namen, englischen Namen oder ISO-Code des Landes...",passportColor:"Passfarbe",appUrl:"App-URL",access:{title:"Wer kann zugreifen?",description:"Wählen Sie die Zugriffssteuerung für Ihre Anwendung.",useDefault:"Verwenden Sie die Standardeinstellungen",defaultDescription:"Verwenden Sie die Standardkonfiguration der Anwendung",whoCanAccess:{all:{title:"Für alle geöffnet",description:"Offen für die Welt, jeder kann ohne Reisepass darauf zugreifen"},owner:{title:"Nur für Eigentümer",description:"Sie müssen den Besitzerpass vorlegen, um auf diese Anwendung zugreifen zu können"},invited:{title:"Nur auf Einladung",description:"Nur eingeladene Mitglieder haben Zugriff."}},publicToStore:"Öffentlich im Geschäft",publicInstanceTip:"Die Zugriffsadresse dieses Blocklets wird im Store angezeigt (zusammen mit Ihrer DID zur Entgegennahme von Spenden)",updatedTip:"Zugriffskontrolle geändert"},changedTip:"Konfiguration aktualisiert, bitte Blocklet neu starten",missingRequired:"Fehlende erforderliche Konfiguration, um das Blocklet zu starten",gotoFix:"Gehe zur Reparatur",environment:{key:"Konfigurationsschlüssel",value:"Konfigurationswert",keyValueRequired:"Konfigurationsschlüssel und Wert müssen angegeben werden",invalidKey:"Die Konfigurationsschlüssel dürfen nicht mit BLOCKLET_ oder COMPONENT_ beginnen.",deleteForbidden:"Diese Konfiguration ist erforderlich und sollte nicht gelöscht werden",tip:"Konfigurationen, die mit BWA_ beginnen, sollten keine sensiblen Informationen enthalten, da sie an den Browser gesendet werden."},dangerZone:"Gefahrenzone",sharedToAllComponents:"Wird an alle Komponenten geteilt werden",session:{ttl:"Der Benutzer wird aufgefordert, sich erneut anzumelden, wenn er {day} Tage lang keine Aktivität auf dieser Website hat.",day:"{day} Tag",days:"{day} Tage",period:"Sitzung Gültigkeitsdauer",profile:"Benutzerprofilanforderungen",cacheTtl:"Cache-Dauer für Benutzersitzungsdaten (in Sekunden)",fullNameEnabled:"Benutzernamen bei der Anmeldung anfordern (standardmäßig aktiviert)",avatarEnabled:"Benutzerfoto beim Anmelden anfordern (standardmäßig aktiviert)",emailEnabled:"Benutzer-E-Mail bei Anmeldung anfordern",emailRequireVerified:"Benutzer-E-Mail muss vor dem Login verifiziert werden",emailRequireUnique:"Benötigen Sie die E-Mail des Benutzers, um eindeutig über alle Benutzer hinweg zu sein",phoneEnabled:"Benutzer-Telefonnummer bei der Anmeldung anfordern (noch nicht unterstützt)",phoneRequireVerified:"Benutzerhandynummer muss vor der Anmeldung überprüft werden",phoneRequireUnique:"Benötigen Sie eine eindeutige Telefonnummer für Benutzer in der gesamten Benutzerbasis",emailTrustOauthProviders:"Vertraue OAuth-Anbietern für den E-Mail-Verifizierungsstatus",enableDomainBlackList:"E-Mail-Domäne Blacklist aktivieren (abgelehnte E-Mail-Domains)",enableDomainWhiteList:"Aktiviere E-Mail-Domänen-Whitelist (nur aufgeführte E-Mail-Domänen zur Anmeldung zulassen)",addDomain:"Füge eine Quelle hinzu, um die Liste abzurufen (im Klartextformat, eine Domain pro Zeile)",enableBlacklist:"Anmelde-Token & Aktualisierungs-Token Widerruf aktivieren",experimentalSettings:"Experimentelle Einstellungen"},clearCache:{name:"Cache-Verwaltung",purpose:"Verwalten Sie Dateien, die im Router und Blocklet-Dienst zwischengespeichert sind",title:"Cache löschen bestätigen?",action:"Cache löschen",success:"Erfolgreich {count} Cache-Einträge gelöscht",description:"Bist du sicher, dass du zwischengespeicherte Dateien im Router und Blocklet-Service löschen möchtest? Diese Operation kann in naher Zukunft zu einer leichten Leistungseinbuße führen."},tenantMode:{name:"Multi-Tenant-Modus",multiple:"Dieses Blocklet läuft im Mehrmandantenmodus, Daten sollten für jeden Mandanten isoliert sein",single:"Dieser Blocklet läuft im Einzelmandantenmodus, alle Daten werden geteilt."},splashPortrait:"Startbilder",splashLandscape:"Willkommen Iandschaft",splashPortraitDesc:"Angezeigt, wenn das Blocklet gestartet wird. PNG oder JPG Format, empfohlenes Seitenverhältnis 9:16 für Hochformat und 16:9 für Querformat (max. 5 MB)",rotateSessionKey:{name:"Session-Salz-Rotation",purpose:"Sitzungs-Salt ist ein Zufallswert zur Erhöhung der Sicherheit von Sitzungs-Token. Klicken Sie auf die Schaltfläche, um den Sitzungs-Salt manuell zu rotieren. Dies hilft, das Risiko einer Kompromittierung des Anmelde-Tokens zu verringern.",title:"Sitzungssalzrotation bestätigen?",action:"Salz rotieren",success:"Session-Salt erfolgreich rotiert",description:"Sind Sie sicher, dass Sie das Sitzungs-Salt rotieren möchten? Diese Operation macht alle bestehenden Login-Tokens ungültig und zwingt Benutzer, sich erneut anzumelden, einschließlich Ihres eigenen Login-Tokens."},ogImage:"Open Graph-Hintergrund",ogImageDesc:"Verwendet in: Social-Media-Sharing-Hintergrund",migrate:{button:"Migration mit DID Wallet",title:"DID-Änderung bestätigen",description:"Wenn Sie mit einem serververwalteten Wallet starten, können Sie die Anwendungs-DID zu Ihrem eigenen Wallet ändern.",confirm:"Sind Sie sicher, dass Sie die Anwendungs-DID ändern möchten? Diese Aktion macht alle bestehenden Sitzungen ungültig und zwingt Benutzer, sich erneut anzumelden, einschließlich Ihrer eigenen Sitzung."},vault:{name:"Vault DID",title:"Vault einrichten",desc:"Verwenden Sie Vault, um eine zusätzliche Sicherheitsebene für die von diesem Blocklet verwalteten Gelder hinzuzufügen",tip:"Geben Sie die Tresoradresse ein, um fortzufahren, Sie müssen den Besitz der Tresoradresse nachweisen, bevor sie verwendet werden kann.",address:"Tresoradresse",verified:"Vault ist verifiziert",current:"Aktueller Tresor",error:{invalid:"Die Vault-Adresse muss eine gültige DID sein",holder:"Vault-Adresse muss ein gültiger Token-Inhaber in der Blockchain sein, Token/Asset/Factory/Stake-Adressen werden nicht unterstützt.",duplicate:"Diese Vault-Adresse wurde bereits verwendet, bitte verwenden Sie eine andere.",appDid:"Kann Anwendungs-DID nicht als Tresoradresse verwenden, bitte eine andere verwenden"},role:"Rollenart",firstSeen:"Erstmals gesehen",lastSeen:"Zuletzt gesehen",migratedFrom:"Migriert von",migratedTo:"Migriert zu",commit:{title:"Verifizieren Sie den Vault-Besitz",scan:"Verwenden Sie die folgenden Methoden, um den Besitz des Tresors zu überprüfen",confirm:"Bestätigen mit DID Wallet",success:"Vault ist erfolgreich konfiguriert"},approve:{title:"Genehmigung der Tresoränderung",byOwner:"Mit dem Blocklet-Besitzer unterschreiben, um die Änderung zu genehmigen",byLast:"Mit dem letzten Vault die Änderung genehmigen",confirm:"Mit DID Wallet bestätigen",success:"Tresoränderung genehmigt"}},changeImageTip:"Tipp: Klicken Sie auf Vorschaubild, um das Bild zu ändern.",baseInfo:"Grundinformationen",baseInfoDesc:"Hier können die grundlegenden Informationen der Website festgelegt werden.",logoSettings:"Visuelle Information",logoSettingsDesc:"Gestalten Sie ein einzigartiges Markenimage, verbessern Sie die Wiedererkennung und die visuelle Attraktivität der Website in verschiedenen Szenarien.",languagesDesc:"Verwendet in: Auswahl der Besucher Sprache",nameDesc:"Verwendet in: DID Connect-Header, Browser-Tab, Website-Footer, SEO-Metadaten und OpenGraph-Metadaten",descriptionDesc:"Verwendet in: SEO-Metadaten und OpenGraph-Metadaten",logoSquareDesc:"Verwendet in: Fußzeile des Benutzerauthentifizierungsdialogs und <b>DID Wallet</b> App-Liste",logoDesc:"Empfohlene Größe: {width} × {height} Pixel",splashDesc:`ArcSphere APP-Startbildschirm (wird in <b>ArcSphere</b> angezeigt, falls konfiguriert)
|
|
2
2
|
Hochformat:
|
|
3
3
|
Verhältnis: 9:16
|
|
4
4
|
Landschaftsformat:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e,ak as o,aX as h,T as j,z as g,W as i}from"./vendor-mui-core-
|
|
1
|
+
import{j as e,ak as o,aX as h,T as j,z as g,W as i}from"./vendor-mui-core-BPcN1m8_.js";import{V as _}from"./vendor-ux-D_B1Y7iC.js";import{C as b}from"./click-to-copy-PW3ieO34.js";import{C as k}from"./confirm-2zLPRflS.js";function R({title:c,description:l,confirmPlaceholder:m,cancel:d="",confirm:u="Confirm",params:p={},onCancel:f=()=>{},onConfirm:C,keyName:t}){const{t:a}=_(),n={title:()=>e.jsx(o,{children:c}),description:(s,y)=>{const x=r=>{y({...r,__disableConfirm:r.__disableConfirm})};return e.jsxs(o,{children:[e.jsx(h,{severity:"warning",style:{width:"100%"},children:a("common.notice")}),e.jsx(o,{sx:{my:3,b:{wordBreak:"break-word"}},dangerouslySetInnerHTML:{__html:l}}),e.jsxs(o,{style:{marginBottom:24},children:[a("common.click"),":",e.jsx(b,{"data-cy":"click-copy",children:t})]}),e.jsx(j,{component:"div",children:e.jsx(g,{label:m,autoComplete:"off","data-cy":"delete-confirm-input",variant:"outlined",fullWidth:!0,autoFocus:!0,value:s.inputVal,onChange:r=>{x({...s,inputVal:r.target.value,__disableConfirm:t!==r.target.value})}})})]})},confirm:u,cancel:d,onConfirm:C,onCancel:f,params:{inputVal:"",__disableConfirm:!0,...p}};return e.jsx(k,{title:n.title,description:n.description,confirm:n.confirm,cancel:n.cancel,params:n.params,onConfirm:n.onConfirm,onCancel:n.onCancel})}R.propTypes={title:i.any.isRequired,keyName:i.any.isRequired,description:i.any.isRequired,confirmPlaceholder:i.any.isRequired,cancel:i.string,confirm:i.string,params:i.object,onCancel:i.func,onConfirm:i.func.isRequired};export{R as D};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as o,a$ as p,W as r}from"./vendor-mui-core-
|
|
1
|
+
import{j as o,a$ as p,W as r}from"./vendor-mui-core-BPcN1m8_.js";import{L as f}from"./vendor-react-Dvs43sk9.js";import{v as l}from"./vendor-ux-D_B1Y7iC.js";function m({did:s,href:t="",external:i=!1,avatarProps:n={},to:a="",...d}){const e=o.jsx(l,{did:s,...d,avatarProps:n,to:a});return t?i?o.jsx(p,{target:"_blank",href:t,underline:"hover",children:e}):o.jsx(f,{to:t,children:e}):e}m.propTypes={did:r.string.isRequired,to:r.string,href:r.string,avatarProps:r.object,external:r.bool};export{m as W};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{ay as bn,T as vn,V as A,q as Cn,H as E,p as te,z as wn,Z as ze}from"./vendor-ux-CE4sOH7O.js";import{j as e,cR as Ne,cS as Sn,ak as h,a6 as z,b0 as Rn,T as R,aX as ye,D as H,J as ie,am as L,aN as $e,W as t,bb as _e,M as We,aO as An,aP as kn,cT as Tn,b7 as In,b9 as Pn,cU as qn,cV as En,b1 as O,P as Oe,ci as Ln,bh as Fn,at as Mn,a$ as Bn,cW as Un,cX as zn,cY as Nn,cZ as $n,c_ as Te,c$ as _,d0 as _n,z as Wn,n as On,bf as Hn,d1 as Vn,cb as Gn}from"./vendor-mui-core-BFPsXaTR.js";import{C as ee,J as Zn,a as Xn,e as Jn,H as je,a4 as Kn,a5 as Qn,n as X}from"./vendor-utils-OrZFrHBP.js";import{r as j,e as He,g as Yn}from"./vendor-react-Dvs43sk9.js";import{u as se}from"./useSetState-DFuQZPPV.js";import{l as et,k as nt,b as J,m as tt,w as it}from"./vendor-hooks-DmThWyyG.js";import{bj as Ve,U as Ge,bk as st,bl as Ze,Z as F,ab as oe,X as Ie,a1 as ot,aM as Pe,bm as rt,B as at,ad as lt,bn as Xe,ac as fe,bo as Je,bp as ct,bq as dt,br as mt,aW as ut,e as xe,bs as pt,bt as ft}from"./index-3yzleS_1.js";import{w as Ke}from"./permission-UeJPGiMm.js";import{u as xt,D as qe}from"./useAsyncRetry-Dyo5t1bq.js";import{C as re}from"./confirm-CEAKWDZJ.js";import{A as ht}from"./actions-C4-lIUPY.js";import{D as gt}from"./delete-confirm-DpKJ9gtf.js";import{o as Ee}from"./vendor-arcblock-DGOH9a3F.js";import{u as Dt}from"./useAsync-BKYfrNw7.js";import{f as N}from"./index-DBs9Ljax.js";import{v as yt}from"./index-IGBGBXd_.js";import{g as jt,p as Le}from"./util-DXaZWduO.js";import{C as bt}from"./click-to-copy-CK42VmRr.js";const vt=Ve({});vt.interceptors.request.use(n=>{const i=window.blocklet?window.blocklet.prefix:"/";return n.baseURL=i||"",n.url=ee("/api",String(n.url)),n.timeout=2e5,n.params=n.params||{},new URLSearchParams(n.url.split("?")[1]).has("locale")||(n.params.locale=bn()),n},n=>Promise.reject(n));const Qe=(...n)=>Ve(...n),Ct=(n,i)=>i?n?[n,...Array.isArray(i)?i:[i]]:i:n,wt=(n,{width:i=600,height:o=700,name:a="did-domain:popup"}={})=>{const s=window.screenX+(window.innerWidth-i)/2,r=window.screenY+(window.innerHeight-o)/2,u=[`left=${s}`,`top=${r}`,`width=${i}`,`height=${o}`,"resizable=no","scrollbars=yes","status=yes","popup=yes"],l=window.open("",a,u.join(","));if(l===null)throw new Error("Failed to open popup");return l.location.href=Zn(n,{opener:window.location.origin}),l},St="z2qaGosS3rZ7m5ttP3Nd4V4qczR9TryTcRV4p",Ye=async n=>{if(!n||!n?.trim())return null;const i=Qe(),o=new URL(n);o.pathname="__blocklet__.js",o.searchParams.set("type","json");const{data:a}=await i.get(o.toString()),s=a?.componentMountPoints?.find(m=>m.did===St),r=new URL(n);r.pathname=s?.mountPoint;const u=r.toString(),l=ee(u,"/api");return{base:u,api:l}},Rt=Ge({embed:{iconTip:"Click to view subscription details"},buy:{button:{title:"Buy DID Domain"},status:{inProgress:"Please wait while we are processing your request, the domain will be automatically resolved to the current app after the purchase...",success:"Purchase completed!"},error:{failedToCreateSession:"Failed to create session"}}}),At=Ge({embed:{iconTip:"点击查看订阅详情"},buy:{button:{title:"购买 DID 域名"},status:{inProgress:"请稍等,我们正在处理您的请求,购买域名后会自动解析到当前的应用...",success:"购买完成!"},error:{failedToCreateSession:"创建会话失败"}}}),kt={zh:At,en:Rt},Tt=async({didDomainURL:n,delegatee:i,delegateePk:o})=>{const a=await Ye(n);if(!a)return null;const s=Qe({baseURL:a.api}),{data:r}=await s.post("/payment/session",{delegatee:i,delegateePk:o});return{sessionId:r.sessionId,baseURL:a.base}};function It({delegatee:n,delegateePk:i,didDomainURL:o,locale:a,title:s="",onSuccess:r=()=>{},...u}){const{t:l}=A(),[m,p]=et({currentState:1}),f=j.useRef(null),c=nt(async()=>{const d=await Tt({didDomainURL:o,delegatee:n,delegateePk:i});return d},{debounceWait:500,debounceLeading:!0,debounceTrailing:!1,debounceMaxWait:3e3,refreshDeps:[],onError(d){console.error(d)}}),g=J(d=>{d.data.type==="didDomain.success"&&(r?.({nftDid:d.data?.nftDid,domain:d.data?.domain,chainHost:d.data?.chainHost}),f.current?.close(),f.current=null,p({currentState:4}),setTimeout(()=>{p({currentState:8})},2e3))});tt(()=>{try{window.removeEventListener("message",g),f.current?.close(),f.current=null}catch(d){console.warn("Failed to close popup",d)}});const y=J(()=>{p({currentState:1})}),x=J(()=>{if(p({currentState:2}),!c.data){console.error("Failed to create session");return}b({sessionId:c.data.sessionId,baseURL:c.data.baseURL})}),b=J(({sessionId:d,baseURL:w})=>{window.addEventListener("message",g);const C=new URL(w);C.searchParams.set("sessionId",d),C.searchParams.set("locale",a),C.searchParams.set("embed","1"),f.current=wt(C.toString());const q=setInterval(()=>{f.current?.closed&&(clearInterval(q),y())},1e3);return()=>clearInterval(q)});return e.jsxs(e.Fragment,{children:[e.jsx(Ne,{loading:c.loading,onClick:x,variant:"contained",startIcon:e.jsx(Sn,{}),...u,children:s||l("buy.button.title")}),e.jsxs(Cn,{fullWidth:!0,maxWidth:"xs",open:m.currentState>1&&m.currentState<8,onClose:y,children:[!c.error&&e.jsxs(h,{sx:{display:"flex",alignItems:"center",flexDirection:"column",gap:2},children:[m.currentState===2&&e.jsx(z,{size:50}),m.currentState===4&&e.jsx(Rn,{sx:{color:"primary.main",fontSize:"5rem"}}),m.currentState===2&&e.jsx(R,{children:l("buy.status.inProgress")}),m.currentState===4&&e.jsx(R,{children:l("buy.status.success")})]}),c.error&&e.jsx(ye,{severity:"error",children:l("buy.error.failedToCreateSession")})]})]})}function Pt(n){return e.jsx(vn,{locale:n.locale,translations:kt,children:e.jsx(It,{...n})})}function qt({nftDid:n,didDomainURL:i,locale:o,sx:a={}}){const{t:s}=A(),[r,u]=se({safeIframeRef:null,popoverAnchorEl:null}),l=j.useRef(null),m=H(),p=ie(m.breakpoints.down("md")),f=x=>{u({popoverAnchorEl:x.currentTarget})},c=()=>{u({popoverAnchorEl:null})},g=it(async()=>{const x=await Ye(i);return x?x.base:null});if(!g.value)return null;if(g.loading)return e.jsx(z,{});const y=ee(g.value,`/embed/domain?nft-did=${n}&locale=${o}`);return e.jsxs(e.Fragment,{children:[e.jsx(L,{title:s("embed.iconTip"),children:e.jsx(h,{component:"img",src:ee(i,"/.well-known/service/blocklet/logo"),alt:"logo",onClick:f,sx:[{width:16,height:16},Ct({cursor:"pointer"},a)]})}),e.jsx($e,{id:"popover-info",open:!!r.popoverAnchorEl,anchorEl:r.popoverAnchorEl,onClose:c,anchorOrigin:{vertical:"bottom",horizontal:"right"},children:e.jsx("iframe",{ref:l,title:s("common.subscription"),width:p?"320px":"400px",height:"350px",style:{border:0,display:"block"},src:y})})]})}const Et=n=>["waiting","creating","renewaling"].includes(n);function en({siteId:n,domain:i,onAdd:o=()=>{},children:a=null,did:s,issuing:r=!1,setIssuing:u=()=>{}}){const{t:l}=A(),[m,p]=j.useState(!1),{inService:f}=F(),[c,g]=j.useState(null),{api:y,ws:{useSubscription:x}}=F(),{mode:b,actions:{refreshDomainStatus:d}}=oe(),w=xt(async()=>{const{cert:T}=await y.findCertificateByDomain({input:{domain:i,did:s}});return T}),C=(T,S)=>{T.domain===i&&(u(!1),p(!1),f&&b!=="setup"&&(S==="success"?E.success(l("setup.domain.genCertSuccess",{domain:T.domain})):S==="error"&&E.error(l("setup.domain.genCertFailed",{domain:T.domain,message:T.message}))))};if(j.useEffect(()=>{w.loading||u(Et(w.value?.status))},[w.loading,w.value?.status,u]),x(Ie.BlockletEvents.certError,T=>C(T,"error")),x(Ie.BlockletEvents.certIssued,T=>{w.retry(),d(T.domain),C(T,"success")}),w.loading||w.value?.status==="normal")return"";const q=()=>{p(!1),g(null)},B=async()=>{p(!0);try{await y.issueLetsEncryptCert({input:{siteId:n,domain:i,did:s,inBlockletSetup:b==="setup"}}),o(),u(!0)}catch(T){console.error(T),u(!1)}finally{p(!1),g(null)}},M={title:l("router.cert.genLetsEncryptCert.title"),description:e.jsxs("div",{children:[e.jsx(ye,{severity:"success",children:l("router.cert.genLetsEncryptCert.dnsTip")}),l("router.cert.genLetsEncryptCert.description")]}),confirm:l("common.confirm"),onConfirm:B,onCancel:q},U=T=>{T.stopPropagation(),g(M)};return e.jsxs(e.Fragment,{children:[r?e.jsx(L,{title:l("router.cert.issuing"),children:e.jsx(z,{size:13,style:{fontSize:"13px"}})}):a({loading:m,open:U}),c&&e.jsx(re,{color:"primary",title:c.title,description:c.description,confirm:c.confirm,params:c.params,onConfirm:c.onConfirm,onCancel:c.onCancel})]})}en.propTypes={domain:t.string.isRequired,did:t.string.isRequired,siteId:t.string.isRequired,onAdd:t.func,children:t.any,issuing:t.bool,setIssuing:t.func};function nn({domain:n,domainStatus:i,did:o,onAdd:a=()=>{},children:s=null,issuing:r=!1,setIssuing:u=()=>{},...l}){return st(n)||!Ze(n)||Xn(i)||i?.isHttps?"":e.jsx(en,{...l,domain:n,did:o,onAdd:a,issuing:r,setIssuing:u,children:s})}nn.propTypes={domain:t.string.isRequired,domainStatus:t.shape({isHttps:t.bool}).isRequired,did:t.string.isRequired,onAdd:t.func,children:t.any,issuing:t.bool,setIssuing:t.func};function tn({id:n,domain:i,children:o=null,teamDid:a="",onDelete:s=null}){const{t:r}=A(),[u,l]=j.useState(!1),[m,p]=j.useState(null),{api:f}=F(),c=()=>{l(!1),p(null)},g=async()=>{l(!0);try{await f.deleteDomainAlias({input:{id:n,domainAlias:i,teamDid:a}}),s?.(),await ot(2e3)}catch(b){E.error(b.message)}finally{p(null),l(!1)}},y={keyName:i,title:r("router.domainAlias.delete.title"),description:r("router.domainAlias.delete.description",{domain:i}),confirmPlaceholder:r("router.domainAlias.delete.confirmPlaceholder",{domain:i}),confirm:r("common.delete"),onConfirm:g,onCancel:c},x=b=>{b.stopPropagation(),p(y)};return e.jsxs(e.Fragment,{children:[typeof o=="function"?o({loading:u,open:x}):e.jsxs(te,{edge:"end",onClick:x,size:"small",className:"rule-action",color:"error","data-cy":"action-delete-domain-alias",children:[u?e.jsx(z,{size:16}):e.jsx(_e,{style:{fontSize:16}}),r("common.delete")]}),m&&e.jsx(gt,{keyName:m.keyName,title:m.title,description:m.description,confirmPlaceholder:m.confirmPlaceholder,confirm:m.confirm,params:m.params,onConfirm:m.onConfirm,onCancel:m.onCancel})]})}tn.propTypes={id:t.string.isRequired,domain:t.string.isRequired,children:t.any,teamDid:t.string,onDelete:t.func};function sn({site:n,domain:i,blocklet:o,onDelete:a=()=>{}}){const{t:s}=A(),r=i.value===window.location.hostname;return e.jsx(ht,{"data-cy":"domain-actions",size:"large",actions:[({close:u})=>e.jsx(tn,{id:n.id,domain:i.value,teamDid:o?.meta?.did,onDelete:a,children:({open:l})=>e.jsx(L,{title:r?s("blocklet.router.currentDomainTip"):"",children:e.jsx("span",{children:e.jsxs(We,{disabled:i.isProtected||r,dense:!0,onClick:m=>{u(),l(m)},"data-cy":"action-toggle-block",children:[e.jsx(An,{style:{minWidth:24,marginRight:8},children:e.jsx(_e,{})}),e.jsx(kn,{primary:s("common.delete")})]},"remove")})})})]})}sn.propTypes={site:t.object.isRequired,domain:t.object.isRequired,blocklet:t.object.isRequired,onDelete:t.func};const ae=t.shape({href:t.string,accessibility:t.shape({loading:t.bool,accessible:t.bool}),domainStatus:t.shape({isHttps:t.bool,matchedCert:t.object}),dns:t.shape({resolved:t.bool,ip:t.string})});function on({certificate:n={}}){const[i,o]=j.useState(null),a=F(),{t:s,locale:r}=A(),u=p=>{o(p.currentTarget)},l=()=>{o(null)},m=!!i;return e.jsxs(e.Fragment,{children:[e.jsx(Tn,{"aria-owns":m?"mouse-over-popover":void 0,onMouseEnter:u,onMouseLeave:l,style:{color:"#44cdc6",fontSize:"1em",cursor:"pointer"}}),e.jsx($e,{id:"mouse-over-popover",style:{pointerEvents:"none"},open:m,anchorEl:i,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:l,disableRestoreFocus:!0,children:e.jsx(In,{children:e.jsxs(Pn,{style:{display:"flex"},children:[e.jsx("div",{children:e.jsx("img",{src:`${a.imgPrefix}/https-certificate-icon.png`,alt:"certificate icon",style:{maxHeight:"100%",maxWidth:"100%"}})}),e.jsxs(R,{component:"div",style:{marginLeft:"16px"},children:[e.jsx(R,{component:"div",style:{fontWeight:"bold"},children:n.domain}),e.jsx(R,{component:"div",children:`${s("common.issuer")}: ${Jn(n,"issuer.commonName","")}`}),e.jsx(R,{component:"div",children:`${s("router.cert.issuedOn")}: ${Pe(n.validFrom,r)}`}),e.jsx(R,{component:"div",children:`${s("router.cert.expiryOn")}: ${Pe(n.validTo,r)}`})]})]})})})]})}on.propTypes={certificate:t.object};function ne({domain:n,filters:i=["domain","http"]}){const{t:o}=A(),{value:a,domainStatus:s}=n;if(!Ze(a))return null;let r=null,u=null;const{isHttps:l,matchedCert:m}=s,{dns:{ip:p,isDnsResolved:f,isCnameMatch:c}={}}=s,g=f&&c;rt(a)||(g||p==="127.0.0.1"?r=e.jsx(L,{title:o("router.domain.verify.ok"),children:e.jsx(qe,{color:"success"})}):r=e.jsx(L,{title:o("router.domain.verify.notResolved"),children:e.jsx(qe,{color:"error"})})),g?l?u=e.jsx(on,{certificate:m}):u=e.jsx(L,{title:o("router.domain.https.bad"),children:e.jsx(qn,{style:{color:"#D0021B",fontSize:"1em",cursor:"pointer"}})}):u=e.jsx(L,{title:o("router.domain.verify.notResolved"),children:e.jsx(En,{style:{color:"#D0021B",fontSize:"1em",cursor:"pointer"}})});const y=i.map(x=>x==="domain"?r:x==="http"?u:null);return j.createElement(j.Fragment,null,...y)}ne.propTypes={domain:ae.isRequired,filters:t.array};const Lt=Ke(be,"mutate_blocklets"),Ft=Ke(be,"",at);function pi(n){const{inService:i}=F(),{blocklet:o,loadingRuntimeInfo:a}=oe();let s=Lt;return i&&(s=Ft),e.jsx(s,{...n,blocklet:o,inService:i,loadingRuntimeInfo:a})}const Fe="nft-domain";function be({hasPermission:n=!1,blocklet:i,loadingRuntimeInfo:o=!1,inService:a=!1,showAllDomains:s=!1,updateBlockletDomainAliases:r=()=>{},systemTips:u=null}){const{t:l}=A(),m=ie(d=>d.breakpoints.down("md")),p=j.useMemo(()=>{let d=n;return lt(i)&&(d=d&&a),d},[n,a,i]),{site:f}=i,c=j.useMemo(()=>Xe(i.site?.domainAliases),[i.site?.domainAliases]),g=j.useMemo(()=>c.filter(d=>!fe.isCustomDomain(d.value)),[c]),y=j.useMemo(()=>c.filter(d=>fe.isCustomDomain(d.value)),[c]),x=j.useMemo(()=>y.filter(d=>d.type!==Fe),[y]),b=j.useMemo(()=>y.filter(d=>d.type===Fe),[y]);return e.jsxs(e.Fragment,{children:[e.jsxs(O,{sx:{gap:3},children:[!!b.length&&e.jsx(Y,{title:l("common.didDomains"),description:l("common.didDomainsDescription"),domains:b,hasMutatePermission:p,blocklet:i,site:f,mobile:m,showAllDomains:s,updateBlockletDomainAliases:r}),!!x.length&&e.jsx(Y,{title:l("common.manualDomains"),description:l("common.manualDomainsDescription"),domains:x,hasMutatePermission:p,blocklet:i,site:f,mobile:m,showAllDomains:s,updateBlockletDomainAliases:r}),!!g.length&&e.jsxs(h,{children:[u,e.jsx(Y,{title:l("common.systemDomains"),description:l("common.systemDomainsDescription"),domains:g,hasMutatePermission:p,blocklet:i,site:f,mobile:m,updateBlockletDomainAliases:r})]})]}),!c.length&&(o?e.jsx(z,{size:16}):e.jsx(wn,{children:l("common.empty")}))]})}be.propTypes={hasPermission:t.bool,blocklet:t.object.isRequired,loadingRuntimeInfo:t.bool,inService:t.bool.isRequired,showAllDomains:t.bool,updateBlockletDomainAliases:t.func,systemTips:t.node};function K({children:n=null}){return e.jsx(h,{component:"span",sx:{verticalAlign:"bottom"},children:n})}K.propTypes={children:t.node};function he({domain:n,children:i,suffix:o=null,...a}){const{t:s,locale:r}=A(),u=H(),{href:l,accessibility:m,value:p}=n,f=j.useCallback(()=>e.jsx(ze,{content:je(p),locale:r,style:{marginLeft:"4px",color:u.palette.text.secondary,fontSize:"0.8em"}}),[p,r,u]);return!m||m.loading?e.jsxs(me,{component:"span",...a,children:[e.jsx(L,{title:void 0,placement:"top-end",children:e.jsx(h,{component:"span",children:i})}),f(),e.jsx(K,{children:o}),e.jsx(L,{title:s("blocklet.router.checkUrlAccessible"),placement:"top-end",children:e.jsx(h,{component:"span",className:"status",children:e.jsx(z,{size:13,style:{fontSize:"13px"}})})})]}):m.accessible?e.jsxs(me,{component:"span",...a,children:[e.jsx(h,{component:"a",href:l,target:"_blank",rel:"noopener noreferrer",sx:{color:n.loading?"text.disabled":void 0},children:e.jsx(L,{title:void 0,placement:"top-end",children:e.jsx(h,{component:"span",children:i})})}),f(),e.jsx(K,{children:o})]}):e.jsxs(me,{component:"span",...a,children:[e.jsx(L,{title:s("blocklet.router.urlInaccessible"),placement:"top-end",children:e.jsx(h,{component:"span",children:i})}),!n.loading&&f(),e.jsx(K,{children:o})]})}he.propTypes={domain:ae.isRequired,children:t.any.isRequired,suffix:t.node};const me=Mn(h)`
|
|
1
|
+
import{aH as bn,T as vn,V as A,q as Cn,H as E,p as te,z as wn,a0 as ze}from"./vendor-ux-D_B1Y7iC.js";import{j as e,cX as Ne,cY as Sn,ak as h,a6 as z,b0 as Rn,T as R,aX as ye,D as H,J as ie,am as L,aN as $e,W as t,bb as _e,M as Oe,aO as An,aP as kn,cZ as Tn,b7 as In,b9 as Pn,c_ as qn,c$ as En,b1 as W,P as We,ci as Ln,bh as Fn,at as Mn,a$ as Bn,cW as Un,d0 as zn,d1 as Nn,d2 as $n,d3 as Te,d4 as _,d5 as _n,z as On,n as Wn,bf as Hn,d6 as Vn,cb as Gn}from"./vendor-mui-core-BPcN1m8_.js";import{C as ee,J as Xn,a as Zn,e as Yn,H as je,a5 as Jn,a6 as Kn,n as Z}from"./vendor-utils-COYaMdo5.js";import{r as j,e as He,g as Qn}from"./vendor-react-Dvs43sk9.js";import{u as se}from"./useSetState-DFuQZPPV.js";import{l as et,k as nt,b as Y,m as tt,w as it}from"./vendor-hooks-tpeT8a0P.js";import{bm as Ve,U as Ge,bn as st,bo as Xe,Z as F,ab as oe,X as Ie,a1 as ot,aO as Pe,bp as rt,B as at,ad as lt,bq as Ze,ac as fe,br as Ye,bs as ct,bt as dt,bu as mt,aY as ut,e as xe,bv as pt,bw as ft}from"./index-BnPTSmJZ.js";import{w as Je}from"./permission-BZsLoL-d.js";import{u as xt,D as qe}from"./useAsyncRetry-n96jNDlD.js";import{C as re}from"./confirm-2zLPRflS.js";import{A as ht}from"./actions-C0hEY5iN.js";import{D as gt}from"./delete-confirm-tJr-kQGY.js";import{o as Ee}from"./vendor-arcblock-BzYItNIN.js";import{u as Dt}from"./useAsync-tu8lmT7w.js";import{f as N}from"./index-DBs9Ljax.js";import{v as yt}from"./index-B31Z5yXU.js";import{g as jt,p as Le}from"./util-cUwto1hL.js";import{C as bt}from"./click-to-copy-PW3ieO34.js";const vt=Ve({});vt.interceptors.request.use(n=>{const i=window.blocklet?window.blocklet.prefix:"/";return n.baseURL=i||"",n.url=ee("/api",String(n.url)),n.timeout=2e5,n.params=n.params||{},new URLSearchParams(n.url.split("?")[1]).has("locale")||(n.params.locale=bn()),n},n=>Promise.reject(n));const Ke=(...n)=>Ve(...n),Ct=(n,i)=>i?n?[n,...Array.isArray(i)?i:[i]]:i:n,wt=(n,{width:i=600,height:o=700,name:a="did-domain:popup"}={})=>{const s=window.screenX+(window.innerWidth-i)/2,r=window.screenY+(window.innerHeight-o)/2,u=[`left=${s}`,`top=${r}`,`width=${i}`,`height=${o}`,"resizable=no","scrollbars=yes","status=yes","popup=yes"],l=window.open("",a,u.join(","));if(l===null)throw new Error("Failed to open popup");return l.location.href=Xn(n,{opener:window.location.origin}),l},St="z2qaGosS3rZ7m5ttP3Nd4V4qczR9TryTcRV4p",Qe=async n=>{if(!n||!n?.trim())return null;const i=Ke(),o=new URL(n);o.pathname="__blocklet__.js",o.searchParams.set("type","json");const{data:a}=await i.get(o.toString()),s=a?.componentMountPoints?.find(m=>m.did===St),r=new URL(n);r.pathname=s?.mountPoint;const u=r.toString(),l=ee(u,"/api");return{base:u,api:l}},Rt=Ge({embed:{iconTip:"Click to view subscription details"},buy:{button:{title:"Buy DID Domain"},status:{inProgress:"Please wait while we are processing your request, the domain will be automatically resolved to the current app after the purchase...",success:"Purchase completed!"},error:{failedToCreateSession:"Failed to create session"}}}),At=Ge({embed:{iconTip:"点击查看订阅详情"},buy:{button:{title:"购买 DID 域名"},status:{inProgress:"请稍等,我们正在处理您的请求,购买域名后会自动解析到当前的应用...",success:"购买完成!"},error:{failedToCreateSession:"创建会话失败"}}}),kt={zh:At,en:Rt},Tt=async({didDomainURL:n,delegatee:i,delegateePk:o})=>{const a=await Qe(n);if(!a)return null;const s=Ke({baseURL:a.api}),{data:r}=await s.post("/payment/session",{delegatee:i,delegateePk:o});return{sessionId:r.sessionId,baseURL:a.base}};function It({delegatee:n,delegateePk:i,didDomainURL:o,locale:a,title:s="",onSuccess:r=()=>{},...u}){const{t:l}=A(),[m,p]=et({currentState:1}),f=j.useRef(null),c=nt(async()=>{const d=await Tt({didDomainURL:o,delegatee:n,delegateePk:i});return d},{debounceWait:500,debounceLeading:!0,debounceTrailing:!1,debounceMaxWait:3e3,refreshDeps:[],onError(d){console.error(d)}}),g=Y(d=>{d.data.type==="didDomain.success"&&(r?.({nftDid:d.data?.nftDid,domain:d.data?.domain,chainHost:d.data?.chainHost}),f.current?.close(),f.current=null,p({currentState:4}),setTimeout(()=>{p({currentState:8})},2e3))});tt(()=>{try{window.removeEventListener("message",g),f.current?.close(),f.current=null}catch(d){console.warn("Failed to close popup",d)}});const y=Y(()=>{p({currentState:1})}),x=Y(()=>{if(p({currentState:2}),!c.data){console.error("Failed to create session");return}b({sessionId:c.data.sessionId,baseURL:c.data.baseURL})}),b=Y(({sessionId:d,baseURL:w})=>{window.addEventListener("message",g);const C=new URL(w);C.searchParams.set("sessionId",d),C.searchParams.set("locale",a),C.searchParams.set("embed","1"),f.current=wt(C.toString());const q=setInterval(()=>{f.current?.closed&&(clearInterval(q),y())},1e3);return()=>clearInterval(q)});return e.jsxs(e.Fragment,{children:[e.jsx(Ne,{loading:c.loading,onClick:x,variant:"contained",startIcon:e.jsx(Sn,{}),...u,children:s||l("buy.button.title")}),e.jsxs(Cn,{fullWidth:!0,maxWidth:"xs",open:m.currentState>1&&m.currentState<8,onClose:y,children:[!c.error&&e.jsxs(h,{sx:{display:"flex",alignItems:"center",flexDirection:"column",gap:2},children:[m.currentState===2&&e.jsx(z,{size:50}),m.currentState===4&&e.jsx(Rn,{sx:{color:"primary.main",fontSize:"5rem"}}),m.currentState===2&&e.jsx(R,{children:l("buy.status.inProgress")}),m.currentState===4&&e.jsx(R,{children:l("buy.status.success")})]}),c.error&&e.jsx(ye,{severity:"error",children:l("buy.error.failedToCreateSession")})]})]})}function Pt(n){return e.jsx(vn,{locale:n.locale,translations:kt,children:e.jsx(It,{...n})})}function qt({nftDid:n,didDomainURL:i,locale:o,sx:a={}}){const{t:s}=A(),[r,u]=se({safeIframeRef:null,popoverAnchorEl:null}),l=j.useRef(null),m=H(),p=ie(m.breakpoints.down("md")),f=x=>{u({popoverAnchorEl:x.currentTarget})},c=()=>{u({popoverAnchorEl:null})},g=it(async()=>{const x=await Qe(i);return x?x.base:null});if(!g.value)return null;if(g.loading)return e.jsx(z,{});const y=ee(g.value,`/embed/domain?nft-did=${n}&locale=${o}`);return e.jsxs(e.Fragment,{children:[e.jsx(L,{title:s("embed.iconTip"),children:e.jsx(h,{component:"img",src:ee(i,"/.well-known/service/blocklet/logo"),alt:"logo",onClick:f,sx:[{width:16,height:16},Ct({cursor:"pointer"},a)]})}),e.jsx($e,{id:"popover-info",open:!!r.popoverAnchorEl,anchorEl:r.popoverAnchorEl,onClose:c,anchorOrigin:{vertical:"bottom",horizontal:"right"},children:e.jsx("iframe",{ref:l,title:s("common.subscription"),width:p?"320px":"400px",height:"350px",style:{border:0,display:"block"},src:y})})]})}const Et=n=>["waiting","creating","renewaling"].includes(n);function en({siteId:n,domain:i,onAdd:o=()=>{},children:a=null,did:s,issuing:r=!1,setIssuing:u=()=>{}}){const{t:l}=A(),[m,p]=j.useState(!1),{inService:f}=F(),[c,g]=j.useState(null),{api:y,ws:{useSubscription:x}}=F(),{mode:b,actions:{refreshDomainStatus:d}}=oe(),w=xt(async()=>{const{cert:T}=await y.findCertificateByDomain({input:{domain:i,did:s}});return T}),C=(T,S)=>{T.domain===i&&(u(!1),p(!1),f&&b!=="setup"&&(S==="success"?E.success(l("setup.domain.genCertSuccess",{domain:T.domain})):S==="error"&&E.error(l("setup.domain.genCertFailed",{domain:T.domain,message:T.message}))))};if(j.useEffect(()=>{w.loading||u(Et(w.value?.status))},[w.loading,w.value?.status,u]),x(Ie.BlockletEvents.certError,T=>C(T,"error")),x(Ie.BlockletEvents.certIssued,T=>{w.retry(),d(T.domain),C(T,"success")}),w.loading||w.value?.status==="normal")return"";const q=()=>{p(!1),g(null)},B=async()=>{p(!0);try{await y.issueLetsEncryptCert({input:{siteId:n,domain:i,did:s,inBlockletSetup:b==="setup"}}),o(),u(!0)}catch(T){console.error(T),u(!1)}finally{p(!1),g(null)}},M={title:l("router.cert.genLetsEncryptCert.title"),description:e.jsxs("div",{children:[e.jsx(ye,{severity:"success",children:l("router.cert.genLetsEncryptCert.dnsTip")}),l("router.cert.genLetsEncryptCert.description")]}),confirm:l("common.confirm"),onConfirm:B,onCancel:q},U=T=>{T.stopPropagation(),g(M)};return e.jsxs(e.Fragment,{children:[r?e.jsx(L,{title:l("router.cert.issuing"),children:e.jsx(z,{size:13,style:{fontSize:"13px"}})}):a({loading:m,open:U}),c&&e.jsx(re,{color:"primary",title:c.title,description:c.description,confirm:c.confirm,params:c.params,onConfirm:c.onConfirm,onCancel:c.onCancel})]})}en.propTypes={domain:t.string.isRequired,did:t.string.isRequired,siteId:t.string.isRequired,onAdd:t.func,children:t.any,issuing:t.bool,setIssuing:t.func};function nn({domain:n,domainStatus:i,did:o,onAdd:a=()=>{},children:s=null,issuing:r=!1,setIssuing:u=()=>{},...l}){return st(n)||!Xe(n)||Zn(i)||i?.isHttps?"":e.jsx(en,{...l,domain:n,did:o,onAdd:a,issuing:r,setIssuing:u,children:s})}nn.propTypes={domain:t.string.isRequired,domainStatus:t.shape({isHttps:t.bool}).isRequired,did:t.string.isRequired,onAdd:t.func,children:t.any,issuing:t.bool,setIssuing:t.func};function tn({id:n,domain:i,children:o=null,teamDid:a="",onDelete:s=null}){const{t:r}=A(),[u,l]=j.useState(!1),[m,p]=j.useState(null),{api:f}=F(),c=()=>{l(!1),p(null)},g=async()=>{l(!0);try{await f.deleteDomainAlias({input:{id:n,domainAlias:i,teamDid:a}}),s?.(),await ot(2e3)}catch(b){E.error(b.message)}finally{p(null),l(!1)}},y={keyName:i,title:r("router.domainAlias.delete.title"),description:r("router.domainAlias.delete.description",{domain:i}),confirmPlaceholder:r("router.domainAlias.delete.confirmPlaceholder",{domain:i}),confirm:r("common.delete"),onConfirm:g,onCancel:c},x=b=>{b.stopPropagation(),p(y)};return e.jsxs(e.Fragment,{children:[typeof o=="function"?o({loading:u,open:x}):e.jsxs(te,{edge:"end",onClick:x,size:"small",className:"rule-action",color:"error","data-cy":"action-delete-domain-alias",children:[u?e.jsx(z,{size:16}):e.jsx(_e,{style:{fontSize:16}}),r("common.delete")]}),m&&e.jsx(gt,{keyName:m.keyName,title:m.title,description:m.description,confirmPlaceholder:m.confirmPlaceholder,confirm:m.confirm,params:m.params,onConfirm:m.onConfirm,onCancel:m.onCancel})]})}tn.propTypes={id:t.string.isRequired,domain:t.string.isRequired,children:t.any,teamDid:t.string,onDelete:t.func};function sn({site:n,domain:i,blocklet:o,onDelete:a=()=>{}}){const{t:s}=A(),r=i.value===window.location.hostname;return e.jsx(ht,{"data-cy":"domain-actions",size:"large",actions:[({close:u})=>e.jsx(tn,{id:n.id,domain:i.value,teamDid:o?.meta?.did,onDelete:a,children:({open:l})=>e.jsx(L,{title:r?s("blocklet.router.currentDomainTip"):"",children:e.jsx("span",{children:e.jsxs(Oe,{disabled:i.isProtected||r,dense:!0,onClick:m=>{u(),l(m)},"data-cy":"action-toggle-block",children:[e.jsx(An,{style:{minWidth:24,marginRight:8},children:e.jsx(_e,{})}),e.jsx(kn,{primary:s("common.delete")})]},"remove")})})})]})}sn.propTypes={site:t.object.isRequired,domain:t.object.isRequired,blocklet:t.object.isRequired,onDelete:t.func};const ae=t.shape({href:t.string,accessibility:t.shape({loading:t.bool,accessible:t.bool}),domainStatus:t.shape({isHttps:t.bool,matchedCert:t.object}),dns:t.shape({resolved:t.bool,ip:t.string})});function on({certificate:n={}}){const[i,o]=j.useState(null),a=F(),{t:s,locale:r}=A(),u=p=>{o(p.currentTarget)},l=()=>{o(null)},m=!!i;return e.jsxs(e.Fragment,{children:[e.jsx(Tn,{"aria-owns":m?"mouse-over-popover":void 0,onMouseEnter:u,onMouseLeave:l,style:{color:"#44cdc6",fontSize:"1em",cursor:"pointer"}}),e.jsx($e,{id:"mouse-over-popover",style:{pointerEvents:"none"},open:m,anchorEl:i,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:l,disableRestoreFocus:!0,children:e.jsx(In,{children:e.jsxs(Pn,{style:{display:"flex"},children:[e.jsx("div",{children:e.jsx("img",{src:`${a.imgPrefix}/https-certificate-icon.png`,alt:"certificate icon",style:{maxHeight:"100%",maxWidth:"100%"}})}),e.jsxs(R,{component:"div",style:{marginLeft:"16px"},children:[e.jsx(R,{component:"div",style:{fontWeight:"bold"},children:n.domain}),e.jsx(R,{component:"div",children:`${s("common.issuer")}: ${Yn(n,"issuer.commonName","")}`}),e.jsx(R,{component:"div",children:`${s("router.cert.issuedOn")}: ${Pe(n.validFrom,r)}`}),e.jsx(R,{component:"div",children:`${s("router.cert.expiryOn")}: ${Pe(n.validTo,r)}`})]})]})})})]})}on.propTypes={certificate:t.object};function ne({domain:n,filters:i=["domain","http"]}){const{t:o}=A(),{value:a,domainStatus:s}=n;if(!Xe(a))return null;let r=null,u=null;const{isHttps:l,matchedCert:m}=s,{dns:{ip:p,isDnsResolved:f,isCnameMatch:c}={}}=s,g=f&&c;rt(a)||(g||p==="127.0.0.1"?r=e.jsx(L,{title:o("router.domain.verify.ok"),children:e.jsx(qe,{color:"success"})}):r=e.jsx(L,{title:o("router.domain.verify.notResolved"),children:e.jsx(qe,{color:"error"})})),g?l?u=e.jsx(on,{certificate:m}):u=e.jsx(L,{title:o("router.domain.https.bad"),children:e.jsx(qn,{style:{color:"#D0021B",fontSize:"1em",cursor:"pointer"}})}):u=e.jsx(L,{title:o("router.domain.verify.notResolved"),children:e.jsx(En,{style:{color:"#D0021B",fontSize:"1em",cursor:"pointer"}})});const y=i.map(x=>x==="domain"?r:x==="http"?u:null);return j.createElement(j.Fragment,null,...y)}ne.propTypes={domain:ae.isRequired,filters:t.array};const Lt=Je(be,"mutate_blocklets"),Ft=Je(be,"",at);function pi(n){const{inService:i}=F(),{blocklet:o,loadingRuntimeInfo:a}=oe();let s=Lt;return i&&(s=Ft),e.jsx(s,{...n,blocklet:o,inService:i,loadingRuntimeInfo:a})}const Fe="nft-domain";function be({hasPermission:n=!1,blocklet:i,loadingRuntimeInfo:o=!1,inService:a=!1,showAllDomains:s=!1,updateBlockletDomainAliases:r=()=>{},systemTips:u=null}){const{t:l}=A(),m=ie(d=>d.breakpoints.down("md")),p=j.useMemo(()=>{let d=n;return lt(i)&&(d=d&&a),d},[n,a,i]),{site:f}=i,c=j.useMemo(()=>Ze(i.site?.domainAliases),[i.site?.domainAliases]),g=j.useMemo(()=>c.filter(d=>!fe.isCustomDomain(d.value)),[c]),y=j.useMemo(()=>c.filter(d=>fe.isCustomDomain(d.value)),[c]),x=j.useMemo(()=>y.filter(d=>d.type!==Fe),[y]),b=j.useMemo(()=>y.filter(d=>d.type===Fe),[y]);return e.jsxs(e.Fragment,{children:[e.jsxs(W,{sx:{gap:3},children:[!!b.length&&e.jsx(Q,{title:l("common.didDomains"),description:l("common.didDomainsDescription"),domains:b,hasMutatePermission:p,blocklet:i,site:f,mobile:m,showAllDomains:s,updateBlockletDomainAliases:r}),!!x.length&&e.jsx(Q,{title:l("common.manualDomains"),description:l("common.manualDomainsDescription"),domains:x,hasMutatePermission:p,blocklet:i,site:f,mobile:m,showAllDomains:s,updateBlockletDomainAliases:r}),!!g.length&&e.jsxs(h,{children:[u,e.jsx(Q,{title:l("common.systemDomains"),description:l("common.systemDomainsDescription"),domains:g,hasMutatePermission:p,blocklet:i,site:f,mobile:m,updateBlockletDomainAliases:r})]})]}),!c.length&&(o?e.jsx(z,{size:16}):e.jsx(wn,{children:l("common.empty")}))]})}be.propTypes={hasPermission:t.bool,blocklet:t.object.isRequired,loadingRuntimeInfo:t.bool,inService:t.bool.isRequired,showAllDomains:t.bool,updateBlockletDomainAliases:t.func,systemTips:t.node};function J({children:n=null}){return e.jsx(h,{component:"span",sx:{verticalAlign:"bottom"},children:n})}J.propTypes={children:t.node};function he({domain:n,children:i,suffix:o=null,...a}){const{t:s,locale:r}=A(),u=H(),{href:l,accessibility:m,value:p}=n,f=j.useCallback(()=>e.jsx(ze,{content:je(p),locale:r,style:{marginLeft:"4px",color:u.palette.text.secondary,fontSize:"0.8em"}}),[p,r,u]);return!m||m.loading?e.jsxs(me,{component:"span",...a,children:[e.jsx(L,{title:void 0,placement:"top-end",children:e.jsx(h,{component:"span",children:i})}),f(),e.jsx(J,{children:o}),e.jsx(L,{title:s("blocklet.router.checkUrlAccessible"),placement:"top-end",children:e.jsx(h,{component:"span",className:"status",children:e.jsx(z,{size:13,style:{fontSize:"13px"}})})})]}):m.accessible?e.jsxs(me,{component:"span",...a,children:[e.jsx(h,{component:"a",href:l,target:"_blank",rel:"noopener noreferrer",sx:{color:n.loading?"text.disabled":void 0},children:e.jsx(L,{title:void 0,placement:"top-end",children:e.jsx(h,{component:"span",children:i})})}),f(),e.jsx(J,{children:o})]}):e.jsxs(me,{component:"span",...a,children:[e.jsx(L,{title:s("blocklet.router.urlInaccessible"),placement:"top-end",children:e.jsx(h,{component:"span",children:i})}),!n.loading&&f(),e.jsx(J,{children:o})]})}he.propTypes={domain:ae.isRequired,children:t.any.isRequired,suffix:t.node};const me=Mn(h)`
|
|
2
2
|
display: inline-block;
|
|
3
3
|
vertical-align: middle;
|
|
4
4
|
|
|
@@ -25,4 +25,4 @@ import{ay as bn,T as vn,V as A,q as Cn,H as E,p as te,z as wn,Z as ze}from"./ven
|
|
|
25
25
|
margin-left: 8px;
|
|
26
26
|
font-size: 13px;
|
|
27
27
|
}
|
|
28
|
-
`;function ge({hasMutatePermission:n,site:i,domain:o,blocklet:a,onDelete:s}){return n&&!o.isProtected?e.jsx(sn,{site:i,domain:o,blocklet:a,onDelete:s}):null}ge.propTypes={hasMutatePermission:t.bool.isRequired,site:t.object.isRequired,domain:ae.isRequired,blocklet:t.object.isRequired,onDelete:t.func.isRequired};function Q({siteId:n,domain:i,blocklet:o,hasMutatePermission:a}){const{info:s}=F(),{t:r,locale:u}=A(),[l,m]=j.useState(!1);return e.jsxs(h,{sx:{display:"flex",justifyContent:"flex-start",alignItems:"center",gap:.5,button:{lineHeight:1}},children:[i.type==="nft-domain"&&e.jsx(qt,{locale:u,nftDid:i.nftDid,didDomainURL:s.nftDomainUrl}),e.jsx(h,{sx:{display:"flex",mt:"-1px"},children:e.jsx(ne,{domain:i,filters:["http"]},`${i.value}-http`)}),a&&i.canGenerateCertificate&&e.jsx(nn,{siteId:n,domain:i.value,domainStatus:i.domainStatus,did:o.meta.did,issuing:l,setIssuing:m,children:({open:p})=>e.jsx(te,{sx:{padding:0},size:"small",onClick:f=>p(f),children:r("router.cert.genLetsEncryptCert.title")})})]})}Q.propTypes={siteId:t.string.isRequired,domain:ae.isRequired,blocklet:t.object.isRequired,hasMutatePermission:t.bool.isRequired};function Y({title:n,description:i,domains:o=[],hasMutatePermission:a,blocklet:s,site:r,mobile:u,showAllDomains:l=!1,updateBlockletDomainAliases:m=()=>{}}){const[p,f]=j.useState(!1),c=j.useMemo(()=>l||p?o:o.slice(0,1),[o,p,l]),g=o.length>1,y=x=>a&&!x.isProtected;return e.jsx(Oe,{elevation:0,sx:{p:3,pb:l?3:1.5,display:"flex",alignItems:"flex-start",gap:3,borderRadius:2,border:"1px solid",borderColor:"divider",transition:"box-shadow 0.2s ease-in-out"},children:e.jsxs(O,{sx:{width:1},children:[e.jsxs(h,{sx:{mb:1.5},children:[e.jsx(R,{variant:"h6",children:n}),e.jsx(R,{sx:{fontSize:12,color:"text.secondary",mt:.5},children:i})]}),c.map((x,b)=>e.jsxs(O,{children:[b!==0&&e.jsx(h,{sx:{my:.75,width:1,height:"1px"}}),!u&&e.jsxs(h,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsxs(h,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(h,{sx:{height:28,display:"flex",alignItems:"center"},children:e.jsx(ne,{domain:x,filters:["domain"]},`${x.value}-domain`)}),e.jsxs(h,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start",gap:.5,svg:{width:"1em",height:"1em"},img:{width:"0.9em",height:"0.9em"}},children:[e.jsx(he,{domain:x,target:"_blank",children:x.value}),e.jsx(h,{sx:{mt:"2px"},children:e.jsx(Q,{siteId:s.site?.id,domain:x,blocklet:s,hasMutatePermission:a})})]})]}),e.jsx(h,{sx:{button:{padding:0}},children:e.jsx(ge,{hasMutatePermission:a,site:r,domain:x,blocklet:s,onDelete:()=>m(x,"delete")})})]}),u&&e.jsxs(h,{sx:{display:"flex",flexDirection:"column"},children:[e.jsxs(h,{sx:{display:"flex",justifyContent:"flex-start",gap:1},children:[e.jsx(h,{sx:{height:28,display:"flex",alignItems:"center"},children:e.jsx(ne,{domain:x,filters:["domain"]},`${x.value}-domain`)}),e.jsx(he,{domain:x,target:"_blank",suffix:y(x)?null:e.jsx(h,{sx:{display:"inline-flex",alignItems:"center",justifyContent:"space-between",svg:{width:"1em",height:"1rem"},img:{width:"0.9rem",height:"0.9rem"}},children:e.jsx(Q,{siteId:s.site?.id,domain:x,blocklet:s,hasMutatePermission:a})}),children:x.value})]}),y(x)&&e.jsxs(h,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",ml:"18px"},children:[e.jsx(h,{sx:{display:"flex",alignItems:"center"},children:e.jsx(Q,{siteId:s.site?.id,domain:x,blocklet:s,hasMutatePermission:a})}),e.jsx(h,{sx:{button:{padding:0}},children:e.jsx(ge,{hasMutatePermission:a,site:r,domain:x,blocklet:s,onDelete:()=>m(x,"delete")})})]})]})]},x.value)),g&&!l&&e.jsx(te,{onClick:()=>f(!p),sx:{p:0,mt:.5,alignSelf:"center"},children:p?e.jsx(Ln,{}):e.jsx(Fn,{})})]})})}Y.propTypes={title:t.string.isRequired,description:t.string.isRequired,domains:t.array.isRequired,hasMutatePermission:t.bool.isRequired,blocklet:t.object.isRequired,site:t.object.isRequired,mobile:t.bool.isRequired,showAllDomains:t.bool,updateBlockletDomainAliases:t.func};const rn=j.createContext({}),{Provider:Mt,Consumer:fi}=rn;function Bt({children:n}){const[i,o]=se({domain:"",error:null}),{locale:a}=A(),s={error:i.error,domain:i.domain,setError:r=>{o({error:r})},setDomain:r=>{const u=je(r),l=Je(u,a);o({domain:u,error:l})}};return e.jsx(Mt,{value:{value:s},children:n})}function Ut(){const{value:n}=j.useContext(rn);return n}var ue,Me;function zt(){if(Me)return ue;Me=1;const{joinURL:n}=ct(),i=dt(),o="z2qaGosS3rZ7m5ttP3Nd4V4qczR9TryTcRV4p";return ue={DID_DOMAIN_SERVICE_DID:o,getDidDomainServiceURL:async s=>{if(!s||!s?.trim())return null;const r=new URL(s);r.pathname="__blocklet__.js",r.searchParams.set("type","json");const{data:u}=await i.get(r.toString()),l=u?.componentMountPoints?.find(c=>c.did===o),m=new URL(s);m.pathname=l?.mountPoint;const p=m.toString(),f=n(p,"/api");return{base:p,api:f,domain:n(f,"/domains")}}},ue}var Nt=zt();const $t=He(Kn),_t=He(Qn);var pe,Be;function Wt(){if(Be)return pe;Be=1;const n=$t,i=_t;function o(s){return!s||typeof s!="string"?!1:s.split(".").length===2}return pe={isTopLevelDomain:o,formatTopLevelDidDomain:s=>{const r=n(i(s));return r&&(o(r)?`www.${r}`:r)}},pe}var Ue=Wt(),Ot=mt();const Ht=Yn(Ot);function an({domain:n="",resolvedTarget:i,...o}){const{t:a,locale:s}=A();return e.jsxs(h,{sx:{backgroundColor:"rgb(236, 251, 253)",borderColor:"rgb(236, 251, 253)",borderRadius:"8px",padding:"12px"},...o,children:[e.jsxs(h,{sx:{display:"flex",flexWrap:"wrap"},children:[a("router.domain.setup.tipStart"),n&&e.jsx(h,{sx:{mx:.5,color:"primary.main",fontWeight:"fontWeightBold"},children:n}),a("router.domain.setup.tipEnd"),":"]}),e.jsxs(O,{sx:{gap:.5,"&>div":{mb:0},marginTop:"12px"},children:[e.jsx(De,{label:a("router.domain.setup.recordType"),value:"CNAME",locale:s}),e.jsx(De,{label:a("router.domain.setup.recordValue"),value:i,locale:s})]})]})}an.propTypes={domain:t.string,resolvedTarget:t.string.isRequired};function De({locale:n,label:i,value:o}){const a=ie(r=>r.breakpoints.down("md")),s=H();return e.jsx(yt,{name:i,nameWidth:120,children:e.jsxs(h,{sx:{display:"flex",alignItems:"center",lineHeight:1},children:[e.jsx(R,{component:"span",sx:[{color:"primary.main",overflow:"auto"},a?{maxWidth:"95%",wordWrap:"break-word"}:{wordWrap:"break-word"}],children:o}),e.jsx(ze,{content:o,locale:n,style:{marginLeft:"4px",color:s.palette.text.secondary}})]})})}De.propTypes={locale:t.string.isRequired,label:t.string.isRequired,value:t.string.isRequired};function ln({children:n=null,href:i="",sx:o=null,showIcon:a=!1,...s}){const r=H();return e.jsxs(Bn,{href:i,target:"_blank",...s,sx:{display:"inline-flex",alignItems:"center",color:"text.primary",":hover":{color:r.palette.primary.main},...o},children:[n,a&&e.jsx(Un,{fontSize:"small",sx:{ml:"4px",fontSize:"1rem"}})]})}ln.propTypes={children:t.node,sx:t.object,href:t.string,showIcon:t.bool};function cn({records:n}){return e.jsx(zn,{component:h,sx:{".MuiTableCell-root":{color:"text.primary"}},children:e.jsxs(Nn,{children:[e.jsx($n,{children:e.jsxs(Te,{children:[e.jsx(_,{children:"Type"}),e.jsx(_,{children:"Name"}),e.jsx(_,{children:"Data"})]})}),e.jsx(_n,{children:n.map(i=>e.jsxs(Te,{children:[e.jsx(_,{children:i.type}),e.jsx(_,{children:i.name}),e.jsx(_,{sx:{wordBreak:"break-word"},children:e.jsx(bt,{children:i.data})})]},i.name))})]})})}cn.propTypes={records:t.array.isRequired};function dn({url:n,domain:i=""}){const{t:o}=A();return e.jsxs(h,{sx:{display:"flex",flexDirection:"column",gap:2},children:[e.jsxs(h,{sx:{display:"flex",flexDirection:"column",gap:1},children:[e.jsx(R,{component:"h3",variant:"h6",children:o("setting.dns.step1Title")}),e.jsxs(R,{component:"section",children:[o("setting.dns.step1Desc1"),e.jsx(ln,{href:"https://lookup.icann.org/",target:"_blank",children:"ICANN"})]})]}),e.jsxs(h,{sx:{display:"flex",flexDirection:"column",gap:1},children:[e.jsx(R,{component:"h3",variant:"h6",children:o("setting.dns.step2Title",{url:n})}),e.jsx(R,{component:"section",children:o("setting.dns.step2Desc")})]}),e.jsxs(h,{sx:{display:"flex",flexDirection:"column",gap:1},children:[e.jsx(R,{component:"h3",variant:"h6",children:o("setting.dns.step3Title")}),e.jsx(R,{component:"section",children:o("setting.dns.step3Desc")}),e.jsx(cn,{records:[{type:"CNAME",name:jt(n),data:i}]})]})]})}dn.propTypes={url:t.string.isRequired,domain:t.string};const mn=j.createContext();function Vt({children:n}){const{t:i}=A(),{api:o}=F(),{blocklet:a}=oe(),[s,r]=j.useState(null),u=j.useCallback(async(p,f)=>{try{const c=await o.getBlocklet({input:{domain:p,did:a?.meta?.did}});return c?.blocklet?new Promise(g=>{r({title:i("setting.domain.conflictTitle",{domain:p}),description:i("setting.domain.conflictDescription",{domain:p,title:c.blocklet.meta?.title,from:c.blocklet.meta?.title,to:a.meta?.title}),confirm:i("common.confirm"),cancel:i("common.cancel"),onConfirm:async()=>{r(null),await f?.(),g(!0)},onCancel:()=>{r(null),g(!1)}})}):!1}catch(c){return console.error(c),E.error(N(c)),!1}},[o,i,a]),l=j.useCallback(()=>s?e.jsx(re,{title:s.title,description:s.description,confirm:s.confirm,cancel:s.cancel,onConfirm:s.onConfirm,onCancel:s.onCancel}):null,[s]),m=j.useMemo(()=>({checkConflict:u}),[u]);return e.jsxs(mn.Provider,{value:m,children:[n,l()]})}function un(){return j.useContext(mn)}function pn({siteId:n,teamDid:i,cnameDomain:o,defaultCustomDomain:a="",onInputDomain:s=X,appId:r="",appPk:u="",onSuccess:l=X,onError:m=X,disabled:p=!1,autoFocus:f=!0,inBlockletSetup:c=!1,shouldCheckDomain:g=!1,onStateChange:y=X,currentIp:x="",...b}){const{t:d,locale:w}=A(),{api:C,info:q}=F(),{blocklet:B}=oe(),M=Ut(),U=H(),T=ut({key:"sm"}),[S,P]=se({submittingDomain:!1,domain:a,error:null,type:q?.nftDomainUrl?"nftDomain":"inputDomain",showDnsTip:!1}),le=xe.getDisplayName(B),{checkConflict:ve}=un(),{connectApi:gn}=pt(),V=Dt(()=>Nt.getDidDomainServiceURL(q?.nftDomainUrl));if(q?.nftDomainUrl&&V.loading)return e.jsx(h,{...b,onError:m,currentIp:x,children:e.jsx(Ee,{relative:"parent",children:e.jsx(z,{})})});if(V.error)return e.jsx(h,{...b,onError:m,currentIp:x,children:e.jsx(Ee,{relative:"parent",children:V.error.message})});const Ce=V.value,ce=()=>{P({invalidDNSDomain:null})},we=async(D,v,k=!1)=>{await C.addDomainAlias({input:{id:n,domainAlias:D,teamDid:i,inBlockletSetup:!0,force:k}}),P({submittingDomain:!1}),l({domain:D,type:"inputDomain",canGenerateCertificate:!v})},de=async(D,v)=>{y(d("setting.domain.addingDomain"));try{await we(D,v,!1)}catch(k){if(console.error(k),ce(),N(k).includes("already exists")){await ve(D,()=>we(D,v,!0));return}E.error(N(k))}},Se=async({domain:D,type:v,nftDid:k,chainHost:W})=>{try{if(!g){if(v==="inputDomain"){await de(D);return}l({domain:D,type:v,nftDid:k,chainHost:W});return}y({text:d("setting.domain.checkingResolvable")});let I=30;const $=3e3,jn=I*1e3/$,ke=setInterval(()=>{if(I<=0){clearInterval(ke);return}y({text:`${d("setting.domain.checkingResolvable")} (${I--}s)`})},1e3),G=await Ht(()=>C.getDomainDNS({input:{teamDid:i,domain:D}}),{retries:jn,minTimeout:$,maxTimeout:$,onFailedAttempt:console.error});if(clearInterval(ke),!G?.isDnsResolved||!G?.isCnameMatch){let Z="";if(G.isDnsResolved?G.isCnameMatch||(Z=d("setting.domain.resolvedAddressError",{domain:D,curDomain:o})):Z=d("setting.domain.cannotResolve",{domain:D}),v==="nftDomain"){E.error(Z),l({domain:D,type:"nftDomain"});return}y({text:""}),P({invalidDNSDomain:{domain:D,error:Z},domain:D,type:v,submittingDomain:!1});return}if(v==="nftDomain"){l({domain:D,type:"nftDomain"});return}await de(D)}catch(I){E.error(I.message),y({text:""}),P({submittingDomain:!1})}},Re=async({domain:D,nftDid:v,chainHost:k,force:W})=>{let I=Le(D);I=Ue.formatTopLevelDidDomain(I),P({submittingDomain:!0}),await C.addDomainAlias({input:{id:n,type:"nft-domain",domainAlias:I,nftDid:v,chainHost:k,teamDid:i,inBlockletSetup:c,force:W}});const $="nftDomain";P({type:$}),await Se({domain:I,type:$,nftDid:v,chainHost:k})},Dn=async({domain:D,nftDid:v,chainHost:k,isDomainOwner:W})=>{if(!W){const I=d("router.domainAlias.addDomainNFT.authorizeFailed");E.error(I),P({submittingDomain:!1,error:I});return}try{await Re({domain:D,nftDid:v,chainHost:k,force:!1})}catch(I){if(console.error(I),ce(),N(I).includes("already exists")){await ve(D,()=>Re({domain:D,nftDid:v,chainHost:k,force:!0}));return}E.error(N(I))}finally{P({submittingDomain:!1})}},yn=async()=>{try{P({submittingDomain:!0});const D=Le(S.domain);if(q.nftDomainUrl&&Ce&&(await C.isDidDomain({input:{domain:D}})).value===!0){gn.openPopup({prefix:"/connect-to-did-domain",custom:!0,locale:w,extraParams:{provider:"wallet",delegatee:r,delegateePk:u,domain:Ue.formatTopLevelDidDomain(S.domain),appName:le,appUrl:xe.getAppUrl(B)},message:{title:d("router.domainAlias.addDomainNFT.connect.title",{appName:le}),scan:d("router.domainAlias.addDomainNFT.connect.scan",{domain:S.domain,appName:le}),confirm:d("router.domainAlias.addDomainNFT.connect.confirm"),success:d("router.domainAlias.addDomainNFT.connect.success")},onSuccess:Dn,onError:k=>{E.error(k.message),P({submittingDomain:!1})},onClose:()=>P({submittingDomain:!1}),checkTimeout:60*5e3},{baseUrl:Ce.base,locale:w});return}await Se({domain:D,type:S.type})}catch(D){P({submittingDomain:!1}),M.setError(D.message)}},Ae=M.error||S.error;return e.jsx(h,{...b,onError:m,currentIp:x,children:e.jsxs(h,{sx:{display:"flex",flexDirection:"column",justifyContent:"flex-start",gap:"1em"},children:[e.jsxs(h,{component:"form",onSubmit:D=>{D.preventDefault(),yn()},sx:{display:"flex",flexDirection:"column",gap:"8px"},children:[e.jsx(R,{sx:{color:U.palette.text.primary},children:d("router.domainAlias.add.tips")}),e.jsx(Wn,{sx:{display:"block",marginTop:"8px"},label:d("router.domainAlias.add.domainDescription"),helperText:S.type==="inputDomain"&&Ae||d("router.domainAlias.add.helperText"),fullWidth:!0,disabled:p,value:S.domain,size:"small",variant:"outlined",error:!!Ae&&S.type==="inputDomain",onChange:D=>{const v=je(D.target?.value);M.setDomain(v);const k=Je(v,w);P({domain:v,error:k,type:"inputDomain"}),s({domain:v,error:k,type:"inputDomain"})},autoFocus:f,onBlur:()=>{M.domain||(P({error:null}),M.setError(null))},slotProps:{htmlInput:{"data-cy":"domain-name-input"}}}),e.jsx(h,{sx:{width:"100%",display:"flex",justifyContent:"flex-end"},children:e.jsx(Ne,{"data-cy":"confirm-add-domain",fullWidth:T,variant:"contained",loading:S.submittingDomain,type:"submit",children:d("common.add")})}),e.jsx(h,{sx:{backgroundColor:()=>On(U.palette.primary.light,.1),borderRadius:"8px",padding:"12px"},children:d("router.domainAlias.addDomainNFT.topLevelDidDomainHint")}),e.jsxs(h,{sx:{cursor:"pointer",fontSize:"14px",display:"flex",alignItems:"center",gap:"4px",lineHeight:1,color:U.palette.primary.main},onClick:()=>P({showDnsTip:!S.showDnsTip}),children:[e.jsx(Hn,{fontSize:"1em"}),d("router.domainAlias.showTipHint")]}),S.showDnsTip&&e.jsx(an,{domain:S.domain,resolvedTarget:o,style:{marginTop:"4px"}})]}),S.invalidDNSDomain&&e.jsx(re,{maxWidth:"md",title:d("common.reminder"),description:e.jsxs(O,{sx:{gap:2},children:[e.jsx(ye,{severity:"warning",children:d("setting.domain.invalidDNSReminder",{error:S.invalidDNSDomain.error})}),e.jsx(dn,{url:S.domain,domain:o})]}),color:"primary",confirm:d("setting.domain.continueAdd"),onConfirm:()=>de(S.invalidDNSDomain.domain,S.type),onCancel:ce})]})})}pn.propTypes={siteId:t.string.isRequired,currentIp:t.string,teamDid:t.string.isRequired,cnameDomain:t.string.isRequired,defaultCustomDomain:t.string,onInputDomain:t.func,onSuccess:t.func,appId:t.string,appPk:t.string,disabled:t.bool,autoFocus:t.bool,inBlockletSetup:t.bool,shouldCheckDomain:t.bool,onStateChange:t.func,onError:t.func};function fn({id:n,children:i=null,title:o="",teamDid:a="",systemDomains:s,appId:r=null,appPk:u,onAddDomainAlias:l=()=>{},...m}){const{t:p}=A(),[f,c]=se({loading:!1,confirmSetting:null}),g=s.find(d=>fe.isDidDomain(d)),y=()=>{c({loading:!1,confirmSetting:null})},x={title:o||p("router.domainAlias.add.title"),description:function(w,C,q){return e.jsx(pn,{siteId:n,teamDid:a,cnameDomain:g,onSuccess:B=>{l(B),c({confirmSetting:null})},onInputDomain:({domain:B,type:M,error:U})=>{C({...w,domain:B,type:M,__disableConfirm:!!U}),q(U)},appId:r,appPk:u,...m})},confirm:p("common.confirm"),cancel:p("common.cancel"),params:{domain:"",__disableConfirm:!0},onCancel:y},b=d=>{d.stopPropagation(),c({confirmSetting:x})};return e.jsxs(e.Fragment,{children:[typeof i=="function"?i({loading:f.loading,open:b}):e.jsxs(We,{onClick:b,className:"rule-action","data-cy":"action-add-domain-alias",children:[f.loading?e.jsx(z,{size:16}):e.jsx(Vn,{style:{fontSize:18,marginRight:5}}),p("router.domainAlias.add.title")]}),f.confirmSetting&&e.jsx(re,{title:f.confirmSetting.title,description:f.confirmSetting.description,confirm:f.confirmSetting.confirm,cancel:f.confirmSetting.cancel,params:f.confirmSetting.params,onCancel:f.confirmSetting.onCancel,showConfirm:!1,showCancel:!0,displayError:!1,color:"primary",loading:f.loading,maxWidth:"sm"})]})}fn.propTypes={id:t.string.isRequired,children:t.any,title:t.string,teamDid:t.string,systemDomains:t.arrayOf(t.string).isRequired,appId:t.string,appPk:t.string.isRequired,onAddDomainAlias:t.func};function Gt(n){return e.jsx(Bt,{children:e.jsx(fn,{...n})})}function xn({appId:n,appPk:i,siteId:o,inBlockletSetup:a,teamDid:s,sx:r={},onAddDomainAlias:u=()=>{},...l}){const{api:m,info:p}=F(),{locale:f,t:c}=A(),{checkConflict:g}=un(),y=async({domain:b,nftDid:d,chainHost:w,force:C})=>{const q={id:o,type:"nft-domain",domainAlias:b,nftDid:d,chainHost:w,teamDid:s,inBlockletSetup:a,force:C};return await m.addDomainAlias({input:q}),q},x=async({domain:b,nftDid:d,chainHost:w})=>{try{const C=await y({domain:b,nftDid:d,chainHost:w,force:!1});u(C)}catch(C){if(N(C).includes("already exists")){await g(b,()=>y({domain:b,nftDid:d,chainHost:w,force:!0}));return}E.error(N(C))}};return e.jsx(Pt,{delegatee:n,delegateePk:i,didDomainURL:p.nftDomainUrl,onSuccess:x,locale:f,variant:"outlined",sx:r,title:c("router.domainAlias.addDomainNFT.buy"),...l})}xn.propTypes={appId:t.string.isRequired,appPk:t.string.isRequired,siteId:t.string.isRequired,inBlockletSetup:t.bool.isRequired,teamDid:t.string.isRequired,sx:t.object,onAddDomainAlias:t.func};function Zt({blocklet:n,bugDidDomainProps:i={},connectDomainProps:o={},updateBlockletDomainAliases:a=()=>{}}){const{t:s}=A(),{info:r}=F(),u=ie(c=>c.breakpoints.down("md")),{site:l}=n,m=j.useMemo(()=>Xe(n.site?.domainAliases),[n.site?.domainAliases]),p=n.environments?.find(c=>c.key==="BLOCKLET_APP_PK")?.value,f=ft(m);return e.jsx(Vt,{children:e.jsx(hn,{action:e.jsxs(h,{sx:{display:"flex",alignItems:u?"stretch":"center",flexDirection:u?"column":"row",gap:1},children:[r.nftDomainUrl&&e.jsx(xn,{variant:"contained",appId:n.appPid,appPk:p,siteId:l.id,inBlockletSetup:!1,teamDid:n.meta.did,onAddDomainAlias:c=>{const g={value:c.domainAlias,isProtected:!1,type:c.type,nftDid:c.nftDid,chainHost:c.chainHost,accessibility:{loading:!0}};a(g)},...i}),e.jsx(Gt,{id:l.id,title:s("common.connectExistingDomain"),teamDid:n.meta?.did,appId:n.appPid,appPk:p,systemDomains:f?.map(c=>c.value),onAddDomainAlias:c=>{const g={value:c.domain,isProtected:!1,type:c.type==="nftDomain"?"nft-domain":"",nftDid:c.nftDid,chainHost:c.chainHost,accessibility:{loading:!0},canGenerateCertificate:c.canGenerateCertificate===void 0?!0:c.canGenerateCertificate};a(g)},...o,children:({open:c})=>e.jsxs(te,{variant:"outlined",sx:{borderColor:"#ddd",color:"text.primary","&:hover":{bgcolor:g=>g.palette.primary.main,color:g=>g.palette.primary.contrastText}},"data-cy":"add-domain-alias",onClick:c,disabled:xe.isInProgress(n.status),children:[e.jsx(Gn,{style:{fontSize:"1.3em",marginRight:4}}),s("common.connectExistingDomain")]})})]})})})}Zt.propTypes={blocklet:t.object.isRequired,bugDidDomainProps:t.object,connectDomainProps:t.object,updateBlockletDomainAliases:t.func};function hn({action:n}){const{t:i}=A();return e.jsxs(Oe,{elevation:0,sx:{p:3,borderRadius:2,border:"1px solid",borderColor:"divider"},children:[e.jsx(h,{sx:{display:"flex",alignItems:"center",gap:2},children:e.jsxs(h,{sx:{flex:1,width:0,mb:1.5},children:[e.jsx(R,{variant:"h6",children:i("common.bugOrConnectDomain")}),e.jsx(R,{sx:{fontSize:12,color:"text.secondary",mt:.5},children:i("common.bugOrConnectDomainTip")})]})}),n]})}hn.propTypes={action:t.element.isRequired};export{Bt as D,Zt as a,pi as b};
|
|
28
|
+
`;function ge({hasMutatePermission:n,site:i,domain:o,blocklet:a,onDelete:s}){return n&&!o.isProtected?e.jsx(sn,{site:i,domain:o,blocklet:a,onDelete:s}):null}ge.propTypes={hasMutatePermission:t.bool.isRequired,site:t.object.isRequired,domain:ae.isRequired,blocklet:t.object.isRequired,onDelete:t.func.isRequired};function K({siteId:n,domain:i,blocklet:o,hasMutatePermission:a}){const{info:s}=F(),{t:r,locale:u}=A(),[l,m]=j.useState(!1);return e.jsxs(h,{sx:{display:"flex",justifyContent:"flex-start",alignItems:"center",gap:.5,button:{lineHeight:1}},children:[i.type==="nft-domain"&&e.jsx(qt,{locale:u,nftDid:i.nftDid,didDomainURL:s.nftDomainUrl}),e.jsx(h,{sx:{display:"flex",mt:"-1px"},children:e.jsx(ne,{domain:i,filters:["http"]},`${i.value}-http`)}),a&&i.canGenerateCertificate&&e.jsx(nn,{siteId:n,domain:i.value,domainStatus:i.domainStatus,did:o.meta.did,issuing:l,setIssuing:m,children:({open:p})=>e.jsx(te,{sx:{padding:0},size:"small",onClick:f=>p(f),children:r("router.cert.genLetsEncryptCert.title")})})]})}K.propTypes={siteId:t.string.isRequired,domain:ae.isRequired,blocklet:t.object.isRequired,hasMutatePermission:t.bool.isRequired};function Q({title:n,description:i,domains:o=[],hasMutatePermission:a,blocklet:s,site:r,mobile:u,showAllDomains:l=!1,updateBlockletDomainAliases:m=()=>{}}){const[p,f]=j.useState(!1),c=j.useMemo(()=>l||p?o:o.slice(0,1),[o,p,l]),g=o.length>1,y=x=>a&&!x.isProtected;return e.jsx(We,{elevation:0,sx:{p:3,pb:l?3:1.5,display:"flex",alignItems:"flex-start",gap:3,borderRadius:2,border:"1px solid",borderColor:"divider",transition:"box-shadow 0.2s ease-in-out"},children:e.jsxs(W,{sx:{width:1},children:[e.jsxs(h,{sx:{mb:1.5},children:[e.jsx(R,{variant:"h6",children:n}),e.jsx(R,{sx:{fontSize:12,color:"text.secondary",mt:.5},children:i})]}),c.map((x,b)=>e.jsxs(W,{children:[b!==0&&e.jsx(h,{sx:{my:.75,width:1,height:"1px"}}),!u&&e.jsxs(h,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsxs(h,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(h,{sx:{height:28,display:"flex",alignItems:"center"},children:e.jsx(ne,{domain:x,filters:["domain"]},`${x.value}-domain`)}),e.jsxs(h,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start",gap:.5,svg:{width:"1em",height:"1em"},img:{width:"0.9em",height:"0.9em"}},children:[e.jsx(he,{domain:x,target:"_blank",children:x.value}),e.jsx(h,{sx:{mt:"2px"},children:e.jsx(K,{siteId:s.site?.id,domain:x,blocklet:s,hasMutatePermission:a})})]})]}),e.jsx(h,{sx:{button:{padding:0}},children:e.jsx(ge,{hasMutatePermission:a,site:r,domain:x,blocklet:s,onDelete:()=>m(x,"delete")})})]}),u&&e.jsxs(h,{sx:{display:"flex",flexDirection:"column"},children:[e.jsxs(h,{sx:{display:"flex",justifyContent:"flex-start",gap:1},children:[e.jsx(h,{sx:{height:28,display:"flex",alignItems:"center"},children:e.jsx(ne,{domain:x,filters:["domain"]},`${x.value}-domain`)}),e.jsx(he,{domain:x,target:"_blank",suffix:y(x)?null:e.jsx(h,{sx:{display:"inline-flex",alignItems:"center",justifyContent:"space-between",svg:{width:"1em",height:"1rem"},img:{width:"0.9rem",height:"0.9rem"}},children:e.jsx(K,{siteId:s.site?.id,domain:x,blocklet:s,hasMutatePermission:a})}),children:x.value})]}),y(x)&&e.jsxs(h,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",ml:"18px"},children:[e.jsx(h,{sx:{display:"flex",alignItems:"center"},children:e.jsx(K,{siteId:s.site?.id,domain:x,blocklet:s,hasMutatePermission:a})}),e.jsx(h,{sx:{button:{padding:0}},children:e.jsx(ge,{hasMutatePermission:a,site:r,domain:x,blocklet:s,onDelete:()=>m(x,"delete")})})]})]})]},x.value)),g&&!l&&e.jsx(te,{onClick:()=>f(!p),sx:{p:0,mt:.5,alignSelf:"center"},children:p?e.jsx(Ln,{}):e.jsx(Fn,{})})]})})}Q.propTypes={title:t.string.isRequired,description:t.string.isRequired,domains:t.array.isRequired,hasMutatePermission:t.bool.isRequired,blocklet:t.object.isRequired,site:t.object.isRequired,mobile:t.bool.isRequired,showAllDomains:t.bool,updateBlockletDomainAliases:t.func};const rn=j.createContext({}),{Provider:Mt,Consumer:fi}=rn;function Bt({children:n}){const[i,o]=se({domain:"",error:null}),{locale:a}=A(),s={error:i.error,domain:i.domain,setError:r=>{o({error:r})},setDomain:r=>{const u=je(r),l=Ye(u,a);o({domain:u,error:l})}};return e.jsx(Mt,{value:{value:s},children:n})}function Ut(){const{value:n}=j.useContext(rn);return n}var ue,Me;function zt(){if(Me)return ue;Me=1;const{joinURL:n}=ct(),i=dt(),o="z2qaGosS3rZ7m5ttP3Nd4V4qczR9TryTcRV4p";return ue={DID_DOMAIN_SERVICE_DID:o,getDidDomainServiceURL:async s=>{if(!s||!s?.trim())return null;const r=new URL(s);r.pathname="__blocklet__.js",r.searchParams.set("type","json");const{data:u}=await i.get(r.toString()),l=u?.componentMountPoints?.find(c=>c.did===o),m=new URL(s);m.pathname=l?.mountPoint;const p=m.toString(),f=n(p,"/api");return{base:p,api:f,domain:n(f,"/domains")}}},ue}var Nt=zt();const $t=He(Jn),_t=He(Kn);var pe,Be;function Ot(){if(Be)return pe;Be=1;const n=$t,i=_t;function o(s){return!s||typeof s!="string"?!1:s.split(".").length===2}return pe={isTopLevelDomain:o,formatTopLevelDidDomain:s=>{const r=n(i(s));return r&&(o(r)?`www.${r}`:r)}},pe}var Ue=Ot(),Wt=mt();const Ht=Qn(Wt);function an({domain:n="",resolvedTarget:i,...o}){const{t:a,locale:s}=A();return e.jsxs(h,{sx:{backgroundColor:"rgb(236, 251, 253)",borderColor:"rgb(236, 251, 253)",borderRadius:"8px",padding:"12px"},...o,children:[e.jsxs(h,{sx:{display:"flex",flexWrap:"wrap"},children:[a("router.domain.setup.tipStart"),n&&e.jsx(h,{sx:{mx:.5,color:"primary.main",fontWeight:"fontWeightBold"},children:n}),a("router.domain.setup.tipEnd"),":"]}),e.jsxs(W,{sx:{gap:.5,"&>div":{mb:0},marginTop:"12px"},children:[e.jsx(De,{label:a("router.domain.setup.recordType"),value:"CNAME",locale:s}),e.jsx(De,{label:a("router.domain.setup.recordValue"),value:i,locale:s})]})]})}an.propTypes={domain:t.string,resolvedTarget:t.string.isRequired};function De({locale:n,label:i,value:o}){const a=ie(r=>r.breakpoints.down("md")),s=H();return e.jsx(yt,{name:i,nameWidth:120,children:e.jsxs(h,{sx:{display:"flex",alignItems:"center",lineHeight:1},children:[e.jsx(R,{component:"span",sx:[{color:"primary.main",overflow:"auto"},a?{maxWidth:"95%",wordWrap:"break-word"}:{wordWrap:"break-word"}],children:o}),e.jsx(ze,{content:o,locale:n,style:{marginLeft:"4px",color:s.palette.text.secondary}})]})})}De.propTypes={locale:t.string.isRequired,label:t.string.isRequired,value:t.string.isRequired};function ln({children:n=null,href:i="",sx:o=null,showIcon:a=!1,...s}){const r=H();return e.jsxs(Bn,{href:i,target:"_blank",...s,sx:{display:"inline-flex",alignItems:"center",color:"text.primary",":hover":{color:r.palette.primary.main},...o},children:[n,a&&e.jsx(Un,{fontSize:"small",sx:{ml:"4px",fontSize:"1rem"}})]})}ln.propTypes={children:t.node,sx:t.object,href:t.string,showIcon:t.bool};function cn({records:n}){return e.jsx(zn,{component:h,sx:{".MuiTableCell-root":{color:"text.primary"}},children:e.jsxs(Nn,{children:[e.jsx($n,{children:e.jsxs(Te,{children:[e.jsx(_,{children:"Type"}),e.jsx(_,{children:"Name"}),e.jsx(_,{children:"Data"})]})}),e.jsx(_n,{children:n.map(i=>e.jsxs(Te,{children:[e.jsx(_,{children:i.type}),e.jsx(_,{children:i.name}),e.jsx(_,{sx:{wordBreak:"break-word"},children:e.jsx(bt,{children:i.data})})]},i.name))})]})})}cn.propTypes={records:t.array.isRequired};function dn({url:n,domain:i=""}){const{t:o}=A();return e.jsxs(h,{sx:{display:"flex",flexDirection:"column",gap:2},children:[e.jsxs(h,{sx:{display:"flex",flexDirection:"column",gap:1},children:[e.jsx(R,{component:"h3",variant:"h6",children:o("setting.dns.step1Title")}),e.jsxs(R,{component:"section",children:[o("setting.dns.step1Desc1"),e.jsx(ln,{href:"https://lookup.icann.org/",target:"_blank",children:"ICANN"})]})]}),e.jsxs(h,{sx:{display:"flex",flexDirection:"column",gap:1},children:[e.jsx(R,{component:"h3",variant:"h6",children:o("setting.dns.step2Title",{url:n})}),e.jsx(R,{component:"section",children:o("setting.dns.step2Desc")})]}),e.jsxs(h,{sx:{display:"flex",flexDirection:"column",gap:1},children:[e.jsx(R,{component:"h3",variant:"h6",children:o("setting.dns.step3Title")}),e.jsx(R,{component:"section",children:o("setting.dns.step3Desc")}),e.jsx(cn,{records:[{type:"CNAME",name:jt(n),data:i}]})]})]})}dn.propTypes={url:t.string.isRequired,domain:t.string};const mn=j.createContext();function Vt({children:n}){const{t:i}=A(),{api:o}=F(),{blocklet:a}=oe(),[s,r]=j.useState(null),u=j.useCallback(async(p,f)=>{try{const c=await o.getBlocklet({input:{domain:p,did:a?.meta?.did}});return c?.blocklet?new Promise(g=>{r({title:i("setting.domain.conflictTitle",{domain:p}),description:i("setting.domain.conflictDescription",{domain:p,title:c.blocklet.meta?.title,from:c.blocklet.meta?.title,to:a.meta?.title}),confirm:i("common.confirm"),cancel:i("common.cancel"),onConfirm:async()=>{r(null),await f?.(),g(!0)},onCancel:()=>{r(null),g(!1)}})}):!1}catch(c){return console.error(c),E.error(N(c)),!1}},[o,i,a]),l=j.useCallback(()=>s?e.jsx(re,{title:s.title,description:s.description,confirm:s.confirm,cancel:s.cancel,onConfirm:s.onConfirm,onCancel:s.onCancel}):null,[s]),m=j.useMemo(()=>({checkConflict:u}),[u]);return e.jsxs(mn.Provider,{value:m,children:[n,l()]})}function un(){return j.useContext(mn)}function pn({siteId:n,teamDid:i,cnameDomain:o,defaultCustomDomain:a="",onInputDomain:s=Z,appId:r="",appPk:u="",onSuccess:l=Z,onError:m=Z,disabled:p=!1,autoFocus:f=!0,inBlockletSetup:c=!1,shouldCheckDomain:g=!1,onStateChange:y=Z,currentIp:x="",...b}){const{t:d,locale:w}=A(),{api:C,info:q}=F(),{blocklet:B}=oe(),M=Ut(),U=H(),T=ut({key:"sm"}),[S,P]=se({submittingDomain:!1,domain:a,error:null,type:q?.nftDomainUrl?"nftDomain":"inputDomain",showDnsTip:!1}),le=xe.getDisplayName(B),{checkConflict:ve}=un(),{connectApi:gn}=pt(),V=Dt(()=>Nt.getDidDomainServiceURL(q?.nftDomainUrl));if(q?.nftDomainUrl&&V.loading)return e.jsx(h,{...b,onError:m,currentIp:x,children:e.jsx(Ee,{relative:"parent",children:e.jsx(z,{})})});if(V.error)return e.jsx(h,{...b,onError:m,currentIp:x,children:e.jsx(Ee,{relative:"parent",children:V.error.message})});const Ce=V.value,ce=()=>{P({invalidDNSDomain:null})},we=async(D,v,k=!1)=>{await C.addDomainAlias({input:{id:n,domainAlias:D,teamDid:i,inBlockletSetup:!0,force:k}}),P({submittingDomain:!1}),l({domain:D,type:"inputDomain",canGenerateCertificate:!v})},de=async(D,v)=>{y(d("setting.domain.addingDomain"));try{await we(D,v,!1)}catch(k){if(console.error(k),ce(),N(k).includes("already exists")){await ve(D,()=>we(D,v,!0));return}E.error(N(k))}},Se=async({domain:D,type:v,nftDid:k,chainHost:O})=>{try{if(!g){if(v==="inputDomain"){await de(D);return}l({domain:D,type:v,nftDid:k,chainHost:O});return}y({text:d("setting.domain.checkingResolvable")});let I=30;const $=3e3,jn=I*1e3/$,ke=setInterval(()=>{if(I<=0){clearInterval(ke);return}y({text:`${d("setting.domain.checkingResolvable")} (${I--}s)`})},1e3),G=await Ht(()=>C.getDomainDNS({input:{teamDid:i,domain:D}}),{retries:jn,minTimeout:$,maxTimeout:$,onFailedAttempt:console.error});if(clearInterval(ke),!G?.isDnsResolved||!G?.isCnameMatch){let X="";if(G.isDnsResolved?G.isCnameMatch||(X=d("setting.domain.resolvedAddressError",{domain:D,curDomain:o})):X=d("setting.domain.cannotResolve",{domain:D}),v==="nftDomain"){E.error(X),l({domain:D,type:"nftDomain"});return}y({text:""}),P({invalidDNSDomain:{domain:D,error:X},domain:D,type:v,submittingDomain:!1});return}if(v==="nftDomain"){l({domain:D,type:"nftDomain"});return}await de(D)}catch(I){E.error(I.message),y({text:""}),P({submittingDomain:!1})}},Re=async({domain:D,nftDid:v,chainHost:k,force:O})=>{let I=Le(D);I=Ue.formatTopLevelDidDomain(I),P({submittingDomain:!0}),await C.addDomainAlias({input:{id:n,type:"nft-domain",domainAlias:I,nftDid:v,chainHost:k,teamDid:i,inBlockletSetup:c,force:O}});const $="nftDomain";P({type:$}),await Se({domain:I,type:$,nftDid:v,chainHost:k})},Dn=async({domain:D,nftDid:v,chainHost:k,isDomainOwner:O})=>{if(!O){const I=d("router.domainAlias.addDomainNFT.authorizeFailed");E.error(I),P({submittingDomain:!1,error:I});return}try{await Re({domain:D,nftDid:v,chainHost:k,force:!1})}catch(I){if(console.error(I),ce(),N(I).includes("already exists")){await ve(D,()=>Re({domain:D,nftDid:v,chainHost:k,force:!0}));return}E.error(N(I))}finally{P({submittingDomain:!1})}},yn=async()=>{try{P({submittingDomain:!0});const D=Le(S.domain);if(q.nftDomainUrl&&Ce&&(await C.isDidDomain({input:{domain:D}})).value===!0){gn.openPopup({prefix:"/connect-to-did-domain",custom:!0,locale:w,extraParams:{provider:"wallet",delegatee:r,delegateePk:u,domain:Ue.formatTopLevelDidDomain(S.domain),appName:le,appUrl:xe.getAppUrl(B)},message:{title:d("router.domainAlias.addDomainNFT.connect.title",{appName:le}),scan:d("router.domainAlias.addDomainNFT.connect.scan",{domain:S.domain,appName:le}),confirm:d("router.domainAlias.addDomainNFT.connect.confirm"),success:d("router.domainAlias.addDomainNFT.connect.success")},onSuccess:Dn,onError:k=>{E.error(k.message),P({submittingDomain:!1})},onClose:()=>P({submittingDomain:!1}),checkTimeout:60*5e3},{baseUrl:Ce.base,locale:w});return}await Se({domain:D,type:S.type})}catch(D){P({submittingDomain:!1}),M.setError(D.message)}},Ae=M.error||S.error;return e.jsx(h,{...b,onError:m,currentIp:x,children:e.jsxs(h,{sx:{display:"flex",flexDirection:"column",justifyContent:"flex-start",gap:"1em"},children:[e.jsxs(h,{component:"form",onSubmit:D=>{D.preventDefault(),yn()},sx:{display:"flex",flexDirection:"column",gap:"8px"},children:[e.jsx(R,{sx:{color:U.palette.text.primary},children:d("router.domainAlias.add.tips")}),e.jsx(On,{sx:{display:"block",marginTop:"8px"},label:d("router.domainAlias.add.domainDescription"),helperText:S.type==="inputDomain"&&Ae||d("router.domainAlias.add.helperText"),fullWidth:!0,disabled:p,value:S.domain,size:"small",variant:"outlined",error:!!Ae&&S.type==="inputDomain",onChange:D=>{const v=je(D.target?.value);M.setDomain(v);const k=Ye(v,w);P({domain:v,error:k,type:"inputDomain"}),s({domain:v,error:k,type:"inputDomain"})},autoFocus:f,onBlur:()=>{M.domain||(P({error:null}),M.setError(null))},slotProps:{htmlInput:{"data-cy":"domain-name-input"}}}),e.jsx(h,{sx:{width:"100%",display:"flex",justifyContent:"flex-end"},children:e.jsx(Ne,{"data-cy":"confirm-add-domain",fullWidth:T,variant:"contained",loading:S.submittingDomain,type:"submit",children:d("common.add")})}),e.jsx(h,{sx:{backgroundColor:()=>Wn(U.palette.primary.light,.1),borderRadius:"8px",padding:"12px"},children:d("router.domainAlias.addDomainNFT.topLevelDidDomainHint")}),e.jsxs(h,{sx:{cursor:"pointer",fontSize:"14px",display:"flex",alignItems:"center",gap:"4px",lineHeight:1,color:U.palette.primary.main},onClick:()=>P({showDnsTip:!S.showDnsTip}),children:[e.jsx(Hn,{fontSize:"1em"}),d("router.domainAlias.showTipHint")]}),S.showDnsTip&&e.jsx(an,{domain:S.domain,resolvedTarget:o,style:{marginTop:"4px"}})]}),S.invalidDNSDomain&&e.jsx(re,{maxWidth:"md",title:d("common.reminder"),description:e.jsxs(W,{sx:{gap:2},children:[e.jsx(ye,{severity:"warning",children:d("setting.domain.invalidDNSReminder",{error:S.invalidDNSDomain.error})}),e.jsx(dn,{url:S.domain,domain:o})]}),color:"primary",confirm:d("setting.domain.continueAdd"),onConfirm:()=>de(S.invalidDNSDomain.domain,S.type),onCancel:ce})]})})}pn.propTypes={siteId:t.string.isRequired,currentIp:t.string,teamDid:t.string.isRequired,cnameDomain:t.string.isRequired,defaultCustomDomain:t.string,onInputDomain:t.func,onSuccess:t.func,appId:t.string,appPk:t.string,disabled:t.bool,autoFocus:t.bool,inBlockletSetup:t.bool,shouldCheckDomain:t.bool,onStateChange:t.func,onError:t.func};function fn({id:n,children:i=null,title:o="",teamDid:a="",systemDomains:s,appId:r=null,appPk:u,onAddDomainAlias:l=()=>{},...m}){const{t:p}=A(),[f,c]=se({loading:!1,confirmSetting:null}),g=s.find(d=>fe.isDidDomain(d)),y=()=>{c({loading:!1,confirmSetting:null})},x={title:o||p("router.domainAlias.add.title"),description:function(w,C,q){return e.jsx(pn,{siteId:n,teamDid:a,cnameDomain:g,onSuccess:B=>{l(B),c({confirmSetting:null})},onInputDomain:({domain:B,type:M,error:U})=>{C({...w,domain:B,type:M,__disableConfirm:!!U}),q(U)},appId:r,appPk:u,...m})},confirm:p("common.confirm"),cancel:p("common.cancel"),params:{domain:"",__disableConfirm:!0},onCancel:y},b=d=>{d.stopPropagation(),c({confirmSetting:x})};return e.jsxs(e.Fragment,{children:[typeof i=="function"?i({loading:f.loading,open:b}):e.jsxs(Oe,{onClick:b,className:"rule-action","data-cy":"action-add-domain-alias",children:[f.loading?e.jsx(z,{size:16}):e.jsx(Vn,{style:{fontSize:18,marginRight:5}}),p("router.domainAlias.add.title")]}),f.confirmSetting&&e.jsx(re,{title:f.confirmSetting.title,description:f.confirmSetting.description,confirm:f.confirmSetting.confirm,cancel:f.confirmSetting.cancel,params:f.confirmSetting.params,onCancel:f.confirmSetting.onCancel,showConfirm:!1,showCancel:!0,displayError:!1,color:"primary",loading:f.loading,maxWidth:"sm"})]})}fn.propTypes={id:t.string.isRequired,children:t.any,title:t.string,teamDid:t.string,systemDomains:t.arrayOf(t.string).isRequired,appId:t.string,appPk:t.string.isRequired,onAddDomainAlias:t.func};function Gt(n){return e.jsx(Bt,{children:e.jsx(fn,{...n})})}function xn({appId:n,appPk:i,siteId:o,inBlockletSetup:a,teamDid:s,sx:r={},onAddDomainAlias:u=()=>{},...l}){const{api:m,info:p}=F(),{locale:f,t:c}=A(),{checkConflict:g}=un(),y=async({domain:b,nftDid:d,chainHost:w,force:C})=>{const q={id:o,type:"nft-domain",domainAlias:b,nftDid:d,chainHost:w,teamDid:s,inBlockletSetup:a,force:C};return await m.addDomainAlias({input:q}),q},x=async({domain:b,nftDid:d,chainHost:w})=>{try{const C=await y({domain:b,nftDid:d,chainHost:w,force:!1});u(C)}catch(C){if(N(C).includes("already exists")){await g(b,()=>y({domain:b,nftDid:d,chainHost:w,force:!0}));return}E.error(N(C))}};return e.jsx(Pt,{delegatee:n,delegateePk:i,didDomainURL:p.nftDomainUrl,onSuccess:x,locale:f,variant:"outlined",sx:r,title:c("router.domainAlias.addDomainNFT.buy"),...l})}xn.propTypes={appId:t.string.isRequired,appPk:t.string.isRequired,siteId:t.string.isRequired,inBlockletSetup:t.bool.isRequired,teamDid:t.string.isRequired,sx:t.object,onAddDomainAlias:t.func};function Xt({blocklet:n,bugDidDomainProps:i={},connectDomainProps:o={},updateBlockletDomainAliases:a=()=>{}}){const{t:s}=A(),{info:r}=F(),u=ie(c=>c.breakpoints.down("md")),{site:l}=n,m=j.useMemo(()=>Ze(n.site?.domainAliases),[n.site?.domainAliases]),p=n.environments?.find(c=>c.key==="BLOCKLET_APP_PK")?.value,f=ft(m);return e.jsx(Vt,{children:e.jsx(hn,{action:e.jsxs(h,{sx:{display:"flex",alignItems:u?"stretch":"center",flexDirection:u?"column":"row",gap:1},children:[r.nftDomainUrl&&e.jsx(xn,{variant:"contained",appId:n.appPid,appPk:p,siteId:l.id,inBlockletSetup:!1,teamDid:n.meta.did,onAddDomainAlias:c=>{const g={value:c.domainAlias,isProtected:!1,type:c.type,nftDid:c.nftDid,chainHost:c.chainHost,accessibility:{loading:!0}};a(g)},...i}),e.jsx(Gt,{id:l.id,title:s("common.connectExistingDomain"),teamDid:n.meta?.did,appId:n.appPid,appPk:p,systemDomains:f?.map(c=>c.value),onAddDomainAlias:c=>{const g={value:c.domain,isProtected:!1,type:c.type==="nftDomain"?"nft-domain":"",nftDid:c.nftDid,chainHost:c.chainHost,accessibility:{loading:!0},canGenerateCertificate:c.canGenerateCertificate===void 0?!0:c.canGenerateCertificate};a(g)},...o,children:({open:c})=>e.jsxs(te,{variant:"outlined",sx:{borderColor:"#ddd",color:"text.primary","&:hover":{bgcolor:g=>g.palette.primary.main,color:g=>g.palette.primary.contrastText}},"data-cy":"add-domain-alias",onClick:c,disabled:xe.isInProgress(n.status),children:[e.jsx(Gn,{style:{fontSize:"1.3em",marginRight:4}}),s("common.connectExistingDomain")]})})]})})})}Xt.propTypes={blocklet:t.object.isRequired,bugDidDomainProps:t.object,connectDomainProps:t.object,updateBlockletDomainAliases:t.func};function hn({action:n}){const{t:i}=A();return e.jsxs(We,{elevation:0,sx:{p:3,borderRadius:2,border:"1px solid",borderColor:"divider"},children:[e.jsx(h,{sx:{display:"flex",alignItems:"center",gap:2},children:e.jsxs(h,{sx:{flex:1,width:0,mb:1.5},children:[e.jsx(R,{variant:"h6",children:i("common.bugOrConnectDomain")}),e.jsx(R,{sx:{fontSize:12,color:"text.secondary",mt:.5},children:i("common.bugOrConnectDomainTip")})]})}),n]})}hn.propTypes={action:t.element.isRequired};export{Bt as D,Xt as a,pi as b};
|