@abtnode/webapp 1.16.38 → 1.16.39-beta-20250209-032436-5ceca2cb
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/blocklet.js +1 -1
- package/blocklet.yml +1 -1
- package/dist/assets/{Add-CFO7g7AE.js → Add-Dwz6izRf.js} +1 -1
- package/dist/assets/{ArrowDropDown-9ChqTYDp.js → ArrowDropDown-Bh3SfNDo.js} +1 -1
- package/dist/assets/{Autocomplete-BpaEG93b.js → Autocomplete-DtOkQetI.js} +1 -1
- package/dist/assets/{Breadcrumbs-Dtl-NP9A.js → Breadcrumbs-qmDXaLzA.js} +1 -1
- package/dist/assets/{ButtonGroup-BjciiYu8.js → ButtonGroup-Cxal2SJ8.js} +1 -1
- package/dist/assets/{CSSTransition-BOYix1Tj.js → CSSTransition-TlvzVrs5.js} +1 -1
- package/dist/assets/{CheckCircle-CXYJ_MB5.js → CheckCircle-qelhchy5.js} +1 -1
- package/dist/assets/{ChevronLeft-Cmm3iUtR.js → ChevronLeft-BNPfq98V.js} +1 -1
- package/dist/assets/{ChevronRight-U7tvhPtq.js → ChevronRight-Cz7EwuD5.js} +1 -1
- package/dist/assets/Clear-BOCwdIBr.js +1 -0
- package/dist/assets/{Delete-CKdujHHN.js → Delete-D6yfSast.js} +1 -1
- package/dist/assets/{DeleteOutline-CFoYFgaN.js → DeleteOutline-Cvquy8RU.js} +1 -1
- package/dist/assets/{Done-BJXGB50W.js → Done-IVLF3tiD.js} +1 -1
- package/dist/assets/{Edit-D_ibW871.js → Edit-dk9WhhyR.js} +1 -1
- package/dist/assets/{EditIcon-CjUs5igY.js → EditIcon-CVxzI8EQ.js} +1 -1
- package/dist/assets/{ExpandMore-t92xj7_e.js → ExpandMore-BMToWdCq.js} +1 -1
- package/dist/assets/{Google-QeK1sDox.js → Google-B7I3WTrM.js} +1 -1
- package/dist/assets/{HelpOutline-C6JEiDsL.js → HelpOutline-06Ovy2un.js} +1 -1
- package/dist/assets/{Https-D9lnm1Nc.js → Https-DS5GwNWa.js} +1 -1
- package/dist/assets/{InputAdornment-DlbaOc77.js → InputAdornment-B8sZGxpj.js} +1 -1
- package/dist/assets/{Launch-BpkW6VSi.js → Launch-Ldr2e6Lu.js} +1 -1
- package/dist/assets/{Link-zj8E9b02.js → Link-COXZWU7R.js} +1 -1
- package/dist/assets/{ListItemButton-B12oawTt.js → ListItemButton-DsCqAszq.js} +1 -1
- package/dist/assets/{LoadingButton-Bhwj4l0a.js → LoadingButton-DFrwqGWi.js} +1 -1
- package/dist/assets/{LockIcon-tYeElc_Y.js → LockIcon-BQtbpkcd.js} +1 -1
- package/dist/assets/{Loop-Bi_Xa11Y.js → Loop-B5OxMKP2.js} +1 -1
- package/dist/assets/{MoreHoriz-CeBLlMmN.js → MoreHoriz-jKC15aE3.js} +1 -1
- package/dist/assets/{MoreVert-BwxCbnIH.js → MoreVert-hRBmZjRU.js} +1 -1
- package/dist/assets/{Public-lRJ4uhkW.js → Public-DMLUN6Qq.js} +1 -1
- package/dist/assets/{SchemaReference.es-BqRzz71t.js → SchemaReference.es-DGy7qPUz.js} +1 -1
- package/dist/assets/{Search-CikhvMol.js → Search-C6ygXeam.js} +1 -1
- package/dist/assets/{ShoppingCart-BL0s-zYG.js → ShoppingCart-Po2aphBk.js} +1 -1
- package/dist/assets/{Stepper-BpUILapG.js → Stepper-C0Q7fsjT.js} +1 -1
- package/dist/assets/TableSearch-BHrJAgaJ.js +51 -0
- package/dist/assets/{ToggleButtonGroup-Bx4acEQH.js → ToggleButtonGroup-CsQ_0Jsh.js} +1 -1
- package/dist/assets/{Verified-vPqim8ZZ.js → Verified-BBdV0mez.js} +1 -1
- package/dist/assets/ViewColumn-CVAJLAv7.js +1 -0
- package/dist/assets/{ViewList-CiIVOxr3.js → ViewList-BnrrJ0s7.js} +1 -1
- package/dist/assets/{_createAggregator-BiFYhzyQ.js → _createAggregator-Byg__A3X.js} +1 -1
- package/dist/assets/{actions-z5cp_IIi.js → actions-CO2ogrjk.js} +1 -1
- package/dist/assets/{actions-rbRedqCl.js → actions-Dh_JqcnZ.js} +1 -1
- package/dist/assets/{agreement-YLLKwg1Y.js → agreement-9eKn-PND.js} +1 -1
- package/dist/assets/api-B-1jjJ-V.js +1 -0
- package/dist/assets/ar-BJD4HTM3.js +3 -0
- package/dist/assets/audit-logs-DYe-qSiP.js +18 -0
- package/dist/assets/{base32-B5jf-y5T.js → base32-CexKti2R.js} +1 -1
- package/dist/assets/blocklet-CGVGiuqG.js +1 -0
- package/dist/assets/{brace-fold.es-BdS8YFMK.js → brace-fold.es-Cd9aX1cM.js} +1 -1
- package/dist/assets/{chart-aw0SaxnD.js → chart-Bs7OZMEs.js} +2 -2
- package/dist/assets/{click-to-copy-B38fO92d.js → click-to-copy-BLrWqzdx.js} +1 -1
- package/dist/assets/cloneDeep-CMOqlMq1.js +1 -0
- package/dist/assets/{closebrackets.es-D6s5_0Ws.js → closebrackets.es-CAmK7vDc.js} +1 -1
- package/dist/assets/{codemirror.es-CtKybEA_.js → codemirror.es-5l5LSWiB.js} +1 -1
- package/dist/assets/{comment.es-qNW6EbsU.js → comment.es-fyaLaO_p.js} +1 -1
- package/dist/assets/{config-navigation-qY1FGkHO.js → config-navigation-DNC7Cdrb.js} +4 -4
- package/dist/assets/{connect-to-urNzNvP2.js → connect-to-CwX057lb.js} +1 -1
- package/dist/assets/de-CaPBInxb.js +3 -0
- package/dist/assets/{delete-confirm-Cd4DTWkn.js → delete-confirm-Z9dqfxla.js} +1 -1
- package/dist/assets/{detail-XQM-fmtV.js → detail-BYvx8q3f.js} +3 -3
- package/dist/assets/{dialog.es-BLJnN9o1.js → dialog.es-D5oYsbej.js} +1 -1
- package/dist/assets/{download-cvJJ5V-O.js → download-D09PcwbQ.js} +1 -1
- package/dist/assets/emotion-react.browser.esm-CPS6YTUj.js +1 -0
- package/dist/assets/es-hhXhgxGX.js +3 -0
- package/dist/assets/{foldgutter.es-BhLEy5Sd.js → foldgutter.es-Dcwu-Nmt.js} +1 -1
- package/dist/assets/fr-BwQvAhhM.js +3 -0
- package/dist/assets/{get-safe-url-C72hmR7z.js → get-safe-url-C60RmYFc.js} +1 -1
- package/dist/assets/{get-safe-url-Dvv7FqJf.js → get-safe-url-DPU-aQRS.js} +1 -1
- package/dist/assets/getValidReactChildren-CUL3M47p.js +1 -0
- package/dist/assets/hi-CRWmR5oy.js +1 -0
- package/dist/assets/{hint.es-D5UmvMj1.js → hint.es-DeaTs2Qq.js} +1 -1
- package/dist/assets/{hint.es2-B6NlYKUq.js → hint.es2-CTPnQVw5.js} +1 -1
- package/dist/assets/id-Dlr6Q1sk.js +3 -0
- package/dist/assets/{iframe-U_O2Ohib.js → iframe-D46eiMNo.js} +1 -1
- package/dist/assets/{index-CBDk8Qdz.js → index-84NuYkxC.js} +1 -1
- package/dist/assets/{index-DVmxFBDq.js → index-B8niL1rD.js} +1 -1
- package/dist/assets/{index-DmuEEXta.js → index-BYO3q_-f.js} +1 -1
- package/dist/assets/{index-Bm8IRyte.js → index-BmAgStm-.js} +3 -3
- package/dist/assets/{index-DuudjpgS.js → index-BwW5PaQN.js} +1 -1
- package/dist/assets/{index-CnSWmSIw.js → index-ByywnJG1.js} +1 -1
- package/dist/assets/{index-CtMsrwxg.js → index-CSQJVLxn.js} +1 -1
- package/dist/assets/index-CTvRsqtq.js +5 -0
- package/dist/assets/{index-CQcEzzfm.js → index-CYEIYpoK.js} +1 -1
- package/dist/assets/{index-NcWtiObL.js → index-CZ8hqq0k.js} +4 -4
- package/dist/assets/{index-DclhrGq1.js → index-ChraHuZb.js} +1 -1
- package/dist/assets/{index-B4ctAIc2.js → index-Cl6a8hab.js} +1 -1
- package/dist/assets/{index-BfjT5AWP.js → index-CqyMkN54.js} +1 -1
- package/dist/assets/{index-BKvr3-33.js → index-CwPnwzMH.js} +1 -1
- package/dist/assets/{index-BFpJSRVv.js → index-Czt9Nv-w.js} +1 -1
- package/dist/assets/{index-BgSENCns.js → index-D-ICEyP-.js} +1 -1
- package/dist/assets/{index-C_uG-5Xt.js → index-D3M-r7mD.js} +1 -1
- package/dist/assets/{index-BGTNHIny.js → index-D4QvYtmr.js} +1 -1
- package/dist/assets/{index-DaDGoPAK.js → index-D5W8subH.js} +3 -3
- package/dist/assets/{index-CDhsqAtT.js → index-DBBsOOb-.js} +1 -1
- package/dist/assets/{index-DtLPEDhC.js → index-DMJY83OZ.js} +1 -1
- package/dist/assets/index-DNkpFff2.js +11 -0
- package/dist/assets/{index-Bv5qhn-r.js → index-DW3KrF_A.js} +1 -1
- package/dist/assets/{index-B6322Uc6.js → index-DZ2X0x0M.js} +1 -1
- package/dist/assets/index-DhQLP906.js +77 -0
- package/dist/assets/index-Dm5_86CA.js +16 -0
- package/dist/assets/{index-BFPo46os.js → index-Dq1Y_v66.js} +1 -1
- package/dist/assets/{index-BldK0N35.js → index-Dq7rELgm.js} +3 -3
- package/dist/assets/{index-Z5zO2P-5.js → index-DylayVH2.js} +1 -1
- package/dist/assets/{index-DR_q8txM.js → index-EXXKezmQ.js} +1 -1
- package/dist/assets/{index-5hbcWwGj.js → index-FX5QIGRD.js} +1 -1
- package/dist/assets/{index-DN8pXU_t.js → index-GT9guQyO.js} +281 -281
- package/dist/assets/index-M9gFkuJ9.js +289 -0
- package/dist/assets/{index-Bp_YNtCz.js → index-RSON62_v.js} +3 -3
- package/dist/assets/{index-BQi4yC-Z.js → index-WGHiqs-d.js} +1 -1
- package/dist/assets/{index-CuVOt3Xh.js → index-WtGXniRe.js} +1 -1
- package/dist/assets/{index-CcoEVDzn.js → index-isPRo9fc.js} +5 -5
- package/dist/assets/{index-M4H0bqUC.js → index-lSrHcupv.js} +1 -1
- package/dist/assets/index-pccJ0dXT.js +327 -0
- package/dist/assets/{index-DnEAjK2Y.js → index-ri1EsZX3.js} +1 -1
- package/dist/assets/{index-Co3afWSR.js → index-xJ42lpli.js} +1 -1
- package/dist/assets/{index-CR8qQOPk.js → index-zHtzThD3.js} +1 -1
- package/dist/assets/{index.esm-wjW5Z500.js → index.esm-9NQPgDN1.js} +1 -1
- package/dist/assets/{info-addon.es-BBxF5y5M.js → info-addon.es-BpW2JxtT.js} +1 -1
- package/dist/assets/{info.es-Dv8Rwvx4.js → info.es-4osYJb7a.js} +1 -1
- package/dist/assets/{install-from-url-BYyFMvzE.js → install-from-url-pxQY0rKO.js} +1 -1
- package/dist/assets/{invitation-BBguiu7D.js → invitation-B9Aw81WR.js} +2 -2
- package/dist/assets/is-path-prefix-equal-B0zfJZZm.js +1 -0
- package/dist/assets/{item-DQDA15LH.js → item-H2uO43le.js} +1 -1
- package/dist/assets/ja-CmKylH6K.js +3 -0
- package/dist/assets/{javascript.es-Dlo9crBD.js → javascript.es-BuwU55VB.js} +1 -1
- package/dist/assets/{jump-to-line.es-BRdBlWOx.js → jump-to-line.es-akNDO8An.js} +1 -1
- package/dist/assets/{jump.es-M6MMmtkO.js → jump.es-D6qqb6oH.js} +1 -1
- package/dist/assets/ko-Blp8936a.js +3 -0
- package/dist/assets/{lint.es-DajtMOf1.js → lint.es-BvV13Mwu.js} +1 -1
- package/dist/assets/{lint.es2-DRV9ZLXt.js → lint.es2-Vl0jgQA7.js} +1 -1
- package/dist/assets/{lint.es3-BfGmJfht.js → lint.es3-_xSgTfDQ.js} +1 -1
- package/dist/assets/{list-header-Dw6mhzlg.js → list-header-CmzKVFeh.js} +1 -1
- package/dist/assets/{log-a0FUHJ9v.js → log-CaBpn6d0.js} +1 -1
- package/dist/assets/{logo-uploader-DcB6Wvn7.js → logo-uploader-DJDGz-CR.js} +4 -4
- package/dist/assets/{lottie-react.esm-ZivIDIR1.js → lottie-react.esm-Bord5ezK.js} +1 -1
- package/dist/assets/{matchbrackets.es-CwpJfiEI.js → matchbrackets.es-D6sni0fr.js} +1 -1
- package/dist/assets/{memory-By8_sTYM.js → memory-DwpjZJGd.js} +1 -1
- package/dist/assets/{mode.es-4lbCeLUp.js → mode.es-CnFDwJuo.js} +1 -1
- package/dist/assets/{mode.es2-CjdkOlRO.js → mode.es2-Cjddau0A.js} +1 -1
- package/dist/assets/{mode.es3-mn7Yljd2.js → mode.es3-2RGkJU0U.js} +1 -1
- package/dist/assets/{onlineParser.es-Devx56Hc.js → onlineParser.es-Bkggge6P.js} +1 -1
- package/dist/assets/overview-BRyH6tF3.js +26 -0
- package/dist/assets/{permission-BVUQ32OT.js → permission-MGlz941p.js} +1 -1
- package/dist/assets/pt-BbwAvpfn.js +1 -0
- package/dist/assets/resource-dialog-Br74KWDR.js +281 -0
- package/dist/assets/ru-DgfLeWul.js +1 -0
- package/dist/assets/runtime-CALQNLSi.js +1 -0
- package/dist/assets/{schema-C74YPWGq.js → schema-BHxCGqPk.js} +1 -1
- package/dist/assets/sdk-Cw4XkHQG.js +1 -0
- package/dist/assets/{search.es-CT_oxLUI.js → search.es-4b1cnXQT.js} +1 -1
- package/dist/assets/{searchcursor.es-CCaQ-uvx.js → searchcursor.es-BurXRjxw.js} +1 -1
- package/dist/assets/service-DZk6eKOc.js +1 -0
- package/dist/assets/session-D0aXztXK.js +1 -0
- package/dist/assets/{shorten-label-B19ACeJj.js → shorten-label-C54XjtyN.js} +1 -1
- package/dist/assets/{show-hint.es-CBc0cvVb.js → show-hint.es-Pjc3JgEA.js} +1 -1
- package/dist/assets/{simple-select-BIGkwb3y.js → simple-select-jxIon6oy.js} +1 -1
- package/dist/assets/{slicedToArray-B2BT7AS1.js → slicedToArray-MeVVcy2h.js} +3 -3
- package/dist/assets/{spaces-C0Xnb9HQ.js → spaces-DocKloBI.js} +1 -1
- package/dist/assets/{status-BtRCgN5n.js → status-WCLqHGBF.js} +1 -1
- package/dist/assets/{sublime.es-Cj8wPCEg.js → sublime.es-B-Vw3gYL.js} +1 -1
- package/dist/assets/switch-control-Bz8_ZX_s.js +18 -0
- package/dist/assets/{table-icons-CJ8bKHm_.js → table-icons-vFJdvsIP.js} +3 -3
- package/dist/assets/{team-1Aa7Et8F.js → team-B7EjBhR0.js} +1 -1
- package/dist/assets/th-DXRi_ppC.js +1 -0
- package/dist/assets/toUpper-CvshZy6q.js +1 -0
- package/dist/assets/{traffic-BvxJSp-3.js → traffic-CBWstV_S.js} +5 -5
- package/dist/assets/{uniqBy-BWfYQyim.js → uniqBy-PQ4j5ZrH.js} +1 -1
- package/dist/assets/{url-evaluation-45LESH3M.js → url-evaluation-Df8LUg06.js} +1 -1
- package/dist/assets/{url-join-CySKlr-_.js → url-join-etCGHrys.js} +1 -1
- package/dist/assets/{use-mobile-BX9WhCCQ.js → use-mobile-JF3w85jr.js} +1 -1
- package/dist/assets/{useAsync-D600LJhY.js → useAsync-C_Uq2smz.js} +1 -1
- package/dist/assets/{useLocalStorage-C_tHZqD7.js → useLocalStorage-BjHApf6t.js} +1 -1
- package/dist/assets/{useThemeProps-FgHOOeX-.js → useThemeProps-CtnWlthd.js} +1 -1
- package/dist/assets/{util-CEgRLLvv.js → util-C5M7zk0M.js} +1 -1
- package/dist/assets/{util-C3gCZ58k.js → util-CaHQUi7u.js} +1 -1
- package/dist/assets/vi-nO7JrO24.js +1 -0
- package/dist/assets/{wait-container-DouFz3p8.js → wait-container-BJBr5ZSe.js} +1 -1
- package/dist/assets/{withStyles-C7twoN5a.js → withStyles-Fat6HDbT.js} +1 -1
- package/dist/assets/wrap-locale-BazrDxx8.js +1 -0
- package/dist/assets/zh-CEvYioAt.js +4 -0
- package/dist/assets/zh-tw-BjfRYnXu.js +3 -0
- package/dist/index.html +1 -1
- package/dist/service-worker.js +1 -1
- package/package.json +1 -1
- package/dist/assets/ViewColumn-tvq1tOKx.js +0 -1
- package/dist/assets/api-DFvw52n9.js +0 -1
- package/dist/assets/ar-C89hW7LF.js +0 -3
- package/dist/assets/audit-logs-C_cf1WhT.js +0 -59
- package/dist/assets/blocklet-D9CQCPLC.js +0 -1
- package/dist/assets/cloneDeep-CSVU-XAV.js +0 -1
- package/dist/assets/de-BScxb0zD.js +0 -3
- package/dist/assets/emotion-react.browser.esm-BOlQhUC3.js +0 -1
- package/dist/assets/es-B9f-yiTL.js +0 -3
- package/dist/assets/fr-BguXQaFu.js +0 -3
- package/dist/assets/getValidReactChildren-CfH5w8vI.js +0 -1
- package/dist/assets/hi-7nPwxLb7.js +0 -1
- package/dist/assets/id-gU7ysJNs.js +0 -3
- package/dist/assets/index-B8FSf6Ly.js +0 -339
- package/dist/assets/index-Cgeor3Lb.js +0 -16
- package/dist/assets/index-DdnXJixO.js +0 -11
- package/dist/assets/index-DwZduSBS.js +0 -313
- package/dist/assets/index-IfCq-SM-.js +0 -5
- package/dist/assets/index-VN_0gZzO.js +0 -77
- package/dist/assets/is-path-prefix-equal-Dys093qg.js +0 -1
- package/dist/assets/ja-C4BURK37.js +0 -3
- package/dist/assets/ko-CeKzLbt8.js +0 -3
- package/dist/assets/overview-yPzh3Z-O.js +0 -26
- package/dist/assets/pt-o1EeyLhb.js +0 -1
- package/dist/assets/resource-dialog-wjqfQSa7.js +0 -281
- package/dist/assets/ru-BlfgKyTj.js +0 -1
- package/dist/assets/runtime-amVZoLAW.js +0 -1
- package/dist/assets/sdk-uJcTNH62.js +0 -1
- package/dist/assets/service-C-bl-f1K.js +0 -1
- package/dist/assets/session-BVMeNbzF.js +0 -1
- package/dist/assets/switch-control-D3Jww998.js +0 -13
- package/dist/assets/th-BHBtH1Zl.js +0 -1
- package/dist/assets/toUpper-C6j9c1mu.js +0 -1
- package/dist/assets/vi-CuGQRG8r.js +0 -1
- package/dist/assets/wrap-locale-C_5JkcLi.js +0 -1
- package/dist/assets/zh-DfOtp2w7.js +0 -4
- package/dist/assets/zh-tw-DFpaHA6Z.js +0 -3
|
@@ -1,313 +0,0 @@
|
|
|
1
|
-
import{r as h,u as Z,_ as Ue,aL as ei,j as e,A as E,aM as kn,aN as cr,aO as ti,aP as En,aQ as tt,aR as je,aS as we,P as f,n as J,m as U,ah as se,aT as An,aU as ni,aV as In,aW as ri,y as ae,N as Ln,k as A,t as G,aD as me,aX as Ie,C as V,X as ve,B as X,aY as dr,Y as he,M as W,f as qt,R as ur,aZ as ii,e as Ht,a_ as nt,a$ as oi,ae as ai,b0 as si,b1 as li,a5 as ci,x as mr,W as On,T as Fn,h as te,b2 as Kt,a as Lt,U as ie,b as mt,b3 as fr,b4 as pr,V as di,a7 as Ot,b5 as ui,b6 as mi,b7 as fi,b8 as pi,b9 as gi,ba as rt,ac as hi,H as xi,bb as yi,aK as Ye,ad as Tt,aa as Pt,bc as vi,ab as Ft,L as Gt,J as bi,bd as gr,be as Pe,bf as ke,bg as ji,bh as wi,D as hr,q as $t,ao as Ci,g as Si,az as $n,bi as Di,bj as Nn,ap as _i,bk as Ri,bl as xr,bm as pe,S as Ti,bn as Pi,bo as ki}from"./index-DN8pXU_t.js";import{T as Ei}from"./index-DtLPEDhC.js";import{d as Ai}from"./ArrowDropDown-9ChqTYDp.js";import{u as Vt,C as q,a as Un}from"./index.esm-wjW5Z500.js";import{S as oe}from"./switch-control-D3Jww998.js";import{P as ne}from"./permission-BVUQ32OT.js";import{D as yr,g as Ii}from"./index-B8FSf6Ly.js";import{d as vr}from"./Link-zj8E9b02.js";import{d as be}from"./Delete-CKdujHHN.js";import{C as Yt}from"./delete-confirm-Cd4DTWkn.js";import{I as it}from"./index-BGTNHIny.js";import{s as Li}from"./logo-BKA11TRi.js";import{R as br,a as Nt,B as jr,D as zn}from"./status-BtRCgN5n.js";import{_ as Oi}from"./useLocalStorage-C_tHZqD7.js";import{L as Fi}from"./LoadingButton-Bhwj4l0a.js";import{C as $i,R as Ni,d as wr,S as Ui}from"./Public-lRJ4uhkW.js";import{d as Fe}from"./Add-CFO7g7AE.js";import{a as zi,W as Xe}from"./url-evaluation-45LESH3M.js";import{i as Mi}from"./is-path-prefix-equal-Dys093qg.js";import{d as Bi}from"./CheckCircle-CXYJ_MB5.js";import{d as Wi}from"./ExpandMore-t92xj7_e.js";import{d as qi}from"./ChevronRight-U7tvhPtq.js";import{d as Hi}from"./MoreVert-BwxCbnIH.js";import{d as Cr}from"./Edit-D_ibW871.js";import{d as Ki,a as Sr}from"./Https-D9lnm1Nc.js";import{w as Gi}from"./withStyles-C7twoN5a.js";import"./index-CtMsrwxg.js";import"./session-BVMeNbzF.js";import"./useThemeProps-FgHOOeX-.js";import"./emotion-react.browser.esm-BOlQhUC3.js";import"./ViewColumn-tvq1tOKx.js";import"./Search-CikhvMol.js";import"./click-to-copy-B38fO92d.js";import"./shorten-label-B19ACeJj.js";import"./visuallyHidden-Dan1xhjv.js";const ye="Dashboard",Dr=h.createContext({}),{Provider:Vi,Consumer:Us}=Dr,Mn=[ye,E.DOMAIN_FOR_IP_SITE,E.DOMAIN_FOR_IP_SITE_REGEXP],Yi=(t,n)=>{if(t.name===E.DOMAIN_FOR_DEFAULT_SITE)return-1;if(n.name===E.DOMAIN_FOR_DEFAULT_SITE)return 1;const r=Mn.includes(t.name),i=Mn.includes(n.name);return r&&i?En(t.name,n.name):r?-1:i?1:En(t.name,n.name)},Xi=({sites:t,nodePort:n})=>{const r=window.location.host,o=(t||[]).map(a=>{const{id:s,rules:d=[],corsAllowedOrigins:g=[]}=a;let{domain:c,domainAliases:u}=a;u=u||[],[E.DOMAIN_FOR_IP_SITE,E.DOMAIN_FOR_IP_SITE_REGEXP].includes(c)&&(c=ye,u.find(b=>b.value===r)||u.unshift({protected:!1,value:r}));const p={id:s,name:c,type:"domain",items:[],domainAliases:u,isProtected:a.isProtected,corsAllowedOrigins:g};return(d||[]).forEach(b=>{const{id:v,isProtected:P,from:{pathPrefix:y},to:_}=b;if(_.type===E.ROUTING_RULE_TYPES.BLOCKLET){let T="";Number.parseInt(_.port,10)===Number.parseInt(n,10)?(T="Blocklet Server Dashboard",_.type=E.ROUTING_RULE_TYPES.DAEMON):T=_.did,p.items.push({id:v,name:kn(y||"/"),title:T,type:"rule",isProtected:P,pathPrefix:y,to:_})}else p.items.push({id:v,pathPrefix:y,name:kn(y||"/"),title:"Blocklet Server Dashboard",type:"rule",isProtected:P,to:_})}),p.items=cr(p.items,b=>b.name),p}).sort(Yi),l=o.reduce((a,s)=>{let{name:d}=s;return d.endsWith(E.BLOCKLET_SITE_GROUP_SUFFIX)&&([d]=d.split(".")),a[d]={...s,rules:s.items},a},{});return{sites:o,siteMap:l}},Qi=({did:t,domain:n,mountPoint:r,siteMap:i,params:o}={})=>{if(!i)return null;const l=i[t];if(!l)return null;const a=n||(l.domainAliases||[])[0];if(!a)return null;let s=r;if(!s){const d=l.rules.filter(g=>!g.name.startsWith(E.WELLKNOWN_PATH_PREFIX))[0];s=d?d.name:"/"}return tt(a.value,s,o)},Zi=({did:t,mountPoint:n,siteMap:r,params:i}={})=>{if(!r)return[];const o=r[t];if(!o)return[];const l=o.domainAliases||[];if(!l.length)return[];let a=n;if(!a){const s=o.rules.filter(d=>!d.name.startsWith(E.WELLKNOWN_PATH_PREFIX))[0];a=s?s.name:"/"}return l.map(s=>tt(s.value,a,i))},Ji=t=>{const n=t.map(i=>i.domain).filter(i=>![E.DOMAIN_FOR_IP_SITE_REGEXP,E.DOMAIN_FOR_DEFAULT_SITE].includes(i));let r=[];return t.forEach(i=>r.push(...i.domainAliases||[])),r=r.map(i=>typeof i=="string"?{value:i,isProtected:!1}:i),{domains:n,domainsAliases:r}};function Bn({children:t}){const{api:n,info:r}=Z(),[i,o]=h.useState([]),[l,a]=h.useState([]),[s,d]=h.useState([]),g=Ue(async()=>{const{sites:w}=await n.getRoutingSites({input:{snapshotHash:""}}),C=w||[];await Promise.all(C.map(async R=>(R.domainAliases=await ei(R.domainAliases,{getIP:ti}),R)));const S=Ji(C);o(C),a(S.domains),d([window.location.hostname,...S.domains,...S.domainsAliases.map(R=>R.value)])},[r]),c=(w,C)=>{o(S=>S.map(R=>R.id===w?C.domain?C:{...C,domain:R.domain}:R))},u=w=>n.takeRoutingSnapshot({input:{dryRun:!1,message:encodeURIComponent(w)}}),p=async w=>{const C=await n.addRoutingSite({input:w});o(i.concat(C.site))},b=async(w,C)=>{const S=await n.updateRoutingSite({input:{id:w,...C}});if(S.site&&S.site.id){const R=i.findIndex(I=>I.id===S.site.id);R!==-1&&(i.splice(R,1,S.site),o([].concat(i)))}},v=async w=>{await n.deleteRoutingSite({input:{id:w}}),o(i.filter(C=>C.id!==w))},P=async(w,C,S)=>{const R=await n.addDomainAlias({input:{id:w,domainAlias:C,force:S}});c(w,R.site)},y=async(w,C)=>{const S=await n.deleteDomainAlias({input:{id:w,domainAlias:C}});c(w,S.site)},_=async(w,C)=>{const{site:S}=await n.addRoutingRule({input:{id:w,rule:C}});c(w,S)},T=async(w,C)=>{const{site:S}=await n.updateRoutingRule({input:{id:w,rule:C}});c(w,S)},D=async(w,C)=>{const{site:S}=await n.deleteRoutingRule({input:{id:w,ruleId:C}});c(w,S)},m={loading:g.loading,error:g.error,refresh:g.retry,api:n,actions:{addSite:p,updateSite:b,deleteSite:v,addDomainAlias:P,deleteDomainAlias:y,takeSnapshot:u,addRule:_,updateRule:T,deleteRule:D}},{sites:x,siteMap:j}=Xi({sites:i,nodePort:r.port});return m.sites=x,m.siteMap=j,m.domains=l,m.allDomains=s,m.getBlockletUrl=({did:w,domain:C,mountPoint:S,params:R})=>Qi({did:w,domain:C,mountPoint:S,siteMap:m.siteMap,params:R}),m.getBlockletUrls=({did:w,mountPoint:C,params:S})=>Zi({did:w,mountPoint:C,siteMap:m.siteMap,params:S}),e.jsx(Vi,{value:{routing:m},children:t})}function de(){const{routing:t}=h.useContext(Dr);return t}function Xt(t){const n=[E.DOMAIN_FOR_IP_SITE_REGEXP,E.DOMAIN_FOR_DEFAULT_SITE,E.DOMAIN_FOR_IP_SITE];return typeof window<"u"&&typeof window.location<"u"&&n.push(window.location.hostname),n.includes(t)}var Qt={},eo=we;Object.defineProperty(Qt,"__esModule",{value:!0});var _r=Qt.default=void 0,to=eo(je()),no=e;_r=Qt.default=(0,to.default)((0,no.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");function ro(){return null}function Zt({confirm:t}){const[n,r]=h.useState(null),{t:i}=U(),o=()=>{r(null)},l=async s=>{if(s){let d=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";d==="/"?An.push(`${s.pathname}`):(d.endsWith("/")&&(d=d.substring(0,d.length-1)),An.push(`${d}${s.pathname}`)),window.location.reload()}},a=(s,...d)=>{let g=typeof t=="function"?t(s,...d):t;return g?(typeof g=="string"&&(g={description:g}),r({title:i("common.noticeTitle"),description:i("common.leavePageTip"),confirm:i("common.confirm"),cancel:i("common.cancel"),onConfirm:()=>l(s),onCancel:()=>o(),...g}),!1):!0};return e.jsxs(io,{children:[e.jsx(ro,{message:a}),n&&e.jsx(se,{title:n.title,description:n.description,confirm:n.confirm,cancel:n.cancel,params:n.params,onConfirm:n.onConfirm,onCancel:n.onCancel})]})}Zt.propTypes={confirm:f.oneOfType([f.object,f.string,f.func])};Zt.defaultProps={confirm:null};const io=J.div`
|
|
2
|
-
margin-bottom: 24px;
|
|
3
|
-
.top-btns-alert {
|
|
4
|
-
@media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
|
|
5
|
-
flex-direction: column;
|
|
6
|
-
padding-bottom: 15px;
|
|
7
|
-
padding-right: 20px;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
.top-btns-action {
|
|
11
|
-
@media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
|
|
12
|
-
margin-right: 0px;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
`;function Jt({children:t,...n}){return e.jsx(oo,{children:e.jsx("form",{...n,children:t})})}Jt.propTypes={children:f.any.isRequired};const oo=J.div`
|
|
16
|
-
width: 100%;
|
|
17
|
-
|
|
18
|
-
form {
|
|
19
|
-
width: 100%;
|
|
20
|
-
flex: 1;
|
|
21
|
-
display: flex;
|
|
22
|
-
flex-direction: column;
|
|
23
|
-
|
|
24
|
-
.form-submit {
|
|
25
|
-
margin-top: 32px;
|
|
26
|
-
margin-right: 32px;
|
|
27
|
-
width: 180px;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.form-actions {
|
|
31
|
-
display: flex;
|
|
32
|
-
@media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
|
|
33
|
-
flex-direction: column;
|
|
34
|
-
width: 100%;
|
|
35
|
-
button {
|
|
36
|
-
width: 100%;
|
|
37
|
-
margin-right: 0;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.form-item {
|
|
43
|
-
margin-top: 16px;
|
|
44
|
-
margin-right: 0;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
`,ao="v21.6.0",so=t=>ni.gte(t,ao),Wn=t=>({name:t.name,description:t.description,registerUrl:t.registerUrl,webWalletUrl:t.webWalletUrl,nftDomainUrl:t.nftDomainUrl,diskAlertThreshold:t.diskAlertThreshold,enableWelcomePage:!1,enableBetaRelease:!1,enableFileSystemIsolation:!0,enableDocker:!1,enableDockerNetwork:!1,isDockerInstalled:!1,enableSessionHardening:t.enableSessionHardening||!1});function en({onSaved:t,title:n,submit:r,disabled:i,...o}){const{api:l,info:a}=Z(),{t:s}=U(),{control:d,handleSubmit:g,formState:c,reset:u}=Vt({defaultValues:Wn(a)}),[p,b]=h.useState(""),[v,P]=h.useState(""),[y,_]=h.useState(!1),[T,D]=h.useState(a.autoUpgrade),[m,x]=h.useState(!!a.enableWelcomePage),[j,w]=h.useState(null),C=In({enableFileSystemIsolation:!!a.enableFileSystemIsolation,tooltip:s("setting.form.security.switchTips"),loading:!1}),S=In({enableDocker:!!a.enableDocker,enableDockerNetwork:!!a.enableDockerNetwork,tooltip:s("setting.form.docker.switchTips"),isDockerInstalled:!!a.isDockerInstalled}),[R,I]=h.useState(!!a.enableBetaRelease);h.useEffect(()=>{let O="";(c.isDirty||T!==a.autoUpgrade||m!==!!a.enableWelcomePage||C.enableFileSystemIsolation!==!!a.enableFileSystemIsolation)&&(O=s("setting.unSavedTip")),P(O)},[s,a,T,m,C.enableFileSystemIsolation,c]),ri(async()=>{try{const O=Object.assign({},await l.getNodeEnv()||{}),{version:L}=O.info.blockletEngines.find(K=>K.name==="node");w(L)}catch(O){console.error(O),ae.error(O.message)}},[l]),h.useEffect(()=>{try{C.enableFileSystemIsolation=!!a.enableFileSystemIsolation,C.tooltip=s("setting.form.security.switchTips"),C.loading=Ln(j),!Ln(j)&&!so(j)&&(C.tooltip=s("setting.form.security.warningTips",{version:j}))}catch(O){console.error(O),ae.error(O.message)}},[a.enableFileSystemIsolation,j]);const M=async O=>{b(""),_(!0);try{const L=await l.updateNodeInfo({input:{...O,name:O.name.trim(),description:O.description.trim(),registerUrl:O.registerUrl.trim(),webWalletUrl:O.webWalletUrl.trim(),diskAlertThreshold:O.diskAlertThreshold,autoUpgrade:T,enableWelcomePage:m,enableFileSystemIsolation:C.enableFileSystemIsolation,enableBetaRelease:R,enableDocker:S.enableDocker,enableDockerNetwork:S.enableDockerNetwork}});await dr(1e3),u(Wn(L.info)),typeof t=="function"&&t(L)}catch(L){b(he(L))}finally{_(!1)}},{errors:N}=c;return e.jsxs(lo,{...o,children:[e.jsxs(Jt,{noValidate:!0,autoComplete:"off",onSubmit:g(M),children:[!!n&&e.jsx(A,{component:"h2",variant:"h5",className:"stepper-tip",children:n}),e.jsx(ne,{permission:"mutate_node",children:O=>e.jsxs(e.Fragment,{children:[e.jsx(q,{name:"name",control:d,rules:{validate:L=>!!L.trim()||s("setting.form.nameRequired")},render:({field:L})=>e.jsx(G,{variant:"outlined",label:s("setting.form.name"),placeholder:s("setting.form.namePlaceholder"),disabled:y||!O,"data-cy":"node-name-input",error:N.name&&!!N.name.message,helperText:N.name?N.name.message:"",margin:"normal",...L})}),e.jsx(q,{name:"description",control:d,rules:{validate:L=>!!L.trim()||s("setting.form.descriptionRequired")},render:({field:L})=>e.jsx(G,{variant:"outlined",label:s("setting.form.description"),placeholder:s("setting.form.descriptionHolder"),disabled:y||!O,"data-cy":"node-description-input",error:N.description&&!!N.description.message,helperText:N.description?N.description.message:"",margin:"normal",...L})}),e.jsx(q,{name:"registerUrl",control:d,rules:{},render:({field:L})=>e.jsx(G,{variant:"outlined",label:s("setting.form.registerUrl"),placeholder:s("setting.form.registerUrlPlaceholder"),disabled:y||!O,error:N.registerUrl&&!!N.registerUrl.message,helperText:N.registerUrl?N.registerUrl.message:"",margin:"normal",...L})}),e.jsx(q,{name:"nftDomainUrl",control:d,rules:{},render:({field:L})=>e.jsx(G,{variant:"outlined",label:s("setting.form.nftDomainUrl"),placeholder:s("setting.form.nftDomainUrlPlaceholder"),disabled:y||!O,error:N.nftDomainUrl&&!!N.nftDomainUrl.message,helperText:N.nftDomainUrl?N.nftDomainUrl.message:"",margin:"normal",...L})}),e.jsx(q,{name:"webWalletUrl",control:d,rules:{},render:({field:L})=>e.jsx(G,{variant:"outlined",label:s("setting.form.webWalletUrl"),placeholder:s("setting.form.webWalletUrlPlaceholder"),disabled:y||!O,error:N.webWalletUrl&&!!N.webWalletUrl.message,helperText:N.webWalletUrl?N.webWalletUrl.message:"",margin:"normal",...L})}),e.jsx(q,{name:"diskAlertThreshold",control:d,rules:{},render:({field:L})=>e.jsx(G,{type:"number",variant:"outlined",label:s("setting.form.monitor.diskThreshold"),placeholder:s("setting.form.monitor.diskThresholdPlaceholder"),disabled:y||!O,error:N.diskAlertThreshold&&!!N.diskAlertThreshold.message,inputProps:{min:1,max:99},helperText:N.diskAlertThreshold?N.diskAlertThreshold.message:"",margin:"normal",...L})}),e.jsx(oe,{checked:T,onChange:()=>D(!T),name:"autoUpgrade",disabled:!O,labelProps:{label:e.jsx(A,{children:e.jsx("span",{children:s("setting.form.upgrade.switchLabel")})})},style:{marginTop:20}}),T&&e.jsx(oe,{checked:R,onChange:()=>I(!R),name:"enableBetaRelease",disabled:!O,labelProps:{label:e.jsx(A,{children:e.jsx("span",{children:s("setting.form.upgrade.enableBetaRelease")})})},style:{marginTop:20}}),(a==null?void 0:a.mode)!==E.NODE_MODES.SERVERLESS&&e.jsx(oe,{checked:m,onChange:()=>x(!m),name:"enableWelcomePage",disabled:!O,labelProps:{label:e.jsx(A,{children:e.jsx("span",{children:s("setting.form.welcome.switchLabel")})})},style:{marginTop:16}}),e.jsx(q,{name:"enableSessionHardening",control:d,render:({field:L})=>e.jsx(oe,{checked:L.value,disabled:y||!O,labelProps:{label:e.jsx(A,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.enableSessionHardening.switchLabel"),e.jsx(me,{title:s("setting.form.enableSessionHardening.switchTips"),children:e.jsx(Ie,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16},...L})}),e.jsx(oe,{checked:C.enableFileSystemIsolation,onChange:()=>{C.enableFileSystemIsolation=!C.enableFileSystemIsolation,S.enableDocker&&C.enableFileSystemIsolation&&(S.enableDocker=!1,ae.info(s("setting.form.docker.needCloseFileSystemIsolation")))},name:"enableFileSystemIsolation",disabled:!O,"data-cy":"file-system-isolation-switch",labelProps:{label:e.jsx(A,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.security.switchLabel"),e.jsx(me,{title:!C.loading&&C.tooltip,children:C.loading?e.jsx(V,{size:14,sx:{ml:.5}}):e.jsx(Ie,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16}}),e.jsx(oe,{checked:S.enableDocker,onChange:()=>{if(!S.enableDocker&&!S.isDockerInstalled){ae.error(s("setting.form.docker.notInstalled"));return}S.enableDocker=!S.enableDocker,S.enableDocker&&C.enableFileSystemIsolation&&(C.enableFileSystemIsolation=!1,ae.info(s("setting.form.docker.needCloseFileSystemIsolation"))),!S.enableDocker&&S.enableDockerNetwork&&(S.enableDockerNetwork=!1)},name:"enableDocker",disabled:!O,"data-cy":"file-system-isolation-switch",labelProps:{label:e.jsx(A,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.docker.switchLabel"),e.jsx(me,{title:!S.loading&&S.tooltip,children:S.loading?e.jsx(V,{size:14,sx:{ml:.5}}):e.jsx(Ie,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16}}),e.jsx(oe,{checked:S.enableDockerNetwork,onChange:()=>{if(!S.enableDockerNetwork&&!S.isDockerInstalled){ae.error(s("setting.form.docker.notInstalled"));return}S.enableDockerNetwork=!S.enableDockerNetwork,S.enableDockerNetwork&&!S.enableDocker&&(S.enableDocker=!0)},name:"enableDockerNetwork",disabled:!O,"data-cy":"file-system-isolation-switch",labelProps:{label:e.jsx(A,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.dockerNetwork.switchLabel"),e.jsx(me,{title:!S.loading&&s("setting.form.dockerNetwork.switchTips"),children:S.loading?e.jsx(V,{size:14,sx:{ml:.5}}):e.jsx(Ie,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16}})]})}),!!v&&e.jsx(ve,{severity:"warning",variant:"icon",children:v}),e.jsx("div",{className:"form-actions",children:e.jsx(ne,{permission:"mutate_node",children:e.jsxs(X,{onClick:g(M),disabled:i||y,color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[r," ",y?e.jsx(V,{size:16}):null]})})}),!!p&&e.jsx(ve,{severity:"error",variant:"icon",error:p,children:p})]}),v&&e.jsx(Zt,{confirm:s("setting.unSavedLeaveTip")})]})}en.propTypes={onSaved:f.func.isRequired,disabled:f.bool,title:f.string.isRequired,submit:f.string.isRequired};en.defaultProps={disabled:!1};const lo=J.div`
|
|
48
|
-
display: flex;
|
|
49
|
-
align-items: flex-start;
|
|
50
|
-
width: 100%;
|
|
51
|
-
max-width: 720px;
|
|
52
|
-
`;function co(){const{refresh:t,info:n}=Z(),{t:r}=U(),[i,o]=h.useState(!1);h.useEffect(()=>{t({silent:!0})},[]);const l=()=>{t({silent:!0}),ae.success(r("setting.saveSuccess"))};return e.jsx(uo,{children:e.jsxs(W,{mb:4,children:[e.jsx(en,{onSaved:l,submit:r("common.saveChanges"),title:""}),e.jsx(W,{mt:6,style:{marginLeft:-8},children:e.jsxs(X,{onClick:()=>{o(a=>!a)},children:[r("common.readMore"),i?e.jsx(_r,{}):e.jsx(Ai,{})]})}),i&&e.jsxs(W,{fontSize:12,color:"text.secondary",children:[e.jsxs(W,{children:[r("dashboard.runtimeConfig.blockletMaxMemoryLimit"),": ",n.runtimeConfig.blockletMaxMemoryLimit," MB"]}),e.jsxs(W,{children:[r("dashboard.runtimeConfig.daemonMaxMemoryLimit"),": ",n.runtimeConfig.daemonMaxMemoryLimit," MB"]}),e.jsxs(W,{children:[r("dashboard.runtimeConfig.proxyMaxMemoryLimit"),": ",n.runtimeConfig.proxyMaxMemoryLimit," MB"]})]})]})})}const uo=J.div`
|
|
53
|
-
.eula-btn {
|
|
54
|
-
text-decoration-line: underline;
|
|
55
|
-
margin-top: 32px;
|
|
56
|
-
margin-bottom: 32px;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.danger-zone {
|
|
60
|
-
margin-top: 1vw;
|
|
61
|
-
width: 100%;
|
|
62
|
-
max-width: 720px;
|
|
63
|
-
}
|
|
64
|
-
`;var tn={},mo=we;Object.defineProperty(tn,"__esModule",{value:!0});var Rr=tn.default=void 0,fo=mo(je()),po=e;Rr=tn.default=(0,fo.default)((0,po.jsx)("path",{d:"M2.01 21 23 12 2.01 3 2 10l15 2-15 2z"}),"Send");function nn(t){const{t:n}=U(),[r,i]=h.useState(!1),[o,l]=h.useState(null),{item:a,onDelete:s=()=>{}}=t,{id:d,title:g}=a,{api:c}=Z(),u=()=>{i(!1),l(null)},p=async()=>{i(!0);try{await c.deleteWebHook({input:{id:d}}),s()}catch(v){console.error(v)}finally{i(!1),l(null)}},b={keyName:d,title:n("setting.webhook.delTitle"),description:`${n("setting.webhook.description",{name:`<b>${g}</b>`,id:`<b>${d}</b>`})}`,confirmPlaceholder:n("setting.webhook.confirm_desc",{name:d}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:p,onCancel:u};return e.jsxs(e.Fragment,{children:[e.jsxs(X,{edge:"end",onClick:()=>l(b),size:"small",className:"rule-action",color:"error",children:[r?e.jsx(V,{size:16}):e.jsx(be,{style:{fontSize:16}}),n("common.delete")]}),o&&e.jsx(Yt,{keyName:o.keyName,title:o.title,description:o.description,confirmPlaceholder:o.confirmPlaceholder,confirm:o.confirm,cancel:o.cancel,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}nn.propTypes={item:f.object.isRequired,onDelete:f.func};nn.defaultProps={onDelete:()=>{}};function go(){const{api:t,imgPrefix:n}=Z(),{t:r,locale:i}=h.useContext(qt),[o,l]=h.useState([]),[a,s]=h.useState(null),d=Ue(async()=>{const[{webhooks:D},{senders:m}]=await Promise.all([t.getWebHooks(),t.getWebhookSenders()]);return l(m),D}),g=d.value||[],{loading:c,error:u}=d,p=async D=>{try{await t.createWebHook({input:D}),d.retry()}catch(m){ae.error(he(m),{autoHideDuration:4e3}),console.error("create webhook error",m)}s(null)},b=()=>{s(null)},v=D=>{const m={title:D.title,description:(x,j,w)=>{const C=R=>{j({list:R,__disableConfirm:R.some(I=>I.disable)})},S=x.list||[];return e.jsx(qn,{children:S.map((R,I)=>e.jsx(ho,{children:e.jsx(G,{label:R.description,autoComplete:"off",variant:"outlined",inputProps:{"data-cy":"webhook-input"},fullWidth:!0,autoFocus:!0,style:{marginBottom:16},margin:"dense",value:R.value||R.defaultValue,onChange:M=>{R.required&&(R.disable=!0);const N=M.target.value.trim();R.value=N,S[I]=R,N?ii(R.type,N)?(R.disable=!1,w("")):(R.disable=!0,w(r("setting.webhook.requiredError",{type:R.type}))):(R.required&&(R.disable=!0),w("")),C([...S])}})},R.name))})},params:{list:D.params,__disableConfirm:!0},confirm:r("setting.webhook.add"),cancel:r("common.cancel"),onConfirm:x=>{D.params=x.list,p(D)},onCancel:b};s(m)},P=D=>D.type==="slack"?e.jsx("img",{src:`${n}/${D.type}.png`,alt:"icon",style:{width:20,height:20}}):e.jsx(vr,{}),y=async D=>{const m={webhookId:D.id,message:"This is a test notification in order to test the integration"};await t.sendTestMessage({input:m})},_=[{label:r("setting.webhook.columns.description"),name:"id",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:D=>{const m=g[D],x=o.find(j=>j.name===m.name);return e.jsxs("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:[P(m),e.jsxs("div",{style:{marginLeft:10},children:[e.jsxs("b",{children:["ID: ",m.id]}),e.jsx("div",{children:x?x.description:null})]})]})}}},{label:r("setting.webhook.columns.params"),name:"params",options:{sort:!1,customBodyRenderLite:D=>{const x=g[D].params.map(j=>e.jsx("div",{children:j.value}));return e.jsx("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:x})}}},{label:r("setting.webhook.columns.createdAt"),name:"createdAt",options:{customBodyRenderLite:D=>{const m=g[D];return e.jsx(ur,{value:Number(m.createdAt),locale:i})}}},{label:r("common.actions"),align:"center",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:D=>{const m=g[D],x=o.find(j=>j.name===m.name)||{};return e.jsxs(e.Fragment,{children:[e.jsx(nn,{item:{...m,title:x.title},onDelete:()=>{d.retry()}}),e.jsxs(X,{size:"small",color:"secondary",onClick:()=>{y(m)},children:[e.jsx(xo,{}),r("setting.webhook.test")]})]})}}}];if(!g.length&&c)return e.jsx("div",{style:{textAlign:"center",marginTop:"50px"},children:e.jsx(V,{})});if(!g.length&&u)return e.jsx(ve,{severity:"error",children:he(u)});const T=o.map(D=>({icon:P(D),title:`${r("common.add")} ${D.title}`,onClick:()=>{v(D)}}));return e.jsxs(qn,{children:[a&&e.jsx(se,{color:"primary",title:a.title,description:a.description,confirm:a.confirm,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel}),e.jsx(yr,{columns:_,data:g,locale:i,customButtons:T,verticalKeyWidth:100,options:{download:!1,filter:!1,print:!1}})]})}const qn=J.div`
|
|
65
|
-
.button-addon {
|
|
66
|
-
text-align: right;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.add-list {
|
|
70
|
-
width: 420px;
|
|
71
|
-
max-width: calc(100vw - 10px);
|
|
72
|
-
text-align: left;
|
|
73
|
-
background: #fff;
|
|
74
|
-
border-radius: 5px;
|
|
75
|
-
}
|
|
76
|
-
`,ho=J.div`
|
|
77
|
-
display: flex;
|
|
78
|
-
`,xo=J(Rr)`
|
|
79
|
-
font-size: 16px !important;
|
|
80
|
-
margin-right: 3px;
|
|
81
|
-
`;function ze({title:t,description:n,children:r}){return e.jsxs(yo,{children:[e.jsxs(A,{component:"div",className:"danger-item-info",children:[e.jsx(A,{className:"title",component:"h3",variant:"h6",color:"textPrimary",gutterBottom:!0,children:t}),e.jsx(A,{className:"desc",component:"p",variant:"body1",color:"textSecondary",children:n})]}),e.jsx(A,{component:"div",className:"danger-item-action",children:r})]})}ze.propTypes={children:f.node.isRequired,title:f.string.isRequired,description:f.string.isRequired};const yo=J.div`
|
|
82
|
-
display: flex;
|
|
83
|
-
justify-content: space-between;
|
|
84
|
-
align-items: center;
|
|
85
|
-
|
|
86
|
-
.danger-item-info {
|
|
87
|
-
display: flex;
|
|
88
|
-
flex-direction: column;
|
|
89
|
-
align-items: flex-start;
|
|
90
|
-
justify-content: center;
|
|
91
|
-
.title {
|
|
92
|
-
word-break: break-word;
|
|
93
|
-
}
|
|
94
|
-
.desc {
|
|
95
|
-
word-break: break-word;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
.danger-item-action {
|
|
100
|
-
width: 160px;
|
|
101
|
-
flex-shrink: 0;
|
|
102
|
-
text-align: right;
|
|
103
|
-
cursor: pointer;
|
|
104
|
-
@media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
|
|
105
|
-
width: auto;
|
|
106
|
-
margin-left: 10px;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
`;function Me({children:t,...n}){return e.jsx(vo,{...n,children:t})}const vo=J.div`
|
|
110
|
-
border: 1px solid #dedede;
|
|
111
|
-
padding: 16px;
|
|
112
|
-
`;Me.propTypes={children:f.node.isRequired};function kt({action:t}){const{t:n}=U(),{info:r,api:i}=Z(),[o,l]=h.useState(!1),[a,s]=h.useState(null),{data:d,externalData:g}=Ht(),[c,u]=h.useState("restartAllBlocklets"),p=h.useRef(c);if(p.current=c,t==="upgrade"&&!r.nextVersion)return null;const b=()=>{l(!1),s(null)},v=r.enableDocker&&t==="restartAllBlocklet",P=async()=>{try{if(l(!0),t==="upgrade"&&await i.upgradeNodeVersion(),t==="restart"&&await i.restartServer(),t==="restartAllBlocklet")if(v&&p.current==="restartAllContainers")await i.restartAllContainers(),ae.success(n("setting.form.restartAllContainers.restarting"));else{const _=new Set(["running","error"]),D=[...d,...g].filter(m=>_.has(m.status)).map(m=>{if(!m||!m.children||!m.meta)return Promise.resolve();const x=m.children.filter(j=>_.has(j.status)).map(j=>j.meta.did);return i.restartBlocklet({input:{did:m.meta.did,componentDids:x}})});await Promise.all(D),ae.success(n("setting.form.restartAllBlocklet.restarting"))}}catch(_){ae.error(he(_))}finally{l(!1),s(null)}},y={title:n(`setting.form.${t}.title`,{version:r.nextVersion}),description:n(`setting.form.${t}.dialog`),confirm:n("common.confirm"),cancel:n("common.cancel"),onConfirm:P,onCancel:b};return e.jsxs(e.Fragment,{children:[e.jsx(Me,{className:"danger-zone",children:e.jsx(ze,{title:n(`setting.form.${t}.title`,{version:r.nextVersion}),description:n(`setting.form.${t}.description`),children:e.jsxs(X,{onClick:()=>s(y),color:"error",variant:"outlined",size:"large",children:[o?e.jsx(V,{size:16,style:{marginRight:3}}):null,n(`setting.form.${t}.confirm`)]})})}),a&&e.jsx(se,{title:a.title,description:v?e.jsxs(A,{component:"div",children:[e.jsx(A,{gutterBottom:!0,children:n("blocklet.action.removeComponentDescription")}),e.jsxs(br,{name:"removeType",value:c,onChange:_=>{u(_.target.value)},children:[e.jsx(nt,{value:"restartAllBlocklets",control:e.jsx(Nt,{}),label:n("setting.form.restartAllBlocklet.description")}),e.jsx(nt,{value:"restartAllContainers",control:e.jsx(Nt,{}),label:n("setting.form.restartAllContainers.description")})]})]}):a.description,confirm:a.confirm,cancel:a.cancel,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}var rn={},bo=we;Object.defineProperty(rn,"__esModule",{value:!0});var Tr=rn.default=void 0,jo=bo(je()),wo=e;Tr=rn.default=(0,jo.default)((0,wo.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh");function Co(){const{t}=U(),{api:n}=Z(),[r,i]=h.useState(!1),[o,l]=h.useState(null),[a,s]=Oi("last-check-server-version-time"),d=()=>{i(!1),l(null)},g={title:t("setting.form.upgrade.check"),description:t("setting.form.upgrade.latest"),confirm:t("common.confirm"),showCancel:!1,color:"primary",onConfirm:d,onCancel:d},c=async u=>{try{i(!0);const{version:p}=await n.checkNodeVersion();!p&&u&&l(g),s(Date.now())}catch(p){console.error(`Failed to check new version: ${p.message}`)}finally{i(!1)}};return h.useEffect(()=>{(!a||Date.now()-Number(a)>60*1e3)&&c(!1)},[]),e.jsxs(e.Fragment,{children:[e.jsx(Fi,{sx:{ml:2},color:"primary",variant:"outlined",onClick:c,size:"small",loadingPosition:"end",loading:r,children:e.jsxs(oi,{direction:"row",alignItems:"center",spacing:.5,children:[e.jsx(Tr,{fontSize:"small"}),e.jsx(A,{component:"span",children:t("server.checkUpgrade")})]})}),o&&e.jsx(se,{title:o.title,description:o.description,confirm:o.confirm,showCancel:o.showCancel,color:o.color,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}function So(){const{t}=U(),{info:n}=Z();return e.jsx(Me,{className:"danger-zone",children:e.jsx(ze,{title:t("blocklet.config.clearCache.name"),description:t("blocklet.config.clearCache.purpose"),children:e.jsx($i,{teamDid:n.did,size:"large"})})})}function Do(){const{t}=U(),{info:n}=Z();return e.jsx(Me,{className:"danger-zone",children:e.jsx(ze,{title:t("blocklet.config.rotateSessionKey.name"),description:t("blocklet.config.rotateSessionKey.purpose"),children:e.jsx(Ni,{teamDid:n.did,size:"large"})})})}const _o="z8iZkFBbrVQxZHvcWWB3Sa2TrfGmSeFz9MSU7";function Ro(){const{t}=U(),{info:n}=Z(),r=ai(n),{createdAt:i,did:o,description:l,name:a}=n,s=si(async()=>{var P;const c=localStorage.getItem("__registerUrl")||n.registerUrl,u=new URL(c);u.pathname="__blocklet__.js",u.searchParams.set("type","json");const{data:p}=await li.get(u.toString()),b=(P=p==null?void 0:p.componentMountPoints)==null?void 0:P.find(y=>y.did===_o),v=new URL(c);return v.pathname=ci((b==null?void 0:b.mountPoint)||"","register"),v}),d={did:o,name:a,createdAt:i,description:l,url:r};if(s.loading)return"";if(s.error)return console.error("registerUrlState.error",s.error),"";const g=s.value;return e.jsx(To,{children:e.jsx(Me,{className:"danger-zone",children:e.jsx(ze,{title:t("setting.form.register.title"),description:t("setting.form.register.description",{url:g.origin}),children:e.jsx(X,{color:"primary",component:"a",href:`${g.toString()}?register-server=${encodeURIComponent(JSON.stringify(d))}`,target:"_blank",variant:"contained",size:"large",children:t("setting.form.register.button")})})})})}const To=J.div`
|
|
113
|
-
.danger-zone {
|
|
114
|
-
margin-top: 1vw;
|
|
115
|
-
width: 100%;
|
|
116
|
-
}
|
|
117
|
-
`;function Po(){const t=mr(),{api:n,info:r}=Z(),{t:i}=U(),o=Ue(async()=>{const a=await n.getNodeEnv();return Object.assign({},a.info||{})}),l=[];return l.push({name:i("dashboard.nodeDid"),value:e.jsx(On,{did:r.did,showQrcode:!0})},r.nodeOwner?{name:i("dashboard.ownerDid"),value:e.jsx(On,{did:r.nodeOwner.did,showQrcode:!0})}:null,{name:i("dashboard.routingEngine"),value:r.routing.provider}),o.value&&l.push({name:`${i("common.os")}`,value:o.value.os},o.value.docker?{name:`${i("common.docker")}`,value:e.jsx(Fn,{type:"success",children:"Yes"})}:null,o.value.gitpod?{name:`${i("common.gitpod")}`,value:e.jsx(Fn,{type:"success",children:"Yes"})}:null),Array.isArray(te(o,"value.blockletEngines",null))&&o.value.blockletEngines.filter(a=>a.visible&&a.available).forEach(a=>{l.push({name:a.displayName,value:a.version})}),e.jsxs(ko,{children:[e.jsx(ne,{permission:"mutate_node",children:a=>e.jsxs(e.Fragment,{children:[e.jsxs(W,{display:"flex",alignItems:"center",style:{marginBottom:24},children:[e.jsx(W,{width:50,height:50,children:e.jsx("img",{src:Li,height:50,alt:""})}),e.jsxs(W,{ml:2,children:[e.jsx("h2",{style:{margin:0},children:r.name}),e.jsx("p",{style:{margin:0,color:"#888"},children:r.description})]})]}),e.jsxs(it,{style:{marginBottom:4},valueComponent:"div",nameWidth:150,name:i("common.version"),children:[r.version,a&&e.jsx(Co,{})]},"version"),l.filter(Boolean).map(s=>e.jsx(it,{valueComponent:"div",nameWidth:150,name:s.name,children:s.value},s.name)),a&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(kt,{action:"upgrade"})})]})}),e.jsx(ne,{permission:"mutate_node",children:a=>a&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(kt,{action:"restart"})})}),e.jsx(ne,{permission:"mutate_node",children:a=>a&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(kt,{action:"restartAllBlocklet"})})}),e.jsx(ne,{permission:"mutate_router",children:a=>a&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(So,{})})}),e.jsx(ne,{permission:"mutate_node",children:a=>a&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(Do,{})})}),e.jsx(ne,{permission:"mutate_blocklets",children:!!r.registerUrl&&e.jsx("div",{style:{maxWidth:720,marginTop:"-1vw"},children:e.jsx(Ro,{})})}),e.jsx(W,{mt:10,style:{marginLeft:-8},children:e.jsx(X,{className:"eula-btn",onClick:()=>{t("/eula")},children:i("common.goEULA")})})]})}const ko=J.div`
|
|
118
|
-
display: flex;
|
|
119
|
-
flex-direction: column;
|
|
120
|
-
margin-top: 32px;
|
|
121
|
-
`,Pr=h.createContext({}),{Provider:Eo,Consumer:zs}=Pr;function kr({children:t,domains:n}){const{api:r}=Z(),i=JSON.stringify(n),[o,l]=h.useState({}),a=h.useMemo(()=>n.filter(b=>Kt(b)),[i]);Lt(E.EVENTS.DOMAIN_STATUS,b=>{b&&l(v=>({...v,[b.domain]:{...v[b.domain],...b}}))});const{domainsAccessibility:s,recommendedDomain:d}=zi(a),g=h.useMemo(()=>{const b={...o};return Object.keys(s).forEach(v=>{const P=b[v]||{};b[v]={...P,...s[v]}}),b},[o,s]),c=()=>{a.length>0&&r.checkDomains({input:{domains:a}})},u=b=>{b&&r.checkDomains({input:{domains:[b]}})};h.useEffect(()=>{c()},[a]);const p={refresh:c,updateStatus:u,api:r,status:g,recommendedDomain:d,recommendedDomainStatus:g[d]};return e.jsx(Eo,{value:p,children:t})}kr.propTypes={children:f.any.isRequired,domains:f.array.isRequired};function ft(){const{status:t,recommendedDomainStatus:n,recommendedDomain:r,updateStatus:i}=h.useContext(Pr);return{status:t,recommendedDomainStatus:n,recommendedDomain:r,updateStatus:i}}const Ao=t=>(te(t,"meta.interfaces")||[]).find(r=>r.type===mt.BLOCKLET_INTERFACE_TYPE_WEB);function Be({params:t,blocklets:n,setParams:r,setError:i,serviceTypes:o}){const{t:l}=U(),a={301:l("common.redirectPermanently"),302:l("common.redirectTemporary"),307:l("common.redirectTemporary"),308:l("common.redirectPermanently")},s=cr(n,c=>c.meta.name),d=(c,u)=>{if(!u)return{};let{port:p}=c;u&&c.ports&&u.port&&(c.ports[u.port]&&(p=c.ports[u.port]),c.ports[u.port.internal]&&(p=c.ports[u.port.internal]));let{pathPrefix:b}=t;return u&&u.prefix!==mt.BLOCKLET_DYNAMIC_PATH_PREFIX&&(b=u.prefix),{port:p,pathPrefix:b}},g=c=>{const u=s.find(b=>b.meta.did===c),p=Ao(u);return{...d(u,p),interfaceName:p?p.name:""}};return h.useEffect(()=>{!t.interfaceName&&t.type===E.ROUTING_RULE_TYPES.BLOCKLET&&r({...t,...g(t.did),__disableConfirm:!1})},[]),e.jsxs(e.Fragment,{children:[e.jsx(G,{select:!0,label:l("router.domain.add.type"),autoComplete:"off",variant:"outlined",name:"type","data-cy":"domain-add-type",fullWidth:!0,value:t.type,onChange:c=>{i(""),r({...t,type:c.target.value,__disableConfirm:!1})},style:{marginBottom:32},SelectProps:{},children:o.map(({name:c,value:u})=>e.jsx(ie,{value:u,children:c},u))}),t.type===E.ROUTING_RULE_TYPES.BLOCKLET&&e.jsxs(G,{select:!0,label:l("router.domain.add.blocklet"),autoComplete:"off",variant:"outlined",name:"did","data-cy":"domain-blocklet-select",fullWidth:!0,value:t.did,onChange:c=>{r({...t,...g(c.target.value),did:c.target.value,__disableConfirm:!1})},style:{marginBottom:32},children:[s.map(c=>e.jsxs(ie,{value:c.meta.did,children:[`${c.meta.name} v${c.meta.version}`,e.jsx("span",{style:{marginLeft:8},children:e.jsx(jr,{status:c.status,progress:c.progress})})]},c.meta.did)),n.length===0&&e.jsx(ie,{value:"",children:l("common.empty")},"empty")]}),t.type===E.ROUTING_RULE_TYPES.REDIRECT&&[e.jsx(G,{select:!0,label:l("router.domain.add.redirect"),autoComplete:"off",variant:"outlined",name:"type",fullWidth:!0,value:t.redirectCode,onChange:c=>r({...t,redirectCode:c.target.value}),style:{marginBottom:32},SelectProps:{},children:Object.keys(a).map(c=>e.jsx(ie,{value:c,children:`${a[c]} - ${c}`},c))}),e.jsx(G,{label:l("common.redirectUrl"),autoComplete:"off",variant:"outlined",name:"url",inputProps:{"data-cy":"redirect-url-input"},fullWidth:!0,autoFocus:!0,value:t.url,helperText:l("router.urlHelperText"),style:{marginBottom:32},onChange:c=>{r({...t,url:c.target.value,__disableConfirm:!c.target.value.trim()}),c.target.value.trim()?i(""):i(l("router.validation.redirectUrlRequired"))}})]]})}Be.propTypes={params:f.object,blocklets:f.array,serviceTypes:f.array,setParams:f.func,setError:f.func};Be.defaultProps={params:{},blocklets:[],serviceTypes:[{name:"Blocklet",value:E.ROUTING_RULE_TYPES.BLOCKLET},{name:"Redirect",value:E.ROUTING_RULE_TYPES.REDIRECT},{name:"Default - User will see the 404 page",value:E.ROUTING_RULE_TYPES.NONE}],setParams:()=>{},setError:()=>{}};const Er=(t,n)=>{if(t.type===E.ROUTING_RULE_TYPES.REDIRECT){if(!t.url)return new Error(`${n("router.validation.redirectUrlRequired")}`);if(!t.redirectCode)return new Error(`redirect ${n("router.validation.redirectCodeRequired")}`)}else if(t.type===E.ROUTING_RULE_TYPES.BLOCKLET&&!t.did)return new Error(n("router.validation.didRequired"));return null},$e=(t,n)=>t?t.endsWith(E.DEFAULT_IP_DOMAIN_SUFFIX)?n("router.domain.validate.suffixTip",{suffix:E.DEFAULT_IP_DOMAIN_SUFFIX}):null:n("router.domain.validate.emptyTip"),Io=(t,n)=>{const r=Er(t,n);if(r)return r;const i=$e(t.domain,n);return i?new Error(i):null},ot=(t,n)=>{const r=Er(t,n);return r||(t.pathPrefix.length?t.pathPrefix.length>150?new Error(n("router.validation.pathPrefixTooLong",{length:150})):null:new Error(n("router.validation.pathPrefixCannotBeEmpty")))},Ar=({params:t,blocklets:n,blocklet:r,locale:i="en"})=>{if(r){let a=(r.children||[]).find(s=>Mi(s.mountPoint,t.pathPrefix));if(r.meta.group!=="gateway"&&t.pathPrefix==="/"&&(a="/"),a)return{zh:`挂载点 ${t.pathPrefix} 已存在,请使用其他挂载点`,en:`The mount point ${t.pathPrefix} already exist, please use another mount point`}[i]}const o=n.find(a=>a.meta.did===t.did);if(!o)return"";const l=o.meta.interfaces.find(a=>a.type==="web");return l&&l.prefix!==mt.BLOCKLET_DYNAMIC_PATH_PREFIX&&t.pathPrefix!==l.prefix?{zh:`该 blocklet 只能挂载在 ${l.prefix}`,en:`This blocklet can only be mounted on ${l.prefix}`}[i]:""},on=t=>{if(t.length===0)return"";const{searchParams:n}=new URL(window.location.href),r=n.get("fromDid");if(r){const i=t.find(o=>o.meta.did===r);if(i)return i.meta.did}return t[0].meta.did};function pt({blocklets:t,onActivate:n=()=>{},children:r}){const{t:i}=U(),{actions:o}=de(),{info:l}=Z(),[a,s]=h.useState(!1),[d,g]=h.useState(null),c=()=>{s(!1),g(null)},u=async v=>{s(!0);const P={from:{pathPrefix:"/"},to:{type:v.type}},y={domain:v.domain.trim()===l.ip?"":v.domain.trim()};if(v.type===E.ROUTING_RULE_TYPES.BLOCKLET){const _=t.find(D=>D.meta.did===v.did),T=te(_,"meta.interfaces",[]).find(D=>D.name===v.interfaceName);T&&T.prefix!==mt.BLOCKLET_DYNAMIC_PATH_PREFIX&&(P.from.pathPrefix=T.prefix),P.to.port=v.port,P.to.did=v.did,P.to.interfaceName=v.interfaceName,y.rules=[P]}else v.type===E.ROUTING_RULE_TYPES.REDIRECT&&(P.to.url=v.url,P.to.redirectCode=v.redirectCode,y.rules=[P]);await o.addSite(y),s(!1),g(null)},p={title:i("router.domain.addSite"),description:(v,P,y)=>{const _=T=>{const D=T.__disableConfirm||!!Io(T,i);P({...T,__disableConfirm:D})};return e.jsxs(A,{component:"div",children:[e.jsx(G,{label:i("router.domain.add.description"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:v.domain,style:{marginTop:16,marginBottom:32},inputProps:{"data-cy":"domain-name-input"},onChange:T=>{const D=T.target.value.trim(),m=$e(D,i);_({...v,domain:T.target.value,__disableConfirm:!!m}),y(m||"")}}),e.jsx(Be,{blocklets:t,params:v,setParams:_,setError:y})]})},confirm:i("router.domain.add.confirm"),cancel:i("router.domain.add.cancel"),params:{domain:"",did:on(t),port:"",interfaceName:"",type:E.ROUTING_RULE_TYPES.BLOCKLET,redirectCode:302,__disableConfirm:!0},onConfirm:u,onCancel:c},b=v=>{v.stopPropagation(),g(p)||n()};return h.useEffect(()=>{const{searchParams:v}=new URL(window.location.href);v.get("fromDid")&&g(p)},[]),e.jsxs(e.Fragment,{children:[typeof r=="function"?r({loading:a,open:b}):e.jsxs(ie,{onClick:b,className:"rule-action","data-cy":"action-add-domain",children:[a?e.jsx(V,{size:16}):e.jsx(wr,{style:{fontSize:18,marginRight:5}}),i("router.domain.add.title")]}),d&&e.jsx(se,{title:d.title,description:d.description,confirm:d.confirm,cancel:d.cancel,params:d.params,onConfirm:d.onConfirm,onCancel:d.onCancel,color:"primary"})]})}pt.propTypes={blocklets:f.array,children:f.any,onActivate:f.func};pt.defaultProps={onActivate:()=>{},children:null,blocklets:[]};var an={},Lo=we;Object.defineProperty(an,"__esModule",{value:!0});var Ir=an.default=void 0,Oo=Lo(je()),Fo=e;Ir=an.default=(0,Oo.default)((0,Fo.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error");var sn={},$o=we;Object.defineProperty(sn,"__esModule",{value:!0});var Lr=sn.default=void 0,No=$o(je()),Uo=e;Lr=sn.default=(0,No.default)((0,Uo.jsx)("path",{d:"M2 20h20v-4H2zm2-3h2v2H4zM2 4v4h20V4zm4 3H4V5h2zm-4 7h20v-4H2zm2-3h2v2H4z"}),"Storage");var ln={},zo=we;Object.defineProperty(ln,"__esModule",{value:!0});var Or=ln.default=void 0,Mo=zo(je()),Bo=e;Or=ln.default=(0,Mo.default)((0,Bo.jsx)("path",{d:"m19 15-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9z"}),"SubdirectoryArrowRight");function Hn(t){const{t:n}=U(),{actions:r}=de(),[i,o]=h.useState(!1),[l,a]=h.useState(null),{id:s,name:d}=t;if(Xt(d))return null;const g=()=>{o(!1),a(null)},c=async()=>{o(!0),await r.deleteSite(s),o(!1),a(null)},u={title:n("router.domain.delete.title"),description:n("router.domain.delete.description",{name:`<b>${d}</b>`}),confirmPlaceholder:n("router.domain.delete.confirm_desc",{name:d}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:c,onCancel:g,keyName:d},p=b=>{b.stopPropagation(),a(u)||t.onActivate()};return e.jsxs(e.Fragment,{children:[e.jsxs(ie,{onClick:p,className:"rule-action","data-cy":"action-delete-domain",children:[i?e.jsx(V,{size:16}):e.jsx(be,{style:{fontSize:18,marginRight:5}}),n("router.domain.delete.title")]}),l&&e.jsx(Yt,{keyName:l.keyName,title:l.title,description:l.description,confirmPlaceholder:l.confirmPlaceholder,confirm:l.confirm,cancel:l.cancel,params:l.params,onConfirm:l.onConfirm,onCancel:l.onCancel})]})}function at({id:t,blocklets:n,onActivate:r=()=>{},onRuleAdded:i=()=>{},children:o,teamDid:l}){const{t:a}=U(),{actions:s}=de(),[d,g]=h.useState(!1),[c,u]=h.useState(null),p=()=>{g(!1),u(null)},b=async y=>{const _=await ot(y,a);if(_)throw _;g(!0);const T={from:{pathPrefix:pr(y.pathPrefix)},to:{type:y.type}};y.type===E.ROUTING_RULE_TYPES.BLOCKLET?(T.to.port=y.port,T.to.did=y.did,T.to.interfaceName=y.interfaceName):y.type===E.ROUTING_RULE_TYPES.REDIRECT&&(T.to.url=y.url.trim(),T.to.redirectCode=y.redirectCode),await s.addRule(t,T,l),u(null),g(!1),i()},v={title:a("router.rule.add.title"),description:(y,_,T)=>{const D=m=>{if(T(null),ot(m,a)){_({...m,__disableConfirm:!0});return}_({...m})};return e.jsxs(A,{component:"div",children:[e.jsx(G,{label:a("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:y.helperText||a("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:y.pathPrefix,onChange:m=>{let x=!1;const j=Ar({params:{...y,pathPrefix:m.target.value},blocklets:n});T(j),y.type===E.ROUTING_RULE_TYPES.BLOCKLET&&j&&(x=!0),y.type===E.ROUTING_RULE_TYPES.REDIRECT&&!y.url&&(x=!0),m.target.value.trim()||(x=!0,T(a("router.validation.pathPrefixRequired"))),x||T("");const w=a("common.slugifyHint",{value:fr(m.target.value)});_({...y,pathPrefix:m.target.value,helperText:w,__disableConfirm:x})}}),e.jsx(Be,{blocklets:n,params:y,setParams:D,setError:T})]})},confirm:a("router.rule.add.confirm"),cancel:a("common.cancel"),params:{pathPrefix:"",type:E.ROUTING_RULE_TYPES.BLOCKLET,did:on(n),port:"",interfaceName:"",redirectCode:302,__disableConfirm:!0},onConfirm:b,onCancel:p},P=y=>{y.stopPropagation(),u(v)||r()};return e.jsxs(e.Fragment,{children:[typeof o=="function"?o({loading:d,open:P}):e.jsxs(ie,{onClick:P,className:"rule-action","data-cy":"action-add-rule",children:[d?e.jsx(V,{size:16}):e.jsx(vr,{style:{fontSize:18,marginRight:5}}),a("router.rule.add.title")]}),c&&e.jsx(se,{title:c.title,description:c.description,confirm:c.confirm,cancel:c.cancel,params:c.params,onConfirm:c.onConfirm,onCancel:c.onCancel,color:"primary"})]})}at.propTypes={id:f.string.isRequired,blocklets:f.array,children:f.any,onActivate:f.func,onRuleAdded:f.func,teamDid:f.string};at.defaultProps={onActivate:()=>{},onRuleAdded:()=>{},children:null,blocklets:[],teamDid:""};function cn(t){const{t:n}=U(),{actions:r}=de(),[i,o]=h.useState(!1),[l,a]=h.useState(null),{id:s,parent:{id:d},name:g,children:c,onActivate:u,teamDid:p}=t,b=()=>{o(!1),a(null)},v=async()=>{o(!0),await r.deleteRule(d,s,p),o(!1),a(null)},P={keyName:g,title:n("router.rule.delete.title"),description:n("router.rule.delete.description",{name:`<b>${g}</b>`}),confirmPlaceholder:n("router.rule.delete.confirm_desc",{name:g}),confirm:n("common.delConfirm"),cancel:n("router.rule.delete.cancel"),onConfirm:v,onCancel:b},y=_=>{_.stopPropagation(),a(P)||u()};return e.jsxs(e.Fragment,{children:[typeof c=="function"?c({loading:i,open:y}):e.jsxs(ie,{onClick:y,className:"rule-action","data-cy":"action-delete-rule",children:[i?e.jsx(V,{size:16}):e.jsx(be,{style:{fontSize:18,marginRight:5}}),n("router.rule.delete.title")]}),l&&e.jsx(Yt,{keyName:l.keyName,title:l.title,description:l.description,confirmPlaceholder:l.confirmPlaceholder,confirm:l.confirm,cancel:l.cancel,params:l.params,onConfirm:l.onConfirm,onCancel:l.onCancel})]})}cn.propTypes={id:f.string.isRequired,name:f.string.isRequired,parent:f.object.isRequired,children:f.any,onActivate:f.func,teamDid:f.string};cn.defaultProps={onActivate:()=>{},children:null,teamDid:""};function dn(t){const{id:n,name:r,did:i,parent:o,blocklets:l,to:a,children:s,onActivate:d,teamDid:g}=t,{t:c}=U(),{actions:u}=de(),[p,b]=h.useState(!1),[v,P]=h.useState(null),y=()=>{b(!1),P(null)},_=async m=>{const x=await ot(m,c);if(x)throw x;b(!0);const j={id:n,from:{pathPrefix:pr(m.pathPrefix)},to:{type:m.type}};m.type===E.ROUTING_RULE_TYPES.BLOCKLET?(j.to.port=m.port,j.to.did=m.did,j.to.interfaceName=m.interfaceName):m.type===E.ROUTING_RULE_TYPES.REDIRECT&&(j.to.url=m.url,j.to.redirectCode=m.redirectCode),await u.updateRule(o.id,j,g),P(null),b(!1)},T={title:c("router.rule.update.title"),description:(m,x,j)=>{const w=C=>{if(ot(C,c)){x({...C,__disableConfirm:!0});return}x({...C})};return e.jsxs(A,{component:"div",children:[e.jsx(G,{label:c("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:m.helperText||c("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:m.pathPrefix,onChange:C=>{let S=!1;const R=Ar({params:{...m,pathPrefix:C.target.value},blocklets:l});m.type===E.ROUTING_RULE_TYPES.BLOCKLET&&R&&(S=!0,j(R)),m.type===E.ROUTING_RULE_TYPES.REDIRECT&&!m.url&&(S=!0),C.target.value.trim()||(S=!0,j(c("router.validation.pathPrefixRequired"))),S||j("");const I=c("common.slugifyHint",{value:fr(C.target.value)});x({...m,pathPrefix:C.target.value,helperText:I,__disableConfirm:S})}}),e.jsx(Be,{blocklets:l,params:m,setParams:w,setError:j})]})},confirm:c("router.rule.update.confirm"),cancel:c("router.rule.update.cancel"),color:"primary",params:{pathPrefix:r==="/"?r:r.replace(/^\/+/,"").replace(/\/+$/,""),type:a.type||E.ROUTING_RULE_TYPES.BLOCKLET,did:i||on(l),port:a.port||"",interfaceName:a.interfaceName||"",redirectCode:a.redirectCode||302,url:a.url||"",__disableConfirm:!1},onConfirm:_,onCancel:y},D=m=>{m.stopPropagation(),P(T)||d()};return e.jsxs(e.Fragment,{children:[typeof s=="function"?s({loading:p,open:D}):e.jsxs(ie,{onClick:D,className:"rule-action","data-cy":"action-update-rule",children:[p?e.jsx(V,{size:16}):e.jsx(Cr,{style:{fontSize:18,marginRight:5}}),c("router.rule.update.title")]}),v&&e.jsx(se,{title:v.title,description:v.description,confirm:v.confirm,color:v.color,cancel:v.cancel,params:v.params,onConfirm:v.onConfirm,onCancel:v.onCancel})]})}dn.propTypes={id:f.string.isRequired,name:f.string.isRequired,did:f.string,parent:f.object.isRequired,blocklets:f.array,to:f.object.isRequired,children:f.any,onActivate:f.func,teamDid:f.string};dn.defaultProps={onActivate:()=>{},children:null,did:"",blocklets:[],teamDid:""};function Le({id:t,name:n,onActivate:r,children:i,title:o,teamDid:l}){const{t:a}=U(),{actions:s}=de(),[d,g]=h.useState(!1),[c,u]=h.useState(null);if(E.DOMAIN_FOR_DEFAULT_SITE===n)return null;const p=()=>{g(!1),u(null)},b=async _=>{g(!0),await s.addDomainAlias(t,_.domain.trim(),!!_.force,l),g(!1),u(null)},v=async(_,T,D)=>{try{await T(_)}catch(m){D(he(m))}finally{g(!1)}},P={title:o||a("router.domainAlias.add.title"),description:(_,T,D)=>e.jsxs(A,{component:"div",children:[e.jsx(G,{label:a("router.domainAlias.add.domainDescription"),autoComplete:"off",variant:"outlined",name:"domain","data-cy":"add-domain",fullWidth:!0,autoFocus:!0,inputProps:{"data-cy":"domain-name-input"},value:_.domain,style:{marginBottom:8},margin:"dense",onChange:m=>{const x=m.target.value.trim(),j=$e(x,a);T({..._,domain:x,__disableConfirm:!!j}),D(j||"")},onKeyPress:m=>{if(m.key==="Enter"){m.preventDefault();const x=m.target.value.trim(),j=$e(x,a);j?D(j):v(_,b,D)}}}),e.jsx(nt,{control:e.jsx(di,{checked:_.force,onChange:m=>{T({..._,force:m.target.checked})},name:"checkedB",color:"primary"}),label:a("router.domainAlias.add.forceTip")})]}),confirm:a("common.confirm"),cancel:a("common.cancel"),params:{domain:"",__disableConfirm:!0},onConfirm:b,onCancel:p},y=_=>{_.stopPropagation(),u(P)||r()};return e.jsxs(e.Fragment,{children:[typeof i=="function"?i({loading:d,open:y}):e.jsxs(ie,{onClick:y,className:"rule-action","data-cy":"action-add-domain-alias",children:[d?e.jsx(V,{size:16}):e.jsx(Ki,{style:{fontSize:18,marginRight:5}}),a("router.domainAlias.add.title")]}),c&&e.jsx(se,{title:c.title,description:c.description,confirm:c.confirm,cancel:c.cancel,params:c.params,onConfirm:c.onConfirm,onCancel:c.onCancel,color:"primary"})]})}Le.propTypes={id:f.string.isRequired,name:f.string.isRequired,children:f.any,onActivate:f.func,title:f.string,teamDid:f.string};Le.defaultProps={onActivate:()=>{},children:null,title:"",teamDid:""};function Oe({id:t,name:n,corsAllowedOrigins:r,onActivate:i,children:o,teamDid:l}){const{t:a}=U(),{actions:s}=de(),[d,g]=h.useState(!1),[c,u]=h.useState(null);if(Xt(n))return null;let p=n;n.endsWith(E.BLOCKLET_SITE_GROUP_SUFFIX)&&(p=`${a("common.the")} Blocklet`);const b=()=>{g(!1),u(null)},v=async _=>{g(!0),await s.updateSite(t,{corsAllowedOrigins:_.corsAllowedOrigins.split(",").map(T=>T.trim())},l),g(!1),u(null)},P={title:a("router.domainSecurity.title"),description:(_,T,D)=>e.jsx(A,{component:"div",children:e.jsx(G,{label:a("router.domainSecurity.cors.title",{name:p}),autoComplete:"off",variant:"outlined",name:"corsAllowedOrigins",fullWidth:!0,autoFocus:!0,value:_.corsAllowedOrigins,style:{marginBottom:32},margin:"dense",helperText:a("router.domainSecurity.cors.description",{name:p}),onChange:m=>{T({..._,corsAllowedOrigins:m.target.value,__disableConfirm:!m.target.value.trim()}),m.target.value.trim()?D(""):D(a("router.domainSecurity.cors.domainInvalid"))}})}),confirm:a("common.confirm"),cancel:a("common.cancel"),params:{corsAllowedOrigins:Array.isArray(r)?r.join(", "):n,__disableConfirm:!0},onConfirm:v,onCancel:b},y=_=>{_.stopPropagation(),u(P)||i()};return e.jsxs(e.Fragment,{children:[typeof o=="function"?o({loading:d,open:y}):e.jsxs(ie,{onClick:y,className:"rule-action","data-cy":"action-update-domain",children:[d?e.jsx(V,{size:16}):e.jsx(Fe,{style:{fontSize:18,marginRight:5}}),a("router.domainSecurity.title")]}),c&&e.jsx(se,{title:c.title,description:c.description,confirm:c.confirm,cancel:c.cancel,params:c.params,onConfirm:c.onConfirm,onCancel:c.onCancel,color:"primary"})]})}Oe.propTypes={id:f.string.isRequired,name:f.string.isRequired,children:f.any,onActivate:f.func,corsAllowedOrigins:f.oneOfType([f.string,f.array]),teamDid:f.string};Oe.defaultProps={onActivate:()=>{},children:null,corsAllowedOrigins:"",teamDid:""};function Wo({id:t,name:n,onActivate:r}){const{t:i}=U(),{actions:o}=de(),[l,a]=h.useState(!1),[s,d]=h.useState(null);if(Xt(n))return null;const g=()=>{a(!1),d(null)},c=async b=>{a(!0),await o.updateSite(t,{domain:b.domain.trim()}),a(!1),d(null)},u={title:i("router.domain.update.title"),description:(b,v,P)=>e.jsx(A,{component:"div",children:e.jsx(G,{label:i("router.domain.update.label"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:b.domain,style:{marginBottom:32},margin:"dense",helperText:i("router.domain.update.description"),onChange:y=>{const _=y.target.value.trim(),T=$e(_,i);v({...b,domain:y.target.value,__disableConfirm:!!T}),P(T||"")}})}),confirm:i("common.confirm"),cancel:i("common.cancel"),params:{domain:n,__disableConfirm:!0},onConfirm:c,onCancel:g},p=b=>{b.stopPropagation(),d(u)||r()};return e.jsxs(e.Fragment,{children:[e.jsxs(ie,{onClick:p,className:"rule-action",children:[l?e.jsx(V,{size:16}):e.jsx(Cr,{style:{fontSize:18,marginRight:5}}),i("router.domain.update.title")]}),s&&e.jsx(se,{title:s.title,description:s.description,confirm:s.confirm,cancel:s.cancel,params:s.params,onConfirm:s.onConfirm,onCancel:s.onCancel,color:"primary"})]})}function Re(t){const[n,r]=h.useState(null),i=s=>{s.stopPropagation(),r(s.currentTarget)},o=s=>{s&&s.stopPropagation(),r(null)},l=[];if(t.type==="root"&&l.push(e.jsx(pt,{...t,onActivate:o},"add-domain")),t.type==="domain"&&l.push(e.jsx(Wo,{...t,onActivate:o},"update-domain"),e.jsx(at,{...t,onActivate:o,onRuleAdded:t.onRuleAdded},"add-rule"),e.jsx(Le,{...t,onActivate:o},"add-domain-alias"),e.jsx(Oe,{...t,onActivate:o},"update-domain-security"),e.jsx(Hn,{...t,onActivate:o},"delete-domain")),t.type==="rule"&&l.push(e.jsx(dn,{...t,onActivate:o},"update-rule"),e.jsx(cn,{...t,onActivate:o},"delete-rule")),t.type===E.ROUTING_RULE_TYPES.REDIRECT&&l.push(e.jsx(Hn,{...t,onActivate:o},"delete-domain")),t.type==="dashboard_domain"&&l.push(e.jsx(at,{...t,onActivate:o},"add-rule"),e.jsx(Oe,{...t,onActivate:o},"update-domain-security"),e.jsx(Le,{...t,onActivate:o},"add-domain-alias")),t.type==="blocklet_domain"&&l.push(e.jsx(Oe,{...t,onActivate:o},"update-domain-security"),e.jsx(Le,{...t,onActivate:o},"add-domain-alias")),l.length===0)return null;const a=s=>{s.stopPropagation()};return e.jsxs("div",{children:[e.jsx(Ot,{onMouseDown:a,onClick:i,"data-cy":"action-trigger",size:"large",children:e.jsx(Hi,{})}),e.jsx(ui,{keepMounted:!0,onMouseDown:a,open:!!n,onClose:o,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:l})]})}Re.propTypes={blocklet:f.object,onRuleAdded:f.func};Re.defaultProps={onRuleAdded:()=>{},blocklet:{}};function un({certificate:t}){const[n,r]=h.useState(null),i=Z(),{t:o,locale:l}=U(),a=g=>{r(g.currentTarget)},s=()=>{r(null)},d=!!n;return e.jsxs(e.Fragment,{children:[e.jsx(Sr,{"aria-owns":d?"mouse-over-popover":void 0,onMouseEnter:a,onMouseLeave:s,style:{color:"#44cdc6",fontSize:20,marginLeft:8,cursor:"pointer"}}),e.jsx(fi,{id:"mouse-over-popover",style:{pointerEvents:"none"},open:d,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:s,disableRestoreFocus:!0,children:e.jsx(pi,{children:e.jsxs(gi,{style:{display:"flex"},children:[e.jsx("div",{children:e.jsx("img",{src:`${i.imgPrefix}/https-certificate-icon.png`,alt:"certificate icon",style:{maxHeight:"100%",maxWidth:"100%"}})}),e.jsxs(A,{component:"div",style:{marginLeft:"16px"},children:[e.jsx(A,{component:"div",style:{fontWeight:"bold"},children:t.domain}),e.jsx(A,{component:"div",children:`${o("common.issuer")}: ${te(t,"issuer.commonName","")}`}),e.jsx(A,{component:"div",children:`${o("router.cert.issuedOn")}: ${rt(t.validFrom,l)}`}),e.jsx(A,{component:"div",children:`${o("router.cert.expiryOn")}: ${rt(t.validTo,l)}`})]})]})})})]})}un.propTypes={certificate:f.object};un.defaultProps={certificate:{}};function st(t){const{name:n,type:r,filters:i}=t,{t:o}=U(),{status:l}=ft();if(r!=="domain"||!Kt(n))return null;let a=null,s=null;const{isHttps:d,matchedCert:g}=l[n]||{};if(!mi(n)){const{dns:{resolved:u,ip:p}={}}=l[n]||{};u||p==="127.0.0.1"?a=e.jsx(me,{title:o("router.domain.verify.ok"),children:e.jsx(zn,{color:"success"})}):a=e.jsx(me,{title:o("router.domain.verify.notResolved"),children:e.jsx(zn,{color:"error"})})}d?s=e.jsx(un,{certificate:g}):s=e.jsx(me,{title:o("router.domain.https.bad"),children:e.jsx(Sr,{style:{color:"#D0021B",fontSize:20,marginLeft:8,cursor:"pointer"}})});const c=i.map(u=>u==="domain"?a:u==="http"?s:null);return h.createElement(h.Fragment,null,...c)}st.propTypes={type:f.string.isRequired,name:f.string.isRequired,filters:f.array};st.defaultProps={filters:["domain","http"]};const qo=t=>["waiting","creating","renewaling"].includes(t);function mn(t){var m;const{t:n}=U(),[r,i]=h.useState(!1),[o,l]=h.useState(null),{domain:a,onAdd:s,children:d,siteId:g}=t,{api:c}=Z(),[u,p]=h.useState(!1),{updateStatus:b}=ft(),v=Ue(async()=>{const{cert:x}=await c.findCertificateByDomain({input:{domain:a}});return x}),P=x=>{x.domain===a&&p(!1)};if(h.useEffect(()=>{var x;!v.loading&&qo((x=v.value)==null?void 0:x.status)&&p(!0)},[v]),Lt(E.EVENTS.CERT_ERROR,P),Lt(E.EVENTS.CERT_ISSUED,x=>{v.retry(),b(x.domain),P(x)}),v.loading||((m=v.value)==null?void 0:m.status)==="normal")return"";const y=()=>{i(!1),l(null)},_=async()=>{i(!0);try{await c.issueLetsEncryptCert({input:{domain:a,siteId:g}}),s(),p(!0)}catch(x){console.error(x),p(!1)}finally{i(!1),l(null)}},T={title:n("router.cert.genLetsEncryptCert.title"),description:e.jsxs("div",{children:[e.jsx(ve,{severity:"success",children:n("router.cert.genLetsEncryptCert.dnsTip")}),n("router.cert.genLetsEncryptCert.description")]}),confirm:n("common.confirm"),onConfirm:_,onCancel:y},D=x=>{x.stopPropagation(),l(T)};return e.jsxs(e.Fragment,{children:[u?e.jsx(me,{title:n("router.cert.issuing"),children:e.jsx(V,{size:12})}):d({loading:r,open:D}),o&&e.jsx(se,{color:"primary",title:o.title,description:o.description,confirm:o.confirm,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}mn.propTypes={domain:f.string.isRequired,onAdd:f.func,children:f.any,siteId:f.string.isRequired};mn.defaultProps={onAdd:()=>{},children:null};function lt(t){var i;const{status:n}=ft(),{domain:r}=t;return!Kt(r)||(i=n[r])!=null&&i.isHttps?"":e.jsx(mn,{...t})}lt.propTypes={siteId:f.string.isRequired,domain:f.string.isRequired,onAdd:f.func,children:f.any};lt.defaultProps={onAdd:()=>{},children:null};function fn(t){const{t:n}=U(),[r,i]=h.useState(!1),[o,l]=h.useState(null),{id:a,domain:s,onDelete:d,children:g,teamDid:c}=t,{actions:u}=de();if(s===window.location.hostname)return"";const p=()=>{i(!1),l(null)},b=async()=>{i(!0);try{await u.deleteDomainAlias(a,s,c),d()}catch(y){console.error(y)}finally{i(!1),l(null)}},v={title:n("router.domainAlias.delete.title"),description:n("router.domainAlias.delete.description"),confirm:n("common.confirm"),onConfirm:b,onCancel:p},P=y=>{y.stopPropagation(),l(v)};return e.jsxs(e.Fragment,{children:[typeof g=="function"?g({loading:r,open:P}):e.jsxs(X,{edge:"end",onClick:P,size:"small",className:"rule-action",color:"error","data-cy":"action-delete-domain-alias",children:[r?e.jsx(V,{size:16}):e.jsx(be,{style:{fontSize:16}}),n("router.domainAlias.delete.title")]}),o&&e.jsx(se,{title:o.title,description:o.description,confirm:o.confirm,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}fn.propTypes={id:f.string.isRequired,domain:f.string.isRequired,onDelete:f.func,children:f.any,teamDid:f.string};fn.defaultProps={onDelete:()=>{},children:null,teamDid:""};function pn({domain:t,isHttps:n,toUrl:r}){const i=n?"https":"http",{t:o}=U();let l=r;return gr(l)||(l=`${i}://${t}${r}`),e.jsxs(e.Fragment,{children:[e.jsx(A,{className:"arrow-name-middle",children:o("common.redirect")}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),e.jsx(Gt,{href:l,target:"_blank",underline:"hover",children:r},l)]})}pn.propTypes={domain:f.string.isRequired,toUrl:f.string.isRequired,isHttps:f.bool};pn.defaultProps={isHttps:!1};function gn(){const{t}=U();return e.jsx(A,{className:"arrow-name-middle",children:t("common.page404")})}gn.propTypes={};gn.defaultProps={};function Ne(t){const{t:n}=U(),{data:r}=Ht(),{info:i}=Z(),{status:o}=ft(),l=r.map(K=>({meta:{did:K.meta.did,name:xi.getDisplayName(K,!0),version:K.meta.version,interfaces:K.meta.interfaces},port:K.port,ports:K.ports,status:K.status})),{id:a,type:s,name:d,title:g,items:c=[],depth:u,to:p,expand:b,isProtected:v,pathPrefix:P,parent:y,domainAliases:_}=t;let T=d;const D=d.endsWith(E.BLOCKLET_SITE_GROUP_SUFFIX);let m=s;d===ye&&(m="dashboard_domain"),D&&(m="blocklet_domain");const[x,j]=h.useState(b),C={root:Lr,domain:wr,rule:Or}[s],S={paddingBottom:8,paddingLeft:8};if(s==="domain"){let K=function({domain:B,primaryDomain:z,rules:$}){let Y=tt(B);return z===ye?Y=`${Y}/${i.routing.adminPath.replace(/^\/+/,"")}`:$&&$.length&&$[0].pathPrefix&&(Y=`${Y}/${$[0].pathPrefix.replace(/^\/+/,"")}`),B!==ye?e.jsx(Ho,{href:Y,target:"_blank",rel:"noreferrer",onClick:Ce=>Ce.stopPropagation(),children:B}):B};if(v&&!D)return null;if(D){const B=d.replace(E.BLOCKLET_SITE_GROUP_SUFFIX,""),z=l.find($=>$.meta.did===B);if(!z||z.controller)return null;T=z.meta.title||z.meta.name}K.propTypes={domain:f.string.isRequired,primaryDomain:f.string.isRequired,rules:f.array.isRequired};const xe=()=>{j(!0)};let fe=(_||[]).filter(B=>B.value!==d);return fe=yi(fe),[e.jsxs(Et,{alignItems:"flex-start",button:!0,disableGutters:!0,"data-cy":"rule-domain",children:[!D&&e.jsxs(Ye,{onClick:()=>j(B=>!B),children:[c.length>0&&(x?e.jsx(Wi,{}):e.jsx(qi,{})),e.jsx(C,{style:{fontSize:22}})]}),D&&e.jsx(Ye,{children:e.jsx(C,{style:{fontSize:22}})}),e.jsx(Tt,{onClick:()=>j(B=>!B),className:`rule-name rule-name--depth${u}`,style:{flex:1},secondary:c.length<=0?e.jsx("span",{className:"site-secondary",children:n("router.empty")}):"",primary:e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"site-header",children:[d===E.DOMAIN_FOR_DEFAULT_SITE&&n("router.defaultSite"),d!==E.DOMAIN_FOR_DEFAULT_SITE&&!D&&e.jsx(K,{domain:d,primaryDomain:d,rules:c}),D&&T,c.length&&!x?e.jsx("span",{style:{marginLeft:5},children:`(${c.length} URL)`}):null,e.jsx("span",{style:{marginLeft:12}}),s==="domain"&&d!==E.DOMAIN_FOR_DEFAULT_SITE&&d!==ye&&!D&&e.jsxs(e.Fragment,{children:[e.jsx(st,{type:s,name:d},d),e.jsx("span",{style:{marginLeft:12}}),e.jsx(lt,{siteId:a,domain:d,children:({open:B})=>e.jsx(X,{size:"small",onClick:z=>B(z),children:n("router.cert.genLetsEncryptCert.title")})})]})]}),fe.map(B=>{const z=typeof B!="string"?B.value:B;return e.jsxs("div",{className:"site-alias",children:[e.jsx(K,{domain:z,primaryDomain:d,rules:c}),e.jsx("span",{style:{marginLeft:12}}),e.jsx(st,{type:s,name:z},`domain-status-${d}`),e.jsx(lt,{siteId:a,domain:z,children:({open:$})=>e.jsx(X,{size:"small",onClick:Y=>$(Y),children:n("router.cert.genLetsEncryptCert.title")})}),!B.isProtected&&e.jsx(fn,{id:t.id,domain:z},"delete-domain-alias"),z!==ye&&z!==window.location.hostname&&e.jsx(Re,{...t,domain:z,type:"domainAlias",onRuleAdded:xe},`action-${d}`)]},z)})]})}),e.jsx(ne,{permission:"mutate_router",children:e.jsx(Pt,{children:e.jsx(Re,{blocklets:l,...t,onRuleAdded:xe,type:m},d)})})]},"parent"),!D&&c.length>0&&e.jsx(vi,{in:x,children:e.jsx(Ft,{component:"div",className:`rule-list rule-list--depth${u}`,disablePadding:!0,children:c.map(B=>e.jsx(Ne,{...B,parent:t,depth:u+1},B.id))},"children")},"rules")]}if(s==="root")return[e.jsxs(Et,{disableGutters:!0,"data-cy":"rule-root",children:[e.jsx(Ye,{children:e.jsx(C,{style:{fontSize:22}})}),e.jsx(Tt,{primary:d}),e.jsx(ne,{permission:"mutate_router",children:e.jsx(Pt,{children:e.jsx(Re,{blocklets:l,...t})})})]},"root"),c.length>0&&e.jsx(Ft,{component:"div",className:`rule-list rule-list--depth${u}`,disablePadding:!0,children:c.map(K=>e.jsx(Ne,{expand:!v,...K,parent:t,depth:u+1},K.id))},"children")];let R=`/blocklets/${p.did}/overview`;p.type===E.ROUTING_RULE_TYPES.DAEMON&&(R="/");const I={meta:{did:i.did,name:"Blocklet Server Dashboard",version:i.version},status:"running",port:i.port},M=p.did===i.did?I:l.find(K=>K.meta.did===p.did),N=M&&M.status==="running"||p.type===E.ROUTING_RULE_TYPES.DAEMON,O=n(N?"router.healthy.ok":"router.healthy.error"),L=o[y.name]||{};return e.jsxs(Et,{className:"hover-item",divider:!0,disableGutters:!0,style:S,"data-cy":"rule-item",children:[e.jsx(Ye,{className:"arrow-icon",children:e.jsx(C,{style:{fontSize:22}})}),e.jsx(Tt,{primary:e.jsxs(A,{component:"div",className:"arrow-name",children:[e.jsx(A,{style:{wordBreak:"break-all"},className:"arrow-name-left",children:d}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),(p.type===E.ROUTING_RULE_TYPES.DAEMON||p.type===E.ROUTING_RULE_TYPES.BLOCKLET)&&e.jsxs(e.Fragment,{children:[y.name!==E.DOMAIN_FOR_DEFAULT_SITE&&N&&e.jsx(W,{className:"arrow-name-middle",children:e.jsx(Gt,{href:tt(y.name,P),target:"_blank",underline:"hover",children:n("common.open")})}),y.name===E.DOMAIN_FOR_DEFAULT_SITE&&e.jsx(A,{component:"span",className:"arrow-name-middle",children:"Blocklet"}),!N&&e.jsx("span",{className:"arrow-name-middle",children:n("common.unavailable")}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),e.jsxs(bi,{to:R,className:"arrow-name-right",children:[e.jsx(me,{title:O,children:N?e.jsx(Bi,{style:{color:"#44cdc6",fontSize:20}}):e.jsx(Ir,{style:{color:"red",fontSize:20}})}),e.jsx("span",{children:M?M.meta.name:g}),M&&e.jsx("span",{style:{marginLeft:8},children:e.jsx(jr,{status:M.status,progress:M.progress})})]})]}),p.type===E.ROUTING_RULE_TYPES.REDIRECT&&e.jsx(pn,{prefix:P,domain:y.name,toUrl:p.url,isHttps:L.isHttps}),p.type===E.ROUTING_RULE_TYPES.NONE&&e.jsx(gn,{})]})}),e.jsx(ne,{permission:"mutate_router",children:e.jsx(Pt,{children:e.jsx(Re,{blocklets:l,...t,did:p.did})})})]},d)}Ne.propTypes={type:f.string.isRequired,to:f.object,name:f.string.isRequired,title:f.string,id:f.string,items:f.array,parent:f.object,depth:f.number,expand:f.bool,isProtected:f.bool,pathPrefix:f.string,domainAliases:f.array};Ne.defaultProps={id:"",to:{},title:"",items:[],depth:0,parent:{},expand:!0,isProtected:!1,pathPrefix:"",domainAliases:[]};const Et=J(hi)`
|
|
122
|
-
.MuiListItemText-root {
|
|
123
|
-
padding-right: 48px;
|
|
124
|
-
}
|
|
125
|
-
.MuiListItemSecondaryAction-root {
|
|
126
|
-
right: 0;
|
|
127
|
-
}
|
|
128
|
-
.site-header {
|
|
129
|
-
display: unset !important;
|
|
130
|
-
vertical-align: middle;
|
|
131
|
-
.MuiSvgIcon-root {
|
|
132
|
-
vertical-align: middle;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
`,Ho=J("a")`
|
|
136
|
-
color: #000;
|
|
137
|
-
white-space: normal;
|
|
138
|
-
word-break: break-all;
|
|
139
|
-
:hover {
|
|
140
|
-
color: rgba(0, 0, 0, 0.6);
|
|
141
|
-
}
|
|
142
|
-
`;function Ko(){const{sites:t,allDomains:n}=de(),{data:r}=Ht(),{t:i}=U(),o=t.map(l=>{const a=l.items.filter(s=>!s.isProtected);return{...l,items:a}});return e.jsx(kr,{domains:n,children:e.jsxs(Go,{children:[e.jsx(ne,{permission:"mutate_router",children:e.jsx(W,{textAlign:"right",mb:1,children:e.jsx(pt,{blocklets:r,children:({open:l})=>e.jsxs(X,{style:{marginLeft:16},variant:"contained",color:"primary","data-cy":"add-domain-alias",onClick:l,children:[e.jsx(Fe,{style:{fontSize:"1.3em",marginRight:4}}),i("router.domain.addSite")]})})})}),e.jsx(Ft,{component:"div",disablePadding:!0,children:o.map(l=>h.createElement(Ne,{...l,depth:1,key:l.id}))})]})})}const Go=J.main`
|
|
143
|
-
margin-top: ${t=>t.theme.spacing(2)};
|
|
144
|
-
min-height: 60vh;
|
|
145
|
-
|
|
146
|
-
.MuiListItemIcon-root {
|
|
147
|
-
min-width: ${t=>t.theme.spacing(4)};
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
.site-header {
|
|
151
|
-
display: flex;
|
|
152
|
-
align-items: center;
|
|
153
|
-
margin-left: ${t=>t.theme.spacing(1)};
|
|
154
|
-
font-size: 1.2rem;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
.site-alias {
|
|
158
|
-
display: flex;
|
|
159
|
-
align-items: center;
|
|
160
|
-
margin-left: ${t=>t.theme.spacing(1)};
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
.site-secondary {
|
|
164
|
-
margin-left: ${t=>t.theme.spacing(1)};
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
.rule-list--depth1 {
|
|
168
|
-
padding-left: ${t=>t.theme.spacing(4)};
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
.rule-list--depth2 {
|
|
172
|
-
padding-left: ${t=>t.theme.spacing(5)};
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
.rule-action {
|
|
176
|
-
margin-left: ${t=>t.theme.spacing(2)};
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
.rule-name--depth2 span {
|
|
180
|
-
font-weight: bold;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
.arrow-name {
|
|
184
|
-
display: flex;
|
|
185
|
-
align-items: center;
|
|
186
|
-
.arrow-name-left {
|
|
187
|
-
width: 400px;
|
|
188
|
-
flex-shrink: 0;
|
|
189
|
-
text-align: left;
|
|
190
|
-
}
|
|
191
|
-
.arrow-name-middle {
|
|
192
|
-
width: 150px;
|
|
193
|
-
flex-shrink: 0;
|
|
194
|
-
text-align: left;
|
|
195
|
-
}
|
|
196
|
-
.arrow-name-arrow {
|
|
197
|
-
width: 40px;
|
|
198
|
-
flex-shrink: 0;
|
|
199
|
-
margin: auto 16px;
|
|
200
|
-
font-size: 24px;
|
|
201
|
-
color: #0000008a;
|
|
202
|
-
}
|
|
203
|
-
.arrow-name-right {
|
|
204
|
-
flex-shrink: 0;
|
|
205
|
-
display: flex;
|
|
206
|
-
align-items: center;
|
|
207
|
-
|
|
208
|
-
span {
|
|
209
|
-
margin: 0 8px;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
@media (max-width: ${t=>t.theme.breakpoints.values.md}px) {
|
|
215
|
-
.rule-list--depth1,
|
|
216
|
-
.rule-list--depth2 {
|
|
217
|
-
padding-left: 0;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
.MuiListItem-secondaryAction {
|
|
221
|
-
padding-right: 0;
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
@media (max-width: ${t=>t.theme.breakpoints.values.lg}px) {
|
|
226
|
-
.arrow-icon {
|
|
227
|
-
margin-top: 4px;
|
|
228
|
-
align-self: flex-start;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
.arrow-name {
|
|
232
|
-
flex-direction: column;
|
|
233
|
-
align-items: flex-start;
|
|
234
|
-
.arrow-name-left {
|
|
235
|
-
width: auto;
|
|
236
|
-
}
|
|
237
|
-
.arrow-name-middle {
|
|
238
|
-
margin: 5px 0;
|
|
239
|
-
}
|
|
240
|
-
.arrow-name-arrow {
|
|
241
|
-
display: none;
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
`;var Vo=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function We(t,n){var r=Yo(t);if(typeof r.path!="string"){var i=t.webkitRelativePath;Object.defineProperty(r,"path",{value:typeof n=="string"?n:typeof i=="string"&&i.length>0?i:t.name,writable:!1,configurable:!1,enumerable:!0})}return r}function Yo(t){var n=t.name,r=n&&n.lastIndexOf(".")!==-1;if(r&&!t.type){var i=n.split(".").pop().toLowerCase(),o=Vo.get(i);o&&Object.defineProperty(t,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return t}var Xo=[".DS_Store","Thumbs.db"];function Qo(t){return Pe(this,void 0,void 0,function(){return ke(this,function(n){return ct(t)&&Zo(t)?[2,na(t.dataTransfer,t.type)]:Jo(t)?[2,ea(t)]:Array.isArray(t)&&t.every(function(r){return"getFile"in r&&typeof r.getFile=="function"})?[2,ta(t)]:[2,[]]})})}function Zo(t){return ct(t.dataTransfer)}function Jo(t){return ct(t)&&ct(t.target)}function ct(t){return typeof t=="object"&&t!==null}function ea(t){return Ut(t.target.files).map(function(n){return We(n)})}function ta(t){return Pe(this,void 0,void 0,function(){var n;return ke(this,function(r){switch(r.label){case 0:return[4,Promise.all(t.map(function(i){return i.getFile()}))];case 1:return n=r.sent(),[2,n.map(function(i){return We(i)})]}})})}function na(t,n){return Pe(this,void 0,void 0,function(){var r,i;return ke(this,function(o){switch(o.label){case 0:return t===null?[2,[]]:t.items?(r=Ut(t.items).filter(function(l){return l.kind==="file"}),n!=="drop"?[2,r]:[4,Promise.all(r.map(ra))]):[3,2];case 1:return i=o.sent(),[2,Kn(Fr(i))];case 2:return[2,Kn(Ut(t.files).map(function(l){return We(l)}))]}})})}function Kn(t){return t.filter(function(n){return Xo.indexOf(n.name)===-1})}function Ut(t){if(t===null)return[];for(var n=[],r=0;r<t.length;r++){var i=t[r];n.push(i)}return n}function ra(t){if(typeof t.webkitGetAsEntry!="function")return Gn(t);var n=t.webkitGetAsEntry();return n&&n.isDirectory?$r(n):Gn(t)}function Fr(t){return t.reduce(function(n,r){return ji(n,Array.isArray(r)?Fr(r):[r])},[])}function Gn(t){var n=t.getAsFile();if(!n)return Promise.reject(t+" is not a File");var r=We(n);return Promise.resolve(r)}function ia(t){return Pe(this,void 0,void 0,function(){return ke(this,function(n){return[2,t.isDirectory?$r(t):oa(t)]})})}function $r(t){var n=t.createReader();return new Promise(function(r,i){var o=[];function l(){var a=this;n.readEntries(function(s){return Pe(a,void 0,void 0,function(){var d,g,c;return ke(this,function(u){switch(u.label){case 0:if(s.length)return[3,5];u.label=1;case 1:return u.trys.push([1,3,,4]),[4,Promise.all(o)];case 2:return d=u.sent(),r(d),[3,4];case 3:return g=u.sent(),i(g),[3,4];case 4:return[3,6];case 5:c=Promise.all(s.map(ia)),o.push(c),l(),u.label=6;case 6:return[2]}})})},function(s){i(s)})}l()})}function oa(t){return Pe(this,void 0,void 0,function(){return ke(this,function(n){return[2,new Promise(function(r,i){t.file(function(o){var l=We(o,t.fullPath);r(l)},function(o){i(o)})})]})})}var aa=function(t,n){if(t&&n){var r=Array.isArray(n)?n:n.split(","),i=t.name||"",o=(t.type||"").toLowerCase(),l=o.replace(/\/.*$/,"");return r.some(function(a){var s=a.trim().toLowerCase();return s.charAt(0)==="."?i.toLowerCase().endsWith(s):s.endsWith("/*")?l===s.replace(/\/.*$/,""):o===s})}return!0};function Vn(t,n){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);n&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,i)}return r}function Yn(t){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?Vn(Object(r),!0).forEach(function(i){Nr(t,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Vn(Object(r)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))})}return t}function Nr(t,n,r){return n in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}function Xn(t,n){return da(t)||ca(t,n)||la(t,n)||sa()}function sa(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
246
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function la(t,n){if(t){if(typeof t=="string")return Qn(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Qn(t,n)}}function Qn(t,n){(n==null||n>t.length)&&(n=t.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=t[r];return i}function ca(t,n){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var i=[],o=!0,l=!1,a,s;try{for(r=r.call(t);!(o=(a=r.next()).done)&&(i.push(a.value),!(n&&i.length===n));o=!0);}catch(d){l=!0,s=d}finally{try{!o&&r.return!=null&&r.return()}finally{if(l)throw s}}return i}}function da(t){if(Array.isArray(t))return t}var ua="file-invalid-type",ma="file-too-large",fa="file-too-small",pa="too-many-files",ga=function(n){n=Array.isArray(n)&&n.length===1?n[0]:n;var r=Array.isArray(n)?"one of ".concat(n.join(", ")):n;return{code:ua,message:"File type must be ".concat(r)}},Zn=function(n){return{code:ma,message:"File is larger than ".concat(n," ").concat(n===1?"byte":"bytes")}},Jn=function(n){return{code:fa,message:"File is smaller than ".concat(n," ").concat(n===1?"byte":"bytes")}},ha={code:pa,message:"Too many files"};function Ur(t,n){var r=t.type==="application/x-moz-file"||aa(t,n);return[r,r?null:ga(n)]}function zr(t,n,r){if(Ae(t.size))if(Ae(n)&&Ae(r)){if(t.size>r)return[!1,Zn(r)];if(t.size<n)return[!1,Jn(n)]}else{if(Ae(n)&&t.size<n)return[!1,Jn(n)];if(Ae(r)&&t.size>r)return[!1,Zn(r)]}return[!0,null]}function Ae(t){return t!=null}function xa(t){var n=t.files,r=t.accept,i=t.minSize,o=t.maxSize,l=t.multiple,a=t.maxFiles;return!l&&n.length>1||l&&a>=1&&n.length>a?!1:n.every(function(s){var d=Ur(s,r),g=Xn(d,1),c=g[0],u=zr(s,i,o),p=Xn(u,1),b=p[0];return c&&b})}function dt(t){return typeof t.isPropagationStopped=="function"?t.isPropagationStopped():typeof t.cancelBubble<"u"?t.cancelBubble:!1}function Qe(t){return t.dataTransfer?Array.prototype.some.call(t.dataTransfer.types,function(n){return n==="Files"||n==="application/x-moz-file"}):!!t.target&&!!t.target.files}function er(t){t.preventDefault()}function ya(t){return t.indexOf("MSIE")!==-1||t.indexOf("Trident/")!==-1}function va(t){return t.indexOf("Edge/")!==-1}function ba(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return ya(t)||va(t)}function ue(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(i){for(var o=arguments.length,l=new Array(o>1?o-1:0),a=1;a<o;a++)l[a-1]=arguments[a];return n.some(function(s){return!dt(i)&&s&&s.apply(void 0,[i].concat(l)),dt(i)})}}function tr(){return"showOpenFilePicker"in window}function ja(t){return t=typeof t=="string"?t.split(","):t,[{description:"everything",accept:Array.isArray(t)?t.filter(function(n){return n==="audio/*"||n==="video/*"||n==="image/*"||n==="text/*"||/\w+\/[-+.\w]+/g.test(n)}).reduce(function(n,r){return Yn(Yn({},n),{},Nr({},r,[]))},{}):{}}]}var wa=["children"],Ca=["open"],Sa=["refKey","role","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"],Da=["refKey","onChange","onClick"];function _a(t){return Pa(t)||Ta(t)||Mr(t)||Ra()}function Ra(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
247
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ta(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function Pa(t){if(Array.isArray(t))return zt(t)}function At(t,n){return Aa(t)||Ea(t,n)||Mr(t,n)||ka()}function ka(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
248
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Mr(t,n){if(t){if(typeof t=="string")return zt(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return zt(t,n)}}function zt(t,n){(n==null||n>t.length)&&(n=t.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=t[r];return i}function Ea(t,n){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var i=[],o=!0,l=!1,a,s;try{for(r=r.call(t);!(o=(a=r.next()).done)&&(i.push(a.value),!(n&&i.length===n));o=!0);}catch(d){l=!0,s=d}finally{try{!o&&r.return!=null&&r.return()}finally{if(l)throw s}}return i}}function Aa(t){if(Array.isArray(t))return t}function nr(t,n){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);n&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,i)}return r}function H(t){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?nr(Object(r),!0).forEach(function(i){Mt(t,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):nr(Object(r)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))})}return t}function Mt(t,n,r){return n in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}function ut(t,n){if(t==null)return{};var r=Ia(t,n),i,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(o=0;o<l.length;o++)i=l[o],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(t,i)&&(r[i]=t[i])}return r}function Ia(t,n){if(t==null)return{};var r={},i=Object.keys(t),o,l;for(l=0;l<i.length;l++)o=i[l],!(n.indexOf(o)>=0)&&(r[o]=t[o]);return r}var hn=h.forwardRef(function(t,n){var r=t.children,i=ut(t,wa),o=Wt(i),l=o.open,a=ut(o,Ca);return h.useImperativeHandle(n,function(){return{open:l}},[l]),wi.createElement(h.Fragment,null,r(H(H({},a),{},{open:l})))});hn.displayName="Dropzone";var Br={disabled:!1,getFilesFromEvent:Qo,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1};hn.defaultProps=Br;hn.propTypes={children:f.func,accept:f.oneOfType([f.string,f.arrayOf(f.string)]),multiple:f.bool,preventDropOnDocument:f.bool,noClick:f.bool,noKeyboard:f.bool,noDrag:f.bool,noDragEventsBubbling:f.bool,minSize:f.number,maxSize:f.number,maxFiles:f.number,disabled:f.bool,getFilesFromEvent:f.func,onFileDialogCancel:f.func,onFileDialogOpen:f.func,useFsAccessApi:f.bool,onDragEnter:f.func,onDragLeave:f.func,onDragOver:f.func,onDrop:f.func,onDropAccepted:f.func,onDropRejected:f.func,validator:f.func};var Bt={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],fileRejections:[]};function Wt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=H(H({},Br),t),r=n.accept,i=n.disabled,o=n.getFilesFromEvent,l=n.maxSize,a=n.minSize,s=n.multiple,d=n.maxFiles,g=n.onDragEnter,c=n.onDragLeave,u=n.onDragOver,p=n.onDrop,b=n.onDropAccepted,v=n.onDropRejected,P=n.onFileDialogCancel,y=n.onFileDialogOpen,_=n.useFsAccessApi,T=n.preventDropOnDocument,D=n.noClick,m=n.noKeyboard,x=n.noDrag,j=n.noDragEventsBubbling,w=n.validator,C=h.useMemo(function(){return typeof y=="function"?y:rr},[y]),S=h.useMemo(function(){return typeof P=="function"?P:rr},[P]),R=h.useRef(null),I=h.useRef(null),M=h.useReducer(La,Bt),N=At(M,2),O=N[0],L=N[1],K=O.isFocused,xe=O.isFileDialogActive,fe=O.draggedFiles,B=function(){xe&&setTimeout(function(){if(I.current){var F=I.current.files;F.length||(L({type:"closeDialog"}),S())}},300)};h.useEffect(function(){return _&&tr()?function(){}:(window.addEventListener("focus",B,!1),function(){window.removeEventListener("focus",B,!1)})},[I,xe,S,_]);var z=h.useRef([]),$=function(F){R.current&&R.current.contains(F.target)||(F.preventDefault(),z.current=[])};h.useEffect(function(){return T&&(document.addEventListener("dragover",er,!1),document.addEventListener("drop",$,!1)),function(){T&&(document.removeEventListener("dragover",er),document.removeEventListener("drop",$))}},[R,T]);var Y=h.useCallback(function(k){k.preventDefault(),k.persist(),Ge(k),z.current=[].concat(_a(z.current),[k.target]),Qe(k)&&Promise.resolve(o(k)).then(function(F){dt(k)&&!j||(L({draggedFiles:F,isDragActive:!0,type:"setDraggedFiles"}),g&&g(k))})},[o,g,j]),Ce=h.useCallback(function(k){k.preventDefault(),k.persist(),Ge(k);var F=Qe(k);if(F&&k.dataTransfer)try{k.dataTransfer.dropEffect="copy"}catch{}return F&&u&&u(k),!1},[u,j]),Cn=h.useCallback(function(k){k.preventDefault(),k.persist(),Ge(k);var F=z.current.filter(function(re){return R.current&&R.current.contains(re)}),ee=F.indexOf(k.target);ee!==-1&&F.splice(ee,1),z.current=F,!(F.length>0)&&(L({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),Qe(k)&&c&&c(k))},[R,c,j]),qe=h.useCallback(function(k,F){var ee=[],re=[];k.forEach(function(le){var Ee=Ur(le,r),_e=At(Ee,2),jt=_e[0],wt=_e[1],Ct=zr(le,a,l),Ve=At(Ct,2),St=Ve[0],Dt=Ve[1],_t=w?w(le):null;if(jt&&St&&!_t)ee.push(le);else{var Rt=[wt,Dt];_t&&(Rt=Rt.concat(_t)),re.push({file:le,errors:Rt.filter(function(Jr){return Jr})})}}),(!s&&ee.length>1||s&&d>=1&&ee.length>d)&&(ee.forEach(function(le){re.push({file:le,errors:[ha]})}),ee.splice(0)),L({acceptedFiles:ee,fileRejections:re,type:"setFiles"}),p&&p(ee,re,F),re.length>0&&v&&v(re,F),ee.length>0&&b&&b(ee,F)},[L,s,r,a,l,d,p,b,v,w]),He=h.useCallback(function(k){k.preventDefault(),k.persist(),Ge(k),z.current=[],Qe(k)&&Promise.resolve(o(k)).then(function(F){dt(k)&&!j||qe(F,k)}),L({type:"reset"})},[o,qe,j]),Se=h.useCallback(function(){if(_&&tr()){L({type:"openDialog"}),C();var k={multiple:s,types:ja(r)};window.showOpenFilePicker(k).then(function(F){return o(F)}).then(function(F){return qe(F,null)}).catch(function(F){return S(F)}).finally(function(){return L({type:"closeDialog"})});return}I.current&&(L({type:"openDialog"}),C(),I.current.value=null,I.current.click())},[L,C,S,_,qe,r,s]),Sn=h.useCallback(function(k){!R.current||!R.current.isEqualNode(k.target)||(k.keyCode===32||k.keyCode===13)&&(k.preventDefault(),Se())},[R,I,Se]),Dn=h.useCallback(function(){L({type:"focus"})},[]),_n=h.useCallback(function(){L({type:"blur"})},[]),Rn=h.useCallback(function(){D||(ba()?setTimeout(Se,0):Se())},[I,D,Se]),De=function(F){return i?null:F},bt=function(F){return m?null:De(F)},Ke=function(F){return x?null:De(F)},Ge=function(F){j&&F.stopPropagation()},Yr=h.useMemo(function(){return function(){var k=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},F=k.refKey,ee=F===void 0?"ref":F,re=k.role,le=k.onKeyDown,Ee=k.onFocus,_e=k.onBlur,jt=k.onClick,wt=k.onDragEnter,Ct=k.onDragOver,Ve=k.onDragLeave,St=k.onDrop,Dt=ut(k,Sa);return H(H(Mt({onKeyDown:bt(ue(le,Sn)),onFocus:bt(ue(Ee,Dn)),onBlur:bt(ue(_e,_n)),onClick:De(ue(jt,Rn)),onDragEnter:Ke(ue(wt,Y)),onDragOver:Ke(ue(Ct,Ce)),onDragLeave:Ke(ue(Ve,Cn)),onDrop:Ke(ue(St,He)),role:typeof re=="string"&&re!==""?re:"button"},ee,R),!i&&!m?{tabIndex:0}:{}),Dt)}},[R,Sn,Dn,_n,Rn,Y,Ce,Cn,He,m,x,i]),Xr=h.useCallback(function(k){k.stopPropagation()},[]),Qr=h.useMemo(function(){return function(){var k=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},F=k.refKey,ee=F===void 0?"ref":F,re=k.onChange,le=k.onClick,Ee=ut(k,Da),_e=Mt({accept:r,multiple:s,type:"file",style:{display:"none"},onChange:De(ue(re,He)),onClick:De(ue(le,Xr)),autoComplete:"off",tabIndex:-1},ee,I);return H(H({},_e),Ee)}},[I,r,s,He,i]),Tn=fe.length,Pn=Tn>0&&xa({files:fe,accept:r,minSize:a,maxSize:l,multiple:s,maxFiles:d}),Zr=Tn>0&&!Pn;return H(H({},O),{},{isDragAccept:Pn,isDragReject:Zr,isFocused:K&&!i,getRootProps:Yr,getInputProps:Qr,rootRef:R,inputRef:I,open:De(Se)})}function La(t,n){switch(n.type){case"focus":return H(H({},t),{},{isFocused:!0});case"blur":return H(H({},t),{},{isFocused:!1});case"openDialog":return H(H({},Bt),{},{isFileDialogActive:!0});case"closeDialog":return H(H({},t),{},{isFileDialogActive:!1});case"setDraggedFiles":var r=n.isDragActive,i=n.draggedFiles;return H(H({},t),{},{draggedFiles:i,isDragActive:r});case"setFiles":return H(H({},t),{},{acceptedFiles:n.acceptedFiles,fileRejections:n.fileRejections});case"reset":return H({},Bt);default:return t}}function rr(){}const ir=50*1024,or=t=>new Promise((n,r)=>{const i=new FileReader;i.readAsText(t),i.onload=()=>{n(i.result)},i.onerror=o=>r(o)});function ar({certificate:t={},onRefresh:n,mode:r,...i}){const{t:o}=U(),{api:l}=Z(),[a,s]=h.useState(!1),[d,g]=h.useState(),[c,u]=h.useState(),[p,b]=h.useState(!1),[v,P]=h.useState(""),[y,_]=h.useState("upload"),{handleSubmit:T,formState:D,control:m}=Vt({defaultValues:{name:t.name||t.domain}}),x=Un({control:m,name:"name"}),j=Un({control:m,name:"domain"}),w=()=>a?!0:y==="upload"&&r==="update"?!x:y==="upload"&&r==="add"?!x||!d||!c:y==="lets_encrypt"&&!j,C=()=>{s(!1),b(!1)},S=async $=>{if(r==="add"){const Y=(await or(c)).replace(/\r\n/g,`
|
|
249
|
-
`),Ce=(await or(d)).replace(/\r\n/g,`
|
|
250
|
-
`);await l.addCertificate({input:{name:$.name.trim(),certificate:Y.split(`
|
|
251
|
-
`).join("|"),privateKey:Ce.split(`
|
|
252
|
-
`).join("|")}})}else await l.updateCertificate({input:{id:t.id,name:$.name.trim()}})},R=$=>l.issueLetsEncryptCert({input:{domain:$.domain}}),I={upload:{name:o("router.cert.nginx.sourceTypes.upload"),value:"upload",onSubmit:S},lets_encrypt:{name:o("router.cert.nginx.sourceTypes.lets_encrypt"),value:"lets_encrypt",onSubmit:R}},M=async $=>{s(!0);try{const Y=I[y];if(!Y)throw new Error("Invaid certificate source");await Y.onSubmit($),n(),b(!1)}catch(Y){P(he(Y)||"unknown error, may be you can check file permission")}finally{s(!1)}},N=()=>{g(null),u(null),b(!0),P("")},O=$=>{_($.target.value)},L=$=>{$.length>0&&P(te($[0],"errors[0].message",o("router.cert.add.invalidFile")))},{getRootProps:K,getInputProps:xe}=Wt({accept:[".pem",".crt"],multiple:!1,maxSize:ir,onDropRejected:L,onDrop:$=>{u($[0])}}),{getRootProps:fe,getInputProps:B}=Wt({accept:[".pem",".key"],multiple:!1,maxSize:ir,onDropRejected:L,onDrop:$=>{g($[0])}}),{errors:z}=D;return e.jsxs(e.Fragment,{children:[e.jsxs(X,{edge:"end",onClick:N,className:"rule-action",color:"primary","data-cy":"add-cert",...i,children:[a?e.jsx(V,{size:16}):e.jsx(Fe,{style:{fontSize:16}}),o(r==="add"?"common.add":"common.update")]}),p&&e.jsx(hr,{title:o(r==="add"?"router.cert.nginx.titleAdd":"router.cert.nginx.title"),open:!0,onClose:C,actions:e.jsxs(e.Fragment,{children:[e.jsx(X,{onClick:C,color:"inherit","data-cy":"cert-cancel",children:o("router.cert.nginx.cancel")}),e.jsxs(X,{onClick:T(M),color:"secondary",disabled:w(),variant:"contained",autoFocus:!0,"data-cy":"save-cert",children:[o("router.cert.nginx.confirm"),a&&e.jsx(V,{size:16})]})]}),children:e.jsx("form",{className:"form","data-cy":"cert-form",noValidate:!0,autoComplete:"off",onSubmit:T(M),children:e.jsxs(W,{minWidth:{sm:480},children:[e.jsxs($t,{component:"div",children:[r==="add"&&e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.source")}),e.jsx(br,{"aria-label":"cert-source",name:"certSource",value:y,onChange:O,children:Object.values(I).map($=>e.jsx(nt,{value:$.value,control:e.jsx(Nt,{}),label:$.name},$.value))})]}),y==="upload"&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.name")}),e.jsx(q,{name:"name",control:m,rules:{validate:$=>!!$.trim()||o("common.requiredErrorText",{name:o("router.cert.name")})},render:({field:{value:$,onChange:Y}})=>e.jsx(G,{fullWidth:!0,autoFocus:!0,defaultValue:$,onChange:Y,error:!!z.name,autoComplete:"off",variant:"outlined",name:"name",className:"form-item-value","data-cy":"certificate-name-textfield",helperText:z.name&&z.name.message})})]}),r==="add"&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.nginx.pem")}),e.jsx("div",{className:"form-item-value",children:e.jsxs("div",{...K({className:"dropzone"}),children:[e.jsx("input",{...xe(),"data-cy":"pem-input"}),c&&e.jsx(A,{color:"secondary",children:c.name}),!c&&e.jsx(A,{color:"secondary",children:o("router.cert.nginx.empty")}),e.jsx(A,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.pemTip")})]})})]}),e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.nginx.key")}),e.jsx("div",{className:"form-item-value",children:e.jsxs("div",{...fe({className:"dropzone"}),children:[e.jsx("input",{...B(),"data-cy":"key-input"}),d&&e.jsx(A,{color:"secondary",children:d.name}),!d&&e.jsx(A,{color:"secondary",children:o("router.cert.nginx.empty")}),e.jsx(A,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.keyTip")})]})})]})]})]}),y==="lets_encrypt"&&e.jsxs(e.Fragment,{children:[e.jsx("section",{className:"form-item",children:e.jsx(ve,{severity:"success",children:o("router.cert.genLetsEncryptCert.dnsTip")})}),e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("common.domain")}),e.jsx(q,{name:"domain",control:m,rules:{validate:$=>!!$.trim()||o("common.requiredErrorText",{name:o("common.domain")})},render:({field:{value:$,onChange:Y}})=>e.jsx(G,{fullWidth:!0,autoFocus:!0,defaultValue:$,error:!!z.domain,autoComplete:"off",variant:"outlined",className:"form-item-value",helperText:z.domain&&z.domain.message,onChange:Y})})]})]})]}),!!v&&e.jsx(ve,{severity:"error",style:{marginTop:8},children:v})]})})})]})}function Oa(t){const n=Ci(),{t:r}=U(),{api:i}=Z(),[o,l]=h.useState(!1),[a,s]=h.useState(null),{id:d,domain:g,onDelete:c=()=>{},...u}=t,{refresh:p}=de(),b=()=>{l(!1),s(null)},v=async()=>{l(!0);try{await i.deleteCertificate({input:{id:d}}),p(),c()}catch(y){console.error(y)}finally{l(!1),s(null)}},P={title:r("router.cert.delete.title"),description:r("router.cert.delete.description",{domain:g}),confirm:r("common.delConfirm"),cancel:r("common.cancel"),onConfirm:v,onCancel:b};return e.jsxs(e.Fragment,{children:[e.jsxs(X,{edge:"end",onClick:()=>s(P),size:"small",className:"rule-action",variant:"text","data-cy":"action-delete-cert",style:{color:n.palette.error.main},...u,children:[o?e.jsx(V,{size:16}):e.jsx(be,{style:{fontSize:16}}),r("common.delete")]}),a&&e.jsx(se,{title:a.title,description:a.description,confirm:a.confirm,cancel:a.cancel,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}var xn={},Fa=we;Object.defineProperty(xn,"__esModule",{value:!0});var Wr=xn.default=void 0,$a=Fa(je()),Na=e;Wr=xn.default=(0,$a.default)((0,Na.jsx)("path",{d:"M12 3 2 21h20zm1 5.92L18.6 19H13zm-2 0V19H5.4z"}),"Details");function qr(t){const{certificate:n={},...r}=t,{t:i,locale:o}=U(),[l,a]=h.useState(!1),s=Si(),d=()=>{a(!1)},g=[{id:"matchedSites",name:i("router.cert.matchedSites"),value:(n.matchedSites||[]).map(u=>e.jsx(A,{component:"div",style:{fontWeight:"inherit",fontSize:"1.1rem"},children:u.domain},u.id))},{id:"updatedAt",name:i("common.updatedAt"),value:$n(n.updatedAt,o)},{id:"createdAt",name:i("common.createdAt"),value:$n(n.createdAt,o)}],c=[{id:"boundDomains",name:i("router.cert.boundDomains"),value:e.jsx(A,{component:"span",style:{fontSize:"1.1rem"},children:(te(n,"sans")||[]).join(", ")})},{id:"issuer",name:i("common.issuer"),value:te(n,"meta.issuer.commonName","")},{id:"fingerprint",name:i("common.fingerprint"),value:te(n,"meta.fingerprint")},{id:"fingerprintAlg",name:i("router.cert.fingerprintAlg"),value:te(n,"meta.fingerprintAlg")},{id:"validityPeriod",name:i("router.cert.validityPeriod"),value:Di.duration(te(n,"meta.validityPeriod"),"ms").humanize()},{id:"issuedOn",name:i("router.cert.issuedOn"),value:rt(te(n,"meta.validFrom"),o)},{id:"expiryOn",name:i("router.cert.expiryOn"),value:rt(te(n,"meta.validTo"),o)}];return e.jsxs(e.Fragment,{children:[e.jsxs(X,{edge:"end",onClick:()=>a(!0),size:"small",className:"rule-action",variant:"text",color:"secondary","data-cy":"action-view-cert",...r,children:[e.jsx(Wr,{style:{fontSize:16}}),i("common.detail")]}),e.jsxs(hr,{title:i("router.cert.detail.title"),"aria-labelledby":"certificate details",fullWidth:!0,open:l,showCloseButton:!1,actions:e.jsx(X,{autoFocus:!0,variant:"contained",onClick:d,color:"secondary",children:i("common.close")}),children:[e.jsx($t,{component:"div",style:{margin:s.spacing(2)},children:g.map(u=>e.jsx(it,{nameWidth:200,valueComponent:"div",name:u.name,children:u.value},u.id))},"cert-basic"),e.jsx(Nn,{}),e.jsx($t,{component:"div",style:{margin:s.spacing(2)},children:c.map(u=>e.jsx(it,{nameWidth:200,valueComponent:"div",name:u.name,children:u.value},u.id))},"cer-info"),e.jsx(Nn,{})]})]})}qr.propTypes={certificate:f.object.isRequired};function yn(t){const{certificate:n,style:r,...i}=t,{t:o}=U(),[l,a]=h.useState(!1),s=n.matchedSites||[];return e.jsxs(A,{component:"ul",...i,style:{...r,listStyle:"none"},children:[(l?s:s.slice(0,4)).map(d=>e.jsx(A,{component:"li",style:{fontSize:"1.1rem",margin:"4px 0"},children:d.domain},d.id)),s.length>4&&e.jsx(X,{style:{border:"none",padding:"5px 0"},variant:"outlined",color:"primary",className:"button",onClick:()=>{a(!l)},children:o(l?"common.collapseAll":"common.expandAll")})]})}yn.propTypes={certificate:f.object.isRequired,style:f.object};yn.defaultProps={style:{}};const Ua=t=>{if(!t)return!1;const n=+new Date;return t-n<=0},sr="ssl-certificates-table";f.number;function It({name:t,value:n,style:r={},icon:i,...o}){return e.jsxs(za,{style:{display:"flex",alignItems:"center",...r},...o,children:[e.jsxs("span",{children:[t,":"]}),e.jsx("span",{children:n}),i&&i]})}const za=J.div`
|
|
253
|
-
& > span {
|
|
254
|
-
margin: 5px;
|
|
255
|
-
}
|
|
256
|
-
`;function vn({status:t,source:n,expiresTime:r}){const{t:i}=U();return Ua(r)?e.jsx(Xe,{type:"error",children:i("router.cert.expired")}):n==="upload"?e.jsx(Xe,{type:"success",children:i("common.normal")}):t==="error"?e.jsx(Xe,{type:"error",children:i("common.error")}):t==="generated"?e.jsx(Xe,{type:"success",children:i("common.normal")}):""}vn.propTypes={status:f.string,source:f.string,expiresTime:f.number.isRequired};vn.defaultProps={status:"",source:""};const Ma=(t,n)=>{if(!n)return t;const r=(n.site.domainAliases||[]).map(i=>i.value);return t.filter(i=>Ri(r,i.matchedSites))};function Ba(){var c;const{t,locale:n}=h.useContext(qt),{api:r}=Z(),o=_i().get("did"),l=Ue(async()=>{const{certificates:u}=await r.getCertificates();let p=null;if(o){const{blocklet:v}=await r.getBlocklet({input:{did:o,attachRuntimeInfo:!0}});p=v}return{certificates:Ma(u,p)}}),a=()=>{l.retry()},s=(c=l.value)==null?void 0:c.certificates,d=[{label:t("common.certificate"),name:"",verticalKeyAlign:"center",options:{sort:!1,filter:!1,customBodyRenderLite:u=>{const p=s[u];return e.jsxs(e.Fragment,{children:[p.name&&e.jsx(It,{nowrap:!0,style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.name"),value:p.name}),e.jsx(It,{style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.issuer"),value:te(p,"meta.issuer.commonName","")}),e.jsx(It,{style:{fontSize:"16px",whiteSpace:"nowrap"},icon:e.jsx(me,{title:p.isProtected?t("router.cert.protectedCertHelperText"):t("router.cert.unprotectedCertHelperText"),children:e.jsx(Ie,{style:{fontSize:"18px"},color:"secondary"})}),name:t("common.protected"),value:p.isProtected?t("common.yes"):t("common.no")})]})}}},{label:t("router.cert.boundDomains"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:u=>{const p=s[u];return e.jsx(A,{noWrap:!0,component:"ul",style:{listStyle:"none"},children:[...new Set([...te(p,"meta.sans")||[],p.domain])].map(b=>e.jsx(A,{component:"li",title:b,style:{fontSize:"1.1rem",minWidth:200,whiteSpace:"initial",wordBreak:"break-all"},children:b},b))})}}},{label:t("router.cert.source"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:u=>{const p=s[u];return t(`router.cert.sourceTypes.${p.source}`)}}},{label:t("common.status"),name:"",width:100,options:{sort:!1,filter:!1,customBodyRenderLite:u=>{const p=s[u];return e.jsx(vn,{status:p.status,source:p.source,expiresTime:te(p,"meta.validTo")})}}},{label:t("common.expires"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:u=>{const p=s[u];return e.jsx(ur,{value:te(p,"meta.validTo"),locale:n})}}},{label:t("router.cert.matchedSites"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:u=>{const p=s[u];return e.jsx(yn,{id:p.id,certificate:p,style:{minWidth:200,whiteSpace:"initial",wordBreak:"break-all"}})}}},{label:t("router.cert.action"),name:"",align:"center",options:{sort:!1,filter:!1,customBodyRenderLite:u=>{const p=s[u];return e.jsx(ne,{permission:"mutate_router",children:e.jsxs(e.Fragment,{children:[!p.isProtected&&e.jsxs(e.Fragment,{children:[p.source==="upload"&&e.jsx("div",{children:e.jsx(ar,{mode:"update",certificate:p,onRefresh:a})}),e.jsx("div",{children:e.jsx(Oa,{id:p.id,domain:p.domain,onDelete:a})})]}),e.jsx("div",{children:e.jsx(qr,{id:p.id,certificate:p})})]})})}}}];if(l.error)return e.jsx(ve,{severity:"error",children:he(l.error)});if(l.loading)return e.jsx(V,{});const g=Ii(sr);return e.jsx(Wa,{children:e.jsx(yr,{title:e.jsx(ne,{permission:"mutate_router",children:e.jsx(ar,{mode:"add",onRefresh:a,variant:"contained"})}),locale:n,data:l.value.certificates,columns:d,verticalKeyWidth:100,durable:sr,options:{search:!1,download:!1,filter:!1,print:!1,...g}})})}const Wa=J.div`
|
|
257
|
-
.header {
|
|
258
|
-
display: flex;
|
|
259
|
-
justify-content: flex-end;
|
|
260
|
-
align-items: center;
|
|
261
|
-
margin-top: 20px;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
margin-bottom: 24px;
|
|
265
|
-
.table-cell {
|
|
266
|
-
span {
|
|
267
|
-
font-size: 18px;
|
|
268
|
-
}
|
|
269
|
-
@media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
|
|
270
|
-
span {
|
|
271
|
-
font-size: 15px;
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
.match-sites-cell,
|
|
276
|
-
.expires-cell {
|
|
277
|
-
min-width: 100px;
|
|
278
|
-
}
|
|
279
|
-
.actions {
|
|
280
|
-
text-align: center;
|
|
281
|
-
@media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
|
|
282
|
-
.MuiButton-root {
|
|
283
|
-
padding: 6px;
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
`,lr="[a-fA-F\\d:]",ge=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${lr})|(?<=${lr})(?=\\s|$))`:"",ce="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Q="[a-fA-F\\d]{1,4}",gt=`
|
|
288
|
-
(?:
|
|
289
|
-
(?:${Q}:){7}(?:${Q}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
290
|
-
(?:${Q}:){6}(?:${ce}|:${Q}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
|
|
291
|
-
(?:${Q}:){5}(?::${ce}|(?::${Q}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
|
|
292
|
-
(?:${Q}:){4}(?:(?::${Q}){0,1}:${ce}|(?::${Q}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
|
|
293
|
-
(?:${Q}:){3}(?:(?::${Q}){0,2}:${ce}|(?::${Q}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
|
|
294
|
-
(?:${Q}:){2}(?:(?::${Q}){0,3}:${ce}|(?::${Q}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
|
|
295
|
-
(?:${Q}:){1}(?:(?::${Q}){0,4}:${ce}|(?::${Q}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
296
|
-
(?::(?:(?::${Q}){0,5}:${ce}|(?::${Q}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
297
|
-
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
298
|
-
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),qa=new RegExp(`(?:^${ce}$)|(?:^${gt}$)`),Ha=new RegExp(`^${ce}$`),Ka=new RegExp(`^${gt}$`),bn=t=>t&&t.exact?qa:new RegExp(`(?:${ge(t)}${ce}${ge(t)})|(?:${ge(t)}${gt}${ge(t)})`,"g");bn.v4=t=>t&&t.exact?Ha:new RegExp(`${ge(t)}${ce}${ge(t)}`,"g");bn.v6=t=>t&&t.exact?Ka:new RegExp(`${ge(t)}${gt}${ge(t)}`,"g");var Hr=bn;const jn=Hr,Te=t=>jn({exact:!0}).test(t);Te.v4=t=>jn.v4({exact:!0}).test(t);Te.v6=t=>jn.v6({exact:!0}).test(t);Te.version=t=>Te(t)?Te.v4(t)?4:6:void 0;var Ga=Te;const Ze=xr(Ga);var ht={exports:{}},xt={exports:{}};const Kr=Hr,wn={exact:!1},yt=`${Kr.v4().source}\\/(3[0-2]|[12]?[0-9])`,vt=`${Kr.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,Va=new RegExp(`^${yt}$`),Ya=new RegExp(`^${vt}$`),Xa=new RegExp(`(?:^${yt}$)|(?:^${vt}$)`);xt.exports=({exact:t}=wn)=>t?Xa:new RegExp(`(?:${yt})|(?:${vt})`,"g");xt.exports.v4=({exact:t}=wn)=>t?Va:new RegExp(yt,"g");xt.exports.v6=({exact:t}=wn)=>t?Ya:new RegExp(vt,"g");var Qa=xt.exports;const{v4:Za,v6:Ja}=Qa,Gr=Za({exact:!0}),Vr=Ja({exact:!0});ht.exports=t=>Gr.test(t)?4:Vr.test(t)?6:0;ht.exports.v4=t=>Gr.test(t);ht.exports.v6=t=>Vr.test(t);var es=ht.exports;const Je=xr(es),et=Gi(t=>({root:{color:t.palette.primary.main,height:8,marginLeft:8},thumb:{height:24,width:24,backgroundColor:"#fff",border:"2px solid currentColor","&:focus, &:hover, &$active":{boxShadow:"inherit"}},valueLabel:{left:"calc(-50% + 4px)"},track:{height:8,borderRadius:4},rail:{height:8,borderRadius:4}}))(Ui);function ts(){const{info:{routing:t},api:n}=Z(),{t:r,locale:i}=U(),[o,l]=h.useState(!1),a=t.requestLimit||{};typeof a.enabled!="boolean"&&(a.enabled=!1),typeof a.rate!="number"&&(a.rate=E.GATEWAY_REQ_LIMIT.min),a.ipHeader||(a.ipHeader="");const s=t.blockPolicy||{};typeof s.enabled!="boolean"&&(s.enabled=!1),s.blacklist||(s.blacklist=[]);const d=t.proxyPolicy||{};typeof d.enabled!="boolean"&&(d.enabled=!1),typeof d.trustRecursive!="boolean"&&(d.trustRecursive=!1),d.trustedProxies||(d.trustedProxies=["0.0.0.0/0"]),d.realIpHeader||(d.realIpHeader="X-Forwarded-For");const g=t.wafPolicy||{};typeof g.enabled!="boolean"&&(g.enabled=!1),g.mode||(g.mode="DetectionOnly"),g.inboundAnomalyScoreThreshold||(g.inboundAnomalyScoreThreshold=20),g.outboundAnomalyScoreThreshold||(g.outboundAnomalyScoreThreshold=10),g.logLevel||(g.logLevel=0);const{handleSubmit:c,control:u,watch:p}=Vt({defaultValues:{requestLimit:a,blockPolicy:s,proxyPolicy:d,cacheEnabled:typeof t.cacheEnabled=="boolean"?t.cacheEnabled:!0,wafPolicy:g}}),b=p("requestLimit.enabled"),v=p("requestLimit.rate"),P=p("blockPolicy.enabled"),y=p("proxyPolicy.enabled"),_=p("proxyPolicy.trustRecursive"),T=p("wafPolicy.enabled"),D=async m=>{try{l(!0);const{blacklist:x}=m.blockPolicy;x.forEach(w=>{if(!Ze.v4(w)&&!Je.v4(w)&&!gr(w)&&!Ze.v6(w)&&!Je.v6(w))throw new Error(r("router.gateway.blockPolicy.invalidItem"))});const{trustedProxies:j}=m.proxyPolicy;j.forEach(w=>{if(!Ze.v4(w)&&!Je.v4(w)&&!Ze.v6(w)&&!Je.v6(w))throw new Error(r("router.gateway.proxyPolicy.invalidItem"))}),await n.updateGateway({input:m}),await dr(1e3),ae.success(r("common.saveSuccess"))}catch(x){ae.error(he(x))}finally{l(!1)}};return e.jsx(ns,{children:e.jsx(ne,{permission:"mutate_node",children:m=>e.jsxs(Jt,{className:"form",noValidate:!0,autoComplete:"off",onSubmit:c(D),children:[e.jsx(q,{name:"cacheEnabled",control:u,render:({field:{value:x,onChange:j}})=>e.jsx(oe,{checked:x,disabled:!m,onChange:w=>j(w.target.checked),labelProps:{label:e.jsx(A,{children:r("router.gateway.cacheEnabled.switchLabel")})},style:{marginTop:16}})}),e.jsx(q,{name:"requestLimit.enabled",control:u,render:({field:{value:x,onChange:j}})=>e.jsx(oe,{checked:x,disabled:!m,onChange:w=>j(w.target.checked),labelProps:{label:e.jsx(A,{children:r("router.gateway.reqLimit.switchLabel")})},style:{marginTop:16}})}),b&&e.jsx(W,{sx:{pl:3,mt:1,width:"100%"},children:e.jsxs("div",{className:"form-item",children:[e.jsx(A,{id:"request-limit-rate-label",gutterBottom:!0,children:r("router.gateway.reqLimit.rate",{rate:v})}),e.jsx(q,{name:"requestLimit.rate",control:u,render:({field:{value:x,onChange:j}})=>e.jsx(et,{disabled:!m,onChange:(w,C)=>j(C),defaultValue:x,valueLabelDisplay:"auto",step:1,min:E.GATEWAY_REQ_LIMIT.min,max:E.GATEWAY_REQ_LIMIT.max})})]})}),e.jsx(q,{name:"blockPolicy.enabled",control:u,render:({field:{value:x,onChange:j}})=>e.jsx(oe,{checked:x,disabled:!m,onChange:w=>j(w.target.checked),labelProps:{label:e.jsx(A,{children:r("router.gateway.blockPolicy.switchLabel")})},style:{marginTop:16}})}),P&&e.jsx(W,{sx:{pl:3,mt:1,width:"100%"},children:e.jsx(q,{name:"blockPolicy.blacklist",control:u,render:({field:{value:x,onChange:j}})=>{const w=()=>{j([...x||[],""])},C=R=>{const I=[...x];I.splice(R,1),j(I)},S=(R,I)=>{const M=[...x];M[R]=I,j(M)};return e.jsxs("div",{style:{width:"100%"},children:[e.jsx(pe,{children:r("router.gateway.blockPolicy.blacklistDesc")}),(x||[]).map((R,I)=>e.jsx("div",{style:{display:"flex",gap:"8px",marginBottom:"8px"},children:e.jsx(G,{variant:"outlined",size:"small",disabled:o||!m,style:{flex:1},value:R,onChange:M=>S(I,M.target.value),placeholder:r("router.gateway.blockPolicy.inputPlaceholder"),InputProps:{endAdornment:e.jsx(Ot,{disabled:o||!m,onClick:()=>C(I),size:"small",color:"error",children:e.jsx(be,{})})}})},`blacklist-item-${I}`)),e.jsx(X,{disabled:o||!m,onClick:w,color:"primary",variant:"outlined",startIcon:e.jsx(Fe,{}),style:{marginTop:"8px"},children:r("router.gateway.blockPolicy.addItem")})]})}})}),e.jsx(q,{name:"proxyPolicy.enabled",control:u,render:({field:{value:x,onChange:j}})=>e.jsx(oe,{checked:x,disabled:!m,onChange:w=>j(w.target.checked),labelProps:{label:e.jsx(A,{children:r("router.gateway.proxyPolicy.switchLabel")})},style:{marginTop:16}})}),y&&e.jsxs(W,{sx:{pl:3,mt:1,width:"100%"},children:[e.jsx(q,{name:"proxyPolicy.realIpHeader",control:u,render:({field:{value:x,onChange:j}})=>e.jsxs(W,{children:[e.jsx(pe,{id:"proxy-policy-real-ip-header-desc",children:r("router.gateway.proxyPolicy.realIpHeaderDesc")}),e.jsx(G,{variant:"outlined",fullWidth:!0,size:"small",disabled:o||!m,value:x,onChange:j})]})}),e.jsx(q,{name:"proxyPolicy.trustRecursive",control:u,render:({field:{value:x,onChange:j}})=>e.jsxs(W,{sx:{mt:2},children:[e.jsx(pe,{id:"proxy-policy-real-ip-header-desc",children:r("router.gateway.proxyPolicy.trustRecursiveDesc")}),e.jsx(oe,{checked:x,disabled:!m,onChange:w=>j(w.target.checked),labelProps:{label:e.jsx(A,{children:r("router.gateway.proxyPolicy.trustRecursive")})}})]})}),_&&e.jsx(q,{name:"proxyPolicy.trustedProxies",control:u,render:({field:{value:x,onChange:j}})=>{const w=()=>{j([...x||[],""])},C=R=>{const I=[...x];I.splice(R,1),j(I)},S=(R,I)=>{const M=[...x];M[R]=I,j(M)};return e.jsxs(W,{sx:{width:"100%",mt:2},children:[e.jsx(pe,{children:r("router.gateway.proxyPolicy.trustedProxiesDesc")}),(x||[]).map((R,I)=>e.jsx("div",{style:{display:"flex",gap:"8px",marginBottom:"8px"},children:e.jsx(G,{variant:"outlined",size:"small",disabled:o||!m,style:{flex:1},value:R,onChange:M=>S(I,M.target.value),placeholder:r("router.gateway.proxyPolicy.inputPlaceholder"),InputProps:{endAdornment:e.jsx(Ot,{disabled:o||!m,onClick:()=>C(I),size:"small",color:"error",children:e.jsx(be,{})})}})},`trusted-proxy-item-${I}`)),e.jsx(X,{disabled:o||!m,onClick:w,color:"primary",variant:"outlined",startIcon:e.jsx(Fe,{}),style:{marginTop:"8px"},children:r("router.gateway.proxyPolicy.addItem")})]})}})]}),e.jsx(q,{name:"wafPolicy.enabled",control:u,render:({field:{value:x,onChange:j}})=>e.jsx(oe,{checked:x,disabled:!m,onChange:w=>j(w.target.checked),labelProps:{label:e.jsx(A,{children:r("router.gateway.wafPolicy.switchLabel")})},style:{marginTop:16}})}),T&&e.jsxs(W,{sx:{pl:3,mt:1,width:"100%"},children:[e.jsx(q,{name:"wafPolicy.mode",control:u,render:({field:{value:x,onChange:j}})=>e.jsxs(W,{children:[e.jsxs(pe,{id:"waf-policy-mode-desc",children:[r("router.gateway.wafPolicy.modeDesc")," ",e.jsx(Gt,{href:`https://www.arcblock.io/docs/blocklet-developer/${i}/enable-web-application-firewall`,target:"_blank",children:r("router.gateway.wafPolicy.docDesc")})]}),e.jsxs(Ti,{variant:"outlined",fullWidth:!0,size:"small",disabled:o||!m,value:x,onChange:j,children:[e.jsx(ie,{value:"DetectionOnly",children:r("router.gateway.wafPolicy.mode.detectOnly")}),e.jsx(ie,{value:"On",children:r("router.gateway.wafPolicy.mode.on")})]})]})}),e.jsxs(W,{sx:{mt:2},children:[e.jsx(pe,{id:"waf-policy-inbound-anomaly-score-threshold-desc",children:r("router.gateway.wafPolicy.inboundAnomalyScoreThresholdDesc")}),e.jsx(q,{name:"wafPolicy.inboundAnomalyScoreThreshold",control:u,render:({field:{value:x,onChange:j}})=>e.jsx(et,{disabled:!m,onChange:(w,C)=>j(C),defaultValue:x,valueLabelDisplay:"auto",step:1,min:1,max:100})})]}),e.jsxs(W,{sx:{mt:2},children:[e.jsx(pe,{id:"waf-policy-outbound-anomaly-score-threshold-desc",children:r("router.gateway.wafPolicy.outboundAnomalyScoreThresholdDesc")}),e.jsx(q,{name:"wafPolicy.outboundAnomalyScoreThreshold",control:u,render:({field:{value:x,onChange:j}})=>e.jsx(et,{disabled:!m,onChange:(w,C)=>j(C),defaultValue:x,valueLabelDisplay:"auto",step:1,min:1,max:100})})]}),e.jsxs(W,{sx:{mt:2},children:[e.jsx(pe,{id:"waf-policy-log-level-desc",children:r("router.gateway.wafPolicy.logLevelDesc")}),e.jsx(q,{name:"wafPolicy.logLevel",control:u,render:({field:{value:x,onChange:j}})=>e.jsx(et,{disabled:!m,onChange:(w,C)=>j(C),defaultValue:x,valueLabelDisplay:"auto",step:1,min:0,max:9})})]})]}),e.jsx("div",{className:"form-actions",children:m&&e.jsxs(X,{disabled:o,onClick:c(D),color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[r("common.save")," ",o&&e.jsx(V,{size:16})]})})]})})})}const ns=J.div`
|
|
299
|
-
display: flex;
|
|
300
|
-
align-items: flex-start;
|
|
301
|
-
width: 100%;
|
|
302
|
-
max-width: 720px;
|
|
303
|
-
`;function Ms(){const t=mr(),{node:n}=h.useContext(Pi),{t:r}=h.useContext(qt),{tab:i="basic"}=ki(),o=d=>{t(`/settings/${d}`)},l=[{label:r("common.basic"),value:"basic"},{label:r("router.routerSetting"),value:"router"},{label:r("router.certSetting"),value:"cert"},{label:r("common.gateway"),value:"gateway"},{label:r("common.webhook"),value:"integration"},{label:r("common.about"),value:"about"}],a={basic:co,integration:go,about:Po,router:e.jsx(Bn,{children:e.jsx(Ko,{})}),gateway:ts,cert:e.jsx(Bn,{children:e.jsx(Ba,{})})},s=a[i]||a.basic;return e.jsxs(rs,{children:[e.jsx(A,{component:"h2",variant:"h4",className:"page-header",color:"textPrimary",children:r("common.setting")}),e.jsxs(e.Fragment,{children:[e.jsx(Ei,{tabs:l,current:i,onChange:o,scrollButtons:"auto"}),e.jsx("div",{className:"page-content",children:h.isValidElement(s)?s:e.jsx(s,{node:n})})]})]})}const rs=J.main`
|
|
304
|
-
.page-header {
|
|
305
|
-
display: flex;
|
|
306
|
-
justify-content: space-between;
|
|
307
|
-
align-items: center;
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
.page-content {
|
|
311
|
-
margin-top: 16px;
|
|
312
|
-
}
|
|
313
|
-
`;export{Ms as default};
|