@abtnode/webapp 1.16.25 → 1.16.26-beta-bdd2d7c0
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/build/asset-manifest.json +47 -47
- package/build/index.html +1 -1
- package/build/service-worker.js +1 -1
- package/build/static/js/1059.cd52ca65.chunk.js +1 -0
- package/build/static/js/{1371.384ff23d.chunk.js → 1371.c21feb0c.chunk.js} +1 -1
- package/build/static/js/1575.eebd3dd7.chunk.js +1 -0
- package/build/static/js/{1667.dc49a80d.chunk.js → 1667.34ff0c47.chunk.js} +1 -1
- package/build/static/js/1846.6e3f3612.chunk.js +1 -0
- package/build/static/js/2019.2d3a40ae.chunk.js +1 -0
- package/build/static/js/{2098.6c45c749.chunk.js → 2098.a38c7200.chunk.js} +1 -1
- package/build/static/js/{2183.ddd3936e.chunk.js → 2183.0f4144d9.chunk.js} +1 -1
- package/build/static/js/2264.f2eb6130.chunk.js +1 -0
- package/build/static/js/233.a4c19158.chunk.js +1 -0
- package/build/static/js/2611.b0ece77c.chunk.js +1 -0
- package/build/static/js/{2960.b8de1df9.chunk.js → 2960.ba10b91c.chunk.js} +1 -1
- package/build/static/js/{3389.83a58684.chunk.js → 3389.7f3e3f8a.chunk.js} +1 -1
- package/build/static/js/3803.df3cb936.chunk.js +1 -0
- package/build/static/js/3930.31250151.chunk.js +1 -0
- package/build/static/js/4423.0b4a3962.chunk.js +1 -0
- package/build/static/js/4465.d622f2c2.chunk.js +1 -0
- package/build/static/js/{4549.40b371f5.chunk.js → 4549.40465785.chunk.js} +1 -1
- package/build/static/js/{4550.6398038b.chunk.js → 4550.b2afea4a.chunk.js} +1 -1
- package/build/static/js/{4775.bc1f9bc3.chunk.js → 4775.6cffbd67.chunk.js} +1 -1
- package/build/static/js/4906.9b6bdc77.chunk.js +1 -0
- package/build/static/js/{5059.963d527c.chunk.js → 5059.af256250.chunk.js} +1 -1
- package/build/static/js/{5526.09906842.chunk.js → 5526.1aec6323.chunk.js} +2 -2
- package/build/static/js/{5672.c3cf88bf.chunk.js → 5672.12d96543.chunk.js} +1 -1
- package/build/static/js/5748.12e93155.chunk.js +1 -0
- package/build/static/js/5979.a7c1a387.chunk.js +1 -0
- package/build/static/js/{6230.a542a601.chunk.js → 6230.4c0db690.chunk.js} +1 -1
- package/build/static/js/6471.cc995637.chunk.js +1 -0
- package/build/static/js/6511.94eda291.chunk.js +1 -0
- package/build/static/js/670.cc95cf88.chunk.js +1 -0
- package/build/static/js/{6743.fc32eb89.chunk.js → 6743.f19f7583.chunk.js} +2 -2
- package/build/static/js/6906.244f97fe.chunk.js +1 -0
- package/build/static/js/{6931.fa818149.chunk.js → 6931.3b4c19d0.chunk.js} +1 -1
- package/build/static/js/6944.d847d48d.chunk.js +1 -0
- package/build/static/js/{7022.76c60285.chunk.js → 7022.7b668dae.chunk.js} +1 -1
- package/build/static/js/7534.58ee2840.chunk.js +1 -0
- package/build/static/js/8170.38d0b64e.chunk.js +1 -0
- package/build/static/js/{8219.bc63e11b.chunk.js → 8219.0110ce93.chunk.js} +1 -1
- package/build/static/js/8427.b510fa70.chunk.js +2 -0
- package/build/static/js/8590.f59207df.chunk.js +1 -0
- package/build/static/js/9041.62504f43.chunk.js +1 -0
- package/build/static/js/{2677.491ccc30.chunk.js → 9237.82494039.chunk.js} +2 -2
- package/build/static/js/9552.d10aac40.chunk.js +1 -0
- package/build/static/js/9586.efb66311.chunk.js +1 -0
- package/build/static/js/main.914d9380.js +2 -0
- package/build/static/js/{main.20a607fe.js.LICENSE.txt → main.914d9380.js.LICENSE.txt} +8 -5
- package/package.json +1 -1
- package/build/static/js/1059.446f653a.chunk.js +0 -1
- package/build/static/js/1575.9889e444.chunk.js +0 -1
- package/build/static/js/1846.8091d9b8.chunk.js +0 -1
- package/build/static/js/2019.c4e134a4.chunk.js +0 -1
- package/build/static/js/233.5cf94cae.chunk.js +0 -1
- package/build/static/js/2365.a3571172.chunk.js +0 -1
- package/build/static/js/2611.4eb6822b.chunk.js +0 -1
- package/build/static/js/3217.ca7a654b.chunk.js +0 -1
- package/build/static/js/3803.a22da8fb.chunk.js +0 -1
- package/build/static/js/3930.5079b881.chunk.js +0 -1
- package/build/static/js/4423.fc17ebc1.chunk.js +0 -1
- package/build/static/js/4465.88a081e5.chunk.js +0 -1
- package/build/static/js/4906.0bf02a4f.chunk.js +0 -1
- package/build/static/js/5748.d017d106.chunk.js +0 -1
- package/build/static/js/5979.73ce82e4.chunk.js +0 -1
- package/build/static/js/6511.6b799f59.chunk.js +0 -1
- package/build/static/js/670.6c2a6ee0.chunk.js +0 -1
- package/build/static/js/6906.6c830eaf.chunk.js +0 -1
- package/build/static/js/6944.ac06ea4a.chunk.js +0 -1
- package/build/static/js/7534.ea3b613f.chunk.js +0 -1
- package/build/static/js/8170.4ad15204.chunk.js +0 -1
- package/build/static/js/8427.9d00acc3.chunk.js +0 -2
- package/build/static/js/8590.f6c87639.chunk.js +0 -1
- package/build/static/js/9041.a5b13c5d.chunk.js +0 -1
- package/build/static/js/9552.be5312c3.chunk.js +0 -1
- package/build/static/js/9586.e21d0d28.chunk.js +0 -1
- package/build/static/js/main.20a607fe.js +0 -2
- /package/build/static/css/{2677.bceba133.chunk.css → 9237.bceba133.chunk.css} +0 -0
- /package/build/static/js/{5526.09906842.chunk.js.LICENSE.txt → 5526.1aec6323.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{6743.fc32eb89.chunk.js.LICENSE.txt → 6743.f19f7583.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{8427.9d00acc3.chunk.js.LICENSE.txt → 8427.b510fa70.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{2677.491ccc30.chunk.js.LICENSE.txt → 9237.82494039.chunk.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_abtnode_webapp=self.webpackChunk_abtnode_webapp||[]).push([[5059],{43120:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r.Z});var r=n(70461)},30756:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r.Z});var r=n(71363)},7199:(e,t,n)=>{"use strict";n.d(t,{V:()=>r.V,Z:()=>r.Z});var r=n(63406)},24138:(e,t,n)=>{"use strict";n.d(t,{BZ:()=>g,ZN:()=>y});var r=n(5057),i=n(6352),a=n.n(i),o=n(35432),l=n(49714),s=n(41365),c=n.n(s),d=n(32243),m=n.n(d),u=n(68420),p=n(14491);const f=m()((e=>c()(a()(new URL(e).origin,o.WELLKNOWN_PING_PREFIX)))),h={};function x(e){let{urls:t,checkAccessible:n=c(),disableCache:i=!1}=e;const a=(0,r.useRef)(t.filter((e=>h[e])).map((e=>h[e]))),o=a.current.length===t.length,[s,d]=(0,r.useState)(o?a.current:[]),[m,u]=(0,r.useState)(!o),p=(0,r.useMemo)((()=>!m&&s.length?s[0]:null),[s,m]);return(0,r.useEffect)((()=>{if((null===t||void 0===t?void 0:t.length)>0&&!o){(async()=>{let e;if(u(!0),i)e=await(0,l.evaluateURLs)(t,{checkAccessible:n}),e.forEach((e=>{h[e.url]=e}));else{(await(0,l.evaluateURLs)(t.filter((e=>!h[e])),{checkAccessible:n})).forEach((e=>{h[e.url]=e})),e=t.map((e=>h[e])).sort(((e,t)=>t.score-e.score))}d(e),u(!1)})()}}),[t,i,o]),{urlsState:s,loading:m,recommendedUrlState:p,recommendedUrl:null===p||void 0===p?void 0:p.url}}function g(e){const{locale:t}=(0,r.useContext)(u.RD),n=(0,r.useMemo)((()=>e?(0,p.A6)({blocklet:e,params:(0,p.f0)(e,t)}):[]),[e,t]),{loading:i,recommendedUrlState:a,recommendedUrl:o}=x({urls:n,checkAccessible:f});return{urls:n,loading:i,recommendedUrlState:a,recommendedUrl:o}}function y(e){const t=(0,r.useMemo)((()=>e.map((e=>(0,p.Sk)(e)))),[e]),{urlsState:n,loading:i,recommendedUrl:a}=x({urls:t,checkAccessible:f});let o;if(i)o={domainsAccessibility:e.reduce(((e,t)=>({...e,[t]:{loading:!0}})),{}),recommendedDomain:null};else{var l;const e=n.reduce(((e,t)=>{const n=new URL(t.url).hostname;return e[n]={...t,domain:n},e}),{}),t=(null===(l=n.find((e=>e.accessible)))||void 0===l?void 0:l.url)||a;o={domainsAccessibility:e,recommendedDomain:t?new URL(t).hostname:null}}return o}},55059:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>ur});var r=n(71171),i=n(5057),a=n(33518),o=n(85493),l=n(11750),s=n(94464),c=n(68420),d=n(62219),m=n.n(d),u=n(74511),p=n(57156),f=n.n(p),h=n(35432),x=n(14491),g=n(4651),y=n(33234),j=n(75793),v=n(10155),b=n(74094),Z=n(96266);const C="Dashboard",w=(0,i.createContext)({}),{Provider:P,Consumer:E}=w,S=[C,h.DOMAIN_FOR_IP_SITE,h.DOMAIN_FOR_IP_SITE_REGEXP],_=(e,t)=>{if(e.name===h.DOMAIN_FOR_DEFAULT_SITE)return-1;if(t.name===h.DOMAIN_FOR_DEFAULT_SITE)return 1;const n=S.includes(e.name),r=S.includes(t.name);return n&&r?(0,b.W8)(e.name,t.name):n?-1:r?1:(0,b.W8)(e.name,t.name)},T=e=>{let{sites:t,nodePort:n}=e;const r=window.location.host,i=(t||[]).map((e=>{const{id:t,rules:i=[],corsAllowedOrigins:a=[]}=e;let{domain:o,domainAliases:l}=e;l=l||[],[h.DOMAIN_FOR_IP_SITE,h.DOMAIN_FOR_IP_SITE_REGEXP].includes(o)&&(o=C,l.find((e=>e.value===r))||l.unshift({protected:!1,value:r}));const s={id:t,name:o,type:"domain",items:[],domainAliases:l,isProtected:e.isProtected,corsAllowedOrigins:a};return(i||[]).forEach((e=>{const{id:t,isProtected:r,from:{pathPrefix:i},to:a}=e;if(a.type===h.ROUTING_RULE_TYPES.BLOCKLET){let e="";Number.parseInt(a.port,10)===Number.parseInt(n,10)?(e="Blocklet Server Dashboard",a.type=h.ROUTING_RULE_TYPES.DAEMON):e=a.did,s.items.push({id:t,name:f()(i||"/"),title:e,type:"rule",isProtected:r,pathPrefix:i,to:a})}else s.items.push({id:t,pathPrefix:i,name:f()(i||"/"),title:"Blocklet Server Dashboard",type:"rule",isProtected:r,to:a})})),s.items=m()(s.items,(e=>e.name)),s})).sort(_),a=i.reduce(((e,t)=>{let{name:n}=t;return n.endsWith(h.BLOCKLET_SITE_GROUP_SUFFIX)&&([n]=n.split(".")),e[n]={...t,rules:t.items},e}),{});return{sites:i,siteMap:a}},R=function(){let{did:e,domain:t,mountPoint:n,siteMap:r,params:i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r)return null;const a=r[e];if(!a)return null;const o=t||(a.domainAliases||[])[0];if(!o)return null;let l=n;if(!l){const e=a.rules.filter((e=>!e.name.startsWith(h.WELLKNOWN_PATH_PREFIX)))[0];l=e?e.name:"/"}return(0,x.Sk)(o.value,l,i)},k=function(){let{did:e,mountPoint:t,siteMap:n,params:r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!n)return[];const i=n[e];if(!i)return[];const a=i.domainAliases||[];if(!a.length)return[];let o=t;if(!o){const e=i.rules.filter((e=>!e.name.startsWith(h.WELLKNOWN_PATH_PREFIX)))[0];o=e?e.name:"/"}return a.map((e=>(0,x.Sk)(e.value,o,r)))},N=e=>{const t=e.map((e=>e.domain)).filter((e=>![h.DOMAIN_FOR_IP_SITE_REGEXP,h.DOMAIN_FOR_DEFAULT_SITE].includes(e)));let n=[];return e.forEach((e=>n.push(...e.domainAliases||[]))),n=n.map((e=>"string"===typeof e?{value:e,isProtected:!1}:e)),{domains:t,domainsAliases:n}};function A(e){let{children:t}=e;const n=(0,v.Z)(),{info:r}=(0,j.h6)(),[a,o]=(0,i.useState)([]),[l,s]=(0,i.useState)([]),[c,d]=(0,i.useState)([]),m=(0,u.Z)((async()=>{const{sites:e}=await n.getRoutingSites({input:{snapshotHash:""}}),t=e||[];await Promise.all(t.map((async e=>(e.domainAliases=await(0,g.Q6)(e.domainAliases,{getIP:y.Z}),e))));const r=N(t);o(t),s(r.domains),d([window.location.hostname,...r.domains,...r.domainsAliases.map((e=>e.value))])}),[r]),p=(e,t)=>{o((n=>n.map((n=>n.id===e?t.domain?t:{...t,domain:n.domain}:n))))},f={loading:m.loading,error:m.error,refresh:m.retry,api:n,actions:{addSite:async e=>{const t=await n.addRoutingSite({input:e});o(a.concat(t.site))},updateSite:async(e,t)=>{const r=await n.updateRoutingSite({input:{id:e,...t}});if(r.site&&r.site.id){const e=a.findIndex((e=>e.id===r.site.id));-1!==e&&(a.splice(e,1,r.site),o([].concat(a)))}},deleteSite:async e=>{await n.deleteRoutingSite({input:{id:e}}),o(a.filter((t=>t.id!==e)))},addDomainAlias:async(e,t,r)=>{const i=await n.addDomainAlias({input:{id:e,domainAlias:t,force:r}});p(e,i.site)},deleteDomainAlias:async(e,t)=>{const r=await n.deleteDomainAlias({input:{id:e,domainAlias:t}});p(e,r.site)},takeSnapshot:e=>n.takeRoutingSnapshot({input:{dryRun:!1,message:encodeURIComponent(e)}}),addRule:async(e,t)=>{const{site:r}=await n.addRoutingRule({input:{id:e,rule:t}});p(e,r)},updateRule:async(e,t)=>{const{site:r}=await n.updateRoutingRule({input:{id:e,rule:t}});p(e,r)},deleteRule:async(e,t)=>{const{site:r}=await n.deleteRoutingRule({input:{id:e,ruleId:t}});p(e,r)}}},{sites:h,siteMap:x}=T({sites:a,nodePort:r.port});return f.sites=h,f.siteMap=x,f.domains=l,f.allDomains=c,f.getBlockletUrl=e=>{let{did:t,domain:n,mountPoint:r,params:i}=e;return R({did:t,domain:n,mountPoint:r,siteMap:f.siteMap,params:i})},f.getBlockletUrls=e=>{let{did:t,mountPoint:n,params:r}=e;return k({did:t,mountPoint:n,siteMap:f.siteMap,params:r})},(0,Z.jsx)(P,{value:{routing:f},children:t})}function L(){const{routing:e}=(0,i.useContext)(w);return e}function U(e){const t=[h.DOMAIN_FOR_IP_SITE_REGEXP,h.DOMAIN_FOR_DEFAULT_SITE,h.DOMAIN_FOR_IP_SITE];return"undefined"!==typeof window&&"undefined"!==typeof window.location&&t.push(window.location.hostname),t.includes(e)}var I,D=n(39948),O=n(55673),F=n(49390),z=n(86229),B=n(28726),M=n(80506),W=n(47020),G=n(88574),q=n(44846),Y=n(44784),K=n(24065),H=n(43120);function V(){return null}function Q(e){let{confirm:t}=e;const[n,r]=(0,i.useState)(null),{t:a}=(0,c.PE)();return(0,Z.jsxs)(X,{children:[(0,Z.jsx)(V,{message:function(e){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];let l="function"===typeof t?t(e,...i):t;return!l||("string"===typeof l&&(l={description:l}),r({title:a("common.noticeTitle"),description:a("common.leavePageTip"),confirm:a("common.confirm"),cancel:a("common.cancel"),onConfirm:()=>(async e=>{if(e){let t=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";"/"===t?K.Z.push("".concat(e.pathname)):(t.endsWith("/")&&(t=t.substring(0,t.length-1)),K.Z.push("".concat(t).concat(e.pathname))),window.location.reload()}})(e),onCancel:()=>{r(null)},...l}),!1)}}),n&&(0,Z.jsx)(H.Z,{title:n.title,description:n.description,confirm:n.confirm,cancel:n.cancel,params:n.params,onConfirm:n.onConfirm,onCancel:n.onCancel})]})}Q.defaultProps={confirm:null};const X=a.Z.div(I||(I=(0,r.Z)(["\n margin-bottom: 24px;\n .top-btns-alert {\n @media (max-width: ","px) {\n flex-direction: column;\n padding-bottom: 15px;\n padding-right: 20px;\n }\n }\n .top-btns-action {\n @media (max-width: ","px) {\n margin-right: 0px;\n }\n }\n"])),(e=>e.theme.breakpoints.values.sm),(e=>e.theme.breakpoints.values.sm));var J,$=n(7199);function ee(e){let{children:t,...n}=e;return(0,Z.jsx)(te,{children:(0,Z.jsx)("form",{...n,children:t})})}const te=a.Z.div(J||(J=(0,r.Z)(["\n width: 100%;\n\n form {\n width: 100%;\n flex: 1;\n display: flex;\n flex-direction: column;\n\n .form-submit {\n margin-top: 32px;\n margin-right: 32px;\n width: 180px;\n }\n\n .form-actions {\n display: flex;\n @media (max-width: ","px) {\n flex-direction: column;\n width: 100%;\n button {\n width: 100%;\n margin-right: 0;\n }\n }\n }\n\n .form-item {\n margin-top: 16px;\n margin-right: 0;\n }\n }\n"])),(e=>e.theme.breakpoints.values.sm));var ne;const re=e=>({name:e.name,description:e.description,registerUrl:e.registerUrl,webWalletUrl:e.webWalletUrl,nftDomainUrl:e.nftDomainUrl,diskAlertThreshold:e.diskAlertThreshold,enableWelcomePage:!1,enableBetaRelease:!1});function ie(e){let{onSaved:t,title:n,submit:r,disabled:a,...o}=e;const s=(0,j.h6)(),{t:d}=(0,c.PE)(),{control:m,handleSubmit:u,formState:p,reset:f}=(0,M.cI)({defaultValues:re(s.info)}),[x,g]=(0,i.useState)(""),[y,C]=(0,i.useState)(""),[w,P]=(0,i.useState)(!1),[E,S]=(0,i.useState)(s.info.autoUpgrade),[_,T]=(0,i.useState)(!!s.info.enableWelcomePage),[R,k]=(0,i.useState)(!!s.info.enableBetaRelease);(0,i.useEffect)((()=>{let e="";(p.isDirty||E!==s.info.autoUpgrade||_!==!!s.info.enableWelcomePage)&&(e=d("setting.unSavedTip")),C(e)}),[d,s,E,_,p]);const N=async e=>{g(""),P(!0);try{const n=await(0,v.Z)().updateNodeInfo({input:{...e,name:e.name.trim(),description:e.description.trim(),registerUrl:e.registerUrl.trim(),webWalletUrl:e.webWalletUrl.trim(),diskAlertThreshold:e.diskAlertThreshold,autoUpgrade:E,enableWelcomePage:_,enableBetaRelease:R}});await(0,b._v)(1e3),f(re(n.info)),"function"===typeof t&&t(n)}catch(n){g((0,b.Z)(n))}finally{P(!1)}},{errors:A}=p;return(0,Z.jsxs)(ae,{...o,children:[(0,Z.jsxs)(ee,{noValidate:!0,autoComplete:"off",onSubmit:u(N),children:[!!n&&(0,Z.jsx)(l.Z,{component:"h2",variant:"h5",className:"stepper-tip",children:n}),(0,Z.jsx)($.Z,{permission:"mutate_node",children:e=>{var t;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(M.Qr,{name:"name",control:m,rules:{validate:e=>!!e.trim()||d("setting.form.nameRequired")},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.name"),placeholder:d("setting.form.namePlaceholder"),disabled:w||!e,"data-cy":"node-name-input",error:A.name&&!!A.name.message,helperText:A.name?A.name.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"description",control:m,rules:{validate:e=>!!e.trim()||d("setting.form.descriptionRequired")},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.description"),placeholder:d("setting.form.descriptionHolder"),disabled:w||!e,"data-cy":"node-description-input",error:A.description&&!!A.description.message,helperText:A.description?A.description.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"registerUrl",control:m,rules:{},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.registerUrl"),placeholder:d("setting.form.registerUrlPlaceholder"),disabled:w||!e,error:A.registerUrl&&!!A.registerUrl.message,helperText:A.registerUrl?A.registerUrl.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"nftDomainUrl",control:m,rules:{},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.nftDomainUrl"),placeholder:d("setting.form.nftDomainUrlPlaceholder"),disabled:w||!e,error:A.nftDomainUrl&&!!A.nftDomainUrl.message,helperText:A.nftDomainUrl?A.nftDomainUrl.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"webWalletUrl",control:m,rules:{},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.webWalletUrl"),placeholder:d("setting.form.webWalletUrlPlaceholder"),disabled:w||!e,error:A.webWalletUrl&&!!A.webWalletUrl.message,helperText:A.webWalletUrl?A.webWalletUrl.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"diskAlertThreshold",control:m,rules:{},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{type:"number",variant:"outlined",label:d("setting.form.monitor.diskThreshold"),placeholder:d("setting.form.monitor.diskThresholdPlaceholder"),disabled:w||!e,error:A.diskAlertThreshold&&!!A.diskAlertThreshold.message,inputProps:{min:1,max:99},helperText:A.diskAlertThreshold?A.diskAlertThreshold.message:"",margin:"normal",...n})}}),(0,Z.jsx)(Y.Z,{checked:E,onChange:()=>S(!E),name:"autoUpgrade",disabled:!e,labelProps:{label:(0,Z.jsx)(l.Z,{children:(0,Z.jsx)("span",{children:d("setting.form.upgrade.switchLabel")})})},style:{marginTop:20}}),E&&(0,Z.jsx)(Y.Z,{checked:R,onChange:()=>k(!R),name:"enableBetaRelease",disabled:!e,labelProps:{label:(0,Z.jsx)(l.Z,{children:(0,Z.jsx)("span",{children:d("setting.form.upgrade.enableBetaRelease")})})},style:{marginTop:20}}),(null===(t=s.info)||void 0===t?void 0:t.mode)!==h.NODE_MODES.SERVERLESS&&(0,Z.jsx)(Y.Z,{checked:_,onChange:()=>T(!_),name:"enableWelcomePage",disabled:!e,labelProps:{label:(0,Z.jsx)(l.Z,{children:(0,Z.jsx)("span",{children:d("setting.form.welcome.switchLabel")})})},style:{marginTop:16}})]})}}),!!y&&(0,Z.jsx)(G.Z,{type:"warning",variant:"icon",children:y}),(0,Z.jsx)("div",{className:"form-actions",children:(0,Z.jsx)($.Z,{permission:"mutate_node",children:(0,Z.jsxs)(B.Z,{onClick:u(N),disabled:a||w,color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[r," ",w?(0,Z.jsx)(q.Z,{size:16}):null]})})}),!!x&&(0,Z.jsx)(G.Z,{type:"error",variant:"icon",error:x,children:x})]}),y&&(0,Z.jsx)(Q,{confirm:d("setting.unSavedLeaveTip")})]})}ie.defaultProps={disabled:!1};const ae=a.Z.div(ne||(ne=(0,r.Z)(["\n display: flex;\n align-items: flex-start;\n width: 100%;\n max-width: 720px;\n"])));var oe;function le(){const{refresh:e,info:t}=(0,j.h6)(),{t:n}=(0,c.PE)(),[r,a]=(0,i.useState)(!1);(0,i.useEffect)((()=>{e({silent:!0})}),[]);return(0,Z.jsx)(se,{children:(0,Z.jsxs)(D.Z,{mb:4,children:[(0,Z.jsx)(ie,{onSaved:()=>{e({silent:!0}),z.Z.success(n("setting.saveSuccess"))},submit:n("common.saveChanges"),title:""}),(0,Z.jsx)(D.Z,{mt:6,style:{marginLeft:-8},children:(0,Z.jsxs)(B.Z,{onClick:()=>{a((e=>!e))},children:[n("common.readMore"),r?(0,Z.jsx)(O.Z,{}):(0,Z.jsx)(F.Z,{})]})}),r&&(0,Z.jsxs)(D.Z,{fontSize:12,color:"text.secondary",children:[(0,Z.jsxs)(D.Z,{children:[n("dashboard.runtimeConfig.blockletMaxMemoryLimit"),": ",t.runtimeConfig.blockletMaxMemoryLimit," MB"]}),(0,Z.jsxs)(D.Z,{children:[n("dashboard.runtimeConfig.daemonMaxMemoryLimit"),": ",t.runtimeConfig.daemonMaxMemoryLimit," MB"]}),(0,Z.jsxs)(D.Z,{children:[n("dashboard.runtimeConfig.proxyMaxMemoryLimit"),": ",t.runtimeConfig.proxyMaxMemoryLimit," MB"]})]})]})})}const se=a.Z.div(oe||(oe=(0,r.Z)(["\n .eula-btn {\n text-decoration-line: underline;\n margin-top: 32px;\n margin-bottom: 32px;\n }\n\n .danger-zone {\n margin-top: 1vw;\n width: 100%;\n max-width: 720px;\n }\n"])));var ce,de,me,ue=n(93938),pe=n(49384),fe=n(75760),he=n(33271),xe=n(84639),ge=n(27773),ye=n(30756);function je(e){const{t:t}=(0,c.PE)(),[n,r]=(0,i.useState)(!1),[a,o]=(0,i.useState)(null),{item:l,onDelete:s=(()=>{})}=e,{id:d,title:m}=l,u=(0,v.Z)(),p={keyName:d,title:t("setting.webhook.delTitle"),description:"".concat(t("setting.webhook.description",{name:"<b>".concat(m,"</b>"),id:"<b>".concat(d,"</b>")})),confirmPlaceholder:t("setting.webhook.confirm_desc",{name:d}),confirm:t("common.delConfirm"),cancel:t("common.cancel"),onConfirm:async()=>{r(!0);try{await u.deleteWebHook({input:{id:d}}),s()}catch(e){console.error(e)}finally{r(!1),o(null)}},onCancel:()=>{r(!1),o(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(B.Z,{edge:"end",onClick:()=>o(p),size:"small",className:"rule-action",color:"error",children:[n?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:16}}),t("common.delete")]}),a&&(0,Z.jsx)(ye.Z,{keyName:a.keyName,title:a.title,description:a.description,confirmPlaceholder:a.confirmPlaceholder,confirm:a.confirm,cancel:a.cancel,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}function ve(){const{api:e,imgPrefix:t}=(0,j.h6)(),{t:n,locale:r}=(0,i.useContext)(c.RD),[a,o]=(0,i.useState)([]),[l,s]=(0,i.useState)(null),d=(0,u.Z)((async()=>{const[{webhooks:t},{senders:n}]=await Promise.all([e.getWebHooks(),e.getWebhookSenders()]);return o(n),t})),m=d.value||[],{loading:p,error:f}=d,h=()=>{s(null)},x=t=>{const r={title:t.title,description:(e,t,r)=>{const i=e.list||[];return(0,Z.jsx)(be,{children:i.map(((e,a)=>(0,Z.jsx)(Ze,{children:(0,Z.jsx)(W.Z,{label:e.description,autoComplete:"off",variant:"outlined",inputProps:{"data-cy":"webhook-input"},fullWidth:!0,autoFocus:!0,style:{marginBottom:16},margin:"dense",value:e.value||e.defaultValue,onChange:o=>{e.required&&(e.disable=!0);const l=o.target.value.trim();var s;e.value=l,i[a]=e,l?(0,b.rg)(e.type,l)?(e.disable=!1,r("")):(e.disable=!0,r(n("setting.webhook.requiredError",{type:e.type}))):(e.required&&(e.disable=!0),r("")),s=[...i],t({list:s,__disableConfirm:s.some((e=>e.disable))})}})},e.name)))})},params:{list:t.params,__disableConfirm:!0},confirm:n("setting.webhook.add"),cancel:n("common.cancel"),onConfirm:n=>{t.params=n.list,(async t=>{try{await e.createWebHook({input:t}),d.retry()}catch(n){z.Z.error((0,b.Z)(n),{autoHideDuration:4e3}),console.error("create webhook error",n)}s(null)})(t)},onCancel:h};s(r)},g=e=>"slack"===e.type?(0,Z.jsx)("img",{src:"".concat(t,"/").concat(e.type,".png"),alt:"icon",style:{width:20,height:20}}):(0,Z.jsx)(he.Z,{}),y=[{label:n("setting.webhook.columns.description"),name:"id",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:e=>{const t=m[e],n=a.find((e=>e.name===t.name));return(0,Z.jsxs)("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:[g(t),(0,Z.jsxs)("div",{style:{marginLeft:10},children:[(0,Z.jsxs)("b",{children:["ID: ",t.id]}),(0,Z.jsx)("div",{children:n?n.description:null})]})]})}}},{label:n("setting.webhook.columns.params"),name:"params",options:{sort:!1,customBodyRenderLite:e=>{const t=m[e].params.map((e=>(0,Z.jsx)("div",{children:e.value})));return(0,Z.jsx)("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:t})}}},{label:n("setting.webhook.columns.createdAt"),name:"createdAt",options:{customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(pe.Z,{value:Number(t.createdAt),locale:r})}}},{label:n("common.actions"),align:"center",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:t=>{const r=m[t],i=a.find((e=>e.name===r.name))||{};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(je,{item:{...r,title:i.title},onDelete:()=>{d.retry()}}),(0,Z.jsxs)(B.Z,{size:"small",color:"secondary",onClick:()=>{(async t=>{const n={webhookId:t.id,message:"This is a test notification in order to test the integration"};await e.sendTestMessage({input:n})})(r)},children:[(0,Z.jsx)(Ce,{}),n("setting.webhook.test")]})]})}}}];if(!m.length&&p)return(0,Z.jsx)("div",{style:{textAlign:"center",marginTop:"50px"},children:(0,Z.jsx)(q.Z,{})});if(!m.length&&f)return(0,Z.jsx)(ue.Z,{severity:"error",children:(0,b.Z)(f)});const v=a.map((e=>({icon:g(e),title:"".concat(n("common.add")," ").concat(e.title),onClick:()=>{x(e)}})));return(0,Z.jsxs)(be,{children:[l&&(0,Z.jsx)(H.Z,{color:"primary",title:l.title,description:l.description,confirm:l.confirm,params:l.params,onConfirm:l.onConfirm,onCancel:l.onCancel}),(0,Z.jsx)(fe.Z,{columns:y,data:m,locale:r,customButtons:v,verticalKeyWidth:100,options:{download:!1,filter:!1,print:!1}})]})}je.defaultProps={onDelete:()=>{}};const be=a.Z.div(ce||(ce=(0,r.Z)(["\n .button-addon {\n text-align: right;\n }\n\n .add-list {\n width: 420px;\n max-width: calc(100vw - 10px);\n text-align: left;\n background: #fff;\n border-radius: 5px;\n }\n"]))),Ze=a.Z.div(de||(de=(0,r.Z)(["\n display: flex;\n"]))),Ce=(0,a.Z)(xe.Z)(me||(me=(0,r.Z)(["\n font-size: 16px !important;\n margin-right: 3px;\n"])));var we,Pe,Ee=n(43681),Se=n.n(Ee),_e=n(64886),Te=n(19778),Re=n(17450),ke=n(52581);function Ne(e){let{title:t,description:n,children:r}=e;return(0,Z.jsxs)(Ae,{children:[(0,Z.jsxs)(l.Z,{component:"div",className:"danger-item-info",children:[(0,Z.jsx)(l.Z,{className:"title",component:"h3",variant:"h6",color:"textPrimary",gutterBottom:!0,children:t}),(0,Z.jsx)(l.Z,{className:"desc",component:"p",variant:"body1",color:"textSecondary",children:n})]}),(0,Z.jsx)(l.Z,{component:"div",className:"danger-item-action",children:r})]})}const Ae=a.Z.div(we||(we=(0,r.Z)(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n .danger-item-info {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n .title {\n word-break: break-word;\n }\n .desc {\n word-break: break-word;\n }\n }\n\n .danger-item-action {\n width: 160px;\n flex-shrink: 0;\n text-align: right;\n cursor: pointer;\n @media (max-width: ","px) {\n width: auto;\n margin-left: 10px;\n }\n }\n"])),(e=>e.theme.breakpoints.values.sm));function Le(e){let{children:t,...n}=e;return(0,Z.jsx)(Ue,{...n,children:t})}const Ue=a.Z.div(Pe||(Pe=(0,r.Z)(["\n border: 1px solid #dedede;\n padding: 16px;\n"])));function Ie(e){let{action:t}=e;const{t:n}=(0,c.PE)(),{info:r,api:a}=(0,j.h6)(),[o,l]=(0,i.useState)(!1),[s,d]=(0,i.useState)(null);if("upgrade"===t&&!r.nextVersion)return null;const m={title:n("setting.form.".concat(t,".title"),{version:r.nextVersion}),description:n("setting.form.".concat(t,".dialog")),confirm:n("common.confirm"),cancel:n("common.cancel"),onConfirm:async()=>{try{l(!0),"upgrade"===t&&await a.upgradeNodeVersion(),"restart"===t&&await a.restartServer()}catch(e){z.Z.error((0,b.Z)(e))}finally{l(!1),d(null)}},onCancel:()=>{l(!1),d(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Le,{className:"danger-zone",children:(0,Z.jsx)(Ne,{title:n("setting.form.".concat(t,".title"),{version:r.nextVersion}),description:n("setting.form.".concat(t,".description")),children:(0,Z.jsxs)(B.Z,{onClick:()=>d(m),color:"error",variant:"outlined",size:"large",children:[o?(0,Z.jsx)(q.Z,{size:16,style:{marginRight:3}}):null,n("setting.form.".concat(t,".confirm"))]})})}),s&&(0,Z.jsx)(H.Z,{title:s.title,description:s.description,confirm:s.confirm,cancel:s.cancel,onConfirm:s.onConfirm,onCancel:s.onCancel})]})}var De=n(67654),Oe=n(74976),Fe=n(39067),ze=n(24103);function Be(){const{t:e}=(0,c.PE)(),{api:t}=(0,j.h6)(),[n,r]=(0,i.useState)(!1),[a,o]=(0,i.useState)(null),[s,d]=(0,De.Z)("last-check-server-version-time"),m=()=>{r(!1),o(null)},u={title:e("setting.form.upgrade.check"),description:e("setting.form.upgrade.latest"),confirm:e("common.confirm"),showCancel:!1,color:"primary",onConfirm:m,onCancel:m},p=async e=>{try{r(!0);const{version:n}=await t.checkNodeVersion();!n&&e&&o(u),d(Date.now())}catch(n){console.error("Failed to check new version: ".concat(n.message))}finally{r(!1)}};return(0,i.useEffect)((()=>{(!s||Date.now()-Number(s)>6e4)&&p(!1)}),[]),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Fe.Z,{sx:{ml:2},color:"primary",variant:"outlined",onClick:p,size:"small",loadingPosition:"end",loading:n,children:(0,Z.jsxs)(ze.Z,{direction:"row",alignItems:"center",spacing:.5,children:[(0,Z.jsx)(Oe.Z,{fontSize:"small"}),(0,Z.jsx)(l.Z,{component:"span",children:e("server.checkUpgrade")})]})}),a&&(0,Z.jsx)(H.Z,{title:a.title,description:a.description,confirm:a.confirm,showCancel:a.showCancel,color:a.color,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}var Me=n(78410);function We(){const{t:e}=(0,c.PE)(),{info:t}=(0,j.h6)();return(0,Z.jsx)(Le,{className:"danger-zone",children:(0,Z.jsx)(Ne,{title:e("blocklet.config.clearCache.name"),description:e("blocklet.config.clearCache.purpose"),children:(0,Z.jsx)(Me.Z,{teamDid:t.did,size:"large"})})})}var Ge,qe=n(26796),Ye=n(94874),Ke=n.n(Ye);const He="z8iZkFBbrVQxZHvcWWB3Sa2TrfGmSeFz9MSU7";function Ve(){const{t:e,locale:t}=(0,c.PE)(),{info:n}=(0,j.h6)(),r=(0,i.useRef)(null),a=(0,g.RU)(n),[o,l]=(0,i.useState)(!1),s=(0,i.useRef)(null),[d,m]=(0,i.useState)({}),{createdAt:u,did:p,description:f,name:h}=n,x=(0,i.useMemo)((()=>(0,b.i7)()),[]),y=(0,qe.default)((async()=>{var e;let{registerUrl:t}=n;localStorage.getItem("__registerUrl")&&(t=localStorage.getItem("__registerUrl"));const r=new URL(t);r.pathname="__blocklet__.js",r.searchParams.set("type","json");const{data:i}=await Ke().get(r.toString()),a=null===i||void 0===i||null===(e=i.componentMountPoints)||void 0===e?void 0:e.find((e=>e.did===He)),o=new URL(t);return o.pathname=(null===a||void 0===a?void 0:a.mountPoint)||"",o.toString()})),v={did:p,name:h,createdAt:u,description:f,url:a},C=(0,i.useMemo)((()=>d.type&&"notAdded"!==d.type),[d]),w=(0,i.useMemo)((()=>o?e("setting.form.register.detecting"):"update"===d.type?e("setting.form.register.update"):e(C?"setting.form.register.added":"setting.form.register.btn")),[o,d,t]),P=(0,i.useMemo)((()=>"update"!==d.type&&!!C),[d]),E=()=>{clearTimeout(s.current),l(!1),x&&r.current.contentWindow.postMessage({...v,action:"queryRegisterInfo"},"*")};if((0,i.useEffect)((()=>{let t;return window.addEventListener("message",t=t=>{const{data:n}=t;"launcher init"===n?E():"registerNode"===(null===n||void 0===n?void 0:n.action)&&(m(n),"addSucceed"===n.type&&z.Z.success(e("setting.form.register.addSucceed")),"updateSucceed"===n.type&&z.Z.success(e("setting.form.register.updateSucceed")))}),x&&(l(!0),s.current=setTimeout((()=>{z.Z.error(e("setting.form.register.timeout")),l(!1)}),6e3)),()=>{window.removeEventListener("message",t),clearTimeout(s.current)}}),[]),y.loading)return"";const S=y.value,_=x?(0,Z.jsx)(B.Z,{disabled:P,loading:o,onClick:()=>{r.current.contentWindow.postMessage({...v,action:"registerNode"},"*")},color:"primary",variant:"contained",size:"large",children:w}):(0,Z.jsx)(B.Z,{color:"primary",loading:o,component:"a",href:"".concat(S,"?register-server=").concat(encodeURIComponent(JSON.stringify(v))),target:"_blank",variant:"contained",size:"large",children:e("setting.form.register.btn")});return(0,Z.jsxs)(Qe,{children:[(0,Z.jsx)(Le,{className:"danger-zone",children:(0,Z.jsx)(Ne,{title:e(C?"setting.form.register.titleAdded":"setting.form.register.title"),description:e(C?"setting.form.register.descriptionOnAdded":"setting.form.register.description",{url:S}),children:_})}),x&&(0,Z.jsx)("iframe",{ref:r,src:"".concat(S,"?register-detect=1"),title:"register",style:{display:"none"}})]})}const Qe=a.Z.div(Ge||(Ge=(0,r.Z)(["\n .danger-zone {\n margin-top: 1vw;\n width: 100%;\n }\n"])));var Xe;function Je(){const e=(0,o.useNavigate)(),{api:t,info:n}=(0,j.h6)(),{t:r}=(0,c.PE)(),i=(0,u.Z)((async()=>{const e=await t.getNodeEnv();return Object.assign({},e.info||{})})),a=[];return a.push({name:r("dashboard.nodeDid"),value:(0,Z.jsx)(Re.Z,{did:n.did,showQrcode:!0})},n.nodeOwner?{name:r("dashboard.ownerDid"),value:(0,Z.jsx)(Re.Z,{did:n.nodeOwner.did,showQrcode:!0})}:null,{name:r("dashboard.routingEngine"),value:n.routing.provider}),i.value&&a.push({name:"".concat(r("common.os")),value:i.value.os},i.value.docker?{name:"".concat(r("common.docker")),value:(0,Z.jsx)(Te.Z,{type:"success",children:"Yes"})}:null,i.value.gitpod?{name:"".concat(r("common.gitpod")),value:(0,Z.jsx)(Te.Z,{type:"success",children:"Yes"})}:null),Array.isArray(Se()(i,"value.blockletEngines",null))&&i.value.blockletEngines.filter((e=>e.visible&&e.available)).forEach((e=>{a.push({name:e.displayName,value:e.version})})),(0,Z.jsxs)($e,{children:[(0,Z.jsx)($.Z,{permission:"mutate_node",children:e=>(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(D.Z,{display:"flex",alignItems:"center",style:{marginBottom:24},children:[(0,Z.jsx)(D.Z,{width:50,height:50,children:(0,Z.jsx)("img",{src:ke.Z,height:50,alt:""})}),(0,Z.jsxs)(D.Z,{ml:2,children:[(0,Z.jsx)("h2",{style:{margin:0},children:n.name}),(0,Z.jsx)("p",{style:{margin:0,color:"#888"},children:n.description})]})]}),(0,Z.jsxs)(_e.Z,{style:{marginBottom:4},valueComponent:"div",nameWidth:150,name:r("common.version"),children:[n.version,e&&(0,Z.jsx)(Be,{})]},"version"),a.filter(Boolean).map((e=>(0,Z.jsx)(_e.Z,{valueComponent:"div",nameWidth:150,name:e.name,children:e.value},e.name))),e&&(0,Z.jsx)("div",{style:{maxWidth:720,marginBottom:"1vw"},children:(0,Z.jsx)(Ie,{action:"upgrade"})})]})}),(0,Z.jsx)($.Z,{permission:"mutate_node",children:e=>e&&(0,Z.jsx)("div",{style:{maxWidth:720,marginBottom:"1vw"},children:(0,Z.jsx)(Ie,{action:"restart"})})}),(0,Z.jsx)($.Z,{permission:"mutate_router",children:e=>e&&(0,Z.jsx)("div",{style:{maxWidth:720,marginBottom:"1vw"},children:(0,Z.jsx)(We,{})})}),(0,Z.jsx)($.Z,{permission:"mutate_blocklets",children:!!n.registerUrl&&(0,Z.jsx)("div",{style:{maxWidth:720,marginTop:"-1vw"},children:(0,Z.jsx)(Ve,{})})}),(0,Z.jsx)(D.Z,{mt:10,style:{marginLeft:-8},children:(0,Z.jsx)(B.Z,{className:"eula-btn",onClick:()=>{e("/eula")},children:r("common.goEULA")})})]})}const $e=a.Z.div(Xe||(Xe=(0,r.Z)(["\n display: flex;\n flex-direction: column;\n margin-top: 32px;\n"])));var et=n(19577),tt=n(44919),nt=n(52926),rt=n(34937),it=n(24138);const at=(0,i.createContext)({}),{Provider:ot,Consumer:lt}=at;function st(e){let{children:t,domains:n}=e;const r=(0,v.Z)(),a=JSON.stringify(n),[o,l]=(0,i.useState)({}),s=(0,i.useMemo)((()=>n.filter((e=>(0,b.rM)(e)))),[a]);(0,rt.mU)(h.EVENTS.DOMAIN_STATUS,(e=>{e&&l((t=>({...t,[e.domain]:{...t[e.domain],...e}})))}));const{domainsAccessibility:c,recommendedDomain:d}=(0,it.ZN)(s),m=(0,i.useMemo)((()=>{const e={...o};return Object.keys(c).forEach((t=>{const n=e[t]||{};e[t]={...n,...c[t]}})),e}),[o,c]),u=()=>{s.length>0&&r.checkDomains({input:{domains:s}})};(0,i.useEffect)((()=>{u()}),[s]);const p={refresh:u,updateStatus:e=>{e&&r.checkDomains({input:{domains:[e]}})},api:r,status:m,recommendedDomain:d,recommendedDomainStatus:m[d]};return(0,Z.jsx)(ot,{value:p,children:t})}function ct(){const{status:e,recommendedDomainStatus:t,recommendedDomain:n,updateStatus:r}=(0,i.useContext)(at);return{status:e,recommendedDomainStatus:t,recommendedDomain:n,updateStatus:r}}var dt=n(53906),mt=n(74490),ut=n(77277),pt=n(81010);const ft=e=>(Se()(e,"meta.interfaces")||[]).find((e=>e.type===ut.BLOCKLET_INTERFACE_TYPE_WEB));function ht(e){let{params:t,blocklets:n,setParams:r,setError:a,serviceTypes:o}=e;const{t:l}=(0,c.PE)(),s={301:l("common.redirectPermanently"),302:l("common.redirectTemporary"),307:l("common.redirectTemporary"),308:l("common.redirectPermanently")},d=m()(n,(e=>e.meta.name)),u=(e,n)=>{if(!n)return{};let{port:r}=e;n&&e.ports&&n.port&&(e.ports[n.port]&&(r=e.ports[n.port]),e.ports[n.port.internal]&&(r=e.ports[n.port.internal]));let{pathPrefix:i}=t;return n&&n.prefix!==ut.BLOCKLET_DYNAMIC_PATH_PREFIX&&(i=n.prefix),{port:r,pathPrefix:i}},p=e=>{const t=d.find((t=>t.meta.did===e)),n=ft(t);return{...u(t,n),interfaceName:n?n.name:""}};return(0,i.useEffect)((()=>{t.interfaceName||t.type!==h.ROUTING_RULE_TYPES.BLOCKLET||r({...t,...p(t.did),__disableConfirm:!1})}),[]),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(W.Z,{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:e=>{a(""),r({...t,type:e.target.value,__disableConfirm:!1})},style:{marginBottom:32},SelectProps:{},children:o.map((e=>{let{name:t,value:n}=e;return(0,Z.jsx)(mt.Z,{value:n,children:t},n)}))}),t.type===h.ROUTING_RULE_TYPES.BLOCKLET&&(0,Z.jsxs)(W.Z,{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:e=>{r({...t,...p(e.target.value),did:e.target.value,__disableConfirm:!1})},style:{marginBottom:32},children:[d.map((e=>(0,Z.jsxs)(mt.Z,{value:e.meta.did,children:["".concat(e.meta.name," v").concat(e.meta.version),(0,Z.jsx)("span",{style:{marginLeft:8},children:(0,Z.jsx)(pt.Z,{status:e.status,progress:e.progress})})]},e.meta.did))),0===n.length&&(0,Z.jsx)(mt.Z,{value:"",children:l("common.empty")},"empty")]}),t.type===h.ROUTING_RULE_TYPES.REDIRECT&&[(0,Z.jsx)(W.Z,{select:!0,label:l("router.domain.add.redirect"),autoComplete:"off",variant:"outlined",name:"type",fullWidth:!0,value:t.redirectCode,onChange:e=>r({...t,redirectCode:e.target.value}),style:{marginBottom:32},SelectProps:{},children:Object.keys(s).map((e=>(0,Z.jsx)(mt.Z,{value:e,children:"".concat(s[e]," - ").concat(e)},e)))}),(0,Z.jsx)(W.Z,{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:e=>{r({...t,url:e.target.value,__disableConfirm:!e.target.value.trim()}),e.target.value.trim()?a(""):a(l("router.validation.redirectUrlRequired"))}})]]})}ht.defaultProps={params:{},blocklets:[],serviceTypes:[{name:"Blocklet",value:h.ROUTING_RULE_TYPES.BLOCKLET},{name:"Redirect",value:h.ROUTING_RULE_TYPES.REDIRECT},{name:"Default - User will see the 404 page",value:h.ROUTING_RULE_TYPES.NONE}],setParams:()=>{},setError:()=>{}};var xt=n(44543),gt=n.n(xt);const yt=(e,t)=>{if(e.type===h.ROUTING_RULE_TYPES.REDIRECT){if(!e.url)return new Error("".concat(t("router.validation.redirectUrlRequired")));if(!e.redirectCode)return new Error("redirect ".concat(t("router.validation.redirectCodeRequired")))}else if(e.type===h.ROUTING_RULE_TYPES.BLOCKLET&&!e.did)return new Error(t("router.validation.didRequired"));return null},jt=(e,t)=>e?e.endsWith(h.DEFAULT_IP_DOMAIN_SUFFIX)?t("router.domain.validate.suffixTip",{suffix:h.DEFAULT_IP_DOMAIN_SUFFIX}):null:t("router.domain.validate.emptyTip"),vt=(e,t)=>{const n=yt(e,t);if(n)return n;const r=jt(e.domain,t);return r?new Error(r):null},bt=(e,t)=>{const n=yt(e,t);return n||(e.pathPrefix.length?e.pathPrefix.length>150?new Error(t("router.validation.pathPrefixTooLong",{length:150})):null:new Error(t("router.validation.pathPrefixCannotBeEmpty")))},Zt=e=>{let{params:t,blocklets:n,blocklet:r,locale:i="en"}=e;if(r){let e=(r.children||[]).find((e=>gt()(e.mountPoint,t.pathPrefix)));if("gateway"!==r.meta.group&&"/"===t.pathPrefix&&(e="/"),e)return{zh:"\u6302\u8f7d\u70b9 ".concat(t.pathPrefix," \u5df2\u5b58\u5728\uff0c\u8bf7\u4f7f\u7528\u5176\u4ed6\u6302\u8f7d\u70b9"),en:"The mount point ".concat(t.pathPrefix," already exist, please use another mount point")}[i]}const a=n.find((e=>e.meta.did===t.did));if(!a)return"";const o=a.meta.interfaces.find((e=>"web"===e.type));return o&&o.prefix!==ut.BLOCKLET_DYNAMIC_PATH_PREFIX&&t.pathPrefix!==o.prefix?{zh:"\u8be5 blocklet \u53ea\u80fd\u6302\u8f7d\u5728 ".concat(o.prefix),en:"This blocklet can only be mounted on ".concat(o.prefix)}[i]:""},Ct=e=>{if(0===e.length)return"";const{searchParams:t}=new URL(window.location.href),n=t.get("fromDid");if(n){const t=e.find((e=>e.meta.did===n));if(t)return t.meta.did}return e[0].meta.did};function wt(e){let{blocklets:t,onActivate:n=(()=>{}),children:r}=e;const{t:a}=(0,c.PE)(),{actions:o}=L(),{info:s}=(0,j.h6)(),[d,m]=(0,i.useState)(!1),[u,p]=(0,i.useState)(null),f={title:a("router.domain.addSite"),description:(e,n,r)=>{const i=e=>{const t=e.__disableConfirm||!!vt(e,a);n({...e,__disableConfirm:t})};return(0,Z.jsxs)(l.Z,{component:"div",children:[(0,Z.jsx)(W.Z,{label:a("router.domain.add.description"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:e.domain,style:{marginTop:16,marginBottom:32},inputProps:{"data-cy":"domain-name-input"},onChange:t=>{const n=t.target.value.trim(),o=jt(n,a);i({...e,domain:t.target.value,__disableConfirm:!!o}),r(o||"")}}),(0,Z.jsx)(ht,{blocklets:t,params:e,setParams:i,setError:r})]})},confirm:a("router.domain.add.confirm"),cancel:a("router.domain.add.cancel"),params:{domain:"",did:Ct(t),port:"",interfaceName:"",type:h.ROUTING_RULE_TYPES.BLOCKLET,redirectCode:302,__disableConfirm:!0},onConfirm:async e=>{m(!0);const n={from:{pathPrefix:"/"},to:{type:e.type}},r={domain:e.domain.trim()===s.ip?"":e.domain.trim()};if(e.type===h.ROUTING_RULE_TYPES.BLOCKLET){const i=t.find((t=>t.meta.did===e.did)),a=Se()(i,"meta.interfaces",[]).find((t=>t.name===e.interfaceName));a&&a.prefix!==ut.BLOCKLET_DYNAMIC_PATH_PREFIX&&(n.from.pathPrefix=a.prefix),n.to.port=e.port,n.to.did=e.did,n.to.interfaceName=e.interfaceName,r.rules=[n]}else e.type===h.ROUTING_RULE_TYPES.REDIRECT&&(n.to.url=e.url,n.to.redirectCode=e.redirectCode,r.rules=[n]);await o.addSite(r),m(!1),p(null)},onCancel:()=>{m(!1),p(null)}},x=e=>{e.stopPropagation(),p(f)||n()};return(0,i.useEffect)((()=>{const{searchParams:e}=new URL(window.location.href);e.get("fromDid")&&p(f)}),[]),(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof r?r({loading:d,open:x}):(0,Z.jsxs)(mt.Z,{onClick:x,className:"rule-action","data-cy":"action-add-domain",children:[d?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(dt.Z,{style:{fontSize:18,marginRight:5}}),a("router.domain.add.title")]}),u&&(0,Z.jsx)(H.Z,{title:u.title,description:u.description,confirm:u.confirm,cancel:u.cancel,params:u.params,onConfirm:u.onConfirm,onCancel:u.onCancel,color:"primary"})]})}wt.defaultProps={onActivate:()=>{},children:null,blocklets:[]};var Pt=n(15849),Et=n(82434),St=n.n(Et),_t=n(76005),Tt=n(8732),Rt=n(21017),kt=n(50725),Nt=n(75239),At=n(2478),Lt=n(46954),Ut=n(44067),It=n(38898),Dt=n(83580),Ot=n(48342),Ft=n(76720),zt=n(92273),Bt=n(38242),Mt=n(61533),Wt=n(83294),Gt=n(67680);function qt(e){const{t:t}=(0,c.PE)(),{actions:n}=L(),[r,a]=(0,i.useState)(!1),[o,l]=(0,i.useState)(null),{id:s,name:d}=e;if(U(d))return null;const m={title:t("router.domain.delete.title"),description:t("router.domain.delete.description",{name:"<b>".concat(d,"</b>")}),confirmPlaceholder:t("router.domain.delete.confirm_desc",{name:d}),confirm:t("common.delConfirm"),cancel:t("common.cancel"),onConfirm:async()=>{a(!0),await n.deleteSite(s),a(!1),l(null)},onCancel:()=>{a(!1),l(null)},keyName:d};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(mt.Z,{onClick:t=>{t.stopPropagation(),l(m)||e.onActivate()},className:"rule-action","data-cy":"action-delete-domain",children:[r?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:18,marginRight:5}}),t("router.domain.delete.title")]}),o&&(0,Z.jsx)(ye.Z,{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})]})}var Yt=n(45239),Kt=n.n(Yt);function Ht(e){let{id:t,blocklets:n,onActivate:r=(()=>{}),onRuleAdded:a=(()=>{}),children:o,teamDid:s}=e;const{t:d}=(0,c.PE)(),{actions:m}=L(),[u,p]=(0,i.useState)(!1),[f,g]=(0,i.useState)(null),y={title:d("router.rule.add.title"),description:(e,t,r)=>(0,Z.jsxs)(l.Z,{component:"div",children:[(0,Z.jsx)(W.Z,{label:d("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:e.helperText||d("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:e.pathPrefix,onChange:i=>{let a=!1;const o=Zt({params:{...e,pathPrefix:i.target.value},blocklets:n});r(o),e.type===h.ROUTING_RULE_TYPES.BLOCKLET&&o&&(a=!0),e.type!==h.ROUTING_RULE_TYPES.REDIRECT||e.url||(a=!0),i.target.value.trim()||(a=!0,r(d("router.validation.pathPrefixRequired"))),a||r("");const l=d("common.slugifyHint",{value:(0,x.LN)(i.target.value)});t({...e,pathPrefix:i.target.value,helperText:l,__disableConfirm:a})}}),(0,Z.jsx)(ht,{blocklets:n,params:e,setParams:e=>{r(null);bt(e,d)?t({...e,__disableConfirm:!0}):t({...e})},setError:r})]}),confirm:d("router.rule.add.confirm"),cancel:d("common.cancel"),params:{pathPrefix:"",type:h.ROUTING_RULE_TYPES.BLOCKLET,did:Ct(n),port:"",interfaceName:"",redirectCode:302,__disableConfirm:!0},onConfirm:async e=>{const n=await bt(e,d);if(n)throw n;p(!0);const r={from:{pathPrefix:Kt()(e.pathPrefix)},to:{type:e.type}};e.type===h.ROUTING_RULE_TYPES.BLOCKLET?(r.to.port=e.port,r.to.did=e.did,r.to.interfaceName=e.interfaceName):e.type===h.ROUTING_RULE_TYPES.REDIRECT&&(r.to.url=e.url.trim(),r.to.redirectCode=e.redirectCode),await m.addRule(t,r,s),g(null),p(!1),a()},onCancel:()=>{p(!1),g(null)}},j=e=>{e.stopPropagation(),g(y)||r()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof o?o({loading:u,open:j}):(0,Z.jsxs)(mt.Z,{onClick:j,className:"rule-action","data-cy":"action-add-rule",children:[u?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(he.Z,{style:{fontSize:18,marginRight:5}}),d("router.rule.add.title")]}),f&&(0,Z.jsx)(H.Z,{title:f.title,description:f.description,confirm:f.confirm,cancel:f.cancel,params:f.params,onConfirm:f.onConfirm,onCancel:f.onCancel,color:"primary"})]})}function Vt(e){const{t:t}=(0,c.PE)(),{actions:n}=L(),[r,a]=(0,i.useState)(!1),[o,l]=(0,i.useState)(null),{id:s,parent:{id:d},name:m,children:u,onActivate:p,teamDid:f}=e,h={keyName:m,title:t("router.rule.delete.title"),description:t("router.rule.delete.description",{name:"<b>".concat(m,"</b>")}),confirmPlaceholder:t("router.rule.delete.confirm_desc",{name:m}),confirm:t("common.delConfirm"),cancel:t("router.rule.delete.cancel"),onConfirm:async()=>{a(!0),await n.deleteRule(d,s,f),a(!1),l(null)},onCancel:()=>{a(!1),l(null)}},x=e=>{e.stopPropagation(),l(h)||p()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof u?u({loading:r,open:x}):(0,Z.jsxs)(mt.Z,{onClick:x,className:"rule-action","data-cy":"action-delete-rule",children:[r?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:18,marginRight:5}}),t("router.rule.delete.title")]}),o&&(0,Z.jsx)(ye.Z,{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})]})}Ht.defaultProps={onActivate:()=>{},onRuleAdded:()=>{},children:null,blocklets:[],teamDid:""},Vt.defaultProps={onActivate:()=>{},children:null,teamDid:""};var Qt=n(76667);function Xt(e){const{id:t,name:n,did:r,parent:a,blocklets:o,to:s,children:d,onActivate:m,teamDid:u}=e,{t:p}=(0,c.PE)(),{actions:f}=L(),[g,y]=(0,i.useState)(!1),[j,v]=(0,i.useState)(null),b={title:p("router.rule.update.title"),description:(e,t,n)=>(0,Z.jsxs)(l.Z,{component:"div",children:[(0,Z.jsx)(W.Z,{label:p("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:e.helperText||p("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:e.pathPrefix,onChange:r=>{let i=!1;const a=Zt({params:{...e,pathPrefix:r.target.value},blocklets:o});e.type===h.ROUTING_RULE_TYPES.BLOCKLET&&a&&(i=!0,n(a)),e.type!==h.ROUTING_RULE_TYPES.REDIRECT||e.url||(i=!0),r.target.value.trim()||(i=!0,n(p("router.validation.pathPrefixRequired"))),i||n("");const l=p("common.slugifyHint",{value:(0,x.LN)(r.target.value)});t({...e,pathPrefix:r.target.value,helperText:l,__disableConfirm:i})}}),(0,Z.jsx)(ht,{blocklets:o,params:e,setParams:e=>{bt(e,p)?t({...e,__disableConfirm:!0}):t({...e})},setError:n})]}),confirm:p("router.rule.update.confirm"),cancel:p("router.rule.update.cancel"),color:"primary",params:{pathPrefix:"/"===n?n:n.replace(/^\/+/,"").replace(/\/+$/,""),type:s.type||h.ROUTING_RULE_TYPES.BLOCKLET,did:r||Ct(o),port:s.port||"",interfaceName:s.interfaceName||"",redirectCode:s.redirectCode||302,url:s.url||"",__disableConfirm:!1},onConfirm:async e=>{const n=await bt(e,p);if(n)throw n;y(!0);const r={id:t,from:{pathPrefix:Kt()(e.pathPrefix)},to:{type:e.type}};e.type===h.ROUTING_RULE_TYPES.BLOCKLET?(r.to.port=e.port,r.to.did=e.did,r.to.interfaceName=e.interfaceName):e.type===h.ROUTING_RULE_TYPES.REDIRECT&&(r.to.url=e.url,r.to.redirectCode=e.redirectCode),await f.updateRule(a.id,r,u),v(null),y(!1)},onCancel:()=>{y(!1),v(null)}},C=e=>{e.stopPropagation(),v(b)||m()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof d?d({loading:g,open:C}):(0,Z.jsxs)(mt.Z,{onClick:C,className:"rule-action","data-cy":"action-update-rule",children:[g?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(Qt.default,{style:{fontSize:18,marginRight:5}}),p("router.rule.update.title")]}),j&&(0,Z.jsx)(H.Z,{title:j.title,description:j.description,confirm:j.confirm,color:j.color,cancel:j.cancel,params:j.params,onConfirm:j.onConfirm,onCancel:j.onCancel})]})}Xt.defaultProps={onActivate:()=>{},children:null,did:"",blocklets:[],teamDid:""};var Jt=n(11593),$t=n(26174),en=n(88092);function tn(e){let{id:t,name:n,onActivate:r,children:a,title:o,teamDid:s}=e;const{t:d}=(0,c.PE)(),{actions:m}=L(),[u,p]=(0,i.useState)(!1),[f,x]=(0,i.useState)(null);if(h.DOMAIN_FOR_DEFAULT_SITE===n)return null;const g=async e=>{p(!0),await m.addDomainAlias(t,e.domain.trim(),!!e.force,s),p(!1),x(null)},y={title:o||d("router.domainAlias.add.title"),description:(e,t,n)=>(0,Z.jsxs)(l.Z,{component:"div",children:[(0,Z.jsx)(W.Z,{label:d("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:e.domain,style:{marginBottom:8},margin:"dense",onChange:r=>{const i=r.target.value.trim(),a=jt(i,d);t({...e,domain:i,__disableConfirm:!!a}),n(a||"")},onKeyPress:t=>{if("Enter"===t.key){t.preventDefault();const r=t.target.value.trim(),i=jt(r,d);i?n(i):(async(e,t,n)=>{try{await t(e)}catch(r){n((0,b.Z)(r))}finally{p(!1)}})(e,g,n)}}}),(0,Z.jsx)($t.Z,{control:(0,Z.jsx)(en.Z,{checked:e.force,onChange:n=>{t({...e,force:n.target.checked})},name:"checkedB",color:"primary"}),label:d("router.domainAlias.add.forceTip")})]}),confirm:d("common.confirm"),cancel:d("common.cancel"),params:{domain:"",__disableConfirm:!0},onConfirm:g,onCancel:()=>{p(!1),x(null)}},j=e=>{e.stopPropagation(),x(y)||r()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof a?a({loading:u,open:j}):(0,Z.jsxs)(mt.Z,{onClick:j,className:"rule-action","data-cy":"action-add-domain-alias",children:[u?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(Jt.Z,{style:{fontSize:18,marginRight:5}}),d("router.domainAlias.add.title")]}),f&&(0,Z.jsx)(H.Z,{title:f.title,description:f.description,confirm:f.confirm,cancel:f.cancel,params:f.params,onConfirm:f.onConfirm,onCancel:f.onCancel,color:"primary"})]})}function nn(e){let{id:t,name:n,corsAllowedOrigins:r,onActivate:a,children:o,teamDid:s}=e;const{t:d}=(0,c.PE)(),{actions:m}=L(),[u,p]=(0,i.useState)(!1),[f,x]=(0,i.useState)(null);if(U(n))return null;let g=n;n.endsWith(h.BLOCKLET_SITE_GROUP_SUFFIX)&&(g="".concat(d("common.the")," Blocklet"));const y={title:d("router.domainSecurity.title"),description:(e,t,n)=>(0,Z.jsx)(l.Z,{component:"div",children:(0,Z.jsx)(W.Z,{label:d("router.domainSecurity.cors.title",{name:g}),autoComplete:"off",variant:"outlined",name:"corsAllowedOrigins",fullWidth:!0,autoFocus:!0,value:e.corsAllowedOrigins,style:{marginBottom:32},margin:"dense",helperText:d("router.domainSecurity.cors.description",{name:g}),onChange:r=>{t({...e,corsAllowedOrigins:r.target.value,__disableConfirm:!r.target.value.trim()}),r.target.value.trim()?n(""):n(d("router.domainSecurity.cors.domainInvalid"))}})}),confirm:d("common.confirm"),cancel:d("common.cancel"),params:{corsAllowedOrigins:Array.isArray(r)?r.join(", "):n,__disableConfirm:!0},onConfirm:async e=>{p(!0),await m.updateSite(t,{corsAllowedOrigins:e.corsAllowedOrigins.split(",").map((e=>e.trim()))},s),p(!1),x(null)},onCancel:()=>{p(!1),x(null)}},j=e=>{e.stopPropagation(),x(y)||a()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof o?o({loading:u,open:j}):(0,Z.jsxs)(mt.Z,{onClick:j,className:"rule-action","data-cy":"action-update-domain",children:[u?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(tt.Z,{style:{fontSize:18,marginRight:5}}),d("router.domainSecurity.title")]}),f&&(0,Z.jsx)(H.Z,{title:f.title,description:f.description,confirm:f.confirm,cancel:f.cancel,params:f.params,onConfirm:f.onConfirm,onCancel:f.onCancel,color:"primary"})]})}function rn(e){let{id:t,name:n,onActivate:r}=e;const{t:a}=(0,c.PE)(),{actions:o}=L(),[s,d]=(0,i.useState)(!1),[m,u]=(0,i.useState)(null);if(U(n))return null;const p={title:a("router.domain.update.title"),description:(e,t,n)=>(0,Z.jsx)(l.Z,{component:"div",children:(0,Z.jsx)(W.Z,{label:a("router.domain.update.label"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:e.domain,style:{marginBottom:32},margin:"dense",helperText:a("router.domain.update.description"),onChange:r=>{const i=r.target.value.trim(),o=jt(i,a);t({...e,domain:r.target.value,__disableConfirm:!!o}),n(o||"")}})}),confirm:a("common.confirm"),cancel:a("common.cancel"),params:{domain:n,__disableConfirm:!0},onConfirm:async e=>{d(!0),await o.updateSite(t,{domain:e.domain.trim()}),d(!1),u(null)},onCancel:()=>{d(!1),u(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(mt.Z,{onClick:e=>{e.stopPropagation(),u(p)||r()},className:"rule-action",children:[s?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(Qt.default,{style:{fontSize:18,marginRight:5}}),a("router.domain.update.title")]}),m&&(0,Z.jsx)(H.Z,{title:m.title,description:m.description,confirm:m.confirm,cancel:m.cancel,params:m.params,onConfirm:m.onConfirm,onCancel:m.onCancel,color:"primary"})]})}function an(e){const[t,n]=(0,i.useState)(null),r=e=>{e&&e.stopPropagation(),n(null)},a=[];if("root"===e.type&&a.push((0,Z.jsx)(wt,{...e,onActivate:r},"add-domain")),"domain"===e.type&&a.push((0,Z.jsx)(rn,{...e,onActivate:r},"update-domain"),(0,Z.jsx)(Ht,{...e,onActivate:r,onRuleAdded:e.onRuleAdded},"add-rule"),(0,Z.jsx)(tn,{...e,onActivate:r},"add-domain-alias"),(0,Z.jsx)(nn,{...e,onActivate:r},"update-domain-security"),(0,Z.jsx)(qt,{...e,onActivate:r},"delete-domain")),"rule"===e.type&&a.push((0,Z.jsx)(Xt,{...e,onActivate:r},"update-rule"),(0,Z.jsx)(Vt,{...e,onActivate:r},"delete-rule")),e.type===h.ROUTING_RULE_TYPES.REDIRECT&&a.push((0,Z.jsx)(qt,{...e,onActivate:r},"delete-domain")),"dashboard_domain"!==e.type&&"blocklet_domain"!==e.type||a.push((0,Z.jsx)(Ht,{...e,onActivate:r},"add-rule"),(0,Z.jsx)(nn,{...e,onActivate:r},"update-domain-security"),(0,Z.jsx)(tn,{...e,onActivate:r},"add-domain-alias")),0===a.length)return null;const o=e=>{e.stopPropagation()};return(0,Z.jsxs)("div",{children:[(0,Z.jsx)(Gt.Z,{onMouseDown:o,onClick:e=>{e.stopPropagation(),n(e.currentTarget)},"data-cy":"action-trigger",size:"large",children:(0,Z.jsx)(Wt.Z,{})}),(0,Z.jsx)(Mt.Z,{keepMounted:!0,onMouseDown:o,open:!!t,onClose:r,anchorEl:t,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:a})]})}tn.defaultProps={onActivate:()=>{},children:null,title:"",teamDid:""},nn.defaultProps={onActivate:()=>{},children:null,corsAllowedOrigins:"",teamDid:""},an.defaultProps={onRuleAdded:()=>{},blocklet:{}};var on=n(55898),ln=n.n(on),sn=n(31942),cn=n(11819),dn=n(38763),mn=n(75392),un=n(69569);function pn(e){let{certificate:t}=e;const[n,r]=(0,i.useState)(null),a=(0,j.h6)(),{t:o,locale:s}=(0,c.PE)(),d=()=>{r(null)},m=Boolean(n);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(sn.Z,{"aria-owns":m?"mouse-over-popover":void 0,onMouseEnter:e=>{r(e.currentTarget)},onMouseLeave:d,style:{color:"#44cdc6",fontSize:20,marginLeft:8,cursor:"pointer"}}),(0,Z.jsx)(cn.ZP,{id:"mouse-over-popover",style:{pointerEvents:"none"},open:m,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:d,disableRestoreFocus:!0,children:(0,Z.jsx)(dn.Z,{children:(0,Z.jsxs)(mn.Z,{style:{display:"flex"},children:[(0,Z.jsx)("div",{children:(0,Z.jsx)("img",{src:"".concat(a.imgPrefix,"/https-certificate-icon.png"),alt:"certificate icon",style:{maxHeight:"100%",maxWidth:"100%"}})}),(0,Z.jsxs)(l.Z,{component:"div",style:{marginLeft:"16px"},children:[(0,Z.jsx)(l.Z,{component:"div",style:{fontWeight:"bold"},children:t.domain}),(0,Z.jsx)(l.Z,{component:"div",children:"".concat(o("common.issuer"),": ").concat(Se()(t,"issuer.commonName",""))}),(0,Z.jsx)(l.Z,{component:"div",children:"".concat(o("router.cert.issuedOn"),": ").concat((0,b.pz)(t.validFrom,s))}),(0,Z.jsx)(l.Z,{component:"div",children:"".concat(o("router.cert.expiryOn"),": ").concat((0,b.pz)(t.validTo,s))})]})]})})})]})}function fn(e){const{name:t,type:n,filters:r}=e,{t:a}=(0,c.PE)(),{status:o}=ct();if("domain"!==n)return null;if(!(0,b.rM)(t))return null;let l=null,s=null;const{isHttps:d,matchedCert:m}=o[t]||{};if(!(0,b.ao)(t)){const{dns:{resolved:e,ip:n}={}}=o[t]||{};l=e||"127.0.0.1"===n?(0,Z.jsx)(Nt.Z,{title:a("router.domain.verify.ok"),children:(0,Z.jsx)(un.Z,{color:"success"})}):(0,Z.jsx)(Nt.Z,{title:a("router.domain.verify.notResolved"),children:(0,Z.jsx)(un.Z,{color:"error"})})}s=d?(0,Z.jsx)(pn,{certificate:m}):(0,Z.jsx)(Nt.Z,{title:a("router.domain.https.bad"),children:(0,Z.jsx)(sn.Z,{style:{color:"#D0021B",fontSize:20,marginLeft:8,cursor:"pointer"}})});const u=r.map((e=>"domain"===e?l:"http"===e?s:null));return(0,i.createElement)(i.Fragment,null,...u)}pn.defaultProps={certificate:{}},fn.propTypes={type:ln().string.isRequired,name:ln().string.isRequired,filters:ln().array},fn.defaultProps={filters:["domain","http"]};const hn=e=>["waiting","creating","renewaling"].includes(e);function xn(e){var t;const{t:n}=(0,c.PE)(),[r,a]=(0,i.useState)(!1),[o,l]=(0,i.useState)(null),{domain:s,onAdd:d,children:m,siteId:p}=e,{api:f}=(0,j.h6)(),[x,g]=(0,i.useState)(!1),{updateStatus:y}=ct(),b=(0,v.Z)(),C=(0,u.Z)((async()=>{const{cert:e}=await b.findCertificateByDomain({input:{domain:s}});return e})),w=e=>{e.domain===s&&g(!1)};if((0,i.useEffect)((()=>{var e;!C.loading&&hn(null===(e=C.value)||void 0===e?void 0:e.status)&&g(!0)}),[C]),(0,rt.mU)(h.EVENTS.CERT_ERROR,w),(0,rt.mU)(h.EVENTS.CERT_ISSUED,(e=>{C.retry(),y(e.domain),w(e)})),C.loading)return"";if("normal"===(null===(t=C.value)||void 0===t?void 0:t.status))return"";const P={title:n("router.cert.genLetsEncryptCert.title"),description:(0,Z.jsxs)("div",{children:[(0,Z.jsx)(G.Z,{type:"success",children:n("router.cert.genLetsEncryptCert.dnsTip")}),n("router.cert.genLetsEncryptCert.description")]}),confirm:n("common.confirm"),onConfirm:async()=>{a(!0);try{await f.issueLetsEncryptCert({input:{domain:s,siteId:p}}),d(),g(!0)}catch(e){console.error(e),g(!1)}finally{a(!1),l(null)}},onCancel:()=>{a(!1),l(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[x?(0,Z.jsx)(Nt.Z,{title:n("router.cert.issuing"),children:(0,Z.jsx)(q.Z,{size:12})}):m({loading:r,open:e=>{e.stopPropagation(),l(P)}}),o&&(0,Z.jsx)(H.Z,{color:"primary",title:o.title,description:o.description,confirm:o.confirm,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}function gn(e){var t;const{status:n}=ct(),{domain:r}=e;return!(0,b.rM)(r)||null!==(t=n[r])&&void 0!==t&&t.isHttps?"":(0,Z.jsx)(xn,{...e})}function yn(e){const{t:t}=(0,c.PE)(),[n,r]=(0,i.useState)(!1),[a,o]=(0,i.useState)(null),{id:l,domain:s,onDelete:d,children:m,teamDid:u}=e,{actions:p}=L();if(s===window.location.hostname)return"";const f={title:t("router.domainAlias.delete.title"),description:t("router.domainAlias.delete.description"),confirm:t("common.confirm"),onConfirm:async()=>{r(!0);try{await p.deleteDomainAlias(l,s,u),d()}catch(e){console.error(e)}finally{r(!1),o(null)}},onCancel:()=>{r(!1),o(null)}},h=e=>{e.stopPropagation(),o(f)};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof m?m({loading:n,open:h}):(0,Z.jsxs)(B.Z,{edge:"end",onClick:h,size:"small",className:"rule-action",color:"error","data-cy":"action-delete-domain-alias",children:[n?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:16}}),t("router.domainAlias.delete.title")]}),a&&(0,Z.jsx)(H.Z,{title:a.title,description:a.description,confirm:a.confirm,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}var jn,vn;function bn(e){let{domain:t,isHttps:n,toUrl:r}=e;const i=n?"https":"http",{t:a}=(0,c.PE)();let o=r;return St()(o)||(o="".concat(i,"://").concat(t).concat(r)),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(l.Z,{className:"arrow-name-middle",children:a("common.redirect")}),(0,Z.jsx)("span",{className:"arrow-name-arrow",children:"\u27f6"}),(0,Z.jsx)(It.Z,{href:o,target:"_blank",underline:"hover",children:r},o)]})}function Zn(){const{t:e}=(0,c.PE)();return(0,Z.jsx)(l.Z,{className:"arrow-name-middle",children:e("common.page404")})}function Cn(e){const{t:t}=(0,c.PE)(),{data:n}=(0,nt.RJ)(),{info:r}=(0,j.h6)(),{status:a}=ct(),o=n.map((e=>({meta:{did:e.meta.did,name:(0,Bt.getDisplayName)(e,!0),version:e.meta.version,interfaces:e.meta.interfaces},port:e.port,ports:e.ports,status:e.status}))),{id:s,type:d,name:m,title:u,items:p=[],depth:f,to:g,expand:y,isProtected:v,pathPrefix:b,parent:w,domainAliases:P}=e;let E=m;const S=m.endsWith(h.BLOCKLET_SITE_GROUP_SUFFIX);let _=d;m===C&&(_="dashboard_domain"),S&&(_="blocklet_domain");const[T,R]=(0,i.useState)(y),k={root:Rt.Z,domain:dt.Z,rule:kt.Z}[d];if("domain"===d){if(v&&!S)return null;if(S){const W=m.replace(h.BLOCKLET_SITE_GROUP_SUFFIX,""),G=o.find((e=>e.meta.did===W));if(!G)return null;if(G.controller)return null;E=G.meta.title||G.meta.name}function F(e){let{domain:t,primaryDomain:n,rules:i}=e,a="http://".concat(t);return n===C?a="".concat(a,"/").concat(r.routing.adminPath.replace(/^\/+/,"")):i&&i.length&&i[0].pathPrefix&&(a="".concat(a,"/").concat(i[0].pathPrefix.replace(/^\/+/,""))),t!==C?(0,Z.jsx)(Pn,{href:a,target:"_blank",rel:"noreferrer",onClick:e=>e.stopPropagation(),children:t}):t}const z=()=>{R(!0)};let M=(P||[]).filter((e=>e.value!==m));return M=(0,x.oE)(M),[(0,Z.jsxs)(wn,{alignItems:"flex-start",button:!0,disableGutters:!0,"data-cy":"rule-domain",children:[(0,Z.jsxs)(Lt.Z,{onClick:()=>R((e=>!e)),children:[p.length>0&&(T?(0,Z.jsx)(Ft.Z,{}):(0,Z.jsx)(zt.default,{})),(0,Z.jsx)(k,{style:{fontSize:22}})]}),(0,Z.jsx)(Ut.Z,{onClick:()=>R((e=>!e)),className:"rule-name rule-name--depth".concat(f),style:{flex:1},secondary:p.length<=0?(0,Z.jsx)("span",{className:"site-secondary",children:t("router.empty")}):"",primary:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{className:"site-header",children:[m===h.DOMAIN_FOR_DEFAULT_SITE&&t("router.defaultSite"),m!==h.DOMAIN_FOR_DEFAULT_SITE&&!S&&(0,Z.jsx)(F,{domain:m,primaryDomain:m,rules:p}),S&&E,p.length&&!T?(0,Z.jsx)("span",{style:{marginLeft:5},children:"(".concat(p.length," URL)")}):null,(0,Z.jsx)("span",{style:{marginLeft:12}}),"domain"===d&&m!==h.DOMAIN_FOR_DEFAULT_SITE&&m!==C&&!S&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(fn,{type:d,name:m},m),(0,Z.jsx)("span",{style:{marginLeft:12}}),(0,Z.jsx)(gn,{siteId:s,domain:m,children:e=>{let{open:n}=e;return(0,Z.jsx)(B.Z,{size:"small",onClick:e=>n(e),children:t("router.cert.genLetsEncryptCert.title")})}})]})]}),M.map((n=>{const r="string"!==typeof n?n.value:n;return(0,Z.jsxs)("div",{className:"site-alias",children:[(0,Z.jsx)(F,{domain:r,primaryDomain:m,rules:p}),(0,Z.jsx)("span",{style:{marginLeft:12}}),(0,Z.jsx)(fn,{type:d,name:r},"domain-status-".concat(m)),(0,Z.jsx)(gn,{siteId:s,domain:r,children:e=>{let{open:n}=e;return(0,Z.jsx)(B.Z,{size:"small",onClick:e=>n(e),children:t("router.cert.genLetsEncryptCert.title")})}}),!n.isProtected&&(0,Z.jsx)(yn,{id:e.id,domain:r},"delete-domain-alias"),r!==C&&r!==window.location.hostname&&(0,Z.jsx)(an,{...e,domain:r,type:"domainAlias",onRuleAdded:z},"action-".concat(m))]},r)}))]})}),(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(Dt.Z,{children:(0,Z.jsx)(an,{blocklets:o,...e,onRuleAdded:z,type:_},m)})})]},"parent"),(0,Z.jsx)(Ot.Z,{in:T,children:p.length>0&&(0,Z.jsx)(et.Z,{component:"div",className:"rule-list rule-list--depth".concat(f),disablePadding:!0,children:p.map((t=>(0,Z.jsx)(Cn,{...t,parent:e,depth:f+1},t.id)))},"children")},"rules")]}if("root"===d)return[(0,Z.jsxs)(wn,{disableGutters:!0,"data-cy":"rule-root",children:[(0,Z.jsx)(Lt.Z,{children:(0,Z.jsx)(k,{style:{fontSize:22}})}),(0,Z.jsx)(Ut.Z,{primary:m}),(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(Dt.Z,{children:(0,Z.jsx)(an,{blocklets:o,...e})})})]},"root"),p.length>0&&(0,Z.jsx)(et.Z,{component:"div",className:"rule-list rule-list--depth".concat(f),disablePadding:!0,children:p.map((t=>(0,Z.jsx)(Cn,{expand:!v,...t,parent:e,depth:f+1},t.id)))},"children")];let N="/blocklets/".concat(g.did,"/overview");g.type===h.ROUTING_RULE_TYPES.DAEMON&&(N="/");const A={meta:{did:r.did,name:"Blocklet Server Dashboard",version:r.version},status:"running",port:r.port},L=g.did===r.did?A:o.find((e=>e.meta.did===g.did)),U=L&&"running"===L.status||g.type===h.ROUTING_RULE_TYPES.DAEMON,I=t(U?"router.healthy.ok":"router.healthy.error"),O=a[w.name]||{};return(0,Z.jsxs)(wn,{className:"hover-item",divider:!0,disableGutters:!0,style:{paddingBottom:8,paddingLeft:8},"data-cy":"rule-item",children:[(0,Z.jsx)(Lt.Z,{className:"arrow-icon",children:(0,Z.jsx)(k,{style:{fontSize:22}})}),(0,Z.jsx)(Ut.Z,{primary:(0,Z.jsxs)(l.Z,{component:"div",className:"arrow-name",children:[(0,Z.jsx)(l.Z,{style:{wordBreak:"break-all"},className:"arrow-name-left",children:m}),(0,Z.jsx)("span",{className:"arrow-name-arrow",children:"\u27f6"}),(g.type===h.ROUTING_RULE_TYPES.DAEMON||g.type===h.ROUTING_RULE_TYPES.BLOCKLET)&&(0,Z.jsxs)(Z.Fragment,{children:[w.name!==h.DOMAIN_FOR_DEFAULT_SITE&&U&&(0,Z.jsx)(D.Z,{className:"arrow-name-middle",children:(0,Z.jsx)(It.Z,{href:(0,x.Sk)(w.name,b),target:"_blank",underline:"hover",children:t("common.open")})}),w.name===h.DOMAIN_FOR_DEFAULT_SITE&&(0,Z.jsx)(l.Z,{component:"span",className:"arrow-name-middle",children:"Blocklet"}),!U&&(0,Z.jsx)("span",{className:"arrow-name-middle",children:t("common.unavailable")}),(0,Z.jsx)("span",{className:"arrow-name-arrow",children:"\u27f6"}),(0,Z.jsxs)(Pt.Link,{to:N,className:"arrow-name-right",children:[(0,Z.jsx)(Nt.Z,{title:I,children:U?(0,Z.jsx)(_t.Z,{style:{color:"#44cdc6",fontSize:20}}):(0,Z.jsx)(Tt.Z,{style:{color:"red",fontSize:20}})}),(0,Z.jsx)("span",{children:L?L.meta.name:u}),L&&(0,Z.jsx)("span",{style:{marginLeft:8},children:(0,Z.jsx)(pt.Z,{status:L.status,progress:L.progress})})]})]}),g.type===h.ROUTING_RULE_TYPES.REDIRECT&&(0,Z.jsx)(bn,{prefix:b,domain:w.name,toUrl:g.url,isHttps:O.isHttps}),g.type===h.ROUTING_RULE_TYPES.NONE&&(0,Z.jsx)(Zn,{})]})}),(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(Dt.Z,{children:(0,Z.jsx)(an,{blocklets:o,...e,did:g.did})})})]},m)}xn.defaultProps={onAdd:()=>{},children:null},gn.defaultProps={onAdd:()=>{},children:null},yn.defaultProps={onDelete:()=>{},children:null,teamDid:""},bn.defaultProps={isHttps:!1},Zn.defaultProps={},Cn.defaultProps={id:"",to:{},title:"",items:[],depth:0,parent:{},expand:!0,isProtected:!1,pathPrefix:"",domainAliases:[]};const wn=(0,a.Z)(At.ZP)(jn||(jn=(0,r.Z)(["\n .MuiListItemText-root {\n padding-right: 48px;\n }\n .MuiListItemSecondaryAction-root {\n right: 0;\n }\n .site-header {\n display: unset !important;\n vertical-align: middle;\n .MuiSvgIcon-root {\n vertical-align: middle;\n }\n }\n"]))),Pn=(0,a.Z)("a")(vn||(vn=(0,r.Z)(["\n color: #000;\n white-space: normal;\n word-break: break-all;\n :hover {\n color: rgba(0, 0, 0, 0.6);\n }\n"])));var En;function Sn(){const{sites:e,allDomains:t}=L(),{data:n}=(0,nt.RJ)(),{t:r}=(0,c.PE)(),a=e.map((e=>{const t=e.items.filter((e=>!e.isProtected));return{...e,items:t}}));return(0,Z.jsx)(st,{domains:t,children:(0,Z.jsxs)(_n,{children:[(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(D.Z,{textAlign:"right",mb:1,children:(0,Z.jsx)(wt,{blocklets:n,children:e=>{let{open:t}=e;return(0,Z.jsxs)(B.Z,{style:{marginLeft:16},variant:"contained",color:"primary","data-cy":"add-domain-alias",onClick:t,children:[(0,Z.jsx)(tt.Z,{style:{fontSize:"1.3em",marginRight:4}}),r("router.domain.addSite")]})}})})}),(0,Z.jsx)(et.Z,{component:"div",disablePadding:!0,children:a.map((e=>(0,i.createElement)(Cn,{...e,depth:1,key:e.id})))})]})})}const _n=a.Z.main(En||(En=(0,r.Z)(["\n margin-top: ",";\n min-height: 60vh;\n\n .MuiListItemIcon-root {\n min-width: ",";\n }\n\n .site-header {\n display: flex;\n align-items: center;\n margin-left: ",";\n font-size: 1.2rem;\n }\n\n .site-alias {\n display: flex;\n align-items: center;\n margin-left: ",";\n }\n\n .site-secondary {\n margin-left: ",";\n }\n\n .rule-list--depth1 {\n padding-left: ",";\n }\n\n .rule-list--depth2 {\n padding-left: ",";\n }\n\n .rule-action {\n margin-left: ",";\n }\n\n .rule-name--depth2 span {\n font-weight: bold;\n }\n\n .arrow-name {\n display: flex;\n align-items: center;\n .arrow-name-left {\n width: 400px;\n flex-shrink: 0;\n text-align: left;\n }\n .arrow-name-middle {\n width: 150px;\n flex-shrink: 0;\n text-align: left;\n }\n .arrow-name-arrow {\n width: 40px;\n flex-shrink: 0;\n margin: auto 16px;\n font-size: 24px;\n color: #0000008a;\n }\n .arrow-name-right {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n\n span {\n margin: 0 8px;\n }\n }\n }\n\n @media (max-width: ","px) {\n .rule-list--depth1,\n .rule-list--depth2 {\n padding-left: 0;\n }\n\n .MuiListItem-secondaryAction {\n padding-right: 0;\n }\n }\n\n @media (max-width: ","px) {\n .arrow-icon {\n margin-top: 4px;\n align-self: flex-start;\n }\n\n .arrow-name {\n flex-direction: column;\n align-items: flex-start;\n .arrow-name-left {\n width: auto;\n }\n .arrow-name-middle {\n margin: 5px 0;\n }\n .arrow-name-arrow {\n display: none;\n }\n }\n }\n"])),(e=>e.theme.spacing(2)),(e=>e.theme.spacing(4)),(e=>e.theme.spacing(1)),(e=>e.theme.spacing(1)),(e=>e.theme.spacing(1)),(e=>e.theme.spacing(4)),(e=>e.theme.spacing(5)),(e=>e.theme.spacing(2)),(e=>e.theme.breakpoints.values.md),(e=>e.theme.breakpoints.values.lg));var Tn=n(34966),Rn=n(22228),kn=n(23484),Nn=n(49525),An=n(65140),Ln=n(87916),Un=n(13128),In=n(55372);const Dn=51200,On=e=>new Promise(((t,n)=>{const r=new FileReader;r.readAsText(e),r.onload=()=>{t(r.result)},r.onerror=e=>n(e)}));function Fn(e){let{certificate:t={},onRefresh:n,mode:r,...a}=e;const{t:o}=(0,c.PE)(),{api:s}=(0,j.h6)(),[d,m]=(0,i.useState)(!1),[u,p]=(0,i.useState)(),[f,h]=(0,i.useState)(),[x,g]=(0,i.useState)(!1),[y,v]=(0,i.useState)(""),[C,w]=(0,i.useState)("upload"),{handleSubmit:P,formState:E,control:S}=(0,M.cI)({defaultValues:{name:t.name||t.domain}}),_=(0,M.qo)({control:S,name:"name"}),T=(0,M.qo)({control:S,name:"domain"}),R=()=>{m(!1),g(!1)},k={upload:{name:o("router.cert.nginx.sourceTypes.upload"),value:"upload",onSubmit:async e=>{if("add"===r){const t=(await On(f)).replace(/\r\n/g,"\n"),n=(await On(u)).replace(/\r\n/g,"\n");await s.addCertificate({input:{name:e.name.trim(),certificate:t.split("\n").join("|"),privateKey:n.split("\n").join("|")}})}else await s.updateCertificate({input:{id:t.id,name:e.name.trim()}})}},lets_encrypt:{name:o("router.cert.nginx.sourceTypes.lets_encrypt"),value:"lets_encrypt",onSubmit:e=>s.issueLetsEncryptCert({input:{domain:e.domain}})}},N=async e=>{m(!0);try{const t=k[C];if(!t)throw new Error("Invaid certificate source");await t.onSubmit(e),n(),g(!1)}catch(t){v((0,b.Z)(t)||"unknown error, may be you can check file permission")}finally{m(!1)}},A=e=>{e.length>0&&v(Se()(e[0],"errors[0].message",o("router.cert.add.invalidFile")))},{getRootProps:L,getInputProps:U}=(0,Nn.uI)({accept:[".pem",".crt"],multiple:!1,maxSize:Dn,onDropRejected:A,onDrop:e=>{h(e[0])}}),{getRootProps:I,getInputProps:O}=(0,Nn.uI)({accept:[".pem",".key"],multiple:!1,maxSize:Dn,onDropRejected:A,onDrop:e=>{p(e[0])}}),{errors:F}=E;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(B.Z,{edge:"end",onClick:()=>{p(null),h(null),g(!0),v("")},className:"rule-action",color:"primary","data-cy":"add-cert",...a,children:[d?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(tt.Z,{style:{fontSize:16}}),o("add"===r?"common.add":"common.update")]}),x&&(0,Z.jsx)(Un.ZP,{title:o("add"===r?"router.cert.nginx.titleAdd":"router.cert.nginx.title"),open:!0,onClose:R,actions:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(B.Z,{onClick:R,color:"inherit","data-cy":"cert-cancel",children:o("router.cert.nginx.cancel")}),(0,Z.jsxs)(B.Z,{onClick:P(N),color:"secondary",disabled:!!d||("upload"===C&&"update"===r?!_:"upload"===C&&"add"===r?!_||!u||!f:"lets_encrypt"===C&&!T),variant:"contained",autoFocus:!0,"data-cy":"save-cert",children:[o("router.cert.nginx.confirm"),d&&(0,Z.jsx)(q.Z,{size:16})]})]}),children:(0,Z.jsx)("form",{className:"form","data-cy":"cert-form",noValidate:!0,autoComplete:"off",onSubmit:P(N),children:(0,Z.jsxs)(D.Z,{minWidth:{sm:480},children:[(0,Z.jsxs)(In.Z,{component:"div",children:["add"===r&&(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("router.cert.source")}),(0,Z.jsx)(Ln.Z,{"aria-label":"cert-source",name:"certSource",value:C,onChange:e=>{w(e.target.value)},children:Object.values(k).map((e=>(0,Z.jsx)($t.Z,{value:e.value,control:(0,Z.jsx)(An.Z,{}),label:e.name},e.value)))})]}),"upload"===C&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("router.cert.name")}),(0,Z.jsx)(M.Qr,{name:"name",control:S,rules:{validate:e=>!!e.trim()||o("common.requiredErrorText",{name:o("router.cert.name")})},render:e=>{let{field:{value:t,onChange:n}}=e;return(0,Z.jsx)(W.Z,{fullWidth:!0,autoFocus:!0,defaultValue:t,onChange:n,error:!!F.name,autoComplete:"off",variant:"outlined",name:"name",className:"form-item-value","data-cy":"certificate-name-textfield",helperText:F.name&&F.name.message})}})]}),"add"===r&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("router.cert.nginx.pem")}),(0,Z.jsx)("div",{className:"form-item-value",children:(0,Z.jsxs)("div",{...L({className:"dropzone"}),children:[(0,Z.jsx)("input",{...U(),"data-cy":"pem-input"}),f&&(0,Z.jsx)(l.Z,{color:"secondary",children:f.name}),!f&&(0,Z.jsx)(l.Z,{color:"secondary",children:o("router.cert.nginx.empty")}),(0,Z.jsx)(l.Z,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.pemTip")})]})})]}),(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("router.cert.nginx.key")}),(0,Z.jsx)("div",{className:"form-item-value",children:(0,Z.jsxs)("div",{...I({className:"dropzone"}),children:[(0,Z.jsx)("input",{...O(),"data-cy":"key-input"}),u&&(0,Z.jsx)(l.Z,{color:"secondary",children:u.name}),!u&&(0,Z.jsx)(l.Z,{color:"secondary",children:o("router.cert.nginx.empty")}),(0,Z.jsx)(l.Z,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.keyTip")})]})})]})]})]}),"lets_encrypt"===C&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("section",{className:"form-item",children:(0,Z.jsx)(G.Z,{type:"success",children:o("router.cert.genLetsEncryptCert.dnsTip")})}),(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("common.domain")}),(0,Z.jsx)(M.Qr,{name:"domain",control:S,rules:{validate:e=>!!e.trim()||o("common.requiredErrorText",{name:o("common.domain")})},render:e=>{let{field:{value:t,onChange:n}}=e;return(0,Z.jsx)(W.Z,{fullWidth:!0,autoFocus:!0,defaultValue:t,error:!!F.domain,autoComplete:"off",variant:"outlined",className:"form-item-value",helperText:F.domain&&F.domain.message,onChange:n})}})]})]})]}),!!y&&(0,Z.jsx)(G.Z,{type:"error",style:{marginTop:8},children:y})]})})})]})}var zn=n(96366);function Bn(e){const t=(0,zn.Z)(),{t:n}=(0,c.PE)(),[r,a]=(0,i.useState)(!1),[o,l]=(0,i.useState)(null),{id:s,onDelete:d=(()=>{}),...m}=e,{refresh:u}=L(),p=(0,v.Z)(),f={title:n("router.cert.delete.title"),description:n("router.cert.delete.description"),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:async()=>{a(!0);try{await p.deleteCertificate({input:{id:s}}),u(),d()}catch(e){console.error(e)}finally{a(!1),l(null)}},onCancel:()=>{a(!1),l(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(B.Z,{edge:"end",onClick:()=>l(f),size:"small",className:"rule-action",variant:"text","data-cy":"action-delete-cert",style:{color:t.palette.error.main},...m,children:[r?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:16}}),n("common.delete")]}),o&&(0,Z.jsx)(H.Z,{title:o.title,description:o.description,confirm:o.confirm,cancel:o.cancel,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}var Mn,Wn,Gn=n(1577),qn=n.n(Gn),Yn=n(95335),Kn=n(45568),Hn=n(29034);function Vn(e){const{certificate:t={},...n}=e,{t:r,locale:a}=(0,c.PE)(),[o,s]=(0,i.useState)(!1),d=(0,Yn.Z)(),m=[{id:"matchedSites",name:r("router.cert.matchedSites"),value:(t.matchedSites||[]).map((e=>(0,Z.jsx)(l.Z,{component:"div",style:{fontWeight:"inherit",fontSize:"1.1rem"},children:e.domain},e.id)))},{id:"updatedAt",name:r("common.updatedAt"),value:(0,b.B2)(t.updatedAt,a)},{id:"createdAt",name:r("common.createdAt"),value:(0,b.B2)(t.createdAt,a)}],u=[{id:"boundDomains",name:r("router.cert.boundDomains"),value:(0,Z.jsx)(l.Z,{component:"span",style:{fontSize:"1.1rem"},children:(Se()(t,"sans")||[]).join(", ")})},{id:"issuer",name:r("common.issuer"),value:Se()(t,"meta.issuer.commonName","")},{id:"fingerprint",name:r("common.fingerprint"),value:Se()(t,"meta.fingerprint")},{id:"fingerprintAlg",name:r("router.cert.fingerprintAlg"),value:Se()(t,"meta.fingerprintAlg")},{id:"validityPeriod",name:r("router.cert.validityPeriod"),value:qn().duration(Se()(t,"meta.validityPeriod"),"ms").humanize()},{id:"issuedOn",name:r("router.cert.issuedOn"),value:(0,b.pz)(Se()(t,"meta.validFrom"),a)},{id:"expiryOn",name:r("router.cert.expiryOn"),value:(0,b.pz)(Se()(t,"meta.validTo"),a)}];return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(B.Z,{edge:"end",onClick:()=>s(!0),size:"small",className:"rule-action",variant:"text",color:"secondary","data-cy":"action-view-cert",...n,children:[(0,Z.jsx)(Kn.Z,{style:{fontSize:16}}),r("common.detail")]}),(0,Z.jsxs)(Un.ZP,{title:r("router.cert.detail.title"),"aria-labelledby":"certificate details",fullWidth:!0,open:o,showCloseButton:!1,actions:(0,Z.jsx)(B.Z,{autoFocus:!0,variant:"contained",onClick:()=>{s(!1)},color:"secondary",children:r("common.close")}),children:[(0,Z.jsx)(In.Z,{component:"div",style:{margin:d.spacing(2)},children:m.map((e=>(0,Z.jsx)(_e.Z,{nameWidth:200,valueComponent:"div",name:e.name,children:e.value},e.id)))},"cert-basic"),(0,Z.jsx)(Hn.Z,{}),(0,Z.jsx)(In.Z,{component:"div",style:{margin:d.spacing(2)},children:u.map((e=>(0,Z.jsx)(_e.Z,{nameWidth:200,valueComponent:"div",name:e.name,children:e.value},e.id)))},"cer-info"),(0,Z.jsx)(Hn.Z,{})]})]})}function Qn(e){const{certificate:t,style:n,...r}=e,{t:a}=(0,c.PE)(),[o,s]=(0,i.useState)(!1),d=t.matchedSites||[];return(0,Z.jsxs)(l.Z,{component:"ul",...r,style:{...n,listStyle:"none"},children:[(o?d:d.slice(0,4)).map((e=>(0,Z.jsx)(l.Z,{component:"li",style:{fontSize:"1.1rem",margin:"4px 0"},children:e.domain},e.id))),d.length>4&&(0,Z.jsx)(B.Z,{style:{border:"none",padding:"5px 0"},variant:"outlined",color:"primary",className:"button",onClick:()=>{s(!o)},children:a(o?"common.collapseAll":"common.expandAll")})]})}Qn.defaultProps={style:{}};const Xn=e=>{if(!e)return!1;return e-+new Date<=0},Jn="ssl-certificates-table";function $n(e){let{name:t,value:n,style:r={},icon:i,...a}=e;return(0,Z.jsxs)(er,{style:{display:"flex",alignItems:"center",...r},...a,children:[(0,Z.jsxs)("span",{children:[t,":"]}),(0,Z.jsx)("span",{children:n}),i&&i]})}const er=a.Z.div(Mn||(Mn=(0,r.Z)(["\n & > span {\n margin: 5px;\n }\n"])));function tr(e){let{status:t,source:n,expiresTime:r}=e;const{t:i}=(0,c.PE)();return Xn(r)?(0,Z.jsx)(Rn.Z,{type:"error",children:i("router.cert.expired")}):"upload"===n?(0,Z.jsx)(Rn.Z,{type:"success",children:i("common.normal")}):"error"===t?(0,Z.jsx)(Rn.Z,{type:"error",children:i("common.error")}):"generated"===t?(0,Z.jsx)(Rn.Z,{type:"success",children:i("common.normal")}):""}tr.defaultProps={status:"",source:""};const nr=(e,t)=>{if(!t)return e;const n=(t.site.domainAliases||[]).map((e=>e.value));return e.filter((e=>(0,x.kO)(n,e.matchedSites)))};function rr(){var e;const{t:t,locale:n}=(0,i.useContext)(c.RD),r=(0,v.Z)(),{api:a}=(0,j.h6)(),o=(0,kn.Z)().get("did"),s=(0,u.Z)((async()=>{const{certificates:e}=await r.getCertificates();let t=null;if(o){const{blocklet:e}=await a.getBlocklet({input:{did:o,attachRuntimeInfo:!0}});t=e}return{certificates:nr(e,t)}})),d=()=>{s.retry()},m=null===(e=s.value)||void 0===e?void 0:e.certificates,p=[{label:t("common.certificate"),name:"",verticalKeyAlign:"center",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const n=m[e];return(0,Z.jsxs)(Z.Fragment,{children:[n.name&&(0,Z.jsx)($n,{nowrap:!0,style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.name"),value:n.name}),(0,Z.jsx)($n,{style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.issuer"),value:Se()(n,"meta.issuer.commonName","")}),(0,Z.jsx)($n,{style:{fontSize:"16px",whiteSpace:"nowrap"},icon:(0,Z.jsx)(Nt.Z,{title:n.isProtected?t("router.cert.protectedCertHelperText"):t("router.cert.unprotectedCertHelperText"),children:(0,Z.jsx)(Tn.Z,{style:{fontSize:"18px"},color:"secondary"})}),name:t("common.protected"),value:n.isProtected?t("common.yes"):t("common.no")})]})}}},{label:t("router.cert.boundDomains"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(l.Z,{noWrap:!0,component:"ul",style:{listStyle:"none"},children:[...new Set([...Se()(t,"meta.sans")||[],t.domain])].map((e=>(0,Z.jsx)(l.Z,{component:"li",title:e,style:{fontSize:"1.1rem",minWidth:200,whiteSpace:"initial",wordBreak:"break-all"},children:e},e)))})}}},{label:t("router.cert.source"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const n=m[e];return t("router.cert.sourceTypes.".concat(n.source))}}},{label:t("common.status"),name:"",width:100,options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(tr,{status:t.status,source:t.source,expiresTime:Se()(t,"meta.validTo")})}}},{label:t("common.expires"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(pe.Z,{value:Se()(t,"meta.validTo"),locale:n})}}},{label:t("router.cert.matchedSites"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(Qn,{id:t.id,certificate:t,style:{minWidth:200,whiteSpace:"initial",wordBreak:"break-all"}})}}},{label:t("router.cert.action"),name:"",align:"center",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsxs)(Z.Fragment,{children:[!t.isProtected&&(0,Z.jsxs)(Z.Fragment,{children:["upload"===t.source&&(0,Z.jsx)("div",{children:(0,Z.jsx)(Fn,{mode:"update",certificate:t,onRefresh:d})}),(0,Z.jsx)("div",{children:(0,Z.jsx)(Bn,{id:t.id,onDelete:d})})]}),(0,Z.jsx)("div",{children:(0,Z.jsx)(Vn,{id:t.id,certificate:t})})]})})}}}];if(s.error)return(0,Z.jsx)(G.Z,{type:"error",children:(0,x.Z)(s.error)});if(s.loading)return(0,Z.jsx)(q.Z,{});const f=(0,fe.$)(Jn);return(0,Z.jsx)(ir,{children:(0,Z.jsx)(fe.Z,{title:(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(Fn,{mode:"add",onRefresh:d,variant:"contained"})}),locale:n,data:s.value.certificates,columns:p,verticalKeyWidth:100,durable:Jn,options:{search:!1,download:!1,filter:!1,print:!1,...f}})})}const ir=a.Z.div(Wn||(Wn=(0,r.Z)(["\n .header {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n margin-top: 20px;\n }\n\n margin-bottom: 24px;\n .table-cell {\n span {\n font-size: 18px;\n }\n @media (max-width: ","px) {\n span {\n font-size: 15px;\n }\n }\n }\n .match-sites-cell,\n .expires-cell {\n min-width: 100px;\n }\n .actions {\n text-align: center;\n @media (max-width: ","px) {\n .MuiButton-root {\n padding: 6px;\n }\n }\n }\n"])),(e=>e.theme.breakpoints.values.sm),(e=>e.theme.breakpoints.values.sm));var ar,or=n(62362),lr=n(90067);const sr=(0,n(50844).Z)((e=>({root:{color:e.palette.primary.main,height: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}})))(or.ZP);function cr(){const{info:{routing:e}}=(0,j.h6)(),{t:t}=(0,c.PE)(),[n,r]=(0,i.useState)(!1),a=e.requestLimit||{};"boolean"!==typeof a.enabled&&(a.enabled=!1),"number"!==typeof a.rate&&(a.rate=h.GATEWAY_REQ_LIMIT.min),a.ipHeader||(a.ipHeader="");const{handleSubmit:o,control:s,watch:d}=(0,M.cI)({defaultValues:{requestLimit:a,cacheEnabled:"boolean"!==typeof e.cacheEnabled||e.cacheEnabled}}),m=d("requestLimit.enabled"),u=d("requestLimit.rate"),p=async e=>{try{r(!0),await(0,v.Z)().updateGateway({input:e}),await(0,b._v)(1e3),z.Z.success(t("common.saveSuccess"))}catch(n){z.Z.error((0,b.Z)(n))}finally{r(!1)}};return(0,Z.jsx)(dr,{children:(0,Z.jsx)($.Z,{permission:"mutate_node",children:e=>(0,Z.jsxs)(ee,{className:"form",noValidate:!0,autoComplete:"off",onSubmit:o(p),children:[(0,Z.jsx)(M.Qr,{name:"cacheEnabled",control:s,render:n=>{let{field:{value:r,onChange:i}}=n;return(0,Z.jsx)(Y.Z,{checked:r,disabled:!e,onChange:e=>i(e.target.checked),labelProps:{label:(0,Z.jsx)(l.Z,{children:(0,Z.jsx)("span",{children:t("router.gateway.cacheEnabled.switchLabel")})})},style:{marginTop:16}})}}),(0,Z.jsx)(M.Qr,{name:"requestLimit.enabled",control:s,render:n=>{let{field:{value:r,onChange:i}}=n;return(0,Z.jsx)(Y.Z,{checked:r,disabled:!e,onChange:e=>i(e.target.checked),labelProps:{label:(0,Z.jsx)(l.Z,{children:(0,Z.jsx)("span",{children:t("router.gateway.reqLimit.switchLabel")})})},style:{marginTop:16}})}}),m&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{className:"form-item",children:[(0,Z.jsx)(l.Z,{id:"request-limit-rate-label",gutterBottom:!0,children:t("router.gateway.reqLimit.rate",{rate:u})}),(0,Z.jsx)(M.Qr,{name:"requestLimit.rate",control:s,render:t=>{let{field:{value:n,onChange:r}}=t;return(0,Z.jsx)(sr,{disabled:!e,onChange:(e,t)=>r(t),defaultValue:n,valueLabelDisplay:"auto",step:1,min:h.GATEWAY_REQ_LIMIT.min,max:h.GATEWAY_REQ_LIMIT.max})}})]}),(0,Z.jsx)(M.Qr,{name:"requestLimit.ipHeader",control:s,render:r=>{let{field:{value:i,onChange:a}}=r;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(W.Z,{variant:"outlined",disabled:n||!e,className:"form-item",label:t("router.gateway.reqLimit.ipHeaderLabel"),margin:"normal",value:i,onChange:a}),(0,Z.jsx)(lr.Z,{id:"req-limit-ip_header-desc",children:t("router.gateway.reqLimit.ipHeaderDesc")})]})}})]}),(0,Z.jsx)("div",{className:"form-actions",children:e&&(0,Z.jsxs)(B.Z,{disabled:n,onClick:o(p),color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[t("common.save")," ",n&&(0,Z.jsx)(q.Z,{size:16})]})})]})})})}const dr=a.Z.div(ar||(ar=(0,r.Z)(["\n display: flex;\n align-items: flex-start;\n width: 100%;\n max-width: 720px;\n"])));var mr;function ur(){const e=(0,o.useNavigate)(),{node:t}=(0,i.useContext)(j.sy),{t:n}=(0,i.useContext)(c.RD),{tab:r="basic"}=(0,o.useParams)(),a=[{label:n("common.basic"),value:"basic"},{label:n("router.routerSetting"),value:"router"},{label:n("router.certSetting"),value:"cert"},{label:n("common.gateway"),value:"gateway"},{label:n("common.webhook"),value:"integration"},{label:n("common.about"),value:"about"}],d={basic:le,integration:ve,about:Je,router:(0,Z.jsx)(A,{children:(0,Z.jsx)(Sn,{})}),gateway:cr,cert:(0,Z.jsx)(A,{children:(0,Z.jsx)(rr,{})})},m=d[r]||d.basic;return(0,Z.jsxs)(pr,{children:[(0,Z.jsx)(l.Z,{component:"h2",variant:"h4",className:"page-header",color:"textPrimary",children:n("common.setting")}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(s.Z,{tabs:a,current:r,onChange:t=>{e("/settings/".concat(t))},scrollButtons:"auto"}),(0,Z.jsx)("div",{className:"page-content",children:(0,i.isValidElement)(m)?m:(0,Z.jsx)(m,{node:t})})]})]})}const pr=a.Z.main(mr||(mr=(0,r.Z)(["\n .page-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .page-content {\n margin-top: 16px;\n }\n"])))},44543:(e,t,n)=>{const r=n(57156);e.exports=(e,t)=>r(e)===r(t)},44784:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var r,i=n(71171),a=n(33518),o=n(82790),l=n(96266);function s(e){let{labelProps:t,className:n,style:r,...i}=e;const a={...t,labelPlacement:(null===t||void 0===t?void 0:t.labelPlacement)||"start"};return(0,l.jsx)(c,{className:n,style:r,children:(0,l.jsx)(o.Z,{labelProps:a,...i})})}s.propTypes=o.Z.propTypes,s.defaultProps=o.Z.defaultProps;const c=a.Z.div(r||(r=(0,i.Z)(["\n max-width: 300px;\n > label {\n display: flex;\n justify-content: space-between;\n width: 100%;\n margin-left: 0;\n margin-right: 0;\n }\n "," {\n max-width: 100%;\n }\n"])),(e=>{let{theme:t}=e;return t.breakpoints.down("sm")})),d=s},81010:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(5057),i=n(55898),a=n.n(i),o=n(44846),l=n(75239),s=n(68420),c=n(38242),d=n(69569),m=n(22228),u=n(96266);const p={yellow:"#FFCF71",grey:"#888888"};function f(e){let{status:t,variant:n,source:i,progress:a,...f}=e;const{t:h}=(0,r.useContext)(s.RD),x={added:p.grey,waiting:p.yellow,downloading:p.yellow,extracting:p.yellow,downloaded:p.grey,installing:p.yellow,installed:p.grey,starting:p.yellow,running:"success",stopping:p.yellow,stopped:p.grey,error:"error",upgrading:p.yellow,restarting:p.yellow,corrupted:"error",deleting:p.yellow},g=(0,c.isInProgress)(t),y=h("blocklet.status.".concat(t));return"dot"===n?(0,u.jsx)(l.Z,{title:h("blocklet.statusTip",{status:y}),children:(0,u.jsx)(d.Z,{color:x[t],...f})}):(0,u.jsxs)(m.Z,{type:{added:"primary",waiting:"warning",downloading:"warning",extracting:"warning",downloaded:"primary",installing:"warning",installed:"primary",starting:"warning",running:"success",stopping:"warning",stopped:"reverse",error:"error",upgrading:"warning",restarting:"warning",corrupted:"error",deleting:"warning"}[t],...f,children:[g&&(0,u.jsx)(o.Z,{size:12,color:"inherit",style:{marginRight:5}}),y,"downloading"===t&&a?(0,u.jsx)("div",{style:{marginLeft:5},children:"".concat(a," %")}):null]})}f.propTypes={status:a().string.isRequired,variant:a().oneOf(["dot","tag"]),source:a().string,progress:a().number},f.defaultProps={variant:"tag",source:"",progress:0}},78410:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(5057),i=n(86229),a=n(28726),o=n(44846),l=n(68420),s=n(14491),c=n(58238),d=n(70461),m=n(96266);function u(e){let{teamDid:t,size:n="small",...u}=e;const{t:p}=(0,l.PE)(),{api:f}=(0,c.h6)(),[h,x]=(0,r.useState)(!1),[g,y]=(0,r.useState)(null),j={title:p("blocklet.config.clearCache.title"),description:p("blocklet.config.clearCache.description"),confirm:p("common.confirm"),cancel:p("common.cancel"),onConfirm:async()=>{try{var e;x(!0);const n=await f.clearCache({input:{teamDid:t}});i.Z.success(p("blocklet.config.clearCache.success",{count:(null===(e=n.removed)||void 0===e?void 0:e.length)||0}))}catch(n){i.Z.error((0,s.Z)(n))}finally{x(!1),y(null)}},onCancel:()=>{x(!1),y(null)}};return(0,m.jsxs)("div",{...u,children:[(0,m.jsxs)(a.Z,{onClick:()=>y(j),color:"error",variant:"outlined",size:n,children:[h?(0,m.jsx)(o.Z,{size:16,style:{marginRight:5}}):null,p("blocklet.config.clearCache.action")]}),g&&(0,m.jsx)(d.Z,{title:g.title,description:g.description,confirm:g.confirm,cancel:g.cancel,onConfirm:g.onConfirm,onCancel:g.onCancel})]})}},50185:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(5057),i=n(55898),a=n.n(i),o=n(12937),l=n(68420),s=n(96266);function c(e){let{children:t,...n}=e;const{t:i}=(0,r.useContext)(l.RD);return(0,s.jsx)(o.Z,{tip:i("common.copyTip"),copiedTip:i("common.copiedTip"),...n,children:t})}c.propTypes={children:a().any.isRequired}},71363:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(55898),i=n.n(r),a=n(11750),o=n(47020),l=n(93938),s=n(68420),c=n(50185),d=n(70461),m=n(96266);function u(e){let{title:t,description:n,confirmPlaceholder:r,cancel:i,confirm:u,params:p,onCancel:f,onConfirm:h,keyName:x}=e;const{t:g}=(0,s.PE)(),y={title:()=>(0,m.jsxs)("div",{children:[t," (".concat(x,")")]}),description:(e,t)=>(0,m.jsxs)("div",{children:[(0,m.jsx)(l.Z,{severity:"warning",style:{width:"100%"},children:g("common.notice")}),(0,m.jsx)("div",{style:{marginTop:24,marginBottom:24},dangerouslySetInnerHTML:{__html:n}}),(0,m.jsxs)("div",{style:{marginBottom:24},children:[g("common.click"),"\uff1a",(0,m.jsx)(c.Z,{"data-cy":"click-copy",children:x})]}),(0,m.jsx)(a.Z,{component:"div",children:(0,m.jsx)(o.Z,{label:r,autoComplete:"off","data-cy":"delete-confirm-input",variant:"outlined",fullWidth:!0,autoFocus:!0,value:e.inputVal,onChange:n=>{var r;r={...e,inputVal:n.target.value,__disableConfirm:x!==n.target.value},t({...r,__disableConfirm:r.__disableConfirm})}})})]}),confirm:u,cancel:i,onConfirm:h,onCancel:f,params:{inputVal:"",__disableConfirm:!0,...p}};return(0,m.jsx)(d.Z,{title:y.title,description:y.description,confirm:y.confirm,cancel:y.cancel,params:y.params,onConfirm:y.onConfirm,onCancel:y.onCancel})}u.propTypes={title:i().any.isRequired,keyName:i().any.isRequired,description:i().any.isRequired,confirmPlaceholder:i().any.isRequired,cancel:i().string,confirm:i().string,params:i().object,onCancel:i().func,onConfirm:i().func.isRequired},u.defaultProps={onCancel:()=>{},cancel:"",confirm:"Confirm",params:{}}},69569:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r,i=n(71171),a=n(33518);const o={success:"#3ab39d",error:"#D0021B"},l="10px",s=a.Z.div(r||(r=(0,i.Z)(["\n display: inline-block;\n min-width: ",";\n min-height: ",";\n background: ",";\n border-radius: 100%;\n"])),(e=>e.size||l),(e=>e.size||l),(e=>o[e.color]||e.color||o.success))},22228:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var r=n(55898),i=n.n(r),a=n(19778),o=n(96266);function l(e){let{children:t,style:n,...r}=e;return(0,o.jsx)(a.Z,{style:n,...r,children:t})}l.propTypes={children:i().any.isRequired,style:i().object},l.defaultProps={style:{}}}}]);
|
|
1
|
+
(self.webpackChunk_abtnode_webapp=self.webpackChunk_abtnode_webapp||[]).push([[5059],{43120:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r.Z});var r=n(70461)},30756:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r.Z});var r=n(71363)},7199:(e,t,n)=>{"use strict";n.d(t,{V:()=>r.V,Z:()=>r.Z});var r=n(63406)},24138:(e,t,n)=>{"use strict";n.d(t,{BZ:()=>g,ZN:()=>y});var r=n(5057),i=n(6352),a=n.n(i),o=n(35432),l=n(49714),s=n(41365),c=n.n(s),d=n(32243),m=n.n(d),u=n(68420),p=n(46090);const f=m()((e=>c()(a()(new URL(e).origin,o.WELLKNOWN_PING_PREFIX)))),h={};function x(e){let{urls:t,checkAccessible:n=c(),disableCache:i=!1}=e;const a=(0,r.useRef)(t.filter((e=>h[e])).map((e=>h[e]))),o=a.current.length===t.length,[s,d]=(0,r.useState)(o?a.current:[]),[m,u]=(0,r.useState)(!o),p=(0,r.useMemo)((()=>!m&&s.length?s[0]:null),[s,m]);return(0,r.useEffect)((()=>{if((null===t||void 0===t?void 0:t.length)>0&&!o){(async()=>{let e;if(u(!0),i)e=await(0,l.evaluateURLs)(t,{checkAccessible:n}),e.forEach((e=>{h[e.url]=e}));else{(await(0,l.evaluateURLs)(t.filter((e=>!h[e])),{checkAccessible:n})).forEach((e=>{h[e.url]=e})),e=t.map((e=>h[e])).sort(((e,t)=>t.score-e.score))}d(e),u(!1)})()}}),[t,i,o]),{urlsState:s,loading:m,recommendedUrlState:p,recommendedUrl:null===p||void 0===p?void 0:p.url}}function g(e){const{locale:t}=(0,r.useContext)(u.RD),n=(0,r.useMemo)((()=>e?(0,p.A6)({blocklet:e,params:(0,p.f0)(e,t)}):[]),[e,t]),{loading:i,recommendedUrlState:a,recommendedUrl:o}=x({urls:n,checkAccessible:f});return{urls:n,loading:i,recommendedUrlState:a,recommendedUrl:o}}function y(e){const t=(0,r.useMemo)((()=>e.map((e=>(0,p.Sk)(e)))),[e]),{urlsState:n,loading:i,recommendedUrl:a}=x({urls:t,checkAccessible:f});let o;if(i)o={domainsAccessibility:e.reduce(((e,t)=>({...e,[t]:{loading:!0}})),{}),recommendedDomain:null};else{var l;const e=n.reduce(((e,t)=>{const n=new URL(t.url).hostname;return e[n]={...t,domain:n},e}),{}),t=(null===(l=n.find((e=>e.accessible)))||void 0===l?void 0:l.url)||a;o={domainsAccessibility:e,recommendedDomain:t?new URL(t).hostname:null}}return o}},55059:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>ur});var r=n(71171),i=n(5057),a=n(33518),o=n(85493),l=n(11750),s=n(94464),c=n(68420),d=n(62219),m=n.n(d),u=n(74511),p=n(57156),f=n.n(p),h=n(35432),x=n(46090),g=n(4651),y=n(33234),j=n(75793),v=n(10155),b=n(74094),Z=n(96266);const C="Dashboard",w=(0,i.createContext)({}),{Provider:P,Consumer:E}=w,S=[C,h.DOMAIN_FOR_IP_SITE,h.DOMAIN_FOR_IP_SITE_REGEXP],_=(e,t)=>{if(e.name===h.DOMAIN_FOR_DEFAULT_SITE)return-1;if(t.name===h.DOMAIN_FOR_DEFAULT_SITE)return 1;const n=S.includes(e.name),r=S.includes(t.name);return n&&r?(0,b.W8)(e.name,t.name):n?-1:r?1:(0,b.W8)(e.name,t.name)},T=e=>{let{sites:t,nodePort:n}=e;const r=window.location.host,i=(t||[]).map((e=>{const{id:t,rules:i=[],corsAllowedOrigins:a=[]}=e;let{domain:o,domainAliases:l}=e;l=l||[],[h.DOMAIN_FOR_IP_SITE,h.DOMAIN_FOR_IP_SITE_REGEXP].includes(o)&&(o=C,l.find((e=>e.value===r))||l.unshift({protected:!1,value:r}));const s={id:t,name:o,type:"domain",items:[],domainAliases:l,isProtected:e.isProtected,corsAllowedOrigins:a};return(i||[]).forEach((e=>{const{id:t,isProtected:r,from:{pathPrefix:i},to:a}=e;if(a.type===h.ROUTING_RULE_TYPES.BLOCKLET){let e="";Number.parseInt(a.port,10)===Number.parseInt(n,10)?(e="Blocklet Server Dashboard",a.type=h.ROUTING_RULE_TYPES.DAEMON):e=a.did,s.items.push({id:t,name:f()(i||"/"),title:e,type:"rule",isProtected:r,pathPrefix:i,to:a})}else s.items.push({id:t,pathPrefix:i,name:f()(i||"/"),title:"Blocklet Server Dashboard",type:"rule",isProtected:r,to:a})})),s.items=m()(s.items,(e=>e.name)),s})).sort(_),a=i.reduce(((e,t)=>{let{name:n}=t;return n.endsWith(h.BLOCKLET_SITE_GROUP_SUFFIX)&&([n]=n.split(".")),e[n]={...t,rules:t.items},e}),{});return{sites:i,siteMap:a}},R=function(){let{did:e,domain:t,mountPoint:n,siteMap:r,params:i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r)return null;const a=r[e];if(!a)return null;const o=t||(a.domainAliases||[])[0];if(!o)return null;let l=n;if(!l){const e=a.rules.filter((e=>!e.name.startsWith(h.WELLKNOWN_PATH_PREFIX)))[0];l=e?e.name:"/"}return(0,x.Sk)(o.value,l,i)},k=function(){let{did:e,mountPoint:t,siteMap:n,params:r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!n)return[];const i=n[e];if(!i)return[];const a=i.domainAliases||[];if(!a.length)return[];let o=t;if(!o){const e=i.rules.filter((e=>!e.name.startsWith(h.WELLKNOWN_PATH_PREFIX)))[0];o=e?e.name:"/"}return a.map((e=>(0,x.Sk)(e.value,o,r)))},N=e=>{const t=e.map((e=>e.domain)).filter((e=>![h.DOMAIN_FOR_IP_SITE_REGEXP,h.DOMAIN_FOR_DEFAULT_SITE].includes(e)));let n=[];return e.forEach((e=>n.push(...e.domainAliases||[]))),n=n.map((e=>"string"===typeof e?{value:e,isProtected:!1}:e)),{domains:t,domainsAliases:n}};function A(e){let{children:t}=e;const n=(0,v.Z)(),{info:r}=(0,j.h6)(),[a,o]=(0,i.useState)([]),[l,s]=(0,i.useState)([]),[c,d]=(0,i.useState)([]),m=(0,u.Z)((async()=>{const{sites:e}=await n.getRoutingSites({input:{snapshotHash:""}}),t=e||[];await Promise.all(t.map((async e=>(e.domainAliases=await(0,g.Q6)(e.domainAliases,{getIP:y.Z}),e))));const r=N(t);o(t),s(r.domains),d([window.location.hostname,...r.domains,...r.domainsAliases.map((e=>e.value))])}),[r]),p=(e,t)=>{o((n=>n.map((n=>n.id===e?t.domain?t:{...t,domain:n.domain}:n))))},f={loading:m.loading,error:m.error,refresh:m.retry,api:n,actions:{addSite:async e=>{const t=await n.addRoutingSite({input:e});o(a.concat(t.site))},updateSite:async(e,t)=>{const r=await n.updateRoutingSite({input:{id:e,...t}});if(r.site&&r.site.id){const e=a.findIndex((e=>e.id===r.site.id));-1!==e&&(a.splice(e,1,r.site),o([].concat(a)))}},deleteSite:async e=>{await n.deleteRoutingSite({input:{id:e}}),o(a.filter((t=>t.id!==e)))},addDomainAlias:async(e,t,r)=>{const i=await n.addDomainAlias({input:{id:e,domainAlias:t,force:r}});p(e,i.site)},deleteDomainAlias:async(e,t)=>{const r=await n.deleteDomainAlias({input:{id:e,domainAlias:t}});p(e,r.site)},takeSnapshot:e=>n.takeRoutingSnapshot({input:{dryRun:!1,message:encodeURIComponent(e)}}),addRule:async(e,t)=>{const{site:r}=await n.addRoutingRule({input:{id:e,rule:t}});p(e,r)},updateRule:async(e,t)=>{const{site:r}=await n.updateRoutingRule({input:{id:e,rule:t}});p(e,r)},deleteRule:async(e,t)=>{const{site:r}=await n.deleteRoutingRule({input:{id:e,ruleId:t}});p(e,r)}}},{sites:h,siteMap:x}=T({sites:a,nodePort:r.port});return f.sites=h,f.siteMap=x,f.domains=l,f.allDomains=c,f.getBlockletUrl=e=>{let{did:t,domain:n,mountPoint:r,params:i}=e;return R({did:t,domain:n,mountPoint:r,siteMap:f.siteMap,params:i})},f.getBlockletUrls=e=>{let{did:t,mountPoint:n,params:r}=e;return k({did:t,mountPoint:n,siteMap:f.siteMap,params:r})},(0,Z.jsx)(P,{value:{routing:f},children:t})}function L(){const{routing:e}=(0,i.useContext)(w);return e}function U(e){const t=[h.DOMAIN_FOR_IP_SITE_REGEXP,h.DOMAIN_FOR_DEFAULT_SITE,h.DOMAIN_FOR_IP_SITE];return"undefined"!==typeof window&&"undefined"!==typeof window.location&&t.push(window.location.hostname),t.includes(e)}var I,D=n(39948),O=n(55673),F=n(49390),z=n(86229),B=n(28726),M=n(80506),W=n(47020),G=n(88574),q=n(44846),Y=n(44784),K=n(24065),H=n(43120);function V(){return null}function Q(e){let{confirm:t}=e;const[n,r]=(0,i.useState)(null),{t:a}=(0,c.PE)();return(0,Z.jsxs)(X,{children:[(0,Z.jsx)(V,{message:function(e){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];let l="function"===typeof t?t(e,...i):t;return!l||("string"===typeof l&&(l={description:l}),r({title:a("common.noticeTitle"),description:a("common.leavePageTip"),confirm:a("common.confirm"),cancel:a("common.cancel"),onConfirm:()=>(async e=>{if(e){let t=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";"/"===t?K.Z.push("".concat(e.pathname)):(t.endsWith("/")&&(t=t.substring(0,t.length-1)),K.Z.push("".concat(t).concat(e.pathname))),window.location.reload()}})(e),onCancel:()=>{r(null)},...l}),!1)}}),n&&(0,Z.jsx)(H.Z,{title:n.title,description:n.description,confirm:n.confirm,cancel:n.cancel,params:n.params,onConfirm:n.onConfirm,onCancel:n.onCancel})]})}Q.defaultProps={confirm:null};const X=a.Z.div(I||(I=(0,r.Z)(["\n margin-bottom: 24px;\n .top-btns-alert {\n @media (max-width: ","px) {\n flex-direction: column;\n padding-bottom: 15px;\n padding-right: 20px;\n }\n }\n .top-btns-action {\n @media (max-width: ","px) {\n margin-right: 0px;\n }\n }\n"])),(e=>e.theme.breakpoints.values.sm),(e=>e.theme.breakpoints.values.sm));var J,$=n(7199);function ee(e){let{children:t,...n}=e;return(0,Z.jsx)(te,{children:(0,Z.jsx)("form",{...n,children:t})})}const te=a.Z.div(J||(J=(0,r.Z)(["\n width: 100%;\n\n form {\n width: 100%;\n flex: 1;\n display: flex;\n flex-direction: column;\n\n .form-submit {\n margin-top: 32px;\n margin-right: 32px;\n width: 180px;\n }\n\n .form-actions {\n display: flex;\n @media (max-width: ","px) {\n flex-direction: column;\n width: 100%;\n button {\n width: 100%;\n margin-right: 0;\n }\n }\n }\n\n .form-item {\n margin-top: 16px;\n margin-right: 0;\n }\n }\n"])),(e=>e.theme.breakpoints.values.sm));var ne;const re=e=>({name:e.name,description:e.description,registerUrl:e.registerUrl,webWalletUrl:e.webWalletUrl,nftDomainUrl:e.nftDomainUrl,diskAlertThreshold:e.diskAlertThreshold,enableWelcomePage:!1,enableBetaRelease:!1});function ie(e){let{onSaved:t,title:n,submit:r,disabled:a,...o}=e;const s=(0,j.h6)(),{t:d}=(0,c.PE)(),{control:m,handleSubmit:u,formState:p,reset:f}=(0,M.cI)({defaultValues:re(s.info)}),[x,g]=(0,i.useState)(""),[y,C]=(0,i.useState)(""),[w,P]=(0,i.useState)(!1),[E,S]=(0,i.useState)(s.info.autoUpgrade),[_,T]=(0,i.useState)(!!s.info.enableWelcomePage),[R,k]=(0,i.useState)(!!s.info.enableBetaRelease);(0,i.useEffect)((()=>{let e="";(p.isDirty||E!==s.info.autoUpgrade||_!==!!s.info.enableWelcomePage)&&(e=d("setting.unSavedTip")),C(e)}),[d,s,E,_,p]);const N=async e=>{g(""),P(!0);try{const n=await(0,v.Z)().updateNodeInfo({input:{...e,name:e.name.trim(),description:e.description.trim(),registerUrl:e.registerUrl.trim(),webWalletUrl:e.webWalletUrl.trim(),diskAlertThreshold:e.diskAlertThreshold,autoUpgrade:E,enableWelcomePage:_,enableBetaRelease:R}});await(0,b._v)(1e3),f(re(n.info)),"function"===typeof t&&t(n)}catch(n){g((0,b.Z)(n))}finally{P(!1)}},{errors:A}=p;return(0,Z.jsxs)(ae,{...o,children:[(0,Z.jsxs)(ee,{noValidate:!0,autoComplete:"off",onSubmit:u(N),children:[!!n&&(0,Z.jsx)(l.Z,{component:"h2",variant:"h5",className:"stepper-tip",children:n}),(0,Z.jsx)($.Z,{permission:"mutate_node",children:e=>{var t;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(M.Qr,{name:"name",control:m,rules:{validate:e=>!!e.trim()||d("setting.form.nameRequired")},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.name"),placeholder:d("setting.form.namePlaceholder"),disabled:w||!e,"data-cy":"node-name-input",error:A.name&&!!A.name.message,helperText:A.name?A.name.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"description",control:m,rules:{validate:e=>!!e.trim()||d("setting.form.descriptionRequired")},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.description"),placeholder:d("setting.form.descriptionHolder"),disabled:w||!e,"data-cy":"node-description-input",error:A.description&&!!A.description.message,helperText:A.description?A.description.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"registerUrl",control:m,rules:{},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.registerUrl"),placeholder:d("setting.form.registerUrlPlaceholder"),disabled:w||!e,error:A.registerUrl&&!!A.registerUrl.message,helperText:A.registerUrl?A.registerUrl.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"nftDomainUrl",control:m,rules:{},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.nftDomainUrl"),placeholder:d("setting.form.nftDomainUrlPlaceholder"),disabled:w||!e,error:A.nftDomainUrl&&!!A.nftDomainUrl.message,helperText:A.nftDomainUrl?A.nftDomainUrl.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"webWalletUrl",control:m,rules:{},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.webWalletUrl"),placeholder:d("setting.form.webWalletUrlPlaceholder"),disabled:w||!e,error:A.webWalletUrl&&!!A.webWalletUrl.message,helperText:A.webWalletUrl?A.webWalletUrl.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"diskAlertThreshold",control:m,rules:{},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{type:"number",variant:"outlined",label:d("setting.form.monitor.diskThreshold"),placeholder:d("setting.form.monitor.diskThresholdPlaceholder"),disabled:w||!e,error:A.diskAlertThreshold&&!!A.diskAlertThreshold.message,inputProps:{min:1,max:99},helperText:A.diskAlertThreshold?A.diskAlertThreshold.message:"",margin:"normal",...n})}}),(0,Z.jsx)(Y.Z,{checked:E,onChange:()=>S(!E),name:"autoUpgrade",disabled:!e,labelProps:{label:(0,Z.jsx)(l.Z,{children:(0,Z.jsx)("span",{children:d("setting.form.upgrade.switchLabel")})})},style:{marginTop:20}}),E&&(0,Z.jsx)(Y.Z,{checked:R,onChange:()=>k(!R),name:"enableBetaRelease",disabled:!e,labelProps:{label:(0,Z.jsx)(l.Z,{children:(0,Z.jsx)("span",{children:d("setting.form.upgrade.enableBetaRelease")})})},style:{marginTop:20}}),(null===(t=s.info)||void 0===t?void 0:t.mode)!==h.NODE_MODES.SERVERLESS&&(0,Z.jsx)(Y.Z,{checked:_,onChange:()=>T(!_),name:"enableWelcomePage",disabled:!e,labelProps:{label:(0,Z.jsx)(l.Z,{children:(0,Z.jsx)("span",{children:d("setting.form.welcome.switchLabel")})})},style:{marginTop:16}})]})}}),!!y&&(0,Z.jsx)(G.Z,{type:"warning",variant:"icon",children:y}),(0,Z.jsx)("div",{className:"form-actions",children:(0,Z.jsx)($.Z,{permission:"mutate_node",children:(0,Z.jsxs)(B.Z,{onClick:u(N),disabled:a||w,color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[r," ",w?(0,Z.jsx)(q.Z,{size:16}):null]})})}),!!x&&(0,Z.jsx)(G.Z,{type:"error",variant:"icon",error:x,children:x})]}),y&&(0,Z.jsx)(Q,{confirm:d("setting.unSavedLeaveTip")})]})}ie.defaultProps={disabled:!1};const ae=a.Z.div(ne||(ne=(0,r.Z)(["\n display: flex;\n align-items: flex-start;\n width: 100%;\n max-width: 720px;\n"])));var oe;function le(){const{refresh:e,info:t}=(0,j.h6)(),{t:n}=(0,c.PE)(),[r,a]=(0,i.useState)(!1);(0,i.useEffect)((()=>{e({silent:!0})}),[]);return(0,Z.jsx)(se,{children:(0,Z.jsxs)(D.Z,{mb:4,children:[(0,Z.jsx)(ie,{onSaved:()=>{e({silent:!0}),z.Z.success(n("setting.saveSuccess"))},submit:n("common.saveChanges"),title:""}),(0,Z.jsx)(D.Z,{mt:6,style:{marginLeft:-8},children:(0,Z.jsxs)(B.Z,{onClick:()=>{a((e=>!e))},children:[n("common.readMore"),r?(0,Z.jsx)(O.Z,{}):(0,Z.jsx)(F.Z,{})]})}),r&&(0,Z.jsxs)(D.Z,{fontSize:12,color:"text.secondary",children:[(0,Z.jsxs)(D.Z,{children:[n("dashboard.runtimeConfig.blockletMaxMemoryLimit"),": ",t.runtimeConfig.blockletMaxMemoryLimit," MB"]}),(0,Z.jsxs)(D.Z,{children:[n("dashboard.runtimeConfig.daemonMaxMemoryLimit"),": ",t.runtimeConfig.daemonMaxMemoryLimit," MB"]}),(0,Z.jsxs)(D.Z,{children:[n("dashboard.runtimeConfig.proxyMaxMemoryLimit"),": ",t.runtimeConfig.proxyMaxMemoryLimit," MB"]})]})]})})}const se=a.Z.div(oe||(oe=(0,r.Z)(["\n .eula-btn {\n text-decoration-line: underline;\n margin-top: 32px;\n margin-bottom: 32px;\n }\n\n .danger-zone {\n margin-top: 1vw;\n width: 100%;\n max-width: 720px;\n }\n"])));var ce,de,me,ue=n(93938),pe=n(49384),fe=n(75760),he=n(33271),xe=n(84639),ge=n(27773),ye=n(30756);function je(e){const{t:t}=(0,c.PE)(),[n,r]=(0,i.useState)(!1),[a,o]=(0,i.useState)(null),{item:l,onDelete:s=(()=>{})}=e,{id:d,title:m}=l,u=(0,v.Z)(),p={keyName:d,title:t("setting.webhook.delTitle"),description:"".concat(t("setting.webhook.description",{name:"<b>".concat(m,"</b>"),id:"<b>".concat(d,"</b>")})),confirmPlaceholder:t("setting.webhook.confirm_desc",{name:d}),confirm:t("common.delConfirm"),cancel:t("common.cancel"),onConfirm:async()=>{r(!0);try{await u.deleteWebHook({input:{id:d}}),s()}catch(e){console.error(e)}finally{r(!1),o(null)}},onCancel:()=>{r(!1),o(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(B.Z,{edge:"end",onClick:()=>o(p),size:"small",className:"rule-action",color:"error",children:[n?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:16}}),t("common.delete")]}),a&&(0,Z.jsx)(ye.Z,{keyName:a.keyName,title:a.title,description:a.description,confirmPlaceholder:a.confirmPlaceholder,confirm:a.confirm,cancel:a.cancel,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}function ve(){const{api:e,imgPrefix:t}=(0,j.h6)(),{t:n,locale:r}=(0,i.useContext)(c.RD),[a,o]=(0,i.useState)([]),[l,s]=(0,i.useState)(null),d=(0,u.Z)((async()=>{const[{webhooks:t},{senders:n}]=await Promise.all([e.getWebHooks(),e.getWebhookSenders()]);return o(n),t})),m=d.value||[],{loading:p,error:f}=d,h=()=>{s(null)},x=t=>{const r={title:t.title,description:(e,t,r)=>{const i=e.list||[];return(0,Z.jsx)(be,{children:i.map(((e,a)=>(0,Z.jsx)(Ze,{children:(0,Z.jsx)(W.Z,{label:e.description,autoComplete:"off",variant:"outlined",inputProps:{"data-cy":"webhook-input"},fullWidth:!0,autoFocus:!0,style:{marginBottom:16},margin:"dense",value:e.value||e.defaultValue,onChange:o=>{e.required&&(e.disable=!0);const l=o.target.value.trim();var s;e.value=l,i[a]=e,l?(0,b.rg)(e.type,l)?(e.disable=!1,r("")):(e.disable=!0,r(n("setting.webhook.requiredError",{type:e.type}))):(e.required&&(e.disable=!0),r("")),s=[...i],t({list:s,__disableConfirm:s.some((e=>e.disable))})}})},e.name)))})},params:{list:t.params,__disableConfirm:!0},confirm:n("setting.webhook.add"),cancel:n("common.cancel"),onConfirm:n=>{t.params=n.list,(async t=>{try{await e.createWebHook({input:t}),d.retry()}catch(n){z.Z.error((0,b.Z)(n),{autoHideDuration:4e3}),console.error("create webhook error",n)}s(null)})(t)},onCancel:h};s(r)},g=e=>"slack"===e.type?(0,Z.jsx)("img",{src:"".concat(t,"/").concat(e.type,".png"),alt:"icon",style:{width:20,height:20}}):(0,Z.jsx)(he.Z,{}),y=[{label:n("setting.webhook.columns.description"),name:"id",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:e=>{const t=m[e],n=a.find((e=>e.name===t.name));return(0,Z.jsxs)("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:[g(t),(0,Z.jsxs)("div",{style:{marginLeft:10},children:[(0,Z.jsxs)("b",{children:["ID: ",t.id]}),(0,Z.jsx)("div",{children:n?n.description:null})]})]})}}},{label:n("setting.webhook.columns.params"),name:"params",options:{sort:!1,customBodyRenderLite:e=>{const t=m[e].params.map((e=>(0,Z.jsx)("div",{children:e.value})));return(0,Z.jsx)("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:t})}}},{label:n("setting.webhook.columns.createdAt"),name:"createdAt",options:{customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(pe.Z,{value:Number(t.createdAt),locale:r})}}},{label:n("common.actions"),align:"center",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:t=>{const r=m[t],i=a.find((e=>e.name===r.name))||{};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(je,{item:{...r,title:i.title},onDelete:()=>{d.retry()}}),(0,Z.jsxs)(B.Z,{size:"small",color:"secondary",onClick:()=>{(async t=>{const n={webhookId:t.id,message:"This is a test notification in order to test the integration"};await e.sendTestMessage({input:n})})(r)},children:[(0,Z.jsx)(Ce,{}),n("setting.webhook.test")]})]})}}}];if(!m.length&&p)return(0,Z.jsx)("div",{style:{textAlign:"center",marginTop:"50px"},children:(0,Z.jsx)(q.Z,{})});if(!m.length&&f)return(0,Z.jsx)(ue.Z,{severity:"error",children:(0,b.Z)(f)});const v=a.map((e=>({icon:g(e),title:"".concat(n("common.add")," ").concat(e.title),onClick:()=>{x(e)}})));return(0,Z.jsxs)(be,{children:[l&&(0,Z.jsx)(H.Z,{color:"primary",title:l.title,description:l.description,confirm:l.confirm,params:l.params,onConfirm:l.onConfirm,onCancel:l.onCancel}),(0,Z.jsx)(fe.Z,{columns:y,data:m,locale:r,customButtons:v,verticalKeyWidth:100,options:{download:!1,filter:!1,print:!1}})]})}je.defaultProps={onDelete:()=>{}};const be=a.Z.div(ce||(ce=(0,r.Z)(["\n .button-addon {\n text-align: right;\n }\n\n .add-list {\n width: 420px;\n max-width: calc(100vw - 10px);\n text-align: left;\n background: #fff;\n border-radius: 5px;\n }\n"]))),Ze=a.Z.div(de||(de=(0,r.Z)(["\n display: flex;\n"]))),Ce=(0,a.Z)(xe.Z)(me||(me=(0,r.Z)(["\n font-size: 16px !important;\n margin-right: 3px;\n"])));var we,Pe,Ee=n(43681),Se=n.n(Ee),_e=n(64886),Te=n(19778),Re=n(17450),ke=n(52581);function Ne(e){let{title:t,description:n,children:r}=e;return(0,Z.jsxs)(Ae,{children:[(0,Z.jsxs)(l.Z,{component:"div",className:"danger-item-info",children:[(0,Z.jsx)(l.Z,{className:"title",component:"h3",variant:"h6",color:"textPrimary",gutterBottom:!0,children:t}),(0,Z.jsx)(l.Z,{className:"desc",component:"p",variant:"body1",color:"textSecondary",children:n})]}),(0,Z.jsx)(l.Z,{component:"div",className:"danger-item-action",children:r})]})}const Ae=a.Z.div(we||(we=(0,r.Z)(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n .danger-item-info {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n .title {\n word-break: break-word;\n }\n .desc {\n word-break: break-word;\n }\n }\n\n .danger-item-action {\n width: 160px;\n flex-shrink: 0;\n text-align: right;\n cursor: pointer;\n @media (max-width: ","px) {\n width: auto;\n margin-left: 10px;\n }\n }\n"])),(e=>e.theme.breakpoints.values.sm));function Le(e){let{children:t,...n}=e;return(0,Z.jsx)(Ue,{...n,children:t})}const Ue=a.Z.div(Pe||(Pe=(0,r.Z)(["\n border: 1px solid #dedede;\n padding: 16px;\n"])));function Ie(e){let{action:t}=e;const{t:n}=(0,c.PE)(),{info:r,api:a}=(0,j.h6)(),[o,l]=(0,i.useState)(!1),[s,d]=(0,i.useState)(null);if("upgrade"===t&&!r.nextVersion)return null;const m={title:n("setting.form.".concat(t,".title"),{version:r.nextVersion}),description:n("setting.form.".concat(t,".dialog")),confirm:n("common.confirm"),cancel:n("common.cancel"),onConfirm:async()=>{try{l(!0),"upgrade"===t&&await a.upgradeNodeVersion(),"restart"===t&&await a.restartServer()}catch(e){z.Z.error((0,b.Z)(e))}finally{l(!1),d(null)}},onCancel:()=>{l(!1),d(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Le,{className:"danger-zone",children:(0,Z.jsx)(Ne,{title:n("setting.form.".concat(t,".title"),{version:r.nextVersion}),description:n("setting.form.".concat(t,".description")),children:(0,Z.jsxs)(B.Z,{onClick:()=>d(m),color:"error",variant:"outlined",size:"large",children:[o?(0,Z.jsx)(q.Z,{size:16,style:{marginRight:3}}):null,n("setting.form.".concat(t,".confirm"))]})})}),s&&(0,Z.jsx)(H.Z,{title:s.title,description:s.description,confirm:s.confirm,cancel:s.cancel,onConfirm:s.onConfirm,onCancel:s.onCancel})]})}var De=n(67654),Oe=n(74976),Fe=n(39067),ze=n(24103);function Be(){const{t:e}=(0,c.PE)(),{api:t}=(0,j.h6)(),[n,r]=(0,i.useState)(!1),[a,o]=(0,i.useState)(null),[s,d]=(0,De.Z)("last-check-server-version-time"),m=()=>{r(!1),o(null)},u={title:e("setting.form.upgrade.check"),description:e("setting.form.upgrade.latest"),confirm:e("common.confirm"),showCancel:!1,color:"primary",onConfirm:m,onCancel:m},p=async e=>{try{r(!0);const{version:n}=await t.checkNodeVersion();!n&&e&&o(u),d(Date.now())}catch(n){console.error("Failed to check new version: ".concat(n.message))}finally{r(!1)}};return(0,i.useEffect)((()=>{(!s||Date.now()-Number(s)>6e4)&&p(!1)}),[]),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Fe.Z,{sx:{ml:2},color:"primary",variant:"outlined",onClick:p,size:"small",loadingPosition:"end",loading:n,children:(0,Z.jsxs)(ze.Z,{direction:"row",alignItems:"center",spacing:.5,children:[(0,Z.jsx)(Oe.Z,{fontSize:"small"}),(0,Z.jsx)(l.Z,{component:"span",children:e("server.checkUpgrade")})]})}),a&&(0,Z.jsx)(H.Z,{title:a.title,description:a.description,confirm:a.confirm,showCancel:a.showCancel,color:a.color,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}var Me=n(78410);function We(){const{t:e}=(0,c.PE)(),{info:t}=(0,j.h6)();return(0,Z.jsx)(Le,{className:"danger-zone",children:(0,Z.jsx)(Ne,{title:e("blocklet.config.clearCache.name"),description:e("blocklet.config.clearCache.purpose"),children:(0,Z.jsx)(Me.Z,{teamDid:t.did,size:"large"})})})}var Ge,qe=n(26796),Ye=n(94874),Ke=n.n(Ye);const He="z8iZkFBbrVQxZHvcWWB3Sa2TrfGmSeFz9MSU7";function Ve(){const{t:e,locale:t}=(0,c.PE)(),{info:n}=(0,j.h6)(),r=(0,i.useRef)(null),a=(0,g.RU)(n),[o,l]=(0,i.useState)(!1),s=(0,i.useRef)(null),[d,m]=(0,i.useState)({}),{createdAt:u,did:p,description:f,name:h}=n,x=(0,i.useMemo)((()=>(0,b.i7)()),[]),y=(0,qe.default)((async()=>{var e;let{registerUrl:t}=n;localStorage.getItem("__registerUrl")&&(t=localStorage.getItem("__registerUrl"));const r=new URL(t);r.pathname="__blocklet__.js",r.searchParams.set("type","json");const{data:i}=await Ke().get(r.toString()),a=null===i||void 0===i||null===(e=i.componentMountPoints)||void 0===e?void 0:e.find((e=>e.did===He)),o=new URL(t);return o.pathname=(null===a||void 0===a?void 0:a.mountPoint)||"",o.toString()})),v={did:p,name:h,createdAt:u,description:f,url:a},C=(0,i.useMemo)((()=>d.type&&"notAdded"!==d.type),[d]),w=(0,i.useMemo)((()=>o?e("setting.form.register.detecting"):"update"===d.type?e("setting.form.register.update"):e(C?"setting.form.register.added":"setting.form.register.btn")),[o,d,t]),P=(0,i.useMemo)((()=>"update"!==d.type&&!!C),[d]),E=()=>{clearTimeout(s.current),l(!1),x&&r.current.contentWindow.postMessage({...v,action:"queryRegisterInfo"},"*")};if((0,i.useEffect)((()=>{let t;return window.addEventListener("message",t=t=>{const{data:n}=t;"launcher init"===n?E():"registerNode"===(null===n||void 0===n?void 0:n.action)&&(m(n),"addSucceed"===n.type&&z.Z.success(e("setting.form.register.addSucceed")),"updateSucceed"===n.type&&z.Z.success(e("setting.form.register.updateSucceed")))}),x&&(l(!0),s.current=setTimeout((()=>{z.Z.error(e("setting.form.register.timeout")),l(!1)}),6e3)),()=>{window.removeEventListener("message",t),clearTimeout(s.current)}}),[]),y.loading)return"";const S=y.value,_=x?(0,Z.jsx)(B.Z,{disabled:P,loading:o,onClick:()=>{r.current.contentWindow.postMessage({...v,action:"registerNode"},"*")},color:"primary",variant:"contained",size:"large",children:w}):(0,Z.jsx)(B.Z,{color:"primary",loading:o,component:"a",href:"".concat(S,"?register-server=").concat(encodeURIComponent(JSON.stringify(v))),target:"_blank",variant:"contained",size:"large",children:e("setting.form.register.btn")});return(0,Z.jsxs)(Qe,{children:[(0,Z.jsx)(Le,{className:"danger-zone",children:(0,Z.jsx)(Ne,{title:e(C?"setting.form.register.titleAdded":"setting.form.register.title"),description:e(C?"setting.form.register.descriptionOnAdded":"setting.form.register.description",{url:S}),children:_})}),x&&(0,Z.jsx)("iframe",{ref:r,src:"".concat(S,"?register-detect=1"),title:"register",style:{display:"none"}})]})}const Qe=a.Z.div(Ge||(Ge=(0,r.Z)(["\n .danger-zone {\n margin-top: 1vw;\n width: 100%;\n }\n"])));var Xe;function Je(){const e=(0,o.useNavigate)(),{api:t,info:n}=(0,j.h6)(),{t:r}=(0,c.PE)(),i=(0,u.Z)((async()=>{const e=await t.getNodeEnv();return Object.assign({},e.info||{})})),a=[];return a.push({name:r("dashboard.nodeDid"),value:(0,Z.jsx)(Re.Z,{did:n.did,showQrcode:!0})},n.nodeOwner?{name:r("dashboard.ownerDid"),value:(0,Z.jsx)(Re.Z,{did:n.nodeOwner.did,showQrcode:!0})}:null,{name:r("dashboard.routingEngine"),value:n.routing.provider}),i.value&&a.push({name:"".concat(r("common.os")),value:i.value.os},i.value.docker?{name:"".concat(r("common.docker")),value:(0,Z.jsx)(Te.Z,{type:"success",children:"Yes"})}:null,i.value.gitpod?{name:"".concat(r("common.gitpod")),value:(0,Z.jsx)(Te.Z,{type:"success",children:"Yes"})}:null),Array.isArray(Se()(i,"value.blockletEngines",null))&&i.value.blockletEngines.filter((e=>e.visible&&e.available)).forEach((e=>{a.push({name:e.displayName,value:e.version})})),(0,Z.jsxs)($e,{children:[(0,Z.jsx)($.Z,{permission:"mutate_node",children:e=>(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(D.Z,{display:"flex",alignItems:"center",style:{marginBottom:24},children:[(0,Z.jsx)(D.Z,{width:50,height:50,children:(0,Z.jsx)("img",{src:ke.Z,height:50,alt:""})}),(0,Z.jsxs)(D.Z,{ml:2,children:[(0,Z.jsx)("h2",{style:{margin:0},children:n.name}),(0,Z.jsx)("p",{style:{margin:0,color:"#888"},children:n.description})]})]}),(0,Z.jsxs)(_e.Z,{style:{marginBottom:4},valueComponent:"div",nameWidth:150,name:r("common.version"),children:[n.version,e&&(0,Z.jsx)(Be,{})]},"version"),a.filter(Boolean).map((e=>(0,Z.jsx)(_e.Z,{valueComponent:"div",nameWidth:150,name:e.name,children:e.value},e.name))),e&&(0,Z.jsx)("div",{style:{maxWidth:720,marginBottom:"1vw"},children:(0,Z.jsx)(Ie,{action:"upgrade"})})]})}),(0,Z.jsx)($.Z,{permission:"mutate_node",children:e=>e&&(0,Z.jsx)("div",{style:{maxWidth:720,marginBottom:"1vw"},children:(0,Z.jsx)(Ie,{action:"restart"})})}),(0,Z.jsx)($.Z,{permission:"mutate_router",children:e=>e&&(0,Z.jsx)("div",{style:{maxWidth:720,marginBottom:"1vw"},children:(0,Z.jsx)(We,{})})}),(0,Z.jsx)($.Z,{permission:"mutate_blocklets",children:!!n.registerUrl&&(0,Z.jsx)("div",{style:{maxWidth:720,marginTop:"-1vw"},children:(0,Z.jsx)(Ve,{})})}),(0,Z.jsx)(D.Z,{mt:10,style:{marginLeft:-8},children:(0,Z.jsx)(B.Z,{className:"eula-btn",onClick:()=>{e("/eula")},children:r("common.goEULA")})})]})}const $e=a.Z.div(Xe||(Xe=(0,r.Z)(["\n display: flex;\n flex-direction: column;\n margin-top: 32px;\n"])));var et=n(19577),tt=n(44919),nt=n(52926),rt=n(34937),it=n(24138);const at=(0,i.createContext)({}),{Provider:ot,Consumer:lt}=at;function st(e){let{children:t,domains:n}=e;const r=(0,v.Z)(),a=JSON.stringify(n),[o,l]=(0,i.useState)({}),s=(0,i.useMemo)((()=>n.filter((e=>(0,b.rM)(e)))),[a]);(0,rt.mU)(h.EVENTS.DOMAIN_STATUS,(e=>{e&&l((t=>({...t,[e.domain]:{...t[e.domain],...e}})))}));const{domainsAccessibility:c,recommendedDomain:d}=(0,it.ZN)(s),m=(0,i.useMemo)((()=>{const e={...o};return Object.keys(c).forEach((t=>{const n=e[t]||{};e[t]={...n,...c[t]}})),e}),[o,c]),u=()=>{s.length>0&&r.checkDomains({input:{domains:s}})};(0,i.useEffect)((()=>{u()}),[s]);const p={refresh:u,updateStatus:e=>{e&&r.checkDomains({input:{domains:[e]}})},api:r,status:m,recommendedDomain:d,recommendedDomainStatus:m[d]};return(0,Z.jsx)(ot,{value:p,children:t})}function ct(){const{status:e,recommendedDomainStatus:t,recommendedDomain:n,updateStatus:r}=(0,i.useContext)(at);return{status:e,recommendedDomainStatus:t,recommendedDomain:n,updateStatus:r}}var dt=n(53906),mt=n(74490),ut=n(77277),pt=n(81010);const ft=e=>(Se()(e,"meta.interfaces")||[]).find((e=>e.type===ut.BLOCKLET_INTERFACE_TYPE_WEB));function ht(e){let{params:t,blocklets:n,setParams:r,setError:a,serviceTypes:o}=e;const{t:l}=(0,c.PE)(),s={301:l("common.redirectPermanently"),302:l("common.redirectTemporary"),307:l("common.redirectTemporary"),308:l("common.redirectPermanently")},d=m()(n,(e=>e.meta.name)),u=(e,n)=>{if(!n)return{};let{port:r}=e;n&&e.ports&&n.port&&(e.ports[n.port]&&(r=e.ports[n.port]),e.ports[n.port.internal]&&(r=e.ports[n.port.internal]));let{pathPrefix:i}=t;return n&&n.prefix!==ut.BLOCKLET_DYNAMIC_PATH_PREFIX&&(i=n.prefix),{port:r,pathPrefix:i}},p=e=>{const t=d.find((t=>t.meta.did===e)),n=ft(t);return{...u(t,n),interfaceName:n?n.name:""}};return(0,i.useEffect)((()=>{t.interfaceName||t.type!==h.ROUTING_RULE_TYPES.BLOCKLET||r({...t,...p(t.did),__disableConfirm:!1})}),[]),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(W.Z,{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:e=>{a(""),r({...t,type:e.target.value,__disableConfirm:!1})},style:{marginBottom:32},SelectProps:{},children:o.map((e=>{let{name:t,value:n}=e;return(0,Z.jsx)(mt.Z,{value:n,children:t},n)}))}),t.type===h.ROUTING_RULE_TYPES.BLOCKLET&&(0,Z.jsxs)(W.Z,{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:e=>{r({...t,...p(e.target.value),did:e.target.value,__disableConfirm:!1})},style:{marginBottom:32},children:[d.map((e=>(0,Z.jsxs)(mt.Z,{value:e.meta.did,children:["".concat(e.meta.name," v").concat(e.meta.version),(0,Z.jsx)("span",{style:{marginLeft:8},children:(0,Z.jsx)(pt.Z,{status:e.status,progress:e.progress})})]},e.meta.did))),0===n.length&&(0,Z.jsx)(mt.Z,{value:"",children:l("common.empty")},"empty")]}),t.type===h.ROUTING_RULE_TYPES.REDIRECT&&[(0,Z.jsx)(W.Z,{select:!0,label:l("router.domain.add.redirect"),autoComplete:"off",variant:"outlined",name:"type",fullWidth:!0,value:t.redirectCode,onChange:e=>r({...t,redirectCode:e.target.value}),style:{marginBottom:32},SelectProps:{},children:Object.keys(s).map((e=>(0,Z.jsx)(mt.Z,{value:e,children:"".concat(s[e]," - ").concat(e)},e)))}),(0,Z.jsx)(W.Z,{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:e=>{r({...t,url:e.target.value,__disableConfirm:!e.target.value.trim()}),e.target.value.trim()?a(""):a(l("router.validation.redirectUrlRequired"))}})]]})}ht.defaultProps={params:{},blocklets:[],serviceTypes:[{name:"Blocklet",value:h.ROUTING_RULE_TYPES.BLOCKLET},{name:"Redirect",value:h.ROUTING_RULE_TYPES.REDIRECT},{name:"Default - User will see the 404 page",value:h.ROUTING_RULE_TYPES.NONE}],setParams:()=>{},setError:()=>{}};var xt=n(44543),gt=n.n(xt);const yt=(e,t)=>{if(e.type===h.ROUTING_RULE_TYPES.REDIRECT){if(!e.url)return new Error("".concat(t("router.validation.redirectUrlRequired")));if(!e.redirectCode)return new Error("redirect ".concat(t("router.validation.redirectCodeRequired")))}else if(e.type===h.ROUTING_RULE_TYPES.BLOCKLET&&!e.did)return new Error(t("router.validation.didRequired"));return null},jt=(e,t)=>e?e.endsWith(h.DEFAULT_IP_DOMAIN_SUFFIX)?t("router.domain.validate.suffixTip",{suffix:h.DEFAULT_IP_DOMAIN_SUFFIX}):null:t("router.domain.validate.emptyTip"),vt=(e,t)=>{const n=yt(e,t);if(n)return n;const r=jt(e.domain,t);return r?new Error(r):null},bt=(e,t)=>{const n=yt(e,t);return n||(e.pathPrefix.length?e.pathPrefix.length>150?new Error(t("router.validation.pathPrefixTooLong",{length:150})):null:new Error(t("router.validation.pathPrefixCannotBeEmpty")))},Zt=e=>{let{params:t,blocklets:n,blocklet:r,locale:i="en"}=e;if(r){let e=(r.children||[]).find((e=>gt()(e.mountPoint,t.pathPrefix)));if("gateway"!==r.meta.group&&"/"===t.pathPrefix&&(e="/"),e)return{zh:"\u6302\u8f7d\u70b9 ".concat(t.pathPrefix," \u5df2\u5b58\u5728\uff0c\u8bf7\u4f7f\u7528\u5176\u4ed6\u6302\u8f7d\u70b9"),en:"The mount point ".concat(t.pathPrefix," already exist, please use another mount point")}[i]}const a=n.find((e=>e.meta.did===t.did));if(!a)return"";const o=a.meta.interfaces.find((e=>"web"===e.type));return o&&o.prefix!==ut.BLOCKLET_DYNAMIC_PATH_PREFIX&&t.pathPrefix!==o.prefix?{zh:"\u8be5 blocklet \u53ea\u80fd\u6302\u8f7d\u5728 ".concat(o.prefix),en:"This blocklet can only be mounted on ".concat(o.prefix)}[i]:""},Ct=e=>{if(0===e.length)return"";const{searchParams:t}=new URL(window.location.href),n=t.get("fromDid");if(n){const t=e.find((e=>e.meta.did===n));if(t)return t.meta.did}return e[0].meta.did};function wt(e){let{blocklets:t,onActivate:n=(()=>{}),children:r}=e;const{t:a}=(0,c.PE)(),{actions:o}=L(),{info:s}=(0,j.h6)(),[d,m]=(0,i.useState)(!1),[u,p]=(0,i.useState)(null),f={title:a("router.domain.addSite"),description:(e,n,r)=>{const i=e=>{const t=e.__disableConfirm||!!vt(e,a);n({...e,__disableConfirm:t})};return(0,Z.jsxs)(l.Z,{component:"div",children:[(0,Z.jsx)(W.Z,{label:a("router.domain.add.description"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:e.domain,style:{marginTop:16,marginBottom:32},inputProps:{"data-cy":"domain-name-input"},onChange:t=>{const n=t.target.value.trim(),o=jt(n,a);i({...e,domain:t.target.value,__disableConfirm:!!o}),r(o||"")}}),(0,Z.jsx)(ht,{blocklets:t,params:e,setParams:i,setError:r})]})},confirm:a("router.domain.add.confirm"),cancel:a("router.domain.add.cancel"),params:{domain:"",did:Ct(t),port:"",interfaceName:"",type:h.ROUTING_RULE_TYPES.BLOCKLET,redirectCode:302,__disableConfirm:!0},onConfirm:async e=>{m(!0);const n={from:{pathPrefix:"/"},to:{type:e.type}},r={domain:e.domain.trim()===s.ip?"":e.domain.trim()};if(e.type===h.ROUTING_RULE_TYPES.BLOCKLET){const i=t.find((t=>t.meta.did===e.did)),a=Se()(i,"meta.interfaces",[]).find((t=>t.name===e.interfaceName));a&&a.prefix!==ut.BLOCKLET_DYNAMIC_PATH_PREFIX&&(n.from.pathPrefix=a.prefix),n.to.port=e.port,n.to.did=e.did,n.to.interfaceName=e.interfaceName,r.rules=[n]}else e.type===h.ROUTING_RULE_TYPES.REDIRECT&&(n.to.url=e.url,n.to.redirectCode=e.redirectCode,r.rules=[n]);await o.addSite(r),m(!1),p(null)},onCancel:()=>{m(!1),p(null)}},x=e=>{e.stopPropagation(),p(f)||n()};return(0,i.useEffect)((()=>{const{searchParams:e}=new URL(window.location.href);e.get("fromDid")&&p(f)}),[]),(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof r?r({loading:d,open:x}):(0,Z.jsxs)(mt.Z,{onClick:x,className:"rule-action","data-cy":"action-add-domain",children:[d?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(dt.Z,{style:{fontSize:18,marginRight:5}}),a("router.domain.add.title")]}),u&&(0,Z.jsx)(H.Z,{title:u.title,description:u.description,confirm:u.confirm,cancel:u.cancel,params:u.params,onConfirm:u.onConfirm,onCancel:u.onCancel,color:"primary"})]})}wt.defaultProps={onActivate:()=>{},children:null,blocklets:[]};var Pt=n(15849),Et=n(82434),St=n.n(Et),_t=n(76005),Tt=n(8732),Rt=n(21017),kt=n(50725),Nt=n(75239),At=n(2478),Lt=n(46954),Ut=n(44067),It=n(38898),Dt=n(83580),Ot=n(48342),Ft=n(76720),zt=n(92273),Bt=n(38242),Mt=n(61533),Wt=n(83294),Gt=n(67680);function qt(e){const{t:t}=(0,c.PE)(),{actions:n}=L(),[r,a]=(0,i.useState)(!1),[o,l]=(0,i.useState)(null),{id:s,name:d}=e;if(U(d))return null;const m={title:t("router.domain.delete.title"),description:t("router.domain.delete.description",{name:"<b>".concat(d,"</b>")}),confirmPlaceholder:t("router.domain.delete.confirm_desc",{name:d}),confirm:t("common.delConfirm"),cancel:t("common.cancel"),onConfirm:async()=>{a(!0),await n.deleteSite(s),a(!1),l(null)},onCancel:()=>{a(!1),l(null)},keyName:d};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(mt.Z,{onClick:t=>{t.stopPropagation(),l(m)||e.onActivate()},className:"rule-action","data-cy":"action-delete-domain",children:[r?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:18,marginRight:5}}),t("router.domain.delete.title")]}),o&&(0,Z.jsx)(ye.Z,{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})]})}var Yt=n(45239),Kt=n.n(Yt);function Ht(e){let{id:t,blocklets:n,onActivate:r=(()=>{}),onRuleAdded:a=(()=>{}),children:o,teamDid:s}=e;const{t:d}=(0,c.PE)(),{actions:m}=L(),[u,p]=(0,i.useState)(!1),[f,g]=(0,i.useState)(null),y={title:d("router.rule.add.title"),description:(e,t,r)=>(0,Z.jsxs)(l.Z,{component:"div",children:[(0,Z.jsx)(W.Z,{label:d("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:e.helperText||d("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:e.pathPrefix,onChange:i=>{let a=!1;const o=Zt({params:{...e,pathPrefix:i.target.value},blocklets:n});r(o),e.type===h.ROUTING_RULE_TYPES.BLOCKLET&&o&&(a=!0),e.type!==h.ROUTING_RULE_TYPES.REDIRECT||e.url||(a=!0),i.target.value.trim()||(a=!0,r(d("router.validation.pathPrefixRequired"))),a||r("");const l=d("common.slugifyHint",{value:(0,x.LN)(i.target.value)});t({...e,pathPrefix:i.target.value,helperText:l,__disableConfirm:a})}}),(0,Z.jsx)(ht,{blocklets:n,params:e,setParams:e=>{r(null);bt(e,d)?t({...e,__disableConfirm:!0}):t({...e})},setError:r})]}),confirm:d("router.rule.add.confirm"),cancel:d("common.cancel"),params:{pathPrefix:"",type:h.ROUTING_RULE_TYPES.BLOCKLET,did:Ct(n),port:"",interfaceName:"",redirectCode:302,__disableConfirm:!0},onConfirm:async e=>{const n=await bt(e,d);if(n)throw n;p(!0);const r={from:{pathPrefix:Kt()(e.pathPrefix)},to:{type:e.type}};e.type===h.ROUTING_RULE_TYPES.BLOCKLET?(r.to.port=e.port,r.to.did=e.did,r.to.interfaceName=e.interfaceName):e.type===h.ROUTING_RULE_TYPES.REDIRECT&&(r.to.url=e.url.trim(),r.to.redirectCode=e.redirectCode),await m.addRule(t,r,s),g(null),p(!1),a()},onCancel:()=>{p(!1),g(null)}},j=e=>{e.stopPropagation(),g(y)||r()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof o?o({loading:u,open:j}):(0,Z.jsxs)(mt.Z,{onClick:j,className:"rule-action","data-cy":"action-add-rule",children:[u?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(he.Z,{style:{fontSize:18,marginRight:5}}),d("router.rule.add.title")]}),f&&(0,Z.jsx)(H.Z,{title:f.title,description:f.description,confirm:f.confirm,cancel:f.cancel,params:f.params,onConfirm:f.onConfirm,onCancel:f.onCancel,color:"primary"})]})}function Vt(e){const{t:t}=(0,c.PE)(),{actions:n}=L(),[r,a]=(0,i.useState)(!1),[o,l]=(0,i.useState)(null),{id:s,parent:{id:d},name:m,children:u,onActivate:p,teamDid:f}=e,h={keyName:m,title:t("router.rule.delete.title"),description:t("router.rule.delete.description",{name:"<b>".concat(m,"</b>")}),confirmPlaceholder:t("router.rule.delete.confirm_desc",{name:m}),confirm:t("common.delConfirm"),cancel:t("router.rule.delete.cancel"),onConfirm:async()=>{a(!0),await n.deleteRule(d,s,f),a(!1),l(null)},onCancel:()=>{a(!1),l(null)}},x=e=>{e.stopPropagation(),l(h)||p()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof u?u({loading:r,open:x}):(0,Z.jsxs)(mt.Z,{onClick:x,className:"rule-action","data-cy":"action-delete-rule",children:[r?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:18,marginRight:5}}),t("router.rule.delete.title")]}),o&&(0,Z.jsx)(ye.Z,{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})]})}Ht.defaultProps={onActivate:()=>{},onRuleAdded:()=>{},children:null,blocklets:[],teamDid:""},Vt.defaultProps={onActivate:()=>{},children:null,teamDid:""};var Qt=n(76667);function Xt(e){const{id:t,name:n,did:r,parent:a,blocklets:o,to:s,children:d,onActivate:m,teamDid:u}=e,{t:p}=(0,c.PE)(),{actions:f}=L(),[g,y]=(0,i.useState)(!1),[j,v]=(0,i.useState)(null),b={title:p("router.rule.update.title"),description:(e,t,n)=>(0,Z.jsxs)(l.Z,{component:"div",children:[(0,Z.jsx)(W.Z,{label:p("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:e.helperText||p("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:e.pathPrefix,onChange:r=>{let i=!1;const a=Zt({params:{...e,pathPrefix:r.target.value},blocklets:o});e.type===h.ROUTING_RULE_TYPES.BLOCKLET&&a&&(i=!0,n(a)),e.type!==h.ROUTING_RULE_TYPES.REDIRECT||e.url||(i=!0),r.target.value.trim()||(i=!0,n(p("router.validation.pathPrefixRequired"))),i||n("");const l=p("common.slugifyHint",{value:(0,x.LN)(r.target.value)});t({...e,pathPrefix:r.target.value,helperText:l,__disableConfirm:i})}}),(0,Z.jsx)(ht,{blocklets:o,params:e,setParams:e=>{bt(e,p)?t({...e,__disableConfirm:!0}):t({...e})},setError:n})]}),confirm:p("router.rule.update.confirm"),cancel:p("router.rule.update.cancel"),color:"primary",params:{pathPrefix:"/"===n?n:n.replace(/^\/+/,"").replace(/\/+$/,""),type:s.type||h.ROUTING_RULE_TYPES.BLOCKLET,did:r||Ct(o),port:s.port||"",interfaceName:s.interfaceName||"",redirectCode:s.redirectCode||302,url:s.url||"",__disableConfirm:!1},onConfirm:async e=>{const n=await bt(e,p);if(n)throw n;y(!0);const r={id:t,from:{pathPrefix:Kt()(e.pathPrefix)},to:{type:e.type}};e.type===h.ROUTING_RULE_TYPES.BLOCKLET?(r.to.port=e.port,r.to.did=e.did,r.to.interfaceName=e.interfaceName):e.type===h.ROUTING_RULE_TYPES.REDIRECT&&(r.to.url=e.url,r.to.redirectCode=e.redirectCode),await f.updateRule(a.id,r,u),v(null),y(!1)},onCancel:()=>{y(!1),v(null)}},C=e=>{e.stopPropagation(),v(b)||m()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof d?d({loading:g,open:C}):(0,Z.jsxs)(mt.Z,{onClick:C,className:"rule-action","data-cy":"action-update-rule",children:[g?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(Qt.default,{style:{fontSize:18,marginRight:5}}),p("router.rule.update.title")]}),j&&(0,Z.jsx)(H.Z,{title:j.title,description:j.description,confirm:j.confirm,color:j.color,cancel:j.cancel,params:j.params,onConfirm:j.onConfirm,onCancel:j.onCancel})]})}Xt.defaultProps={onActivate:()=>{},children:null,did:"",blocklets:[],teamDid:""};var Jt=n(11593),$t=n(26174),en=n(88092);function tn(e){let{id:t,name:n,onActivate:r,children:a,title:o,teamDid:s}=e;const{t:d}=(0,c.PE)(),{actions:m}=L(),[u,p]=(0,i.useState)(!1),[f,x]=(0,i.useState)(null);if(h.DOMAIN_FOR_DEFAULT_SITE===n)return null;const g=async e=>{p(!0),await m.addDomainAlias(t,e.domain.trim(),!!e.force,s),p(!1),x(null)},y={title:o||d("router.domainAlias.add.title"),description:(e,t,n)=>(0,Z.jsxs)(l.Z,{component:"div",children:[(0,Z.jsx)(W.Z,{label:d("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:e.domain,style:{marginBottom:8},margin:"dense",onChange:r=>{const i=r.target.value.trim(),a=jt(i,d);t({...e,domain:i,__disableConfirm:!!a}),n(a||"")},onKeyPress:t=>{if("Enter"===t.key){t.preventDefault();const r=t.target.value.trim(),i=jt(r,d);i?n(i):(async(e,t,n)=>{try{await t(e)}catch(r){n((0,b.Z)(r))}finally{p(!1)}})(e,g,n)}}}),(0,Z.jsx)($t.Z,{control:(0,Z.jsx)(en.Z,{checked:e.force,onChange:n=>{t({...e,force:n.target.checked})},name:"checkedB",color:"primary"}),label:d("router.domainAlias.add.forceTip")})]}),confirm:d("common.confirm"),cancel:d("common.cancel"),params:{domain:"",__disableConfirm:!0},onConfirm:g,onCancel:()=>{p(!1),x(null)}},j=e=>{e.stopPropagation(),x(y)||r()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof a?a({loading:u,open:j}):(0,Z.jsxs)(mt.Z,{onClick:j,className:"rule-action","data-cy":"action-add-domain-alias",children:[u?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(Jt.Z,{style:{fontSize:18,marginRight:5}}),d("router.domainAlias.add.title")]}),f&&(0,Z.jsx)(H.Z,{title:f.title,description:f.description,confirm:f.confirm,cancel:f.cancel,params:f.params,onConfirm:f.onConfirm,onCancel:f.onCancel,color:"primary"})]})}function nn(e){let{id:t,name:n,corsAllowedOrigins:r,onActivate:a,children:o,teamDid:s}=e;const{t:d}=(0,c.PE)(),{actions:m}=L(),[u,p]=(0,i.useState)(!1),[f,x]=(0,i.useState)(null);if(U(n))return null;let g=n;n.endsWith(h.BLOCKLET_SITE_GROUP_SUFFIX)&&(g="".concat(d("common.the")," Blocklet"));const y={title:d("router.domainSecurity.title"),description:(e,t,n)=>(0,Z.jsx)(l.Z,{component:"div",children:(0,Z.jsx)(W.Z,{label:d("router.domainSecurity.cors.title",{name:g}),autoComplete:"off",variant:"outlined",name:"corsAllowedOrigins",fullWidth:!0,autoFocus:!0,value:e.corsAllowedOrigins,style:{marginBottom:32},margin:"dense",helperText:d("router.domainSecurity.cors.description",{name:g}),onChange:r=>{t({...e,corsAllowedOrigins:r.target.value,__disableConfirm:!r.target.value.trim()}),r.target.value.trim()?n(""):n(d("router.domainSecurity.cors.domainInvalid"))}})}),confirm:d("common.confirm"),cancel:d("common.cancel"),params:{corsAllowedOrigins:Array.isArray(r)?r.join(", "):n,__disableConfirm:!0},onConfirm:async e=>{p(!0),await m.updateSite(t,{corsAllowedOrigins:e.corsAllowedOrigins.split(",").map((e=>e.trim()))},s),p(!1),x(null)},onCancel:()=>{p(!1),x(null)}},j=e=>{e.stopPropagation(),x(y)||a()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof o?o({loading:u,open:j}):(0,Z.jsxs)(mt.Z,{onClick:j,className:"rule-action","data-cy":"action-update-domain",children:[u?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(tt.Z,{style:{fontSize:18,marginRight:5}}),d("router.domainSecurity.title")]}),f&&(0,Z.jsx)(H.Z,{title:f.title,description:f.description,confirm:f.confirm,cancel:f.cancel,params:f.params,onConfirm:f.onConfirm,onCancel:f.onCancel,color:"primary"})]})}function rn(e){let{id:t,name:n,onActivate:r}=e;const{t:a}=(0,c.PE)(),{actions:o}=L(),[s,d]=(0,i.useState)(!1),[m,u]=(0,i.useState)(null);if(U(n))return null;const p={title:a("router.domain.update.title"),description:(e,t,n)=>(0,Z.jsx)(l.Z,{component:"div",children:(0,Z.jsx)(W.Z,{label:a("router.domain.update.label"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:e.domain,style:{marginBottom:32},margin:"dense",helperText:a("router.domain.update.description"),onChange:r=>{const i=r.target.value.trim(),o=jt(i,a);t({...e,domain:r.target.value,__disableConfirm:!!o}),n(o||"")}})}),confirm:a("common.confirm"),cancel:a("common.cancel"),params:{domain:n,__disableConfirm:!0},onConfirm:async e=>{d(!0),await o.updateSite(t,{domain:e.domain.trim()}),d(!1),u(null)},onCancel:()=>{d(!1),u(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(mt.Z,{onClick:e=>{e.stopPropagation(),u(p)||r()},className:"rule-action",children:[s?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(Qt.default,{style:{fontSize:18,marginRight:5}}),a("router.domain.update.title")]}),m&&(0,Z.jsx)(H.Z,{title:m.title,description:m.description,confirm:m.confirm,cancel:m.cancel,params:m.params,onConfirm:m.onConfirm,onCancel:m.onCancel,color:"primary"})]})}function an(e){const[t,n]=(0,i.useState)(null),r=e=>{e&&e.stopPropagation(),n(null)},a=[];if("root"===e.type&&a.push((0,Z.jsx)(wt,{...e,onActivate:r},"add-domain")),"domain"===e.type&&a.push((0,Z.jsx)(rn,{...e,onActivate:r},"update-domain"),(0,Z.jsx)(Ht,{...e,onActivate:r,onRuleAdded:e.onRuleAdded},"add-rule"),(0,Z.jsx)(tn,{...e,onActivate:r},"add-domain-alias"),(0,Z.jsx)(nn,{...e,onActivate:r},"update-domain-security"),(0,Z.jsx)(qt,{...e,onActivate:r},"delete-domain")),"rule"===e.type&&a.push((0,Z.jsx)(Xt,{...e,onActivate:r},"update-rule"),(0,Z.jsx)(Vt,{...e,onActivate:r},"delete-rule")),e.type===h.ROUTING_RULE_TYPES.REDIRECT&&a.push((0,Z.jsx)(qt,{...e,onActivate:r},"delete-domain")),"dashboard_domain"!==e.type&&"blocklet_domain"!==e.type||a.push((0,Z.jsx)(Ht,{...e,onActivate:r},"add-rule"),(0,Z.jsx)(nn,{...e,onActivate:r},"update-domain-security"),(0,Z.jsx)(tn,{...e,onActivate:r},"add-domain-alias")),0===a.length)return null;const o=e=>{e.stopPropagation()};return(0,Z.jsxs)("div",{children:[(0,Z.jsx)(Gt.Z,{onMouseDown:o,onClick:e=>{e.stopPropagation(),n(e.currentTarget)},"data-cy":"action-trigger",size:"large",children:(0,Z.jsx)(Wt.Z,{})}),(0,Z.jsx)(Mt.Z,{keepMounted:!0,onMouseDown:o,open:!!t,onClose:r,anchorEl:t,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:a})]})}tn.defaultProps={onActivate:()=>{},children:null,title:"",teamDid:""},nn.defaultProps={onActivate:()=>{},children:null,corsAllowedOrigins:"",teamDid:""},an.defaultProps={onRuleAdded:()=>{},blocklet:{}};var on=n(55898),ln=n.n(on),sn=n(31942),cn=n(11819),dn=n(38763),mn=n(75392),un=n(69569);function pn(e){let{certificate:t}=e;const[n,r]=(0,i.useState)(null),a=(0,j.h6)(),{t:o,locale:s}=(0,c.PE)(),d=()=>{r(null)},m=Boolean(n);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(sn.Z,{"aria-owns":m?"mouse-over-popover":void 0,onMouseEnter:e=>{r(e.currentTarget)},onMouseLeave:d,style:{color:"#44cdc6",fontSize:20,marginLeft:8,cursor:"pointer"}}),(0,Z.jsx)(cn.ZP,{id:"mouse-over-popover",style:{pointerEvents:"none"},open:m,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:d,disableRestoreFocus:!0,children:(0,Z.jsx)(dn.Z,{children:(0,Z.jsxs)(mn.Z,{style:{display:"flex"},children:[(0,Z.jsx)("div",{children:(0,Z.jsx)("img",{src:"".concat(a.imgPrefix,"/https-certificate-icon.png"),alt:"certificate icon",style:{maxHeight:"100%",maxWidth:"100%"}})}),(0,Z.jsxs)(l.Z,{component:"div",style:{marginLeft:"16px"},children:[(0,Z.jsx)(l.Z,{component:"div",style:{fontWeight:"bold"},children:t.domain}),(0,Z.jsx)(l.Z,{component:"div",children:"".concat(o("common.issuer"),": ").concat(Se()(t,"issuer.commonName",""))}),(0,Z.jsx)(l.Z,{component:"div",children:"".concat(o("router.cert.issuedOn"),": ").concat((0,b.pz)(t.validFrom,s))}),(0,Z.jsx)(l.Z,{component:"div",children:"".concat(o("router.cert.expiryOn"),": ").concat((0,b.pz)(t.validTo,s))})]})]})})})]})}function fn(e){const{name:t,type:n,filters:r}=e,{t:a}=(0,c.PE)(),{status:o}=ct();if("domain"!==n)return null;if(!(0,b.rM)(t))return null;let l=null,s=null;const{isHttps:d,matchedCert:m}=o[t]||{};if(!(0,b.ao)(t)){const{dns:{resolved:e,ip:n}={}}=o[t]||{};l=e||"127.0.0.1"===n?(0,Z.jsx)(Nt.Z,{title:a("router.domain.verify.ok"),children:(0,Z.jsx)(un.Z,{color:"success"})}):(0,Z.jsx)(Nt.Z,{title:a("router.domain.verify.notResolved"),children:(0,Z.jsx)(un.Z,{color:"error"})})}s=d?(0,Z.jsx)(pn,{certificate:m}):(0,Z.jsx)(Nt.Z,{title:a("router.domain.https.bad"),children:(0,Z.jsx)(sn.Z,{style:{color:"#D0021B",fontSize:20,marginLeft:8,cursor:"pointer"}})});const u=r.map((e=>"domain"===e?l:"http"===e?s:null));return(0,i.createElement)(i.Fragment,null,...u)}pn.defaultProps={certificate:{}},fn.propTypes={type:ln().string.isRequired,name:ln().string.isRequired,filters:ln().array},fn.defaultProps={filters:["domain","http"]};const hn=e=>["waiting","creating","renewaling"].includes(e);function xn(e){var t;const{t:n}=(0,c.PE)(),[r,a]=(0,i.useState)(!1),[o,l]=(0,i.useState)(null),{domain:s,onAdd:d,children:m,siteId:p}=e,{api:f}=(0,j.h6)(),[x,g]=(0,i.useState)(!1),{updateStatus:y}=ct(),b=(0,v.Z)(),C=(0,u.Z)((async()=>{const{cert:e}=await b.findCertificateByDomain({input:{domain:s}});return e})),w=e=>{e.domain===s&&g(!1)};if((0,i.useEffect)((()=>{var e;!C.loading&&hn(null===(e=C.value)||void 0===e?void 0:e.status)&&g(!0)}),[C]),(0,rt.mU)(h.EVENTS.CERT_ERROR,w),(0,rt.mU)(h.EVENTS.CERT_ISSUED,(e=>{C.retry(),y(e.domain),w(e)})),C.loading)return"";if("normal"===(null===(t=C.value)||void 0===t?void 0:t.status))return"";const P={title:n("router.cert.genLetsEncryptCert.title"),description:(0,Z.jsxs)("div",{children:[(0,Z.jsx)(G.Z,{type:"success",children:n("router.cert.genLetsEncryptCert.dnsTip")}),n("router.cert.genLetsEncryptCert.description")]}),confirm:n("common.confirm"),onConfirm:async()=>{a(!0);try{await f.issueLetsEncryptCert({input:{domain:s,siteId:p}}),d(),g(!0)}catch(e){console.error(e),g(!1)}finally{a(!1),l(null)}},onCancel:()=>{a(!1),l(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[x?(0,Z.jsx)(Nt.Z,{title:n("router.cert.issuing"),children:(0,Z.jsx)(q.Z,{size:12})}):m({loading:r,open:e=>{e.stopPropagation(),l(P)}}),o&&(0,Z.jsx)(H.Z,{color:"primary",title:o.title,description:o.description,confirm:o.confirm,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}function gn(e){var t;const{status:n}=ct(),{domain:r}=e;return!(0,b.rM)(r)||null!==(t=n[r])&&void 0!==t&&t.isHttps?"":(0,Z.jsx)(xn,{...e})}function yn(e){const{t:t}=(0,c.PE)(),[n,r]=(0,i.useState)(!1),[a,o]=(0,i.useState)(null),{id:l,domain:s,onDelete:d,children:m,teamDid:u}=e,{actions:p}=L();if(s===window.location.hostname)return"";const f={title:t("router.domainAlias.delete.title"),description:t("router.domainAlias.delete.description"),confirm:t("common.confirm"),onConfirm:async()=>{r(!0);try{await p.deleteDomainAlias(l,s,u),d()}catch(e){console.error(e)}finally{r(!1),o(null)}},onCancel:()=>{r(!1),o(null)}},h=e=>{e.stopPropagation(),o(f)};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof m?m({loading:n,open:h}):(0,Z.jsxs)(B.Z,{edge:"end",onClick:h,size:"small",className:"rule-action",color:"error","data-cy":"action-delete-domain-alias",children:[n?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:16}}),t("router.domainAlias.delete.title")]}),a&&(0,Z.jsx)(H.Z,{title:a.title,description:a.description,confirm:a.confirm,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}var jn,vn;function bn(e){let{domain:t,isHttps:n,toUrl:r}=e;const i=n?"https":"http",{t:a}=(0,c.PE)();let o=r;return St()(o)||(o="".concat(i,"://").concat(t).concat(r)),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(l.Z,{className:"arrow-name-middle",children:a("common.redirect")}),(0,Z.jsx)("span",{className:"arrow-name-arrow",children:"\u27f6"}),(0,Z.jsx)(It.Z,{href:o,target:"_blank",underline:"hover",children:r},o)]})}function Zn(){const{t:e}=(0,c.PE)();return(0,Z.jsx)(l.Z,{className:"arrow-name-middle",children:e("common.page404")})}function Cn(e){const{t:t}=(0,c.PE)(),{data:n}=(0,nt.RJ)(),{info:r}=(0,j.h6)(),{status:a}=ct(),o=n.map((e=>({meta:{did:e.meta.did,name:(0,Bt.getDisplayName)(e,!0),version:e.meta.version,interfaces:e.meta.interfaces},port:e.port,ports:e.ports,status:e.status}))),{id:s,type:d,name:m,title:u,items:p=[],depth:f,to:g,expand:y,isProtected:v,pathPrefix:b,parent:w,domainAliases:P}=e;let E=m;const S=m.endsWith(h.BLOCKLET_SITE_GROUP_SUFFIX);let _=d;m===C&&(_="dashboard_domain"),S&&(_="blocklet_domain");const[T,R]=(0,i.useState)(y),k={root:Rt.Z,domain:dt.Z,rule:kt.Z}[d];if("domain"===d){if(v&&!S)return null;if(S){const W=m.replace(h.BLOCKLET_SITE_GROUP_SUFFIX,""),G=o.find((e=>e.meta.did===W));if(!G)return null;if(G.controller)return null;E=G.meta.title||G.meta.name}function F(e){let{domain:t,primaryDomain:n,rules:i}=e,a="http://".concat(t);return n===C?a="".concat(a,"/").concat(r.routing.adminPath.replace(/^\/+/,"")):i&&i.length&&i[0].pathPrefix&&(a="".concat(a,"/").concat(i[0].pathPrefix.replace(/^\/+/,""))),t!==C?(0,Z.jsx)(Pn,{href:a,target:"_blank",rel:"noreferrer",onClick:e=>e.stopPropagation(),children:t}):t}const z=()=>{R(!0)};let M=(P||[]).filter((e=>e.value!==m));return M=(0,x.oE)(M),[(0,Z.jsxs)(wn,{alignItems:"flex-start",button:!0,disableGutters:!0,"data-cy":"rule-domain",children:[(0,Z.jsxs)(Lt.Z,{onClick:()=>R((e=>!e)),children:[p.length>0&&(T?(0,Z.jsx)(Ft.Z,{}):(0,Z.jsx)(zt.default,{})),(0,Z.jsx)(k,{style:{fontSize:22}})]}),(0,Z.jsx)(Ut.Z,{onClick:()=>R((e=>!e)),className:"rule-name rule-name--depth".concat(f),style:{flex:1},secondary:p.length<=0?(0,Z.jsx)("span",{className:"site-secondary",children:t("router.empty")}):"",primary:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{className:"site-header",children:[m===h.DOMAIN_FOR_DEFAULT_SITE&&t("router.defaultSite"),m!==h.DOMAIN_FOR_DEFAULT_SITE&&!S&&(0,Z.jsx)(F,{domain:m,primaryDomain:m,rules:p}),S&&E,p.length&&!T?(0,Z.jsx)("span",{style:{marginLeft:5},children:"(".concat(p.length," URL)")}):null,(0,Z.jsx)("span",{style:{marginLeft:12}}),"domain"===d&&m!==h.DOMAIN_FOR_DEFAULT_SITE&&m!==C&&!S&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(fn,{type:d,name:m},m),(0,Z.jsx)("span",{style:{marginLeft:12}}),(0,Z.jsx)(gn,{siteId:s,domain:m,children:e=>{let{open:n}=e;return(0,Z.jsx)(B.Z,{size:"small",onClick:e=>n(e),children:t("router.cert.genLetsEncryptCert.title")})}})]})]}),M.map((n=>{const r="string"!==typeof n?n.value:n;return(0,Z.jsxs)("div",{className:"site-alias",children:[(0,Z.jsx)(F,{domain:r,primaryDomain:m,rules:p}),(0,Z.jsx)("span",{style:{marginLeft:12}}),(0,Z.jsx)(fn,{type:d,name:r},"domain-status-".concat(m)),(0,Z.jsx)(gn,{siteId:s,domain:r,children:e=>{let{open:n}=e;return(0,Z.jsx)(B.Z,{size:"small",onClick:e=>n(e),children:t("router.cert.genLetsEncryptCert.title")})}}),!n.isProtected&&(0,Z.jsx)(yn,{id:e.id,domain:r},"delete-domain-alias"),r!==C&&r!==window.location.hostname&&(0,Z.jsx)(an,{...e,domain:r,type:"domainAlias",onRuleAdded:z},"action-".concat(m))]},r)}))]})}),(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(Dt.Z,{children:(0,Z.jsx)(an,{blocklets:o,...e,onRuleAdded:z,type:_},m)})})]},"parent"),(0,Z.jsx)(Ot.Z,{in:T,children:p.length>0&&(0,Z.jsx)(et.Z,{component:"div",className:"rule-list rule-list--depth".concat(f),disablePadding:!0,children:p.map((t=>(0,Z.jsx)(Cn,{...t,parent:e,depth:f+1},t.id)))},"children")},"rules")]}if("root"===d)return[(0,Z.jsxs)(wn,{disableGutters:!0,"data-cy":"rule-root",children:[(0,Z.jsx)(Lt.Z,{children:(0,Z.jsx)(k,{style:{fontSize:22}})}),(0,Z.jsx)(Ut.Z,{primary:m}),(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(Dt.Z,{children:(0,Z.jsx)(an,{blocklets:o,...e})})})]},"root"),p.length>0&&(0,Z.jsx)(et.Z,{component:"div",className:"rule-list rule-list--depth".concat(f),disablePadding:!0,children:p.map((t=>(0,Z.jsx)(Cn,{expand:!v,...t,parent:e,depth:f+1},t.id)))},"children")];let N="/blocklets/".concat(g.did,"/overview");g.type===h.ROUTING_RULE_TYPES.DAEMON&&(N="/");const A={meta:{did:r.did,name:"Blocklet Server Dashboard",version:r.version},status:"running",port:r.port},L=g.did===r.did?A:o.find((e=>e.meta.did===g.did)),U=L&&"running"===L.status||g.type===h.ROUTING_RULE_TYPES.DAEMON,I=t(U?"router.healthy.ok":"router.healthy.error"),O=a[w.name]||{};return(0,Z.jsxs)(wn,{className:"hover-item",divider:!0,disableGutters:!0,style:{paddingBottom:8,paddingLeft:8},"data-cy":"rule-item",children:[(0,Z.jsx)(Lt.Z,{className:"arrow-icon",children:(0,Z.jsx)(k,{style:{fontSize:22}})}),(0,Z.jsx)(Ut.Z,{primary:(0,Z.jsxs)(l.Z,{component:"div",className:"arrow-name",children:[(0,Z.jsx)(l.Z,{style:{wordBreak:"break-all"},className:"arrow-name-left",children:m}),(0,Z.jsx)("span",{className:"arrow-name-arrow",children:"\u27f6"}),(g.type===h.ROUTING_RULE_TYPES.DAEMON||g.type===h.ROUTING_RULE_TYPES.BLOCKLET)&&(0,Z.jsxs)(Z.Fragment,{children:[w.name!==h.DOMAIN_FOR_DEFAULT_SITE&&U&&(0,Z.jsx)(D.Z,{className:"arrow-name-middle",children:(0,Z.jsx)(It.Z,{href:(0,x.Sk)(w.name,b),target:"_blank",underline:"hover",children:t("common.open")})}),w.name===h.DOMAIN_FOR_DEFAULT_SITE&&(0,Z.jsx)(l.Z,{component:"span",className:"arrow-name-middle",children:"Blocklet"}),!U&&(0,Z.jsx)("span",{className:"arrow-name-middle",children:t("common.unavailable")}),(0,Z.jsx)("span",{className:"arrow-name-arrow",children:"\u27f6"}),(0,Z.jsxs)(Pt.Link,{to:N,className:"arrow-name-right",children:[(0,Z.jsx)(Nt.Z,{title:I,children:U?(0,Z.jsx)(_t.Z,{style:{color:"#44cdc6",fontSize:20}}):(0,Z.jsx)(Tt.Z,{style:{color:"red",fontSize:20}})}),(0,Z.jsx)("span",{children:L?L.meta.name:u}),L&&(0,Z.jsx)("span",{style:{marginLeft:8},children:(0,Z.jsx)(pt.Z,{status:L.status,progress:L.progress})})]})]}),g.type===h.ROUTING_RULE_TYPES.REDIRECT&&(0,Z.jsx)(bn,{prefix:b,domain:w.name,toUrl:g.url,isHttps:O.isHttps}),g.type===h.ROUTING_RULE_TYPES.NONE&&(0,Z.jsx)(Zn,{})]})}),(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(Dt.Z,{children:(0,Z.jsx)(an,{blocklets:o,...e,did:g.did})})})]},m)}xn.defaultProps={onAdd:()=>{},children:null},gn.defaultProps={onAdd:()=>{},children:null},yn.defaultProps={onDelete:()=>{},children:null,teamDid:""},bn.defaultProps={isHttps:!1},Zn.defaultProps={},Cn.defaultProps={id:"",to:{},title:"",items:[],depth:0,parent:{},expand:!0,isProtected:!1,pathPrefix:"",domainAliases:[]};const wn=(0,a.Z)(At.ZP)(jn||(jn=(0,r.Z)(["\n .MuiListItemText-root {\n padding-right: 48px;\n }\n .MuiListItemSecondaryAction-root {\n right: 0;\n }\n .site-header {\n display: unset !important;\n vertical-align: middle;\n .MuiSvgIcon-root {\n vertical-align: middle;\n }\n }\n"]))),Pn=(0,a.Z)("a")(vn||(vn=(0,r.Z)(["\n color: #000;\n white-space: normal;\n word-break: break-all;\n :hover {\n color: rgba(0, 0, 0, 0.6);\n }\n"])));var En;function Sn(){const{sites:e,allDomains:t}=L(),{data:n}=(0,nt.RJ)(),{t:r}=(0,c.PE)(),a=e.map((e=>{const t=e.items.filter((e=>!e.isProtected));return{...e,items:t}}));return(0,Z.jsx)(st,{domains:t,children:(0,Z.jsxs)(_n,{children:[(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(D.Z,{textAlign:"right",mb:1,children:(0,Z.jsx)(wt,{blocklets:n,children:e=>{let{open:t}=e;return(0,Z.jsxs)(B.Z,{style:{marginLeft:16},variant:"contained",color:"primary","data-cy":"add-domain-alias",onClick:t,children:[(0,Z.jsx)(tt.Z,{style:{fontSize:"1.3em",marginRight:4}}),r("router.domain.addSite")]})}})})}),(0,Z.jsx)(et.Z,{component:"div",disablePadding:!0,children:a.map((e=>(0,i.createElement)(Cn,{...e,depth:1,key:e.id})))})]})})}const _n=a.Z.main(En||(En=(0,r.Z)(["\n margin-top: ",";\n min-height: 60vh;\n\n .MuiListItemIcon-root {\n min-width: ",";\n }\n\n .site-header {\n display: flex;\n align-items: center;\n margin-left: ",";\n font-size: 1.2rem;\n }\n\n .site-alias {\n display: flex;\n align-items: center;\n margin-left: ",";\n }\n\n .site-secondary {\n margin-left: ",";\n }\n\n .rule-list--depth1 {\n padding-left: ",";\n }\n\n .rule-list--depth2 {\n padding-left: ",";\n }\n\n .rule-action {\n margin-left: ",";\n }\n\n .rule-name--depth2 span {\n font-weight: bold;\n }\n\n .arrow-name {\n display: flex;\n align-items: center;\n .arrow-name-left {\n width: 400px;\n flex-shrink: 0;\n text-align: left;\n }\n .arrow-name-middle {\n width: 150px;\n flex-shrink: 0;\n text-align: left;\n }\n .arrow-name-arrow {\n width: 40px;\n flex-shrink: 0;\n margin: auto 16px;\n font-size: 24px;\n color: #0000008a;\n }\n .arrow-name-right {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n\n span {\n margin: 0 8px;\n }\n }\n }\n\n @media (max-width: ","px) {\n .rule-list--depth1,\n .rule-list--depth2 {\n padding-left: 0;\n }\n\n .MuiListItem-secondaryAction {\n padding-right: 0;\n }\n }\n\n @media (max-width: ","px) {\n .arrow-icon {\n margin-top: 4px;\n align-self: flex-start;\n }\n\n .arrow-name {\n flex-direction: column;\n align-items: flex-start;\n .arrow-name-left {\n width: auto;\n }\n .arrow-name-middle {\n margin: 5px 0;\n }\n .arrow-name-arrow {\n display: none;\n }\n }\n }\n"])),(e=>e.theme.spacing(2)),(e=>e.theme.spacing(4)),(e=>e.theme.spacing(1)),(e=>e.theme.spacing(1)),(e=>e.theme.spacing(1)),(e=>e.theme.spacing(4)),(e=>e.theme.spacing(5)),(e=>e.theme.spacing(2)),(e=>e.theme.breakpoints.values.md),(e=>e.theme.breakpoints.values.lg));var Tn=n(34966),Rn=n(22228),kn=n(23484),Nn=n(49525),An=n(65140),Ln=n(87916),Un=n(13128),In=n(55372);const Dn=51200,On=e=>new Promise(((t,n)=>{const r=new FileReader;r.readAsText(e),r.onload=()=>{t(r.result)},r.onerror=e=>n(e)}));function Fn(e){let{certificate:t={},onRefresh:n,mode:r,...a}=e;const{t:o}=(0,c.PE)(),{api:s}=(0,j.h6)(),[d,m]=(0,i.useState)(!1),[u,p]=(0,i.useState)(),[f,h]=(0,i.useState)(),[x,g]=(0,i.useState)(!1),[y,v]=(0,i.useState)(""),[C,w]=(0,i.useState)("upload"),{handleSubmit:P,formState:E,control:S}=(0,M.cI)({defaultValues:{name:t.name||t.domain}}),_=(0,M.qo)({control:S,name:"name"}),T=(0,M.qo)({control:S,name:"domain"}),R=()=>{m(!1),g(!1)},k={upload:{name:o("router.cert.nginx.sourceTypes.upload"),value:"upload",onSubmit:async e=>{if("add"===r){const t=(await On(f)).replace(/\r\n/g,"\n"),n=(await On(u)).replace(/\r\n/g,"\n");await s.addCertificate({input:{name:e.name.trim(),certificate:t.split("\n").join("|"),privateKey:n.split("\n").join("|")}})}else await s.updateCertificate({input:{id:t.id,name:e.name.trim()}})}},lets_encrypt:{name:o("router.cert.nginx.sourceTypes.lets_encrypt"),value:"lets_encrypt",onSubmit:e=>s.issueLetsEncryptCert({input:{domain:e.domain}})}},N=async e=>{m(!0);try{const t=k[C];if(!t)throw new Error("Invaid certificate source");await t.onSubmit(e),n(),g(!1)}catch(t){v((0,b.Z)(t)||"unknown error, may be you can check file permission")}finally{m(!1)}},A=e=>{e.length>0&&v(Se()(e[0],"errors[0].message",o("router.cert.add.invalidFile")))},{getRootProps:L,getInputProps:U}=(0,Nn.uI)({accept:[".pem",".crt"],multiple:!1,maxSize:Dn,onDropRejected:A,onDrop:e=>{h(e[0])}}),{getRootProps:I,getInputProps:O}=(0,Nn.uI)({accept:[".pem",".key"],multiple:!1,maxSize:Dn,onDropRejected:A,onDrop:e=>{p(e[0])}}),{errors:F}=E;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(B.Z,{edge:"end",onClick:()=>{p(null),h(null),g(!0),v("")},className:"rule-action",color:"primary","data-cy":"add-cert",...a,children:[d?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(tt.Z,{style:{fontSize:16}}),o("add"===r?"common.add":"common.update")]}),x&&(0,Z.jsx)(Un.ZP,{title:o("add"===r?"router.cert.nginx.titleAdd":"router.cert.nginx.title"),open:!0,onClose:R,actions:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(B.Z,{onClick:R,color:"inherit","data-cy":"cert-cancel",children:o("router.cert.nginx.cancel")}),(0,Z.jsxs)(B.Z,{onClick:P(N),color:"secondary",disabled:!!d||("upload"===C&&"update"===r?!_:"upload"===C&&"add"===r?!_||!u||!f:"lets_encrypt"===C&&!T),variant:"contained",autoFocus:!0,"data-cy":"save-cert",children:[o("router.cert.nginx.confirm"),d&&(0,Z.jsx)(q.Z,{size:16})]})]}),children:(0,Z.jsx)("form",{className:"form","data-cy":"cert-form",noValidate:!0,autoComplete:"off",onSubmit:P(N),children:(0,Z.jsxs)(D.Z,{minWidth:{sm:480},children:[(0,Z.jsxs)(In.Z,{component:"div",children:["add"===r&&(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("router.cert.source")}),(0,Z.jsx)(Ln.Z,{"aria-label":"cert-source",name:"certSource",value:C,onChange:e=>{w(e.target.value)},children:Object.values(k).map((e=>(0,Z.jsx)($t.Z,{value:e.value,control:(0,Z.jsx)(An.Z,{}),label:e.name},e.value)))})]}),"upload"===C&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("router.cert.name")}),(0,Z.jsx)(M.Qr,{name:"name",control:S,rules:{validate:e=>!!e.trim()||o("common.requiredErrorText",{name:o("router.cert.name")})},render:e=>{let{field:{value:t,onChange:n}}=e;return(0,Z.jsx)(W.Z,{fullWidth:!0,autoFocus:!0,defaultValue:t,onChange:n,error:!!F.name,autoComplete:"off",variant:"outlined",name:"name",className:"form-item-value","data-cy":"certificate-name-textfield",helperText:F.name&&F.name.message})}})]}),"add"===r&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("router.cert.nginx.pem")}),(0,Z.jsx)("div",{className:"form-item-value",children:(0,Z.jsxs)("div",{...L({className:"dropzone"}),children:[(0,Z.jsx)("input",{...U(),"data-cy":"pem-input"}),f&&(0,Z.jsx)(l.Z,{color:"secondary",children:f.name}),!f&&(0,Z.jsx)(l.Z,{color:"secondary",children:o("router.cert.nginx.empty")}),(0,Z.jsx)(l.Z,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.pemTip")})]})})]}),(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("router.cert.nginx.key")}),(0,Z.jsx)("div",{className:"form-item-value",children:(0,Z.jsxs)("div",{...I({className:"dropzone"}),children:[(0,Z.jsx)("input",{...O(),"data-cy":"key-input"}),u&&(0,Z.jsx)(l.Z,{color:"secondary",children:u.name}),!u&&(0,Z.jsx)(l.Z,{color:"secondary",children:o("router.cert.nginx.empty")}),(0,Z.jsx)(l.Z,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.keyTip")})]})})]})]})]}),"lets_encrypt"===C&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("section",{className:"form-item",children:(0,Z.jsx)(G.Z,{type:"success",children:o("router.cert.genLetsEncryptCert.dnsTip")})}),(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("common.domain")}),(0,Z.jsx)(M.Qr,{name:"domain",control:S,rules:{validate:e=>!!e.trim()||o("common.requiredErrorText",{name:o("common.domain")})},render:e=>{let{field:{value:t,onChange:n}}=e;return(0,Z.jsx)(W.Z,{fullWidth:!0,autoFocus:!0,defaultValue:t,error:!!F.domain,autoComplete:"off",variant:"outlined",className:"form-item-value",helperText:F.domain&&F.domain.message,onChange:n})}})]})]})]}),!!y&&(0,Z.jsx)(G.Z,{type:"error",style:{marginTop:8},children:y})]})})})]})}var zn=n(96366);function Bn(e){const t=(0,zn.Z)(),{t:n}=(0,c.PE)(),[r,a]=(0,i.useState)(!1),[o,l]=(0,i.useState)(null),{id:s,domain:d,onDelete:m=(()=>{}),...u}=e,{refresh:p}=L(),f=(0,v.Z)(),h={title:n("router.cert.delete.title"),description:n("router.cert.delete.description",{domain:d}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:async()=>{a(!0);try{await f.deleteCertificate({input:{id:s}}),p(),m()}catch(e){console.error(e)}finally{a(!1),l(null)}},onCancel:()=>{a(!1),l(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(B.Z,{edge:"end",onClick:()=>l(h),size:"small",className:"rule-action",variant:"text","data-cy":"action-delete-cert",style:{color:t.palette.error.main},...u,children:[r?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:16}}),n("common.delete")]}),o&&(0,Z.jsx)(H.Z,{title:o.title,description:o.description,confirm:o.confirm,cancel:o.cancel,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}var Mn,Wn,Gn=n(1577),qn=n.n(Gn),Yn=n(95335),Kn=n(45568),Hn=n(29034);function Vn(e){const{certificate:t={},...n}=e,{t:r,locale:a}=(0,c.PE)(),[o,s]=(0,i.useState)(!1),d=(0,Yn.Z)(),m=[{id:"matchedSites",name:r("router.cert.matchedSites"),value:(t.matchedSites||[]).map((e=>(0,Z.jsx)(l.Z,{component:"div",style:{fontWeight:"inherit",fontSize:"1.1rem"},children:e.domain},e.id)))},{id:"updatedAt",name:r("common.updatedAt"),value:(0,b.B2)(t.updatedAt,a)},{id:"createdAt",name:r("common.createdAt"),value:(0,b.B2)(t.createdAt,a)}],u=[{id:"boundDomains",name:r("router.cert.boundDomains"),value:(0,Z.jsx)(l.Z,{component:"span",style:{fontSize:"1.1rem"},children:(Se()(t,"sans")||[]).join(", ")})},{id:"issuer",name:r("common.issuer"),value:Se()(t,"meta.issuer.commonName","")},{id:"fingerprint",name:r("common.fingerprint"),value:Se()(t,"meta.fingerprint")},{id:"fingerprintAlg",name:r("router.cert.fingerprintAlg"),value:Se()(t,"meta.fingerprintAlg")},{id:"validityPeriod",name:r("router.cert.validityPeriod"),value:qn().duration(Se()(t,"meta.validityPeriod"),"ms").humanize()},{id:"issuedOn",name:r("router.cert.issuedOn"),value:(0,b.pz)(Se()(t,"meta.validFrom"),a)},{id:"expiryOn",name:r("router.cert.expiryOn"),value:(0,b.pz)(Se()(t,"meta.validTo"),a)}];return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(B.Z,{edge:"end",onClick:()=>s(!0),size:"small",className:"rule-action",variant:"text",color:"secondary","data-cy":"action-view-cert",...n,children:[(0,Z.jsx)(Kn.Z,{style:{fontSize:16}}),r("common.detail")]}),(0,Z.jsxs)(Un.ZP,{title:r("router.cert.detail.title"),"aria-labelledby":"certificate details",fullWidth:!0,open:o,showCloseButton:!1,actions:(0,Z.jsx)(B.Z,{autoFocus:!0,variant:"contained",onClick:()=>{s(!1)},color:"secondary",children:r("common.close")}),children:[(0,Z.jsx)(In.Z,{component:"div",style:{margin:d.spacing(2)},children:m.map((e=>(0,Z.jsx)(_e.Z,{nameWidth:200,valueComponent:"div",name:e.name,children:e.value},e.id)))},"cert-basic"),(0,Z.jsx)(Hn.Z,{}),(0,Z.jsx)(In.Z,{component:"div",style:{margin:d.spacing(2)},children:u.map((e=>(0,Z.jsx)(_e.Z,{nameWidth:200,valueComponent:"div",name:e.name,children:e.value},e.id)))},"cer-info"),(0,Z.jsx)(Hn.Z,{})]})]})}function Qn(e){const{certificate:t,style:n,...r}=e,{t:a}=(0,c.PE)(),[o,s]=(0,i.useState)(!1),d=t.matchedSites||[];return(0,Z.jsxs)(l.Z,{component:"ul",...r,style:{...n,listStyle:"none"},children:[(o?d:d.slice(0,4)).map((e=>(0,Z.jsx)(l.Z,{component:"li",style:{fontSize:"1.1rem",margin:"4px 0"},children:e.domain},e.id))),d.length>4&&(0,Z.jsx)(B.Z,{style:{border:"none",padding:"5px 0"},variant:"outlined",color:"primary",className:"button",onClick:()=>{s(!o)},children:a(o?"common.collapseAll":"common.expandAll")})]})}Qn.defaultProps={style:{}};const Xn=e=>{if(!e)return!1;return e-+new Date<=0},Jn="ssl-certificates-table";function $n(e){let{name:t,value:n,style:r={},icon:i,...a}=e;return(0,Z.jsxs)(er,{style:{display:"flex",alignItems:"center",...r},...a,children:[(0,Z.jsxs)("span",{children:[t,":"]}),(0,Z.jsx)("span",{children:n}),i&&i]})}const er=a.Z.div(Mn||(Mn=(0,r.Z)(["\n & > span {\n margin: 5px;\n }\n"])));function tr(e){let{status:t,source:n,expiresTime:r}=e;const{t:i}=(0,c.PE)();return Xn(r)?(0,Z.jsx)(Rn.Z,{type:"error",children:i("router.cert.expired")}):"upload"===n?(0,Z.jsx)(Rn.Z,{type:"success",children:i("common.normal")}):"error"===t?(0,Z.jsx)(Rn.Z,{type:"error",children:i("common.error")}):"generated"===t?(0,Z.jsx)(Rn.Z,{type:"success",children:i("common.normal")}):""}tr.defaultProps={status:"",source:""};const nr=(e,t)=>{if(!t)return e;const n=(t.site.domainAliases||[]).map((e=>e.value));return e.filter((e=>(0,x.kO)(n,e.matchedSites)))};function rr(){var e;const{t:t,locale:n}=(0,i.useContext)(c.RD),r=(0,v.Z)(),{api:a}=(0,j.h6)(),o=(0,kn.Z)().get("did"),s=(0,u.Z)((async()=>{const{certificates:e}=await r.getCertificates();let t=null;if(o){const{blocklet:e}=await a.getBlocklet({input:{did:o,attachRuntimeInfo:!0}});t=e}return{certificates:nr(e,t)}})),d=()=>{s.retry()},m=null===(e=s.value)||void 0===e?void 0:e.certificates,p=[{label:t("common.certificate"),name:"",verticalKeyAlign:"center",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const n=m[e];return(0,Z.jsxs)(Z.Fragment,{children:[n.name&&(0,Z.jsx)($n,{nowrap:!0,style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.name"),value:n.name}),(0,Z.jsx)($n,{style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.issuer"),value:Se()(n,"meta.issuer.commonName","")}),(0,Z.jsx)($n,{style:{fontSize:"16px",whiteSpace:"nowrap"},icon:(0,Z.jsx)(Nt.Z,{title:n.isProtected?t("router.cert.protectedCertHelperText"):t("router.cert.unprotectedCertHelperText"),children:(0,Z.jsx)(Tn.Z,{style:{fontSize:"18px"},color:"secondary"})}),name:t("common.protected"),value:n.isProtected?t("common.yes"):t("common.no")})]})}}},{label:t("router.cert.boundDomains"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(l.Z,{noWrap:!0,component:"ul",style:{listStyle:"none"},children:[...new Set([...Se()(t,"meta.sans")||[],t.domain])].map((e=>(0,Z.jsx)(l.Z,{component:"li",title:e,style:{fontSize:"1.1rem",minWidth:200,whiteSpace:"initial",wordBreak:"break-all"},children:e},e)))})}}},{label:t("router.cert.source"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const n=m[e];return t("router.cert.sourceTypes.".concat(n.source))}}},{label:t("common.status"),name:"",width:100,options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(tr,{status:t.status,source:t.source,expiresTime:Se()(t,"meta.validTo")})}}},{label:t("common.expires"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(pe.Z,{value:Se()(t,"meta.validTo"),locale:n})}}},{label:t("router.cert.matchedSites"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(Qn,{id:t.id,certificate:t,style:{minWidth:200,whiteSpace:"initial",wordBreak:"break-all"}})}}},{label:t("router.cert.action"),name:"",align:"center",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsxs)(Z.Fragment,{children:[!t.isProtected&&(0,Z.jsxs)(Z.Fragment,{children:["upload"===t.source&&(0,Z.jsx)("div",{children:(0,Z.jsx)(Fn,{mode:"update",certificate:t,onRefresh:d})}),(0,Z.jsx)("div",{children:(0,Z.jsx)(Bn,{id:t.id,domain:t.domain,onDelete:d})})]}),(0,Z.jsx)("div",{children:(0,Z.jsx)(Vn,{id:t.id,certificate:t})})]})})}}}];if(s.error)return(0,Z.jsx)(G.Z,{type:"error",children:(0,x.Z)(s.error)});if(s.loading)return(0,Z.jsx)(q.Z,{});const f=(0,fe.$)(Jn);return(0,Z.jsx)(ir,{children:(0,Z.jsx)(fe.Z,{title:(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(Fn,{mode:"add",onRefresh:d,variant:"contained"})}),locale:n,data:s.value.certificates,columns:p,verticalKeyWidth:100,durable:Jn,options:{search:!1,download:!1,filter:!1,print:!1,...f}})})}const ir=a.Z.div(Wn||(Wn=(0,r.Z)(["\n .header {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n margin-top: 20px;\n }\n\n margin-bottom: 24px;\n .table-cell {\n span {\n font-size: 18px;\n }\n @media (max-width: ","px) {\n span {\n font-size: 15px;\n }\n }\n }\n .match-sites-cell,\n .expires-cell {\n min-width: 100px;\n }\n .actions {\n text-align: center;\n @media (max-width: ","px) {\n .MuiButton-root {\n padding: 6px;\n }\n }\n }\n"])),(e=>e.theme.breakpoints.values.sm),(e=>e.theme.breakpoints.values.sm));var ar,or=n(62362),lr=n(90067);const sr=(0,n(50844).Z)((e=>({root:{color:e.palette.primary.main,height: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}})))(or.ZP);function cr(){const{info:{routing:e}}=(0,j.h6)(),{t:t}=(0,c.PE)(),[n,r]=(0,i.useState)(!1),a=e.requestLimit||{};"boolean"!==typeof a.enabled&&(a.enabled=!1),"number"!==typeof a.rate&&(a.rate=h.GATEWAY_REQ_LIMIT.min),a.ipHeader||(a.ipHeader="");const{handleSubmit:o,control:s,watch:d}=(0,M.cI)({defaultValues:{requestLimit:a,cacheEnabled:"boolean"!==typeof e.cacheEnabled||e.cacheEnabled}}),m=d("requestLimit.enabled"),u=d("requestLimit.rate"),p=async e=>{try{r(!0),await(0,v.Z)().updateGateway({input:e}),await(0,b._v)(1e3),z.Z.success(t("common.saveSuccess"))}catch(n){z.Z.error((0,b.Z)(n))}finally{r(!1)}};return(0,Z.jsx)(dr,{children:(0,Z.jsx)($.Z,{permission:"mutate_node",children:e=>(0,Z.jsxs)(ee,{className:"form",noValidate:!0,autoComplete:"off",onSubmit:o(p),children:[(0,Z.jsx)(M.Qr,{name:"cacheEnabled",control:s,render:n=>{let{field:{value:r,onChange:i}}=n;return(0,Z.jsx)(Y.Z,{checked:r,disabled:!e,onChange:e=>i(e.target.checked),labelProps:{label:(0,Z.jsx)(l.Z,{children:(0,Z.jsx)("span",{children:t("router.gateway.cacheEnabled.switchLabel")})})},style:{marginTop:16}})}}),(0,Z.jsx)(M.Qr,{name:"requestLimit.enabled",control:s,render:n=>{let{field:{value:r,onChange:i}}=n;return(0,Z.jsx)(Y.Z,{checked:r,disabled:!e,onChange:e=>i(e.target.checked),labelProps:{label:(0,Z.jsx)(l.Z,{children:(0,Z.jsx)("span",{children:t("router.gateway.reqLimit.switchLabel")})})},style:{marginTop:16}})}}),m&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{className:"form-item",children:[(0,Z.jsx)(l.Z,{id:"request-limit-rate-label",gutterBottom:!0,children:t("router.gateway.reqLimit.rate",{rate:u})}),(0,Z.jsx)(M.Qr,{name:"requestLimit.rate",control:s,render:t=>{let{field:{value:n,onChange:r}}=t;return(0,Z.jsx)(sr,{disabled:!e,onChange:(e,t)=>r(t),defaultValue:n,valueLabelDisplay:"auto",step:1,min:h.GATEWAY_REQ_LIMIT.min,max:h.GATEWAY_REQ_LIMIT.max})}})]}),(0,Z.jsx)(M.Qr,{name:"requestLimit.ipHeader",control:s,render:r=>{let{field:{value:i,onChange:a}}=r;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(W.Z,{variant:"outlined",disabled:n||!e,className:"form-item",label:t("router.gateway.reqLimit.ipHeaderLabel"),margin:"normal",value:i,onChange:a}),(0,Z.jsx)(lr.Z,{id:"req-limit-ip_header-desc",children:t("router.gateway.reqLimit.ipHeaderDesc")})]})}})]}),(0,Z.jsx)("div",{className:"form-actions",children:e&&(0,Z.jsxs)(B.Z,{disabled:n,onClick:o(p),color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[t("common.save")," ",n&&(0,Z.jsx)(q.Z,{size:16})]})})]})})})}const dr=a.Z.div(ar||(ar=(0,r.Z)(["\n display: flex;\n align-items: flex-start;\n width: 100%;\n max-width: 720px;\n"])));var mr;function ur(){const e=(0,o.useNavigate)(),{node:t}=(0,i.useContext)(j.sy),{t:n}=(0,i.useContext)(c.RD),{tab:r="basic"}=(0,o.useParams)(),a=[{label:n("common.basic"),value:"basic"},{label:n("router.routerSetting"),value:"router"},{label:n("router.certSetting"),value:"cert"},{label:n("common.gateway"),value:"gateway"},{label:n("common.webhook"),value:"integration"},{label:n("common.about"),value:"about"}],d={basic:le,integration:ve,about:Je,router:(0,Z.jsx)(A,{children:(0,Z.jsx)(Sn,{})}),gateway:cr,cert:(0,Z.jsx)(A,{children:(0,Z.jsx)(rr,{})})},m=d[r]||d.basic;return(0,Z.jsxs)(pr,{children:[(0,Z.jsx)(l.Z,{component:"h2",variant:"h4",className:"page-header",color:"textPrimary",children:n("common.setting")}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(s.Z,{tabs:a,current:r,onChange:t=>{e("/settings/".concat(t))},scrollButtons:"auto"}),(0,Z.jsx)("div",{className:"page-content",children:(0,i.isValidElement)(m)?m:(0,Z.jsx)(m,{node:t})})]})]})}const pr=a.Z.main(mr||(mr=(0,r.Z)(["\n .page-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .page-content {\n margin-top: 16px;\n }\n"])))},44543:(e,t,n)=>{const r=n(57156);e.exports=(e,t)=>r(e)===r(t)},44784:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var r,i=n(71171),a=n(33518),o=n(82790),l=n(96266);function s(e){let{labelProps:t,className:n,style:r,...i}=e;const a={...t,labelPlacement:(null===t||void 0===t?void 0:t.labelPlacement)||"start"};return(0,l.jsx)(c,{className:n,style:r,children:(0,l.jsx)(o.Z,{labelProps:a,...i})})}s.propTypes=o.Z.propTypes,s.defaultProps=o.Z.defaultProps;const c=a.Z.div(r||(r=(0,i.Z)(["\n max-width: 300px;\n > label {\n display: flex;\n justify-content: space-between;\n width: 100%;\n margin-left: 0;\n margin-right: 0;\n }\n "," {\n max-width: 100%;\n }\n"])),(e=>{let{theme:t}=e;return t.breakpoints.down("sm")})),d=s},81010:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(5057),i=n(55898),a=n.n(i),o=n(44846),l=n(75239),s=n(68420),c=n(38242),d=n(69569),m=n(22228),u=n(96266);const p={yellow:"#FFCF71",grey:"#888888"};function f(e){let{status:t,variant:n,source:i,progress:a,...f}=e;const{t:h}=(0,r.useContext)(s.RD),x={added:p.grey,waiting:p.yellow,downloading:p.yellow,extracting:p.yellow,downloaded:p.grey,installing:p.yellow,installed:p.grey,starting:p.yellow,running:"success",stopping:p.yellow,stopped:p.grey,error:"error",upgrading:p.yellow,restarting:p.yellow,corrupted:"error",deleting:p.yellow},g=(0,c.isInProgress)(t),y=h("blocklet.status.".concat(t));return"dot"===n?(0,u.jsx)(l.Z,{title:h("blocklet.statusTip",{status:y}),children:(0,u.jsx)(d.Z,{color:x[t],...f})}):(0,u.jsxs)(m.Z,{type:{added:"primary",waiting:"warning",downloading:"warning",extracting:"warning",downloaded:"primary",installing:"warning",installed:"primary",starting:"warning",running:"success",stopping:"warning",stopped:"reverse",error:"error",upgrading:"warning",restarting:"warning",corrupted:"error",deleting:"warning"}[t],...f,children:[g&&(0,u.jsx)(o.Z,{size:12,color:"inherit",style:{marginRight:5}}),y,"downloading"===t&&a?(0,u.jsx)("div",{style:{marginLeft:5},children:"".concat(a," %")}):null]})}f.propTypes={status:a().string.isRequired,variant:a().oneOf(["dot","tag"]),source:a().string,progress:a().number},f.defaultProps={variant:"tag",source:"",progress:0}},78410:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(5057),i=n(86229),a=n(28726),o=n(44846),l=n(68420),s=n(46090),c=n(58238),d=n(70461),m=n(96266);function u(e){let{teamDid:t,size:n="small",...u}=e;const{t:p}=(0,l.PE)(),{api:f}=(0,c.h6)(),[h,x]=(0,r.useState)(!1),[g,y]=(0,r.useState)(null),j={title:p("blocklet.config.clearCache.title"),description:p("blocklet.config.clearCache.description"),confirm:p("common.confirm"),cancel:p("common.cancel"),onConfirm:async()=>{try{var e;x(!0);const n=await f.clearCache({input:{teamDid:t}});i.Z.success(p("blocklet.config.clearCache.success",{count:(null===(e=n.removed)||void 0===e?void 0:e.length)||0}))}catch(n){i.Z.error((0,s.Z)(n))}finally{x(!1),y(null)}},onCancel:()=>{x(!1),y(null)}};return(0,m.jsxs)("div",{...u,children:[(0,m.jsxs)(a.Z,{onClick:()=>y(j),color:"error",variant:"outlined",size:n,children:[h?(0,m.jsx)(o.Z,{size:16,style:{marginRight:5}}):null,p("blocklet.config.clearCache.action")]}),g&&(0,m.jsx)(d.Z,{title:g.title,description:g.description,confirm:g.confirm,cancel:g.cancel,onConfirm:g.onConfirm,onCancel:g.onCancel})]})}},50185:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(5057),i=n(55898),a=n.n(i),o=n(12937),l=n(68420),s=n(96266);function c(e){let{children:t,...n}=e;const{t:i}=(0,r.useContext)(l.RD);return(0,s.jsx)(o.Z,{tip:i("common.copyTip"),copiedTip:i("common.copiedTip"),...n,children:t})}c.propTypes={children:a().any.isRequired}},71363:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(55898),i=n.n(r),a=n(11750),o=n(47020),l=n(93938),s=n(68420),c=n(50185),d=n(70461),m=n(96266);function u(e){let{title:t,description:n,confirmPlaceholder:r,cancel:i,confirm:u,params:p,onCancel:f,onConfirm:h,keyName:x}=e;const{t:g}=(0,s.PE)(),y={title:()=>(0,m.jsxs)("div",{children:[t," (".concat(x,")")]}),description:(e,t)=>(0,m.jsxs)("div",{children:[(0,m.jsx)(l.Z,{severity:"warning",style:{width:"100%"},children:g("common.notice")}),(0,m.jsx)("div",{style:{marginTop:24,marginBottom:24},dangerouslySetInnerHTML:{__html:n}}),(0,m.jsxs)("div",{style:{marginBottom:24},children:[g("common.click"),"\uff1a",(0,m.jsx)(c.Z,{"data-cy":"click-copy",children:x})]}),(0,m.jsx)(a.Z,{component:"div",children:(0,m.jsx)(o.Z,{label:r,autoComplete:"off","data-cy":"delete-confirm-input",variant:"outlined",fullWidth:!0,autoFocus:!0,value:e.inputVal,onChange:n=>{var r;r={...e,inputVal:n.target.value,__disableConfirm:x!==n.target.value},t({...r,__disableConfirm:r.__disableConfirm})}})})]}),confirm:u,cancel:i,onConfirm:h,onCancel:f,params:{inputVal:"",__disableConfirm:!0,...p}};return(0,m.jsx)(d.Z,{title:y.title,description:y.description,confirm:y.confirm,cancel:y.cancel,params:y.params,onConfirm:y.onConfirm,onCancel:y.onCancel})}u.propTypes={title:i().any.isRequired,keyName:i().any.isRequired,description:i().any.isRequired,confirmPlaceholder:i().any.isRequired,cancel:i().string,confirm:i().string,params:i().object,onCancel:i().func,onConfirm:i().func.isRequired},u.defaultProps={onCancel:()=>{},cancel:"",confirm:"Confirm",params:{}}},69569:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r,i=n(71171),a=n(33518);const o={success:"#3ab39d",error:"#D0021B"},l="10px",s=a.Z.div(r||(r=(0,i.Z)(["\n display: inline-block;\n min-width: ",";\n min-height: ",";\n background: ",";\n border-radius: 100%;\n"])),(e=>e.size||l),(e=>e.size||l),(e=>o[e.color]||e.color||o.success))},22228:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var r=n(55898),i=n.n(r),a=n(19778),o=n(96266);function l(e){let{children:t,style:n,...r}=e;return(0,o.jsx)(a.Z,{style:n,...r,children:t})}l.propTypes={children:i().any.isRequired,style:i().object},l.defaultProps={style:{}}}}]);
|