@minecraft-docker/mcctl-console 2.8.0 → 2.8.1
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/.next/standalone/platform/services/mcctl-console/.next/BUILD_ID +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/app-build-manifest.json +74 -72
- package/.next/standalone/platform/services/mcctl-console/.next/app-path-routes-manifest.json +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/build-manifest.json +2 -2
- package/.next/standalone/platform/services/mcctl-console/.next/prerender-manifest.json +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/admin/users/page.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/admin/users/page_client-reference-manifest.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/audit-logs/page_client-reference-manifest.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/backups/page.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/backups/page_client-reference-manifest.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/dashboard/page.js +4 -4
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/dashboard/page.js.nft.json +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/players/page_client-reference-manifest.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/routing/page_client-reference-manifest.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/console/page.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/console/page_client-reference-manifest.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/page.js +1 -54
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/page.js.nft.json +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/page.js +1 -54
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/page.js.nft.json +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/worlds/page.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/worlds/page_client-reference-manifest.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/_not-found.rsc +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/audit-logs.html +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/audit-logs.rsc +2 -2
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/backups.html +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/backups.rsc +3 -3
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/dashboard.html +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/dashboard.rsc +3 -3
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/index.html +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/index.rsc +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/login.html +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/login.rsc +2 -2
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/players.html +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/players.rsc +3 -3
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/routing.html +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/routing.rsc +3 -3
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/servers.html +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/servers.rsc +3 -3
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/settings.html +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/settings.rsc +3 -3
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/signup/page_client-reference-manifest.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/signup.html +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/signup.rsc +2 -2
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/worlds.html +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/worlds.rsc +3 -3
- package/.next/standalone/platform/services/mcctl-console/.next/server/app-paths-manifest.json +21 -21
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/1088.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/5843.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/7049.js +54 -0
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/8389.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/8847.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/platform/services/mcctl-console/.next/server/pages/404.html +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/pages/500.html +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/1047-1957808ef6d146f3.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/{1658-1c16e5a05aaa11ee.js → 1658-43a798763bcc82ae.js} +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/{7727-2552fac729c5514a.js → 2539-6bce0edb99b4e538.js} +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/5787-04cc23df05f9da2e.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/6039-38b0b8c06d25892e.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/6646-c5d039d1ad306467.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/682-6192991ddec396b8.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/7965-420dbb1f781fdc83.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/837-f4fbf77c24343b1f.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/8854-b34262a2493987c4.js +1 -0
- package/.next/{static/chunks/9949-92aa4cba630945d3.js → standalone/platform/services/mcctl-console/.next/static/chunks/9949-2daeb31bdedf25c7.js} +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/admin/users/page-e8263fc89b5d349a.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/dashboard/page-3cf14179dcdd7ac6.js +1 -0
- package/.next/{static/chunks/app/(main)/layout-22d4db17be3f8c25.js → standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/layout-bf1846a6b0c68959.js} +1 -1
- package/.next/{static/chunks/app/(main)/players/page-fef43a34b56c2fcf.js → standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/players/page-c4760429d9828ad3.js} +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/servers/[name]/console/{page-1287129ad47a4440.js → page-a0050b5b439d954f.js} +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/servers/[name]/page-f82acaf60a615953.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/servers/page-382a14f87768df2c.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/worlds/page-a194d5d6a77d7e06.js +1 -0
- package/.next/{static/chunks/app/login/page-55283ea041e00fc0.js → standalone/platform/services/mcctl-console/.next/static/chunks/app/login/page-b7ec94d60aae14ce.js} +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/signup/{page-d3f96f0e775636fd.js → page-6f03571bb9914130.js} +1 -1
- package/.next/static/chunks/1047-1957808ef6d146f3.js +1 -0
- package/.next/static/chunks/{1658-1c16e5a05aaa11ee.js → 1658-43a798763bcc82ae.js} +1 -1
- package/.next/static/chunks/{7727-2552fac729c5514a.js → 2539-6bce0edb99b4e538.js} +1 -1
- package/.next/static/chunks/5787-04cc23df05f9da2e.js +1 -0
- package/.next/static/chunks/6039-38b0b8c06d25892e.js +1 -0
- package/.next/static/chunks/6646-c5d039d1ad306467.js +1 -0
- package/.next/static/chunks/682-6192991ddec396b8.js +1 -0
- package/.next/static/chunks/7965-420dbb1f781fdc83.js +1 -0
- package/.next/static/chunks/837-f4fbf77c24343b1f.js +1 -0
- package/.next/static/chunks/8854-b34262a2493987c4.js +1 -0
- package/.next/{standalone/platform/services/mcctl-console/.next/static/chunks/9949-92aa4cba630945d3.js → static/chunks/9949-2daeb31bdedf25c7.js} +1 -1
- package/.next/static/chunks/app/(main)/admin/users/page-e8263fc89b5d349a.js +1 -0
- package/.next/static/chunks/app/(main)/dashboard/page-3cf14179dcdd7ac6.js +1 -0
- package/.next/{standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/layout-22d4db17be3f8c25.js → static/chunks/app/(main)/layout-bf1846a6b0c68959.js} +1 -1
- package/.next/{standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/players/page-fef43a34b56c2fcf.js → static/chunks/app/(main)/players/page-c4760429d9828ad3.js} +1 -1
- package/.next/static/chunks/app/(main)/servers/[name]/console/{page-1287129ad47a4440.js → page-a0050b5b439d954f.js} +1 -1
- package/.next/static/chunks/app/(main)/servers/[name]/page-f82acaf60a615953.js +1 -0
- package/.next/static/chunks/app/(main)/servers/page-382a14f87768df2c.js +1 -0
- package/.next/static/chunks/app/(main)/worlds/page-a194d5d6a77d7e06.js +1 -0
- package/.next/{standalone/platform/services/mcctl-console/.next/static/chunks/app/login/page-55283ea041e00fc0.js → static/chunks/app/login/page-b7ec94d60aae14ce.js} +1 -1
- package/.next/static/chunks/app/signup/{page-d3f96f0e775636fd.js → page-6f03571bb9914130.js} +1 -1
- package/package.json +2 -2
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/8091.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/1476-a0570078fdf78fae.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/3333-7e2d13faa47ed67e.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/4436-bf86b627021ca7ab.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/5787-bea4ee84b4bf2dea.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/7965-e1d52a92f5303aca.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/8468-8346b1d9ff3f7efa.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/8854-11e2a182afd76dcd.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/admin/users/page-3cc240ec265dc135.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/dashboard/page-fba60ccdbc06c136.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/servers/[name]/page-1becd4dc3adb9b97.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/servers/page-bebe3d652d7cf3fb.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/worlds/page-e78b9914366748cf.js +0 -1
- package/.next/static/chunks/1476-a0570078fdf78fae.js +0 -1
- package/.next/static/chunks/3333-7e2d13faa47ed67e.js +0 -1
- package/.next/static/chunks/4436-bf86b627021ca7ab.js +0 -1
- package/.next/static/chunks/5787-bea4ee84b4bf2dea.js +0 -1
- package/.next/static/chunks/7965-e1d52a92f5303aca.js +0 -1
- package/.next/static/chunks/8468-8346b1d9ff3f7efa.js +0 -1
- package/.next/static/chunks/8854-11e2a182afd76dcd.js +0 -1
- package/.next/static/chunks/app/(main)/admin/users/page-3cc240ec265dc135.js +0 -1
- package/.next/static/chunks/app/(main)/dashboard/page-fba60ccdbc06c136.js +0 -1
- package/.next/static/chunks/app/(main)/servers/[name]/page-1becd4dc3adb9b97.js +0 -1
- package/.next/static/chunks/app/(main)/servers/page-bebe3d652d7cf3fb.js +0 -1
- package/.next/static/chunks/app/(main)/worlds/page-e78b9914366748cf.js +0 -1
- /package/.next/standalone/platform/services/mcctl-console/.next/static/{89Bssec70Vx75pcmzcDoG → S1X5jEkA1d_pSlIMuZWrE}/_buildManifest.js +0 -0
- /package/.next/standalone/platform/services/mcctl-console/.next/static/{89Bssec70Vx75pcmzcDoG → S1X5jEkA1d_pSlIMuZWrE}/_ssgManifest.js +0 -0
- /package/.next/static/{89Bssec70Vx75pcmzcDoG → S1X5jEkA1d_pSlIMuZWrE}/_buildManifest.js +0 -0
- /package/.next/static/{89Bssec70Vx75pcmzcDoG → S1X5jEkA1d_pSlIMuZWrE}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7965],{57965:function(e,s,r){r.d(s,{eE:function(){return X},E4:function(){return N},SB:function(){return k},ms:function(){return O},hI:function(){return j},aY:function(){return ec},zd:function(){return _},Ik:function(){return P}});var n=r(94655),t=r(628),i=r(41565),a=r(31317),l=r(7281),o=r(25333),c=r(21138),d=r(84811),x=r(70366),u=r(47001),h=r(59602);let m={fontWeight:500,color:"text.secondary",border:0,width:"40%",py:1},p={border:0,py:1};function j(e){var s;let{router:r}=e,j=(s=r.mode)?s.includes("in-docker")||s.includes("auto-discovery")?{label:"Auto Discovery",color:"info"}:s.includes("mapping")?{label:"Manual Mapping",color:"warning"}:{label:s,color:"default"}:{label:"Unknown",color:"default"};return(0,n.jsx)(t.Z,{children:(0,n.jsxs)(i.Z,{children:[(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:2},children:[(0,n.jsx)(h.Z,{color:"primary"}),(0,n.jsx)(a.Z,{variant:"h6",component:"h2",children:"Platform Information"})]}),(0,n.jsx)(c.Z,{size:"small",children:(0,n.jsxs)(d.Z,{children:[(0,n.jsxs)(x.Z,{children:[(0,n.jsx)(u.Z,{sx:m,children:"Router Name"}),(0,n.jsx)(u.Z,{sx:p,children:r.name})]}),(0,n.jsxs)(x.Z,{children:[(0,n.jsx)(u.Z,{sx:m,children:"Port"}),(0,n.jsx)(u.Z,{sx:p,children:r.port})]}),(0,n.jsxs)(x.Z,{children:[(0,n.jsx)(u.Z,{sx:m,children:"Mode"}),(0,n.jsx)(u.Z,{sx:p,children:(0,n.jsx)(o.Z,{label:j.label,size:"small",color:j.color,variant:"outlined"})})]}),(0,n.jsxs)(x.Z,{children:[(0,n.jsx)(u.Z,{sx:m,children:"Uptime"}),(0,n.jsx)(u.Z,{sx:p,children:r.uptime||"-"})]})]})})]})})}var Z=r(95511),f=r(66561),g=r(12795),y=r(96407),v=r(29983),b=r(81960);function w(e){switch(e){case"running":return"#4caf50";case"exited":case"dead":case"not_found":case"not_created":return"#f44336";case"created":case"restarting":case"paused":return"#ff9800";default:return"#9e9e9e"}}function S(e){let{status:s}=e;return(0,n.jsx)(Z.Z,{title:s,arrow:!0,children:(0,n.jsx)(l.Z,{sx:{width:10,height:10,borderRadius:"50%",bgcolor:w(s),flexShrink:0,boxShadow:"running"===s?"0 0 6px ".concat(w(s)):"none"}})})}function P(e){let{router:s}=e,r=function(e){let s=new Map;for(let r of e){let e=r.target.replace(/^mc-/,"").replace(/:25565$/,""),n=s.get(e);n?n.hostnames.push(r.hostname):s.set(e,{status:r.serverStatus,hostnames:[r.hostname],serverType:r.serverType,serverVersion:r.serverVersion})}return s}(s.routes);return(0,n.jsx)(t.Z,{sx:{height:"100%"},children:(0,n.jsxs)(i.Z,{children:[(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:2},children:[(0,n.jsx)(v.Z,{color:"primary"}),(0,n.jsx)(a.Z,{variant:"h6",component:"h2",children:"MC-Router Status"}),(0,n.jsxs)(l.Z,{sx:{ml:"auto",display:"flex",gap:1},children:[(0,n.jsx)(o.Z,{label:s.status,size:"small",color:function(e){switch(e){case"running":return"success";case"exited":case"dead":case"not_found":case"not_created":return"error";case"created":case"restarting":case"paused":return"warning";default:return"default"}}(s.status)}),(0,n.jsx)(o.Z,{label:s.health,size:"small",color:function(e){switch(e){case"healthy":return"success";case"unhealthy":return"error";case"starting":return"warning";default:return"default"}}(s.health),variant:"outlined"})]})]}),(0,n.jsx)(a.Z,{variant:"subtitle2",sx:{mb:1,mt:3},children:"Routing Table"}),0===s.routes.length?(0,n.jsx)(a.Z,{variant:"body2",color:"text.secondary",sx:{py:2,textAlign:"center"},children:"No routes configured"}):(0,n.jsx)(l.Z,{sx:{mt:1},children:Array.from(r.entries()).map(e=>{let[s,{status:r,hostnames:t,serverType:i,serverVersion:o}]=e;return(0,n.jsxs)(f.Z,{defaultExpanded:!0,disableGutters:!0,elevation:0,sx:{border:1,borderColor:"divider","&:not(:last-child)":{borderBottom:0},"&::before":{display:"none"}},children:[(0,n.jsx)(g.Z,{expandIcon:(0,n.jsx)(b.Z,{}),children:(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:1,width:"100%",pr:1},children:[(0,n.jsx)(S,{status:r}),(0,n.jsx)(a.Z,{variant:"subtitle2",sx:{fontWeight:600},children:s}),(i||o)&&(0,n.jsx)(a.Z,{variant:"caption",color:"text.secondary",children:[i,o].filter(Boolean).join(" ")}),(0,n.jsxs)(a.Z,{variant:"caption",color:"text.secondary",sx:{ml:"auto"},children:[t.length," ",1===t.length?"route":"routes"]})]})}),(0,n.jsx)(y.Z,{sx:{pt:0},children:(0,n.jsx)(l.Z,{sx:{display:"flex",flexDirection:"column",gap:.5},children:t.map(e=>(0,n.jsx)(a.Z,{variant:"body2",sx:{fontFamily:'"Roboto Mono", monospace',fontSize:"0.85rem",color:"text.secondary"},children:e},e))})})]},s)})})]})})}var C=r(21605);let z={fontWeight:500,color:"text.secondary",border:0,width:"40%",py:1},I={border:0,py:1};function k(e){var s;let{router:r}=e,h=r.routes.filter(e=>"running"===e.serverStatus).length,m=r.routes.length;return(0,n.jsx)(t.Z,{children:(0,n.jsxs)(i.Z,{children:[(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:2},children:[(0,n.jsx)(C.Z,{color:"primary"}),(0,n.jsx)(a.Z,{variant:"h6",component:"h2",children:"Network Settings"})]}),(0,n.jsx)(c.Z,{size:"small",children:(0,n.jsxs)(d.Z,{children:[(0,n.jsxs)(x.Z,{children:[(0,n.jsx)(u.Z,{sx:z,children:"Listening Port"}),(0,n.jsx)(u.Z,{sx:I,children:(0,n.jsx)(o.Z,{label:r.port,size:"small",variant:"outlined"})})]}),(0,n.jsxs)(x.Z,{children:[(0,n.jsx)(u.Z,{sx:z,children:"Routing Mode"}),(0,n.jsx)(u.Z,{sx:I,children:(0,n.jsx)(o.Z,{label:(s=r.mode)?s.includes("in-docker")||s.includes("auto-discovery")?"Auto Discovery":s.includes("mapping")?"Manual Mapping":s:"Unknown",size:"small",color:"info",variant:"outlined"})})]}),(0,n.jsxs)(x.Z,{children:[(0,n.jsx)(u.Z,{sx:z,children:"Total Routes"}),(0,n.jsx)(u.Z,{sx:I,children:m})]}),(0,n.jsxs)(x.Z,{children:[(0,n.jsx)(u.Z,{sx:z,children:"Active Routes"}),(0,n.jsx)(u.Z,{sx:I,children:(0,n.jsx)(o.Z,{label:"".concat(h," / ").concat(m),size:"small",color:h>0?"success":"default",variant:"outlined"})})]})]})})]})})}var A=r(76544);function N(e){var s;let{avahi:r}=e,c=null!==(s=null==r?void 0:r.status)&&void 0!==s?s:"unknown";return(0,n.jsx)(t.Z,{children:(0,n.jsxs)(i.Z,{children:[(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:2},children:[(0,n.jsx)(A.Z,{color:"primary"}),(0,n.jsx)(a.Z,{variant:"h6",component:"h2",children:"mDNS (Avahi)"}),(0,n.jsx)(o.Z,{label:c,size:"small",color:"running"===c?"success":c.includes("not running")?"warning":"not installed"===c?"error":"default",sx:{ml:"auto"}})]}),(0,n.jsxs)(a.Z,{variant:"body2",color:"text.secondary",children:["Avahi mDNS daemon enables ",(0,n.jsx)("code",{children:".local"})," hostname resolution for Minecraft servers on the local network."]})]})})}var D=r(35106),T=r(97436),E=r(30417),R=r(93017),W=r(30114),U=r(6986);function _(e){var s;let{onSuccess:r,onError:c}=e,{data:d}=(0,U.kP)(),[x,u]=(0,D.useState)((null==d?void 0:null===(s=d.user)||void 0===s?void 0:s.name)||""),[h,m]=(0,D.useState)(!1),[p,j]=(0,D.useState)(!1),Z=null==d?void 0:d.user;(0,D.useEffect)(()=>{(null==Z?void 0:Z.name)&&!p&&(u(Z.name),j(!0))},[null==Z?void 0:Z.name,p]);let f=x!==((null==Z?void 0:Z.name)||""),g=async()=>{if(f&&x.trim()){m(!0);try{let{error:e}=await (0,U.Nq)({name:x.trim()});e?c(e.message||"Failed to update profile"):r("Profile updated successfully")}catch(e){c("Failed to update profile")}finally{m(!1)}}};return Z?(0,n.jsx)(t.Z,{sx:{height:"100%"},children:(0,n.jsxs)(i.Z,{children:[(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:3},children:[(0,n.jsx)(W.Z,{color:"primary"}),(0,n.jsx)(a.Z,{variant:"h6",component:"h2",children:"Profile"})]}),(0,n.jsxs)(l.Z,{sx:{display:"flex",flexDirection:"column",gap:2.5},children:[(0,n.jsx)(T.Z,{label:"Name",value:x,onChange:e=>u(e.target.value),fullWidth:!0,size:"small"}),(0,n.jsx)(T.Z,{label:"Email",value:Z.email,fullWidth:!0,size:"small",disabled:!0,helperText:"Email cannot be changed"}),(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,n.jsx)(a.Z,{variant:"body2",color:"text.secondary",children:"Role:"}),(0,n.jsx)(o.Z,{label:"admin"===Z.role?"Admin":"User",size:"small",color:"admin"===Z.role?"primary":"default",variant:"outlined"})]}),(0,n.jsx)(l.Z,{sx:{display:"flex",justifyContent:"flex-end"},children:(0,n.jsx)(E.Z,{variant:"contained",onClick:g,disabled:!f||!x.trim()||h,startIcon:h?(0,n.jsx)(R.Z,{size:16}):null,children:h?"Saving...":"Save Changes"})})]})]})}):null}var B=r(52082),F=r(79983),M=r(70603),L=r(28058),q=r(42730);function O(e){let{onSuccess:s,onError:r}=e,[o,c]=(0,D.useState)(""),[d,x]=(0,D.useState)(""),[u,h]=(0,D.useState)(""),[m,p]=(0,D.useState)(!1),[j,Z]=(0,D.useState)(!1),[f,g]=(0,D.useState)(!1),[y,v]=(0,D.useState)(!1),[b,w]=(0,D.useState)({}),S=()=>{let e={};return o||(e.currentPassword="Current password is required"),d?d.length<8&&(e.newPassword="Password must be at least ".concat(8," characters")):e.newPassword="New password is required",u?d!==u&&(e.confirmPassword="Passwords do not match"):e.confirmPassword="Please confirm your new password",o&&d&&o===d&&(e.newPassword="New password must be different from current password"),w(e),0===Object.keys(e).length},P=async e=>{if(e.preventDefault(),S()){v(!0);try{let{error:e}=await (0,U.Cp)({currentPassword:o,newPassword:d,revokeOtherSessions:!1});e?r(e.message||"Failed to change password"):(s("Password changed successfully"),c(""),x(""),h(""),w({}))}catch(e){r("Failed to change password")}finally{v(!1)}}},C=(e,s)=>(0,n.jsx)(B.Z,{position:"end",children:(0,n.jsx)(F.Z,{"aria-label":e?"hide password":"show password",onClick:()=>s(!e),edge:"end",size:"small",children:e?(0,n.jsx)(q.Z,{fontSize:"small"}):(0,n.jsx)(L.Z,{fontSize:"small"})})});return(0,n.jsx)(t.Z,{children:(0,n.jsxs)(i.Z,{children:[(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:3},children:[(0,n.jsx)(M.Z,{color:"primary"}),(0,n.jsx)(a.Z,{variant:"h6",component:"h2",children:"Change Password"})]}),(0,n.jsxs)(l.Z,{component:"form",onSubmit:P,sx:{display:"flex",flexDirection:"column",gap:2.5},children:[(0,n.jsx)(T.Z,{label:"Current Password",type:m?"text":"password",value:o,onChange:e=>{c(e.target.value),b.currentPassword&&w(e=>({...e,currentPassword:""}))},error:!!b.currentPassword,helperText:b.currentPassword,fullWidth:!0,size:"small",autoComplete:"current-password",InputProps:{endAdornment:C(m,p)}}),(0,n.jsx)(T.Z,{label:"New Password",type:j?"text":"password",value:d,onChange:e=>{x(e.target.value),b.newPassword&&w(e=>({...e,newPassword:""}))},error:!!b.newPassword,helperText:b.newPassword||"Minimum ".concat(8," characters"),fullWidth:!0,size:"small",autoComplete:"new-password",InputProps:{endAdornment:C(j,Z)}}),(0,n.jsx)(T.Z,{label:"Confirm New Password",type:f?"text":"password",value:u,onChange:e=>{h(e.target.value),b.confirmPassword&&w(e=>({...e,confirmPassword:""}))},error:!!b.confirmPassword,helperText:b.confirmPassword,fullWidth:!0,size:"small",autoComplete:"new-password",InputProps:{endAdornment:C(f,g)}}),(0,n.jsx)(l.Z,{sx:{display:"flex",justifyContent:"flex-end"},children:(0,n.jsx)(E.Z,{type:"submit",variant:"contained",disabled:y,startIcon:y?(0,n.jsx)(R.Z,{size:16}):null,children:y?"Changing...":"Change Password"})})]})]})})}var K=r(23695);let V={fontWeight:500,color:"text.secondary",border:0,width:"40%",py:1},$={border:0,py:1};function Q(e){return e?("string"==typeof e?new Date(e):e).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):"-"}function X(){let{data:e}=(0,U.kP)(),s=null==e?void 0:e.user;return s?(0,n.jsx)(t.Z,{sx:{height:"100%"},children:(0,n.jsxs)(i.Z,{children:[(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:2},children:[(0,n.jsx)(K.Z,{color:"primary"}),(0,n.jsx)(a.Z,{variant:"h6",component:"h2",children:"Account Information"})]}),(0,n.jsx)(c.Z,{size:"small",children:(0,n.jsxs)(d.Z,{children:[(0,n.jsxs)(x.Z,{children:[(0,n.jsx)(u.Z,{sx:V,children:"Account ID"}),(0,n.jsx)(u.Z,{sx:$,children:(0,n.jsx)(a.Z,{variant:"body2",sx:{fontFamily:'"Roboto Mono", monospace',fontSize:"0.8rem"},children:s.id})})]}),(0,n.jsxs)(x.Z,{children:[(0,n.jsx)(u.Z,{sx:V,children:"Created"}),(0,n.jsx)(u.Z,{sx:$,children:Q(s.createdAt)})]}),(0,n.jsxs)(x.Z,{children:[(0,n.jsx)(u.Z,{sx:V,children:"Last Updated"}),(0,n.jsx)(u.Z,{sx:$,children:Q(s.updatedAt)})]})]})})]})}):null}var Y=r(11254),G=r(10721),H=r(81071),J=r(84974),ee=r(5501),es=r(93315),er=r(9078),en=r(10449),et=r(24559),ei=r(37228);let ea={fontWeight:500,color:"text.secondary",border:0,width:"40%",py:1},el={border:0,py:1};function eo(e){let{text:s}=e,[r,t]=(0,D.useState)(!1),i=async()=>{try{await navigator.clipboard.writeText(s),t(!0),setTimeout(()=>t(!1),2e3)}catch(e){console.error("Failed to copy:",e)}};return(0,n.jsx)(F.Z,{size:"small",onClick:i,sx:{ml:1,color:r?"success.main":"text.secondary","&:hover":{bgcolor:"action.hover"}},"aria-label":r?"Copied":"Copy to clipboard",children:r?(0,n.jsx)(et.Z,{sx:{fontSize:16}}):(0,n.jsx)(en.Z,{sx:{fontSize:16}})})}function ec(){let{data:e,isLoading:s,error:r}=(0,ei.UW)(),h=(0,ei.Bc)(),m=(0,ei.N$)();if(r)return(0,n.jsx)(t.Z,{children:(0,n.jsxs)(i.Z,{children:[(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:2},children:[(0,n.jsx)(J.Z,{color:"primary"}),(0,n.jsx)(a.Z,{variant:"h6",component:"h2",children:"External Access (playit.gg)"})]}),(0,n.jsxs)(H.Z,{severity:"error",children:["Failed to load playit status: ",r.message]})]})});if(s)return(0,n.jsx)(t.Z,{children:(0,n.jsxs)(i.Z,{children:[(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:2},children:[(0,n.jsx)(G.Z,{variant:"circular",width:24,height:24}),(0,n.jsx)(G.Z,{variant:"text",width:"40%",height:32})]}),(0,n.jsxs)(l.Z,{sx:{display:"flex",justifyContent:"space-between",py:.75},children:[(0,n.jsx)(G.Z,{variant:"text",width:"35%"}),(0,n.jsx)(G.Z,{variant:"text",width:"40%"})]}),(0,n.jsxs)(l.Z,{sx:{display:"flex",justifyContent:"space-between",py:.75},children:[(0,n.jsx)(G.Z,{variant:"text",width:"35%"}),(0,n.jsx)(G.Z,{variant:"text",width:"40%"})]})]})});if(!(null==e?void 0:e.enabled))return(0,n.jsx)(t.Z,{children:(0,n.jsxs)(i.Z,{children:[(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:2},children:[(0,n.jsx)(J.Z,{color:"primary"}),(0,n.jsx)(a.Z,{variant:"h6",component:"h2",children:"External Access (playit.gg)"})]}),(0,n.jsxs)(H.Z,{severity:"info",children:[(0,n.jsx)(a.Z,{variant:"body2",fontWeight:500,sx:{mb:.5},children:"Not configured"}),(0,n.jsx)(a.Z,{variant:"body2",color:"text.secondary",children:"playit.gg agent is not set up. Configure PLAYIT_SECRET to enable external access."})]})]})});let p=e.agentRunning&&"running"===e.containerStatus,j=h.isPending||m.isPending,Z=h.error||m.error;return(0,n.jsx)(t.Z,{children:(0,n.jsxs)(i.Z,{children:[(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:1},children:[(0,n.jsx)(J.Z,{color:"primary"}),(0,n.jsx)(a.Z,{variant:"h6",component:"h2",children:"External Access (playit.gg)"})]}),Z&&(0,n.jsx)(H.Z,{severity:"error",sx:{mb:2},children:Z.message||"Action failed"}),(0,n.jsxs)(l.Z,{sx:{display:"flex",gap:1,mb:2,flexWrap:"wrap"},children:[p?(0,n.jsx)(E.Z,{variant:"outlined",size:"small",color:"error",startIcon:j?(0,n.jsx)(R.Z,{size:16}):(0,n.jsx)(es.Z,{}),onClick:()=>{m.mutate()},disabled:j,sx:{fontSize:12},children:j?"Stopping...":"Stop Agent"}):(0,n.jsx)(E.Z,{variant:"contained",size:"small",color:"success",startIcon:j?(0,n.jsx)(R.Z,{size:16,color:"inherit"}):(0,n.jsx)(ee.Z,{}),onClick:()=>{h.mutate()},disabled:j,sx:{fontSize:12},children:j?"Starting...":"Start Agent"}),(0,n.jsx)(E.Z,{component:"a",href:"https://playit.gg/account/tunnels",target:"_blank",rel:"noopener noreferrer",size:"small",startIcon:(0,n.jsx)(er.Z,{}),sx:{fontSize:12},children:"View Dashboard"})]}),(0,n.jsx)(c.Z,{size:"small",sx:{mb:3},children:(0,n.jsxs)(d.Z,{children:[(0,n.jsxs)(x.Z,{children:[(0,n.jsx)(u.Z,{sx:ea,children:"Agent Status"}),(0,n.jsx)(u.Z,{sx:el,children:(0,n.jsx)(o.Z,{label:p?"Running":"Stopped",size:"small",color:p?"success":"default",variant:"outlined"})})]}),e.uptime&&(0,n.jsxs)(x.Z,{children:[(0,n.jsx)(u.Z,{sx:ea,children:"Uptime"}),(0,n.jsx)(u.Z,{sx:el,children:e.uptime})]})]})}),e.servers&&e.servers.length>0&&(()=>{let s=e.servers.filter(e=>e.playitDomain),r=e.servers.filter(e=>!e.playitDomain);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.Z,{variant:"subtitle2",sx:{mb:1.5,fontWeight:600},children:"Server Domains"}),s.length>0?(0,n.jsxs)(c.Z,{size:"small",sx:{mb:r.length>0?2:0},children:[(0,n.jsx)(Y.Z,{children:(0,n.jsxs)(x.Z,{children:[(0,n.jsx)(u.Z,{sx:{fontWeight:600,borderBottom:2,borderColor:"divider"},children:"Server"}),(0,n.jsx)(u.Z,{sx:{fontWeight:600,borderBottom:2,borderColor:"divider"},children:"External Domain"})]})}),(0,n.jsx)(d.Z,{children:s.map(e=>(0,n.jsxs)(x.Z,{children:[(0,n.jsx)(u.Z,{sx:{py:1.5,borderBottom:1,borderColor:"divider"},children:e.serverName}),(0,n.jsx)(u.Z,{sx:{py:1.5,borderBottom:1,borderColor:"divider"},children:(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,n.jsx)(a.Z,{variant:"body2",sx:{fontFamily:'"Roboto Mono", monospace'},children:e.playitDomain}),(0,n.jsx)(eo,{text:e.playitDomain})]})})]},e.serverName))})]}):(0,n.jsxs)(a.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:["No servers with external domains configured. Use ",(0,n.jsx)("code",{children:"mcctl create --playit-domain"})," to register a domain."]}),r.length>0&&(0,n.jsxs)(a.Z,{variant:"body2",color:"text.secondary",children:[r.length," server",r.length>1?"s":""," without external domain: ",r.map(e=>e.serverName).join(", ")]})]})})()]})})}},37228:function(e,s,r){r.d(s,{Bc:function(){return o},N$:function(){return c},UW:function(){return l}});var n=r(5632),t=r(58919),i=r(20367),a=r(42936);function l(){return(0,n.a)({queryKey:["playit-status"],queryFn:()=>(0,a.SC)("/api/playit/status"),refetchInterval:3e4})}function o(){let e=(0,t.NL)();return(0,i.D)({mutationFn:()=>(0,a.SC)("/api/playit/start",{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["playit-status"]})}})}function c(){let e=(0,t.NL)();return(0,i.D)({mutationFn:()=>(0,a.SC)("/api/playit/stop",{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["playit-status"]})}})}},6986:function(e,s,r){r.d(s,{Cp:function(){return u},Nq:function(){return x},cg:function(){return l},kP:function(){return d},w7:function(){return o},y1:function(){return c},zB:function(){return h}});var n=r(77054),t=r(61648),i=r(35016);let a=(0,n.X)({baseURL:i.env.NEXT_PUBLIC_BETTER_AUTH_URL||"",plugins:[(0,t.zB)()]}),{signIn:l,signOut:o,signUp:c,useSession:d,updateUser:x,changePassword:u}=a,h=a.admin}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8468],{32366:function(e,t,r){var n=r(8091);t.Z=void 0;var o=n(r(66758)),a=r(94655);t.Z=(0,o.default)((0,a.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add")},46207:function(e,t,r){var n=r(8091);t.Z=void 0;var o=n(r(66758)),a=r(94655);t.Z=(0,o.default)((0,a.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"}),"CheckCircle")},27171:function(e,t,r){var n=r(8091);t.Z=void 0;var o=n(r(66758)),a=r(94655);t.Z=(0,o.default)((0,a.jsx)("path",{d:"M20 13H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h16c.55 0 1-.45 1-1v-6c0-.55-.45-1-1-1M7 19c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2M20 3H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h16c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1M7 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2"}),"Dns")},43436:function(e,t,r){var n=r(8091);t.Z=void 0;var o=n(r(66758)),a=r(94655);t.Z=(0,o.default)((0,a.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error")},96292:function(e,t,r){var n=r(8091);t.Z=void 0;var o=n(r(66758)),a=r(94655);t.Z=(0,o.default)((0,a.jsx)("path",{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5"}),"Link")},93315:function(e,t,r){var n=r(8091);t.Z=void 0;var o=n(r(66758)),a=r(94655);t.Z=(0,o.default)((0,a.jsx)("path",{d:"M6 6h12v12H6z"}),"Stop")},78067:function(e,t,r){var n=r(8091);t.Z=void 0;var o=n(r(66758)),a=r(94655);t.Z=(0,o.default)((0,a.jsx)("path",{d:"M2 20h20v-4H2zm2-3h2v2H4zM2 4v4h20V4zm4 3H4V5h2zm-4 7h20v-4H2zm2-3h2v2H4z"}),"Storage")},25935:function(e,t,r){r.d(t,{Z:function(){return b}});var n=r(32324),o=r(81500),a=r(35106),i=r(70316),l=r(65951),s=r(34519),c=r(28057),u=r(11379),d=r(9049);function p(e){return(0,d.ZP)("MuiCardActions",e)}(0,u.Z)("MuiCardActions",["root","spacing"]);var v=r(94655);let f=["disableSpacing","className"],m=e=>{let{classes:t,disableSpacing:r}=e;return(0,l.Z)({root:["root",!r&&"spacing"]},p,t)},h=(0,s.ZP)("div",{name:"MuiCardActions",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,!r.disableSpacing&&t.spacing]}})(e=>{let{ownerState:t}=e;return(0,o.Z)({display:"flex",alignItems:"center",padding:8},!t.disableSpacing&&{"& > :not(style) ~ :not(style)":{marginLeft:8}})});var b=a.forwardRef(function(e,t){let r=(0,c.i)({props:e,name:"MuiCardActions"}),{disableSpacing:a=!1,className:l}=r,s=(0,n.Z)(r,f),u=(0,o.Z)({},r,{disableSpacing:a}),d=m(u);return(0,v.jsx)(h,(0,o.Z)({className:(0,i.Z)(d.root,l),ownerState:u,ref:t},s))})},52082:function(e,t,r){r.d(t,{Z:function(){return L}});var n,o=r(32324),a=r(81500),i=r(35106),l=r(70316),s=r(65951),c=r(38762),u=r(31317),d=r(14406),p=r(85016),v=r(34519),f=r(11379),m=r(9049);function h(e){return(0,m.ZP)("MuiInputAdornment",e)}let b=(0,f.Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]);var Z=r(28057),y=r(94655);let x=["children","className","component","disablePointerEvents","disableTypography","position","variant"],g=e=>{let{classes:t,disablePointerEvents:r,hiddenLabel:n,position:o,size:a,variant:i}=e,l={root:["root",r&&"disablePointerEvents",o&&"position".concat((0,c.Z)(o)),i,n&&"hiddenLabel",a&&"size".concat((0,c.Z)(a))]};return(0,s.Z)(l,h,t)},S=(0,v.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t["position".concat((0,c.Z)(r.position))],!0===r.disablePointerEvents&&t.disablePointerEvents,t[r.variant]]}})(e=>{let{theme:t,ownerState:r}=e;return(0,a.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:(t.vars||t).palette.action.active},"filled"===r.variant&&{["&.".concat(b.positionStart,"&:not(.").concat(b.hiddenLabel,")")]:{marginTop:16}},"start"===r.position&&{marginRight:8},"end"===r.position&&{marginLeft:8},!0===r.disablePointerEvents&&{pointerEvents:"none"})});var L=i.forwardRef(function(e,t){let r=(0,Z.i)({props:e,name:"MuiInputAdornment"}),{children:s,className:c,component:v="div",disablePointerEvents:f=!1,disableTypography:m=!1,position:h,variant:b}=r,L=(0,o.Z)(r,x),C=(0,p.Z)()||{},M=b;b&&C.variant,C&&!M&&(M=C.variant);let P=(0,a.Z)({},r,{hiddenLabel:C.hiddenLabel,size:C.size,disablePointerEvents:f,position:h,variant:M}),w=g(P);return(0,y.jsx)(d.Z.Provider,{value:null,children:(0,y.jsx)(S,(0,a.Z)({as:v,ownerState:P,className:(0,l.Z)(w.root,c),ref:t},L,{children:"string"!=typeof s||m?(0,y.jsxs)(i.Fragment,{children:["start"===h?n||(n=(0,y.jsx)("span",{className:"notranslate",children:""})):null,s]}):(0,y.jsx)(u.Z,{color:"text.secondary",children:s})}))})})},4405:function(e,t,r){r.d(t,{Z:function(){return D}});var n=r(16295),o=r(32324),a=r(81500),i=r(35106),l=r(70316),s=r(65951),c=r(41060),u=r(64577),d=r(16501),p=r(38762),v=r(34519),f=r(28057),m=r(11379),h=r(9049);function b(e){return(0,h.ZP)("MuiLinearProgress",e)}(0,m.Z)("MuiLinearProgress",["root","colorPrimary","colorSecondary","determinate","indeterminate","buffer","query","dashed","dashedColorPrimary","dashedColorSecondary","bar","barColorPrimary","barColorSecondary","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer"]);var Z=r(94655);function y(){let e=(0,n._)(["\n 0% {\n left: -35%;\n right: 100%;\n }\n\n 60% {\n left: 100%;\n right: -90%;\n }\n\n 100% {\n left: 100%;\n right: -90%;\n }\n"]);return y=function(){return e},e}function x(){let e=(0,n._)(["\n 0% {\n left: -200%;\n right: 100%;\n }\n\n 60% {\n left: 107%;\n right: -8%;\n }\n\n 100% {\n left: 107%;\n right: -8%;\n }\n"]);return x=function(){return e},e}function g(){let e=(0,n._)(["\n 0% {\n opacity: 1;\n background-position: 0 -23px;\n }\n\n 60% {\n opacity: 0;\n background-position: 0 -23px;\n }\n\n 100% {\n opacity: 1;\n background-position: -200px -23px;\n }\n"]);return g=function(){return e},e}function S(){let e=(0,n._)(["\n animation: "," 3s infinite linear;\n "]);return S=function(){return e},e}function L(){let e=(0,n._)(["\n width: auto;\n animation: "," 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n "]);return L=function(){return e},e}function C(){let e=(0,n._)(["\n width: auto;\n animation: "," 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;\n "]);return C=function(){return e},e}let M=["className","color","value","valueBuffer","variant"],P=e=>e,w,j,R,z,N,I,k=(0,c.F4)(w||(w=P(y()))),A=(0,c.F4)(j||(j=P(x()))),_=(0,c.F4)(R||(R=P(g()))),H=e=>{let{classes:t,variant:r,color:n}=e,o={root:["root","color".concat((0,p.Z)(n)),r],dashed:["dashed","dashedColor".concat((0,p.Z)(n))],bar1:["bar","barColor".concat((0,p.Z)(n)),("indeterminate"===r||"query"===r)&&"bar1Indeterminate","determinate"===r&&"bar1Determinate","buffer"===r&&"bar1Buffer"],bar2:["bar","buffer"!==r&&"barColor".concat((0,p.Z)(n)),"buffer"===r&&"color".concat((0,p.Z)(n)),("indeterminate"===r||"query"===r)&&"bar2Indeterminate","buffer"===r&&"bar2Buffer"]};return(0,s.Z)(o,b,t)},E=(e,t)=>"inherit"===t?"currentColor":e.vars?e.vars.palette.LinearProgress["".concat(t,"Bg")]:"light"===e.palette.mode?(0,u.$n)(e.palette[t].main,.62):(0,u._j)(e.palette[t].main,.5),T=(0,v.ZP)("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t["color".concat((0,p.Z)(r.color))],t[r.variant]]}})(e=>{let{ownerState:t,theme:r}=e;return(0,a.Z)({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},backgroundColor:E(r,t.color)},"inherit"===t.color&&"buffer"!==t.variant&&{backgroundColor:"none","&::before":{content:'""',position:"absolute",left:0,top:0,right:0,bottom:0,backgroundColor:"currentColor",opacity:.3}},"buffer"===t.variant&&{backgroundColor:"transparent"},"query"===t.variant&&{transform:"rotate(180deg)"})}),B=(0,v.ZP)("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.dashed,t["dashedColor".concat((0,p.Z)(r.color))]]}})(e=>{let{ownerState:t,theme:r}=e,n=E(r,t.color);return(0,a.Z)({position:"absolute",marginTop:0,height:"100%",width:"100%"},"inherit"===t.color&&{opacity:.3},{backgroundImage:"radial-gradient(".concat(n," 0%, ").concat(n," 16%, transparent 42%)"),backgroundSize:"10px 10px",backgroundPosition:"0 -23px"})},(0,c.iv)(z||(z=P(S(),0)),_)),V=(0,v.ZP)("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.bar,t["barColor".concat((0,p.Z)(r.color))],("indeterminate"===r.variant||"query"===r.variant)&&t.bar1Indeterminate,"determinate"===r.variant&&t.bar1Determinate,"buffer"===r.variant&&t.bar1Buffer]}})(e=>{let{ownerState:t,theme:r}=e;return(0,a.Z)({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",backgroundColor:"inherit"===t.color?"currentColor":(r.vars||r).palette[t.color].main},"determinate"===t.variant&&{transition:"transform .".concat(4,"s linear")},"buffer"===t.variant&&{zIndex:1,transition:"transform .".concat(4,"s linear")})},e=>{let{ownerState:t}=e;return("indeterminate"===t.variant||"query"===t.variant)&&(0,c.iv)(N||(N=P(L(),0)),k)}),q=(0,v.ZP)("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.bar,t["barColor".concat((0,p.Z)(r.color))],("indeterminate"===r.variant||"query"===r.variant)&&t.bar2Indeterminate,"buffer"===r.variant&&t.bar2Buffer]}})(e=>{let{ownerState:t,theme:r}=e;return(0,a.Z)({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left"},"buffer"!==t.variant&&{backgroundColor:"inherit"===t.color?"currentColor":(r.vars||r).palette[t.color].main},"inherit"===t.color&&{opacity:.3},"buffer"===t.variant&&{backgroundColor:E(r,t.color),transition:"transform .".concat(4,"s linear")})},e=>{let{ownerState:t}=e;return("indeterminate"===t.variant||"query"===t.variant)&&(0,c.iv)(I||(I=P(C(),0)),A)});var D=i.forwardRef(function(e,t){let r=(0,f.i)({props:e,name:"MuiLinearProgress"}),{className:n,color:i="primary",value:s,valueBuffer:c,variant:u="indeterminate"}=r,p=(0,o.Z)(r,M),v=(0,a.Z)({},r,{color:i,variant:u}),m=H(v),h=(0,d.V)(),b={},y={bar1:{},bar2:{}};if(("determinate"===u||"buffer"===u)&&void 0!==s){b["aria-valuenow"]=Math.round(s),b["aria-valuemin"]=0,b["aria-valuemax"]=100;let e=s-100;h&&(e=-e),y.bar1.transform="translateX(".concat(e,"%)")}if("buffer"===u&&void 0!==c){let e=(c||0)-100;h&&(e=-e),y.bar2.transform="translateX(".concat(e,"%)")}return(0,Z.jsxs)(T,(0,a.Z)({className:(0,l.Z)(m.root,n),ownerState:v,role:"progressbar"},b,{ref:t},p,{children:["buffer"===u?(0,Z.jsx)(B,{className:m.dashed,ownerState:v}):null,(0,Z.jsx)(V,{className:m.bar1,ownerState:v,style:y.bar1}),"determinate"===u?null:(0,Z.jsx)(q,{className:m.bar2,ownerState:v,style:y.bar2})]}))})},64769:function(e,t,r){r.d(t,{L:function(){return a}});var n=r(11379),o=r(9049);function a(e){return(0,o.ZP)("MuiListItemText",e)}let i=(0,n.Z)("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]);t.Z=i},82285:function(e,t,r){r.d(t,{Z:function(){return y}});var n=r(32324),o=r(81500),a=r(35106),i=r(70316),l=r(65951),s=r(24702),c=r(42248),u=r(28057),d=r(34519),p=r(11379),v=r(9049);function f(e){return(0,v.ZP)("MuiStep",e)}(0,p.Z)("MuiStep",["root","horizontal","vertical","alternativeLabel","completed"]);var m=r(94655);let h=["active","children","className","component","completed","disabled","expanded","index","last"],b=e=>{let{classes:t,orientation:r,alternativeLabel:n,completed:o}=e;return(0,l.Z)({root:["root",r,n&&"alternativeLabel",o&&"completed"]},f,t)},Z=(0,d.ZP)("div",{name:"MuiStep",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.orientation],r.alternativeLabel&&t.alternativeLabel,r.completed&&t.completed]}})(e=>{let{ownerState:t}=e;return(0,o.Z)({},"horizontal"===t.orientation&&{paddingLeft:8,paddingRight:8},t.alternativeLabel&&{flex:1,position:"relative"})});var y=a.forwardRef(function(e,t){let r=(0,u.i)({props:e,name:"MuiStep"}),{active:l,children:d,className:p,component:v="div",completed:f,disabled:y,expanded:x=!1,index:g,last:S}=r,L=(0,n.Z)(r,h),{activeStep:C,connector:M,alternativeLabel:P,orientation:w,nonLinear:j}=a.useContext(s.Z),[R=!1,z=!1,N=!1]=[l,f,y];C===g?R=void 0===l||l:!j&&C>g?z=void 0===f||f:!j&&C<g&&(N=void 0===y||y);let I=a.useMemo(()=>({index:g,last:S,expanded:x,icon:g+1,active:R,completed:z,disabled:N}),[g,S,x,R,z,N]),k=(0,o.Z)({},r,{active:R,orientation:w,alternativeLabel:P,completed:z,disabled:N,expanded:x,component:v}),A=b(k),_=(0,m.jsxs)(Z,(0,o.Z)({as:v,className:(0,i.Z)(A.root,p),ref:t,ownerState:k},L,{children:[M&&P&&0!==g?M:null,d]}));return(0,m.jsx)(c.Z.Provider,{value:I,children:M&&!P&&0!==g?(0,m.jsxs)(a.Fragment,{children:[M,_]}):_})})},42248:function(e,t,r){let n=r(35106).createContext({});t.Z=n},13609:function(e,t,r){r.d(t,{Z:function(){return H}});var n,o=r(32324),a=r(81500),i=r(35106),l=r(70316),s=r(65951),c=r(34519),u=r(28057),d=r(61626),p=r(94655),v=(0,d.Z)((0,p.jsx)("path",{d:"M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm-2 17l-5-5 1.4-1.4 3.6 3.6 7.6-7.6L19 8l-9 9z"}),"CheckCircle"),f=(0,d.Z)((0,p.jsx)("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"}),"Warning"),m=r(64779),h=r(11379),b=r(9049);function Z(e){return(0,b.ZP)("MuiStepIcon",e)}let y=(0,h.Z)("MuiStepIcon",["root","active","completed","error","text"]),x=["active","className","completed","error","icon"],g=e=>{let{classes:t,active:r,completed:n,error:o}=e;return(0,s.Z)({root:["root",r&&"active",n&&"completed",o&&"error"],text:["text"]},Z,t)},S=(0,c.ZP)(m.Z,{name:"MuiStepIcon",slot:"Root",overridesResolver:(e,t)=>t.root})(e=>{let{theme:t}=e;return{display:"block",transition:t.transitions.create("color",{duration:t.transitions.duration.shortest}),color:(t.vars||t).palette.text.disabled,["&.".concat(y.completed)]:{color:(t.vars||t).palette.primary.main},["&.".concat(y.active)]:{color:(t.vars||t).palette.primary.main},["&.".concat(y.error)]:{color:(t.vars||t).palette.error.main}}}),L=(0,c.ZP)("text",{name:"MuiStepIcon",slot:"Text",overridesResolver:(e,t)=>t.text})(e=>{let{theme:t}=e;return{fill:(t.vars||t).palette.primary.contrastText,fontSize:t.typography.caption.fontSize,fontFamily:t.typography.fontFamily}}),C=i.forwardRef(function(e,t){let r=(0,u.i)({props:e,name:"MuiStepIcon"}),{active:i=!1,className:s,completed:c=!1,error:d=!1,icon:m}=r,h=(0,o.Z)(r,x),b=(0,a.Z)({},r,{active:i,completed:c,error:d}),Z=g(b);if("number"==typeof m||"string"==typeof m){let e=(0,l.Z)(s,Z.root);return d?(0,p.jsx)(S,(0,a.Z)({as:f,className:e,ref:t,ownerState:b},h)):c?(0,p.jsx)(S,(0,a.Z)({as:v,className:e,ref:t,ownerState:b},h)):(0,p.jsxs)(S,(0,a.Z)({className:e,ref:t,ownerState:b},h,{children:[n||(n=(0,p.jsx)("circle",{cx:"12",cy:"12",r:"12"})),(0,p.jsx)(L,{className:Z.text,x:"12",y:"12",textAnchor:"middle",dominantBaseline:"central",ownerState:b,children:m})]}))}return m});var M=r(24702),P=r(42248);function w(e){return(0,b.ZP)("MuiStepLabel",e)}let j=(0,h.Z)("MuiStepLabel",["root","horizontal","vertical","label","active","completed","error","disabled","iconContainer","alternativeLabel","labelContainer"]),R=["children","className","componentsProps","error","icon","optional","slotProps","StepIconComponent","StepIconProps"],z=e=>{let{classes:t,orientation:r,active:n,completed:o,error:a,disabled:i,alternativeLabel:l}=e;return(0,s.Z)({root:["root",r,a&&"error",i&&"disabled",l&&"alternativeLabel"],label:["label",n&&"active",o&&"completed",a&&"error",i&&"disabled",l&&"alternativeLabel"],iconContainer:["iconContainer",n&&"active",o&&"completed",a&&"error",i&&"disabled",l&&"alternativeLabel"],labelContainer:["labelContainer",l&&"alternativeLabel"]},w,t)},N=(0,c.ZP)("span",{name:"MuiStepLabel",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.orientation]]}})(e=>{let{ownerState:t}=e;return(0,a.Z)({display:"flex",alignItems:"center",["&.".concat(j.alternativeLabel)]:{flexDirection:"column"},["&.".concat(j.disabled)]:{cursor:"default"}},"vertical"===t.orientation&&{textAlign:"left",padding:"8px 0"})}),I=(0,c.ZP)("span",{name:"MuiStepLabel",slot:"Label",overridesResolver:(e,t)=>t.label})(e=>{let{theme:t}=e;return(0,a.Z)({},t.typography.body2,{display:"block",transition:t.transitions.create("color",{duration:t.transitions.duration.shortest}),["&.".concat(j.active)]:{color:(t.vars||t).palette.text.primary,fontWeight:500},["&.".concat(j.completed)]:{color:(t.vars||t).palette.text.primary,fontWeight:500},["&.".concat(j.alternativeLabel)]:{marginTop:16},["&.".concat(j.error)]:{color:(t.vars||t).palette.error.main}})}),k=(0,c.ZP)("span",{name:"MuiStepLabel",slot:"IconContainer",overridesResolver:(e,t)=>t.iconContainer})(()=>({flexShrink:0,display:"flex",paddingRight:8,["&.".concat(j.alternativeLabel)]:{paddingRight:0}})),A=(0,c.ZP)("span",{name:"MuiStepLabel",slot:"LabelContainer",overridesResolver:(e,t)=>t.labelContainer})(e=>{let{theme:t}=e;return{width:"100%",color:(t.vars||t).palette.text.secondary,["&.".concat(j.alternativeLabel)]:{textAlign:"center"}}}),_=i.forwardRef(function(e,t){var r;let n=(0,u.i)({props:e,name:"MuiStepLabel"}),{children:s,className:c,componentsProps:d={},error:v=!1,icon:f,optional:m,slotProps:h={},StepIconComponent:b,StepIconProps:Z}=n,y=(0,o.Z)(n,R),{alternativeLabel:x,orientation:g}=i.useContext(M.Z),{active:S,disabled:L,completed:w,icon:j}=i.useContext(P.Z),_=f||j,H=b;_&&!H&&(H=C);let E=(0,a.Z)({},n,{active:S,alternativeLabel:x,completed:w,disabled:L,error:v,orientation:g}),T=z(E),B=null!=(r=h.label)?r:d.label;return(0,p.jsxs)(N,(0,a.Z)({className:(0,l.Z)(T.root,c),ref:t,ownerState:E},y,{children:[_||H?(0,p.jsx)(k,{className:T.iconContainer,ownerState:E,children:(0,p.jsx)(H,(0,a.Z)({completed:w,active:S,error:v,icon:_},Z))}):null,(0,p.jsxs)(A,{className:T.labelContainer,ownerState:E,children:[s?(0,p.jsx)(I,(0,a.Z)({ownerState:E},B,{className:(0,l.Z)(T.label,null==B?void 0:B.className),children:s})):null,m]})]}))});_.muiName="StepLabel";var H=_},73383:function(e,t,r){r.d(t,{Z:function(){return w}});var n=r(32324),o=r(81500),a=r(35106),i=r(70316),l=r(65951),s=r(28057),c=r(34519),u=r(11379),d=r(9049);function p(e){return(0,d.ZP)("MuiStepper",e)}(0,u.Z)("MuiStepper",["root","horizontal","vertical","nonLinear","alternativeLabel"]);var v=r(38762),f=r(24702),m=r(42248);function h(e){return(0,d.ZP)("MuiStepConnector",e)}(0,u.Z)("MuiStepConnector",["root","horizontal","vertical","alternativeLabel","active","completed","disabled","line","lineHorizontal","lineVertical"]);var b=r(94655);let Z=["className"],y=e=>{let{classes:t,orientation:r,alternativeLabel:n,active:o,completed:a,disabled:i}=e,s={root:["root",r,n&&"alternativeLabel",o&&"active",a&&"completed",i&&"disabled"],line:["line","line".concat((0,v.Z)(r))]};return(0,l.Z)(s,h,t)},x=(0,c.ZP)("div",{name:"MuiStepConnector",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.orientation],r.alternativeLabel&&t.alternativeLabel,r.completed&&t.completed]}})(e=>{let{ownerState:t}=e;return(0,o.Z)({flex:"1 1 auto"},"vertical"===t.orientation&&{marginLeft:12},t.alternativeLabel&&{position:"absolute",top:12,left:"calc(-50% + 20px)",right:"calc(50% + 20px)"})}),g=(0,c.ZP)("span",{name:"MuiStepConnector",slot:"Line",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.line,t["line".concat((0,v.Z)(r.orientation))]]}})(e=>{let{ownerState:t,theme:r}=e,n="light"===r.palette.mode?r.palette.grey[400]:r.palette.grey[600];return(0,o.Z)({display:"block",borderColor:r.vars?r.vars.palette.StepConnector.border:n},"horizontal"===t.orientation&&{borderTopStyle:"solid",borderTopWidth:1},"vertical"===t.orientation&&{borderLeftStyle:"solid",borderLeftWidth:1,minHeight:24})}),S=a.forwardRef(function(e,t){let r=(0,s.i)({props:e,name:"MuiStepConnector"}),{className:l}=r,c=(0,n.Z)(r,Z),{alternativeLabel:u,orientation:d="horizontal"}=a.useContext(f.Z),{active:p,disabled:v,completed:h}=a.useContext(m.Z),S=(0,o.Z)({},r,{alternativeLabel:u,orientation:d,active:p,completed:h,disabled:v}),L=y(S);return(0,b.jsx)(x,(0,o.Z)({className:(0,i.Z)(L.root,l),ref:t,ownerState:S},c,{children:(0,b.jsx)(g,{className:L.line,ownerState:S})}))}),L=["activeStep","alternativeLabel","children","className","component","connector","nonLinear","orientation"],C=e=>{let{orientation:t,nonLinear:r,alternativeLabel:n,classes:o}=e;return(0,l.Z)({root:["root",t,r&&"nonLinear",n&&"alternativeLabel"]},p,o)},M=(0,c.ZP)("div",{name:"MuiStepper",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,t[r.orientation],r.alternativeLabel&&t.alternativeLabel,r.nonLinear&&t.nonLinear]}})(e=>{let{ownerState:t}=e;return(0,o.Z)({display:"flex"},"horizontal"===t.orientation&&{flexDirection:"row",alignItems:"center"},"vertical"===t.orientation&&{flexDirection:"column"},t.alternativeLabel&&{alignItems:"flex-start"})}),P=(0,b.jsx)(S,{});var w=a.forwardRef(function(e,t){let r=(0,s.i)({props:e,name:"MuiStepper"}),{activeStep:l=0,alternativeLabel:c=!1,children:u,className:d,component:p="div",connector:v=P,nonLinear:m=!1,orientation:h="horizontal"}=r,Z=(0,n.Z)(r,L),y=(0,o.Z)({},r,{nonLinear:m,alternativeLabel:c,orientation:h,component:p}),x=C(y),g=a.Children.toArray(u).filter(Boolean),S=g.map((e,t)=>a.cloneElement(e,(0,o.Z)({index:t,last:t+1===g.length},e.props))),w=a.useMemo(()=>({activeStep:l,alternativeLabel:c,connector:v,nonLinear:m,orientation:h}),[l,c,v,m,h]);return(0,b.jsx)(f.Z.Provider,{value:w,children:(0,b.jsx)(M,(0,o.Z)({as:p,ownerState:y,className:(0,i.Z)(x.root,d),ref:t},Z,{children:S}))})})},24702:function(e,t,r){let n=r(35106).createContext({});t.Z=n},48442:function(e,t,r){r.d(t,{Z:function(){return Z}});var n=r(81500),o=r(32324),a=r(14526),i=r(41499),l=r(8557),s=r(72686);let c=["ownerState"],u=["variants"],d=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function p(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}function v(e,t){return t&&e&&"object"==typeof e&&e.styles&&!e.styles.startsWith("@layer")&&(e.styles=`@layer ${t}{${String(e.styles)}}`),e}let f=(0,l.Z)(),m=e=>e?e.charAt(0).toLowerCase()+e.slice(1):e;function h({defaultTheme:e,theme:t,themeId:r}){return 0===Object.keys(t).length?e:t[r]||t}function b(e,t,r){let{ownerState:i}=t,l=(0,o.Z)(t,c),s="function"==typeof e?e((0,n.Z)({ownerState:i},l)):e;if(Array.isArray(s))return s.flatMap(e=>b(e,(0,n.Z)({ownerState:i},l),r));if(s&&"object"==typeof s&&Array.isArray(s.variants)){let{variants:e=[]}=s,t=(0,o.Z)(s,u);return e.forEach(e=>{let o=!0;if("function"==typeof e.props?o=e.props((0,n.Z)({ownerState:i},l,i)):Object.keys(e.props).forEach(t=>{(null==i?void 0:i[t])!==e.props[t]&&l[t]!==e.props[t]&&(o=!1)}),o){Array.isArray(t)||(t=[t]);let o="function"==typeof e.style?e.style((0,n.Z)({ownerState:i},l,i)):e.style;t.push(r?v((0,a.internal_serializeStyles)(o),r):o)}}),t}return r?v((0,a.internal_serializeStyles)(s),r):s}var Z=function(e={}){let{themeId:t,defaultTheme:r=f,rootShouldForwardProp:l=p,slotShouldForwardProp:c=p}=e,u=e=>(0,s.Z)((0,n.Z)({},e,{theme:h((0,n.Z)({},e,{defaultTheme:r,themeId:t}))}));return u.__mui_systemSx=!0,(e,s={})=>{var v;let f;(0,a.internal_processStyles)(e,e=>e.filter(e=>!(null!=e&&e.__mui_systemSx)));let{name:Z,slot:y,skipVariantsResolver:x,skipSx:g,overridesResolver:S=(v=m(y))?(e,t)=>t[v]:null}=s,L=(0,o.Z)(s,d),C=Z&&Z.startsWith("Mui")||y?"components":"custom",M=void 0!==x?x:y&&"Root"!==y&&"root"!==y||!1,P=g||!1,w=p;"Root"===y||"root"===y?w=l:y?w=c:"string"==typeof e&&e.charCodeAt(0)>96&&(w=void 0);let j=(0,a.default)(e,(0,n.Z)({shouldForwardProp:w,label:f},L)),R=e=>"function"==typeof e&&e.__emotion_real!==e||(0,i.P)(e)?o=>{let a=h({theme:o.theme,defaultTheme:r,themeId:t});return b(e,(0,n.Z)({},o,{theme:a}),a.modularCssLayers?C:void 0)}:e,z=(o,...a)=>{let i=R(o),l=a?a.map(R):[];Z&&S&&l.push(e=>{let o=h((0,n.Z)({},e,{defaultTheme:r,themeId:t}));if(!o.components||!o.components[Z]||!o.components[Z].styleOverrides)return null;let a=o.components[Z].styleOverrides,i={};return Object.entries(a).forEach(([t,r])=>{i[t]=b(r,(0,n.Z)({},e,{theme:o}),o.modularCssLayers?"theme":void 0)}),S(e,i)}),Z&&!M&&l.push(e=>{var o;let a=h((0,n.Z)({},e,{defaultTheme:r,themeId:t}));return b({variants:null==a||null==(o=a.components)||null==(o=o[Z])?void 0:o.variants},(0,n.Z)({},e,{theme:a}),a.modularCssLayers?"theme":void 0)}),P||l.push(u);let s=l.length-a.length;if(Array.isArray(o)&&s>0){let e=Array(s).fill("");(i=[...o,...e]).raw=[...o.raw,...e]}let c=j(i,...l);return e.muiName&&(c.muiName=e.muiName),c};return j.withConfig&&(z.withConfig=j.withConfig),z}}()},54569:function(e,t,r){r.d(t,{Z:function(){return a}});var n=r(71483),o=r(32730);function a(e){let{props:t,name:r,defaultTheme:a,themeId:i}=e,l=(0,o.Z)(a);return i&&(l=l[i]||l),function(e){let{theme:t,name:r,props:o}=e;return t&&t.components&&t.components[r]&&t.components[r].defaultProps?(0,n.Z)(t.components[r].defaultProps,o):o}({theme:l,name:r,props:t})}},74228:function(e,t,r){var n=r(73310);r.o(n,"useParams")&&r.d(t,{useParams:function(){return n.useParams}}),r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}}),r.o(n,"useServerInsertedHTML")&&r.d(t,{useServerInsertedHTML:function(){return n.useServerInsertedHTML}})}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8854],{34675:function(t,e,r){var s=r(8091);e.Z=void 0;var i=s(r(66758)),o=r(94655);e.Z=(0,i.default)((0,o.jsx)("path",{d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M14 13v4h-4v-4H7l5-5 5 5z"}),"Backup")},46207:function(t,e,r){var s=r(8091);e.Z=void 0;var i=s(r(66758)),o=r(94655);e.Z=(0,i.default)((0,o.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"}),"CheckCircle")},91606:function(t,e,r){var s=r(8091);e.Z=void 0;var i=s(r(66758)),o=r(94655);e.Z=(0,i.default)((0,o.jsx)("path",{d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M14 13v4h-4v-4H7l5-5 5 5z"}),"CloudUpload")},43436:function(t,e,r){var s=r(8091);e.Z=void 0;var i=s(r(66758)),o=r(94655);e.Z=(0,i.default)((0,o.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error")},97731:function(t,e,r){var s=r(8091);e.Z=void 0;var i=s(r(66758)),o=r(94655);e.Z=(0,i.default)((0,o.jsx)("path",{d:"M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9m-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8z"}),"Restore")},628:function(t,e,r){r.d(e,{Z:function(){return Z}});var s=r(81500),i=r(32324),o=r(35106),n=r(70316),a=r(65951),u=r(34519),l=r(28057),c=r(69899),h=r(11379),d=r(9049);function p(t){return(0,d.ZP)("MuiCard",t)}(0,h.Z)("MuiCard",["root"]);var f=r(94655);let m=["className","raised"],v=t=>{let{classes:e}=t;return(0,a.Z)({root:["root"]},p,e)},y=(0,u.ZP)(c.Z,{name:"MuiCard",slot:"Root",overridesResolver:(t,e)=>e.root})(()=>({overflow:"hidden"}));var Z=o.forwardRef(function(t,e){let r=(0,l.i)({props:t,name:"MuiCard"}),{className:o,raised:a=!1}=r,u=(0,i.Z)(r,m),c=(0,s.Z)({},r,{raised:a}),h=v(c);return(0,f.jsx)(y,(0,s.Z)({className:(0,n.Z)(h.root,o),elevation:a?8:void 0,ref:e,ownerState:c},u))})},41565:function(t,e,r){r.d(e,{Z:function(){return y}});var s=r(81500),i=r(32324),o=r(35106),n=r(70316),a=r(65951),u=r(34519),l=r(28057),c=r(11379),h=r(9049);function d(t){return(0,h.ZP)("MuiCardContent",t)}(0,c.Z)("MuiCardContent",["root"]);var p=r(94655);let f=["className","component"],m=t=>{let{classes:e}=t;return(0,a.Z)({root:["root"]},d,e)},v=(0,u.ZP)("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(t,e)=>e.root})(()=>({padding:16,"&:last-child":{paddingBottom:24}}));var y=o.forwardRef(function(t,e){let r=(0,l.i)({props:t,name:"MuiCardContent"}),{className:o,component:a="div"}=r,u=(0,i.Z)(r,f),c=(0,s.Z)({},r,{component:a}),h=m(c);return(0,p.jsx)(v,(0,s.Z)({as:a,className:(0,n.Z)(h.root,o),ownerState:c,ref:e},u))})},76678:function(t,e,r){r.d(e,{Z:function(){return y}});var s=r(32324),i=r(81500),o=r(35106),n=r(70316),a=r(65951),u=r(34519),l=r(28057),c=r(11379),h=r(9049);function d(t){return(0,h.ZP)("MuiDialogActions",t)}(0,c.Z)("MuiDialogActions",["root","spacing"]);var p=r(94655);let f=["className","disableSpacing"],m=t=>{let{classes:e,disableSpacing:r}=t;return(0,a.Z)({root:["root",!r&&"spacing"]},d,e)},v=(0,u.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:(t,e)=>{let{ownerState:r}=t;return[e.root,!r.disableSpacing&&e.spacing]}})(t=>{let{ownerState:e}=t;return(0,i.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!e.disableSpacing&&{"& > :not(style) ~ :not(style)":{marginLeft:8}})});var y=o.forwardRef(function(t,e){let r=(0,l.i)({props:t,name:"MuiDialogActions"}),{className:o,disableSpacing:a=!1}=r,u=(0,s.Z)(r,f),c=(0,i.Z)({},r,{disableSpacing:a}),h=m(c);return(0,p.jsx)(v,(0,i.Z)({className:(0,n.Z)(h.root,o),ownerState:c,ref:e},u))})},65087:function(t,e,r){r.d(e,{Z:function(){return g}});var s=r(32324),i=r(81500),o=r(35106),n=r(70316),a=r(65951),u=r(34519),l=r(15651),c=r(28057),h=r(31317),d=r(11379),p=r(9049);function f(t){return(0,p.ZP)("MuiDialogContentText",t)}(0,d.Z)("MuiDialogContentText",["root"]);var m=r(94655);let v=["children","className"],y=t=>{let{classes:e}=t,r=(0,a.Z)({root:["root"]},f,e);return(0,i.Z)({},e,r)},Z=(0,u.ZP)(h.Z,{shouldForwardProp:t=>(0,l.Z)(t)||"classes"===t,name:"MuiDialogContentText",slot:"Root",overridesResolver:(t,e)=>e.root})({});var g=o.forwardRef(function(t,e){let r=(0,c.i)({props:t,name:"MuiDialogContentText"}),{className:o}=r,a=(0,s.Z)(r,v),u=y(a);return(0,m.jsx)(Z,(0,i.Z)({component:"p",variant:"body1",color:"text.secondary",ref:e,ownerState:a,className:(0,n.Z)(u.root,o)},r,{classes:u}))})},70115:function(t,e,r){r.d(e,{Z:function(){return R}});var s=r(32324),i=r(81500),o=r(35106),n=r(70316),a=r(41499),u=r(9049),l=r(65951),c=r(48442),h=r(54569),d=r(28131),p=r(8557),f=r(43513),m=r(95731),v=r(94655);let y=["component","direction","spacing","divider","children","className","useFlexGap"],Z=(0,p.Z)(),g=(0,c.Z)("div",{name:"MuiStack",slot:"Root",overridesResolver:(t,e)=>e.root});function b(t){return(0,h.Z)({props:t,name:"MuiStack",defaultTheme:Z})}let C=t=>({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[t],M=({ownerState:t,theme:e})=>{let r=(0,i.Z)({display:"flex",flexDirection:"column"},(0,f.k9)({theme:e},(0,f.P$)({values:t.direction,breakpoints:e.breakpoints.values}),t=>({flexDirection:t})));if(t.spacing){let s=(0,m.hB)(e),i=Object.keys(e.breakpoints.values).reduce((e,r)=>(("object"==typeof t.spacing&&null!=t.spacing[r]||"object"==typeof t.direction&&null!=t.direction[r])&&(e[r]=!0),e),{}),o=(0,f.P$)({values:t.direction,base:i}),n=(0,f.P$)({values:t.spacing,base:i});"object"==typeof o&&Object.keys(o).forEach((t,e,r)=>{if(!o[t]){let s=e>0?o[r[e-1]]:"column";o[t]=s}}),r=(0,a.Z)(r,(0,f.k9)({theme:e},n,(e,r)=>t.useFlexGap?{gap:(0,m.NA)(s,e)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${C(r?o[r]:t.direction)}`]:(0,m.NA)(s,e)}}))}return(0,f.dt)(e.breakpoints,r)};var x=r(34519),w=r(28057),R=function(t={}){let{createStyledComponent:e=g,useThemeProps:r=b,componentName:a="MuiStack"}=t,c=()=>(0,l.Z)({root:["root"]},t=>(0,u.ZP)(a,t),{}),h=e(M);return o.forwardRef(function(t,e){let a=r(t),u=(0,d.Z)(a),{component:l="div",direction:p="column",spacing:f=0,divider:m,children:Z,className:g,useFlexGap:b=!1}=u,C=(0,s.Z)(u,y),M=c();return(0,v.jsx)(h,(0,i.Z)({as:l,ownerState:{direction:p,spacing:f,useFlexGap:b},ref:e,className:(0,n.Z)(M.root,g)},C,{children:m?function(t,e){let r=o.Children.toArray(t).filter(Boolean);return r.reduce((t,s,i)=>(t.push(s),i<r.length-1&&t.push(o.cloneElement(e,{key:`separator-${i}`})),t),[])}(Z,m):Z}))})}({createStyledComponent:(0,x.ZP)("div",{name:"MuiStack",slot:"Root",overridesResolver:(t,e)=>e.root}),useThemeProps:t=>(0,w.i)({props:t,name:"MuiStack"})})},53281:function(t,e,r){r.d(e,{Z:function(){return y}});var s=r(81500),i=r(32324),o=r(35106),n=r(70316),a=r(65951),u=r(28057),l=r(34519),c=r(11379),h=r(9049);function d(t){return(0,h.ZP)("MuiTableContainer",t)}(0,c.Z)("MuiTableContainer",["root"]);var p=r(94655);let f=["className","component"],m=t=>{let{classes:e}=t;return(0,a.Z)({root:["root"]},d,e)},v=(0,l.ZP)("div",{name:"MuiTableContainer",slot:"Root",overridesResolver:(t,e)=>e.root})({width:"100%",overflowX:"auto"});var y=o.forwardRef(function(t,e){let r=(0,u.i)({props:t,name:"MuiTableContainer"}),{className:o,component:a="div"}=r,l=(0,i.Z)(r,f),c=(0,s.Z)({},r,{component:a}),h=m(c);return(0,p.jsx)(v,(0,s.Z)({ref:e,as:a,className:(0,n.Z)(h.root,o),ownerState:c},l))})},76492:function(t,e,r){r.d(e,{Fq:function(){return o}});var s=r(22085),i=r(34272);function o(t,e){return t=function t(e){let r;if(e.type)return e;if("#"===e.charAt(0))return t(function(t){t=t.slice(1);let e=RegExp(`.{1,${t.length>=6?2:1}}`,"g"),r=t.match(e);return r&&1===r[0].length&&(r=r.map(t=>t+t)),r?`rgb${4===r.length?"a":""}(${r.map((t,e)=>e<3?parseInt(t,16):Math.round(parseInt(t,16)/255*1e3)/1e3).join(", ")})`:""}(e));let i=e.indexOf("("),o=e.substring(0,i);if(-1===["rgb","rgba","hsl","hsla","color"].indexOf(o))throw Error((0,s.Z)(9,e));let n=e.substring(i+1,e.length-1);if("color"===o){if(r=(n=n.split(" ")).shift(),4===n.length&&"/"===n[3].charAt(0)&&(n[3]=n[3].slice(1)),-1===["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(r))throw Error((0,s.Z)(10,r))}else n=n.split(",");return{type:o,values:n=n.map(t=>parseFloat(t)),colorSpace:r}}(t),e=function(t,e=0,r=1){return(0,i.Z)(t,e,r)}(e),("rgb"===t.type||"hsl"===t.type)&&(t.type+="a"),"color"===t.type?t.values[3]=`/${e}`:t.values[3]=e,function(t){let{type:e,colorSpace:r}=t,{values:s}=t;return -1!==e.indexOf("rgb")?s=s.map((t,e)=>e<3?parseInt(t,10):t):-1!==e.indexOf("hsl")&&(s[1]=`${s[1]}%`,s[2]=`${s[2]}%`),s=-1!==e.indexOf("color")?`${r} ${s.join(" ")}`:`${s.join(", ")}`,`${e}(${s})`}(t)}},48442:function(t,e,r){r.d(e,{Z:function(){return Z}});var s=r(81500),i=r(32324),o=r(14526),n=r(41499),a=r(8557),u=r(72686);let l=["ownerState"],c=["variants"],h=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function d(t){return"ownerState"!==t&&"theme"!==t&&"sx"!==t&&"as"!==t}function p(t,e){return e&&t&&"object"==typeof t&&t.styles&&!t.styles.startsWith("@layer")&&(t.styles=`@layer ${e}{${String(t.styles)}}`),t}let f=(0,a.Z)(),m=t=>t?t.charAt(0).toLowerCase()+t.slice(1):t;function v({defaultTheme:t,theme:e,themeId:r}){return 0===Object.keys(e).length?t:e[r]||e}function y(t,e,r){let{ownerState:n}=e,a=(0,i.Z)(e,l),u="function"==typeof t?t((0,s.Z)({ownerState:n},a)):t;if(Array.isArray(u))return u.flatMap(t=>y(t,(0,s.Z)({ownerState:n},a),r));if(u&&"object"==typeof u&&Array.isArray(u.variants)){let{variants:t=[]}=u,e=(0,i.Z)(u,c);return t.forEach(t=>{let i=!0;if("function"==typeof t.props?i=t.props((0,s.Z)({ownerState:n},a,n)):Object.keys(t.props).forEach(e=>{(null==n?void 0:n[e])!==t.props[e]&&a[e]!==t.props[e]&&(i=!1)}),i){Array.isArray(e)||(e=[e]);let i="function"==typeof t.style?t.style((0,s.Z)({ownerState:n},a,n)):t.style;e.push(r?p((0,o.internal_serializeStyles)(i),r):i)}}),e}return r?p((0,o.internal_serializeStyles)(u),r):u}var Z=function(t={}){let{themeId:e,defaultTheme:r=f,rootShouldForwardProp:a=d,slotShouldForwardProp:l=d}=t,c=t=>(0,u.Z)((0,s.Z)({},t,{theme:v((0,s.Z)({},t,{defaultTheme:r,themeId:e}))}));return c.__mui_systemSx=!0,(t,u={})=>{var p;let f;(0,o.internal_processStyles)(t,t=>t.filter(t=>!(null!=t&&t.__mui_systemSx)));let{name:Z,slot:g,skipVariantsResolver:b,skipSx:C,overridesResolver:M=(p=m(g))?(t,e)=>e[p]:null}=u,x=(0,i.Z)(u,h),w=Z&&Z.startsWith("Mui")||g?"components":"custom",R=void 0!==b?b:g&&"Root"!==g&&"root"!==g||!1,S=C||!1,P=d;"Root"===g||"root"===g?P=a:g?P=l:"string"==typeof t&&t.charCodeAt(0)>96&&(P=void 0);let j=(0,o.default)(t,(0,s.Z)({shouldForwardProp:P,label:f},x)),O=t=>"function"==typeof t&&t.__emotion_real!==t||(0,n.P)(t)?i=>{let o=v({theme:i.theme,defaultTheme:r,themeId:e});return y(t,(0,s.Z)({},i,{theme:o}),o.modularCssLayers?w:void 0)}:t,k=(i,...o)=>{let n=O(i),a=o?o.map(O):[];Z&&M&&a.push(t=>{let i=v((0,s.Z)({},t,{defaultTheme:r,themeId:e}));if(!i.components||!i.components[Z]||!i.components[Z].styleOverrides)return null;let o=i.components[Z].styleOverrides,n={};return Object.entries(o).forEach(([e,r])=>{n[e]=y(r,(0,s.Z)({},t,{theme:i}),i.modularCssLayers?"theme":void 0)}),M(t,n)}),Z&&!R&&a.push(t=>{var i;let o=v((0,s.Z)({},t,{defaultTheme:r,themeId:e}));return y({variants:null==o||null==(i=o.components)||null==(i=i[Z])?void 0:i.variants},(0,s.Z)({},t,{theme:o}),o.modularCssLayers?"theme":void 0)}),S||a.push(c);let u=a.length-o.length;if(Array.isArray(i)&&u>0){let t=Array(u).fill("");(n=[...i,...t]).raw=[...i.raw,...t]}let l=j(n,...a);return t.muiName&&(l.muiName=t.muiName),l};return j.withConfig&&(k.withConfig=j.withConfig),k}}()},54569:function(t,e,r){r.d(e,{Z:function(){return o}});var s=r(71483),i=r(32730);function o(t){let{props:e,name:r,defaultTheme:o,themeId:n}=t,a=(0,i.Z)(o);return n&&(a=a[n]||a),function(t){let{theme:e,name:r,props:i}=t;return e&&e.components&&e.components[r]&&e.components[r].defaultProps?(0,s.Z)(e.components[r].defaultProps,i):i}({theme:a,name:r,props:e})}},98091:function(t,e,r){r.d(e,{R:function(){return a},m:function(){return n}});var s=r(11430),i=r(23620),o=r(97639),n=class extends i.F{#t;#e;#r;#s;constructor(t){super(),this.#t=t.client,this.mutationId=t.mutationId,this.#r=t.mutationCache,this.#e=[],this.state=t.state||a(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){this.#e.includes(t)||(this.#e.push(t),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.#e=this.#e.filter(e=>e!==t),this.scheduleGc(),this.#r.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.#e.length||("pending"===this.state.status?this.scheduleGc():this.#r.remove(this))}continue(){return this.#s?.continue()??this.execute(this.state.variables)}async execute(t){let e=()=>{this.#i({type:"continue"})},r={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#s=(0,o.Mz)({fn:()=>this.options.mutationFn?this.options.mutationFn(t,r):Promise.reject(Error("No mutationFn found")),onFail:(t,e)=>{this.#i({type:"failed",failureCount:t,error:e})},onPause:()=>{this.#i({type:"pause"})},onContinue:e,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#r.canRun(this)});let s="pending"===this.state.status,i=!this.#s.canStart();try{if(s)e();else{this.#i({type:"pending",variables:t,isPaused:i}),this.#r.config.onMutate&&await this.#r.config.onMutate(t,this,r);let e=await this.options.onMutate?.(t,r);e!==this.state.context&&this.#i({type:"pending",context:e,variables:t,isPaused:i})}let o=await this.#s.start();return await this.#r.config.onSuccess?.(o,t,this.state.context,this,r),await this.options.onSuccess?.(o,t,this.state.context,r),await this.#r.config.onSettled?.(o,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(o,null,t,this.state.context,r),this.#i({type:"success",data:o}),o}catch(e){try{await this.#r.config.onError?.(e,t,this.state.context,this,r)}catch(t){Promise.reject(t)}try{await this.options.onError?.(e,t,this.state.context,r)}catch(t){Promise.reject(t)}try{await this.#r.config.onSettled?.(void 0,e,this.state.variables,this.state.context,this,r)}catch(t){Promise.reject(t)}try{await this.options.onSettled?.(void 0,e,t,this.state.context,r)}catch(t){Promise.reject(t)}throw this.#i({type:"error",error:e}),e}finally{this.#r.runNext(this)}}#i(t){this.state=(e=>{switch(t.type){case"failed":return{...e,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...e,isPaused:!0};case"continue":return{...e,isPaused:!1};case"pending":return{...e,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...e,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...e,data:void 0,error:t.error,failureCount:e.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}})(this.state),s.Vr.batch(()=>{this.#e.forEach(e=>{e.onMutationUpdate(t)}),this.#r.notify({mutation:this,type:"updated",action:t})})}};function a(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},20367:function(t,e,r){r.d(e,{D:function(){return c}});var s=r(35106),i=r(98091),o=r(11430),n=r(12835),a=r(80375),u=class extends n.l{#t;#o=void 0;#n;#a;constructor(t,e){super(),this.#t=t,this.setOptions(e),this.bindMethods(),this.#u()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){let e=this.options;this.options=this.#t.defaultMutationOptions(t),(0,a.VS)(this.options,e)||this.#t.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#n,observer:this}),e?.mutationKey&&this.options.mutationKey&&(0,a.Ym)(e.mutationKey)!==(0,a.Ym)(this.options.mutationKey)?this.reset():this.#n?.state.status==="pending"&&this.#n.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(t){this.#u(),this.#l(t)}getCurrentResult(){return this.#o}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#u(),this.#l()}mutate(t,e){return this.#a=e,this.#n?.removeObserver(this),this.#n=this.#t.getMutationCache().build(this.#t,this.options),this.#n.addObserver(this),this.#n.execute(t)}#u(){let t=this.#n?.state??(0,i.R)();this.#o={...t,isPending:"pending"===t.status,isSuccess:"success"===t.status,isError:"error"===t.status,isIdle:"idle"===t.status,mutate:this.mutate,reset:this.reset}}#l(t){o.Vr.batch(()=>{if(this.#a&&this.hasListeners()){let e=this.#o.variables,r=this.#o.context,s={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};if(t?.type==="success"){try{this.#a.onSuccess?.(t.data,e,r,s)}catch(t){Promise.reject(t)}try{this.#a.onSettled?.(t.data,null,e,r,s)}catch(t){Promise.reject(t)}}else if(t?.type==="error"){try{this.#a.onError?.(t.error,e,r,s)}catch(t){Promise.reject(t)}try{this.#a.onSettled?.(void 0,t.error,e,r,s)}catch(t){Promise.reject(t)}}}this.listeners.forEach(t=>{t(this.#o)})})}},l=r(58919);function c(t,e){let r=(0,l.NL)(e),[i]=s.useState(()=>new u(r,t));s.useEffect(()=>{i.setOptions(t)},[i,t]);let n=s.useSyncExternalStore(s.useCallback(t=>i.subscribe(o.Vr.batchCalls(t)),[i]),()=>i.getCurrentResult(),()=>i.getCurrentResult()),c=s.useCallback((t,e)=>{i.mutate(t,e).catch(a.ZT)},[i]);if(n.error&&(0,a.L3)(i.options.throwOnError,[n.error]))throw n.error;return{...n,mutate:c,mutateAsync:n.mutate}}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5931],{66289:function(e,t,r){Promise.resolve().then(r.bind(r,12256))},71185:function(e,t,r){"use strict";var i=r(8091);t.Z=void 0;var n=i(r(66758)),l=r(94655);t.Z=(0,n.default)((0,l.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close")},69123:function(e,t,r){"use strict";var i=r(32324),n=r(81500),l=r(35106),a=r(70316),o=r(65951),s=r(64577),c=r(34519),d=r(28057),h=r(16945),u=r(94655);let x=["absolute","children","className","component","flexItem","light","orientation","role","textAlign","variant"],m=e=>{let{absolute:t,children:r,classes:i,flexItem:n,light:l,orientation:a,textAlign:s,variant:c}=e;return(0,o.Z)({root:["root",t&&"absolute",c,l&&"light","vertical"===a&&"vertical",n&&"flexItem",r&&"withChildren",r&&"vertical"===a&&"withChildrenVertical","right"===s&&"vertical"!==a&&"textAlignRight","left"===s&&"vertical"!==a&&"textAlignLeft"],wrapper:["wrapper","vertical"===a&&"wrapperVertical"]},h.V,i)},v=(0,c.ZP)("div",{name:"MuiDivider",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,r.absolute&&t.absolute,t[r.variant],r.light&&t.light,"vertical"===r.orientation&&t.vertical,r.flexItem&&t.flexItem,r.children&&t.withChildren,r.children&&"vertical"===r.orientation&&t.withChildrenVertical,"right"===r.textAlign&&"vertical"!==r.orientation&&t.textAlignRight,"left"===r.textAlign&&"vertical"!==r.orientation&&t.textAlignLeft]}})(e=>{let{theme:t,ownerState:r}=e;return(0,n.Z)({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(t.vars||t).palette.divider,borderBottomWidth:"thin"},r.absolute&&{position:"absolute",bottom:0,left:0,width:"100%"},r.light&&{borderColor:t.vars?"rgba(".concat(t.vars.palette.dividerChannel," / 0.08)"):(0,s.Fq)(t.palette.divider,.08)},"inset"===r.variant&&{marginLeft:72},"middle"===r.variant&&"horizontal"===r.orientation&&{marginLeft:t.spacing(2),marginRight:t.spacing(2)},"middle"===r.variant&&"vertical"===r.orientation&&{marginTop:t.spacing(1),marginBottom:t.spacing(1)},"vertical"===r.orientation&&{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"},r.flexItem&&{alignSelf:"stretch",height:"auto"})},e=>{let{ownerState:t}=e;return(0,n.Z)({},t.children&&{display:"flex",whiteSpace:"nowrap",textAlign:"center",border:0,borderTopStyle:"solid",borderLeftStyle:"solid","&::before, &::after":{content:'""',alignSelf:"center"}})},e=>{let{theme:t,ownerState:r}=e;return(0,n.Z)({},r.children&&"vertical"!==r.orientation&&{"&::before, &::after":{width:"100%",borderTop:"thin solid ".concat((t.vars||t).palette.divider),borderTopStyle:"inherit"}})},e=>{let{theme:t,ownerState:r}=e;return(0,n.Z)({},r.children&&"vertical"===r.orientation&&{flexDirection:"column","&::before, &::after":{height:"100%",borderLeft:"thin solid ".concat((t.vars||t).palette.divider),borderLeftStyle:"inherit"}})},e=>{let{ownerState:t}=e;return(0,n.Z)({},"right"===t.textAlign&&"vertical"!==t.orientation&&{"&::before":{width:"90%"},"&::after":{width:"10%"}},"left"===t.textAlign&&"vertical"!==t.orientation&&{"&::before":{width:"10%"},"&::after":{width:"90%"}})}),Z=(0,c.ZP)("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.wrapper,"vertical"===r.orientation&&t.wrapperVertical]}})(e=>{let{theme:t,ownerState:r}=e;return(0,n.Z)({display:"inline-block",paddingLeft:"calc(".concat(t.spacing(1)," * 1.2)"),paddingRight:"calc(".concat(t.spacing(1)," * 1.2)")},"vertical"===r.orientation&&{paddingTop:"calc(".concat(t.spacing(1)," * 1.2)"),paddingBottom:"calc(".concat(t.spacing(1)," * 1.2)")})}),f=l.forwardRef(function(e,t){let r=(0,d.i)({props:e,name:"MuiDivider"}),{absolute:l=!1,children:o,className:s,component:c=o?"div":"hr",flexItem:h=!1,light:f=!1,orientation:p="horizontal",role:g="hr"!==c?"separator":void 0,textAlign:j="center",variant:b="fullWidth"}=r,y=(0,i.Z)(r,x),w=(0,n.Z)({},r,{absolute:l,component:c,flexItem:h,light:f,orientation:p,role:g,textAlign:j,variant:b}),C=m(w);return(0,u.jsx)(v,(0,n.Z)({as:c,className:(0,a.Z)(C.root,s),role:g,ref:t,ownerState:w},y,{children:o?(0,u.jsx)(Z,{className:C.wrapper,ownerState:w,children:o}):null}))});f.muiSkipListHighlight=!0,t.Z=f},16945:function(e,t,r){"use strict";r.d(t,{V:function(){return l}});var i=r(11379),n=r(9049);function l(e){return(0,n.ZP)("MuiDivider",e)}let a=(0,i.Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=a},53281:function(e,t,r){"use strict";r.d(t,{Z:function(){return f}});var i=r(81500),n=r(32324),l=r(35106),a=r(70316),o=r(65951),s=r(28057),c=r(34519),d=r(11379),h=r(9049);function u(e){return(0,h.ZP)("MuiTableContainer",e)}(0,d.Z)("MuiTableContainer",["root"]);var x=r(94655);let m=["className","component"],v=e=>{let{classes:t}=e;return(0,o.Z)({root:["root"]},u,t)},Z=(0,c.ZP)("div",{name:"MuiTableContainer",slot:"Root",overridesResolver:(e,t)=>t.root})({width:"100%",overflowX:"auto"});var f=l.forwardRef(function(e,t){let r=(0,s.i)({props:e,name:"MuiTableContainer"}),{className:l,component:o="div"}=r,c=(0,n.Z)(r,m),d=(0,i.Z)({},r,{component:o}),h=v(d);return(0,x.jsx)(Z,(0,i.Z)({ref:t,as:o,className:(0,a.Z)(h.root,l),ownerState:d},c))})},12256:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return R}});var i=r(94655),n=r(35106),l=r(7281),a=r(93017),o=r(81071),s=r(31317),c=r(5632),d=r(6986),h=r(53281),u=r(69899),x=r(21138),m=r(11254),v=r(70366),Z=r(47001),f=r(84811),p=r(25333);function g(e){let{users:t,onUserClick:r}=e;return 0===t.length?(0,i.jsx)(l.Z,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:"200px",p:4},children:(0,i.jsx)(s.Z,{variant:"body1",color:"text.secondary",children:"No users found"})}):(0,i.jsx)(h.Z,{component:u.Z,children:(0,i.jsxs)(x.Z,{children:[(0,i.jsx)(m.Z,{children:(0,i.jsxs)(v.Z,{children:[(0,i.jsx)(Z.Z,{children:"Email"}),(0,i.jsx)(Z.Z,{children:"Name"}),(0,i.jsx)(Z.Z,{children:"Role"}),(0,i.jsx)(Z.Z,{children:"Status"}),(0,i.jsx)(Z.Z,{children:"Created At"})]})}),(0,i.jsx)(f.Z,{children:t.map(e=>(0,i.jsxs)(v.Z,{hover:!0,onClick:()=>r(e),sx:{cursor:"pointer"},children:[(0,i.jsx)(Z.Z,{children:e.email}),(0,i.jsx)(Z.Z,{children:e.name||"N/A"}),(0,i.jsx)(Z.Z,{children:"admin"===e.role?(0,i.jsx)(p.Z,{label:"Admin",color:"primary",size:"small"}):(0,i.jsx)(p.Z,{label:"User",size:"small"})}),(0,i.jsx)(Z.Z,{children:e.banned?(0,i.jsx)(p.Z,{label:"Banned",color:"error",size:"small"}):(0,i.jsx)(p.Z,{label:"Active",color:"success",size:"small"})}),(0,i.jsx)(Z.Z,{children:new Date(e.createdAt).toLocaleString("en-US",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1})})]},e.id))})]})})}var j=r(99770),b=r(62508),y=r(79983),w=r(5682),C=r(69123),A=r(71185);function S(e){let{user:t,open:r,onClose:n}=e;return(0,i.jsxs)(j.Z,{open:r,onClose:n,maxWidth:"sm",fullWidth:!0,children:[(0,i.jsx)(b.Z,{children:(0,i.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,i.jsx)(s.Z,{variant:"h6",children:"User Details"}),(0,i.jsx)(y.Z,{onClick:n,size:"small","aria-label":"close",children:(0,i.jsx)(A.Z,{})})]})}),(0,i.jsx)(w.Z,{children:(0,i.jsxs)(l.Z,{sx:{display:"flex",flexDirection:"column",gap:2},children:[(0,i.jsxs)(l.Z,{children:[(0,i.jsx)(s.Z,{variant:"caption",color:"text.secondary",children:"Email"}),(0,i.jsx)(s.Z,{variant:"body1",children:t.email})]}),(0,i.jsxs)(l.Z,{children:[(0,i.jsx)(s.Z,{variant:"caption",color:"text.secondary",children:"Name"}),(0,i.jsx)(s.Z,{variant:"body1",children:t.name||"N/A"})]}),(0,i.jsxs)(l.Z,{children:[(0,i.jsx)(s.Z,{variant:"caption",color:"text.secondary",children:"Role"}),(0,i.jsx)(l.Z,{sx:{mt:.5},children:"admin"===t.role?(0,i.jsx)(p.Z,{label:"Admin",color:"primary",size:"small"}):(0,i.jsx)(p.Z,{label:"User",size:"small"})})]}),(0,i.jsxs)(l.Z,{children:[(0,i.jsx)(s.Z,{variant:"caption",color:"text.secondary",children:"Status"}),(0,i.jsx)(l.Z,{sx:{mt:.5},children:t.banned?(0,i.jsx)(p.Z,{label:"Banned",color:"error",size:"small"}):(0,i.jsx)(p.Z,{label:"Active",color:"success",size:"small"})})]}),(0,i.jsx)(C.Z,{}),(0,i.jsxs)(l.Z,{children:[(0,i.jsx)(s.Z,{variant:"caption",color:"text.secondary",children:"Created At"}),(0,i.jsx)(s.Z,{variant:"body2",children:new Date(t.createdAt).toLocaleString("en-US",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1})})]}),(0,i.jsxs)(l.Z,{children:[(0,i.jsx)(s.Z,{variant:"caption",color:"text.secondary",children:"User ID"}),(0,i.jsx)(s.Z,{variant:"body2",sx:{fontFamily:'"Roboto Mono", monospace',fontSize:"0.875rem"},children:t.id})]})]})})]})}function R(){let{data:e,isLoading:t,isError:r,error:h}=(0,c.a)({queryKey:["admin","users"],queryFn:async()=>{let{data:e,error:t}=await d.zB.listUsers({query:{}});if(t)throw Error(t.message||"Failed to fetch users");return(null==e?void 0:e.users)?e.users.map(e=>{var t,r,i;return{id:e.id,email:e.email,name:null!==(t=e.name)&&void 0!==t?t:null,role:null!==(r=e.role)&&void 0!==r?r:"user",banned:null!==(i=e.banned)&&void 0!==i&&i,createdAt:new Date(e.createdAt)}}):[]}}),[u,x]=(0,n.useState)(null);return t?(0,i.jsx)(l.Z,{sx:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:"400px"},children:(0,i.jsx)(a.Z,{})}):r?(0,i.jsx)(l.Z,{sx:{p:3},children:(0,i.jsxs)(o.Z,{severity:"error",children:["Failed to load users. ",(null==h?void 0:h.message)||"Please try again later."]})}):(0,i.jsxs)(l.Z,{sx:{p:3},children:[(0,i.jsx)(s.Z,{variant:"h4",component:"h1",gutterBottom:!0,children:"User Management"}),(0,i.jsx)(g,{users:e||[],onUserClick:e=>{x(e)}}),u&&(0,i.jsx)(S,{user:u,open:!0,onClose:()=>{x(null)}})]})}},6986:function(e,t,r){"use strict";r.d(t,{Cp:function(){return u},Nq:function(){return h},cg:function(){return o},kP:function(){return d},w7:function(){return s},y1:function(){return c},zB:function(){return x}});var i=r(77054),n=r(61648),l=r(35016);let a=(0,i.X)({baseURL:l.env.NEXT_PUBLIC_BETTER_AUTH_URL||"",plugins:[(0,n.zB)()]}),{signIn:o,signOut:s,signUp:c,useSession:d,updateUser:h,changePassword:u}=a,x=a.admin}},function(e){e.O(0,[6812,9760,5004,1071,540,4416,2542,880,2844,3669,2757,1744],function(){return e(e.s=66289)}),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2248],{12121:function(e,t,r){Promise.resolve().then(r.bind(r,64924))},64924:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return B}});var n=r(94655),s=r(69899),i=r(76492),a=r(7281),l=r(31317),o=r(84840),c=r(628),d=r(41565),x=r(10721),h=r(25065),u=r(91179),p=r(11767),m=r(53832),j=r(30164),g=r(92666),f=r(59104);function Z(e){let{title:t,value:r,icon:s,color:i="primary",description:o}=e,x={primary:"#1bd96a",success:"#22c55e",info:"#3b82f6",secondary:"#7c3aed"};return(0,n.jsx)(c.Z,{"data-testid":"stat-card",sx:{height:"100%",position:"relative",overflow:"hidden","&::before":{content:'""',position:"absolute",top:0,left:0,right:0,height:"4px",background:x[i]}},children:(0,n.jsxs)(d.Z,{children:[(0,n.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:2},children:[(0,n.jsx)(l.Z,{variant:"body2",color:"text.secondary",sx:{fontWeight:500},children:t}),s&&(0,n.jsx)(a.Z,{sx:{color:x[i],opacity:.8},children:s})]}),(0,n.jsx)(l.Z,{variant:"h3",component:"div",sx:{fontWeight:700,color:"text.primary",mb:o?1:0},children:r}),o&&(0,n.jsx)(l.Z,{variant:"caption",color:"text.secondary",children:o})]})})}var v=r(98406),y=r(93017),b=r(25333),w=r(46725),S=r(8690),C=r(31358),z=r(97511);function I(e){let{servers:t,statusMap:r={},isLoading:s,maxItems:i,showViewAll:o=!1,onServerClick:x}=e,h=(0,C.x)(),u=i?t.slice(0,i):t,p=e=>{x?x(e):h.push("/servers/".concat(e))},m=e=>{switch(e){case"running":return"success";case"stopped":case"exited":return"error";case"created":return"warning";default:return"default"}},j=e=>{switch(e){case"healthy":return"success";case"unhealthy":return"error";case"starting":return"warning";default:return"default"}};return s?(0,n.jsxs)(c.Z,{children:[(0,n.jsx)(v.Z,{title:"Servers"}),(0,n.jsx)(d.Z,{children:(0,n.jsx)(a.Z,{sx:{display:"flex",justifyContent:"center",py:4},children:(0,n.jsx)(y.Z,{})})})]}):0===t.length?(0,n.jsxs)(c.Z,{children:[(0,n.jsx)(v.Z,{title:"Servers"}),(0,n.jsx)(d.Z,{children:(0,n.jsx)(l.Z,{color:"text.secondary",align:"center",children:"No servers found. Create your first server to get started."})})]}):(0,n.jsxs)(c.Z,{children:[(0,n.jsx)(v.Z,{title:"Servers",action:o&&t.length>(i||0)?(0,n.jsxs)(w.default,{href:"/servers",onClick:()=>(0,S.Av)(),style:{textDecoration:"none",color:"inherit",fontSize:"0.875rem"},children:["View All (",t.length,")"]}):null}),(0,n.jsx)(d.Z,{children:(0,n.jsx)(a.Z,{sx:{display:"flex",flexDirection:"column",gap:2},children:u.map(e=>{let t=r[e.name],s=(null==t?void 0:t.status)||e.status,i=(null==t?void 0:t.health)||e.health;return(0,n.jsx)(a.Z,{role:"button",onClick:()=>p(e.name),sx:{p:2,borderRadius:1,border:"1px solid",borderColor:"divider",cursor:"pointer",transition:"all 0.2s","&:hover":{borderColor:"primary.main",backgroundColor:"action.hover"}},children:(0,n.jsxs)(a.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,n.jsxs)(a.Z,{children:[(0,n.jsx)(l.Z,{variant:"subtitle1",fontWeight:600,children:e.name}),(0,n.jsx)(z.h,{hostname:e.hostname,fontSize:12})]}),(0,n.jsxs)(a.Z,{sx:{display:"flex",gap:1},children:[(0,n.jsx)(b.Z,{label:s,color:m(s),size:"small"}),"none"!==i&&(0,n.jsx)(b.Z,{label:i,color:j(i),size:"small",variant:"outlined"})]})]})},e.name)})})})]})}var k=r(35106),P=r(41261);function F(e){let{maxVersions:t=2,title:r="Recent Updates"}=e,[s,i]=(0,k.useState)([]),[o,h]=(0,k.useState)(!0),[u,p]=(0,k.useState)(null);return((0,k.useEffect)(()=>{(async function(){try{let e=await fetch("https://api.github.com/repos/smallmiro/minecraft-server-manager/contents/CHANGELOG.md",{headers:{Accept:"application/vnd.github.v3+json"}});if(!e.ok)throw Error("Failed to fetch changelog");let r=await e.json(),n=atob(r.content),s=function(e,t){let r=[],n=e.split("\n"),s=null,i="added";for(let e of n){let n=e.match(/^## \[([^\]]+)\] - (\d{4}-\d{2}-\d{2})/);if(n){if(s&&(r.push(s),r.length>=t))break;s={version:n[1],date:n[2],items:[]};continue}let a=e.match(/^### (Added|Fixed|Changed)/i);if(a){i=a[1].toLowerCase();continue}let l=e.match(/^- \*\*([^*]+)\*\*\s*[-–]?\s*(.*)$/);l&&s&&s.items.push({type:i,message:l[1].trim()})}return s&&r.length<t&&r.push(s),r}(n,t);i(s)}catch(e){p(e instanceof Error?e.message:"Unknown error")}finally{h(!1)}})()},[t]),o)?(0,n.jsxs)(c.Z,{children:[(0,n.jsx)(v.Z,{title:r}),(0,n.jsxs)(d.Z,{children:[(0,n.jsx)(x.Z,{variant:"text",width:"60%",height:28}),(0,n.jsx)(x.Z,{variant:"text",width:"80%"}),(0,n.jsx)(x.Z,{variant:"text",width:"70%"}),(0,n.jsxs)(a.Z,{sx:{mt:2},children:[(0,n.jsx)(x.Z,{variant:"text",width:"60%",height:28}),(0,n.jsx)(x.Z,{variant:"text",width:"75%"})]})]})]}):u?(0,n.jsxs)(c.Z,{children:[(0,n.jsx)(v.Z,{title:r}),(0,n.jsx)(d.Z,{children:(0,n.jsx)(l.Z,{color:"text.secondary",align:"center",children:"Unable to load updates"})})]}):(0,n.jsxs)(c.Z,{children:[(0,n.jsx)(v.Z,{title:r,action:(0,n.jsx)(P.Z,{href:"https://github.com/smallmiro/minecraft-server-manager/blob/develop/CHANGELOG.md",target:"_blank",rel:"noopener",sx:{fontSize:13,mr:1},children:"View all"})}),(0,n.jsx)(d.Z,{sx:{pt:0},children:s.map((e,t)=>{let r=e.items.filter(e=>"added"===e.type),i=e.items.filter(e=>"fixed"===e.type),o=e.items.filter(e=>"changed"===e.type);return(0,n.jsxs)(a.Z,{sx:{mb:t<s.length-1?2.5:0,pb:t<s.length-1?2:0,borderBottom:t<s.length-1?"1px solid":"none",borderColor:"divider"},children:[(0,n.jsxs)(l.Z,{variant:"subtitle2",sx:{fontWeight:600,color:"primary.main",mb:1},children:["[",e.version,"] - ",e.date]}),r.length>0&&(0,n.jsxs)(a.Z,{sx:{mb:1},children:[(0,n.jsx)(b.Z,{label:"Added",size:"small",sx:{bgcolor:"success.main",color:"success.contrastText",fontSize:11,height:20,mb:.5}}),r.map((e,t)=>(0,n.jsxs)(l.Z,{variant:"body2",sx:{color:"text.secondary",pl:1},children:["• ",e.message]},t))]}),i.length>0&&(0,n.jsxs)(a.Z,{sx:{mb:1},children:[(0,n.jsx)(b.Z,{label:"Fixed",size:"small",sx:{bgcolor:"warning.main",color:"warning.contrastText",fontSize:11,height:20,mb:.5}}),i.map((e,t)=>(0,n.jsxs)(l.Z,{variant:"body2",sx:{color:"text.secondary",pl:1},children:["• ",e.message]},t))]}),o.length>0&&(0,n.jsxs)(a.Z,{children:[(0,n.jsx)(b.Z,{label:"Changed",size:"small",sx:{bgcolor:"info.main",color:"info.contrastText",fontSize:11,height:20,mb:.5}}),o.map((e,t)=>(0,n.jsxs)(l.Z,{variant:"body2",sx:{color:"text.secondary",pl:1},children:["• ",e.message]},t))]})]},e.version)})})]})}var T=r(30417),W=r(90158),A=r(58347),N=r(73424),q=r(95511),D=r(26577),L=r(56813),R=r(26892),E=r(84509);function O(e){var t;let{maxItems:r=5}=e,{data:s,isLoading:i,error:o}=(0,E.oL)(r),h=null!==(t=null==s?void 0:s.logs)&&void 0!==t?t:[];return(0,n.jsxs)(c.Z,{children:[(0,n.jsx)(v.Z,{title:"Recent Activity",action:(0,n.jsx)(T.Z,{component:w.default,href:"/audit-logs",size:"small",endIcon:(0,n.jsx)(D.Z,{}),sx:{textTransform:"none"},children:"View All"})}),(0,n.jsx)(d.Z,{sx:{pt:0},children:i?(0,n.jsx)(W.Z,{sx:{py:0},children:[...Array(r)].map((e,t)=>(0,n.jsx)(A.ZP,{sx:{px:0,py:1.5},children:(0,n.jsx)(N.Z,{primary:(0,n.jsxs)(a.Z,{sx:{display:"flex",gap:1},children:[(0,n.jsx)(x.Z,{variant:"rounded",width:60,height:24}),(0,n.jsx)(x.Z,{variant:"text",width:80}),(0,n.jsx)(x.Z,{variant:"text",width:60})]}),secondary:(0,n.jsx)(x.Z,{variant:"text",width:50})})},t))}):o?(0,n.jsx)(l.Z,{color:"text.secondary",align:"center",children:"Failed to load recent activity"}):0===h.length?(0,n.jsx)(l.Z,{color:"text.secondary",align:"center",sx:{py:2},children:"No recent activity"}):(0,n.jsx)(W.Z,{sx:{py:0},children:h.map(e=>{var t;return(0,n.jsx)(A.ZP,{sx:{px:0,py:1.5,"&:not(:last-child)":{borderBottom:"1px solid",borderColor:"divider"}},children:(0,n.jsx)(N.Z,{primary:(0,n.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",gap:1,flexWrap:"wrap"},children:[(0,n.jsx)(L.I,{action:e.action,size:"small"}),(0,n.jsx)(l.Z,{variant:"body2",sx:{fontWeight:500},children:e.targetName}),(0,n.jsxs)(l.Z,{variant:"body2",color:"text.secondary",children:["by ",e.actor.replace("api:","").replace("cli:","")]}),"failure"===e.status&&(0,n.jsx)(R.c,{status:e.status,size:"small"})]}),secondary:(0,n.jsx)(q.Z,{title:(t=e.timestamp,new Intl.DateTimeFormat(void 0,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:"short"}).format(new Date(t))),arrow:!0,children:(0,n.jsx)(l.Z,{variant:"caption",component:"span",color:"text.disabled",children:function(e){let t=new Date,r=new Date(e),n=Math.floor((t.getTime()-r.getTime())/6e4),s=Math.floor(n/60);return n<1?"just now":n<60?"".concat(n,"m ago"):s<24?"".concat(s,"h ago"):"".concat(Math.floor(s/24),"d ago")}(e.timestamp)})})})},e.id)})})})]})}var K=r(84974),M=r(37228);function U(){let{data:e,isLoading:t}=(0,M.UW)();if(t)return(0,n.jsx)(c.Z,{children:(0,n.jsxs)(d.Z,{children:[(0,n.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:2},children:[(0,n.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,n.jsx)(x.Z,{variant:"circular",width:20,height:20}),(0,n.jsx)(x.Z,{variant:"text",width:120})]}),(0,n.jsx)(x.Z,{variant:"rounded",width:60,height:24})]}),(0,n.jsx)(x.Z,{variant:"text",width:"50%",height:32}),(0,n.jsx)(x.Z,{variant:"text",width:"70%"})]})});if(!(null==e?void 0:e.enabled))return(0,n.jsx)(c.Z,{children:(0,n.jsxs)(d.Z,{children:[(0,n.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:2},children:[(0,n.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,n.jsx)(K.Z,{sx:{fontSize:20,color:"text.secondary"}}),(0,n.jsx)(l.Z,{variant:"body2",fontWeight:500,color:"text.secondary",children:"External Access"})]}),(0,n.jsx)(b.Z,{label:"Not configured",size:"small",variant:"outlined"})]}),(0,n.jsx)(l.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"playit.gg is not configured"}),(0,n.jsx)(T.Z,{component:w.default,href:"/routing",size:"small",endIcon:(0,n.jsx)(D.Z,{}),sx:{fontSize:12},children:"Manage"})]})});let r=e.agentRunning&&"running"===e.containerStatus,s=e.servers.length,i=e.servers.filter(e=>e.playitDomain).length;return(0,n.jsx)(c.Z,{children:(0,n.jsxs)(d.Z,{children:[(0,n.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:2},children:[(0,n.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,n.jsx)(K.Z,{sx:{fontSize:20,color:"primary.main"}}),(0,n.jsx)(l.Z,{variant:"body2",fontWeight:500,children:"External Access"})]}),(0,n.jsx)(b.Z,{label:r?"Running":"Stopped",size:"small",color:r?"success":"default",variant:"outlined"})]}),(0,n.jsxs)(l.Z,{variant:"h6",sx:{mb:.5},children:[i," / ",s," servers"]}),(0,n.jsx)(l.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"With external domains"}),(0,n.jsx)(T.Z,{component:w.default,href:"/routing",size:"small",endIcon:(0,n.jsx)(D.Z,{}),sx:{fontSize:12},children:"Manage"})]})})}function B(){let{data:e,isLoading:t}=(0,g.x$)(),{data:r,isLoading:v}=(0,g.Sr)(),{statusMap:y}=(0,f.d)(),b=t||v,w=(null==e?void 0:e.total)||0,S=(null==e?void 0:e.servers.filter(e=>{let t=y[e.name];return"running"===((null==t?void 0:t.status)||e.status)}).length)||0,C=(null==r?void 0:r.total)||0;return b?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.Z,{elevation:0,sx:{mb:4,p:3,background:e=>"linear-gradient(135deg, ".concat((0,i.Fq)(e.palette.secondary.main,.1)," 0%, ").concat((0,i.Fq)(e.palette.primary.main,.1)," 100%)"),borderRadius:2,border:e=>"1px solid ".concat((0,i.Fq)(e.palette.secondary.main,.2))},children:(0,n.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",gap:2},children:[(0,n.jsx)(a.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",width:56,height:56,borderRadius:2,bgcolor:"primary.main",color:"primary.contrastText"},children:(0,n.jsx)(h.Z,{sx:{fontSize:32}})}),(0,n.jsxs)(a.Z,{children:[(0,n.jsx)(l.Z,{variant:"h4",component:"h1",fontWeight:"bold",children:"Dashboard"}),(0,n.jsx)(l.Z,{variant:"body1",color:"text.secondary",children:"Overview of your Minecraft server infrastructure"})]})]})}),(0,n.jsx)(o.ZP,{container:!0,spacing:3,sx:{mb:4},children:[0,1,2,3].map(e=>(0,n.jsx)(o.ZP,{item:!0,xs:12,sm:6,md:3,children:(0,n.jsx)(c.Z,{sx:{height:"100%",position:"relative",overflow:"hidden","&::before":{content:'""',position:"absolute",top:0,left:0,right:0,height:"4px",background:"grey.300"}},children:(0,n.jsxs)(d.Z,{children:[(0,n.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:2},children:[(0,n.jsx)(x.Z,{variant:"text",width:"60%"}),(0,n.jsx)(x.Z,{variant:"circular",width:32,height:32})]}),(0,n.jsx)(x.Z,{variant:"text",width:"40%",height:48}),(0,n.jsx)(x.Z,{variant:"text",width:"70%"})]})})},e))}),(0,n.jsxs)(o.ZP,{container:!0,spacing:3,children:[(0,n.jsx)(o.ZP,{item:!0,xs:12,lg:7,children:(0,n.jsx)(c.Z,{children:(0,n.jsxs)(d.Z,{children:[(0,n.jsx)(x.Z,{variant:"text",width:"30%",height:32,sx:{mb:2}}),[0,1,2,3,4].map(e=>(0,n.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",gap:2,py:1.5,borderBottom:"1px solid",borderColor:"divider"},children:[(0,n.jsx)(x.Z,{variant:"circular",width:10,height:10}),(0,n.jsx)(x.Z,{variant:"text",width:"25%"}),(0,n.jsx)(x.Z,{variant:"rounded",width:60,height:24,sx:{ml:"auto"}})]},e))]})})}),(0,n.jsx)(o.ZP,{item:!0,xs:12,lg:5,children:(0,n.jsxs)(a.Z,{sx:{display:"flex",flexDirection:"column",gap:3},children:[(0,n.jsx)(c.Z,{children:(0,n.jsxs)(d.Z,{children:[(0,n.jsx)(x.Z,{variant:"text",width:"40%",height:32,sx:{mb:2}}),[0,1,2,3].map(e=>(0,n.jsxs)(a.Z,{sx:{display:"flex",gap:1.5,py:1,borderBottom:"1px solid",borderColor:"divider"},children:[(0,n.jsx)(x.Z,{variant:"circular",width:24,height:24}),(0,n.jsxs)(a.Z,{sx:{flex:1},children:[(0,n.jsx)(x.Z,{variant:"text",width:"80%"}),(0,n.jsx)(x.Z,{variant:"text",width:"50%"})]})]},e))]})}),(0,n.jsx)(c.Z,{children:(0,n.jsxs)(d.Z,{children:[(0,n.jsx)(x.Z,{variant:"text",width:"35%",height:32,sx:{mb:2}}),[0,1].map(e=>(0,n.jsxs)(a.Z,{sx:{py:1,borderBottom:"1px solid",borderColor:"divider"},children:[(0,n.jsx)(x.Z,{variant:"text",width:"60%"}),(0,n.jsx)(x.Z,{variant:"text",width:"90%"})]},e))]})})]})})]})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.Z,{elevation:0,sx:{mb:4,p:3,background:e=>"linear-gradient(135deg, ".concat((0,i.Fq)(e.palette.secondary.main,.1)," 0%, ").concat((0,i.Fq)(e.palette.primary.main,.1)," 100%)"),borderRadius:2,border:e=>"1px solid ".concat((0,i.Fq)(e.palette.secondary.main,.2))},children:(0,n.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",gap:2},children:[(0,n.jsx)(a.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",width:56,height:56,borderRadius:2,bgcolor:"secondary.main",color:"secondary.contrastText"},children:(0,n.jsx)(h.Z,{sx:{fontSize:32}})}),(0,n.jsxs)(a.Z,{children:[(0,n.jsx)(l.Z,{variant:"h4",component:"h1",fontWeight:"bold",children:"Dashboard"}),(0,n.jsx)(l.Z,{variant:"body1",color:"text.secondary",children:"Overview of your Minecraft server infrastructure"})]})]})}),(0,n.jsxs)(o.ZP,{container:!0,spacing:3,sx:{mb:4},children:[(0,n.jsx)(o.ZP,{item:!0,xs:12,sm:6,md:3,children:(0,n.jsx)(Z,{title:"Total Servers",value:w,icon:(0,n.jsx)(u.Z,{fontSize:"large"}),color:"primary",description:"All configured servers"})}),(0,n.jsx)(o.ZP,{item:!0,xs:12,sm:6,md:3,children:(0,n.jsx)(Z,{title:"Online Servers",value:S,icon:(0,n.jsx)(p.Z,{fontSize:"large"}),color:"success",description:"Currently running"})}),(0,n.jsx)(o.ZP,{item:!0,xs:12,sm:6,md:3,children:(0,n.jsx)(Z,{title:"Total Players",value:0,icon:(0,n.jsx)(m.Z,{fontSize:"large"}),color:"info",description:"Across all servers"})}),(0,n.jsx)(o.ZP,{item:!0,xs:12,sm:6,md:3,children:(0,n.jsx)(Z,{title:"Total Worlds",value:C,icon:(0,n.jsx)(j.Z,{fontSize:"large"}),color:"secondary",description:"Available worlds"})})]}),(0,n.jsxs)(o.ZP,{container:!0,spacing:3,children:[(0,n.jsx)(o.ZP,{item:!0,xs:12,lg:7,children:(0,n.jsx)(I,{servers:(null==e?void 0:e.servers)||[],statusMap:y,isLoading:t,maxItems:5,showViewAll:!0})}),(0,n.jsx)(o.ZP,{item:!0,xs:12,lg:5,children:(0,n.jsxs)(a.Z,{sx:{display:"flex",flexDirection:"column",gap:3},children:[(0,n.jsx)(U,{}),(0,n.jsx)(O,{maxItems:5}),(0,n.jsx)(F,{maxVersions:2})]})})]})]})}},56813:function(e,t,r){"use strict";r.d(t,{I:function(){return a}});var n=r(94655),s=r(25333),i=r(82925);function a(e){let{action:t,size:r="small"}=e,a=i.Lu[t]||"default",l=i.n3[t]||t;return(0,n.jsx)(s.Z,{label:l,color:a,size:r,variant:"filled",sx:{fontWeight:600,fontSize:"small"===r?"0.7rem":"0.8rem"}})}},26892:function(e,t,r){"use strict";r.d(t,{c:function(){return l}});var n=r(94655),s=r(25333),i=r(46207),a=r(43436);function l(e){let{status:t,size:r="small"}=e;return(0,n.jsx)(s.Z,{icon:"success"===t?(0,n.jsx)(i.Z,{}):(0,n.jsx)(a.Z,{}),label:"success"===t?"OK":"Error",color:"success"===t?"success":"error",size:r,variant:"outlined",sx:{fontWeight:500,fontSize:"small"===r?"0.7rem":"0.8rem"}})}},84509:function(e,t,r){"use strict";r.d(t,{DM:function(){return a},HZ:function(){return o},VM:function(){return l},hT:function(){return i},oL:function(){return c}});var n=r(5632),s=r(42936);function i(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,r=function(e){let t=new URLSearchParams;e.action&&t.set("action",e.action),e.actor&&t.set("actor",e.actor),e.targetType&&t.set("targetType",e.targetType),e.targetName&&t.set("targetName",e.targetName),e.status&&t.set("status",e.status),e.from&&t.set("from",e.from),e.to&&t.set("to",e.to),void 0!==e.limit&&t.set("limit",String(e.limit)),void 0!==e.offset&&t.set("offset",String(e.offset)),e.sort&&t.set("sort",e.sort);let r=t.toString();return r?"?".concat(r):""}(e);return(0,n.a)({queryKey:["audit-logs",e],queryFn:()=>(0,s.SC)("/api/audit-logs".concat(r)),enabled:(null==t?void 0:t.enabled)!==!1})}function a(e){return(0,n.a)({queryKey:["audit-logs","stats"],queryFn:()=>(0,s.SC)("/api/audit-logs/stats"),enabled:(null==e?void 0:e.enabled)!==!1,refetchInterval:3e4})}function l(e,t){return(0,n.a)({queryKey:["audit-logs",e],queryFn:()=>(0,s.SC)("/api/audit-logs/".concat(encodeURIComponent(e))),enabled:(null==t?void 0:t.enabled)!==!1&&!!e})}function o(e,t){var r;return i({targetType:"server",targetName:e,limit:null!==(r=null==t?void 0:t.limit)&&void 0!==r?r:20},{enabled:(null==t?void 0:t.enabled)!==!1&&!!e})}function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return i({limit:e,sort:"timestamp:desc"})}},37228:function(e,t,r){"use strict";r.d(t,{Bc:function(){return o},N$:function(){return c},UW:function(){return l}});var n=r(5632),s=r(58919),i=r(20367),a=r(42936);function l(){return(0,n.a)({queryKey:["playit-status"],queryFn:()=>(0,a.SC)("/api/playit/status"),refetchInterval:3e4})}function o(){let e=(0,s.NL)();return(0,i.D)({mutationFn:()=>(0,a.SC)("/api/playit/start",{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["playit-status"]})}})}function c(){let e=(0,s.NL)();return(0,i.D)({mutationFn:()=>(0,a.SC)("/api/playit/stop",{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["playit-status"]})}})}},82925:function(e,t,r){"use strict";r.d(t,{KK:function(){return l},Lu:function(){return n},Xn:function(){return a},n3:function(){return s},xg:function(){return i}});let n={"server.create":"success","server.delete":"error","server.start":"info","server.stop":"warning","server.restart":"secondary","player.whitelist.add":"success","player.whitelist.remove":"warning","player.ban":"error","player.unban":"success","player.op":"info","player.deop":"warning","player.kick":"error","audit.purge":"default"},s={"server.create":"Create","server.delete":"Delete","server.start":"Start","server.stop":"Stop","server.restart":"Restart","player.whitelist.add":"Whitelist Add","player.whitelist.remove":"Whitelist Remove","player.ban":"Ban","player.unban":"Unban","player.op":"Op","player.deop":"Deop","player.kick":"Kick","audit.purge":"Purge"},i=["server.create","server.delete","server.start","server.stop","server.restart","player.whitelist.add","player.whitelist.remove","player.ban","player.unban","player.op","player.deop","player.kick","audit.purge"],a=["server.create","server.delete","server.start","server.stop","server.restart"],l=["player.whitelist.add","player.whitelist.remove","player.ban","player.unban","player.op","player.deop","player.kick"]}},function(e){e.O(0,[6812,9760,5004,7296,540,4416,2538,5511,55,8347,5123,2666,2701,3669,2757,1744],function(){return e(e.s=12121)}),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[278],{59616:function(e,t,r){Promise.resolve().then(r.bind(r,46812))},46812:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return ta}});var s=r(94655),n=r(35106),i=r(74228),a=r(31358),o=r(7281),l=r(30417),d=r(79983),c=r(81071),x=r(93017),u=r(10721),h=r(628),p=r(41565),m=r(31317),y=r(88812),v=r(7178),j=r(17820),g=r(73424),b=r(99770),f=r(62508),Z=r(5682),w=r(76678),C=r(97436),S=r(84840),k=r(76492),R=r(10117),T=r(5501),I=r(37809),z=r(21111),P=r(17978),W=r(89573),F=r(96292),M=r(33104),A=r(25333),O=r(52082),D=r(69123),E=r(71185),q=r(30165),N=r(97293),B=r(11259),U=r(66615),L=r(89161),H=r(34071),K=r(4405);function G(e){let{value:t,unit:r,label:n,icon:i,progress:a,progressMax:l,color:d="#1bd96a"}=e;return(0,s.jsxs)(h.Z,{"data-testid":"resource-stat-card",sx:{p:2.5,bgcolor:"background.paper",border:"1px solid",borderColor:"divider",borderRadius:3},children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:2},children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"baseline",gap:.75,flexWrap:"wrap",minWidth:0},children:[(0,s.jsx)(m.Z,{variant:"h4",component:"span",sx:{fontWeight:700,color:"text.primary",fontFamily:'"Roboto Mono", monospace',letterSpacing:"-0.5px"},children:t}),(0,s.jsx)(m.Z,{variant:"body2",component:"span",sx:{color:"text.secondary",fontWeight:500},children:r})]}),(0,s.jsx)(o.Z,{sx:{color:"text.secondary",flexShrink:0},children:i})]}),(0,s.jsx)(m.Z,{variant:"body2",sx:{color:"text.secondary",fontWeight:500,mt:.5},children:n}),(0,s.jsx)(K.Z,{variant:"determinate",value:Math.min(a/l*100,100),sx:{mt:1,height:6,borderRadius:1.5,bgcolor:"#2a2d3a","& .MuiLinearProgress-bar":{borderRadius:1.5,background:"linear-gradient(90deg, ".concat(d," 0%, ").concat(d,"cc 100%)")}}})]})}var V=r(163),J=r(73660),Q=r(90158),_=r(58347),X=r(95511),$=r(46725),Y=r(26577),ee=r(56813),et=r(26892),er=r(84509);function es(e){var t;let{serverName:r}=e,{data:n,isLoading:i,error:a}=(0,er.HZ)(r,{limit:20});if(i)return(0,s.jsx)(o.Z,{children:[void 0,void 0,void 0,void 0,void 0].map((e,t)=>(0,s.jsxs)(o.Z,{sx:{display:"flex",gap:2,py:1.5},children:[(0,s.jsx)(u.Z,{variant:"rounded",width:60,height:24}),(0,s.jsx)(u.Z,{variant:"text",width:"60%"}),(0,s.jsx)(u.Z,{variant:"text",width:50})]},t))});if(a)return(0,s.jsxs)(c.Z,{severity:"error",children:["Failed to load activity: ",a.message]});let d=null!==(t=null==n?void 0:n.logs)&&void 0!==t?t:[];if(0===d.length)return(0,s.jsx)(m.Z,{variant:"body2",color:"text.secondary",sx:{py:4,textAlign:"center"},children:"No activity recorded for this server yet."});let x="/audit-logs?targetType=server&targetName=".concat(encodeURIComponent(r));return(0,s.jsxs)(o.Z,{children:[(0,s.jsx)(Q.Z,{sx:{py:0},children:d.map(e=>{var t;return(0,s.jsx)(_.ZP,{sx:{px:0,py:1.5,"&:not(:last-child)":{borderBottom:"1px solid",borderColor:"divider"}},children:(0,s.jsx)(g.Z,{primary:(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,s.jsx)(ee.I,{action:e.action,size:"small"}),(0,s.jsxs)(m.Z,{variant:"body2",color:"text.secondary",children:["by ",e.actor.replace("api:","").replace("cli:","")]}),(0,s.jsx)(et.c,{status:e.status,size:"small"})]}),secondary:(0,s.jsx)(X.Z,{title:(t=e.timestamp,new Intl.DateTimeFormat(void 0,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:"short"}).format(new Date(t))),arrow:!0,children:(0,s.jsx)(m.Z,{variant:"caption",component:"span",color:"text.disabled",children:function(e){let t=new Date,r=new Date(e),s=Math.floor((t.getTime()-r.getTime())/6e4),n=Math.floor(s/60);return s<1?"just now":s<60?"".concat(s,"m ago"):n<24?"".concat(n,"h ago"):"".concat(Math.floor(n/24),"d ago")}(e.timestamp)})})})},e.id)})}),(0,s.jsx)(o.Z,{sx:{mt:2,textAlign:"center"},children:(0,s.jsx)(l.Z,{component:$.default,href:x,size:"small",endIcon:(0,s.jsx)(Y.Z,{}),sx:{textTransform:"none"},children:"View Full History"})})]})}var en=r(37530),ei=r(84420),ea=r(46121),eo=r(84775),el=r(92666),ed=r(70115),ec=r(70603),ex=r(32366),eu=r(5942),eh=r(25523);function ep(e){let{serverName:t}=e,{data:r,isLoading:i}=(0,el.Js)(t),a=(0,el.Bx)(),[u,y]=(0,n.useState)([]),[v,j]=(0,n.useState)(!1),[g,b]=(0,n.useState)(!1),[f,Z]=(0,n.useState)(""),[w,S]=(0,n.useState)(""),[k,R]=(0,n.useState)(!1),[T,I]=(0,n.useState)({open:!1,message:"",severity:"success"});(0,n.useEffect)(()=>{(null==r?void 0:r.customHostnames)&&(y(r.customHostnames),j(!1),R(!1))},[r]);let P=e=>{let t=e.trim().toLowerCase();return t?t.length>253?"Domain exceeds 253 characters":/^[a-z0-9]([a-z0-9\-.]*[a-z0-9])?$/.test(t)?t.endsWith(".local")?"Cannot use .local system domain":t.endsWith(".nip.io")?"Cannot use .nip.io system domain":u.includes(t)?"Domain already exists":"":"Invalid domain format":"Domain cannot be empty"},W=()=>{let e=f.trim().toLowerCase(),t=P(e);if(t){S(t);return}y(t=>[...t,e]),Z(""),S(""),b(!1),j(!0)},F=e=>{y(t=>t.filter(t=>t!==e)),j(!0)},M=async()=>{try{await a.mutateAsync({serverName:t,customHostnames:u}),j(!1),R(!0),I({open:!0,message:"Hostnames saved. Container recreation required to apply changes.",severity:"warning"})}catch(e){I({open:!0,message:e instanceof Error?e.message:"Failed to save hostnames",severity:"error"})}},O=()=>{b(!1),Z(""),S("")};return i?(0,s.jsx)(h.Z,{sx:{mb:3,borderRadius:3},children:(0,s.jsx)(p.Z,{children:(0,s.jsx)(o.Z,{sx:{display:"flex",justifyContent:"center",py:4},children:(0,s.jsx)(x.Z,{size:24})})})}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(h.Z,{sx:{mb:3,borderRadius:3},children:(0,s.jsxs)(p.Z,{children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:1},children:[(0,s.jsx)(eh.Z,{color:"primary"}),(0,s.jsx)(m.Z,{variant:"h6",fontWeight:600,children:"Hostnames / Domains"})]}),(0,s.jsx)(m.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"Manage hostnames used by mc-router to route connections to this server."}),(0,s.jsx)(D.Z,{sx:{mb:3}}),(null==r?void 0:r.systemHostnames)&&r.systemHostnames.length>0&&(0,s.jsxs)(o.Z,{sx:{mb:3},children:[(0,s.jsx)(m.Z,{variant:"subtitle2",color:"text.secondary",sx:{mb:1},children:"System Hostnames (read-only)"}),(0,s.jsx)(ed.Z,{direction:"row",flexWrap:"wrap",gap:1,children:r.systemHostnames.map(e=>(0,s.jsx)(A.Z,{icon:(0,s.jsx)(ec.Z,{sx:{fontSize:16}}),label:e.hostname,title:e.description,variant:"outlined",color:"default",size:"small"},e.hostname))})]}),(0,s.jsxs)(o.Z,{sx:{mb:2},children:[(0,s.jsx)(m.Z,{variant:"subtitle2",color:"text.secondary",sx:{mb:1},children:"Custom Domains"}),0===u.length&&!g&&(0,s.jsx)(m.Z,{variant:"body2",color:"text.disabled",sx:{mb:1},children:"No custom domains configured."}),(0,s.jsx)(ed.Z,{spacing:1,children:u.map(e=>(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",py:.5,px:1.5,borderRadius:1,bgcolor:"action.hover"},children:[(0,s.jsx)(m.Z,{variant:"body2",fontFamily:'"Roboto Mono", monospace',children:e}),(0,s.jsx)(d.Z,{size:"small",color:"error",onClick:()=>F(e),title:"Remove domain",children:(0,s.jsx)(z.Z,{fontSize:"small"})})]},e))}),g?(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"flex-start",gap:1,mt:1},children:[(0,s.jsx)(C.Z,{size:"small",placeholder:"e.g. play.example.com",value:f,onChange:e=>{Z(e.target.value),S("")},onKeyDown:e=>{"Enter"===e.key&&W(),"Escape"===e.key&&O()},error:!!w,helperText:w,autoFocus:!0,sx:{flex:1}}),(0,s.jsx)(l.Z,{size:"small",variant:"contained",onClick:W,children:"Add"}),(0,s.jsx)(d.Z,{size:"small",onClick:O,children:(0,s.jsx)(E.Z,{fontSize:"small"})})]}):(0,s.jsx)(l.Z,{size:"small",startIcon:(0,s.jsx)(ex.Z,{}),onClick:()=>b(!0),sx:{mt:1},children:"Add Domain"})]}),k&&(0,s.jsxs)(c.Z,{severity:"warning",sx:{mb:2},children:["Container recreation is required for hostname changes to take effect. Run ",(0,s.jsx)("code",{children:"docker compose up -d"})," or restart the server from the dashboard."]}),(0,s.jsx)(o.Z,{sx:{display:"flex",justifyContent:"flex-end"},children:(0,s.jsx)(l.Z,{variant:"contained",size:"small",startIcon:(0,s.jsx)(eu.Z,{}),onClick:M,disabled:!v||a.isPending,children:a.isPending?"Saving...":"Save Hostnames"})})]})}),(0,s.jsx)(en.Z,{open:T.open,autoHideDuration:6e3,onClose:()=>I({...T,open:!1}),anchorOrigin:{vertical:"bottom",horizontal:"right"},children:(0,s.jsx)(c.Z,{onClose:()=>I({...T,open:!1}),severity:T.severity,sx:{width:"100%"},children:T.message})})]})}var em=r(87716),ey=r(81960),ev=r(62328),ej=r(29793),eg=r(75726),eb=r(40064),ef=r(38393),eZ=r(28058),ew=r(42730);function eC(e){var t;let{field:r,value:i,onChange:a}=e,[l,c]=(0,n.useState)(!1),x=null!==(t=r.columns)&&void 0!==t?t:6;return(0,s.jsx)(S.ZP,{item:!0,xs:12,sm:x,children:(()=>{var e,t,n,x,u,h;switch(r.type){case"boolean":return(0,s.jsxs)(o.Z,{children:[(0,s.jsx)(eb.Z,{control:(0,s.jsx)(ef.Z,{checked:null!=i&&i,onChange:e=>a(r.key,e.target.checked)}),label:r.label}),r.helperText&&(0,s.jsx)(m.Z,{variant:"caption",color:"text.secondary",sx:{ml:4,display:"block"},children:r.helperText})]});case"select":return(0,s.jsxs)(ej.Z,{fullWidth:!0,size:"small",children:[(0,s.jsx)(eg.Z,{children:r.label}),(0,s.jsx)(ev.Z,{value:null!==(x=null!=i?i:null===(t=r.options)||void 0===t?void 0:null===(e=t[0])||void 0===e?void 0:e.value)&&void 0!==x?x:"",label:r.label,onChange:e=>a(r.key,e.target.value),children:null===(n=r.options)||void 0===n?void 0:n.map(e=>(0,s.jsx)(v.Z,{value:e.value,children:e.label},e.value))})]});case"number":return(0,s.jsx)(C.Z,{fullWidth:!0,size:"small",type:"number",label:r.label,value:null!=i?i:"",onChange:e=>{let t=e.target.value;a(r.key,""===t?void 0:parseInt(t,10))},inputProps:{min:null===(u=r.validation)||void 0===u?void 0:u.min,max:null===(h=r.validation)||void 0===h?void 0:h.max},helperText:r.helperText,InputProps:r.unit?{endAdornment:(0,s.jsx)(O.Z,{position:"end",children:(0,s.jsx)(m.Z,{variant:"caption",color:"text.secondary",children:r.unit})})}:void 0});case"password":return(0,s.jsx)(C.Z,{fullWidth:!0,size:"small",type:l?"text":"password",label:r.label,value:null!=i?i:"",onChange:e=>a(r.key,e.target.value),helperText:r.helperText,InputProps:{endAdornment:(0,s.jsx)(O.Z,{position:"end",children:(0,s.jsx)(d.Z,{size:"small",onClick:()=>c(!l),edge:"end",children:l?(0,s.jsx)(ew.Z,{fontSize:"small"}):(0,s.jsx)(eZ.Z,{fontSize:"small"})})})}});default:return(0,s.jsx)(C.Z,{fullWidth:!0,size:"small",label:r.label,value:null!=i?i:"",onChange:e=>a(r.key,e.target.value),helperText:r.helperText})}})()})}function eS(e){let{section:t,values:r,onChange:i}=e,[a,d]=(0,n.useState)(!1),c=t.icon,x=t.advancedFields.length;return(0,s.jsx)(h.Z,{sx:{mb:3,borderRadius:3},children:(0,s.jsxs)(p.Z,{sx:{p:3},children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:1.5,mb:1},children:[(0,s.jsx)(c,{sx:{fontSize:22,color:"primary.main"}}),(0,s.jsx)(m.Z,{variant:"h6",fontWeight:600,children:t.title})]}),(0,s.jsx)(m.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:t.description}),(0,s.jsx)(D.Z,{sx:{mb:3}}),(0,s.jsx)(S.ZP,{container:!0,spacing:2.5,children:t.essentialFields.map(e=>(0,s.jsx)(eC,{field:e,value:r[e.key],onChange:i},e.key))}),x>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(l.Z,{fullWidth:!0,variant:"text",onClick:()=>d(!a),endIcon:(0,s.jsx)(ey.Z,{sx:{transform:a?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.3s"}}),sx:{mt:2.5,justifyContent:"flex-start",color:"text.secondary",textTransform:"none",py:1,"&:hover":{bgcolor:"action.hover"}},children:[a?"Hide":"Show"," Advanced Settings (",x,")"]}),(0,s.jsx)(em.Z,{in:a,timeout:300,children:(0,s.jsx)(o.Z,{sx:{pt:2,borderTop:"1px dashed",borderColor:"divider"},children:(0,s.jsx)(S.ZP,{container:!0,spacing:2.5,children:t.advancedFields.map(e=>(0,s.jsx)(eC,{field:e,value:r[e.key],onChange:i},e.key))})})})]})]})})}var ek=r(12550);function eR(e){let{hasChanges:t,changedCount:r,hasRestartChanges:n,restartFields:i=[],isSaving:a,onSave:d,onDiscard:c}=e;return(0,s.jsx)(ek.Z,{direction:"up",in:t,mountOnEnter:!0,unmountOnExit:!0,children:(0,s.jsxs)(o.Z,{sx:{position:"sticky",bottom:0,zIndex:1100,bgcolor:"background.paper",borderTop:2,borderColor:"primary.main",px:3,py:2,mx:-3,mb:-3,boxShadow:"0 -4px 20px rgba(0,0,0,0.4)",display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:1},children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[n&&(0,s.jsx)(eo.Z,{sx:{color:"warning.main",fontSize:20}}),(0,s.jsxs)(m.Z,{variant:"body2",fontWeight:600,children:[r," unsaved change",1!==r?"s":""]}),n&&(0,s.jsxs)(m.Z,{variant:"caption",color:"warning.main",children:["(",i.length>0?i.join(", "):"some fields"," require restart)"]})]}),(0,s.jsxs)(o.Z,{sx:{display:"flex",gap:1},children:[(0,s.jsx)(l.Z,{variant:"text",color:"inherit",onClick:c,disabled:a,children:"Discard"}),(0,s.jsx)(l.Z,{variant:"contained",startIcon:a?(0,s.jsx)(x.Z,{size:16,color:"inherit"}):(0,s.jsx)(eu.Z,{}),onClick:d,disabled:a,children:a?"Saving...":"Save Changes (".concat(r,")")})]})]})})}function eT(e){let{open:t,changedFields:r,onSaveOnly:n,onSaveAndRestart:i,onCancel:a}=e;return(0,s.jsxs)(b.Z,{open:t,onClose:a,maxWidth:"sm",fullWidth:!0,children:[(0,s.jsx)(f.Z,{children:(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,s.jsx)(eo.Z,{color:"warning"}),(0,s.jsx)(m.Z,{variant:"h6",fontWeight:600,children:"Restart Required"})]})}),(0,s.jsxs)(Z.Z,{children:[(0,s.jsx)(m.Z,{variant:"body1",gutterBottom:!0,children:"The following changes require a server restart to take effect:"}),(0,s.jsx)(Q.Z,{dense:!0,children:r.map(e=>(0,s.jsx)(_.ZP,{sx:{py:0},children:(0,s.jsx)(g.Z,{primary:e,primaryTypographyProps:{variant:"body2",fontFamily:'"Roboto Mono", monospace'}})},e))})]}),(0,s.jsxs)(w.Z,{children:[(0,s.jsx)(l.Z,{onClick:a,color:"inherit",children:"Cancel"}),(0,s.jsx)(l.Z,{onClick:n,variant:"outlined",children:"Save Only"}),(0,s.jsx)(l.Z,{onClick:i,variant:"contained",color:"warning",children:"Save & Restart"})]})]})}var eI=r(1217),ez=r(84974),eP=r(23482),eW=r(61244),eF=r(87739);let eM=[{id:"gameplay",icon:eI.Z,title:"Gameplay",description:"Core game rules and player experience settings.",essentialFields:[{key:"difficulty",label:"Difficulty",type:"select",options:[{value:"peaceful",label:"Peaceful"},{value:"easy",label:"Easy"},{value:"normal",label:"Normal"},{value:"hard",label:"Hard"}]},{key:"gameMode",label:"Game Mode",type:"select",options:[{value:"survival",label:"Survival"},{value:"creative",label:"Creative"},{value:"adventure",label:"Adventure"},{value:"spectator",label:"Spectator"}]},{key:"maxPlayers",label:"Max Players",type:"number",validation:{min:1,max:1e3}},{key:"pvp",label:"Enable PvP",type:"boolean",helperText:"Allow players to damage each other"}],advancedFields:[{key:"forceGamemode",label:"Force Game Mode",type:"boolean",helperText:"Force game mode when players join"},{key:"hardcore",label:"Hardcore",type:"boolean",helperText:"One life only - world deleted on death"},{key:"allowFlight",label:"Allow Flight",type:"boolean",helperText:"Allow flight in survival mode"},{key:"allowNether",label:"Allow Nether",type:"boolean",helperText:"Enable Nether portal access"},{key:"enableCommandBlock",label:"Command Blocks",type:"boolean",helperText:"Enable command block functionality"},{key:"spawnProtection",label:"Spawn Protection",type:"number",helperText:"Radius around spawn (0 = disabled)",unit:"blocks",validation:{min:0,max:256}},{key:"spawnAnimals",label:"Spawn Animals",type:"boolean",helperText:"Spawn passive mobs (cows, pigs, etc.)"},{key:"spawnMonsters",label:"Spawn Monsters",type:"boolean",helperText:"Spawn hostile mobs (zombies, creepers, etc.)"},{key:"spawnNpcs",label:"Spawn NPCs",type:"boolean",helperText:"Spawn villagers and wandering traders"}]},{id:"world",icon:ez.Z,title:"World",description:"World generation and server identity settings.",essentialFields:[{key:"motd",label:"MOTD (Message of the Day)",type:"string",helperText:"Displayed in the server list",columns:12},{key:"level",label:"World Name",type:"string",helperText:"Save folder name",restartRequired:!0},{key:"levelType",label:"Level Type",type:"select",restartRequired:!0,options:[{value:"default",label:"Default"},{value:"flat",label:"Flat"},{value:"largeBiomes",label:"Large Biomes"},{value:"amplified",label:"Amplified"},{value:"buffet",label:"Buffet"}]},{key:"seed",label:"World Seed",type:"string",helperText:"Only affects new world generation",restartRequired:!0}],advancedFields:[{key:"generateStructures",label:"Generate Structures",type:"boolean",helperText:"Generate villages, temples, etc."},{key:"maxWorldSize",label:"Max World Size",type:"number",unit:"blocks",helperText:"Maximum world radius",validation:{min:1,max:29999984}},{key:"icon",label:"Server Icon URL",type:"string",helperText:"64x64 PNG image URL",columns:12}]},{id:"security",icon:eP.Z,title:"Security",description:"Authentication and access control settings.",essentialFields:[{key:"onlineMode",label:"Online Mode (Mojang Auth)",type:"boolean",helperText:"Disable to allow cracked clients (not recommended)",restartRequired:!0},{key:"enableWhitelist",label:"Enable Whitelist",type:"boolean",helperText:"Only whitelisted players can join",restartRequired:!0}],advancedFields:[{key:"enforceWhitelist",label:"Enforce Whitelist",type:"boolean",helperText:"Kick non-whitelisted players already online",restartRequired:!0},{key:"enforceSecureProfile",label:"Enforce Secure Profile",type:"boolean",helperText:"Require signed chat messages from players",restartRequired:!0}]},{id:"performance",icon:q.Z,title:"Performance & JVM",description:"Memory, view distance, and JVM optimization settings.",essentialFields:[{key:"memory",label:"Memory",type:"string",helperText:"e.g., 2G, 4G, 8G",restartRequired:!0},{key:"useAikarFlags",label:"Aikar's Flags",type:"boolean",helperText:"Optimized GC flags for Paper/Spigot",restartRequired:!0},{key:"viewDistance",label:"View Distance",type:"number",unit:"chunks",validation:{min:2,max:32}}],advancedFields:[{key:"simulationDistance",label:"Simulation Distance",type:"number",unit:"chunks",validation:{min:3,max:32}},{key:"maxTickTime",label:"Max Tick Time",type:"number",unit:"ms",helperText:"-1 to disable watchdog",validation:{min:-1}},{key:"initMemory",label:"Initial Heap",type:"string",helperText:"e.g., 1G (overrides Memory)",restartRequired:!0},{key:"maxMemory",label:"Max Heap",type:"string",helperText:"e.g., 8G (overrides Memory)",restartRequired:!0},{key:"jvmXxOpts",label:"JVM -XX Options",type:"string",helperText:"Additional -XX JVM flags",restartRequired:!0,columns:12}]},{id:"autopause",icon:eW.Z,title:"Auto-pause / Auto-stop",description:"Automatically pause or stop when no players are connected.",essentialFields:[{key:"enableAutopause",label:"Enable Auto-pause",type:"boolean",helperText:"Pause process when no players connected",restartRequired:!0},{key:"autopauseTimeoutEst",label:"Pause Timeout",type:"number",unit:"seconds",helperText:"Wait time after last player leaves",validation:{min:0}}],advancedFields:[{key:"autopauseTimeoutInit",label:"Init Timeout",type:"number",unit:"seconds",helperText:"Timeout after start without connections",validation:{min:0}},{key:"autopausePeriod",label:"Check Period",type:"number",unit:"seconds",helperText:"Status check interval",validation:{min:1}},{key:"enableAutostop",label:"Enable Auto-stop",type:"boolean",helperText:"Stop container when no players connected",restartRequired:!0},{key:"autostopTimeoutEst",label:"Stop Timeout",type:"number",unit:"seconds",helperText:"Wait time before stopping container",validation:{min:0}}]},{id:"system",icon:eF.Z,title:"System",description:"Timezone, resource pack, RCON, and container settings.",essentialFields:[{key:"tz",label:"Timezone",type:"string",helperText:"e.g., Asia/Seoul, UTC",restartRequired:!0},{key:"resourcePack",label:"Resource Pack URL",type:"string",helperText:"Direct download URL for resource pack",columns:12},{key:"enableRcon",label:"Enable RCON",type:"boolean",helperText:"Remote server console access",restartRequired:!0}],advancedFields:[{key:"resourcePackSha1",label:"Resource Pack SHA1",type:"string",helperText:"40-character hex checksum",columns:12},{key:"resourcePackEnforce",label:"Enforce Resource Pack",type:"boolean",helperText:"Kick players who decline"},{key:"resourcePackPrompt",label:"Resource Pack Prompt",type:"string",helperText:"Custom message for resource pack dialog",columns:12},{key:"rconPassword",label:"RCON Password",type:"password",restartRequired:!0},{key:"rconPort",label:"RCON Port",type:"number",validation:{min:1024,max:65535},restartRequired:!0},{key:"stopDuration",label:"Stop Timeout",type:"number",unit:"seconds",helperText:"Graceful shutdown wait time",restartRequired:!0,validation:{min:0}},{key:"uid",label:"User ID (UID)",type:"number",helperText:"Container process UID",restartRequired:!0,validation:{min:0}},{key:"gid",label:"Group ID (GID)",type:"number",helperText:"Container process GID",restartRequired:!0,validation:{min:0}}]}],eA=["memory","initMemory","maxMemory","useAikarFlags","jvmXxOpts","onlineMode","enableWhitelist","enforceWhitelist","enforceSecureProfile","level","seed","levelType","enableAutopause","enableAutostop","enableRcon","rconPassword","rconPort","tz","uid","gid","stopDuration"];function eO(e){let{serverName:t,isRunning:r}=e,{data:i,isLoading:a}=(0,el.iC)(t),d=(0,el.MH)(),u=(0,el.gx)(),y=(0,el._I)(),[v,j]=(0,n.useState)({}),[g,S]=(0,n.useState)({}),[k,R]=(0,n.useState)(!1),[T,I]=(0,n.useState)(""),[z,P]=(0,n.useState)(!1),[W,F]=(0,n.useState)({open:!1,message:"",severity:"info"});(0,n.useEffect)(()=>{(null==i?void 0:i.config)&&(j(i.config),S(i.config))},[i]);let M=(0,n.useMemo)(()=>{let e=[];for(let t of Object.keys(v))v[t]!==g[t]&&e.push(t);for(let t of Object.keys(g))v[t]===g[t]||e.includes(t)||e.push(t);return e},[v,g]),A=M.length>0,O=M.filter(e=>eA.includes(e)),E=O.length>0,q=(0,n.useCallback)((e,t)=>{j(r=>({...r,[e]:t}))},[]),N=(0,n.useCallback)(()=>{j(g)},[g]),B=(0,n.useCallback)(async e=>{try{let s=await d.mutateAsync({serverName:t,config:v});if(S(s.config),j(s.config),e&&r)try{await y.mutateAsync(t),F({open:!0,message:"Settings saved. Server is restarting...",severity:"warning"})}catch(e){F({open:!0,message:"Settings saved, but server restart failed. Please restart manually.",severity:"error"})}else F({open:!0,message:s.restartRequired?"Settings saved. Restart required for some changes to take effect.":"Settings saved successfully.",severity:s.restartRequired?"warning":"success"})}catch(e){F({open:!0,message:e instanceof Error?e.message:"Failed to save settings",severity:"error"})}finally{P(!1)}},[v,t,r,d,y]),U=(0,n.useCallback)(()=>{E&&r?P(!0):B(!1)},[E,r,B]),L=async()=>{if("RESET"!==T){F({open:!0,message:"Please type RESET to confirm",severity:"warning"});return}try{await u.mutateAsync(t),F({open:!0,message:"World reset successfully",severity:"success"}),R(!1),I("")}catch(e){F({open:!0,message:e instanceof Error?e.message:"Failed to reset world",severity:"error"})}};return a?(0,s.jsx)(o.Z,{sx:{display:"flex",justifyContent:"center",py:8},children:(0,s.jsx)(x.Z,{})}):(0,s.jsxs)(o.Z,{children:[(0,s.jsx)(ep,{serverName:t}),eM.map(e=>(0,s.jsx)(eS,{section:e,values:v,onChange:q},e.id)),(0,s.jsx)(h.Z,{sx:{borderRadius:3,borderColor:"error.main",borderWidth:1,borderStyle:"solid"},children:(0,s.jsxs)(p.Z,{children:[(0,s.jsx)(m.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,color:"error",children:"Danger Zone"}),(0,s.jsx)(D.Z,{sx:{mb:3}}),(0,s.jsxs)(o.Z,{sx:{mb:3},children:[(0,s.jsx)(m.Z,{variant:"subtitle1",fontWeight:600,gutterBottom:!0,children:"Reset World"}),(0,s.jsx)(m.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"This will permanently delete the current world and generate a new one. This action cannot be undone."}),(0,s.jsx)(l.Z,{variant:"outlined",color:"error",startIcon:(0,s.jsx)(eo.Z,{}),onClick:()=>R(!0),disabled:r,children:"Reset World"}),r&&(0,s.jsx)(m.Z,{variant:"caption",color:"text.secondary",sx:{ml:2},children:"Stop the server first"})]})]})}),(0,s.jsx)(eR,{hasChanges:A,changedCount:M.length,hasRestartChanges:E,restartFields:O,isSaving:d.isPending,onSave:U,onDiscard:N}),(0,s.jsx)(eT,{open:z,changedFields:O,onSaveOnly:()=>B(!1),onSaveAndRestart:()=>B(!0),onCancel:()=>P(!1)}),(0,s.jsxs)(b.Z,{open:k,onClose:()=>R(!1),maxWidth:"sm",fullWidth:!0,children:[(0,s.jsx)(f.Z,{children:(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,s.jsx)(ei.Z,{color:"error"}),(0,s.jsx)(m.Z,{variant:"h6",fontWeight:600,children:"Reset World"})]})}),(0,s.jsxs)(Z.Z,{children:[(0,s.jsxs)(m.Z,{variant:"body1",gutterBottom:!0,children:["This will permanently delete the world for ",(0,s.jsx)("strong",{children:t})," and generate a new one."]}),(0,s.jsx)(m.Z,{variant:"body2",color:"text.secondary",gutterBottom:!0,children:"This action cannot be undone. All player progress and builds will be lost."}),(0,s.jsx)(C.Z,{fullWidth:!0,label:"Type RESET to confirm",value:T,onChange:e=>I(e.target.value),sx:{mt:3},autoFocus:!0})]}),(0,s.jsxs)(w.Z,{children:[(0,s.jsx)(l.Z,{onClick:()=>R(!1),children:"Cancel"}),(0,s.jsx)(l.Z,{variant:"contained",color:"error",onClick:L,disabled:"RESET"!==T||u.isPending,startIcon:u.isPending?(0,s.jsx)(x.Z,{size:16}):(0,s.jsx)(ea.Z,{}),children:u.isPending?"Resetting...":"Reset World"})]})]}),(0,s.jsx)(en.Z,{open:W.open,autoHideDuration:6e3,onClose:()=>F({...W,open:!1}),anchorOrigin:{vertical:"bottom",horizontal:"right"},children:(0,s.jsx)(c.Z,{onClose:()=>F({...W,open:!1}),severity:W.severity,sx:{width:"100%"},children:W.message})})]})}var eD=r(86702),eE=r(47606),eq=r(407),eN=r(56056),eB=r(11597),eU=r(59602);let eL={admin:{label:"Owner",color:"primary",variant:"filled"},manage:{label:"Operator",color:"info",variant:"outlined"},view:{label:"Viewer",color:"default",variant:"outlined"}};function eH(e){let{permission:t,size:r="medium"}=e,n=eL[t];return(0,s.jsx)(A.Z,{label:n.label,color:n.color,variant:n.variant,size:r})}var eK=r(99046),eG=r(68038),eV=r(34080),eJ=r(39181),eQ=r(5632),e_=r(58919),eX=r(20367),e$=r(42936);function eY(e){var t,r;let{open:i,onClose:a,serverId:d}=e,[u,h]=(0,n.useState)(""),[p,y]=(0,n.useState)(null),[v,j]=(0,n.useState)("view"),{data:g,isLoading:S}=(r={enabled:i},(0,eQ.a)({queryKey:["users","search",u],queryFn:()=>(0,e$.SC)("/api/users?q=".concat(encodeURIComponent(u))),enabled:(null==r?void 0:r.enabled)!==!1&&u.length>=2,staleTime:3e4})),k=function(){let e=(0,e_.NL)();return(0,eX.D)({mutationFn:e=>(0,e$.SC)("/api/user-servers",{method:"POST",body:JSON.stringify(e)}),onSuccess:(t,r)=>{e.invalidateQueries({queryKey:["user-servers",r.serverId]}),e.invalidateQueries({queryKey:["user-servers"]})}})}(),R=(0,n.useMemo)(()=>{var e;return null!==(e=null==g?void 0:g.users)&&void 0!==e?e:[]},[g]),T=()=>{h(""),y(null),j("view"),k.reset(),a()};return(0,s.jsxs)(b.Z,{open:i,onClose:T,maxWidth:"sm",fullWidth:!0,PaperProps:{sx:{borderRadius:3}},children:[(0,s.jsx)(f.Z,{sx:{fontWeight:600},children:"Add User Access"}),(0,s.jsxs)(Z.Z,{sx:{display:"flex",flexDirection:"column",gap:3,pt:"8px !important"},children:[k.isError&&(0,s.jsx)(c.Z,{severity:"error",sx:{mb:1},children:(null===(t=k.error)||void 0===t?void 0:t.message)||"Failed to grant access"}),(0,s.jsx)(eK.Z,{options:R,getOptionLabel:e=>e.name||e.email,isOptionEqualToValue:(e,t)=>e.id===t.id,value:p,onChange:(e,t)=>y(t),inputValue:u,onInputChange:(e,t)=>h(t),loading:S,filterOptions:e=>e,noOptionsText:u.length<2?"Type at least 2 characters":"No users found",renderInput:e=>(0,s.jsx)(C.Z,{...e,label:"Search User",placeholder:"Search by name or email...",InputProps:{...e.InputProps,endAdornment:(0,s.jsxs)(s.Fragment,{children:[S&&(0,s.jsx)(x.Z,{size:20}),e.InputProps.endAdornment]})}}),renderOption:(e,t)=>{var r,n,i;let{key:a,...l}=e;return(0,s.jsxs)(o.Z,{component:"li",...l,sx:{display:"flex",gap:1.5,py:1},children:[(0,s.jsx)(eD.Z,{src:null!==(i=t.image)&&void 0!==i?i:void 0,sx:{width:32,height:32,bgcolor:"primary.main",fontSize:14},children:((null===(r=t.name)||void 0===r?void 0:r[0])||(null===(n=t.email)||void 0===n?void 0:n[0])||"?").toUpperCase()}),(0,s.jsxs)(o.Z,{children:[(0,s.jsx)(m.Z,{variant:"body2",fontWeight:500,children:t.name||"Unknown"}),(0,s.jsx)(m.Z,{variant:"caption",color:"text.secondary",children:t.email})]})]},a)}}),(0,s.jsxs)(ej.Z,{children:[(0,s.jsx)(eG.Z,{sx:{fontWeight:500,mb:1},children:"Permission Level"}),(0,s.jsxs)(eV.Z,{value:v,onChange:e=>j(e.target.value),children:[(0,s.jsx)(eb.Z,{value:"view",control:(0,s.jsx)(eJ.Z,{size:"small"}),label:(0,s.jsxs)(o.Z,{children:[(0,s.jsx)(m.Z,{variant:"body2",fontWeight:500,children:"Viewer"}),(0,s.jsx)(m.Z,{variant:"caption",color:"text.secondary",children:"Can view server status and logs"})]})}),(0,s.jsx)(eb.Z,{value:"manage",control:(0,s.jsx)(eJ.Z,{size:"small"}),label:(0,s.jsxs)(o.Z,{children:[(0,s.jsx)(m.Z,{variant:"body2",fontWeight:500,children:"Operator"}),(0,s.jsx)(m.Z,{variant:"caption",color:"text.secondary",children:"Can start, stop, and configure the server"})]})}),(0,s.jsx)(eb.Z,{value:"admin",control:(0,s.jsx)(eJ.Z,{size:"small"}),label:(0,s.jsxs)(o.Z,{children:[(0,s.jsx)(m.Z,{variant:"body2",fontWeight:500,children:"Owner"}),(0,s.jsx)(m.Z,{variant:"caption",color:"text.secondary",children:"Full control including managing other users"})]})})]})]})]}),(0,s.jsxs)(w.Z,{sx:{px:3,pb:2},children:[(0,s.jsx)(l.Z,{onClick:T,color:"inherit",children:"Cancel"}),(0,s.jsx)(l.Z,{onClick:()=>{p&&k.mutate({userId:p.id,serverId:d,permission:v},{onSuccess:T})},variant:"contained",disabled:!p||k.isPending,sx:{borderRadius:2},children:k.isPending?"Adding...":"Add User"})]})]})}function e0(e){var t,r;let{serverId:i}=e,{data:a,isLoading:x,error:b}=(0,eQ.a)({queryKey:["user-servers",i],queryFn:()=>(0,e$.SC)("/api/user-servers?serverId=".concat(encodeURIComponent(i))),enabled:!!i}),f=function(){let e=(0,e_.NL)();return(0,eX.D)({mutationFn:e=>{let{id:t,permission:r}=e;return(0,e$.SC)("/api/user-servers/".concat(encodeURIComponent(t)),{method:"PATCH",body:JSON.stringify({permission:r})})},onSuccess:()=>{e.invalidateQueries({queryKey:["user-servers"]})}})}(),Z=function(){let e=(0,e_.NL)();return(0,eX.D)({mutationFn:e=>(0,e$.SC)("/api/user-servers/".concat(encodeURIComponent(e)),{method:"DELETE"}),onSuccess:()=>{e.invalidateQueries({queryKey:["user-servers"]})}})}(),[w,C]=(0,n.useState)(!1),[S,k]=(0,n.useState)(null),[R,T]=(0,n.useState)(null),z=(e,t)=>{k(e.currentTarget),T(t)},P=()=>{k(null),T(null)},W=e=>{if(!R||R.permission===e){P();return}f.mutate({id:R.id,permission:e},{onSettled:P})},F=null!==(t=null==a?void 0:a.users.filter(e=>"admin"===e.permission).length)&&void 0!==t?t:0,M=(null==R?void 0:R.permission)==="admin"&&F<=1;if(x)return(0,s.jsx)(h.Z,{sx:{borderRadius:3},children:(0,s.jsxs)(p.Z,{children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[(0,s.jsx)(u.Z,{variant:"text",width:"30%",height:32}),(0,s.jsx)(u.Z,{variant:"rounded",width:120,height:36,sx:{borderRadius:2}})]}),(0,s.jsx)(D.Z,{sx:{mb:2}}),[0,1,2].map(e=>(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:2,py:1.5,borderBottom:"1px solid",borderColor:"divider"},children:[(0,s.jsx)(u.Z,{variant:"circular",width:40,height:40}),(0,s.jsxs)(o.Z,{sx:{flex:1},children:[(0,s.jsx)(u.Z,{variant:"text",width:"40%"}),(0,s.jsx)(u.Z,{variant:"text",width:"60%"})]}),(0,s.jsx)(u.Z,{variant:"rounded",width:80,height:28,sx:{borderRadius:10}}),(0,s.jsx)(u.Z,{variant:"circular",width:32,height:32})]},e))]})});if(b)return(0,s.jsxs)(c.Z,{severity:"error",children:["Failed to load access list: ",b.message]});let A=null!==(r=null==a?void 0:a.users)&&void 0!==r?r:[];return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(h.Z,{sx:{borderRadius:3},children:(0,s.jsxs)(p.Z,{children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[(0,s.jsx)(m.Z,{variant:"h6",fontWeight:600,children:"Server Access"}),(0,s.jsx)(l.Z,{variant:"contained",size:"small",startIcon:(0,s.jsx)(eE.Z,{}),onClick:()=>C(!0),sx:{borderRadius:2},children:"Add User"})]}),(0,s.jsx)(D.Z,{sx:{mb:1}}),0===A.length?(0,s.jsx)(o.Z,{sx:{py:4,textAlign:"center"},children:(0,s.jsx)(m.Z,{variant:"body2",color:"text.secondary",children:"No users have been granted access to this server yet."})}):A.map(e=>{var t,r,n,i,a,l,c,x;return(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:2,py:1.5,"&:not(:last-child)":{borderBottom:"1px solid",borderColor:"divider"}},children:[(0,s.jsx)(eD.Z,{src:null!==(x=null===(t=e.user)||void 0===t?void 0:t.image)&&void 0!==x?x:void 0,sx:{width:40,height:40,bgcolor:"primary.main",fontSize:16},children:((null===(n=e.user)||void 0===n?void 0:null===(r=n.name)||void 0===r?void 0:r[0])||(null===(a=e.user)||void 0===a?void 0:null===(i=a.email)||void 0===i?void 0:i[0])||"?").toUpperCase()}),(0,s.jsxs)(o.Z,{sx:{flex:1,minWidth:0},children:[(0,s.jsx)(m.Z,{variant:"body2",fontWeight:500,noWrap:!0,children:(null===(l=e.user)||void 0===l?void 0:l.name)||"Unknown User"}),(0,s.jsx)(m.Z,{variant:"caption",color:"text.secondary",noWrap:!0,children:(null===(c=e.user)||void 0===c?void 0:c.email)||e.userId})]}),(0,s.jsx)(eH,{permission:e.permission,size:"small"}),(0,s.jsx)(d.Z,{size:"small",onClick:t=>z(t,e),sx:{color:"text.secondary"},children:(0,s.jsx)(I.Z,{fontSize:"small"})})]},e.id)}),(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:1,mt:2,pt:1},children:[(0,s.jsx)(eU.Z,{sx:{fontSize:16,color:"text.disabled"}}),(0,s.jsx)(m.Z,{variant:"caption",color:"text.disabled",children:"Only platform admins and server owners can manage access."})]})]})}),(0,s.jsxs)(y.Z,{anchorEl:S,open:!!S,onClose:P,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},disableScrollLock:!0,children:[(0,s.jsxs)(v.Z,{onClick:()=>W("admin"),disabled:(null==R?void 0:R.permission)==="admin",children:[(0,s.jsx)(j.Z,{children:(0,s.jsx)(eq.Z,{fontSize:"small"})}),(0,s.jsx)(g.Z,{children:"Change to Owner"})]}),(0,s.jsxs)(v.Z,{onClick:()=>W("manage"),disabled:(null==R?void 0:R.permission)==="manage"||M,children:[(0,s.jsx)(j.Z,{children:(0,s.jsx)(eN.Z,{fontSize:"small"})}),(0,s.jsx)(g.Z,{children:"Change to Operator"})]}),(0,s.jsxs)(v.Z,{onClick:()=>W("view"),disabled:(null==R?void 0:R.permission)==="view"||M,children:[(0,s.jsx)(j.Z,{children:(0,s.jsx)(eZ.Z,{fontSize:"small"})}),(0,s.jsx)(g.Z,{children:"Change to Viewer"})]}),(0,s.jsx)(D.Z,{}),(0,s.jsxs)(v.Z,{onClick:()=>{R&&Z.mutate(R.id,{onSettled:P})},disabled:M,sx:{color:"error.main"},children:[(0,s.jsx)(j.Z,{children:(0,s.jsx)(eB.Z,{fontSize:"small",sx:{color:"error.main"}})}),(0,s.jsx)(g.Z,{children:"Remove Access"})]})]}),(0,s.jsx)(eY,{open:w,onClose:()=>C(!1),serverId:i})]})}var e1=r(37228),e2=r(97511);function e3(e){let{label:t,value:r,copyText:n}=e;return(0,s.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",py:1},children:[(0,s.jsx)(m.Z,{variant:"body2",color:"text.secondary",children:t}),(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,s.jsx)(m.Z,{variant:"body2",sx:{fontFamily:n?'"Roboto Mono", monospace':"inherit",color:n?"text.primary":"text.secondary"},children:r}),n&&(0,s.jsx)(e2.q,{text:n,size:16})]})]})}function e6(e){let{serverName:t,hostname:r}=e,{data:n,isLoading:i}=(0,e1.UW)();if(i)return(0,s.jsx)(h.Z,{sx:{borderRadius:3},children:(0,s.jsxs)(p.Z,{children:[(0,s.jsx)(u.Z,{variant:"text",width:"40%",height:28,sx:{mb:1}}),(0,s.jsx)(u.Z,{variant:"rectangular",height:1,sx:{mb:2}}),(0,s.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[(0,s.jsx)(u.Z,{variant:"text",width:"30%"}),(0,s.jsx)(u.Z,{variant:"text",width:"40%"})]}),(0,s.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[(0,s.jsx)(u.Z,{variant:"text",width:"30%"}),(0,s.jsx)(u.Z,{variant:"text",width:"40%"})]})]})});let a=(null==n?void 0:n.enabled)&&n.servers.length>0,l=null==n?void 0:n.servers.find(e=>e.serverName===t),d=(null==l?void 0:l.playitDomain)||"Not configured",c=!!(null==l?void 0:l.playitDomain);return(0,s.jsx)(h.Z,{sx:{borderRadius:3},children:(0,s.jsxs)(p.Z,{children:[(0,s.jsx)(m.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Connection"}),(0,s.jsx)(D.Z,{sx:{mb:2}}),(0,s.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",py:1},children:[(0,s.jsx)(m.Z,{variant:"body2",color:"text.secondary",children:"LAN Address"}),r?(0,s.jsx)(e2.h,{hostname:r,portSuffix:25565,color:"text.primary",showCopyButton:!0}):(0,s.jsx)(m.Z,{variant:"body2",color:"text.secondary",children:"Not configured"})]}),a&&(0,s.jsx)(e3,{label:"External Address",value:d,copyText:c?d:void 0})]})})}var e5=r(42431),e4=r(76777),e8=r(15761);function e7(e){let{serverName:t}=e,{data:r,isLoading:i,error:a}=(0,eQ.a)({queryKey:["servers",t,"mods"],queryFn:()=>(0,e$.SC)("/api/servers/".concat(encodeURIComponent(t),"/mods")),enabled:!!t}),u=function(){let e=(0,e_.NL)();return(0,eX.D)({mutationFn:e=>{let{serverName:t,slugs:r,source:s}=e;return(0,e$.SC)("/api/servers/".concat(encodeURIComponent(t),"/mods"),{method:"POST",body:JSON.stringify({slugs:r,source:s})})},onSuccess:(t,r)=>{let{serverName:s}=r;e.invalidateQueries({queryKey:["servers",s,"mods"]})}})}(),y=function(){let e=(0,e_.NL)();return(0,eX.D)({mutationFn:e=>{let{serverName:t,slug:r}=e;return(0,e$.SC)("/api/servers/".concat(encodeURIComponent(t),"/mods/").concat(encodeURIComponent(r)),{method:"DELETE"})},onSuccess:(t,r)=>{let{serverName:s}=r;e.invalidateQueries({queryKey:["servers",s,"mods"]})}})}(),[v,j]=(0,n.useState)(!1),[g,w]=(0,n.useState)(""),[S,k]=(0,n.useState)(""),[R,T]=(0,n.useState)(!1),[I,P]=(0,n.useState)({open:!1,message:"",severity:"info"}),{data:W,isLoading:F}=function(e,t){let r=new URLSearchParams;return e&&r.set("q",e),(null==t?void 0:t.limit)!=null&&r.set("limit",String(t.limit)),(null==t?void 0:t.offset)!=null&&r.set("offset",String(t.offset)),(0,eQ.a)({queryKey:["mods","search",e,null==t?void 0:t.limit,null==t?void 0:t.offset],queryFn:()=>(0,e$.SC)("/api/mods/search?".concat(r)),enabled:(null==t?void 0:t.enabled)!==!1&&!!e.trim()})}(S,{limit:10,enabled:v&&S.length>0});(0,n.useEffect)(()=>{let e=setTimeout(()=>{k(g)},300);return()=>clearTimeout(e)},[g]);let M=(0,n.useCallback)(async e=>{try{await y.mutateAsync({serverName:t,slug:e}),T(!0),P({open:!0,message:"Removed ".concat(e),severity:"success"})}catch(e){P({open:!0,message:e instanceof Error?e.message:"Failed to remove mod",severity:"error"})}},[y,t]),q=(0,n.useCallback)(async e=>{try{await u.mutateAsync({serverName:t,slugs:[e]}),T(!0),P({open:!0,message:"Added ".concat(e),severity:"success"})}catch(e){P({open:!0,message:e instanceof Error?e.message:"Failed to add mod",severity:"error"})}},[u,t]),N=new Set;if(null==r?void 0:r.mods)for(let e of Object.values(r.mods))for(let t of e)N.add(t);if(i)return(0,s.jsx)(o.Z,{sx:{display:"flex",justifyContent:"center",py:6},children:(0,s.jsx)(x.Z,{})});if(a)return(0,s.jsxs)(c.Z,{severity:"error",sx:{mt:2},children:["Failed to load mods: ",a.message]});let B=N.size>0;return(0,s.jsxs)(o.Z,{children:[R&&(0,s.jsx)(c.Z,{severity:"info",sx:{mb:2},children:"Restart the server to apply mod changes."}),(0,s.jsx)(h.Z,{sx:{borderRadius:3},children:(0,s.jsxs)(p.Z,{children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[(0,s.jsx)(m.Z,{variant:"h6",fontWeight:600,children:"Installed Mods"}),(0,s.jsx)(l.Z,{variant:"contained",size:"small",startIcon:(0,s.jsx)(ex.Z,{}),onClick:()=>{w(""),k(""),j(!0)},children:"Add Mods"})]}),(0,s.jsx)(D.Z,{sx:{mb:2}}),B?Object.entries(r.mods).map(e=>{let[t,r]=e;return(0,s.jsxs)(o.Z,{sx:{mb:2},children:[(0,s.jsx)(m.Z,{variant:"subtitle2",color:"text.secondary",sx:{mb:1,textTransform:"capitalize"},children:t}),(0,s.jsx)(o.Z,{sx:{display:"flex",flexWrap:"wrap",gap:1},children:r.map(e=>(0,s.jsx)(A.Z,{label:e,icon:(0,s.jsx)(e4.Z,{}),onDelete:()=>M(e),deleteIcon:(0,s.jsx)(z.Z,{}),variant:"outlined"},e))})]},t)}):(0,s.jsxs)(o.Z,{sx:{textAlign:"center",py:4},children:[(0,s.jsx)(e4.Z,{sx:{fontSize:48,color:"text.disabled",mb:1}}),(0,s.jsx)(m.Z,{variant:"body1",color:"text.secondary",children:"No mods installed"}),(0,s.jsx)(m.Z,{variant:"body2",color:"text.disabled",sx:{mt:.5},children:'Click "Add Mods" to search and install mods from Modrinth'})]})]})}),(0,s.jsxs)(b.Z,{open:v,onClose:()=>j(!1),maxWidth:"sm",fullWidth:!0,PaperProps:{sx:{minHeight:400}},children:[(0,s.jsxs)(f.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:["Search Mods",(0,s.jsx)(d.Z,{onClick:()=>j(!1),size:"small",children:(0,s.jsx)(E.Z,{})})]}),(0,s.jsxs)(Z.Z,{children:[(0,s.jsx)(C.Z,{fullWidth:!0,autoFocus:!0,placeholder:"Search Modrinth...",value:g,onChange:e=>w(e.target.value),InputProps:{startAdornment:(0,s.jsx)(O.Z,{position:"start",children:(0,s.jsx)(e5.Z,{})})},sx:{mb:2}}),F&&(0,s.jsx)(o.Z,{sx:{display:"flex",justifyContent:"center",py:4},children:(0,s.jsx)(x.Z,{size:28})}),!F&&W&&0===W.hits.length&&S&&(0,s.jsxs)(m.Z,{variant:"body2",color:"text.secondary",sx:{textAlign:"center",py:4},children:['No mods found for "',S,'"']}),!F&&W&&W.hits.length>0&&(0,s.jsx)(o.Z,{sx:{display:"flex",flexDirection:"column",gap:1.5},children:W.hits.map(e=>{var t;let r=N.has(e.slug);return(0,s.jsx)(h.Z,{variant:"outlined",sx:{borderRadius:2},children:(0,s.jsx)(p.Z,{sx:{py:1.5,px:2,"&:last-child":{pb:1.5}},children:(0,s.jsxs)(o.Z,{sx:{display:"flex",gap:1.5,alignItems:"flex-start"},children:[(0,s.jsx)(eD.Z,{src:e.iconUrl||void 0,variant:"rounded",sx:{width:40,height:40,bgcolor:"action.hover"},children:(0,s.jsx)(e4.Z,{})}),(0,s.jsxs)(o.Z,{sx:{flex:1,minWidth:0},children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,s.jsx)(m.Z,{variant:"subtitle2",noWrap:!0,children:e.title}),(0,s.jsx)(l.Z,{size:"small",variant:r?"outlined":"contained",disabled:r||u.isPending,onClick:()=>q(e.slug),sx:{ml:1,minWidth:80,flexShrink:0},children:r?"Installed":"Add"})]}),(0,s.jsx)(m.Z,{variant:"body2",color:"text.secondary",sx:{mt:.25,overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"},children:e.description}),(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:1,mt:.5},children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:.25},children:[(0,s.jsx)(e8.Z,{sx:{fontSize:14,color:"text.disabled"}}),(0,s.jsx)(m.Z,{variant:"caption",color:"text.disabled",children:(t=e.downloads)>=1e6?"".concat((t/1e6).toFixed(1),"M"):t>=1e3?"".concat((t/1e3).toFixed(1),"K"):String(t)})]}),e.author&&(0,s.jsxs)(m.Z,{variant:"caption",color:"text.disabled",children:["by ",e.author]})]})]})]})})},e.slug)})})]})]}),(0,s.jsx)(en.Z,{open:I.open,autoHideDuration:4e3,onClose:()=>P(e=>({...e,open:!1})),anchorOrigin:{vertical:"bottom",horizontal:"center"},children:(0,s.jsx)(c.Z,{onClose:()=>P(e=>({...e,open:!1})),severity:I.severity,variant:"filled",children:I.message})})]})}let e9=["Overview","Activity","Mods","Files","Backups","Access","Options"];function te(e){return e.replace(/\x1b\[\?[\d;]*[a-zA-Z]/g,"").replace(/\x1b\[[0-9;]*[a-zA-Z]/g,"").replace(/\x1b=/g,"").replace(/\[\?[\d;]*[a-zA-Z]/g,"").replace(/\[[0-9;]*[a-zA-Z]/g,"").replace(/\[m/g,"").replace(/>\.\.\.\.\r?/g,"").replace(/\r/g,"").trim()}function tt(e){var t,r,i,a,c;let{server:x,onSendCommand:u}=e,[y,v]=(0,n.useState)("Overview"),[j,g]=(0,n.useState)(""),[f,w]=(0,n.useState)(!0),[R,T]=(0,n.useState)(!1),I=(0,n.useRef)(null),{logs:z,isConnected:P}=(0,V.Y)({serverName:x.name}),W=(0,n.useMemo)(()=>z.filter(e=>!e.includes("RCON Listener")&&!e.includes("RCON Client")&&!e.includes("RconClient")),[z]);(0,n.useEffect)(()=>{I.current&&f&&(I.current.scrollTop=I.current.scrollHeight)},[W,f]);let F=async()=>{j.trim()&&u&&(await u(j.trim()),g(""))},M=null!==(a=null===(t=x.stats)||void 0===t?void 0:t.cpuPercent)&&void 0!==a?a:0;(null===(r=x.stats)||void 0===r?void 0:r.memoryUsage)&&x.stats.memoryUsage,function(e){if(!e)return;let t=e.match(/^(\d+)\s*(M|G)?$/i);if(t)parseInt(t[1],10),(t[2]||"M").toUpperCase()}(x.memory);let K=null!==(c=null===(i=x.stats)||void 0===i?void 0:i.memoryPercent)&&void 0!==c?c:0;return(0,s.jsxs)(o.Z,{children:[(0,s.jsx)(o.Z,{sx:{display:"flex",gap:.5,mb:3},children:e9.map(e=>(0,s.jsx)(l.Z,{onClick:()=>v(e),sx:{px:2,py:1,borderRadius:5,fontSize:14,fontWeight:500,textTransform:"none",bgcolor:y===e?"primary.main":"transparent",color:y===e?"#0a0e14":"text.secondary","&:hover":{bgcolor:y===e?"primary.main":(0,k.Fq)("#1bd96a",.1)}},children:e},e))}),(0,s.jsxs)(o.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"repeat(3, 1fr)"},gap:2,mb:2.5},children:[(0,s.jsx)(G,{value:"".concat(M.toFixed(2),"%"),unit:"/ 100%",label:"CPU usage",icon:(0,s.jsx)(q.Z,{sx:{fontSize:28}}),progress:M,progressMax:100,color:"#1bd96a"}),(0,s.jsx)(G,{value:"".concat(K.toFixed(2),"%"),unit:"/ 100%",label:"Memory usage",icon:(0,s.jsx)(N.Z,{sx:{fontSize:28}}),progress:K,progressMax:100,color:"#1bd96a"}),(0,s.jsx)(G,{value:x.worldSize||"0 B",unit:"/ 10 GB",label:"World size",icon:(0,s.jsx)(B.Z,{sx:{fontSize:28}}),progress:function(e){if(!e)return 0;let t=e.match(/^([\d.]+)\s*(B|KB|MB|MiB|GB|GiB)?$/i);if(!t)return 0;let r=parseFloat(t[1]);switch((t[2]||"B").toUpperCase()){case"GB":case"GIB":return 1024*r;case"MB":case"MIB":return r;case"KB":return r/1024;default:return r/1048576}}(x.worldSize),progressMax:10240,color:"#1bd96a"})]}),(0,s.jsxs)(h.Z,{sx:{bgcolor:"background.paper",borderRadius:3,border:"1px solid",borderColor:"divider",overflow:"hidden"},children:[(0,s.jsxs)(o.Z,{sx:{px:3,py:2,borderBottom:"1px solid",borderColor:"divider",display:"flex",alignItems:"center",gap:1.25},children:[(0,s.jsx)(m.Z,{variant:"h6",sx:{fontWeight:700,color:"text.primary"},children:"Console"}),(0,s.jsx)(o.Z,{sx:{width:10,height:10,borderRadius:"50%",bgcolor:P?"primary.main":"error.main",boxShadow:P?"0 0 8px rgba(27, 217, 106, 0.4)":"0 0 8px rgba(239, 68, 68, 0.4)"}})]}),(0,s.jsxs)(o.Z,{sx:{position:"relative"},children:[(0,s.jsx)(o.Z,{ref:I,onScroll:()=>{if(!I.current)return;let{scrollTop:e,scrollHeight:t,clientHeight:r}=I.current;w(t-e-r<30)},sx:{height:360,overflowY:"auto",px:2.5,py:2,fontFamily:'"Roboto Mono", monospace',fontSize:13,lineHeight:1.85,color:"#b4b6c4",bgcolor:"#0a0a0a",scrollbarWidth:"thin",scrollbarColor:"#3a3d4e #0a0a0a","&::-webkit-scrollbar":{width:8},"&::-webkit-scrollbar-track":{bgcolor:"#0a0a0a"},"&::-webkit-scrollbar-thumb":{bgcolor:"#3a3d4e",borderRadius:4}},children:0===W.length?(0,s.jsx)(m.Z,{sx:{color:"text.secondary",textAlign:"center",py:8},children:"Waiting for logs..."}):W.map((e,t)=>{let r=function(e){let t=te(e).match(/\[(\d{2}:\d{2}:\d{2})\]\s*\[([^/]+)\/(\w+)\]:\s*(.+)/);return t?{time:t[1],thread:t[2],level:t[3]||"INFO",msg:t[4]}:null}(e);return r?(0,s.jsxs)(o.Z,{sx:{display:"flex",gap:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:[(0,s.jsxs)(o.Z,{component:"span",sx:{color:"#4a4d60"},children:["[",r.time,"]"]}),(0,s.jsxs)(o.Z,{component:"span",sx:{color:"#4a4d60"},children:["\xa0[",r.thread,"/",(0,s.jsx)(o.Z,{component:"span",sx:{color:"WARN"===r.level?"#e8a848":"#6b6e80"},children:r.level}),"]:\xa0"]}),(0,s.jsx)(o.Z,{component:"span",sx:{color:"WARN"===r.level?"#c4a45a":"#b4b6c4"},children:r.msg})]},t):(0,s.jsx)(o.Z,{sx:{color:"#b4b6c4"},children:te(e)},t)})}),(0,s.jsx)(d.Z,{onClick:()=>T(!0),sx:{position:"absolute",top:12,right:12,width:36,height:36,borderRadius:2,bgcolor:"#282a3a",border:"1px solid #3a3d4e",color:"#8b8da0","&:hover":{bgcolor:"#313440"}},children:(0,s.jsx)(U.Z,{sx:{fontSize:18}})}),!f&&(0,s.jsx)(d.Z,{onClick:()=>{I.current&&I.current.scrollTo({top:I.current.scrollHeight,behavior:"smooth"})},sx:{position:"absolute",bottom:12,right:12,width:36,height:36,borderRadius:2,bgcolor:"#282a3a",border:"1px solid #3a3d4e",color:"#8b8da0","&:hover":{bgcolor:"#313440"}},children:(0,s.jsx)(L.Z,{sx:{fontSize:18}})})]}),(0,s.jsx)(o.Z,{sx:{px:2.5,py:1.5,borderTop:"1px solid",borderColor:"divider"},children:(0,s.jsx)(C.Z,{fullWidth:!0,size:"small",placeholder:"Send a command",value:j,onChange:e=>g(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),F())},disabled:!P,InputProps:{startAdornment:(0,s.jsx)(O.Z,{position:"start",children:(0,s.jsx)(H.Z,{sx:{fontSize:16,color:"#999"}})}),sx:{bgcolor:"#13141c",borderRadius:2,fontFamily:'"Roboto Mono", monospace',fontSize:14,"& .MuiOutlinedInput-notchedOutline":{borderColor:"#2a2d3e"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"#3a3d4e"},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main"}}}})})]}),"Overview"===y&&(0,s.jsxs)(S.ZP,{container:!0,spacing:3,sx:{mt:1},children:[(0,s.jsx)(S.ZP,{item:!0,xs:12,md:6,children:(0,s.jsx)(h.Z,{sx:{borderRadius:3},children:(0,s.jsxs)(p.Z,{children:[(0,s.jsx)(m.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Server Information"}),(0,s.jsx)(D.Z,{sx:{mb:2}}),(0,s.jsx)(tr,{label:"Name",value:x.name}),(0,s.jsx)(tr,{label:"Container",value:x.container}),(0,s.jsx)(tr,{label:"Hostname",value:x.hostname?(0,s.jsx)(e2.h,{hostname:x.hostname,color:"text.primary"}):void 0}),(0,s.jsx)(tr,{label:"Type",value:x.type}),(0,s.jsx)(tr,{label:"Version",value:x.version}),(0,s.jsx)(tr,{label:"Memory",value:x.memory}),(0,s.jsx)(tr,{label:"Uptime",value:x.uptime||function(e){if(!e||e<0)return"0s";let t=Math.floor(e/3600),r=Math.floor(e%3600/60),s=e%60;return t>0?"".concat(t,"h ").concat(r,"m"):r>0?"".concat(r,"m ").concat(s,"s"):"".concat(s,"s")}(x.uptimeSeconds)})]})})}),(0,s.jsx)(S.ZP,{item:!0,xs:12,md:6,children:(0,s.jsx)(h.Z,{sx:{borderRadius:3},children:(0,s.jsxs)(p.Z,{children:[(0,s.jsx)(m.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Players"}),(0,s.jsx)(D.Z,{sx:{mb:2}}),x.players?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(tr,{label:"Online",value:"".concat(x.players.online," / ").concat(x.players.max)}),x.players.players&&x.players.players.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(m.Z,{variant:"body2",color:"text.secondary",sx:{mt:2,mb:1},children:"Online Players"}),(0,s.jsx)(o.Z,{sx:{display:"flex",flexWrap:"wrap",gap:1},children:x.players.players.map(e=>(0,s.jsx)(A.Z,{label:e,size:"small"},e))})]})]}):(0,s.jsx)(m.Z,{variant:"body2",color:"text.secondary",children:"Player information unavailable"})]})})}),(0,s.jsx)(S.ZP,{item:!0,xs:12,md:6,children:(0,s.jsx)(e6,{serverName:x.name,hostname:x.hostname})})]}),"Activity"===y&&(0,s.jsx)(o.Z,{sx:{mt:3},children:(0,s.jsx)(h.Z,{sx:{borderRadius:3},children:(0,s.jsxs)(p.Z,{children:[(0,s.jsx)(m.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Server Activity"}),(0,s.jsx)(D.Z,{sx:{mb:2}}),(0,s.jsx)(es,{serverName:x.name})]})})}),"Mods"===y&&(0,s.jsx)(o.Z,{sx:{mt:3},children:(0,s.jsx)(e7,{serverName:x.name})}),"Files"===y&&(0,s.jsx)(o.Z,{sx:{mt:3},children:(0,s.jsx)(m.Z,{variant:"body1",color:"text.secondary",children:"File browser coming soon"})}),"Backups"===y&&(0,s.jsx)(o.Z,{sx:{mt:3},children:(0,s.jsx)(m.Z,{variant:"body1",color:"text.secondary",children:"Backup management coming soon"})}),"Access"===y&&(0,s.jsx)(o.Z,{sx:{mt:3},children:(0,s.jsx)(e0,{serverId:x.name})}),"Options"===y&&(0,s.jsx)(o.Z,{sx:{mt:3},children:(0,s.jsx)(eO,{serverName:x.name,isRunning:"running"===x.status})}),(0,s.jsxs)(b.Z,{open:R,onClose:()=>T(!1),maxWidth:"xl",fullWidth:!0,PaperProps:{sx:{height:"90vh",bgcolor:"background.paper"}},children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",p:2,borderBottom:1,borderColor:"divider"},children:[(0,s.jsxs)(m.Z,{variant:"h6",sx:{fontFamily:'"Minecraft", sans-serif',fontWeight:400,letterSpacing:"0.05em"},children:["Console - ",x.name]}),(0,s.jsx)(d.Z,{onClick:()=>T(!1),children:(0,s.jsx)(E.Z,{})})]}),(0,s.jsx)(Z.Z,{sx:{p:0,display:"flex",flexDirection:"column"},children:(0,s.jsx)(J.K,{serverName:x.name})})]})]})}function tr(e){let{label:t,value:r}=e;return r?(0,s.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[(0,s.jsx)(m.Z,{variant:"body2",color:"text.secondary",children:t}),(0,s.jsx)(m.Z,{variant:"body2",component:"div",sx:{fontWeight:500},children:r})]}):null}var ts=r(93757);function tn(){return(0,s.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,s.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,s.jsx)("line",{x1:"8",y1:"12",x2:"16",y2:"12"})]})}function ti(){return(0,s.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,s.jsx)("path",{d:"M21 2v6h-6"}),(0,s.jsx)("path",{d:"M3 12a9 9 0 0115.36-6.36L21 8"}),(0,s.jsx)("path",{d:"M3 22v-6h6"}),(0,s.jsx)("path",{d:"M21 12a9 9 0 01-15.36 6.36L3 16"})]})}function ta(){var e,t,r,A;let O=(0,i.useParams)(),D=(0,a.x)(),E=decodeURIComponent(O.name),{data:q,isLoading:N,error:B}=(0,el.Hy)(E),{status:U,health:L}=function(e){let{serverName:t,onStatusChange:r,enabled:s=!0,reconnectInterval:i=3e3}=e,[a,o]=(0,n.useState)(null),[l,d]=(0,n.useState)(null);(0,n.useEffect)(()=>{o(null),d(null)},[t]);let c=(0,n.useCallback)(e=>{if("server-status"===e.type){let t=e.data.status,s=e.data.health;o(t),d(s),null==r||r(t,s)}},[r]),{isConnected:x,reconnect:u,retryCount:h}=(0,ts.D)({url:"/api/sse/servers/".concat(encodeURIComponent(t),"/status"),onMessage:c,enabled:s,reconnectInterval:i});return{status:a,health:l,isConnected:x,reconnect:u,retryCount:h}}({serverName:E,enabled:!!E}),[H,K]=(0,n.useState)(null),[G,V]=(0,n.useState)(!1),[J,Q]=(0,n.useState)(""),_=(0,el.jM)(),X=(0,el.Aw)(),$=(0,el._I)(),Y=(0,el.Hq)(),ee=async()=>{try{await _.mutateAsync(E)}catch(e){console.error("Failed to start server:",e)}},et=async()=>{try{await X.mutateAsync(E)}catch(e){console.error("Failed to stop server:",e)}},er=async()=>{try{await $.mutateAsync(E)}catch(e){console.error("Failed to restart server:",e)}},es=async e=>{try{await fetch("/api/servers/".concat(encodeURIComponent(E),"/exec"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({command:e})})}catch(e){console.error("Failed to send command:",e)}},en=U||(null==q?void 0:q.server.status),ei=_.isPending||X.isPending||$.isPending,ea=null==q?void 0:q.server;return(0,s.jsxs)(s.Fragment,{children:[B&&(0,s.jsxs)(c.Z,{severity:"error",sx:{mb:3},children:["Failed to load server: ",B.message]}),_.isError&&(0,s.jsxs)(c.Z,{severity:"error",sx:{mb:3},children:["Failed to start server: ",null===(e=_.error)||void 0===e?void 0:e.message]}),X.isError&&(0,s.jsxs)(c.Z,{severity:"error",sx:{mb:3},children:["Failed to stop server: ",null===(t=X.error)||void 0===t?void 0:t.message]}),$.isError&&(0,s.jsxs)(c.Z,{severity:"error",sx:{mb:3},children:["Failed to restart server: ",null===(r=$.error)||void 0===r?void 0:r.message]}),Y.isError&&(0,s.jsxs)(c.Z,{severity:"error",sx:{mb:3},children:["Failed to delete server: ",null===(A=Y.error)||void 0===A?void 0:A.message]}),N?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:2,mb:2.5},children:[(0,s.jsx)(u.Z,{variant:"rounded",width:64,height:64,sx:{borderRadius:3,flexShrink:0}}),(0,s.jsxs)(o.Z,{sx:{flex:1},children:[(0,s.jsx)(u.Z,{variant:"text",width:80,height:18,sx:{mb:.5}}),(0,s.jsx)(u.Z,{variant:"text",width:"40%",height:40}),(0,s.jsxs)(o.Z,{sx:{display:"flex",gap:2,mt:.75},children:[(0,s.jsx)(u.Z,{variant:"text",width:100}),(0,s.jsx)(u.Z,{variant:"text",width:60}),(0,s.jsx)(u.Z,{variant:"text",width:140}),(0,s.jsx)(u.Z,{variant:"text",width:50})]})]}),(0,s.jsxs)(o.Z,{sx:{display:"flex",gap:1,flexShrink:0},children:[(0,s.jsx)(u.Z,{variant:"rounded",width:90,height:40,sx:{borderRadius:2}}),(0,s.jsx)(u.Z,{variant:"rounded",width:36,height:36,sx:{borderRadius:2}})]})]}),(0,s.jsx)(o.Z,{sx:{display:"flex",gap:.5,mb:3},children:[80,70,65,50,65,65].map((e,t)=>(0,s.jsx)(u.Z,{variant:"rounded",width:e,height:36,sx:{borderRadius:5}},t))}),(0,s.jsx)(o.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"repeat(3, 1fr)"},gap:2,mb:2.5},children:[0,1,2].map(e=>(0,s.jsx)(h.Z,{sx:{borderRadius:3},children:(0,s.jsxs)(p.Z,{children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:1.5},children:[(0,s.jsx)(u.Z,{variant:"text",width:"50%"}),(0,s.jsx)(u.Z,{variant:"circular",width:28,height:28})]}),(0,s.jsx)(u.Z,{variant:"text",width:"60%",height:36}),(0,s.jsx)(u.Z,{variant:"rounded",width:"100%",height:6,sx:{borderRadius:3,mt:1}})]})},e))}),(0,s.jsxs)(h.Z,{sx:{borderRadius:3,border:"1px solid",borderColor:"divider"},children:[(0,s.jsxs)(o.Z,{sx:{px:3,py:2,borderBottom:"1px solid",borderColor:"divider",display:"flex",alignItems:"center",gap:1.25},children:[(0,s.jsx)(u.Z,{variant:"text",width:80,height:28}),(0,s.jsx)(u.Z,{variant:"circular",width:10,height:10})]}),(0,s.jsx)(u.Z,{variant:"rectangular",height:360,sx:{bgcolor:"#0a0a0a"}}),(0,s.jsx)(o.Z,{sx:{px:2.5,py:1.5,borderTop:"1px solid",borderColor:"divider"},children:(0,s.jsx)(u.Z,{variant:"rounded",width:"100%",height:40,sx:{borderRadius:2}})})]}),(0,s.jsxs)(S.ZP,{container:!0,spacing:3,sx:{mt:1},children:[(0,s.jsx)(S.ZP,{item:!0,xs:12,md:6,children:(0,s.jsx)(h.Z,{sx:{borderRadius:3},children:(0,s.jsxs)(p.Z,{children:[(0,s.jsx)(u.Z,{variant:"text",width:"40%",height:28,sx:{mb:1}}),(0,s.jsx)(u.Z,{variant:"rectangular",height:1,sx:{mb:2}}),[0,1,2,3,4,5,6].map(e=>(0,s.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[(0,s.jsx)(u.Z,{variant:"text",width:"30%"}),(0,s.jsx)(u.Z,{variant:"text",width:"40%"})]},e))]})})}),(0,s.jsx)(S.ZP,{item:!0,xs:12,md:6,children:(0,s.jsx)(h.Z,{sx:{borderRadius:3},children:(0,s.jsxs)(p.Z,{children:[(0,s.jsx)(u.Z,{variant:"text",width:"30%",height:28,sx:{mb:1}}),(0,s.jsx)(u.Z,{variant:"rectangular",height:1,sx:{mb:2}}),(0,s.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[(0,s.jsx)(u.Z,{variant:"text",width:"25%"}),(0,s.jsx)(u.Z,{variant:"text",width:"20%"})]})]})})})]})]}):ea?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:2,mb:2.5},children:[(0,s.jsx)(o.Z,{sx:{width:64,height:64,borderRadius:3,overflow:"hidden",bgcolor:"background.paper",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,border:"1px solid",borderColor:"divider",fontSize:36},children:function(e){if(!e)return"\uD83C\uDFAE";let t=e.toUpperCase();return["PAPER","SPIGOT","BUKKIT","PURPUR"].includes(t)?"\uD83D\uDD0C":["FORGE","NEOFORGE","FABRIC","QUILT"].includes(t)?"\uD83D\uDD27":"\uD83C\uDFAE"}(ea.type)}),(0,s.jsxs)(o.Z,{sx:{flex:1},children:[(0,s.jsxs)(m.Z,{onClick:()=>D.push("/servers"),sx:{fontSize:12,color:"primary.main",cursor:"pointer",mb:.25,display:"flex",alignItems:"center",gap:.5,"&:hover":{textDecoration:"underline"}},children:[(0,s.jsx)(R.Z,{sx:{fontSize:14}})," All servers"]}),(0,s.jsx)(m.Z,{variant:"h4",component:"h1",sx:{fontFamily:'"Minecraft", sans-serif',fontWeight:400,color:"text.primary",letterSpacing:"0.5px",m:0,textTransform:"uppercase"},children:E}),(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:0,mt:.75,flexWrap:"wrap",fontSize:13,color:"text.secondary"},children:[ea.version&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,s.jsx)(P.Z,{sx:{fontSize:14}}),"Minecraft ",ea.version]}),(0,s.jsx)(o.Z,{component:"span",sx:{mx:1.25,color:"#3a3d4e"},children:"|"})]}),ea.type&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,s.jsx)(W.Z,{sx:{fontSize:14}}),ea.type]}),(0,s.jsx)(o.Z,{component:"span",sx:{mx:1.25,color:"#3a3d4e"},children:"|"})]}),ea.hostname&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,s.jsx)(F.Z,{sx:{fontSize:14}}),(0,s.jsx)(e2.h,{hostname:ea.hostname,fontSize:13})]}),(0,s.jsx)(o.Z,{component:"span",sx:{mx:1.25,color:"#3a3d4e"},children:"|"})]}),(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,s.jsx)(M.Z,{sx:{fontSize:14}}),ea.uptime||function(e){if(!e||e<0)return"0s";let t=Math.floor(e/3600),r=Math.floor(e%3600/60),s=e%60;return t>0?"".concat(t,"h ").concat(r,"m"):r>0?"".concat(r,"m ").concat(s,"s"):"".concat(s,"s")}(ea.uptimeSeconds)||"0s"]})]})]}),(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:1.25,flexShrink:0},children:[("stopped"===en||"exited"===en||"not_created"===en)&&(0,s.jsx)(l.Z,{variant:"contained",color:"success",startIcon:ei?(0,s.jsx)(x.Z,{size:16,color:"inherit"}):(0,s.jsx)(T.Z,{}),onClick:ee,disabled:ei,sx:{px:2,py:1,borderRadius:2,fontSize:14,fontWeight:600},children:"Start"}),"running"===en&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(l.Z,{variant:"outlined",startIcon:ei?(0,s.jsx)(x.Z,{size:16}):(0,s.jsx)(tn,{}),onClick:et,disabled:ei,sx:{px:2,py:1,borderRadius:2,fontSize:14,fontWeight:500,borderColor:"divider",color:"text.secondary","&:hover":{borderColor:"text.secondary",bgcolor:(0,k.Fq)("#fff",.05)}},children:"Stop"}),(0,s.jsx)(l.Z,{variant:"contained",startIcon:ei?(0,s.jsx)(x.Z,{size:16,color:"inherit"}):(0,s.jsx)(ti,{}),onClick:er,disabled:ei,sx:{px:2,py:1,borderRadius:2,fontSize:14,fontWeight:600,bgcolor:"primary.main",color:"#0a0e14","&:hover":{bgcolor:"primary.dark"}},children:"Restart"})]}),(0,s.jsx)(d.Z,{onClick:e=>K(e.currentTarget),sx:{width:36,height:36,borderRadius:2,border:"1px solid",borderColor:"divider",color:"text.secondary"},children:(0,s.jsx)(I.Z,{sx:{fontSize:18}})}),(0,s.jsx)(y.Z,{anchorEl:H,open:!!H,onClose:()=>K(null),children:(0,s.jsxs)(v.Z,{onClick:()=>{K(null),V(!0),Q("")},sx:{color:"error.main"},children:[(0,s.jsx)(j.Z,{children:(0,s.jsx)(z.Z,{fontSize:"small",sx:{color:"error.main"}})}),(0,s.jsx)(g.Z,{children:"Delete Server"})]})})]})]}),(0,s.jsx)(tt,{server:ea,onSendCommand:es})]}):(0,s.jsx)(c.Z,{severity:"warning",children:"Server not found"}),(0,s.jsxs)(b.Z,{open:G,onClose:()=>{V(!1),Q("")},maxWidth:"sm",fullWidth:!0,children:[(0,s.jsx)(f.Z,{children:"Delete Server"}),(0,s.jsxs)(Z.Z,{children:[(0,s.jsxs)(m.Z,{sx:{mb:2},children:["This action cannot be undone. Type ",(0,s.jsx)("strong",{children:E})," to confirm deletion."]}),(0,s.jsx)(C.Z,{label:"Server name",value:J,onChange:e=>Q(e.target.value),fullWidth:!0,autoFocus:!0})]}),(0,s.jsxs)(w.Z,{sx:{px:3,pb:2},children:[(0,s.jsx)(l.Z,{onClick:()=>{V(!1),Q("")},children:"Cancel"}),(0,s.jsx)(l.Z,{variant:"contained",color:"error",onClick:()=>{J===E&&Y.mutate({name:E,force:!0},{onSuccess:()=>{D.push("/servers")}})},disabled:J!==E||Y.isPending,startIcon:Y.isPending?(0,s.jsx)(x.Z,{size:16}):null,children:Y.isPending?"Deleting...":"Delete"})]})]})]})}},56813:function(e,t,r){"use strict";r.d(t,{I:function(){return a}});var s=r(94655),n=r(25333),i=r(82925);function a(e){let{action:t,size:r="small"}=e,a=i.Lu[t]||"default",o=i.n3[t]||t;return(0,s.jsx)(n.Z,{label:o,color:a,size:r,variant:"filled",sx:{fontWeight:600,fontSize:"small"===r?"0.7rem":"0.8rem"}})}},26892:function(e,t,r){"use strict";r.d(t,{c:function(){return o}});var s=r(94655),n=r(25333),i=r(46207),a=r(43436);function o(e){let{status:t,size:r="small"}=e;return(0,s.jsx)(n.Z,{icon:"success"===t?(0,s.jsx)(i.Z,{}):(0,s.jsx)(a.Z,{}),label:"success"===t?"OK":"Error",color:"success"===t?"success":"error",size:r,variant:"outlined",sx:{fontWeight:500,fontSize:"small"===r?"0.7rem":"0.8rem"}})}},97511:function(e,t,r){"use strict";r.d(t,{q:function(){return l},h:function(){return p}});var s=r(94655),n=r(35106),i=r(79983),a=r(10449),o=r(24559);function l(e){let{text:t,size:r=14}=e,[l,d]=(0,n.useState)(!1),c=async e=>{e.stopPropagation();try{await navigator.clipboard.writeText(t),d(!0),setTimeout(()=>d(!1),2e3)}catch(e){}};return(0,s.jsx)(i.Z,{size:"small",onClick:c,sx:{ml:.5,p:.25,color:l?"success.main":"text.secondary","&:hover":{bgcolor:"action.hover"}},"aria-label":l?"Copied":"Copy to clipboard",children:l?(0,s.jsx)(o.Z,{sx:{fontSize:r}}):(0,s.jsx)(a.Z,{sx:{fontSize:r}})})}var d=r(7281),c=r(31317),x=r(25333),u=r(93300);function h(e){return e?e.split(",").map(e=>e.trim()).filter(Boolean):[]}function p(e){let{hostname:t,portSuffix:r,color:i="text.secondary",fontSize:a,showCopyButton:o=!1}=e,[p,m]=(0,n.useState)(null),y=h(t),v=function(e){let t=h(e);return 0===t.length?"-":t.find(e=>e.endsWith(".local"))||t[0]}(t),j=e=>r?"".concat(e,":").concat(r):e;return 0===y.length?(0,s.jsx)(d.Z,{component:"span",sx:{color:i,fontSize:a,display:"inline"},children:"-"}):1===y.length?(0,s.jsxs)(d.Z,{component:"span",sx:{display:"inline-flex",alignItems:"center"},children:[(0,s.jsx)(d.Z,{component:"span",sx:{color:i,fontSize:a,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:j(v)}),o&&(0,s.jsx)(l,{text:j(v)})]}):(0,s.jsxs)(d.Z,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.75,minWidth:0},children:[(0,s.jsx)(d.Z,{component:"span",sx:{color:i,fontSize:a,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:j(v)}),(0,s.jsx)(x.Z,{label:"+".concat(y.length-1),size:"small",onClick:e=>{e.stopPropagation(),m(e.currentTarget)},sx:{height:20,fontSize:11,cursor:"pointer","& .MuiChip-label":{px:.75}}}),(0,s.jsx)(u.ZP,{open:!!p,anchorEl:p,onClose:()=>{m(null)},onClick:e=>e.stopPropagation(),anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},children:(0,s.jsx)(d.Z,{sx:{p:1.5,minWidth:200},children:y.map(e=>(0,s.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",py:.5},children:[(0,s.jsx)(c.Z,{variant:"body2",sx:{fontFamily:'"Roboto Mono", monospace',fontSize:12},children:j(e)}),(0,s.jsx)(l,{text:j(e)})]},e))})})]})}},84509:function(e,t,r){"use strict";r.d(t,{DM:function(){return a},HZ:function(){return l},VM:function(){return o},hT:function(){return i},oL:function(){return d}});var s=r(5632),n=r(42936);function i(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,r=function(e){let t=new URLSearchParams;e.action&&t.set("action",e.action),e.actor&&t.set("actor",e.actor),e.targetType&&t.set("targetType",e.targetType),e.targetName&&t.set("targetName",e.targetName),e.status&&t.set("status",e.status),e.from&&t.set("from",e.from),e.to&&t.set("to",e.to),void 0!==e.limit&&t.set("limit",String(e.limit)),void 0!==e.offset&&t.set("offset",String(e.offset)),e.sort&&t.set("sort",e.sort);let r=t.toString();return r?"?".concat(r):""}(e);return(0,s.a)({queryKey:["audit-logs",e],queryFn:()=>(0,n.SC)("/api/audit-logs".concat(r)),enabled:(null==t?void 0:t.enabled)!==!1})}function a(e){return(0,s.a)({queryKey:["audit-logs","stats"],queryFn:()=>(0,n.SC)("/api/audit-logs/stats"),enabled:(null==e?void 0:e.enabled)!==!1,refetchInterval:3e4})}function o(e,t){return(0,s.a)({queryKey:["audit-logs",e],queryFn:()=>(0,n.SC)("/api/audit-logs/".concat(encodeURIComponent(e))),enabled:(null==t?void 0:t.enabled)!==!1&&!!e})}function l(e,t){var r;return i({targetType:"server",targetName:e,limit:null!==(r=null==t?void 0:t.limit)&&void 0!==r?r:20},{enabled:(null==t?void 0:t.enabled)!==!1&&!!e})}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return i({limit:e,sort:"timestamp:desc"})}},37228:function(e,t,r){"use strict";r.d(t,{Bc:function(){return l},N$:function(){return d},UW:function(){return o}});var s=r(5632),n=r(58919),i=r(20367),a=r(42936);function o(){return(0,s.a)({queryKey:["playit-status"],queryFn:()=>(0,a.SC)("/api/playit/status"),refetchInterval:3e4})}function l(){let e=(0,n.NL)();return(0,i.D)({mutationFn:()=>(0,a.SC)("/api/playit/start",{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["playit-status"]})}})}function d(){let e=(0,n.NL)();return(0,i.D)({mutationFn:()=>(0,a.SC)("/api/playit/stop",{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["playit-status"]})}})}},82925:function(e,t,r){"use strict";r.d(t,{KK:function(){return o},Lu:function(){return s},Xn:function(){return a},n3:function(){return n},xg:function(){return i}});let s={"server.create":"success","server.delete":"error","server.start":"info","server.stop":"warning","server.restart":"secondary","player.whitelist.add":"success","player.whitelist.remove":"warning","player.ban":"error","player.unban":"success","player.op":"info","player.deop":"warning","player.kick":"error","audit.purge":"default"},n={"server.create":"Create","server.delete":"Delete","server.start":"Start","server.stop":"Stop","server.restart":"Restart","player.whitelist.add":"Whitelist Add","player.whitelist.remove":"Whitelist Remove","player.ban":"Ban","player.unban":"Unban","player.op":"Op","player.deop":"Deop","player.kick":"Kick","audit.purge":"Purge"},i=["server.create","server.delete","server.start","server.stop","server.restart","player.whitelist.add","player.whitelist.remove","player.ban","player.unban","player.op","player.deop","player.kick","audit.purge"],a=["server.create","server.delete","server.start","server.stop","server.restart"],o=["player.whitelist.add","player.whitelist.remove","player.ban","player.unban","player.op","player.deop","player.kick"]}},function(e){e.O(0,[6812,9760,5004,7296,7436,1071,540,4416,2538,880,5511,55,7727,8347,8738,1658,6727,6645,674,4219,4436,2666,5787,3669,2757,1744],function(){return e(e.s=59616)}),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[224],{49726:function(e,r,t){Promise.resolve().then(t.bind(t,7854))},7854:function(e,r,t){"use strict";t.r(r),t.d(r,{default:function(){return et}});var n=t(94655),s=t(35106),a=t(31358),l=t(7281),i=t(30417),o=t(81071),c=t(93017),d=t(69899),u=t(31317),x=t(76492),m=t(32366),p=t(78067),h=t(84840),f=t(97436),v=t(52082),g=t(89923),j=t(10297),y=t(42431),Z=t(628),b=t(41565),S=t(25935),C=t(79983),k=t(25333),w=t(97511),I=t(5501),P=t(93315),T=t(27171),E=t(96292);let F=e=>{switch(e){case"running":return"success";case"stopped":case"exited":case"not_created":return"error";case"created":return"warning";default:return"default"}},R=e=>{switch(e){case"running":return"Running";case"stopped":case"exited":return"Stopped";case"not_created":return"Not Created";case"created":return"Created";default:return e||"Unknown"}};function W(e){let{server:r,statusOverride:t,onClick:s,onStart:a,onStop:i,loading:o=!1}=e,c=(null==t?void 0:t.status)||r.status,d=(e,t)=>{e.stopPropagation(),t(r.name)},x="running"===c,m="stopped"===c||"exited"===c||"not_created"===c;return(0,n.jsxs)(Z.Z,{role:"article",onClick:()=>{s&&s(r.name)},sx:{cursor:s?"pointer":"default",transition:"all 0.2s",height:180,display:"flex",flexDirection:"column","&:hover":s?{transform:"translateY(-2px)",boxShadow:4}:{}},children:[(0,n.jsxs)(b.Z,{sx:{flex:1,pb:1},children:[(0,n.jsxs)(l.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[(0,n.jsx)(u.Z,{variant:"h6",component:"h3",sx:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,mr:1},children:r.name}),(0,n.jsx)(k.Z,{label:R(c),size:"small",color:F(c),sx:{fontWeight:500,minWidth:70}})]}),(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:1.5},children:[(0,n.jsx)(E.Z,{sx:{fontSize:16,color:"text.secondary"}}),(0,n.jsx)(w.h,{hostname:r.hostname})]}),(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,n.jsx)(T.Z,{sx:{fontSize:16,color:"text.secondary"}}),(0,n.jsx)(u.Z,{variant:"body2",color:"text.secondary",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:r.container})]})]}),(0,n.jsxs)(S.Z,{sx:{justifyContent:"flex-end",px:2,py:1.5,borderTop:"1px solid",borderColor:"divider"},children:[m&&a&&(0,n.jsx)(C.Z,{"aria-label":"Start server",color:"success",onClick:e=>d(e,a),disabled:o,size:"small",children:(0,n.jsx)(I.Z,{})}),x&&i&&(0,n.jsx)(C.Z,{"aria-label":"Stop server",color:"error",onClick:e=>d(e,i),disabled:o,size:"small",children:(0,n.jsx)(P.Z,{})}),!m&&!x&&(0,n.jsx)(l.Z,{sx:{height:34}})]})]})}function M(e){let{servers:r,statusMap:t={},onServerClick:a,onStart:o,onStop:c,onCreate:d,loadingServers:x=[]}=e,[p,Z]=(0,s.useState)(""),[b,S]=(0,s.useState)("all"),C=(0,s.useMemo)(()=>r.filter(e=>{if(p&&!e.name.toLowerCase().includes(p.toLowerCase()))return!1;let r=t[e.name],n=(null==r?void 0:r.status)||e.status;return("running"!==b||"running"===n)&&("stopped"!==b||"stopped"===n||"exited"===n||"not_created"===n)}),[r,t,p,b]);return 0===r.length?(0,n.jsxs)(l.Z,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"400px",gap:2},children:[(0,n.jsx)(u.Z,{variant:"h6",color:"text.secondary",children:"No servers found"}),d&&(0,n.jsx)(i.Z,{variant:"contained",startIcon:(0,n.jsx)(m.Z,{}),onClick:d,children:"Create Server"})]}):(0,n.jsxs)(l.Z,{children:[(0,n.jsxs)(l.Z,{sx:{display:"flex",flexDirection:{xs:"column",sm:"row"},gap:2,mb:3,alignItems:{xs:"stretch",sm:"center"},justifyContent:"space-between"},children:[(0,n.jsxs)(j.Z,{value:b,exclusive:!0,onChange:(e,r)=>{null!==r&&S(r)},size:"small",sx:{flexShrink:0},children:[(0,n.jsx)(g.Z,{value:"all",children:"All"}),(0,n.jsx)(g.Z,{value:"running",children:"Running"}),(0,n.jsx)(g.Z,{value:"stopped",children:"Stopped"})]}),(0,n.jsx)(f.Z,{size:"small",placeholder:"Search servers...",value:p,onChange:e=>Z(e.target.value),InputProps:{startAdornment:(0,n.jsx)(v.Z,{position:"start",children:(0,n.jsx)(y.Z,{})})},sx:{flexGrow:{xs:1,sm:0},minWidth:{sm:300}}})]}),(0,n.jsxs)(u.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:[C.length," ",1===C.length?"server":"servers"]}),0===C.length?(0,n.jsx)(l.Z,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"200px",gap:2},children:(0,n.jsx)(u.Z,{variant:"h6",color:"text.secondary",children:"No servers found"})}):(0,n.jsx)(h.ZP,{container:!0,spacing:2,children:C.map(e=>(0,n.jsx)(h.ZP,{item:!0,xs:12,sm:6,md:4,children:(0,n.jsx)(W,{server:e,statusOverride:t[e.name],onClick:a,onStart:o,onStop:c,loading:x.includes(e.name)})},e.name))})]})}var z=t(99770),O=t(62508),A=t(5682),L=t(76678),N=t(7178),D=t(40064),G=t(45547),_=t(4405),V=t(73383),q=t(82285),U=t(13609),H=t(46207),$=t(43436),B=t(87716);let J=["VANILLA","PAPER","FABRIC","FORGE","NEOFORGE"],Y=["","forge","fabric","neoforge","quilt"],K={name:"",type:"PAPER",version:"1.21.1",memory:"4G",autoStart:!1,sudoPassword:""},Q=[{key:"initializing",label:"Initializing"},{key:"creating",label:"Creating"},{key:"configuring",label:"Configuring"},{key:"starting",label:"Starting"}];function X(e){let r,{open:t,onClose:a,onSubmit:d,loading:x=!1,status:m="idle",progress:p=0,message:h=""}=e,[v,y]=(0,s.useState)("standard"),[Z,b]=(0,s.useState)(K),[S,C]=(0,s.useState)({}),[k,w]=(0,s.useState)(!1),I=(0,s.useRef)(null),P=(0,s.useRef)(null),T=Q.findIndex(e=>e.key===m),E="idle"!==m&&"completed"!==m&&"error"!==m;(0,s.useEffect)(()=>{t||(y("standard"),b(K),C({}),w(!1))},[t]);let F=e=>e?/^[a-z0-9-]+$/.test(e)?null:"Only lowercase letters, numbers, and hyphens are allowed":"Server name is required",R=e=>e?null:"Modpack slug is required",W=e=>r=>{let t=r.target.value;b(r=>({...r,[e]:t})),"memory"===e&&w(!0),S[e]&&C(r=>({...r,[e]:""}))};return(0,n.jsx)(z.Z,{open:t,onClose:E?void 0:a,maxWidth:"sm",fullWidth:!0,children:(0,n.jsxs)("form",{onSubmit:e=>{e.preventDefault(),C({});let r=F(Z.name);if(r){C({name:r});return}if("modpack"===v){let e=R(Z.modpack||"");if(e){C({modpack:e});return}}let t={name:Z.name,memory:Z.memory,autoStart:Z.autoStart,sudoPassword:Z.sudoPassword};"standard"===v?(t.type=Z.type,t.version=Z.version):(t.type="MODRINTH",t.modpack=Z.modpack,Z.modpackVersion&&(t.modpackVersion=Z.modpackVersion),Z.modLoader&&(t.modLoader=Z.modLoader)),d(t)},children:[(0,n.jsx)(O.Z,{children:"completed"===m?(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,n.jsx)(H.Z,{color:"success"}),"Server Created Successfully"]}):"error"===m?(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,n.jsx)($.Z,{color:"error"}),"Creation Failed"]}):"Create New Server"}),(0,n.jsx)(A.Z,{children:E||"completed"===m||"error"===m?(0,n.jsxs)(l.Z,{sx:{py:2},children:[(0,n.jsx)(V.Z,{activeStep:T,alternativeLabel:!0,sx:{mb:3},children:Q.map(e=>(0,n.jsx)(q.Z,{children:(0,n.jsx)(U.Z,{children:e.label})},e.key))}),E&&(0,n.jsxs)(l.Z,{sx:{mb:3},children:[(0,n.jsxs)(l.Z,{sx:{display:"flex",justifyContent:"space-between",mb:1},children:[(0,n.jsx)(u.Z,{variant:"body2",color:"text.secondary",children:h}),(0,n.jsxs)(u.Z,{variant:"body2",color:"text.secondary",children:[p,"%"]})]}),(0,n.jsx)(_.Z,{variant:"determinate",value:p})]}),"completed"===m&&(0,n.jsx)(u.Z,{color:"success.main",sx:{textAlign:"center"},children:h}),"error"===m&&(0,n.jsx)(u.Z,{color:"error.main",sx:{textAlign:"center"},children:h})]}):(0,n.jsxs)(l.Z,{sx:{display:"flex",flexDirection:"column",gap:2,pt:1},children:[(0,n.jsx)(l.Z,{ref:P,role:"status","aria-live":"polite",sx:{position:"absolute",left:"-10000px",width:"1px",height:"1px",overflow:"hidden"}}),(0,n.jsx)(f.Z,{label:"Server Name",value:Z.name,onChange:W("name"),error:!!S.name,helperText:S.name||"Only lowercase letters, numbers, and hyphens",fullWidth:!0,autoFocus:!0,disabled:E}),(0,n.jsxs)(l.Z,{sx:{display:"flex",flexDirection:"column",gap:2},children:[(0,n.jsx)(u.Z,{variant:"subtitle2",color:"text.secondary",children:"Server Type"}),(0,n.jsxs)(j.Z,{value:v,exclusive:!0,onChange:(e,r)=>{null!==r&&(y(r),P.current&&(P.current.textContent="".concat("standard"===r?"Standard Server":"Modpack"," category selected")),k||b(e=>({...e,memory:"standard"===r?"4G":"6G"})),setTimeout(()=>{"modpack"===r&&I.current&&I.current.focus()},300))},"aria-label":"Server category",fullWidth:!0,disabled:E,children:[(0,n.jsx)(g.Z,{value:"standard","aria-label":"Standard Server",children:"Standard Server"}),(0,n.jsx)(g.Z,{value:"modpack","aria-label":"Modpack",children:"Modpack"})]}),(0,n.jsx)(B.Z,{in:"standard"===v,unmountOnExit:!0,children:(0,n.jsxs)(l.Z,{sx:{display:"flex",flexDirection:"column",gap:2,mt:2},children:[(0,n.jsx)(f.Z,{label:"Server Type",select:!0,value:Z.type,onChange:W("type"),fullWidth:!0,disabled:E,children:J.map(e=>(0,n.jsx)(N.Z,{value:e,children:e},e))}),(0,n.jsx)(f.Z,{label:"Minecraft Version",value:Z.version,onChange:W("version"),helperText:"e.g., 1.21.1, 1.20.4, latest",fullWidth:!0,disabled:E})]})}),(0,n.jsx)(B.Z,{in:"modpack"===v,unmountOnExit:!0,children:(0,n.jsxs)(l.Z,{sx:{display:"flex",flexDirection:"column",gap:2,mt:2},children:[(0,n.jsx)(o.Z,{severity:"info",children:"Minecraft version is automatically determined by the modpack"}),(0,n.jsx)(f.Z,{label:"Modpack Slug",value:Z.modpack||"",onChange:W("modpack"),error:!!S.modpack,helperText:S.modpack||"e.g., cobblemon, adrenaserver (from modrinth.com/modpacks/SLUG)",fullWidth:!0,disabled:E,inputRef:I}),(0,n.jsxs)(f.Z,{label:"Mod Loader",select:!0,value:Z.modLoader||"",onChange:W("modLoader"),helperText:"Leave empty to auto-detect from modpack",fullWidth:!0,disabled:E,children:[(0,n.jsx)(N.Z,{value:"",children:"Auto-detect"}),Y.filter(e=>e).map(e=>(0,n.jsx)(N.Z,{value:e,children:e},e))]}),(0,n.jsx)(f.Z,{label:"Modpack Version",value:Z.modpackVersion||"",onChange:W("modpackVersion"),helperText:"Leave empty for latest",fullWidth:!0,disabled:E})]})})]}),(0,n.jsx)(f.Z,{label:"Memory",value:Z.memory,onChange:W("memory"),helperText:"e.g., 4G, 8G, 16G",fullWidth:!0,disabled:E}),(0,n.jsx)(f.Z,{label:"Sudo Password",type:"password",value:Z.sudoPassword||"",onChange:W("sudoPassword"),helperText:"Required for mDNS hostname registration (avahi)",fullWidth:!0,disabled:E}),(0,n.jsx)(D.Z,{control:(0,n.jsx)(G.Z,{checked:Z.autoStart||!1,onChange:(r="autoStart",e=>{b(t=>({...t,[r]:e.target.checked}))}),disabled:E}),label:"Auto-start after creation"})]})}),(0,n.jsx)(L.Z,{sx:{px:3,pb:2},children:"completed"===m||"error"===m?(0,n.jsx)(i.Z,{onClick:a,variant:"contained",fullWidth:!0,children:"Close"}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.Z,{onClick:a,disabled:E,children:"Cancel"}),(0,n.jsx)(i.Z,{type:"submit",variant:"contained",disabled:E,startIcon:E?(0,n.jsx)(c.Z,{size:16}):null,children:E?"Creating...":"Create"})]})})]})})}var ee=t(92666),er=t(59104);function et(){var e,r;let t=(0,a.x)(),[h,f]=(0,s.useState)(!1),[v,g]=(0,s.useState)([]),{data:j,isLoading:y,error:Z}=(0,ee.x$)(),{statusMap:b}=(0,er.d)(),S=(0,ee.jM)(),C=(0,ee.Aw)(),k=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{onSuccess:r,onError:t,onProgress:n}=e,[a,l]=(0,s.useState)("idle"),[i,o]=(0,s.useState)(0),[c,d]=(0,s.useState)(""),[u,x]=(0,s.useState)(null),m=(0,s.useRef)(null),p=(0,s.useRef)(""),h=(0,s.useCallback)(()=>{l("idle"),o(0),d(""),x(null),m.current&&(m.current.close(),m.current=null)},[]),f=(0,s.useCallback)((e,r,t)=>{l(e),d(r),o(t),null==n||n(e,r,t)},[n]),v=(0,s.useCallback)(async e=>{if("idle"===a||"completed"===a||"error"===a){x(null),f("initializing","Initializing server creation...",0),p.current=e.name,m.current&&m.current.close();try{let t=await fetch("/api/servers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){let e=await t.text();throw Error(e||"Server creation failed: ".concat(t.statusText))}await t.json(),f("creating","Creating server configuration...",25),await new Promise(e=>setTimeout(e,500)),f("configuring","Configuring Docker compose...",50),await new Promise(e=>setTimeout(e,500)),f("starting","Starting server container...",75),await new Promise(e=>setTimeout(e,500)),f("completed","Server created successfully!",100),null==r||r(e.name)}catch(r){let e=r instanceof Error?r.message:"Unknown error occurred";l("error"),x(e),d("Server creation failed"),null==t||t(e)}}},[a,f,r,t]);return(0,s.useEffect)(()=>()=>{m.current&&(m.current.close(),m.current=null)},[]),{status:a,progress:i,message:c,error:u,isCreating:"idle"!==a&&"completed"!==a&&"error"!==a,createServer:v,reset:h}}({onSuccess:()=>{f(!1)},onError:e=>{console.error("Failed to create server:",e)}}),w=async e=>{g(r=>[...r,e]);try{await S.mutateAsync(e)}catch(e){console.error("Failed to start server:",e)}finally{g(r=>r.filter(r=>r!==e))}},I=async e=>{g(r=>[...r,e]);try{await C.mutateAsync(e)}catch(e){console.error("Failed to stop server:",e)}finally{g(r=>r.filter(r=>r!==e))}};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(d.Z,{elevation:0,sx:{mb:4,p:3,background:e=>"linear-gradient(135deg, ".concat((0,x.Fq)(e.palette.info.main,.1)," 0%, ").concat((0,x.Fq)(e.palette.primary.main,.1)," 100%)"),borderRadius:2,border:e=>"1px solid ".concat((0,x.Fq)(e.palette.info.main,.2)),display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,n.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",gap:2},children:[(0,n.jsx)(l.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",width:56,height:56,borderRadius:2,bgcolor:"info.main",color:"info.contrastText"},children:(0,n.jsx)(p.Z,{sx:{fontSize:32}})}),(0,n.jsxs)(l.Z,{children:[(0,n.jsx)(u.Z,{variant:"h4",component:"h1",fontWeight:"bold",children:"Servers"}),(0,n.jsx)(u.Z,{variant:"body1",color:"text.secondary",children:"Manage your Minecraft servers"})]})]}),(0,n.jsx)(i.Z,{variant:"contained",startIcon:(0,n.jsx)(m.Z,{}),onClick:()=>f(!0),size:"large",children:"Create Server"})]}),Z&&(0,n.jsxs)(o.Z,{severity:"error",sx:{mb:3},children:["Failed to load servers: ",Z.message]}),k.error&&(0,n.jsxs)(o.Z,{severity:"error",sx:{mb:3},children:["Failed to create server: ",k.error]}),S.isError&&(0,n.jsxs)(o.Z,{severity:"error",sx:{mb:3},children:["Failed to start server: ",null===(e=S.error)||void 0===e?void 0:e.message]}),C.isError&&(0,n.jsxs)(o.Z,{severity:"error",sx:{mb:3},children:["Failed to stop server: ",null===(r=C.error)||void 0===r?void 0:r.message]}),y?(0,n.jsx)(l.Z,{sx:{display:"flex",justifyContent:"center",py:8},children:(0,n.jsx)(c.Z,{})}):(0,n.jsx)(M,{servers:(null==j?void 0:j.servers)||[],statusMap:b,onServerClick:e=>{t.push("/servers/".concat(encodeURIComponent(e)))},onStart:w,onStop:I,onCreate:()=>f(!0),loadingServers:v}),(0,n.jsx)(X,{open:h,onClose:()=>{f(!1),k.reset()},onSubmit:e=>{k.createServer(e)},loading:k.isCreating,status:k.status,progress:k.progress,message:k.message})]})}}},function(e){e.O(0,[6812,9760,5004,7296,7436,1071,540,4416,2538,880,8738,1658,6909,6727,8468,2666,2701,3669,2757,1744],function(){return e(e.s=49726)}),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7701],{6199:function(e,s,n){Promise.resolve().then(n.bind(n,36405))},36405:function(e,s,n){"use strict";n.r(s),n.d(s,{default:function(){return M}});var l=n(94655),r=n(35106),t=n(7281),i=n(30417),a=n(81071),o=n(93017),d=n(69899),c=n(31317),x=n(99770),h=n(62508),u=n(5682),m=n(76678),j=n(97436),Z=n(76492),g=n(32366),p=n(84974),f=n(84840),v=n(52082),y=n(89923),b=n(10297),w=n(42431),C=n(628),S=n(41565),k=n(25935),W=n(79983),z=n(25333),D=n(95511),I=n(96292),A=n(97812),F=n(21111),L=n(78067),P=n(33104);function E(e){let{world:s,onAssign:n,onRelease:r,onDelete:i,loading:a=!1}=e,o=(e,n)=>{e.stopPropagation(),n(s.name)};return(0,l.jsxs)(C.Z,{role:"article",sx:{transition:"all 0.2s",height:200,display:"flex",flexDirection:"column","&:hover":{transform:"translateY(-2px)",boxShadow:4}},children:[(0,l.jsxs)(S.Z,{sx:{flex:1,pb:1},children:[(0,l.jsxs)(t.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[(0,l.jsx)(c.Z,{variant:"h6",component:"h3",sx:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,mr:1},children:s.name}),(0,l.jsx)(z.Z,{label:s.isLocked?"Locked":"Available",size:"small",color:s.isLocked?"warning":"success",sx:{fontWeight:500,minWidth:80}})]}),(0,l.jsxs)(t.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:1.5},children:[(0,l.jsx)(L.Z,{sx:{fontSize:16,color:"text.secondary"}}),(0,l.jsx)(c.Z,{variant:"body2",color:"text.secondary",children:s.size||"Unknown size"})]}),s.isLocked&&s.lockedBy&&(0,l.jsxs)(t.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:1.5},children:[(0,l.jsx)(I.Z,{sx:{fontSize:16,color:"text.secondary"}}),(0,l.jsx)(D.Z,{title:"Assigned to ".concat(s.lockedBy),arrow:!0,children:(0,l.jsx)(c.Z,{variant:"body2",color:"text.secondary",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:s.lockedBy})})]}),(0,l.jsxs)(t.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,l.jsx)(P.Z,{sx:{fontSize:16,color:"text.secondary"}}),(0,l.jsx)(c.Z,{variant:"body2",color:"text.secondary",children:(e=>{if(!e)return"-";try{return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch(s){return e}})(s.lastModified)})]})]}),(0,l.jsxs)(k.Z,{sx:{justifyContent:"flex-end",px:2,py:1.5,borderTop:"1px solid",borderColor:"divider"},children:[!s.isLocked&&n&&(0,l.jsx)(D.Z,{title:"Assign to server",arrow:!0,children:(0,l.jsx)(W.Z,{"aria-label":"Assign world",color:"primary",onClick:e=>o(e,n),disabled:a,size:"small",children:(0,l.jsx)(I.Z,{})})}),s.isLocked&&r&&(0,l.jsx)(D.Z,{title:"Release from server",arrow:!0,children:(0,l.jsx)(W.Z,{"aria-label":"Release world",color:"warning",onClick:e=>o(e,r),disabled:a,size:"small",children:(0,l.jsx)(A.Z,{})})}),i&&(0,l.jsx)(D.Z,{title:"Delete world",arrow:!0,children:(0,l.jsx)(W.Z,{"aria-label":"Delete world",color:"error",onClick:e=>o(e,i),disabled:a,size:"small",children:(0,l.jsx)(F.Z,{})})})]})]})}function N(e){let{worlds:s,onAssign:n,onRelease:a,onDelete:o,onCreate:d,loadingWorlds:x=[]}=e,[h,u]=(0,r.useState)(""),[m,Z]=(0,r.useState)("all"),p=(0,r.useMemo)(()=>s.filter(e=>(!h||!!e.name.toLowerCase().includes(h.toLowerCase()))&&("available"!==m||!e.isLocked)&&("locked"!==m||!!e.isLocked)),[s,h,m]);return 0===s.length?(0,l.jsxs)(t.Z,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"400px",gap:2},children:[(0,l.jsx)(c.Z,{variant:"h6",color:"text.secondary",children:"No worlds found"}),d&&(0,l.jsx)(i.Z,{variant:"contained",startIcon:(0,l.jsx)(g.Z,{}),onClick:d,children:"Create World"})]}):(0,l.jsxs)(t.Z,{children:[(0,l.jsxs)(t.Z,{sx:{display:"flex",flexDirection:{xs:"column",sm:"row"},gap:2,mb:3,alignItems:{xs:"stretch",sm:"center"},justifyContent:"space-between"},children:[(0,l.jsxs)(b.Z,{value:m,exclusive:!0,onChange:(e,s)=>{null!==s&&Z(s)},size:"small",sx:{flexShrink:0},children:[(0,l.jsx)(y.Z,{value:"all",children:"All"}),(0,l.jsx)(y.Z,{value:"available",children:"Available"}),(0,l.jsx)(y.Z,{value:"locked",children:"Locked"})]}),(0,l.jsx)(j.Z,{size:"small",placeholder:"Search worlds...",value:h,onChange:e=>u(e.target.value),InputProps:{startAdornment:(0,l.jsx)(v.Z,{position:"start",children:(0,l.jsx)(w.Z,{})})},sx:{flexGrow:{xs:1,sm:0},minWidth:{sm:300}}})]}),(0,l.jsxs)(c.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:[p.length," ",1===p.length?"world":"worlds"]}),0===p.length?(0,l.jsx)(t.Z,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"200px",gap:2},children:(0,l.jsx)(c.Z,{variant:"h6",color:"text.secondary",children:"No worlds found"})}):(0,l.jsx)(f.ZP,{container:!0,spacing:2,children:p.map(e=>(0,l.jsx)(f.ZP,{item:!0,xs:12,sm:6,md:4,children:(0,l.jsx)(E,{world:e,onAssign:n,onRelease:a,onDelete:o,loading:x.includes(e.name)})},e.name))})]})}let R={name:"",seed:""};function T(e){let{open:s,onClose:n,onSubmit:a,loading:d=!1}=e,[c,Z]=(0,r.useState)(R),[g,p]=(0,r.useState)({});(0,r.useEffect)(()=>{s||(Z(R),p({}))},[s]);let f=e=>e?/^[a-z0-9-]+$/.test(e)?null:"Only lowercase letters, numbers, and hyphens are allowed":"World name is required",v=e=>s=>{let n=s.target.value;Z(s=>({...s,[e]:n})),g[e]&&p(s=>({...s,[e]:""}))};return(0,l.jsx)(x.Z,{open:s,onClose:d?void 0:n,maxWidth:"sm",fullWidth:!0,children:(0,l.jsxs)("form",{onSubmit:e=>{e.preventDefault(),p({});let s=f(c.name);if(s){p({name:s});return}a({name:c.name,...c.seed?{seed:c.seed}:{}})},children:[(0,l.jsx)(h.Z,{children:"Create New World"}),(0,l.jsx)(u.Z,{children:(0,l.jsxs)(t.Z,{sx:{display:"flex",flexDirection:"column",gap:2,pt:1},children:[(0,l.jsx)(j.Z,{label:"World Name",value:c.name,onChange:v("name"),error:!!g.name,helperText:g.name||"Only lowercase letters, numbers, and hyphens",fullWidth:!0,autoFocus:!0,disabled:d}),(0,l.jsx)(j.Z,{label:"Seed (optional)",value:c.seed||"",onChange:v("seed"),helperText:"Leave empty for a random seed",fullWidth:!0,disabled:d})]})}),(0,l.jsxs)(m.Z,{sx:{px:3,pb:2},children:[(0,l.jsx)(i.Z,{onClick:n,disabled:d,children:"Cancel"}),(0,l.jsx)(i.Z,{type:"submit",variant:"contained",disabled:d,startIcon:d?(0,l.jsx)(o.Z,{size:16}):null,children:d?"Creating...":"Create"})]})]})})}var O=n(7178),_=n(92666);function q(e){let{open:s,worldName:n,onClose:d,onSubmit:Z,loading:g=!1}=e,[p,f]=(0,r.useState)(""),{data:v,isLoading:y}=(0,_.x$)();(0,r.useEffect)(()=>{s||f("")},[s]);let b=(null==v?void 0:v.servers)||[],w=b.filter(e=>"running"!==e.status),C=b.filter(e=>"running"===e.status);return(0,l.jsx)(x.Z,{open:s,onClose:g?void 0:d,maxWidth:"sm",fullWidth:!0,children:(0,l.jsxs)("form",{onSubmit:e=>{e.preventDefault(),p&&Z(n,p)},children:[(0,l.jsxs)(h.Z,{children:["Assign World: ",n]}),(0,l.jsx)(u.Z,{children:(0,l.jsx)(t.Z,{sx:{display:"flex",flexDirection:"column",gap:2,pt:1},children:y?(0,l.jsx)(t.Z,{sx:{display:"flex",justifyContent:"center",py:4},children:(0,l.jsx)(o.Z,{})}):0===b.length?(0,l.jsx)(c.Z,{color:"text.secondary",children:"No servers available. Create a server first."}):(0,l.jsxs)(l.Fragment,{children:[0===w.length&&C.length>0&&(0,l.jsx)(a.Z,{severity:"warning",children:"All servers are currently running. It is recommended to assign worlds to stopped servers."}),(0,l.jsxs)(j.Z,{label:"Select Server",select:!0,value:p,onChange:e=>f(e.target.value),fullWidth:!0,disabled:g,helperText:"Select a server to assign this world to",children:[w.length>0&&(0,l.jsx)(O.Z,{disabled:!0,children:(0,l.jsx)(c.Z,{variant:"caption",color:"text.secondary",children:"Available Servers"})}),w.map(e=>(0,l.jsx)(O.Z,{value:e.name,children:e.name},e.name)),C.length>0&&(0,l.jsx)(O.Z,{disabled:!0,children:(0,l.jsx)(c.Z,{variant:"caption",color:"text.secondary",children:"Running Servers (not recommended)"})}),C.map(e=>(0,l.jsx)(O.Z,{value:e.name,children:e.name},e.name))]})]})})}),(0,l.jsxs)(m.Z,{sx:{px:3,pb:2},children:[(0,l.jsx)(i.Z,{onClick:d,disabled:g,children:"Cancel"}),(0,l.jsx)(i.Z,{type:"submit",variant:"contained",disabled:g||!p||y,startIcon:g?(0,l.jsx)(o.Z,{size:16}):null,children:g?"Assigning...":"Assign"})]})]})})}function M(){var e,s,n,f;let[v,y]=(0,r.useState)(!1),[b,w]=(0,r.useState)(null),[C,S]=(0,r.useState)(null),[k,W]=(0,r.useState)(""),[z,D]=(0,r.useState)([]),{data:I,isLoading:A,error:F}=(0,_.Sr)(),L=(0,_.hy)(),P=(0,_.nq)(),E=(0,_.g2)(),R=(0,_.Fv)(),O=async e=>{D(s=>[...s,e]);try{await E.mutateAsync({worldName:e})}catch(e){console.error("Failed to release world:",e)}finally{D(s=>s.filter(s=>s!==e))}};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(d.Z,{elevation:0,sx:{mb:4,p:3,background:e=>"linear-gradient(135deg, ".concat((0,Z.Fq)(e.palette.success.main,.1)," 0%, ").concat((0,Z.Fq)(e.palette.primary.main,.1)," 100%)"),borderRadius:2,border:e=>"1px solid ".concat((0,Z.Fq)(e.palette.success.main,.2)),display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,l.jsxs)(t.Z,{sx:{display:"flex",alignItems:"center",gap:2},children:[(0,l.jsx)(t.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",width:56,height:56,borderRadius:2,bgcolor:"success.main",color:"success.contrastText"},children:(0,l.jsx)(p.Z,{sx:{fontSize:32}})}),(0,l.jsxs)(t.Z,{children:[(0,l.jsx)(c.Z,{variant:"h4",component:"h1",fontWeight:"bold",children:"Worlds"}),(0,l.jsx)(c.Z,{variant:"body1",color:"text.secondary",children:"Manage your Minecraft worlds"})]})]}),(0,l.jsx)(i.Z,{variant:"contained",startIcon:(0,l.jsx)(g.Z,{}),onClick:()=>y(!0),size:"large",children:"Create World"})]}),F&&(0,l.jsxs)(a.Z,{severity:"error",sx:{mb:3},children:["Failed to load worlds: ",F.message]}),L.isError&&(0,l.jsxs)(a.Z,{severity:"error",sx:{mb:3},children:["Failed to create world: ",null===(e=L.error)||void 0===e?void 0:e.message]}),P.isError&&(0,l.jsxs)(a.Z,{severity:"error",sx:{mb:3},children:["Failed to assign world: ",null===(s=P.error)||void 0===s?void 0:s.message]}),E.isError&&(0,l.jsxs)(a.Z,{severity:"error",sx:{mb:3},children:["Failed to release world: ",null===(n=E.error)||void 0===n?void 0:n.message]}),R.isError&&(0,l.jsxs)(a.Z,{severity:"error",sx:{mb:3},children:["Failed to delete world: ",null===(f=R.error)||void 0===f?void 0:f.message]}),A?(0,l.jsx)(t.Z,{sx:{display:"flex",justifyContent:"center",py:8},children:(0,l.jsx)(o.Z,{})}):(0,l.jsx)(N,{worlds:(null==I?void 0:I.worlds)||[],onAssign:e=>w(e),onRelease:O,onDelete:e=>{S(e),W("")},onCreate:()=>y(!0),loadingWorlds:z}),(0,l.jsx)(T,{open:v,onClose:()=>{y(!1),L.reset()},onSubmit:e=>{L.mutate(e,{onSuccess:()=>{y(!1)}})},loading:L.isPending}),(0,l.jsx)(q,{open:!!b,worldName:b||"",onClose:()=>w(null),onSubmit:(e,s)=>{D(s=>[...s,e]),P.mutate({worldName:e,serverName:s},{onSuccess:()=>{w(null)},onSettled:()=>{D(s=>s.filter(s=>s!==e))}})},loading:P.isPending}),(0,l.jsxs)(x.Z,{open:!!C,onClose:()=>{S(null),W("")},maxWidth:"sm",fullWidth:!0,children:[(0,l.jsx)(h.Z,{children:"Delete World"}),(0,l.jsxs)(u.Z,{children:[(0,l.jsxs)(c.Z,{sx:{mb:2},children:["This action cannot be undone. Type ",(0,l.jsx)("strong",{children:C})," to confirm deletion."]}),(0,l.jsx)(j.Z,{label:"World name",value:k,onChange:e=>W(e.target.value),fullWidth:!0,autoFocus:!0})]}),(0,l.jsxs)(m.Z,{sx:{px:3,pb:2},children:[(0,l.jsx)(i.Z,{onClick:()=>{S(null),W("")},children:"Cancel"}),(0,l.jsx)(i.Z,{variant:"contained",color:"error",onClick:()=>{C&&k===C&&(D(e=>[...e,C]),R.mutate({name:C,force:!0},{onSuccess:()=>{S(null),W("")},onSettled:()=>{D(e=>e.filter(e=>e!==C))}}))},disabled:k!==C||R.isPending,startIcon:R.isPending?(0,l.jsx)(o.Z,{size:16}):null,children:R.isPending?"Deleting...":"Delete"})]})]})]})}}},function(e){e.O(0,[6812,9760,5004,7296,7436,1071,540,4416,2538,880,5511,6909,3333,2666,3669,2757,1744],function(){return e(e.s=6199)}),_N_E=e.O()}]);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|