@minecraft-docker/mcctl-console 2.4.1 → 2.6.0
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/package.json +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/BUILD_ID +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/app-build-manifest.json +48 -48
- 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.js.nft.json +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.js +2 -2
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/audit-logs/page.js.nft.json +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.js.nft.json +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 +5 -5
- 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.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/players/page.js.nft.json +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.js +4 -4
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/routing/page.js.nft.json +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.js.nft.json +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 -1
- 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 -1
- 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.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/settings/page.js.nft.json +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.js.nft.json +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/api/players/route.js +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 +3 -3
- 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 +2 -2
- 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 +1 -1
- 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 +1 -1
- 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 +20 -20
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/2743.js +54 -0
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/354.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/4609.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/5843.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/{5845.js → 6509.js} +5 -5
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/7573.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/8055.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/8849.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/9874.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/platform/services/mcctl-console/.next/server/next-font-manifest.js +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/next-font-manifest.json +1 -1
- 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/2535-54681cf49f7f39e8.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/3333-7e2d13faa47ed67e.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/3945-7c1c5f7e488ff042.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/4187-07672ba5a9f76f7c.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/4240-16f6e4c7e86ef2ce.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/4436-bf86b627021ca7ab.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/5381-d66dae5d5171cd57.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/7082-a03865af2ed57a67.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/7965-51dfb844f8b8584c.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/8233-0fdf0ee81a8cadce.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/8468-8346b1d9ff3f7efa.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/8858-e009f69745d12205.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/audit-logs/{page-2763a56ce0490dd1.js → page-90479d797d04efdb.js} +1 -1
- package/.next/{static/chunks/app/(main)/dashboard/page-b2677b1041311201.js → standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/dashboard/page-aa8e2d7970450b2a.js} +1 -1
- package/.next/{static/chunks/app/(main)/layout-9ce7f2bf657eacfa.js → standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/layout-e6d8aef242d7e516.js} +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/players/{page-785e0ce7c07f8119.js → page-4a3f72a092662e75.js} +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/routing/page-29d4216d11c4d426.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/servers/[name]/page-ab34db97055578dd.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/servers/{page-c5378a7bfc6472ca.js → page-4324a833564ed326.js} +1 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/settings/page-12a46542ea952feb.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/worlds/page-7f194148444c39f3.js +1 -0
- package/.next/standalone/platform/services/mcctl-console/.next/static/css/4d6bfee1e91e393d.css +1 -0
- package/.next/standalone/platform/services/mcctl-console/package.json +1 -1
- package/.next/static/chunks/2535-54681cf49f7f39e8.js +1 -0
- package/.next/static/chunks/3333-7e2d13faa47ed67e.js +1 -0
- package/.next/static/chunks/3945-7c1c5f7e488ff042.js +1 -0
- package/.next/static/chunks/4187-07672ba5a9f76f7c.js +1 -0
- package/.next/static/chunks/4240-16f6e4c7e86ef2ce.js +1 -0
- package/.next/static/chunks/4436-bf86b627021ca7ab.js +1 -0
- package/.next/static/chunks/5381-d66dae5d5171cd57.js +1 -0
- package/.next/static/chunks/7082-a03865af2ed57a67.js +1 -0
- package/.next/static/chunks/7965-51dfb844f8b8584c.js +1 -0
- package/.next/static/chunks/8233-0fdf0ee81a8cadce.js +1 -0
- package/.next/static/chunks/8468-8346b1d9ff3f7efa.js +1 -0
- package/.next/static/chunks/8858-e009f69745d12205.js +1 -0
- package/.next/static/chunks/app/(main)/audit-logs/{page-2763a56ce0490dd1.js → page-90479d797d04efdb.js} +1 -1
- package/.next/{standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/dashboard/page-b2677b1041311201.js → static/chunks/app/(main)/dashboard/page-aa8e2d7970450b2a.js} +1 -1
- package/.next/{standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/layout-9ce7f2bf657eacfa.js → static/chunks/app/(main)/layout-e6d8aef242d7e516.js} +1 -1
- package/.next/static/chunks/app/(main)/players/{page-785e0ce7c07f8119.js → page-4a3f72a092662e75.js} +1 -1
- package/.next/static/chunks/app/(main)/routing/page-29d4216d11c4d426.js +1 -0
- package/.next/static/chunks/app/(main)/servers/[name]/page-ab34db97055578dd.js +1 -0
- package/.next/static/chunks/app/(main)/servers/{page-c5378a7bfc6472ca.js → page-4324a833564ed326.js} +1 -1
- package/.next/static/chunks/app/(main)/settings/page-12a46542ea952feb.js +1 -0
- package/.next/static/chunks/app/(main)/worlds/page-7f194148444c39f3.js +1 -0
- package/.next/static/css/4d6bfee1e91e393d.css +1 -0
- package/package.json +2 -2
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/3810.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/4207.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/4282.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/7402.js +0 -54
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/7445.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/9350.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/190-9ecdd3c2ad7fadef.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/2698-aeed063326ab23db.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/4474-b7d88543d50f7f58.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/4596-fa980f5e0b65f2b7.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/4682-61f6b7ad99cfd0c9.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/5381-4e3aac97e0617278.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/5386-a568e84580b1d208.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/7965-a31f12b5a5f1519b.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/8918-bae025d477685e7d.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/9727-8e82372636a2fca6.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/9951-34eb9e4c6b6cdd23.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/routing/page-8333f2419cbdd686.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/servers/[name]/page-c4822f1e941923cd.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/settings/page-af345917f438de8d.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/worlds/page-01447db96eaf75eb.js +0 -1
- package/.next/standalone/platform/services/mcctl-console/.next/static/css/2a015360a6bc64f3.css +0 -1
- package/.next/static/chunks/190-9ecdd3c2ad7fadef.js +0 -1
- package/.next/static/chunks/2698-aeed063326ab23db.js +0 -1
- package/.next/static/chunks/4474-b7d88543d50f7f58.js +0 -1
- package/.next/static/chunks/4596-fa980f5e0b65f2b7.js +0 -1
- package/.next/static/chunks/4682-61f6b7ad99cfd0c9.js +0 -1
- package/.next/static/chunks/5381-4e3aac97e0617278.js +0 -1
- package/.next/static/chunks/5386-a568e84580b1d208.js +0 -1
- package/.next/static/chunks/7965-a31f12b5a5f1519b.js +0 -1
- package/.next/static/chunks/8918-bae025d477685e7d.js +0 -1
- package/.next/static/chunks/9727-8e82372636a2fca6.js +0 -1
- package/.next/static/chunks/9951-34eb9e4c6b6cdd23.js +0 -1
- package/.next/static/chunks/app/(main)/routing/page-8333f2419cbdd686.js +0 -1
- package/.next/static/chunks/app/(main)/servers/[name]/page-c4822f1e941923cd.js +0 -1
- package/.next/static/chunks/app/(main)/settings/page-af345917f438de8d.js +0 -1
- package/.next/static/chunks/app/(main)/worlds/page-01447db96eaf75eb.js +0 -1
- package/.next/static/css/2a015360a6bc64f3.css +0 -1
- /package/.next/standalone/platform/services/mcctl-console/.next/static/{410QNMogV71xOxsRe568N → fdYvEyTkN35IFbAO8RHVv}/_buildManifest.js +0 -0
- /package/.next/standalone/platform/services/mcctl-console/.next/static/{410QNMogV71xOxsRe568N → fdYvEyTkN35IFbAO8RHVv}/_ssgManifest.js +0 -0
- /package/.next/static/{410QNMogV71xOxsRe568N → fdYvEyTkN35IFbAO8RHVv}/_buildManifest.js +0 -0
- /package/.next/static/{410QNMogV71xOxsRe568N → fdYvEyTkN35IFbAO8RHVv}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var e={};e.id=278,e.ids=[278],e.modules={85890:e=>{"use strict";e.exports=require("better-sqlite3")},72934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},54580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},45869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},20399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},92048:e=>{"use strict";e.exports=require("fs")},55315:e=>{"use strict";e.exports=require("path")},17360:e=>{"use strict";e.exports=require("url")},61509:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>a.a,__next_app__:()=>x,originalPathname:()=>u,pages:()=>c,routeModule:()=>p,tree:()=>d}),r(40579),r(26072),r(82395),r(97759);var s=r(95530),n=r(45086),i=r(13937),a=r.n(i),o=r(45587),l={};for(let e in o)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(l[e]=()=>o[e]);r.d(t,l);let d=["",{children:["(main)",{children:["servers",{children:["[name]",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,40579)),"/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/(main)/servers/[name]/page.tsx"]}]},{}]},{}]},{layout:[()=>Promise.resolve().then(r.bind(r,26072)),"/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/(main)/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,82395,23)),"next/dist/client/components/not-found-error"],metadata:{icon:[async e=>(await Promise.resolve().then(r.bind(r,52001))).default(e)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[()=>Promise.resolve().then(r.bind(r,97759)),"/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,82395,23)),"next/dist/client/components/not-found-error"],metadata:{icon:[async e=>(await Promise.resolve().then(r.bind(r,52001))).default(e)],apple:[],openGraph:[],twitter:[],manifest:void 0}}],c=["/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/(main)/servers/[name]/page.tsx"],u="/(main)/servers/[name]/page",x={require:r,loadChunk:()=>Promise.resolve()},p=new s.AppPageRouteModule({definition:{kind:n.x.APP_PAGE,page:"/(main)/servers/[name]/page",pathname:"/servers/[name]",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:d}})},21515:(e,t,r)=>{Promise.resolve().then(r.bind(r,9426))},42902:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),i=r(58120);t.Z=(0,n.default)([(0,i.jsx)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"},"0"),(0,i.jsx)("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"},"1")],"AccessTime")},65757:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),i=r(58120);t.Z=(0,n.default)((0,i.jsx)("path",{d:"m22.7 19-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4"}),"Build")},66147:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),i=r(58120);t.Z=(0,n.default)((0,i.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zm2.46-7.12 1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"}),"DeleteForever")},86202:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),i=r(58120);t.Z=(0,n.default)((0,i.jsx)("path",{d:"M5 20h14v-2H5zM19 9h-4V3H9v6H5l7 7z"}),"Download")},50582:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),i=r(58120);t.Z=(0,n.default)((0,i.jsx)("path",{d:"M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5C13 2.12 11.88 1 10.5 1S8 2.12 8 3.5V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5c1.38 0 2.5-1.12 2.5-2.5S21.88 11 20.5 11"}),"Extension")},46973:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),i=r(58120);t.Z=(0,n.default)((0,i.jsx)("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V8h16z"}),"FolderOpen")},82538:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),i=r(58120);t.Z=(0,n.default)((0,i.jsx)("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"}),"KeyboardArrowDown")},75614:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),i=r(58120);t.Z=(0,n.default)((0,i.jsx)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2m6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56M12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96M4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2 0 .68.06 1.34.14 2zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56m2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8M12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96M14.34 14H9.66c-.09-.66-.16-1.32-.16-2 0-.68.07-1.35.16-2h4.68c.09.65.16 1.32.16 2 0 .68-.07 1.34-.16 2m.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56M16.36 14c.08-.66.14-1.32.14-2 0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2z"}),"Language")},58039:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),i=r(58120);t.Z=(0,n.default)((0,i.jsx)("path",{d:"m21.41 11.58-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7"}),"LocalOffer")},25414:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),i=r(58120);t.Z=(0,n.default)((0,i.jsx)("path",{d:"M21 11V3h-8l3.29 3.29-10 10L3 13v8h8l-3.29-3.29 10-10z"}),"OpenInFull")},17820:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),i=r(58120);t.Z=(0,n.default)((0,i.jsx)("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8m-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91"}),"RestartAlt")},11475:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),i=r(58120);t.Z=(0,n.default)((0,i.jsx)("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z"}),"Save")},7060:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),i=r(58120);t.Z=(0,n.default)((0,i.jsx)("path",{d:"M18 2h-8L4.02 8 4 20c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-6 6h-2V4h2zm3 0h-2V4h2zm3 0h-2V4h2z"}),"SdStorage")},36438:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),i=r(58120);t.Z=(0,n.default)((0,i.jsx)("path",{d:"m20.38 8.57-1.23 1.85a8 8 0 0 1-.22 7.58H5.07A8 8 0 0 1 15.58 6.85l1.85-1.23A10 10 0 0 0 3.35 19a2 2 0 0 0 1.72 1h13.85a2 2 0 0 0 1.74-1 10 10 0 0 0-.27-10.44zm-9.79 6.84a2 2 0 0 0 2.83 0l5.66-8.49-8.49 5.66a2 2 0 0 0 0 2.83"}),"Speed")},43992:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),i=r(58120);t.Z=(0,n.default)((0,i.jsx)("path",{d:"M20 4H4c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2m0 14H4V8h16zm-2-1h-6v-2h6zM7.5 17l-1.41-1.41L8.67 13l-2.59-2.59L7.5 9l4 4z"}),"Terminal")},23090:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),i=r(58120);t.Z=(0,n.default)((0,i.jsx)("path",{d:"m18.25 7.6-5.5-3.18c-.46-.27-1.04-.27-1.5 0L5.75 7.6c-.46.27-.75.76-.75 1.3v6.35c0 .54.29 1.03.75 1.3l5.5 3.18c.46.27 1.04.27 1.5 0l5.5-3.18c.46-.27.75-.76.75-1.3V8.9c0-.54-.29-1.03-.75-1.3M7 14.96v-4.62l4 2.32v4.61zm5-4.03L8 8.61l4-2.31 4 2.31zm1 6.34v-4.61l4-2.32v4.62zM7 2H3.5C2.67 2 2 2.67 2 3.5V7h2V4h3zm10 0h3.5c.83 0 1.5.67 1.5 1.5V7h-2V4h-3zM7 22H3.5c-.83 0-1.5-.67-1.5-1.5V17h2v3h3zm10 0h3.5c.83 0 1.5-.67 1.5-1.5V17h-2v3h-3z"}),"ViewInAr")},26518:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),i=r(58120);t.Z=(0,n.default)((0,i.jsx)("path",{d:"M1 21h22L12 2zm12-3h-2v-2h2zm0-4h-2v-4h2z"}),"Warning")},9426:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>tG});var s,n,i=r(58120),a=r(36372),o=r(56539),l=r(49856),d=r(89352),c=r(10257),u=r(54365),x=r(66757),p=r(79943),h=r(68913),m=r(67073),g=r(92797),v=r(2365),f=r(51232),Z=r(99634),j=r(63654),b=r(63856),y=r(34443),C=r(44696),S=r(15539),w=r(51290),k=r(6275),I=r(73100),R=r(95940),P=r(43312),z=r(29553),$=r(54655),A=r(96454),O=r(23090),M=r(58039),F=r(30463),W=r(42902),L=r(48787),D=r(92559),T=r(80336),N=r(33615),H=r(36438),E=r(7060),B=r(46973),q=r(25414),V=r(82538),U=r(43992),K=r(95223);function G({value:e,unit:t,label:r,icon:s,progress:n,progressMax:a,color:o="#1bd96a"}){return(0,i.jsxs)(m.Z,{"data-testid":"resource-stat-card",sx:{p:2.5,bgcolor:"background.paper",border:"1px solid",borderColor:"divider",borderRadius:3},children:[(0,i.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:2},children:[(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"baseline",gap:.75,flexWrap:"wrap",minWidth:0},children:[i.jsx(v.Z,{variant:"h4",component:"span",sx:{fontWeight:700,color:"text.primary",fontFamily:"'JetBrains Mono', 'Fira Code', monospace",letterSpacing:"-0.5px"},children:e}),i.jsx(v.Z,{variant:"body2",component:"span",sx:{color:"text.secondary",fontWeight:500},children:t})]}),i.jsx(d.Z,{sx:{color:"text.secondary",flexShrink:0},children:s})]}),i.jsx(v.Z,{variant:"body2",sx:{color:"text.secondary",fontWeight:500,mt:.5},children:r}),i.jsx(K.Z,{variant:"determinate",value:Math.min(n/a*100,100),sx:{mt:1,height:6,borderRadius:1.5,bgcolor:"#2a2d3a","& .MuiLinearProgress-bar":{borderRadius:1.5,background:`linear-gradient(90deg, ${o} 0%, ${o}cc 100%)`}}})]})}var _=r(50423),J=r(6418),Q=r(58664),Y=r(73091),X=r(98243),ee=r(40611),et=r(95722),er=r(71438),es=r(55049),en=r(15784);function ei({serverName:e}){let{data:t,isLoading:r,error:s}=(0,en.HZ)(e,{limit:20});if(r)return i.jsx(d.Z,{children:[void 0,void 0,void 0,void 0,void 0].map((e,t)=>(0,i.jsxs)(d.Z,{sx:{display:"flex",gap:2,py:1.5},children:[i.jsx(h.Z,{variant:"rounded",width:60,height:24}),i.jsx(h.Z,{variant:"text",width:"60%"}),i.jsx(h.Z,{variant:"text",width:50})]},t))});if(s)return(0,i.jsxs)(x.Z,{severity:"error",children:["Failed to load activity: ",s.message]});let n=t?.logs??[];if(0===n.length)return i.jsx(v.Z,{variant:"body2",color:"text.secondary",sx:{py:4,textAlign:"center"},children:"No activity recorded for this server yet."});let a=`/audit-logs?targetType=server&targetName=${encodeURIComponent(e)}`;return(0,i.jsxs)(d.Z,{children:[i.jsx(Q.Z,{sx:{py:0},children:n.map(e=>{var t;return i.jsx(Y.ZP,{sx:{px:0,py:1.5,"&:not(:last-child)":{borderBottom:"1px solid",borderColor:"divider"}},children:i.jsx(b.Z,{primary:(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[i.jsx(er.I,{action:e.action,size:"small"}),(0,i.jsxs)(v.Z,{variant:"body2",color:"text.secondary",children:["by ",e.actor.replace("api:","").replace("cli:","")]}),i.jsx(es.c,{status:e.status,size:"small"})]}),secondary:i.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:i.jsx(v.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?`${s}m ago`:n<24?`${n}h ago`:`${Math.floor(n/24)}d ago`}(e.timestamp)})})})},e.id)})}),i.jsx(d.Z,{sx:{mt:2,textAlign:"center"},children:i.jsx(c.Z,{component:ee.default,href:a,size:"small",endIcon:i.jsx(et.Z,{}),sx:{textTransform:"none"},children:"View Full History"})})]})}var ea=r(73276),eo=r(32486),el=r(2200),ed=r(14360),ec=r(16770),eu=r(60920),ex=r(11475),ep=r(26518),eh=r(66147),em=r(17820),eg=r(74151),ev=r(23016),ef=r(61960),eZ=r(29564),ej=r(75614);function eb({serverName:e}){let{data:t,isLoading:r}=(0,eg.Js)(e),s=(0,eg.Bx)(),[n,o]=(0,a.useState)([]),[l,h]=(0,a.useState)(!1),[f,Z]=(0,a.useState)(!1),[j,b]=(0,a.useState)(""),[y,C]=(0,a.useState)(""),[S,w]=(0,a.useState)(!1),[I,R]=(0,a.useState)({open:!1,message:"",severity:"success"}),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":n.includes(t)?"Domain already exists":"":"Invalid domain format":"Domain cannot be empty"},z=()=>{let e=j.trim().toLowerCase(),t=P(e);if(t){C(t);return}o(t=>[...t,e]),b(""),C(""),Z(!1),h(!0)},$=e=>{o(t=>t.filter(t=>t!==e)),h(!0)},O=async()=>{try{await s.mutateAsync({serverName:e,customHostnames:n}),h(!1),w(!0),R({open:!0,message:"Hostnames saved. Container recreation required to apply changes.",severity:"warning"})}catch(e){R({open:!0,message:e instanceof Error?e.message:"Failed to save hostnames",severity:"error"})}},M=()=>{Z(!1),b(""),C("")};return r?i.jsx(m.Z,{sx:{mb:3,borderRadius:3},children:i.jsx(g.Z,{children:i.jsx(d.Z,{sx:{display:"flex",justifyContent:"center",py:4},children:i.jsx(p.Z,{size:24})})})}):(0,i.jsxs)(i.Fragment,{children:[i.jsx(m.Z,{sx:{mb:3,borderRadius:3},children:(0,i.jsxs)(g.Z,{children:[(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:1},children:[i.jsx(ej.Z,{color:"primary"}),i.jsx(v.Z,{variant:"h6",fontWeight:600,children:"Hostnames / Domains"})]}),i.jsx(v.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"Manage hostnames used by mc-router to route connections to this server."}),i.jsx(T.Z,{sx:{mb:3}}),t?.systemHostnames&&t.systemHostnames.length>0&&(0,i.jsxs)(d.Z,{sx:{mb:3},children:[i.jsx(v.Z,{variant:"subtitle2",color:"text.secondary",sx:{mb:1},children:"System Hostnames (read-only)"}),i.jsx(ev.Z,{direction:"row",flexWrap:"wrap",gap:1,children:t.systemHostnames.map(e=>i.jsx(L.Z,{icon:i.jsx(ef.Z,{sx:{fontSize:16}}),label:e.hostname,title:e.description,variant:"outlined",color:"default",size:"small"},e.hostname))})]}),(0,i.jsxs)(d.Z,{sx:{mb:2},children:[i.jsx(v.Z,{variant:"subtitle2",color:"text.secondary",sx:{mb:1},children:"Custom Domains"}),0===n.length&&!f&&i.jsx(v.Z,{variant:"body2",color:"text.disabled",sx:{mb:1},children:"No custom domains configured."}),i.jsx(ev.Z,{spacing:1,children:n.map(e=>(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",py:.5,px:1.5,borderRadius:1,bgcolor:"action.hover"},children:[i.jsx(v.Z,{variant:"body2",fontFamily:"monospace",children:e}),i.jsx(u.Z,{size:"small",color:"error",onClick:()=>$(e),title:"Remove domain",children:i.jsx(A.Z,{fontSize:"small"})})]},e))}),f?(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"flex-start",gap:1,mt:1},children:[i.jsx(k.Z,{size:"small",placeholder:"e.g. play.example.com",value:j,onChange:e=>{b(e.target.value),C("")},onKeyDown:e=>{"Enter"===e.key&&z(),"Escape"===e.key&&M()},error:!!y,helperText:y,autoFocus:!0,sx:{flex:1}}),i.jsx(c.Z,{size:"small",variant:"contained",onClick:z,children:"Add"}),i.jsx(u.Z,{size:"small",onClick:M,children:i.jsx(N.Z,{fontSize:"small"})})]}):i.jsx(c.Z,{size:"small",startIcon:i.jsx(eZ.Z,{}),onClick:()=>Z(!0),sx:{mt:1},children:"Add Domain"})]}),S&&(0,i.jsxs)(x.Z,{severity:"warning",sx:{mb:2},children:["Container recreation is required for hostname changes to take effect. Run ",i.jsx("code",{children:"docker compose up -d"})," or restart the server from the dashboard."]}),i.jsx(d.Z,{sx:{display:"flex",justifyContent:"flex-end"},children:i.jsx(c.Z,{variant:"contained",size:"small",startIcon:i.jsx(ex.Z,{}),onClick:O,disabled:!l||s.isPending,children:s.isPending?"Saving...":"Save Hostnames"})})]})}),i.jsx(eu.Z,{open:I.open,autoHideDuration:6e3,onClose:()=>R({...I,open:!1}),anchorOrigin:{vertical:"bottom",horizontal:"right"},children:i.jsx(x.Z,{onClose:()=>R({...I,open:!1}),severity:I.severity,sx:{width:"100%"},children:I.message})})]})}function ey({serverName:e,isRunning:t}){let{data:r,isLoading:s}=(0,eg.iC)(e),n=(0,eg.MH)(),o=(0,eg.gx)(),[l,u]=(0,a.useState)({}),[h,f]=(0,a.useState)(!1),[j,b]=(0,a.useState)(!1),[R,P]=(0,a.useState)(!1),[z,$]=(0,a.useState)(""),[A,O]=(0,a.useState)({open:!1,message:"",severity:"info"}),M=(e,t)=>{u(r=>({...r,[e]:t})),f(!0),("memory"===e||"useAikarFlags"===e)&&b(!0)},F=async()=>{try{let t=await n.mutateAsync({serverName:e,config:l});O({open:!0,message:t.restartRequired?"Settings saved. Restart required for some changes to take effect.":"Settings saved successfully.",severity:t.restartRequired?"warning":"success"}),f(!1),b(!1)}catch(e){O({open:!0,message:e instanceof Error?e.message:"Failed to save settings",severity:"error"})}},W=async()=>{if("RESET"!==z){O({open:!0,message:"Please type RESET to confirm",severity:"warning"});return}try{await o.mutateAsync(e),O({open:!0,message:"World reset successfully",severity:"success"}),P(!1),$("")}catch(e){O({open:!0,message:e instanceof Error?e.message:"Failed to reset world",severity:"error"})}};return s?i.jsx(d.Z,{sx:{display:"flex",justifyContent:"center",py:8},children:i.jsx(p.Z,{})}):(0,i.jsxs)(d.Z,{children:[i.jsx(eb,{serverName:e}),j&&i.jsx(x.Z,{severity:"warning",icon:i.jsx(ep.Z,{}),sx:{mb:3},children:"Performance settings require a server restart to take effect."}),i.jsx(m.Z,{sx:{mb:3,borderRadius:3},children:(0,i.jsxs)(g.Z,{children:[i.jsx(v.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Server Properties"}),i.jsx(v.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"These settings can be changed without restarting the server."}),i.jsx(T.Z,{sx:{mb:3}}),(0,i.jsxs)(I.ZP,{container:!0,spacing:3,children:[i.jsx(I.ZP,{item:!0,xs:12,children:i.jsx(k.Z,{fullWidth:!0,label:"MOTD (Message of the Day)",value:l.motd||"",onChange:e=>M("motd",e.target.value),helperText:"The message displayed in the server list"})}),i.jsx(I.ZP,{item:!0,xs:12,sm:6,children:i.jsx(k.Z,{fullWidth:!0,type:"number",label:"Max Players",value:l.maxPlayers||20,onChange:e=>M("maxPlayers",parseInt(e.target.value,10)),inputProps:{min:1,max:100}})}),i.jsx(I.ZP,{item:!0,xs:12,sm:6,children:(0,i.jsxs)(eo.Z,{fullWidth:!0,children:[i.jsx(el.Z,{children:"Difficulty"}),(0,i.jsxs)(ea.Z,{value:l.difficulty||"normal",label:"Difficulty",onChange:e=>M("difficulty",e.target.value),children:[i.jsx(Z.Z,{value:"peaceful",children:"Peaceful"}),i.jsx(Z.Z,{value:"easy",children:"Easy"}),i.jsx(Z.Z,{value:"normal",children:"Normal"}),i.jsx(Z.Z,{value:"hard",children:"Hard"})]})]})}),i.jsx(I.ZP,{item:!0,xs:12,sm:6,children:(0,i.jsxs)(eo.Z,{fullWidth:!0,children:[i.jsx(el.Z,{children:"Game Mode"}),(0,i.jsxs)(ea.Z,{value:l.gameMode||"survival",label:"Game Mode",onChange:e=>M("gameMode",e.target.value),children:[i.jsx(Z.Z,{value:"survival",children:"Survival"}),i.jsx(Z.Z,{value:"creative",children:"Creative"}),i.jsx(Z.Z,{value:"adventure",children:"Adventure"}),i.jsx(Z.Z,{value:"spectator",children:"Spectator"})]})]})}),i.jsx(I.ZP,{item:!0,xs:12,sm:6,children:i.jsx(ed.Z,{control:i.jsx(ec.Z,{checked:l.pvp??!0,onChange:e=>M("pvp",e.target.checked)}),label:"Enable PvP"})}),i.jsx(I.ZP,{item:!0,xs:12,sm:6,children:i.jsx(k.Z,{fullWidth:!0,type:"number",label:"View Distance (chunks)",value:l.viewDistance||10,onChange:e=>M("viewDistance",parseInt(e.target.value,10)),inputProps:{min:3,max:32}})}),i.jsx(I.ZP,{item:!0,xs:12,sm:6,children:i.jsx(k.Z,{fullWidth:!0,type:"number",label:"Spawn Protection (blocks)",value:l.spawnProtection||16,onChange:e=>M("spawnProtection",parseInt(e.target.value,10)),inputProps:{min:0,max:128}})})]})]})}),i.jsx(m.Z,{sx:{mb:3,borderRadius:3},children:(0,i.jsxs)(g.Z,{children:[i.jsx(v.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Performance Settings"}),i.jsx(v.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"These settings require a server restart to take effect."}),i.jsx(T.Z,{sx:{mb:3}}),(0,i.jsxs)(I.ZP,{container:!0,spacing:3,children:[i.jsx(I.ZP,{item:!0,xs:12,sm:6,children:i.jsx(k.Z,{fullWidth:!0,label:"Memory Allocation",value:l.memory||"4G",onChange:e=>M("memory",e.target.value),helperText:"Format: 4G, 8G, etc."})}),i.jsx(I.ZP,{item:!0,xs:12,sm:6,children:i.jsx(ed.Z,{control:i.jsx(ec.Z,{checked:l.useAikarFlags??!1,onChange:e=>M("useAikarFlags",e.target.checked)}),label:"Use Aikar's Flags (Optimized GC)"})})]})]})}),i.jsx(d.Z,{sx:{display:"flex",justifyContent:"flex-end",mb:3},children:i.jsx(c.Z,{variant:"contained",size:"large",startIcon:i.jsx(ex.Z,{}),onClick:F,disabled:!h||n.isPending,sx:{px:4},children:n.isPending?"Saving...":"Save Changes"})}),i.jsx(m.Z,{sx:{borderRadius:3,borderColor:"error.main",borderWidth:1,borderStyle:"solid"},children:(0,i.jsxs)(g.Z,{children:[i.jsx(v.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,color:"error",children:"Danger Zone"}),i.jsx(T.Z,{sx:{mb:3}}),(0,i.jsxs)(d.Z,{sx:{mb:3},children:[i.jsx(v.Z,{variant:"subtitle1",fontWeight:600,gutterBottom:!0,children:"Reset World"}),i.jsx(v.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."}),i.jsx(c.Z,{variant:"outlined",color:"error",startIcon:i.jsx(em.Z,{}),onClick:()=>P(!0),disabled:t,children:"Reset World"}),t&&i.jsx(v.Z,{variant:"caption",color:"text.secondary",sx:{ml:2},children:"Stop the server first"})]})]})}),(0,i.jsxs)(y.Z,{open:R,onClose:()=>P(!1),maxWidth:"sm",fullWidth:!0,children:[i.jsx(C.Z,{children:(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[i.jsx(ep.Z,{color:"error"}),i.jsx(v.Z,{variant:"h6",fontWeight:600,children:"Reset World"})]})}),(0,i.jsxs)(S.Z,{children:[(0,i.jsxs)(v.Z,{variant:"body1",gutterBottom:!0,children:["This will permanently delete the world for ",i.jsx("strong",{children:e})," and generate a new one."]}),i.jsx(v.Z,{variant:"body2",color:"text.secondary",gutterBottom:!0,children:"This action cannot be undone. All player progress and builds will be lost."}),i.jsx(k.Z,{fullWidth:!0,label:"Type RESET to confirm",value:z,onChange:e=>$(e.target.value),sx:{mt:3},autoFocus:!0})]}),(0,i.jsxs)(w.Z,{children:[i.jsx(c.Z,{onClick:()=>P(!1),children:"Cancel"}),i.jsx(c.Z,{variant:"contained",color:"error",onClick:W,disabled:"RESET"!==z||o.isPending,startIcon:o.isPending?i.jsx(p.Z,{size:16}):i.jsx(eh.Z,{}),children:o.isPending?"Resetting...":"Reset World"})]})]}),i.jsx(eu.Z,{open:A.open,autoHideDuration:6e3,onClose:()=>O({...A,open:!1}),anchorOrigin:{vertical:"bottom",horizontal:"right"},children:i.jsx(x.Z,{onClose:()=>O({...A,open:!1}),severity:A.severity,sx:{width:"100%"},children:A.message})})]})}var eC=r(61573),eS=r(45286),ew=r(59615),ek=r(65757),eI=r(27767),eR=r(9561),eP=r(79795);let ez={admin:{label:"Owner",color:"primary",variant:"filled"},manage:{label:"Operator",color:"info",variant:"outlined"},view:{label:"Viewer",color:"default",variant:"outlined"}};function e$({permission:e,size:t="medium"}){let r=ez[e];return i.jsx(L.Z,{label:r.label,color:r.color,variant:r.variant,size:t})}var eA=r(36885),eO=r(4981),eM=r(30330),eF=r(3693),eW=r(93445),eL=r(98925),eD=r(65806);let eT=e=>{let t=a.useRef({});return a.useEffect(()=>{t.current=e}),t.current};var eN=r(49982),eH=r(39119);function eE(e){return void 0!==e.normalize?e.normalize("NFD").replace(/[\u0300-\u036f]/g,""):e}function eB(e,t){for(let r=0;r<e.length;r+=1)if(t(e[r]))return r;return -1}let eq=function(e={}){let{ignoreAccents:t=!0,ignoreCase:r=!0,limit:s,matchFrom:n="any",stringify:i,trim:a=!1}=e;return(e,{inputValue:o,getOptionLabel:l})=>{let d=a?o.trim():o;r&&(d=d.toLowerCase()),t&&(d=eE(d));let c=d?e.filter(e=>{let s=(i||l)(e);return r&&(s=s.toLowerCase()),t&&(s=eE(s)),"start"===n?0===s.indexOf(d):s.indexOf(d)>-1}):e;return"number"==typeof s?c.slice(0,s):c}}(),eV=e=>{var t;return null!==e.current&&(null==(t=e.current.parentElement)?void 0:t.contains(document.activeElement))},eU=[],eK=function(e){let{unstable_isActiveElementInListbox:t=eV,unstable_classNamePrefix:r="Mui",autoComplete:s=!1,autoHighlight:n=!1,autoSelect:i=!1,blurOnSelect:o=!1,clearOnBlur:l=!e.freeSolo,clearOnEscape:d=!1,componentName:c="useAutocomplete",defaultValue:u=e.multiple?eU:null,disableClearable:x=!1,disableCloseOnSelect:p=!1,disabled:h,disabledItemsFocusable:m=!1,disableListWrap:g=!1,filterOptions:v=eq,filterSelectedOptions:f=!1,freeSolo:Z=!1,getOptionDisabled:j,getOptionKey:b,getOptionLabel:y=e=>{var t;return null!=(t=e.label)?t:e},groupBy:C,handleHomeEndKeys:S=!e.freeSolo,id:w,includeInputInList:k=!1,inputValue:I,isOptionEqualToValue:R=(e,t)=>e===t,multiple:P=!1,onChange:z,onClose:$,onHighlightChange:A,onInputChange:O,onOpen:M,open:F,openOnFocus:W=!1,options:L,readOnly:D=!1,selectOnFocus:T=!e.freeSolo,value:N}=e,H=(0,eL.Z)(w),E=y;E=e=>{let t=y(e);return"string"!=typeof t?String(t):t};let B=a.useRef(!1),q=a.useRef(!0),V=a.useRef(null),U=a.useRef(null),[K,G]=a.useState(null),[_,J]=a.useState(-1),Q=n?0:-1,Y=a.useRef(Q),[X,ee]=(0,eD.Z)({controlled:N,default:u,name:c}),[et,er]=(0,eD.Z)({controlled:I,default:"",name:c,state:"inputValue"}),[es,en]=a.useState(!1),ei=a.useCallback((e,t)=>{let r;if((P?X.length<t.length:null!==t)||l){if(P)r="";else if(null==t)r="";else{let e=E(t);r="string"==typeof e?e:""}et!==r&&(er(r),O&&O(e,r,"reset"))}},[E,et,P,O,er,l,X]),[ea,eo]=(0,eD.Z)({controlled:F,default:!1,name:c,state:"open"}),[el,ed]=a.useState(!0),ec=!P&&null!=X&&et===E(X),eu=ea&&!D,ex=eu?v(L.filter(e=>!(f&&(P?X:[X]).some(t=>null!==t&&R(e,t)))),{inputValue:ec&&el?"":et,getOptionLabel:E}):[],ep=eT({filteredOptions:ex,value:X,inputValue:et});a.useEffect(()=>{let e=X!==ep.value;(!es||e)&&(!Z||e)&&ei(null,X)},[X,ei,es,ep.value,Z]);let eh=ea&&ex.length>0&&!D,em=(0,eN.Z)(e=>{-1===e?V.current.focus():K.querySelector(`[data-tag-index="${e}"]`).focus()});a.useEffect(()=>{P&&_>X.length-1&&(J(-1),em(-1))},[X,P,_,em]);let eg=(0,eN.Z)(({event:e,index:t,reason:s="auto"})=>{if(Y.current=t,-1===t?V.current.removeAttribute("aria-activedescendant"):V.current.setAttribute("aria-activedescendant",`${H}-option-${t}`),A&&A(e,-1===t?null:ex[t],s),!U.current)return;let n=U.current.querySelector(`[role="option"].${r}-focused`);n&&(n.classList.remove(`${r}-focused`),n.classList.remove(`${r}-focusVisible`));let i=U.current;if("listbox"!==U.current.getAttribute("role")&&(i=U.current.parentElement.querySelector('[role="listbox"]')),!i)return;if(-1===t){i.scrollTop=0;return}let a=U.current.querySelector(`[data-option-index="${t}"]`);if(a&&(a.classList.add(`${r}-focused`),"keyboard"===s&&a.classList.add(`${r}-focusVisible`),i.scrollHeight>i.clientHeight&&"mouse"!==s&&"touch"!==s)){let e=i.clientHeight+i.scrollTop,t=a.offsetTop+a.offsetHeight;t>e?i.scrollTop=t-i.clientHeight:a.offsetTop-a.offsetHeight*(C?1.3:0)<i.scrollTop&&(i.scrollTop=a.offsetTop-a.offsetHeight*(C?1.3:0))}}),ev=(0,eN.Z)(({event:e,diff:t,direction:r="next",reason:n="auto"})=>{if(!eu)return;let i=function(e,t){if(!U.current||e<0||e>=ex.length)return -1;let r=e;for(;;){let s=U.current.querySelector(`[data-option-index="${r}"]`),n=!m&&(!s||s.disabled||"true"===s.getAttribute("aria-disabled"));if(s&&s.hasAttribute("tabindex")&&!n)return r;if((r="next"===t?(r+1)%ex.length:(r-1+ex.length)%ex.length)===e)return -1}}((()=>{let e=ex.length-1;if("reset"===t)return Q;if("start"===t)return 0;if("end"===t)return e;let r=Y.current+t;return r<0?-1===r&&k?-1:g&&-1!==Y.current||Math.abs(t)>1?0:e:r>e?r===e+1&&k?-1:g||Math.abs(t)>1?e:0:r})(),r);if(eg({index:i,reason:n,event:e}),s&&"reset"!==t){if(-1===i)V.current.value=et;else{let e=E(ex[i]);V.current.value=e,0===e.toLowerCase().indexOf(et.toLowerCase())&&et.length>0&&V.current.setSelectionRange(et.length,e.length)}}}),ef=()=>{var e;if(-1!==Y.current&&ep.filteredOptions&&ep.filteredOptions.length!==ex.length&&ep.inputValue===et&&(P?X.length===ep.value.length&&ep.value.every((e,t)=>E(X[t])===E(e)):((e=ep.value)?E(e):"")===(X?E(X):""))){let e=ep.filteredOptions[Y.current];if(e)return eB(ex,t=>E(t)===E(e))}return -1},eZ=a.useCallback(()=>{if(!eu)return;let e=ef();if(-1!==e){Y.current=e;return}let t=P?X[0]:X;if(0===ex.length||null==t){ev({diff:"reset"});return}if(U.current){if(null!=t){let e=ex[Y.current];if(P&&e&&-1!==eB(X,t=>R(e,t)))return;let r=eB(ex,e=>R(e,t));-1===r?ev({diff:"reset"}):eg({index:r});return}if(Y.current>=ex.length-1){eg({index:ex.length-1});return}eg({index:Y.current})}},[ex.length,!P&&X,f,ev,eg,eu,et,P]),ej=(0,eN.Z)(e=>{(0,eH.Z)(U,e),e&&eZ()});a.useEffect(()=>{eZ()},[eZ]);let eb=e=>{!ea&&(eo(!0),ed(!0),M&&M(e))},ey=(e,t)=>{ea&&(eo(!1),$&&$(e,t))},eC=(e,t,r,s)=>{if(P){if(X.length===t.length&&X.every((e,r)=>e===t[r]))return}else if(X===t)return;z&&z(e,t,r,s),ee(t)},eS=a.useRef(!1),ew=(e,t,r="selectOption",s="options")=>{let n=r,i=t;if(P){let e=eB(i=Array.isArray(X)?X.slice():[],e=>R(t,e));-1===e?i.push(t):"freeSolo"!==s&&(i.splice(e,1),n="removeOption")}ei(e,i),eC(e,i,n,{option:t}),p||e&&(e.ctrlKey||e.metaKey)||ey(e,n),(!0===o||"touch"===o&&eS.current||"mouse"===o&&!eS.current)&&V.current.blur()},ek=(e,t)=>{if(!P)return;""===et&&ey(e,"toggleInput");let r=_;-1===_?""===et&&"previous"===t&&(r=X.length-1):((r+="next"===t?1:-1)<0&&(r=0),r===X.length&&(r=-1)),J(r=function(e,t){if(-1===e)return -1;let r=e;for(;;){if("next"===t&&r===X.length||"previous"===t&&-1===r)return -1;let e=K.querySelector(`[data-tag-index="${r}"]`);if(e&&e.hasAttribute("tabindex")&&!e.disabled&&"true"!==e.getAttribute("aria-disabled"))return r;r+="next"===t?1:-1}}(r,t)),em(r)},eI=e=>{B.current=!0,er(""),O&&O(e,"","clear"),eC(e,P?[]:null,"clear")},eR=e=>t=>{if(e.onKeyDown&&e.onKeyDown(t),!t.defaultMuiPrevented&&(-1!==_&&-1===["ArrowLeft","ArrowRight"].indexOf(t.key)&&(J(-1),em(-1)),229!==t.which))switch(t.key){case"Home":eu&&S&&(t.preventDefault(),ev({diff:"start",direction:"next",reason:"keyboard",event:t}));break;case"End":eu&&S&&(t.preventDefault(),ev({diff:"end",direction:"previous",reason:"keyboard",event:t}));break;case"PageUp":t.preventDefault(),ev({diff:-5,direction:"previous",reason:"keyboard",event:t}),eb(t);break;case"PageDown":t.preventDefault(),ev({diff:5,direction:"next",reason:"keyboard",event:t}),eb(t);break;case"ArrowDown":t.preventDefault(),ev({diff:1,direction:"next",reason:"keyboard",event:t}),eb(t);break;case"ArrowUp":t.preventDefault(),ev({diff:-1,direction:"previous",reason:"keyboard",event:t}),eb(t);break;case"ArrowLeft":ek(t,"previous");break;case"ArrowRight":ek(t,"next");break;case"Enter":if(-1!==Y.current&&eu){let e=ex[Y.current],r=!!j&&j(e);if(t.preventDefault(),r)return;ew(t,e,"selectOption"),s&&V.current.setSelectionRange(V.current.value.length,V.current.value.length)}else Z&&""!==et&&!1===ec&&(P&&t.preventDefault(),ew(t,et,"createOption","freeSolo"));break;case"Escape":eu?(t.preventDefault(),t.stopPropagation(),ey(t,"escape")):d&&(""!==et||P&&X.length>0)&&(t.preventDefault(),t.stopPropagation(),eI(t));break;case"Backspace":if(P&&!D&&""===et&&X.length>0){let e=-1===_?X.length-1:_,r=X.slice();r.splice(e,1),eC(t,r,"removeOption",{option:X[e]})}break;case"Delete":if(P&&!D&&""===et&&X.length>0&&-1!==_){let e=X.slice();e.splice(_,1),eC(t,e,"removeOption",{option:X[_]})}}},eP=e=>{en(!0),W&&!B.current&&eb(e)},ez=e=>{if(t(U)){V.current.focus();return}en(!1),q.current=!0,B.current=!1,i&&-1!==Y.current&&eu?ew(e,ex[Y.current],"blur"):i&&Z&&""!==et?ew(e,et,"blur","freeSolo"):l&&ei(e,X),ey(e,"blur")},e$=e=>{let t=e.target.value;et!==t&&(er(t),ed(!1),O&&O(e,t,"input")),""===t?x||P||eC(e,null,"clear"):eb(e)},eA=e=>{let t=Number(e.currentTarget.getAttribute("data-option-index"));Y.current!==t&&eg({event:e,index:t,reason:"mouse"})},eM=e=>{eg({event:e,index:Number(e.currentTarget.getAttribute("data-option-index")),reason:"touch"}),eS.current=!0},eF=e=>{let t=Number(e.currentTarget.getAttribute("data-option-index"));ew(e,ex[t],"selectOption"),eS.current=!1},eW=e=>t=>{let r=X.slice();r.splice(e,1),eC(t,r,"removeOption",{option:X[e]})},eE=e=>{ea?ey(e,"toggleInput"):eb(e)},eK=e=>{e.currentTarget.contains(e.target)&&e.target.getAttribute("id")!==H&&e.preventDefault()},eG=e=>{e.currentTarget.contains(e.target)&&(V.current.focus(),T&&q.current&&V.current.selectionEnd-V.current.selectionStart==0&&V.current.select(),q.current=!1)},e_=e=>{h||""!==et&&ea||eE(e)},eJ=Z&&et.length>0;eJ=eJ||(P?X.length>0:null!==X);let eQ=ex;return C&&(eQ=ex.reduce((e,t,r)=>{let s=C(t);return e.length>0&&e[e.length-1].group===s?e[e.length-1].options.push(t):e.push({key:r,index:r,group:s,options:[t]}),e},[])),h&&es&&ez(),{getRootProps:(e={})=>(0,eO.Z)({"aria-owns":eh?`${H}-listbox`:null},e,{onKeyDown:eR(e),onMouseDown:eK,onClick:eG}),getInputLabelProps:()=>({id:`${H}-label`,htmlFor:H}),getInputProps:()=>({id:H,value:et,onBlur:ez,onFocus:eP,onChange:e$,onMouseDown:e_,"aria-activedescendant":eu?"":null,"aria-autocomplete":s?"both":"list","aria-controls":eh?`${H}-listbox`:void 0,"aria-expanded":eh,autoComplete:"off",ref:V,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:h}),getClearProps:()=>({tabIndex:-1,type:"button",onClick:eI}),getPopupIndicatorProps:()=>({tabIndex:-1,type:"button",onClick:eE}),getTagProps:({index:e})=>(0,eO.Z)({key:e,"data-tag-index":e,tabIndex:-1},!D&&{onDelete:eW(e)}),getListboxProps:()=>({role:"listbox",id:`${H}-listbox`,"aria-labelledby":`${H}-label`,ref:ej,onMouseDown:e=>{e.preventDefault()}}),getOptionProps:({index:e,option:t})=>{var r;let s=(P?X:[X]).some(e=>null!=e&&R(t,e)),n=!!j&&j(t);return{key:null!=(r=null==b?void 0:b(t))?r:E(t),tabIndex:-1,role:"option",id:`${H}-option-${e}`,onMouseMove:eA,onClick:eF,onTouchStart:eM,"data-option-index":e,"aria-disabled":n,"aria-selected":s}},id:H,inputValue:et,value:X,dirty:eJ,expanded:eu&&K,popupOpen:eu,focused:es||-1!==_,anchorEl:K,setAnchorEl:G,focusedTag:_,groupedOptions:eQ}};var eG=r(75109),e_=r(62923),eJ=r(9103),eQ=r(29251),eY=r(89206),eX=r(7967);function e0(e){return(0,eX.ZP)("MuiListSubheader",e)}(0,eY.Z)("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]);let e1=["className","color","component","disableGutters","disableSticky","inset"],e2=e=>{let{classes:t,color:r,disableGutters:s,inset:n,disableSticky:i}=e,a={root:["root","default"!==r&&`color${(0,eQ.Z)(r)}`,!s&&"gutters",n&&"inset",!i&&"sticky"]};return(0,eF.Z)(a,e0,t)},e3=(0,e_.ZP)("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,"default"!==r.color&&t[`color${(0,eQ.Z)(r.color)}`],!r.disableGutters&&t.gutters,r.inset&&t.inset,!r.disableSticky&&t.sticky]}})(({theme:e,ownerState:t})=>(0,eO.Z)({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(e.vars||e).palette.text.secondary,fontFamily:e.typography.fontFamily,fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.pxToRem(14)},"primary"===t.color&&{color:(e.vars||e).palette.primary.main},"inherit"===t.color&&{color:"inherit"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.inset&&{paddingLeft:72},!t.disableSticky&&{position:"sticky",top:0,zIndex:1,backgroundColor:(e.vars||e).palette.background.paper})),e6=a.forwardRef(function(e,t){let r=(0,eJ.i)({props:e,name:"MuiListSubheader"}),{className:s,color:n="default",component:a="li",disableGutters:o=!1,disableSticky:l=!1,inset:d=!1}=r,c=(0,eA.Z)(r,e1),u=(0,eO.Z)({},r,{color:n,component:a,disableGutters:o,disableSticky:l,inset:d}),x=e2(u);return(0,i.jsx)(e3,(0,eO.Z)({as:a,className:(0,eM.Z)(x.root,s),ref:t,ownerState:u},c))});e6.muiSkipListHighlight=!0;var e5=r(52329),e4=r(36633),e8=r(41256),e9=r(58631),e7=r(31506),te=r(59129),tt=r(31776);function tr(e){return(0,eX.ZP)("MuiAutocomplete",e)}let ts=(0,eY.Z)("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]);var tn=r(69473);let ti=["autoComplete","autoHighlight","autoSelect","blurOnSelect","ChipProps","className","clearIcon","clearOnBlur","clearOnEscape","clearText","closeText","componentsProps","defaultValue","disableClearable","disableCloseOnSelect","disabled","disabledItemsFocusable","disableListWrap","disablePortal","filterOptions","filterSelectedOptions","forcePopupIcon","freeSolo","fullWidth","getLimitTagsText","getOptionDisabled","getOptionKey","getOptionLabel","isOptionEqualToValue","groupBy","handleHomeEndKeys","id","includeInputInList","inputValue","limitTags","ListboxComponent","ListboxProps","loading","loadingText","multiple","noOptionsText","onChange","onClose","onHighlightChange","onInputChange","onOpen","open","openOnFocus","openText","options","PaperComponent","PopperComponent","popupIcon","readOnly","renderGroup","renderInput","renderOption","renderTags","selectOnFocus","size","slotProps","value"],ta=["ref"],to=["key"],tl=["key"],td=e=>{let{classes:t,disablePortal:r,expanded:s,focused:n,fullWidth:i,hasClearIcon:a,hasPopupIcon:o,inputFocused:l,popupOpen:d,size:c}=e,u={root:["root",s&&"expanded",n&&"focused",i&&"fullWidth",a&&"hasClearIcon",o&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",l&&"inputFocused"],tag:["tag",`tagSize${(0,eQ.Z)(c)}`],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",d&&"popupIndicatorOpen"],popper:["popper",r&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return(0,eF.Z)(u,tr,t)},tc=(0,e_.ZP)("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e,{fullWidth:s,hasClearIcon:n,hasPopupIcon:i,inputFocused:a,size:o}=r;return[{[`& .${ts.tag}`]:t.tag},{[`& .${ts.tag}`]:t[`tagSize${(0,eQ.Z)(o)}`]},{[`& .${ts.inputRoot}`]:t.inputRoot},{[`& .${ts.input}`]:t.input},{[`& .${ts.input}`]:a&&t.inputFocused},t.root,s&&t.fullWidth,i&&t.hasPopupIcon,n&&t.hasClearIcon]}})({[`&.${ts.focused} .${ts.clearIndicator}`]:{visibility:"visible"},"@media (pointer: fine)":{[`&:hover .${ts.clearIndicator}`]:{visibility:"visible"}},[`& .${ts.tag}`]:{margin:3,maxWidth:"calc(100% - 6px)"},[`& .${ts.inputRoot}`]:{[`.${ts.hasPopupIcon}&, .${ts.hasClearIcon}&`]:{paddingRight:30},[`.${ts.hasPopupIcon}.${ts.hasClearIcon}&`]:{paddingRight:56},[`& .${ts.input}`]:{width:0,minWidth:30}},[`& .${e4.Z.root}`]:{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}},[`& .${e4.Z.root}.${e8.Z.sizeSmall}`]:{[`& .${e4.Z.input}`]:{padding:"2px 4px 3px 0"}},[`& .${e9.Z.root}`]:{padding:9,[`.${ts.hasPopupIcon}&, .${ts.hasClearIcon}&`]:{paddingRight:39},[`.${ts.hasPopupIcon}.${ts.hasClearIcon}&`]:{paddingRight:65},[`& .${ts.input}`]:{padding:"7.5px 4px 7.5px 5px"},[`& .${ts.endAdornment}`]:{right:9}},[`& .${e9.Z.root}.${e8.Z.sizeSmall}`]:{paddingTop:6,paddingBottom:6,paddingLeft:6,[`& .${ts.input}`]:{padding:"2.5px 4px 2.5px 8px"}},[`& .${e7.Z.root}`]:{paddingTop:19,paddingLeft:8,[`.${ts.hasPopupIcon}&, .${ts.hasClearIcon}&`]:{paddingRight:39},[`.${ts.hasPopupIcon}.${ts.hasClearIcon}&`]:{paddingRight:65},[`& .${e7.Z.input}`]:{padding:"7px 4px"},[`& .${ts.endAdornment}`]:{right:9}},[`& .${e7.Z.root}.${e8.Z.sizeSmall}`]:{paddingBottom:1,[`& .${e7.Z.input}`]:{padding:"2.5px 4px"}},[`& .${e8.Z.hiddenLabel}`]:{paddingTop:8},[`& .${e7.Z.root}.${e8.Z.hiddenLabel}`]:{paddingTop:0,paddingBottom:0,[`& .${ts.input}`]:{paddingTop:16,paddingBottom:17}},[`& .${e7.Z.root}.${e8.Z.hiddenLabel}.${e8.Z.sizeSmall}`]:{[`& .${ts.input}`]:{paddingTop:8,paddingBottom:9}},[`& .${ts.input}`]:{flexGrow:1,textOverflow:"ellipsis",opacity:0},variants:[{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{[`& .${ts.tag}`]:{margin:2,maxWidth:"calc(100% - 4px)"}}},{props:{inputFocused:!0},style:{[`& .${ts.input}`]:{opacity:1}}},{props:{multiple:!0},style:{[`& .${ts.inputRoot}`]:{flexWrap:"wrap"}}}]}),tu=(0,e_.ZP)("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:(e,t)=>t.endAdornment})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),tx=(0,e_.ZP)(u.Z,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:(e,t)=>t.clearIndicator})({marginRight:-2,padding:4,visibility:"hidden"}),tp=(0,e_.ZP)(u.Z,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:({ownerState:e},t)=>(0,eO.Z)({},t.popupIndicator,e.popupOpen&&t.popupIndicatorOpen)})({padding:2,marginRight:-2,variants:[{props:{popupOpen:!0},style:{transform:"rotate(180deg)"}}]}),th=(0,e_.ZP)(eG.Z,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[{[`& .${ts.option}`]:t.option},t.popper,r.disablePortal&&t.popperDisablePortal]}})(({theme:e})=>({zIndex:(e.vars||e).zIndex.modal,variants:[{props:{disablePortal:!0},style:{position:"absolute"}}]})),tm=(0,e_.ZP)(e5.Z,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:(e,t)=>t.paper})(({theme:e})=>(0,eO.Z)({},e.typography.body1,{overflow:"auto"})),tg=(0,e_.ZP)("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:(e,t)=>t.loading})(({theme:e})=>({color:(e.vars||e).palette.text.secondary,padding:"14px 16px"})),tv=(0,e_.ZP)("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:(e,t)=>t.noOptions})(({theme:e})=>({color:(e.vars||e).palette.text.secondary,padding:"14px 16px"})),tf=(0,e_.ZP)("div",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:(e,t)=>t.listbox})(({theme:e})=>({listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative",[`& .${ts.option}`]:{minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16,[e.breakpoints.up("sm")]:{minHeight:"auto"},[`&.${ts.focused}`]:{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},'&[aria-disabled="true"]':{opacity:(e.vars||e).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${ts.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},'&[aria-selected="true"]':{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:(0,eW.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${ts.focused}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:(0,eW.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(e.vars||e).palette.action.selected}},[`&.${ts.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:(0,eW.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}}}})),tZ=(0,e_.ZP)(e6,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:(e,t)=>t.groupLabel})(({theme:e})=>({backgroundColor:(e.vars||e).palette.background.paper,top:-8})),tj=(0,e_.ZP)("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:(e,t)=>t.groupUl})({padding:0,[`& .${ts.option}`]:{paddingLeft:24}}),tb=a.forwardRef(function(e,t){var r,o,l,d;let c;let u=(0,eJ.i)({props:e,name:"MuiAutocomplete"}),{autoComplete:x=!1,autoHighlight:p=!1,autoSelect:h=!1,blurOnSelect:m=!1,ChipProps:g,className:v,clearIcon:f=s||(s=(0,i.jsx)(te.Z,{fontSize:"small"})),clearOnBlur:Z=!u.freeSolo,clearOnEscape:j=!1,clearText:b="Clear",closeText:y="Close",componentsProps:C={},defaultValue:S=u.multiple?[]:null,disableClearable:w=!1,disableCloseOnSelect:k=!1,disabled:I=!1,disabledItemsFocusable:R=!1,disableListWrap:P=!1,disablePortal:z=!1,filterSelectedOptions:$=!1,forcePopupIcon:A="auto",freeSolo:O=!1,fullWidth:M=!1,getLimitTagsText:F=e=>`+${e}`,getOptionLabel:W,groupBy:D,handleHomeEndKeys:T=!u.freeSolo,includeInputInList:N=!1,limitTags:H=-1,ListboxComponent:E="ul",ListboxProps:B,loading:q=!1,loadingText:V="Loading…",multiple:U=!1,noOptionsText:K="No options",openOnFocus:G=!1,openText:_="Open",PaperComponent:J=e5.Z,PopperComponent:Q=eG.Z,popupIcon:Y=n||(n=(0,i.jsx)(tt.Z,{})),readOnly:X=!1,renderGroup:ee,renderInput:et,renderOption:er,renderTags:es,selectOnFocus:en=!u.freeSolo,size:ei="medium",slotProps:ea={}}=u,eo=(0,eA.Z)(u,ti),{getRootProps:el,getInputProps:ed,getInputLabelProps:ec,getPopupIndicatorProps:eu,getClearProps:ex,getTagProps:ep,getListboxProps:eh,getOptionProps:em,value:eg,dirty:ev,expanded:ef,id:eZ,popupOpen:ej,focused:eb,focusedTag:ey,anchorEl:eC,setAnchorEl:eS,inputValue:ew,groupedOptions:ek}=eK((0,eO.Z)({},u,{componentName:"Autocomplete"})),eI=!w&&!I&&ev&&!X,eR=(!O||!0===A)&&!1!==A,{onMouseDown:eP}=ed(),{ref:ez}=null!=B?B:{},e$=eh(),{ref:eF}=e$,eW=(0,eA.Z)(e$,ta),eL=(0,tn.Z)(eF,ez),eD=W||(e=>{var t;return null!=(t=e.label)?t:e}),eT=(0,eO.Z)({},u,{disablePortal:z,expanded:ef,focused:eb,fullWidth:M,getOptionLabel:eD,hasClearIcon:eI,hasPopupIcon:eR,inputFocused:-1===ey,popupOpen:ej,size:ei}),eN=td(eT);if(U&&eg.length>0){let e=e=>(0,eO.Z)({className:eN.tag,disabled:I},ep(e));c=es?es(eg,e,eT):eg.map((t,r)=>{let s=e({index:r}),{key:n}=s,a=(0,eA.Z)(s,to);return(0,i.jsx)(L.Z,(0,eO.Z)({label:eD(t),size:ei},a,g),n)})}if(H>-1&&Array.isArray(c)){let e=c.length-H;!eb&&e>0&&(c=c.splice(0,H)).push((0,i.jsx)("span",{className:eN.tag,children:F(e)},c.length))}let eH=ee||(e=>(0,i.jsxs)("li",{children:[(0,i.jsx)(tZ,{className:eN.groupLabel,ownerState:eT,component:"div",children:e.group}),(0,i.jsx)(tj,{className:eN.groupUl,ownerState:eT,children:e.children})]},e.key)),eE=er||((e,t)=>{let{key:r}=e,s=(0,eA.Z)(e,tl);return(0,i.jsx)("li",(0,eO.Z)({},s,{children:eD(t)}),r)}),eB=(e,t)=>{let r=em({option:e,index:t});return eE((0,eO.Z)({},r,{className:eN.option}),e,{selected:r["aria-selected"],index:t,inputValue:ew},eT)},eq=null!=(r=ea.clearIndicator)?r:C.clearIndicator,eV=null!=(o=ea.paper)?o:C.paper,eU=null!=(l=ea.popper)?l:C.popper,e_=null!=(d=ea.popupIndicator)?d:C.popupIndicator;return(0,i.jsxs)(a.Fragment,{children:[(0,i.jsx)(tc,(0,eO.Z)({ref:t,className:(0,eM.Z)(eN.root,v),ownerState:eT},el(eo),{children:et({id:eZ,disabled:I,fullWidth:!0,size:"small"===ei?"small":void 0,InputLabelProps:ec(),InputProps:(0,eO.Z)({ref:eS,className:eN.inputRoot,startAdornment:c,onClick:e=>{e.target===e.currentTarget&&eP(e)}},(eI||eR)&&{endAdornment:(0,i.jsxs)(tu,{className:eN.endAdornment,ownerState:eT,children:[eI?(0,i.jsx)(tx,(0,eO.Z)({},ex(),{"aria-label":b,title:b,ownerState:eT},eq,{className:(0,eM.Z)(eN.clearIndicator,null==eq?void 0:eq.className),children:f})):null,eR?(0,i.jsx)(tp,(0,eO.Z)({},eu(),{disabled:I,"aria-label":ej?y:_,title:ej?y:_,ownerState:eT},e_,{className:(0,eM.Z)(eN.popupIndicator,null==e_?void 0:e_.className),children:Y})):null]})}),inputProps:(0,eO.Z)({className:eN.input,disabled:I,readOnly:X},ed())})})),eC?(0,i.jsx)(th,(0,eO.Z)({as:Q,disablePortal:z,style:{width:eC?eC.clientWidth:null},ownerState:eT,role:"presentation",anchorEl:eC,open:ej},eU,{className:(0,eM.Z)(eN.popper,null==eU?void 0:eU.className),children:(0,i.jsxs)(tm,(0,eO.Z)({ownerState:eT,as:J},eV,{className:(0,eM.Z)(eN.paper,null==eV?void 0:eV.className),children:[q&&0===ek.length?(0,i.jsx)(tg,{className:eN.loading,ownerState:eT,children:V}):null,0!==ek.length||O||q?null:(0,i.jsx)(tv,{className:eN.noOptions,ownerState:eT,role:"presentation",onMouseDown:e=>{e.preventDefault()},children:K}),ek.length>0?(0,i.jsx)(tf,(0,eO.Z)({as:E,className:eN.listbox,ownerState:eT},eW,B,{ref:eL,children:ek.map((e,t)=>D?eH({key:e.key,group:e.group,children:e.options.map((t,r)=>eB(t,e.index+r))}):eB(e,t))})):null]}))})):null]})});var ty=r(99943),tC=r(92241),tS=r(61974),tw=r(28872),tk=r(95343),tI=r(20042),tR=r(43137);function tP({open:e,onClose:t,serverId:r}){var s;let[n,o]=(0,a.useState)(""),[l,u]=(0,a.useState)(null),[h,m]=(0,a.useState)("view"),{data:g,isLoading:f}=(s={enabled:e},(0,tw.a)({queryKey:["users","search",n],queryFn:()=>(0,tR.SC)(`/api/users?q=${encodeURIComponent(n)}`),enabled:s?.enabled!==!1&&n.length>=2,staleTime:3e4})),Z=function(){let e=(0,tk.NL)();return(0,tI.D)({mutationFn:e=>(0,tR.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"]})}})}(),j=(0,a.useMemo)(()=>g?.users??[],[g]),b=()=>{o(""),u(null),m("view"),Z.reset(),t()};return(0,i.jsxs)(y.Z,{open:e,onClose:b,maxWidth:"sm",fullWidth:!0,PaperProps:{sx:{borderRadius:3}},children:[i.jsx(C.Z,{sx:{fontWeight:600},children:"Add User Access"}),(0,i.jsxs)(S.Z,{sx:{display:"flex",flexDirection:"column",gap:3,pt:"8px !important"},children:[Z.isError&&i.jsx(x.Z,{severity:"error",sx:{mb:1},children:Z.error?.message||"Failed to grant access"}),i.jsx(tb,{options:j,getOptionLabel:e=>e.name||e.email,isOptionEqualToValue:(e,t)=>e.id===t.id,value:l,onChange:(e,t)=>u(t),inputValue:n,onInputChange:(e,t)=>o(t),loading:f,filterOptions:e=>e,noOptionsText:n.length<2?"Type at least 2 characters":"No users found",renderInput:e=>i.jsx(k.Z,{...e,label:"Search User",placeholder:"Search by name or email...",InputProps:{...e.InputProps,endAdornment:(0,i.jsxs)(i.Fragment,{children:[f&&i.jsx(p.Z,{size:20}),e.InputProps.endAdornment]})}}),renderOption:(e,t)=>{let{key:r,...s}=e;return(0,i.jsxs)(d.Z,{component:"li",...s,sx:{display:"flex",gap:1.5,py:1},children:[i.jsx(eC.Z,{src:t.image??void 0,sx:{width:32,height:32,bgcolor:"primary.main",fontSize:14},children:(t.name?.[0]||t.email?.[0]||"?").toUpperCase()}),(0,i.jsxs)(d.Z,{children:[i.jsx(v.Z,{variant:"body2",fontWeight:500,children:t.name||"Unknown"}),i.jsx(v.Z,{variant:"caption",color:"text.secondary",children:t.email})]})]},r)}}),(0,i.jsxs)(eo.Z,{children:[i.jsx(ty.Z,{sx:{fontWeight:500,mb:1},children:"Permission Level"}),(0,i.jsxs)(tC.Z,{value:h,onChange:e=>m(e.target.value),children:[i.jsx(ed.Z,{value:"view",control:i.jsx(tS.Z,{size:"small"}),label:(0,i.jsxs)(d.Z,{children:[i.jsx(v.Z,{variant:"body2",fontWeight:500,children:"Viewer"}),i.jsx(v.Z,{variant:"caption",color:"text.secondary",children:"Can view server status and logs"})]})}),i.jsx(ed.Z,{value:"manage",control:i.jsx(tS.Z,{size:"small"}),label:(0,i.jsxs)(d.Z,{children:[i.jsx(v.Z,{variant:"body2",fontWeight:500,children:"Operator"}),i.jsx(v.Z,{variant:"caption",color:"text.secondary",children:"Can start, stop, and configure the server"})]})}),i.jsx(ed.Z,{value:"admin",control:i.jsx(tS.Z,{size:"small"}),label:(0,i.jsxs)(d.Z,{children:[i.jsx(v.Z,{variant:"body2",fontWeight:500,children:"Owner"}),i.jsx(v.Z,{variant:"caption",color:"text.secondary",children:"Full control including managing other users"})]})})]})]})]}),(0,i.jsxs)(w.Z,{sx:{px:3,pb:2},children:[i.jsx(c.Z,{onClick:b,color:"inherit",children:"Cancel"}),i.jsx(c.Z,{onClick:()=>{l&&Z.mutate({userId:l.id,serverId:r,permission:h},{onSuccess:b})},variant:"contained",disabled:!l||Z.isPending,sx:{borderRadius:2},children:Z.isPending?"Adding...":"Add User"})]})]})}function tz({serverId:e}){let{data:t,isLoading:r,error:s}=(0,tw.a)({queryKey:["user-servers",e],queryFn:()=>(0,tR.SC)(`/api/user-servers?serverId=${encodeURIComponent(e)}`),enabled:!!e}),n=function(){let e=(0,tk.NL)();return(0,tI.D)({mutationFn:({id:e,permission:t})=>(0,tR.SC)(`/api/user-servers/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify({permission:t})}),onSuccess:()=>{e.invalidateQueries({queryKey:["user-servers"]})}})}(),o=function(){let e=(0,tk.NL)();return(0,tI.D)({mutationFn:e=>(0,tR.SC)(`/api/user-servers/${encodeURIComponent(e)}`,{method:"DELETE"}),onSuccess:()=>{e.invalidateQueries({queryKey:["user-servers"]})}})}(),[l,p]=(0,a.useState)(!1),[y,C]=(0,a.useState)(null),[S,w]=(0,a.useState)(null),k=(e,t)=>{C(e.currentTarget),w(t)},I=()=>{C(null),w(null)},R=e=>{if(!S||S.permission===e){I();return}n.mutate({id:S.id,permission:e},{onSettled:I})},P=t?.users.filter(e=>"admin"===e.permission).length??0,z=S?.permission==="admin"&&P<=1;if(r)return i.jsx(m.Z,{sx:{borderRadius:3},children:(0,i.jsxs)(g.Z,{children:[(0,i.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[i.jsx(h.Z,{variant:"text",width:"30%",height:32}),i.jsx(h.Z,{variant:"rounded",width:120,height:36,sx:{borderRadius:2}})]}),i.jsx(T.Z,{sx:{mb:2}}),[0,1,2].map(e=>(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:2,py:1.5,borderBottom:"1px solid",borderColor:"divider"},children:[i.jsx(h.Z,{variant:"circular",width:40,height:40}),(0,i.jsxs)(d.Z,{sx:{flex:1},children:[i.jsx(h.Z,{variant:"text",width:"40%"}),i.jsx(h.Z,{variant:"text",width:"60%"})]}),i.jsx(h.Z,{variant:"rounded",width:80,height:28,sx:{borderRadius:10}}),i.jsx(h.Z,{variant:"circular",width:32,height:32})]},e))]})});if(s)return(0,i.jsxs)(x.Z,{severity:"error",children:["Failed to load access list: ",s.message]});let A=t?.users??[];return(0,i.jsxs)(i.Fragment,{children:[i.jsx(m.Z,{sx:{borderRadius:3},children:(0,i.jsxs)(g.Z,{children:[(0,i.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[i.jsx(v.Z,{variant:"h6",fontWeight:600,children:"Server Access"}),i.jsx(c.Z,{variant:"contained",size:"small",startIcon:i.jsx(eS.Z,{}),onClick:()=>p(!0),sx:{borderRadius:2},children:"Add User"})]}),i.jsx(T.Z,{sx:{mb:1}}),0===A.length?i.jsx(d.Z,{sx:{py:4,textAlign:"center"},children:i.jsx(v.Z,{variant:"body2",color:"text.secondary",children:"No users have been granted access to this server yet."})}):A.map(e=>(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:2,py:1.5,"&:not(:last-child)":{borderBottom:"1px solid",borderColor:"divider"}},children:[i.jsx(eC.Z,{src:e.user?.image??void 0,sx:{width:40,height:40,bgcolor:"primary.main",fontSize:16},children:(e.user?.name?.[0]||e.user?.email?.[0]||"?").toUpperCase()}),(0,i.jsxs)(d.Z,{sx:{flex:1,minWidth:0},children:[i.jsx(v.Z,{variant:"body2",fontWeight:500,noWrap:!0,children:e.user?.name||"Unknown User"}),i.jsx(v.Z,{variant:"caption",color:"text.secondary",noWrap:!0,children:e.user?.email||e.userId})]}),i.jsx(e$,{permission:e.permission,size:"small"}),i.jsx(u.Z,{size:"small",onClick:t=>k(t,e),sx:{color:"text.secondary"},children:i.jsx($.Z,{fontSize:"small"})})]},e.id)),(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:1,mt:2,pt:1},children:[i.jsx(eP.Z,{sx:{fontSize:16,color:"text.disabled"}}),i.jsx(v.Z,{variant:"caption",color:"text.disabled",children:"Only platform admins and server owners can manage access."})]})]})}),(0,i.jsxs)(f.Z,{anchorEl:y,open:!!y,onClose:I,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},disableScrollLock:!0,children:[(0,i.jsxs)(Z.Z,{onClick:()=>R("admin"),disabled:S?.permission==="admin",children:[i.jsx(j.Z,{children:i.jsx(ew.Z,{fontSize:"small"})}),i.jsx(b.Z,{children:"Change to Owner"})]}),(0,i.jsxs)(Z.Z,{onClick:()=>R("manage"),disabled:S?.permission==="manage"||z,children:[i.jsx(j.Z,{children:i.jsx(ek.Z,{fontSize:"small"})}),i.jsx(b.Z,{children:"Change to Operator"})]}),(0,i.jsxs)(Z.Z,{onClick:()=>R("view"),disabled:S?.permission==="view"||z,children:[i.jsx(j.Z,{children:i.jsx(eI.Z,{fontSize:"small"})}),i.jsx(b.Z,{children:"Change to Viewer"})]}),i.jsx(T.Z,{}),(0,i.jsxs)(Z.Z,{onClick:()=>{S&&o.mutate(S.id,{onSettled:I})},disabled:z,sx:{color:"error.main"},children:[i.jsx(j.Z,{children:i.jsx(eR.Z,{fontSize:"small",sx:{color:"error.main"}})}),i.jsx(b.Z,{children:"Remove Access"})]})]}),i.jsx(tP,{open:l,onClose:()=>p(!1),serverId:e})]})}var t$=r(51999),tA=r(53825),tO=r(15934);function tM({text:e}){let[t,r]=(0,a.useState)(!1),s=async()=>{try{await navigator.clipboard.writeText(e),r(!0),setTimeout(()=>r(!1),2e3)}catch(e){console.error("Failed to copy:",e)}};return i.jsx(u.Z,{size:"small",onClick:s,sx:{ml:1,color:t?"success.main":"text.secondary","&:hover":{bgcolor:"action.hover"}},"aria-label":t?"Copied":"Copy to clipboard",children:t?i.jsx(tA.Z,{sx:{fontSize:16}}):i.jsx(t$.Z,{sx:{fontSize:16}})})}function tF({label:e,value:t,copyText:r}){return(0,i.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",py:1},children:[i.jsx(v.Z,{variant:"body2",color:"text.secondary",children:e}),(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center"},children:[i.jsx(v.Z,{variant:"body2",sx:{fontFamily:r?"monospace":"inherit",color:r?"text.primary":"text.secondary"},children:t}),r&&i.jsx(tM,{text:r})]})]})}function tW({serverName:e,hostname:t}){let{data:r,isLoading:s}=(0,tO.UW)();if(s)return i.jsx(m.Z,{sx:{borderRadius:3},children:(0,i.jsxs)(g.Z,{children:[i.jsx(h.Z,{variant:"text",width:"40%",height:28,sx:{mb:1}}),i.jsx(h.Z,{variant:"rectangular",height:1,sx:{mb:2}}),(0,i.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[i.jsx(h.Z,{variant:"text",width:"30%"}),i.jsx(h.Z,{variant:"text",width:"40%"})]}),(0,i.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[i.jsx(h.Z,{variant:"text",width:"30%"}),i.jsx(h.Z,{variant:"text",width:"40%"})]})]})});let n=t?`${t}:25565`:"Not configured",a=r?.enabled&&r.servers.length>0,o=r?.servers.find(t=>t.serverName===e),l=o?.playitDomain||"Not configured",c=!!o?.playitDomain;return i.jsx(m.Z,{sx:{borderRadius:3},children:(0,i.jsxs)(g.Z,{children:[i.jsx(v.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Connection"}),i.jsx(T.Z,{sx:{mb:2}}),i.jsx(tF,{label:"LAN Address",value:n,copyText:t?n:void 0}),a&&i.jsx(tF,{label:"External Address",value:l,copyText:c?l:void 0})]})})}var tL=r(96468),tD=r(50582),tT=r(86202);function tN({serverName:e}){let{data:t,isLoading:r,error:s}=(0,tw.a)({queryKey:["servers",e,"mods"],queryFn:()=>(0,tR.SC)(`/api/servers/${encodeURIComponent(e)}/mods`),enabled:!!e}),n=function(){let e=(0,tk.NL)();return(0,tI.D)({mutationFn:({serverName:e,slugs:t,source:r})=>(0,tR.SC)(`/api/servers/${encodeURIComponent(e)}/mods`,{method:"POST",body:JSON.stringify({slugs:t,source:r})}),onSuccess:(t,{serverName:r})=>{e.invalidateQueries({queryKey:["servers",r,"mods"]})}})}(),o=function(){let e=(0,tk.NL)();return(0,tI.D)({mutationFn:({serverName:e,slug:t})=>(0,tR.SC)(`/api/servers/${encodeURIComponent(e)}/mods/${encodeURIComponent(t)}`,{method:"DELETE"}),onSuccess:(t,{serverName:r})=>{e.invalidateQueries({queryKey:["servers",r,"mods"]})}})}(),[l,h]=(0,a.useState)(!1),[f,Z]=(0,a.useState)(""),[j,b]=(0,a.useState)(""),[w,I]=(0,a.useState)(!1),[R,P]=(0,a.useState)({open:!1,message:"",severity:"info"}),{data:z,isLoading:$}=function(e,t){let r=new URLSearchParams;return e&&r.set("q",e),t?.limit!=null&&r.set("limit",String(t.limit)),t?.offset!=null&&r.set("offset",String(t.offset)),(0,tw.a)({queryKey:["mods","search",e,t?.limit,t?.offset],queryFn:()=>(0,tR.SC)(`/api/mods/search?${r}`),enabled:t?.enabled!==!1&&!!e.trim()})}(j,{limit:10,enabled:l&&j.length>0}),O=(0,a.useCallback)(async t=>{try{await o.mutateAsync({serverName:e,slug:t}),I(!0),P({open:!0,message:`Removed ${t}`,severity:"success"})}catch(e){P({open:!0,message:e instanceof Error?e.message:"Failed to remove mod",severity:"error"})}},[o,e]),M=(0,a.useCallback)(async t=>{try{await n.mutateAsync({serverName:e,slugs:[t]}),I(!0),P({open:!0,message:`Added ${t}`,severity:"success"})}catch(e){P({open:!0,message:e instanceof Error?e.message:"Failed to add mod",severity:"error"})}},[n,e]),F=new Set;if(t?.mods)for(let e of Object.values(t.mods))for(let t of e)F.add(t);if(r)return i.jsx(d.Z,{sx:{display:"flex",justifyContent:"center",py:6},children:i.jsx(p.Z,{})});if(s)return(0,i.jsxs)(x.Z,{severity:"error",sx:{mt:2},children:["Failed to load mods: ",s.message]});let W=F.size>0;return(0,i.jsxs)(d.Z,{children:[w&&i.jsx(x.Z,{severity:"info",sx:{mb:2},children:"Restart the server to apply mod changes."}),i.jsx(m.Z,{sx:{borderRadius:3},children:(0,i.jsxs)(g.Z,{children:[(0,i.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[i.jsx(v.Z,{variant:"h6",fontWeight:600,children:"Installed Mods"}),i.jsx(c.Z,{variant:"contained",size:"small",startIcon:i.jsx(eZ.Z,{}),onClick:()=>{Z(""),b(""),h(!0)},children:"Add Mods"})]}),i.jsx(T.Z,{sx:{mb:2}}),W?Object.entries(t.mods).map(([e,t])=>(0,i.jsxs)(d.Z,{sx:{mb:2},children:[i.jsx(v.Z,{variant:"subtitle2",color:"text.secondary",sx:{mb:1,textTransform:"capitalize"},children:e}),i.jsx(d.Z,{sx:{display:"flex",flexWrap:"wrap",gap:1},children:t.map(e=>i.jsx(L.Z,{label:e,icon:i.jsx(tD.Z,{}),onDelete:()=>O(e),deleteIcon:i.jsx(A.Z,{}),variant:"outlined"},e))})]},e)):(0,i.jsxs)(d.Z,{sx:{textAlign:"center",py:4},children:[i.jsx(tD.Z,{sx:{fontSize:48,color:"text.disabled",mb:1}}),i.jsx(v.Z,{variant:"body1",color:"text.secondary",children:"No mods installed"}),i.jsx(v.Z,{variant:"body2",color:"text.disabled",sx:{mt:.5},children:'Click "Add Mods" to search and install mods from Modrinth'})]})]})}),(0,i.jsxs)(y.Z,{open:l,onClose:()=>h(!1),maxWidth:"sm",fullWidth:!0,PaperProps:{sx:{minHeight:400}},children:[(0,i.jsxs)(C.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:["Search Mods",i.jsx(u.Z,{onClick:()=>h(!1),size:"small",children:i.jsx(N.Z,{})})]}),(0,i.jsxs)(S.Z,{children:[i.jsx(k.Z,{fullWidth:!0,autoFocus:!0,placeholder:"Search Modrinth...",value:f,onChange:e=>Z(e.target.value),InputProps:{startAdornment:i.jsx(D.Z,{position:"start",children:i.jsx(tL.Z,{})})},sx:{mb:2}}),$&&i.jsx(d.Z,{sx:{display:"flex",justifyContent:"center",py:4},children:i.jsx(p.Z,{size:28})}),!$&&z&&0===z.hits.length&&j&&(0,i.jsxs)(v.Z,{variant:"body2",color:"text.secondary",sx:{textAlign:"center",py:4},children:['No mods found for "',j,'"']}),!$&&z&&z.hits.length>0&&i.jsx(d.Z,{sx:{display:"flex",flexDirection:"column",gap:1.5},children:z.hits.map(e=>{var t;let r=F.has(e.slug);return i.jsx(m.Z,{variant:"outlined",sx:{borderRadius:2},children:i.jsx(g.Z,{sx:{py:1.5,px:2,"&:last-child":{pb:1.5}},children:(0,i.jsxs)(d.Z,{sx:{display:"flex",gap:1.5,alignItems:"flex-start"},children:[i.jsx(eC.Z,{src:e.iconUrl||void 0,variant:"rounded",sx:{width:40,height:40,bgcolor:"action.hover"},children:i.jsx(tD.Z,{})}),(0,i.jsxs)(d.Z,{sx:{flex:1,minWidth:0},children:[(0,i.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[i.jsx(v.Z,{variant:"subtitle2",noWrap:!0,children:e.title}),i.jsx(c.Z,{size:"small",variant:r?"outlined":"contained",disabled:r||n.isPending,onClick:()=>M(e.slug),sx:{ml:1,minWidth:80,flexShrink:0},children:r?"Installed":"Add"})]}),i.jsx(v.Z,{variant:"body2",color:"text.secondary",sx:{mt:.25,overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"},children:e.description}),(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:1,mt:.5},children:[(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:.25},children:[i.jsx(tT.Z,{sx:{fontSize:14,color:"text.disabled"}}),i.jsx(v.Z,{variant:"caption",color:"text.disabled",children:(t=e.downloads)>=1e6?`${(t/1e6).toFixed(1)}M`:t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)})]}),e.author&&(0,i.jsxs)(v.Z,{variant:"caption",color:"text.disabled",children:["by ",e.author]})]})]})]})})},e.slug)})})]})]}),i.jsx(eu.Z,{open:R.open,autoHideDuration:4e3,onClose:()=>P(e=>({...e,open:!1})),anchorOrigin:{vertical:"bottom",horizontal:"center"},children:i.jsx(x.Z,{onClose:()=>P(e=>({...e,open:!1})),severity:R.severity,variant:"filled",children:R.message})})]})}let tH=["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 tB({server:e,onSendCommand:t}){let[r,s]=(0,a.useState)("Overview"),[n,o]=(0,a.useState)(""),[l,x]=(0,a.useState)(!0),[p,h]=(0,a.useState)(!1),f=(0,a.useRef)(null),{logs:Z,isConnected:j}=(0,_.Y)({serverName:e.name}),b=(0,a.useMemo)(()=>Z.filter(e=>!e.includes("RCON Listener")&&!e.includes("RCON Client")&&!e.includes("RconClient")),[Z]),C=async()=>{n.trim()&&t&&(await t(n.trim()),o(""))},w=e.stats?.cpuPercent??0;e.stats?.memoryUsage&&e.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()}(e.memory);let P=e.stats?.memoryPercent??0;return(0,i.jsxs)(d.Z,{children:[i.jsx(d.Z,{sx:{display:"flex",gap:.5,mb:3},children:tH.map(e=>i.jsx(c.Z,{onClick:()=>s(e),sx:{px:2,py:1,borderRadius:5,fontSize:14,fontWeight:500,textTransform:"none",bgcolor:r===e?"primary.main":"transparent",color:r===e?"#0a0e14":"text.secondary","&:hover":{bgcolor:r===e?"primary.main":(0,R.Fq)("#1bd96a",.1)}},children:e},e))}),(0,i.jsxs)(d.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"repeat(3, 1fr)"},gap:2,mb:2.5},children:[i.jsx(G,{value:`${w.toFixed(2)}%`,unit:"/ 100%",label:"CPU usage",icon:i.jsx(H.Z,{sx:{fontSize:28}}),progress:w,progressMax:100,color:"#1bd96a"}),i.jsx(G,{value:`${P.toFixed(2)}%`,unit:"/ 100%",label:"Memory usage",icon:i.jsx(E.Z,{sx:{fontSize:28}}),progress:P,progressMax:100,color:"#1bd96a"}),i.jsx(G,{value:e.worldSize||"0 B",unit:"/ 10 GB",label:"World size",icon:i.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}}(e.worldSize),progressMax:10240,color:"#1bd96a"})]}),(0,i.jsxs)(m.Z,{sx:{bgcolor:"background.paper",borderRadius:3,border:"1px solid",borderColor:"divider",overflow:"hidden"},children:[(0,i.jsxs)(d.Z,{sx:{px:3,py:2,borderBottom:"1px solid",borderColor:"divider",display:"flex",alignItems:"center",gap:1.25},children:[i.jsx(v.Z,{variant:"h6",sx:{fontWeight:700,color:"text.primary"},children:"Console"}),i.jsx(d.Z,{sx:{width:10,height:10,borderRadius:"50%",bgcolor:j?"primary.main":"error.main",boxShadow:j?"0 0 8px rgba(27, 217, 106, 0.4)":"0 0 8px rgba(239, 68, 68, 0.4)"}})]}),(0,i.jsxs)(d.Z,{sx:{position:"relative"},children:[i.jsx(d.Z,{ref:f,onScroll:()=>{if(!f.current)return;let{scrollTop:e,scrollHeight:t,clientHeight:r}=f.current;x(t-e-r<30)},sx:{height:360,overflowY:"auto",px:2.5,py:2,fontFamily:"'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'Consolas', 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===b.length?i.jsx(v.Z,{sx:{color:"text.secondary",textAlign:"center",py:8},children:"Waiting for logs..."}):b.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,i.jsxs)(d.Z,{sx:{display:"flex",gap:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:[(0,i.jsxs)(d.Z,{component:"span",sx:{color:"#4a4d60"},children:["[",r.time,"]"]}),(0,i.jsxs)(d.Z,{component:"span",sx:{color:"#4a4d60"},children:["\xa0[",r.thread,"/",i.jsx(d.Z,{component:"span",sx:{color:"WARN"===r.level?"#e8a848":"#6b6e80"},children:r.level}),"]:\xa0"]}),i.jsx(d.Z,{component:"span",sx:{color:"WARN"===r.level?"#c4a45a":"#b4b6c4"},children:r.msg})]},t):i.jsx(d.Z,{sx:{color:"#b4b6c4"},children:tE(e)},t)})}),i.jsx(u.Z,{onClick:()=>h(!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:i.jsx(q.Z,{sx:{fontSize:18}})}),!l&&i.jsx(u.Z,{onClick:()=>{f.current&&f.current.scrollTo({top:f.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:i.jsx(V.Z,{sx:{fontSize:18}})})]}),i.jsx(d.Z,{sx:{px:2.5,py:1.5,borderTop:"1px solid",borderColor:"divider"},children:i.jsx(k.Z,{fullWidth:!0,size:"small",placeholder:"Send a command",value:n,onChange:e=>o(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),C())},disabled:!j,InputProps:{startAdornment:i.jsx(D.Z,{position:"start",children:i.jsx(U.Z,{sx:{fontSize:16,color:"#999"}})}),sx:{bgcolor:"#13141c",borderRadius:2,fontFamily:"'JetBrains Mono', 'Fira Code', monospace",fontSize:14,"& .MuiOutlinedInput-notchedOutline":{borderColor:"#2a2d3e"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"#3a3d4e"},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main"}}}})})]}),"Overview"===r&&(0,i.jsxs)(I.ZP,{container:!0,spacing:3,sx:{mt:1},children:[i.jsx(I.ZP,{item:!0,xs:12,md:6,children:i.jsx(m.Z,{sx:{borderRadius:3},children:(0,i.jsxs)(g.Z,{children:[i.jsx(v.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Server Information"}),i.jsx(T.Z,{sx:{mb:2}}),i.jsx(tq,{label:"Name",value:e.name}),i.jsx(tq,{label:"Container",value:e.container}),i.jsx(tq,{label:"Hostname",value:e.hostname}),i.jsx(tq,{label:"Type",value:e.type}),i.jsx(tq,{label:"Version",value:e.version}),i.jsx(tq,{label:"Memory",value:e.memory}),i.jsx(tq,{label:"Uptime",value:e.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?`${t}h ${r}m`:r>0?`${r}m ${s}s`:`${s}s`}(e.uptimeSeconds)})]})})}),i.jsx(I.ZP,{item:!0,xs:12,md:6,children:i.jsx(m.Z,{sx:{borderRadius:3},children:(0,i.jsxs)(g.Z,{children:[i.jsx(v.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Players"}),i.jsx(T.Z,{sx:{mb:2}}),e.players?(0,i.jsxs)(i.Fragment,{children:[i.jsx(tq,{label:"Online",value:`${e.players.online} / ${e.players.max}`}),e.players.list&&e.players.list.length>0&&(0,i.jsxs)(i.Fragment,{children:[i.jsx(v.Z,{variant:"body2",color:"text.secondary",sx:{mt:2,mb:1},children:"Online Players"}),i.jsx(d.Z,{sx:{display:"flex",flexWrap:"wrap",gap:1},children:e.players.list.map(e=>i.jsx(L.Z,{label:e,size:"small"},e))})]})]}):i.jsx(v.Z,{variant:"body2",color:"text.secondary",children:"Player information unavailable"})]})})}),i.jsx(I.ZP,{item:!0,xs:12,md:6,children:i.jsx(tW,{serverName:e.name,hostname:e.hostname})})]}),"Activity"===r&&i.jsx(d.Z,{sx:{mt:3},children:i.jsx(m.Z,{sx:{borderRadius:3},children:(0,i.jsxs)(g.Z,{children:[i.jsx(v.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Server Activity"}),i.jsx(T.Z,{sx:{mb:2}}),i.jsx(ei,{serverName:e.name})]})})}),"Mods"===r&&i.jsx(d.Z,{sx:{mt:3},children:i.jsx(tN,{serverName:e.name})}),"Files"===r&&i.jsx(d.Z,{sx:{mt:3},children:i.jsx(v.Z,{variant:"body1",color:"text.secondary",children:"File browser coming soon"})}),"Backups"===r&&i.jsx(d.Z,{sx:{mt:3},children:i.jsx(v.Z,{variant:"body1",color:"text.secondary",children:"Backup management coming soon"})}),"Access"===r&&i.jsx(d.Z,{sx:{mt:3},children:i.jsx(tz,{serverId:e.name})}),"Options"===r&&i.jsx(d.Z,{sx:{mt:3},children:i.jsx(ey,{serverName:e.name,isRunning:"running"===e.status})}),(0,i.jsxs)(y.Z,{open:p,onClose:()=>h(!1),maxWidth:"xl",fullWidth:!0,PaperProps:{sx:{height:"90vh",bgcolor:"background.paper"}},children:[(0,i.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",p:2,borderBottom:1,borderColor:"divider"},children:[(0,i.jsxs)(v.Z,{variant:"h6",sx:{fontFamily:'"Minecraft", sans-serif',fontWeight:400,letterSpacing:"0.05em"},children:["Console - ",e.name]}),i.jsx(u.Z,{onClick:()=>h(!1),children:i.jsx(N.Z,{})})]}),i.jsx(S.Z,{sx:{p:0,display:"flex",flexDirection:"column"},children:i.jsx(J.K,{serverName:e.name})})]})]})}function tq({label:e,value:t}){return t?(0,i.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[i.jsx(v.Z,{variant:"body2",color:"text.secondary",children:e}),i.jsx(v.Z,{variant:"body2",sx:{fontWeight:500},children:t})]}):null}var tV=r(47893);function tU(){return(0,i.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[i.jsx("circle",{cx:"12",cy:"12",r:"10"}),i.jsx("line",{x1:"8",y1:"12",x2:"16",y2:"12"})]})}function tK(){return(0,i.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[i.jsx("path",{d:"M21 2v6h-6"}),i.jsx("path",{d:"M3 12a9 9 0 0115.36-6.36L21 8"}),i.jsx("path",{d:"M3 22v-6h6"}),i.jsx("path",{d:"M21 12a9 9 0 01-15.36 6.36L3 16"})]})}function tG(){let e=(0,o.useParams)(),t=(0,l.x)(),r=decodeURIComponent(e.name),{data:s,isLoading:n,error:L}=(0,eg.Hy)(r),{status:D,health:T}=function(e){let{serverName:t,onStatusChange:r,enabled:s=!0,reconnectInterval:n=3e3}=e,[i,o]=(0,a.useState)(null),[l,d]=(0,a.useState)(null),c=(0,a.useCallback)(e=>{if("server-status"===e.type){let t=e.data.status,s=e.data.health;o(t),d(s),r?.(t,s)}},[r]),{isConnected:u,reconnect:x,retryCount:p}=(0,tV.D)({url:`/api/sse/servers/${encodeURIComponent(t)}/status`,onMessage:c,enabled:s,reconnectInterval:n});return{status:i,health:l,isConnected:u,reconnect:x,retryCount:p}}({serverName:r,enabled:!!r}),[N,H]=(0,a.useState)(null),[E,B]=(0,a.useState)(!1),[q,V]=(0,a.useState)(""),U=(0,eg.jM)(),K=(0,eg.Aw)(),G=(0,eg._I)(),_=(0,eg.Hq)(),J=async()=>{try{await U.mutateAsync(r)}catch(e){console.error("Failed to start server:",e)}},Q=async()=>{try{await K.mutateAsync(r)}catch(e){console.error("Failed to stop server:",e)}},Y=async()=>{try{await G.mutateAsync(r)}catch(e){console.error("Failed to restart server:",e)}},X=async e=>{try{await fetch(`/api/servers/${encodeURIComponent(r)}/exec`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({command:e})})}catch(e){console.error("Failed to send command:",e)}},ee=D||s?.server.status,et=U.isPending||K.isPending||G.isPending,er=s?.server;return(0,i.jsxs)(i.Fragment,{children:[L&&(0,i.jsxs)(x.Z,{severity:"error",sx:{mb:3},children:["Failed to load server: ",L.message]}),U.isError&&(0,i.jsxs)(x.Z,{severity:"error",sx:{mb:3},children:["Failed to start server: ",U.error?.message]}),K.isError&&(0,i.jsxs)(x.Z,{severity:"error",sx:{mb:3},children:["Failed to stop server: ",K.error?.message]}),G.isError&&(0,i.jsxs)(x.Z,{severity:"error",sx:{mb:3},children:["Failed to restart server: ",G.error?.message]}),_.isError&&(0,i.jsxs)(x.Z,{severity:"error",sx:{mb:3},children:["Failed to delete server: ",_.error?.message]}),n?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:2,mb:2.5},children:[i.jsx(h.Z,{variant:"rounded",width:64,height:64,sx:{borderRadius:3,flexShrink:0}}),(0,i.jsxs)(d.Z,{sx:{flex:1},children:[i.jsx(h.Z,{variant:"text",width:80,height:18,sx:{mb:.5}}),i.jsx(h.Z,{variant:"text",width:"40%",height:40}),(0,i.jsxs)(d.Z,{sx:{display:"flex",gap:2,mt:.75},children:[i.jsx(h.Z,{variant:"text",width:100}),i.jsx(h.Z,{variant:"text",width:60}),i.jsx(h.Z,{variant:"text",width:140}),i.jsx(h.Z,{variant:"text",width:50})]})]}),(0,i.jsxs)(d.Z,{sx:{display:"flex",gap:1,flexShrink:0},children:[i.jsx(h.Z,{variant:"rounded",width:90,height:40,sx:{borderRadius:2}}),i.jsx(h.Z,{variant:"rounded",width:36,height:36,sx:{borderRadius:2}})]})]}),i.jsx(d.Z,{sx:{display:"flex",gap:.5,mb:3},children:[80,70,65,50,65,65].map((e,t)=>i.jsx(h.Z,{variant:"rounded",width:e,height:36,sx:{borderRadius:5}},t))}),i.jsx(d.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"repeat(3, 1fr)"},gap:2,mb:2.5},children:[0,1,2].map(e=>i.jsx(m.Z,{sx:{borderRadius:3},children:(0,i.jsxs)(g.Z,{children:[(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:1.5},children:[i.jsx(h.Z,{variant:"text",width:"50%"}),i.jsx(h.Z,{variant:"circular",width:28,height:28})]}),i.jsx(h.Z,{variant:"text",width:"60%",height:36}),i.jsx(h.Z,{variant:"rounded",width:"100%",height:6,sx:{borderRadius:3,mt:1}})]})},e))}),(0,i.jsxs)(m.Z,{sx:{borderRadius:3,border:"1px solid",borderColor:"divider"},children:[(0,i.jsxs)(d.Z,{sx:{px:3,py:2,borderBottom:"1px solid",borderColor:"divider",display:"flex",alignItems:"center",gap:1.25},children:[i.jsx(h.Z,{variant:"text",width:80,height:28}),i.jsx(h.Z,{variant:"circular",width:10,height:10})]}),i.jsx(h.Z,{variant:"rectangular",height:360,sx:{bgcolor:"#0a0a0a"}}),i.jsx(d.Z,{sx:{px:2.5,py:1.5,borderTop:"1px solid",borderColor:"divider"},children:i.jsx(h.Z,{variant:"rounded",width:"100%",height:40,sx:{borderRadius:2}})})]}),(0,i.jsxs)(I.ZP,{container:!0,spacing:3,sx:{mt:1},children:[i.jsx(I.ZP,{item:!0,xs:12,md:6,children:i.jsx(m.Z,{sx:{borderRadius:3},children:(0,i.jsxs)(g.Z,{children:[i.jsx(h.Z,{variant:"text",width:"40%",height:28,sx:{mb:1}}),i.jsx(h.Z,{variant:"rectangular",height:1,sx:{mb:2}}),[0,1,2,3,4,5,6].map(e=>(0,i.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[i.jsx(h.Z,{variant:"text",width:"30%"}),i.jsx(h.Z,{variant:"text",width:"40%"})]},e))]})})}),i.jsx(I.ZP,{item:!0,xs:12,md:6,children:i.jsx(m.Z,{sx:{borderRadius:3},children:(0,i.jsxs)(g.Z,{children:[i.jsx(h.Z,{variant:"text",width:"30%",height:28,sx:{mb:1}}),i.jsx(h.Z,{variant:"rectangular",height:1,sx:{mb:2}}),(0,i.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[i.jsx(h.Z,{variant:"text",width:"25%"}),i.jsx(h.Z,{variant:"text",width:"20%"})]})]})})})]})]}):er?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:2,mb:2.5},children:[i.jsx(d.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"}(er.type)}),(0,i.jsxs)(d.Z,{sx:{flex:1},children:[(0,i.jsxs)(v.Z,{onClick:()=>t.push("/servers"),sx:{fontSize:12,color:"primary.main",cursor:"pointer",mb:.25,display:"flex",alignItems:"center",gap:.5,"&:hover":{textDecoration:"underline"}},children:[i.jsx(P.Z,{sx:{fontSize:14}})," All servers"]}),i.jsx(v.Z,{variant:"h4",component:"h1",sx:{fontFamily:'"Minecraft", sans-serif',fontWeight:400,color:"text.primary",letterSpacing:"0.5px",m:0,textTransform:"uppercase"},children:r}),(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:0,mt:.75,flexWrap:"wrap",fontSize:13,color:"text.secondary"},children:[er.version&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:.5},children:[i.jsx(O.Z,{sx:{fontSize:14}}),"Minecraft ",er.version]}),i.jsx(d.Z,{component:"span",sx:{mx:1.25,color:"#3a3d4e"},children:"|"})]}),er.type&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:.5},children:[i.jsx(M.Z,{sx:{fontSize:14}}),er.type]}),i.jsx(d.Z,{component:"span",sx:{mx:1.25,color:"#3a3d4e"},children:"|"})]}),er.hostname&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:.5},children:[i.jsx(F.Z,{sx:{fontSize:14}}),er.hostname]}),i.jsx(d.Z,{component:"span",sx:{mx:1.25,color:"#3a3d4e"},children:"|"})]}),(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:.5},children:[i.jsx(W.Z,{sx:{fontSize:14}}),er.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?`${t}h ${r}m`:r>0?`${r}m ${s}s`:`${s}s`}(er.uptimeSeconds)||"0s"]})]})]}),(0,i.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:1.25,flexShrink:0},children:[("stopped"===ee||"exited"===ee||"not_created"===ee)&&i.jsx(c.Z,{variant:"contained",color:"success",startIcon:et?i.jsx(p.Z,{size:16,color:"inherit"}):i.jsx(z.Z,{}),onClick:J,disabled:et,sx:{px:2,py:1,borderRadius:2,fontSize:14,fontWeight:600},children:"Start"}),"running"===ee&&(0,i.jsxs)(i.Fragment,{children:[i.jsx(c.Z,{variant:"outlined",startIcon:et?i.jsx(p.Z,{size:16}):i.jsx(tU,{}),onClick:Q,disabled:et,sx:{px:2,py:1,borderRadius:2,fontSize:14,fontWeight:500,borderColor:"divider",color:"text.secondary","&:hover":{borderColor:"text.secondary",bgcolor:(0,R.Fq)("#fff",.05)}},children:"Stop"}),i.jsx(c.Z,{variant:"contained",startIcon:et?i.jsx(p.Z,{size:16,color:"inherit"}):i.jsx(tK,{}),onClick:Y,disabled:et,sx:{px:2,py:1,borderRadius:2,fontSize:14,fontWeight:600,bgcolor:"primary.main",color:"#0a0e14","&:hover":{bgcolor:"primary.dark"}},children:"Restart"})]}),i.jsx(u.Z,{onClick:e=>H(e.currentTarget),sx:{width:36,height:36,borderRadius:2,border:"1px solid",borderColor:"divider",color:"text.secondary"},children:i.jsx($.Z,{sx:{fontSize:18}})}),i.jsx(f.Z,{anchorEl:N,open:!!N,onClose:()=>H(null),children:(0,i.jsxs)(Z.Z,{onClick:()=>{H(null),B(!0),V("")},sx:{color:"error.main"},children:[i.jsx(j.Z,{children:i.jsx(A.Z,{fontSize:"small",sx:{color:"error.main"}})}),i.jsx(b.Z,{children:"Delete Server"})]})})]})]}),i.jsx(tB,{server:er,onSendCommand:X})]}):i.jsx(x.Z,{severity:"warning",children:"Server not found"}),(0,i.jsxs)(y.Z,{open:E,onClose:()=>{B(!1),V("")},maxWidth:"sm",fullWidth:!0,children:[i.jsx(C.Z,{children:"Delete Server"}),(0,i.jsxs)(S.Z,{children:[(0,i.jsxs)(v.Z,{sx:{mb:2},children:["This action cannot be undone. Type ",i.jsx("strong",{children:r})," to confirm deletion."]}),i.jsx(k.Z,{label:"Server name",value:q,onChange:e=>V(e.target.value),fullWidth:!0,autoFocus:!0})]}),(0,i.jsxs)(w.Z,{sx:{px:3,pb:2},children:[i.jsx(c.Z,{onClick:()=>{B(!1),V("")},children:"Cancel"}),i.jsx(c.Z,{variant:"contained",color:"error",onClick:()=>{q===r&&_.mutate({name:r,force:!0},{onSuccess:()=>{t.push("/servers")}})},disabled:q!==r||_.isPending,startIcon:_.isPending?i.jsx(p.Z,{size:16}):null,children:_.isPending?"Deleting...":"Delete"})]})]})]})}},6418:(e,t,r)=>{"use strict";r.d(t,{K:()=>I});var s=r(58120),n=r(36372),i=r(20393),a=r.n(i),o=r(89352),l=r(52329),d=r(6275),c=r(10257),u=r(46456),x=r(54365),p=r(2365),h=r(48787),m=r(14360),g=r(51430),v=r(23016),f=r(80336),Z=r(79943),j=r(78150),b=r(73995),y=r(66831),C=r(50423);let S=[{label:"say",template:"say "},{label:"give",template:"give "},{label:"tp",template:"tp "},{label:"gamemode",template:"gamemode "}],w=new(a())({fg:"#aaa",bg:"#000",newline:!1,escapeXML:!0,colors:{0:"#000000",1:"#cc0000",2:"#4e9a06",3:"#c4a000",4:"#3465a4",5:"#75507b",6:"#06989a",7:"#d3d7cf",8:"#555753",9:"#ef2929",10:"#8ae234",11:"#fce94f",12:"#729fcf",13:"#ad7fa8",14:"#34e2e2",15:"#eeeeec"}}),k=(0,n.memo)(function({log:e}){let t=(0,n.useMemo)(()=>(function(e){let t=e.replace(/\x1b\[\?[\d;]*[a-zA-Z]/g,"").replace(/\x1b\[[0-9;]*[KJH]/g,"").replace(/\x1b=/g,"").replace(/\[\?[\d;]*[a-zA-Z]/g,"").replace(/\[[0-9;]*[KJH]/g,"").replace(/\[m/g,"").replace(/\[(\d+)m/g,"\x1b[$1m").replace(/>\.\.\.\.\r?/g,"").replace(/\r/g,"");return w.toHtml(t)})(e),[e]);return s.jsx(o.Z,{sx:{py:.25,whiteSpace:"pre-wrap",wordBreak:"break-all","& span":{}},dangerouslySetInnerHTML:{__html:t}})});function I({serverName:e}){let[t,r]=(0,n.useState)(""),[i,a]=(0,n.useState)([]),[w,I]=(0,n.useState)(-1),[R,P]=(0,n.useState)("ALL"),[z,$]=(0,n.useState)(!0),[A,O]=(0,n.useState)(!0),[M,F]=(0,n.useState)(!1),W=(0,n.useRef)(null),L=(0,n.useRef)(null),{logs:D,isConnected:T,clearLogs:N,reconnect:H,retryCount:E}=(0,C.Y)({serverName:e}),B=(0,n.useMemo)(()=>{let e=D;return A&&(e=e.filter(e=>!e.includes("RCON Listener")&&!e.includes("RCON Client")&&!e.includes("RconClient"))),"ALL"!==R&&(e=e.filter(e=>(e.includes("/ERROR]")||e.includes("/ERROR:")?"ERROR":e.includes("/WARN]")||e.includes("/WARN:")?"WARN":(e.includes("/INFO]")||e.includes("/INFO:"),"INFO"))===R)),e},[D,R,A]),q=(0,n.useCallback)(async()=>{let s=t.trim();if(s&&!M){F(!0);try{a(e=>[...e,s]),I(-1),await fetch(`/api/servers/${encodeURIComponent(e)}/exec`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({command:s})}),r("")}catch(e){console.error("Failed to execute command:",e)}finally{F(!1)}}},[t,e,M]),V=(0,n.useCallback)(e=>{if("Enter"===e.key)e.preventDefault(),q();else if("ArrowUp"===e.key){if(e.preventDefault(),0===i.length)return;let t=-1===w?i.length-1:Math.max(0,w-1);I(t),r(i[t])}else if("ArrowDown"===e.key){if(e.preventDefault(),-1===w)return;let t=w+1;t>=i.length?(I(-1),r("")):(I(t),r(i[t]))}},[i,w,q]),U=(0,n.useCallback)(e=>{r(e),W.current?.focus()},[]),K=T?{text:"Connected",color:"success"}:E>0?{text:`Disconnected (Retry ${E})`,color:"warning"}:{text:"Disconnected",color:"error"};return(0,s.jsxs)(l.Z,{"data-testid":"server-console",sx:{display:"flex",flexDirection:"column",height:"100%",minHeight:400},children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:2,py:1,borderBottom:1,borderColor:"divider"},children:[(0,s.jsxs)(v.Z,{direction:"row",spacing:1,alignItems:"center",children:[s.jsx(p.Z,{variant:"subtitle2",children:"Console"}),s.jsx(h.Z,{"data-testid":"connection-status",label:K.text,color:K.color,size:"small"})]}),(0,s.jsxs)(v.Z,{direction:"row",spacing:1,alignItems:"center",children:[s.jsx(u.Z,{size:"small",variant:"outlined",children:["ALL","INFO","WARN","ERROR"].map(e=>s.jsx(c.Z,{onClick:()=>P(e),variant:R===e?"contained":"outlined",children:e},e))}),s.jsx(m.Z,{control:s.jsx(g.Z,{checked:z,onChange:e=>$(e.target.checked),size:"small",inputProps:{"aria-label":"Auto-scroll"}}),label:"Auto-scroll"}),s.jsx(m.Z,{control:s.jsx(g.Z,{checked:A,onChange:e=>O(e.target.checked),size:"small",inputProps:{"aria-label":"Hide RCON"}}),label:"Hide RCON"}),s.jsx(x.Z,{size:"small",onClick:N,"aria-label":"Clear logs",title:"Clear logs",children:s.jsx(b.Z,{})}),!T&&s.jsx(c.Z,{size:"small",startIcon:s.jsx(y.Z,{}),onClick:H,"aria-label":"Reconnect",children:"Reconnect"})]})]}),s.jsx(o.Z,{ref:L,sx:{flex:1,overflow:"auto",bgcolor:"#1a1a1a",p:1,fontFamily:"monospace",fontSize:"0.85rem"},children:0===B.length?s.jsx(p.Z,{color:"text.secondary",sx:{textAlign:"center",py:4,color:"#666"},children:"Waiting for logs..."}):B.map((e,t)=>s.jsx(k,{log:e},t))}),s.jsx(f.Z,{}),s.jsx(o.Z,{sx:{px:2,py:1,bgcolor:"background.default"},children:(0,s.jsxs)(v.Z,{direction:"row",spacing:1,children:[s.jsx(p.Z,{variant:"caption",color:"text.secondary",sx:{alignSelf:"center"},children:"Quick:"}),S.map(e=>s.jsx(c.Z,{size:"small",variant:"outlined",onClick:()=>U(e.template),children:e.label},e.label))]})}),s.jsx(f.Z,{}),(0,s.jsxs)(o.Z,{sx:{display:"flex",p:1,gap:1},children:[s.jsx(d.Z,{inputRef:W,fullWidth:!0,size:"small",placeholder:"Enter command...",value:t,onChange:e=>r(e.target.value),onKeyDown:V,disabled:!T||M,InputProps:{sx:{fontFamily:"monospace"}}}),s.jsx(c.Z,{variant:"contained",onClick:q,disabled:!t.trim()||!T||M,startIcon:M?s.jsx(Z.Z,{size:16}):s.jsx(j.Z,{}),"aria-label":"Send command",children:"Send"})]})]})}},50423:(e,t,r)=>{"use strict";r.d(t,{Y:()=>i});var s=r(36372),n=r(47893);function i(e){let{serverName:t,maxLines:r=500,enabled:i=!0,reconnectInterval:a=3e3}=e,[o,l]=(0,s.useState)([]),d=(0,s.useCallback)(e=>{let t;"server-log"===e.type?t=e.data.log:"log"in e&&"string"==typeof e.log&&(t=e.log),t&&l(e=>{let s=[...e,t];return s.length>r?s.slice(s.length-r):s})},[r]),{isConnected:c,reconnect:u,retryCount:x}=(0,n.D)({url:`/api/sse/servers/${encodeURIComponent(t)}/logs`,onMessage:d,enabled:i,reconnectInterval:a});return{logs:o,isConnected:c,clearLogs:(0,s.useCallback)(()=>{l([])},[]),reconnect:u,retryCount:x}}},40579:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>s});let s=(0,r(2325).createProxy)(String.raw`/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/(main)/servers/[name]/page.tsx#default`)}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[9836,1489,4533,3043,8847,9350,8872,4859,8243,6088,8389,609,5845,3068,7402,613,354,3810],()=>r(61509));module.exports=s})();
|
|
1
|
+
(()=>{var e={};e.id=278,e.ids=[278],e.modules={85890:e=>{"use strict";e.exports=require("better-sqlite3")},72934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},54580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},45869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},20399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},92048:e=>{"use strict";e.exports=require("fs")},55315:e=>{"use strict";e.exports=require("path")},17360:e=>{"use strict";e.exports=require("url")},61509:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>i.a,__next_app__:()=>u,originalPathname:()=>p,pages:()=>c,routeModule:()=>x,tree:()=>d}),r(40579),r(26072),r(82395),r(97759);var s=r(95530),n=r(45086),a=r(13937),i=r.n(a),o=r(45587),l={};for(let e in o)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(l[e]=()=>o[e]);r.d(t,l);let d=["",{children:["(main)",{children:["servers",{children:["[name]",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,40579)),"/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/(main)/servers/[name]/page.tsx"]}]},{}]},{}]},{layout:[()=>Promise.resolve().then(r.bind(r,26072)),"/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/(main)/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,82395,23)),"next/dist/client/components/not-found-error"],metadata:{icon:[async e=>(await Promise.resolve().then(r.bind(r,52001))).default(e)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[()=>Promise.resolve().then(r.bind(r,97759)),"/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,82395,23)),"next/dist/client/components/not-found-error"],metadata:{icon:[async e=>(await Promise.resolve().then(r.bind(r,52001))).default(e)],apple:[],openGraph:[],twitter:[],manifest:void 0}}],c=["/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/(main)/servers/[name]/page.tsx"],p="/(main)/servers/[name]/page",u={require:r,loadChunk:()=>Promise.resolve()},x=new s.AppPageRouteModule({definition:{kind:n.x.APP_PAGE,page:"/(main)/servers/[name]/page",pathname:"/servers/[name]",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:d}})},21515:(e,t,r)=>{Promise.resolve().then(r.bind(r,86528))},42902:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)([(0,a.jsx)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"},"0"),(0,a.jsx)("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"},"1")],"AccessTime")},95722:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"}),"ArrowForward")},65757:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"m22.7 19-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4"}),"Build")},66147:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zm2.46-7.12 1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"}),"DeleteForever")},86202:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"M5 20h14v-2H5zM19 9h-4V3H9v6H5l7 7z"}),"Download")},84527:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore")},50582:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5C13 2.12 11.88 1 10.5 1S8 2.12 8 3.5V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5c1.38 0 2.5-1.12 2.5-2.5S21.88 11 20.5 11"}),"Extension")},46973:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V8h16z"}),"FolderOpen")},82538:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"}),"KeyboardArrowDown")},75614:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2m6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56M12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96M4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2 0 .68.06 1.34.14 2zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56m2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8M12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96M14.34 14H9.66c-.09-.66-.16-1.32-.16-2 0-.68.07-1.35.16-2h4.68c.09.65.16 1.32.16 2 0 .68-.07 1.34-.16 2m.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56M16.36 14c.08-.66.14-1.32.14-2 0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2z"}),"Language")},58039:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"m21.41 11.58-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7"}),"LocalOffer")},25414:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"M21 11V3h-8l3.29 3.29-10 10L3 13v8h8l-3.29-3.29 10-10z"}),"OpenInFull")},72419:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"M9 16h2V8H9zm3-14C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m1-4h2V8h-2z"}),"PauseCircleOutline")},17820:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8m-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91"}),"RestartAlt")},11475:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z"}),"Save")},7060:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"M18 2h-8L4.02 8 4 20c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-6 6h-2V4h2zm3 0h-2V4h2zm3 0h-2V4h2z"}),"SdStorage")},93599:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5z"}),"Shield")},36438:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"m20.38 8.57-1.23 1.85a8 8 0 0 1-.22 7.58H5.07A8 8 0 0 1 15.58 6.85l1.85-1.23A10 10 0 0 0 3.35 19a2 2 0 0 0 1.72 1h13.85a2 2 0 0 0 1.74-1 10 10 0 0 0-.27-10.44zm-9.79 6.84a2 2 0 0 0 2.83 0l5.66-8.49-8.49 5.66a2 2 0 0 0 0 2.83"}),"Speed")},3470:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"m21.58 16.09-1.09-7.66C20.21 6.46 18.52 5 16.53 5H7.47C5.48 5 3.79 6.46 3.51 8.43l-1.09 7.66C2.2 17.63 3.39 19 4.94 19c.68 0 1.32-.27 1.8-.75L9 16h6l2.25 2.25c.48.48 1.13.75 1.8.75 1.56 0 2.75-1.37 2.53-2.91M11 11H9v2H8v-2H6v-1h2V8h1v2h2zm4-1c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1m2 3c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1"}),"SportsEsports")},43992:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"M20 4H4c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2m0 14H4V8h16zm-2-1h-6v-2h6zM7.5 17l-1.41-1.41L8.67 13l-2.59-2.59L7.5 9l4 4z"}),"Terminal")},23090:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"m18.25 7.6-5.5-3.18c-.46-.27-1.04-.27-1.5 0L5.75 7.6c-.46.27-.75.76-.75 1.3v6.35c0 .54.29 1.03.75 1.3l5.5 3.18c.46.27 1.04.27 1.5 0l5.5-3.18c.46-.27.75-.76.75-1.3V8.9c0-.54-.29-1.03-.75-1.3M7 14.96v-4.62l4 2.32v4.61zm5-4.03L8 8.61l4-2.31 4 2.31zm1 6.34v-4.61l4-2.32v4.62zM7 2H3.5C2.67 2 2 2.67 2 3.5V7h2V4h3zm10 0h3.5c.83 0 1.5.67 1.5 1.5V7h-2V4h-3zM7 22H3.5c-.83 0-1.5-.67-1.5-1.5V17h2v3h3zm10 0h3.5c.83 0 1.5-.67 1.5-1.5V17h-2v3h-3z"}),"ViewInAr")},26518:(e,t,r)=>{"use strict";var s=r(66682);t.Z=void 0;var n=s(r(7750)),a=r(58120);t.Z=(0,n.default)((0,a.jsx)("path",{d:"M1 21h22L12 2zm12-3h-2v-2h2zm0-4h-2v-4h2z"}),"Warning")},86528:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>t7});var s,n,a=r(58120),i=r(36372),o=r(56539),l=r(49856),d=r(89352),c=r(10257),p=r(54365),u=r(66757),x=r(79943),h=r(68913),m=r(67073),g=r(92797),v=r(2365),f=r(51232),y=r(99634),b=r(63654),Z=r(63856),j=r(34443),C=r(44696),S=r(15539),w=r(51290),k=r(6275),R=r(73100),I=r(95940),P=r(43312),z=r(29553),T=r(54655),A=r(96454),M=r(23090),O=r(58039),$=r(30463),F=r(42902),W=r(48787),D=r(92559),L=r(80336),N=r(33615),E=r(36438),q=r(7060),H=r(46973),B=r(25414),U=r(82538),V=r(43992),K=r(95223);function G({value:e,unit:t,label:r,icon:s,progress:n,progressMax:i,color:o="#1bd96a"}){return(0,a.jsxs)(m.Z,{"data-testid":"resource-stat-card",sx:{p:2.5,bgcolor:"background.paper",border:"1px solid",borderColor:"divider",borderRadius:3},children:[(0,a.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:2},children:[(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"baseline",gap:.75,flexWrap:"wrap",minWidth:0},children:[a.jsx(v.Z,{variant:"h4",component:"span",sx:{fontWeight:700,color:"text.primary",fontFamily:"'JetBrains Mono', 'Fira Code', monospace",letterSpacing:"-0.5px"},children:e}),a.jsx(v.Z,{variant:"body2",component:"span",sx:{color:"text.secondary",fontWeight:500},children:t})]}),a.jsx(d.Z,{sx:{color:"text.secondary",flexShrink:0},children:s})]}),a.jsx(v.Z,{variant:"body2",sx:{color:"text.secondary",fontWeight:500,mt:.5},children:r}),a.jsx(K.Z,{variant:"determinate",value:Math.min(n/i*100,100),sx:{mt:1,height:6,borderRadius:1.5,bgcolor:"#2a2d3a","& .MuiLinearProgress-bar":{borderRadius:1.5,background:`linear-gradient(90deg, ${o} 0%, ${o}cc 100%)`}}})]})}var _=r(50423),J=r(6418),Q=r(58664),X=r(73091),Y=r(98243),ee=r(40611),et=r(95722),er=r(71438),es=r(55049),en=r(15784);function ea({serverName:e}){let{data:t,isLoading:r,error:s}=(0,en.HZ)(e,{limit:20});if(r)return a.jsx(d.Z,{children:[void 0,void 0,void 0,void 0,void 0].map((e,t)=>(0,a.jsxs)(d.Z,{sx:{display:"flex",gap:2,py:1.5},children:[a.jsx(h.Z,{variant:"rounded",width:60,height:24}),a.jsx(h.Z,{variant:"text",width:"60%"}),a.jsx(h.Z,{variant:"text",width:50})]},t))});if(s)return(0,a.jsxs)(u.Z,{severity:"error",children:["Failed to load activity: ",s.message]});let n=t?.logs??[];if(0===n.length)return a.jsx(v.Z,{variant:"body2",color:"text.secondary",sx:{py:4,textAlign:"center"},children:"No activity recorded for this server yet."});let i=`/audit-logs?targetType=server&targetName=${encodeURIComponent(e)}`;return(0,a.jsxs)(d.Z,{children:[a.jsx(Q.Z,{sx:{py:0},children:n.map(e=>{var t;return a.jsx(X.ZP,{sx:{px:0,py:1.5,"&:not(:last-child)":{borderBottom:"1px solid",borderColor:"divider"}},children:a.jsx(Z.Z,{primary:(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[a.jsx(er.I,{action:e.action,size:"small"}),(0,a.jsxs)(v.Z,{variant:"body2",color:"text.secondary",children:["by ",e.actor.replace("api:","").replace("cli:","")]}),a.jsx(es.c,{status:e.status,size:"small"})]}),secondary:a.jsx(Y.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:a.jsx(v.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?`${s}m ago`:n<24?`${n}h ago`:`${Math.floor(n/24)}d ago`}(e.timestamp)})})})},e.id)})}),a.jsx(d.Z,{sx:{mt:2,textAlign:"center"},children:a.jsx(c.Z,{component:ee.default,href:i,size:"small",endIcon:a.jsx(et.Z,{}),sx:{textTransform:"none"},children:"View Full History"})})]})}var ei=r(60920),eo=r(26518),el=r(66147),ed=r(17820),ec=r(74151),ep=r(23016),eu=r(61960),ex=r(29564),eh=r(11475),em=r(75614);function eg({serverName:e}){let{data:t,isLoading:r}=(0,ec.Js)(e),s=(0,ec.Bx)(),[n,o]=(0,i.useState)([]),[l,h]=(0,i.useState)(!1),[f,y]=(0,i.useState)(!1),[b,Z]=(0,i.useState)(""),[j,C]=(0,i.useState)(""),[S,w]=(0,i.useState)(!1),[R,I]=(0,i.useState)({open:!1,message:"",severity:"success"}),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":n.includes(t)?"Domain already exists":"":"Invalid domain format":"Domain cannot be empty"},z=()=>{let e=b.trim().toLowerCase(),t=P(e);if(t){C(t);return}o(t=>[...t,e]),Z(""),C(""),y(!1),h(!0)},T=e=>{o(t=>t.filter(t=>t!==e)),h(!0)},M=async()=>{try{await s.mutateAsync({serverName:e,customHostnames:n}),h(!1),w(!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=()=>{y(!1),Z(""),C("")};return r?a.jsx(m.Z,{sx:{mb:3,borderRadius:3},children:a.jsx(g.Z,{children:a.jsx(d.Z,{sx:{display:"flex",justifyContent:"center",py:4},children:a.jsx(x.Z,{size:24})})})}):(0,a.jsxs)(a.Fragment,{children:[a.jsx(m.Z,{sx:{mb:3,borderRadius:3},children:(0,a.jsxs)(g.Z,{children:[(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:1},children:[a.jsx(em.Z,{color:"primary"}),a.jsx(v.Z,{variant:"h6",fontWeight:600,children:"Hostnames / Domains"})]}),a.jsx(v.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"Manage hostnames used by mc-router to route connections to this server."}),a.jsx(L.Z,{sx:{mb:3}}),t?.systemHostnames&&t.systemHostnames.length>0&&(0,a.jsxs)(d.Z,{sx:{mb:3},children:[a.jsx(v.Z,{variant:"subtitle2",color:"text.secondary",sx:{mb:1},children:"System Hostnames (read-only)"}),a.jsx(ep.Z,{direction:"row",flexWrap:"wrap",gap:1,children:t.systemHostnames.map(e=>a.jsx(W.Z,{icon:a.jsx(eu.Z,{sx:{fontSize:16}}),label:e.hostname,title:e.description,variant:"outlined",color:"default",size:"small"},e.hostname))})]}),(0,a.jsxs)(d.Z,{sx:{mb:2},children:[a.jsx(v.Z,{variant:"subtitle2",color:"text.secondary",sx:{mb:1},children:"Custom Domains"}),0===n.length&&!f&&a.jsx(v.Z,{variant:"body2",color:"text.disabled",sx:{mb:1},children:"No custom domains configured."}),a.jsx(ep.Z,{spacing:1,children:n.map(e=>(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",py:.5,px:1.5,borderRadius:1,bgcolor:"action.hover"},children:[a.jsx(v.Z,{variant:"body2",fontFamily:"monospace",children:e}),a.jsx(p.Z,{size:"small",color:"error",onClick:()=>T(e),title:"Remove domain",children:a.jsx(A.Z,{fontSize:"small"})})]},e))}),f?(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"flex-start",gap:1,mt:1},children:[a.jsx(k.Z,{size:"small",placeholder:"e.g. play.example.com",value:b,onChange:e=>{Z(e.target.value),C("")},onKeyDown:e=>{"Enter"===e.key&&z(),"Escape"===e.key&&O()},error:!!j,helperText:j,autoFocus:!0,sx:{flex:1}}),a.jsx(c.Z,{size:"small",variant:"contained",onClick:z,children:"Add"}),a.jsx(p.Z,{size:"small",onClick:O,children:a.jsx(N.Z,{fontSize:"small"})})]}):a.jsx(c.Z,{size:"small",startIcon:a.jsx(ex.Z,{}),onClick:()=>y(!0),sx:{mt:1},children:"Add Domain"})]}),S&&(0,a.jsxs)(u.Z,{severity:"warning",sx:{mb:2},children:["Container recreation is required for hostname changes to take effect. Run ",a.jsx("code",{children:"docker compose up -d"})," or restart the server from the dashboard."]}),a.jsx(d.Z,{sx:{display:"flex",justifyContent:"flex-end"},children:a.jsx(c.Z,{variant:"contained",size:"small",startIcon:a.jsx(eh.Z,{}),onClick:M,disabled:!l||s.isPending,children:s.isPending?"Saving...":"Save Hostnames"})})]})}),a.jsx(ei.Z,{open:R.open,autoHideDuration:6e3,onClose:()=>I({...R,open:!1}),anchorOrigin:{vertical:"bottom",horizontal:"right"},children:a.jsx(u.Z,{onClose:()=>I({...R,open:!1}),severity:R.severity,sx:{width:"100%"},children:R.message})})]})}var ev=r(5374),ef=r(84527),ey=r(73276),eb=r(32486),eZ=r(2200),ej=r(14360),eC=r(16770),eS=r(27767),ew=r(36739);function ek({field:e,value:t,onChange:r}){let[s,n]=(0,i.useState)(!1),o=e.columns??6,l=e.restartRequired?a.jsx(W.Z,{icon:a.jsx(ed.Z,{sx:{fontSize:14}}),label:"Restart",size:"small",sx:{ml:1,height:20,fontSize:11,color:"warning.main",borderColor:"warning.main","& .MuiChip-icon":{color:"warning.main"}},variant:"outlined"}):null;return a.jsx(R.ZP,{item:!0,xs:12,sm:o,children:(()=>{switch(e.type){case"boolean":return(0,a.jsxs)(d.Z,{children:[(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center"},children:[a.jsx(ej.Z,{control:a.jsx(eC.Z,{checked:t??!1,onChange:t=>r(e.key,t.target.checked)}),label:e.label}),l]}),e.helperText&&a.jsx(v.Z,{variant:"caption",color:"text.secondary",sx:{ml:4,display:"block"},children:e.helperText})]});case"select":return(0,a.jsxs)(d.Z,{children:[a.jsx(d.Z,{sx:{display:"flex",alignItems:"center",mb:.5},children:l}),(0,a.jsxs)(eb.Z,{fullWidth:!0,size:"small",children:[a.jsx(eZ.Z,{children:e.label}),a.jsx(ey.Z,{value:t??e.options?.[0]?.value??"",label:e.label,onChange:t=>r(e.key,t.target.value),children:e.options?.map(e=>a.jsx(y.Z,{value:e.value,children:e.label},e.value))})]})]});case"number":return(0,a.jsxs)(d.Z,{children:[a.jsx(d.Z,{sx:{display:"flex",alignItems:"center",mb:.5},children:l}),a.jsx(k.Z,{fullWidth:!0,size:"small",type:"number",label:e.label,value:t??"",onChange:t=>{let s=t.target.value;r(e.key,""===s?void 0:parseInt(s,10))},inputProps:{min:e.validation?.min,max:e.validation?.max},helperText:e.helperText,InputProps:e.unit?{endAdornment:a.jsx(D.Z,{position:"end",children:a.jsx(v.Z,{variant:"caption",color:"text.secondary",children:e.unit})})}:void 0})]});case"password":return(0,a.jsxs)(d.Z,{children:[a.jsx(d.Z,{sx:{display:"flex",alignItems:"center",mb:.5},children:l}),a.jsx(k.Z,{fullWidth:!0,size:"small",type:s?"text":"password",label:e.label,value:t??"",onChange:t=>r(e.key,t.target.value),helperText:e.helperText,InputProps:{endAdornment:a.jsx(D.Z,{position:"end",children:a.jsx(p.Z,{size:"small",onClick:()=>n(!s),edge:"end",children:s?a.jsx(ew.Z,{fontSize:"small"}):a.jsx(eS.Z,{fontSize:"small"})})})}})]});default:return(0,a.jsxs)(d.Z,{children:[a.jsx(d.Z,{sx:{display:"flex",alignItems:"center",mb:.5},children:l}),a.jsx(k.Z,{fullWidth:!0,size:"small",label:e.label,value:t??"",onChange:t=>r(e.key,t.target.value),helperText:e.helperText})]})}})()})}function eR({section:e,values:t,onChange:r}){let[s,n]=(0,i.useState)(!1),o=e.icon,l=e.advancedFields.length;return a.jsx(m.Z,{sx:{mb:3,borderRadius:3},children:(0,a.jsxs)(g.Z,{sx:{p:3},children:[(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:1.5,mb:1},children:[a.jsx(o,{sx:{fontSize:22,color:"primary.main"}}),a.jsx(v.Z,{variant:"h6",fontWeight:600,children:e.title})]}),a.jsx(v.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:e.description}),a.jsx(L.Z,{sx:{mb:3}}),a.jsx(R.ZP,{container:!0,spacing:2.5,children:e.essentialFields.map(e=>a.jsx(ek,{field:e,value:t[e.key],onChange:r},e.key))}),l>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(c.Z,{fullWidth:!0,variant:"text",onClick:()=>n(!s),endIcon:a.jsx(ef.Z,{sx:{transform:s?"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:[s?"Hide":"Show"," Advanced Settings (",l,")"]}),a.jsx(ev.Z,{in:s,timeout:300,children:a.jsx(d.Z,{sx:{pt:2,borderTop:"1px dashed",borderColor:"divider"},children:a.jsx(R.ZP,{container:!0,spacing:2.5,children:e.advancedFields.map(e=>a.jsx(ek,{field:e,value:t[e.key],onChange:r},e.key))})})})]})]})})}var eI=r(11999);function eP({hasChanges:e,changedCount:t,hasRestartChanges:r,isSaving:s,onSave:n,onDiscard:i}){return a.jsx(eI.Z,{direction:"up",in:e,mountOnEnter:!0,unmountOnExit:!0,children:(0,a.jsxs)(d.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,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[r&&a.jsx(ed.Z,{sx:{color:"warning.main",fontSize:20}}),(0,a.jsxs)(v.Z,{variant:"body2",fontWeight:600,children:[t," unsaved change",1!==t?"s":""]}),r&&a.jsx(v.Z,{variant:"caption",color:"warning.main",children:"(some require restart)"})]}),(0,a.jsxs)(d.Z,{sx:{display:"flex",gap:1},children:[a.jsx(c.Z,{variant:"text",color:"inherit",onClick:i,disabled:s,children:"Discard"}),a.jsx(c.Z,{variant:"contained",startIcon:s?a.jsx(x.Z,{size:16,color:"inherit"}):a.jsx(eh.Z,{}),onClick:n,disabled:s,children:s?"Saving...":`Save Changes (${t})`})]})]})})}function ez({open:e,changedFields:t,onSaveOnly:r,onSaveAndRestart:s,onCancel:n}){return(0,a.jsxs)(j.Z,{open:e,onClose:n,maxWidth:"sm",fullWidth:!0,children:[a.jsx(C.Z,{children:(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[a.jsx(ed.Z,{color:"warning"}),a.jsx(v.Z,{variant:"h6",fontWeight:600,children:"Restart Required"})]})}),(0,a.jsxs)(S.Z,{children:[a.jsx(v.Z,{variant:"body1",gutterBottom:!0,children:"The following changes require a server restart to take effect:"}),a.jsx(Q.Z,{dense:!0,children:t.map(e=>a.jsx(X.ZP,{sx:{py:0},children:a.jsx(Z.Z,{primary:e,primaryTypographyProps:{variant:"body2",fontFamily:"monospace"}})},e))})]}),(0,a.jsxs)(w.Z,{children:[a.jsx(c.Z,{onClick:n,color:"inherit",children:"Cancel"}),a.jsx(c.Z,{onClick:r,variant:"outlined",children:"Save Only"}),a.jsx(c.Z,{onClick:s,variant:"contained",color:"warning",children:"Save & Restart"})]})]})}var eT=r(3470),eA=r(765),eM=r(93599),eO=r(72419),e$=r(77343);let eF=[{id:"gameplay",icon:eT.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:eA.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:eM.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:E.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:eO.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:e$.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}}]}],eW=["memory","initMemory","maxMemory","useAikarFlags","jvmXxOpts","onlineMode","enableWhitelist","enforceWhitelist","enforceSecureProfile","level","seed","levelType","enableAutopause","enableAutostop","enableRcon","rconPassword","rconPort","tz","uid","gid","stopDuration"];function eD({serverName:e,isRunning:t}){let{data:r,isLoading:s}=(0,ec.iC)(e),n=(0,ec.MH)(),o=(0,ec.gx)(),l=(0,ec._I)(),[p,h]=(0,i.useState)({}),[f,y]=(0,i.useState)({}),[b,Z]=(0,i.useState)(!1),[R,I]=(0,i.useState)(""),[P,z]=(0,i.useState)(!1),[T,A]=(0,i.useState)({open:!1,message:"",severity:"info"}),M=(0,i.useMemo)(()=>{let e=[];for(let t of Object.keys(p))p[t]!==f[t]&&e.push(t);for(let t of Object.keys(f))p[t]===f[t]||e.includes(t)||e.push(t);return e},[p,f]),O=M.length>0,$=M.filter(e=>eW.includes(e)),F=$.length>0,W=(0,i.useCallback)((e,t)=>{h(r=>({...r,[e]:t}))},[]),D=(0,i.useCallback)(()=>{h(f)},[f]),N=(0,i.useCallback)(async r=>{try{let s=await n.mutateAsync({serverName:e,config:p});if(y(s.config),h(s.config),r&&t)try{await l.mutateAsync(e),A({open:!0,message:"Settings saved. Server is restarting...",severity:"warning"})}catch{A({open:!0,message:"Settings saved, but server restart failed. Please restart manually.",severity:"error"})}else A({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){A({open:!0,message:e instanceof Error?e.message:"Failed to save settings",severity:"error"})}finally{z(!1)}},[p,e,t,n,l]),E=(0,i.useCallback)(()=>{F&&t?z(!0):N(!1)},[F,t,N]),q=async()=>{if("RESET"!==R){A({open:!0,message:"Please type RESET to confirm",severity:"warning"});return}try{await o.mutateAsync(e),A({open:!0,message:"World reset successfully",severity:"success"}),Z(!1),I("")}catch(e){A({open:!0,message:e instanceof Error?e.message:"Failed to reset world",severity:"error"})}};return s?a.jsx(d.Z,{sx:{display:"flex",justifyContent:"center",py:8},children:a.jsx(x.Z,{})}):(0,a.jsxs)(d.Z,{children:[a.jsx(eg,{serverName:e}),eF.map(e=>a.jsx(eR,{section:e,values:p,onChange:W},e.id)),a.jsx(m.Z,{sx:{borderRadius:3,borderColor:"error.main",borderWidth:1,borderStyle:"solid"},children:(0,a.jsxs)(g.Z,{children:[a.jsx(v.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,color:"error",children:"Danger Zone"}),a.jsx(L.Z,{sx:{mb:3}}),(0,a.jsxs)(d.Z,{sx:{mb:3},children:[a.jsx(v.Z,{variant:"subtitle1",fontWeight:600,gutterBottom:!0,children:"Reset World"}),a.jsx(v.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."}),a.jsx(c.Z,{variant:"outlined",color:"error",startIcon:a.jsx(ed.Z,{}),onClick:()=>Z(!0),disabled:t,children:"Reset World"}),t&&a.jsx(v.Z,{variant:"caption",color:"text.secondary",sx:{ml:2},children:"Stop the server first"})]})]})}),a.jsx(eP,{hasChanges:O,changedCount:M.length,hasRestartChanges:F,isSaving:n.isPending,onSave:E,onDiscard:D}),a.jsx(ez,{open:P,changedFields:$,onSaveOnly:()=>N(!1),onSaveAndRestart:()=>N(!0),onCancel:()=>z(!1)}),(0,a.jsxs)(j.Z,{open:b,onClose:()=>Z(!1),maxWidth:"sm",fullWidth:!0,children:[a.jsx(C.Z,{children:(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[a.jsx(eo.Z,{color:"error"}),a.jsx(v.Z,{variant:"h6",fontWeight:600,children:"Reset World"})]})}),(0,a.jsxs)(S.Z,{children:[(0,a.jsxs)(v.Z,{variant:"body1",gutterBottom:!0,children:["This will permanently delete the world for ",a.jsx("strong",{children:e})," and generate a new one."]}),a.jsx(v.Z,{variant:"body2",color:"text.secondary",gutterBottom:!0,children:"This action cannot be undone. All player progress and builds will be lost."}),a.jsx(k.Z,{fullWidth:!0,label:"Type RESET to confirm",value:R,onChange:e=>I(e.target.value),sx:{mt:3},autoFocus:!0})]}),(0,a.jsxs)(w.Z,{children:[a.jsx(c.Z,{onClick:()=>Z(!1),children:"Cancel"}),a.jsx(c.Z,{variant:"contained",color:"error",onClick:q,disabled:"RESET"!==R||o.isPending,startIcon:o.isPending?a.jsx(x.Z,{size:16}):a.jsx(el.Z,{}),children:o.isPending?"Resetting...":"Reset World"})]})]}),a.jsx(ei.Z,{open:T.open,autoHideDuration:6e3,onClose:()=>A({...T,open:!1}),anchorOrigin:{vertical:"bottom",horizontal:"right"},children:a.jsx(u.Z,{onClose:()=>A({...T,open:!1}),severity:T.severity,sx:{width:"100%"},children:T.message})})]})}var eL=r(61573),eN=r(45286),eE=r(59615),eq=r(65757),eH=r(9561),eB=r(79795);let eU={admin:{label:"Owner",color:"primary",variant:"filled"},manage:{label:"Operator",color:"info",variant:"outlined"},view:{label:"Viewer",color:"default",variant:"outlined"}};function eV({permission:e,size:t="medium"}){let r=eU[e];return a.jsx(W.Z,{label:r.label,color:r.color,variant:r.variant,size:t})}var eK=r(36885),eG=r(4981),e_=r(30330),eJ=r(3693),eQ=r(93445),eX=r(98925),eY=r(65806);let e0=e=>{let t=i.useRef({});return i.useEffect(()=>{t.current=e}),t.current};var e1=r(49982),e2=r(39119);function e5(e){return void 0!==e.normalize?e.normalize("NFD").replace(/[\u0300-\u036f]/g,""):e}function e3(e,t){for(let r=0;r<e.length;r+=1)if(t(e[r]))return r;return -1}let e6=function(e={}){let{ignoreAccents:t=!0,ignoreCase:r=!0,limit:s,matchFrom:n="any",stringify:a,trim:i=!1}=e;return(e,{inputValue:o,getOptionLabel:l})=>{let d=i?o.trim():o;r&&(d=d.toLowerCase()),t&&(d=e5(d));let c=d?e.filter(e=>{let s=(a||l)(e);return r&&(s=s.toLowerCase()),t&&(s=e5(s)),"start"===n?0===s.indexOf(d):s.indexOf(d)>-1}):e;return"number"==typeof s?c.slice(0,s):c}}(),e4=e=>{var t;return null!==e.current&&(null==(t=e.current.parentElement)?void 0:t.contains(document.activeElement))},e8=[],e9=function(e){let{unstable_isActiveElementInListbox:t=e4,unstable_classNamePrefix:r="Mui",autoComplete:s=!1,autoHighlight:n=!1,autoSelect:a=!1,blurOnSelect:o=!1,clearOnBlur:l=!e.freeSolo,clearOnEscape:d=!1,componentName:c="useAutocomplete",defaultValue:p=e.multiple?e8:null,disableClearable:u=!1,disableCloseOnSelect:x=!1,disabled:h,disabledItemsFocusable:m=!1,disableListWrap:g=!1,filterOptions:v=e6,filterSelectedOptions:f=!1,freeSolo:y=!1,getOptionDisabled:b,getOptionKey:Z,getOptionLabel:j=e=>{var t;return null!=(t=e.label)?t:e},groupBy:C,handleHomeEndKeys:S=!e.freeSolo,id:w,includeInputInList:k=!1,inputValue:R,isOptionEqualToValue:I=(e,t)=>e===t,multiple:P=!1,onChange:z,onClose:T,onHighlightChange:A,onInputChange:M,onOpen:O,open:$,openOnFocus:F=!1,options:W,readOnly:D=!1,selectOnFocus:L=!e.freeSolo,value:N}=e,E=(0,eX.Z)(w),q=j;q=e=>{let t=j(e);return"string"!=typeof t?String(t):t};let H=i.useRef(!1),B=i.useRef(!0),U=i.useRef(null),V=i.useRef(null),[K,G]=i.useState(null),[_,J]=i.useState(-1),Q=n?0:-1,X=i.useRef(Q),[Y,ee]=(0,eY.Z)({controlled:N,default:p,name:c}),[et,er]=(0,eY.Z)({controlled:R,default:"",name:c,state:"inputValue"}),[es,en]=i.useState(!1),ea=i.useCallback((e,t)=>{let r;if((P?Y.length<t.length:null!==t)||l){if(P)r="";else if(null==t)r="";else{let e=q(t);r="string"==typeof e?e:""}et!==r&&(er(r),M&&M(e,r,"reset"))}},[q,et,P,M,er,l,Y]),[ei,eo]=(0,eY.Z)({controlled:$,default:!1,name:c,state:"open"}),[el,ed]=i.useState(!0),ec=!P&&null!=Y&&et===q(Y),ep=ei&&!D,eu=ep?v(W.filter(e=>!(f&&(P?Y:[Y]).some(t=>null!==t&&I(e,t)))),{inputValue:ec&&el?"":et,getOptionLabel:q}):[],ex=e0({filteredOptions:eu,value:Y,inputValue:et});i.useEffect(()=>{let e=Y!==ex.value;(!es||e)&&(!y||e)&&ea(null,Y)},[Y,ea,es,ex.value,y]);let eh=ei&&eu.length>0&&!D,em=(0,e1.Z)(e=>{-1===e?U.current.focus():K.querySelector(`[data-tag-index="${e}"]`).focus()});i.useEffect(()=>{P&&_>Y.length-1&&(J(-1),em(-1))},[Y,P,_,em]);let eg=(0,e1.Z)(({event:e,index:t,reason:s="auto"})=>{if(X.current=t,-1===t?U.current.removeAttribute("aria-activedescendant"):U.current.setAttribute("aria-activedescendant",`${E}-option-${t}`),A&&A(e,-1===t?null:eu[t],s),!V.current)return;let n=V.current.querySelector(`[role="option"].${r}-focused`);n&&(n.classList.remove(`${r}-focused`),n.classList.remove(`${r}-focusVisible`));let a=V.current;if("listbox"!==V.current.getAttribute("role")&&(a=V.current.parentElement.querySelector('[role="listbox"]')),!a)return;if(-1===t){a.scrollTop=0;return}let i=V.current.querySelector(`[data-option-index="${t}"]`);if(i&&(i.classList.add(`${r}-focused`),"keyboard"===s&&i.classList.add(`${r}-focusVisible`),a.scrollHeight>a.clientHeight&&"mouse"!==s&&"touch"!==s)){let e=a.clientHeight+a.scrollTop,t=i.offsetTop+i.offsetHeight;t>e?a.scrollTop=t-a.clientHeight:i.offsetTop-i.offsetHeight*(C?1.3:0)<a.scrollTop&&(a.scrollTop=i.offsetTop-i.offsetHeight*(C?1.3:0))}}),ev=(0,e1.Z)(({event:e,diff:t,direction:r="next",reason:n="auto"})=>{if(!ep)return;let a=function(e,t){if(!V.current||e<0||e>=eu.length)return -1;let r=e;for(;;){let s=V.current.querySelector(`[data-option-index="${r}"]`),n=!m&&(!s||s.disabled||"true"===s.getAttribute("aria-disabled"));if(s&&s.hasAttribute("tabindex")&&!n)return r;if((r="next"===t?(r+1)%eu.length:(r-1+eu.length)%eu.length)===e)return -1}}((()=>{let e=eu.length-1;if("reset"===t)return Q;if("start"===t)return 0;if("end"===t)return e;let r=X.current+t;return r<0?-1===r&&k?-1:g&&-1!==X.current||Math.abs(t)>1?0:e:r>e?r===e+1&&k?-1:g||Math.abs(t)>1?e:0:r})(),r);if(eg({index:a,reason:n,event:e}),s&&"reset"!==t){if(-1===a)U.current.value=et;else{let e=q(eu[a]);U.current.value=e,0===e.toLowerCase().indexOf(et.toLowerCase())&&et.length>0&&U.current.setSelectionRange(et.length,e.length)}}}),ef=()=>{var e;if(-1!==X.current&&ex.filteredOptions&&ex.filteredOptions.length!==eu.length&&ex.inputValue===et&&(P?Y.length===ex.value.length&&ex.value.every((e,t)=>q(Y[t])===q(e)):((e=ex.value)?q(e):"")===(Y?q(Y):""))){let e=ex.filteredOptions[X.current];if(e)return e3(eu,t=>q(t)===q(e))}return -1},ey=i.useCallback(()=>{if(!ep)return;let e=ef();if(-1!==e){X.current=e;return}let t=P?Y[0]:Y;if(0===eu.length||null==t){ev({diff:"reset"});return}if(V.current){if(null!=t){let e=eu[X.current];if(P&&e&&-1!==e3(Y,t=>I(e,t)))return;let r=e3(eu,e=>I(e,t));-1===r?ev({diff:"reset"}):eg({index:r});return}if(X.current>=eu.length-1){eg({index:eu.length-1});return}eg({index:X.current})}},[eu.length,!P&&Y,f,ev,eg,ep,et,P]),eb=(0,e1.Z)(e=>{(0,e2.Z)(V,e),e&&ey()});i.useEffect(()=>{ey()},[ey]);let eZ=e=>{!ei&&(eo(!0),ed(!0),O&&O(e))},ej=(e,t)=>{ei&&(eo(!1),T&&T(e,t))},eC=(e,t,r,s)=>{if(P){if(Y.length===t.length&&Y.every((e,r)=>e===t[r]))return}else if(Y===t)return;z&&z(e,t,r,s),ee(t)},eS=i.useRef(!1),ew=(e,t,r="selectOption",s="options")=>{let n=r,a=t;if(P){let e=e3(a=Array.isArray(Y)?Y.slice():[],e=>I(t,e));-1===e?a.push(t):"freeSolo"!==s&&(a.splice(e,1),n="removeOption")}ea(e,a),eC(e,a,n,{option:t}),x||e&&(e.ctrlKey||e.metaKey)||ej(e,n),(!0===o||"touch"===o&&eS.current||"mouse"===o&&!eS.current)&&U.current.blur()},ek=(e,t)=>{if(!P)return;""===et&&ej(e,"toggleInput");let r=_;-1===_?""===et&&"previous"===t&&(r=Y.length-1):((r+="next"===t?1:-1)<0&&(r=0),r===Y.length&&(r=-1)),J(r=function(e,t){if(-1===e)return -1;let r=e;for(;;){if("next"===t&&r===Y.length||"previous"===t&&-1===r)return -1;let e=K.querySelector(`[data-tag-index="${r}"]`);if(e&&e.hasAttribute("tabindex")&&!e.disabled&&"true"!==e.getAttribute("aria-disabled"))return r;r+="next"===t?1:-1}}(r,t)),em(r)},eR=e=>{H.current=!0,er(""),M&&M(e,"","clear"),eC(e,P?[]:null,"clear")},eI=e=>t=>{if(e.onKeyDown&&e.onKeyDown(t),!t.defaultMuiPrevented&&(-1!==_&&-1===["ArrowLeft","ArrowRight"].indexOf(t.key)&&(J(-1),em(-1)),229!==t.which))switch(t.key){case"Home":ep&&S&&(t.preventDefault(),ev({diff:"start",direction:"next",reason:"keyboard",event:t}));break;case"End":ep&&S&&(t.preventDefault(),ev({diff:"end",direction:"previous",reason:"keyboard",event:t}));break;case"PageUp":t.preventDefault(),ev({diff:-5,direction:"previous",reason:"keyboard",event:t}),eZ(t);break;case"PageDown":t.preventDefault(),ev({diff:5,direction:"next",reason:"keyboard",event:t}),eZ(t);break;case"ArrowDown":t.preventDefault(),ev({diff:1,direction:"next",reason:"keyboard",event:t}),eZ(t);break;case"ArrowUp":t.preventDefault(),ev({diff:-1,direction:"previous",reason:"keyboard",event:t}),eZ(t);break;case"ArrowLeft":ek(t,"previous");break;case"ArrowRight":ek(t,"next");break;case"Enter":if(-1!==X.current&&ep){let e=eu[X.current],r=!!b&&b(e);if(t.preventDefault(),r)return;ew(t,e,"selectOption"),s&&U.current.setSelectionRange(U.current.value.length,U.current.value.length)}else y&&""!==et&&!1===ec&&(P&&t.preventDefault(),ew(t,et,"createOption","freeSolo"));break;case"Escape":ep?(t.preventDefault(),t.stopPropagation(),ej(t,"escape")):d&&(""!==et||P&&Y.length>0)&&(t.preventDefault(),t.stopPropagation(),eR(t));break;case"Backspace":if(P&&!D&&""===et&&Y.length>0){let e=-1===_?Y.length-1:_,r=Y.slice();r.splice(e,1),eC(t,r,"removeOption",{option:Y[e]})}break;case"Delete":if(P&&!D&&""===et&&Y.length>0&&-1!==_){let e=Y.slice();e.splice(_,1),eC(t,e,"removeOption",{option:Y[_]})}}},eP=e=>{en(!0),F&&!H.current&&eZ(e)},ez=e=>{if(t(V)){U.current.focus();return}en(!1),B.current=!0,H.current=!1,a&&-1!==X.current&&ep?ew(e,eu[X.current],"blur"):a&&y&&""!==et?ew(e,et,"blur","freeSolo"):l&&ea(e,Y),ej(e,"blur")},eT=e=>{let t=e.target.value;et!==t&&(er(t),ed(!1),M&&M(e,t,"input")),""===t?u||P||eC(e,null,"clear"):eZ(e)},eA=e=>{let t=Number(e.currentTarget.getAttribute("data-option-index"));X.current!==t&&eg({event:e,index:t,reason:"mouse"})},eM=e=>{eg({event:e,index:Number(e.currentTarget.getAttribute("data-option-index")),reason:"touch"}),eS.current=!0},eO=e=>{let t=Number(e.currentTarget.getAttribute("data-option-index"));ew(e,eu[t],"selectOption"),eS.current=!1},e$=e=>t=>{let r=Y.slice();r.splice(e,1),eC(t,r,"removeOption",{option:Y[e]})},eF=e=>{ei?ej(e,"toggleInput"):eZ(e)},eW=e=>{e.currentTarget.contains(e.target)&&e.target.getAttribute("id")!==E&&e.preventDefault()},eD=e=>{e.currentTarget.contains(e.target)&&(U.current.focus(),L&&B.current&&U.current.selectionEnd-U.current.selectionStart==0&&U.current.select(),B.current=!1)},eL=e=>{h||""!==et&&ei||eF(e)},eN=y&&et.length>0;eN=eN||(P?Y.length>0:null!==Y);let eE=eu;return C&&(eE=eu.reduce((e,t,r)=>{let s=C(t);return e.length>0&&e[e.length-1].group===s?e[e.length-1].options.push(t):e.push({key:r,index:r,group:s,options:[t]}),e},[])),h&&es&&ez(),{getRootProps:(e={})=>(0,eG.Z)({"aria-owns":eh?`${E}-listbox`:null},e,{onKeyDown:eI(e),onMouseDown:eW,onClick:eD}),getInputLabelProps:()=>({id:`${E}-label`,htmlFor:E}),getInputProps:()=>({id:E,value:et,onBlur:ez,onFocus:eP,onChange:eT,onMouseDown:eL,"aria-activedescendant":ep?"":null,"aria-autocomplete":s?"both":"list","aria-controls":eh?`${E}-listbox`:void 0,"aria-expanded":eh,autoComplete:"off",ref:U,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:h}),getClearProps:()=>({tabIndex:-1,type:"button",onClick:eR}),getPopupIndicatorProps:()=>({tabIndex:-1,type:"button",onClick:eF}),getTagProps:({index:e})=>(0,eG.Z)({key:e,"data-tag-index":e,tabIndex:-1},!D&&{onDelete:e$(e)}),getListboxProps:()=>({role:"listbox",id:`${E}-listbox`,"aria-labelledby":`${E}-label`,ref:eb,onMouseDown:e=>{e.preventDefault()}}),getOptionProps:({index:e,option:t})=>{var r;let s=(P?Y:[Y]).some(e=>null!=e&&I(t,e)),n=!!b&&b(t);return{key:null!=(r=null==Z?void 0:Z(t))?r:q(t),tabIndex:-1,role:"option",id:`${E}-option-${e}`,onMouseMove:eA,onClick:eO,onTouchStart:eM,"data-option-index":e,"aria-disabled":n,"aria-selected":s}},id:E,inputValue:et,value:Y,dirty:eN,expanded:ep&&K,popupOpen:ep,focused:es||-1!==_,anchorEl:K,setAnchorEl:G,focusedTag:_,groupedOptions:eE}};var e7=r(75109),te=r(62923),tt=r(9103),tr=r(29251),ts=r(89206),tn=r(7967);function ta(e){return(0,tn.ZP)("MuiListSubheader",e)}(0,ts.Z)("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]);let ti=["className","color","component","disableGutters","disableSticky","inset"],to=e=>{let{classes:t,color:r,disableGutters:s,inset:n,disableSticky:a}=e,i={root:["root","default"!==r&&`color${(0,tr.Z)(r)}`,!s&&"gutters",n&&"inset",!a&&"sticky"]};return(0,eJ.Z)(i,ta,t)},tl=(0,te.ZP)("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,"default"!==r.color&&t[`color${(0,tr.Z)(r.color)}`],!r.disableGutters&&t.gutters,r.inset&&t.inset,!r.disableSticky&&t.sticky]}})(({theme:e,ownerState:t})=>(0,eG.Z)({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(e.vars||e).palette.text.secondary,fontFamily:e.typography.fontFamily,fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.pxToRem(14)},"primary"===t.color&&{color:(e.vars||e).palette.primary.main},"inherit"===t.color&&{color:"inherit"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.inset&&{paddingLeft:72},!t.disableSticky&&{position:"sticky",top:0,zIndex:1,backgroundColor:(e.vars||e).palette.background.paper})),td=i.forwardRef(function(e,t){let r=(0,tt.i)({props:e,name:"MuiListSubheader"}),{className:s,color:n="default",component:i="li",disableGutters:o=!1,disableSticky:l=!1,inset:d=!1}=r,c=(0,eK.Z)(r,ti),p=(0,eG.Z)({},r,{color:n,component:i,disableGutters:o,disableSticky:l,inset:d}),u=to(p);return(0,a.jsx)(tl,(0,eG.Z)({as:i,className:(0,e_.Z)(u.root,s),ref:t,ownerState:p},c))});td.muiSkipListHighlight=!0;var tc=r(52329),tp=r(36633),tu=r(41256),tx=r(58631),th=r(31506),tm=r(59129),tg=r(31776);function tv(e){return(0,tn.ZP)("MuiAutocomplete",e)}let tf=(0,ts.Z)("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]);var ty=r(69473);let tb=["autoComplete","autoHighlight","autoSelect","blurOnSelect","ChipProps","className","clearIcon","clearOnBlur","clearOnEscape","clearText","closeText","componentsProps","defaultValue","disableClearable","disableCloseOnSelect","disabled","disabledItemsFocusable","disableListWrap","disablePortal","filterOptions","filterSelectedOptions","forcePopupIcon","freeSolo","fullWidth","getLimitTagsText","getOptionDisabled","getOptionKey","getOptionLabel","isOptionEqualToValue","groupBy","handleHomeEndKeys","id","includeInputInList","inputValue","limitTags","ListboxComponent","ListboxProps","loading","loadingText","multiple","noOptionsText","onChange","onClose","onHighlightChange","onInputChange","onOpen","open","openOnFocus","openText","options","PaperComponent","PopperComponent","popupIcon","readOnly","renderGroup","renderInput","renderOption","renderTags","selectOnFocus","size","slotProps","value"],tZ=["ref"],tj=["key"],tC=["key"],tS=e=>{let{classes:t,disablePortal:r,expanded:s,focused:n,fullWidth:a,hasClearIcon:i,hasPopupIcon:o,inputFocused:l,popupOpen:d,size:c}=e,p={root:["root",s&&"expanded",n&&"focused",a&&"fullWidth",i&&"hasClearIcon",o&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",l&&"inputFocused"],tag:["tag",`tagSize${(0,tr.Z)(c)}`],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",d&&"popupIndicatorOpen"],popper:["popper",r&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return(0,eJ.Z)(p,tv,t)},tw=(0,te.ZP)("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e,{fullWidth:s,hasClearIcon:n,hasPopupIcon:a,inputFocused:i,size:o}=r;return[{[`& .${tf.tag}`]:t.tag},{[`& .${tf.tag}`]:t[`tagSize${(0,tr.Z)(o)}`]},{[`& .${tf.inputRoot}`]:t.inputRoot},{[`& .${tf.input}`]:t.input},{[`& .${tf.input}`]:i&&t.inputFocused},t.root,s&&t.fullWidth,a&&t.hasPopupIcon,n&&t.hasClearIcon]}})({[`&.${tf.focused} .${tf.clearIndicator}`]:{visibility:"visible"},"@media (pointer: fine)":{[`&:hover .${tf.clearIndicator}`]:{visibility:"visible"}},[`& .${tf.tag}`]:{margin:3,maxWidth:"calc(100% - 6px)"},[`& .${tf.inputRoot}`]:{[`.${tf.hasPopupIcon}&, .${tf.hasClearIcon}&`]:{paddingRight:30},[`.${tf.hasPopupIcon}.${tf.hasClearIcon}&`]:{paddingRight:56},[`& .${tf.input}`]:{width:0,minWidth:30}},[`& .${tp.Z.root}`]:{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}},[`& .${tp.Z.root}.${tu.Z.sizeSmall}`]:{[`& .${tp.Z.input}`]:{padding:"2px 4px 3px 0"}},[`& .${tx.Z.root}`]:{padding:9,[`.${tf.hasPopupIcon}&, .${tf.hasClearIcon}&`]:{paddingRight:39},[`.${tf.hasPopupIcon}.${tf.hasClearIcon}&`]:{paddingRight:65},[`& .${tf.input}`]:{padding:"7.5px 4px 7.5px 5px"},[`& .${tf.endAdornment}`]:{right:9}},[`& .${tx.Z.root}.${tu.Z.sizeSmall}`]:{paddingTop:6,paddingBottom:6,paddingLeft:6,[`& .${tf.input}`]:{padding:"2.5px 4px 2.5px 8px"}},[`& .${th.Z.root}`]:{paddingTop:19,paddingLeft:8,[`.${tf.hasPopupIcon}&, .${tf.hasClearIcon}&`]:{paddingRight:39},[`.${tf.hasPopupIcon}.${tf.hasClearIcon}&`]:{paddingRight:65},[`& .${th.Z.input}`]:{padding:"7px 4px"},[`& .${tf.endAdornment}`]:{right:9}},[`& .${th.Z.root}.${tu.Z.sizeSmall}`]:{paddingBottom:1,[`& .${th.Z.input}`]:{padding:"2.5px 4px"}},[`& .${tu.Z.hiddenLabel}`]:{paddingTop:8},[`& .${th.Z.root}.${tu.Z.hiddenLabel}`]:{paddingTop:0,paddingBottom:0,[`& .${tf.input}`]:{paddingTop:16,paddingBottom:17}},[`& .${th.Z.root}.${tu.Z.hiddenLabel}.${tu.Z.sizeSmall}`]:{[`& .${tf.input}`]:{paddingTop:8,paddingBottom:9}},[`& .${tf.input}`]:{flexGrow:1,textOverflow:"ellipsis",opacity:0},variants:[{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{[`& .${tf.tag}`]:{margin:2,maxWidth:"calc(100% - 4px)"}}},{props:{inputFocused:!0},style:{[`& .${tf.input}`]:{opacity:1}}},{props:{multiple:!0},style:{[`& .${tf.inputRoot}`]:{flexWrap:"wrap"}}}]}),tk=(0,te.ZP)("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:(e,t)=>t.endAdornment})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),tR=(0,te.ZP)(p.Z,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:(e,t)=>t.clearIndicator})({marginRight:-2,padding:4,visibility:"hidden"}),tI=(0,te.ZP)(p.Z,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:({ownerState:e},t)=>(0,eG.Z)({},t.popupIndicator,e.popupOpen&&t.popupIndicatorOpen)})({padding:2,marginRight:-2,variants:[{props:{popupOpen:!0},style:{transform:"rotate(180deg)"}}]}),tP=(0,te.ZP)(e7.Z,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[{[`& .${tf.option}`]:t.option},t.popper,r.disablePortal&&t.popperDisablePortal]}})(({theme:e})=>({zIndex:(e.vars||e).zIndex.modal,variants:[{props:{disablePortal:!0},style:{position:"absolute"}}]})),tz=(0,te.ZP)(tc.Z,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:(e,t)=>t.paper})(({theme:e})=>(0,eG.Z)({},e.typography.body1,{overflow:"auto"})),tT=(0,te.ZP)("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:(e,t)=>t.loading})(({theme:e})=>({color:(e.vars||e).palette.text.secondary,padding:"14px 16px"})),tA=(0,te.ZP)("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:(e,t)=>t.noOptions})(({theme:e})=>({color:(e.vars||e).palette.text.secondary,padding:"14px 16px"})),tM=(0,te.ZP)("div",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:(e,t)=>t.listbox})(({theme:e})=>({listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative",[`& .${tf.option}`]:{minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16,[e.breakpoints.up("sm")]:{minHeight:"auto"},[`&.${tf.focused}`]:{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},'&[aria-disabled="true"]':{opacity:(e.vars||e).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${tf.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},'&[aria-selected="true"]':{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:(0,eQ.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${tf.focused}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:(0,eQ.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(e.vars||e).palette.action.selected}},[`&.${tf.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:(0,eQ.Fq)(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}}}})),tO=(0,te.ZP)(td,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:(e,t)=>t.groupLabel})(({theme:e})=>({backgroundColor:(e.vars||e).palette.background.paper,top:-8})),t$=(0,te.ZP)("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:(e,t)=>t.groupUl})({padding:0,[`& .${tf.option}`]:{paddingLeft:24}}),tF=i.forwardRef(function(e,t){var r,o,l,d;let c;let p=(0,tt.i)({props:e,name:"MuiAutocomplete"}),{autoComplete:u=!1,autoHighlight:x=!1,autoSelect:h=!1,blurOnSelect:m=!1,ChipProps:g,className:v,clearIcon:f=s||(s=(0,a.jsx)(tm.Z,{fontSize:"small"})),clearOnBlur:y=!p.freeSolo,clearOnEscape:b=!1,clearText:Z="Clear",closeText:j="Close",componentsProps:C={},defaultValue:S=p.multiple?[]:null,disableClearable:w=!1,disableCloseOnSelect:k=!1,disabled:R=!1,disabledItemsFocusable:I=!1,disableListWrap:P=!1,disablePortal:z=!1,filterSelectedOptions:T=!1,forcePopupIcon:A="auto",freeSolo:M=!1,fullWidth:O=!1,getLimitTagsText:$=e=>`+${e}`,getOptionLabel:F,groupBy:D,handleHomeEndKeys:L=!p.freeSolo,includeInputInList:N=!1,limitTags:E=-1,ListboxComponent:q="ul",ListboxProps:H,loading:B=!1,loadingText:U="Loading…",multiple:V=!1,noOptionsText:K="No options",openOnFocus:G=!1,openText:_="Open",PaperComponent:J=tc.Z,PopperComponent:Q=e7.Z,popupIcon:X=n||(n=(0,a.jsx)(tg.Z,{})),readOnly:Y=!1,renderGroup:ee,renderInput:et,renderOption:er,renderTags:es,selectOnFocus:en=!p.freeSolo,size:ea="medium",slotProps:ei={}}=p,eo=(0,eK.Z)(p,tb),{getRootProps:el,getInputProps:ed,getInputLabelProps:ec,getPopupIndicatorProps:ep,getClearProps:eu,getTagProps:ex,getListboxProps:eh,getOptionProps:em,value:eg,dirty:ev,expanded:ef,id:ey,popupOpen:eb,focused:eZ,focusedTag:ej,anchorEl:eC,setAnchorEl:eS,inputValue:ew,groupedOptions:ek}=e9((0,eG.Z)({},p,{componentName:"Autocomplete"})),eR=!w&&!R&&ev&&!Y,eI=(!M||!0===A)&&!1!==A,{onMouseDown:eP}=ed(),{ref:ez}=null!=H?H:{},eT=eh(),{ref:eA}=eT,eM=(0,eK.Z)(eT,tZ),eO=(0,ty.Z)(eA,ez),e$=F||(e=>{var t;return null!=(t=e.label)?t:e}),eF=(0,eG.Z)({},p,{disablePortal:z,expanded:ef,focused:eZ,fullWidth:O,getOptionLabel:e$,hasClearIcon:eR,hasPopupIcon:eI,inputFocused:-1===ej,popupOpen:eb,size:ea}),eW=tS(eF);if(V&&eg.length>0){let e=e=>(0,eG.Z)({className:eW.tag,disabled:R},ex(e));c=es?es(eg,e,eF):eg.map((t,r)=>{let s=e({index:r}),{key:n}=s,i=(0,eK.Z)(s,tj);return(0,a.jsx)(W.Z,(0,eG.Z)({label:e$(t),size:ea},i,g),n)})}if(E>-1&&Array.isArray(c)){let e=c.length-E;!eZ&&e>0&&(c=c.splice(0,E)).push((0,a.jsx)("span",{className:eW.tag,children:$(e)},c.length))}let eD=ee||(e=>(0,a.jsxs)("li",{children:[(0,a.jsx)(tO,{className:eW.groupLabel,ownerState:eF,component:"div",children:e.group}),(0,a.jsx)(t$,{className:eW.groupUl,ownerState:eF,children:e.children})]},e.key)),eL=er||((e,t)=>{let{key:r}=e,s=(0,eK.Z)(e,tC);return(0,a.jsx)("li",(0,eG.Z)({},s,{children:e$(t)}),r)}),eN=(e,t)=>{let r=em({option:e,index:t});return eL((0,eG.Z)({},r,{className:eW.option}),e,{selected:r["aria-selected"],index:t,inputValue:ew},eF)},eE=null!=(r=ei.clearIndicator)?r:C.clearIndicator,eq=null!=(o=ei.paper)?o:C.paper,eH=null!=(l=ei.popper)?l:C.popper,eB=null!=(d=ei.popupIndicator)?d:C.popupIndicator;return(0,a.jsxs)(i.Fragment,{children:[(0,a.jsx)(tw,(0,eG.Z)({ref:t,className:(0,e_.Z)(eW.root,v),ownerState:eF},el(eo),{children:et({id:ey,disabled:R,fullWidth:!0,size:"small"===ea?"small":void 0,InputLabelProps:ec(),InputProps:(0,eG.Z)({ref:eS,className:eW.inputRoot,startAdornment:c,onClick:e=>{e.target===e.currentTarget&&eP(e)}},(eR||eI)&&{endAdornment:(0,a.jsxs)(tk,{className:eW.endAdornment,ownerState:eF,children:[eR?(0,a.jsx)(tR,(0,eG.Z)({},eu(),{"aria-label":Z,title:Z,ownerState:eF},eE,{className:(0,e_.Z)(eW.clearIndicator,null==eE?void 0:eE.className),children:f})):null,eI?(0,a.jsx)(tI,(0,eG.Z)({},ep(),{disabled:R,"aria-label":eb?j:_,title:eb?j:_,ownerState:eF},eB,{className:(0,e_.Z)(eW.popupIndicator,null==eB?void 0:eB.className),children:X})):null]})}),inputProps:(0,eG.Z)({className:eW.input,disabled:R,readOnly:Y},ed())})})),eC?(0,a.jsx)(tP,(0,eG.Z)({as:Q,disablePortal:z,style:{width:eC?eC.clientWidth:null},ownerState:eF,role:"presentation",anchorEl:eC,open:eb},eH,{className:(0,e_.Z)(eW.popper,null==eH?void 0:eH.className),children:(0,a.jsxs)(tz,(0,eG.Z)({ownerState:eF,as:J},eq,{className:(0,e_.Z)(eW.paper,null==eq?void 0:eq.className),children:[B&&0===ek.length?(0,a.jsx)(tT,{className:eW.loading,ownerState:eF,children:U}):null,0!==ek.length||M||B?null:(0,a.jsx)(tA,{className:eW.noOptions,ownerState:eF,role:"presentation",onMouseDown:e=>{e.preventDefault()},children:K}),ek.length>0?(0,a.jsx)(tM,(0,eG.Z)({as:q,className:eW.listbox,ownerState:eF},eM,H,{ref:eO,children:ek.map((e,t)=>D?eD({key:e.key,group:e.group,children:e.options.map((t,r)=>eN(t,e.index+r))}):eN(e,t))})):null]}))})):null]})});var tW=r(99943),tD=r(92241),tL=r(61974),tN=r(28872),tE=r(95343),tq=r(20042),tH=r(43137);function tB({open:e,onClose:t,serverId:r}){var s;let[n,o]=(0,i.useState)(""),[l,p]=(0,i.useState)(null),[h,m]=(0,i.useState)("view"),{data:g,isLoading:f}=(s={enabled:e},(0,tN.a)({queryKey:["users","search",n],queryFn:()=>(0,tH.SC)(`/api/users?q=${encodeURIComponent(n)}`),enabled:s?.enabled!==!1&&n.length>=2,staleTime:3e4})),y=function(){let e=(0,tE.NL)();return(0,tq.D)({mutationFn:e=>(0,tH.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"]})}})}(),b=(0,i.useMemo)(()=>g?.users??[],[g]),Z=()=>{o(""),p(null),m("view"),y.reset(),t()};return(0,a.jsxs)(j.Z,{open:e,onClose:Z,maxWidth:"sm",fullWidth:!0,PaperProps:{sx:{borderRadius:3}},children:[a.jsx(C.Z,{sx:{fontWeight:600},children:"Add User Access"}),(0,a.jsxs)(S.Z,{sx:{display:"flex",flexDirection:"column",gap:3,pt:"8px !important"},children:[y.isError&&a.jsx(u.Z,{severity:"error",sx:{mb:1},children:y.error?.message||"Failed to grant access"}),a.jsx(tF,{options:b,getOptionLabel:e=>e.name||e.email,isOptionEqualToValue:(e,t)=>e.id===t.id,value:l,onChange:(e,t)=>p(t),inputValue:n,onInputChange:(e,t)=>o(t),loading:f,filterOptions:e=>e,noOptionsText:n.length<2?"Type at least 2 characters":"No users found",renderInput:e=>a.jsx(k.Z,{...e,label:"Search User",placeholder:"Search by name or email...",InputProps:{...e.InputProps,endAdornment:(0,a.jsxs)(a.Fragment,{children:[f&&a.jsx(x.Z,{size:20}),e.InputProps.endAdornment]})}}),renderOption:(e,t)=>{let{key:r,...s}=e;return(0,a.jsxs)(d.Z,{component:"li",...s,sx:{display:"flex",gap:1.5,py:1},children:[a.jsx(eL.Z,{src:t.image??void 0,sx:{width:32,height:32,bgcolor:"primary.main",fontSize:14},children:(t.name?.[0]||t.email?.[0]||"?").toUpperCase()}),(0,a.jsxs)(d.Z,{children:[a.jsx(v.Z,{variant:"body2",fontWeight:500,children:t.name||"Unknown"}),a.jsx(v.Z,{variant:"caption",color:"text.secondary",children:t.email})]})]},r)}}),(0,a.jsxs)(eb.Z,{children:[a.jsx(tW.Z,{sx:{fontWeight:500,mb:1},children:"Permission Level"}),(0,a.jsxs)(tD.Z,{value:h,onChange:e=>m(e.target.value),children:[a.jsx(ej.Z,{value:"view",control:a.jsx(tL.Z,{size:"small"}),label:(0,a.jsxs)(d.Z,{children:[a.jsx(v.Z,{variant:"body2",fontWeight:500,children:"Viewer"}),a.jsx(v.Z,{variant:"caption",color:"text.secondary",children:"Can view server status and logs"})]})}),a.jsx(ej.Z,{value:"manage",control:a.jsx(tL.Z,{size:"small"}),label:(0,a.jsxs)(d.Z,{children:[a.jsx(v.Z,{variant:"body2",fontWeight:500,children:"Operator"}),a.jsx(v.Z,{variant:"caption",color:"text.secondary",children:"Can start, stop, and configure the server"})]})}),a.jsx(ej.Z,{value:"admin",control:a.jsx(tL.Z,{size:"small"}),label:(0,a.jsxs)(d.Z,{children:[a.jsx(v.Z,{variant:"body2",fontWeight:500,children:"Owner"}),a.jsx(v.Z,{variant:"caption",color:"text.secondary",children:"Full control including managing other users"})]})})]})]})]}),(0,a.jsxs)(w.Z,{sx:{px:3,pb:2},children:[a.jsx(c.Z,{onClick:Z,color:"inherit",children:"Cancel"}),a.jsx(c.Z,{onClick:()=>{l&&y.mutate({userId:l.id,serverId:r,permission:h},{onSuccess:Z})},variant:"contained",disabled:!l||y.isPending,sx:{borderRadius:2},children:y.isPending?"Adding...":"Add User"})]})]})}function tU({serverId:e}){let{data:t,isLoading:r,error:s}=(0,tN.a)({queryKey:["user-servers",e],queryFn:()=>(0,tH.SC)(`/api/user-servers?serverId=${encodeURIComponent(e)}`),enabled:!!e}),n=function(){let e=(0,tE.NL)();return(0,tq.D)({mutationFn:({id:e,permission:t})=>(0,tH.SC)(`/api/user-servers/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify({permission:t})}),onSuccess:()=>{e.invalidateQueries({queryKey:["user-servers"]})}})}(),o=function(){let e=(0,tE.NL)();return(0,tq.D)({mutationFn:e=>(0,tH.SC)(`/api/user-servers/${encodeURIComponent(e)}`,{method:"DELETE"}),onSuccess:()=>{e.invalidateQueries({queryKey:["user-servers"]})}})}(),[l,x]=(0,i.useState)(!1),[j,C]=(0,i.useState)(null),[S,w]=(0,i.useState)(null),k=(e,t)=>{C(e.currentTarget),w(t)},R=()=>{C(null),w(null)},I=e=>{if(!S||S.permission===e){R();return}n.mutate({id:S.id,permission:e},{onSettled:R})},P=t?.users.filter(e=>"admin"===e.permission).length??0,z=S?.permission==="admin"&&P<=1;if(r)return a.jsx(m.Z,{sx:{borderRadius:3},children:(0,a.jsxs)(g.Z,{children:[(0,a.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[a.jsx(h.Z,{variant:"text",width:"30%",height:32}),a.jsx(h.Z,{variant:"rounded",width:120,height:36,sx:{borderRadius:2}})]}),a.jsx(L.Z,{sx:{mb:2}}),[0,1,2].map(e=>(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:2,py:1.5,borderBottom:"1px solid",borderColor:"divider"},children:[a.jsx(h.Z,{variant:"circular",width:40,height:40}),(0,a.jsxs)(d.Z,{sx:{flex:1},children:[a.jsx(h.Z,{variant:"text",width:"40%"}),a.jsx(h.Z,{variant:"text",width:"60%"})]}),a.jsx(h.Z,{variant:"rounded",width:80,height:28,sx:{borderRadius:10}}),a.jsx(h.Z,{variant:"circular",width:32,height:32})]},e))]})});if(s)return(0,a.jsxs)(u.Z,{severity:"error",children:["Failed to load access list: ",s.message]});let A=t?.users??[];return(0,a.jsxs)(a.Fragment,{children:[a.jsx(m.Z,{sx:{borderRadius:3},children:(0,a.jsxs)(g.Z,{children:[(0,a.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[a.jsx(v.Z,{variant:"h6",fontWeight:600,children:"Server Access"}),a.jsx(c.Z,{variant:"contained",size:"small",startIcon:a.jsx(eN.Z,{}),onClick:()=>x(!0),sx:{borderRadius:2},children:"Add User"})]}),a.jsx(L.Z,{sx:{mb:1}}),0===A.length?a.jsx(d.Z,{sx:{py:4,textAlign:"center"},children:a.jsx(v.Z,{variant:"body2",color:"text.secondary",children:"No users have been granted access to this server yet."})}):A.map(e=>(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:2,py:1.5,"&:not(:last-child)":{borderBottom:"1px solid",borderColor:"divider"}},children:[a.jsx(eL.Z,{src:e.user?.image??void 0,sx:{width:40,height:40,bgcolor:"primary.main",fontSize:16},children:(e.user?.name?.[0]||e.user?.email?.[0]||"?").toUpperCase()}),(0,a.jsxs)(d.Z,{sx:{flex:1,minWidth:0},children:[a.jsx(v.Z,{variant:"body2",fontWeight:500,noWrap:!0,children:e.user?.name||"Unknown User"}),a.jsx(v.Z,{variant:"caption",color:"text.secondary",noWrap:!0,children:e.user?.email||e.userId})]}),a.jsx(eV,{permission:e.permission,size:"small"}),a.jsx(p.Z,{size:"small",onClick:t=>k(t,e),sx:{color:"text.secondary"},children:a.jsx(T.Z,{fontSize:"small"})})]},e.id)),(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:1,mt:2,pt:1},children:[a.jsx(eB.Z,{sx:{fontSize:16,color:"text.disabled"}}),a.jsx(v.Z,{variant:"caption",color:"text.disabled",children:"Only platform admins and server owners can manage access."})]})]})}),(0,a.jsxs)(f.Z,{anchorEl:j,open:!!j,onClose:R,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},disableScrollLock:!0,children:[(0,a.jsxs)(y.Z,{onClick:()=>I("admin"),disabled:S?.permission==="admin",children:[a.jsx(b.Z,{children:a.jsx(eE.Z,{fontSize:"small"})}),a.jsx(Z.Z,{children:"Change to Owner"})]}),(0,a.jsxs)(y.Z,{onClick:()=>I("manage"),disabled:S?.permission==="manage"||z,children:[a.jsx(b.Z,{children:a.jsx(eq.Z,{fontSize:"small"})}),a.jsx(Z.Z,{children:"Change to Operator"})]}),(0,a.jsxs)(y.Z,{onClick:()=>I("view"),disabled:S?.permission==="view"||z,children:[a.jsx(b.Z,{children:a.jsx(eS.Z,{fontSize:"small"})}),a.jsx(Z.Z,{children:"Change to Viewer"})]}),a.jsx(L.Z,{}),(0,a.jsxs)(y.Z,{onClick:()=>{S&&o.mutate(S.id,{onSettled:R})},disabled:z,sx:{color:"error.main"},children:[a.jsx(b.Z,{children:a.jsx(eH.Z,{fontSize:"small",sx:{color:"error.main"}})}),a.jsx(Z.Z,{children:"Remove Access"})]})]}),a.jsx(tB,{open:l,onClose:()=>x(!1),serverId:e})]})}var tV=r(51999),tK=r(53825),tG=r(15934);function t_({text:e}){let[t,r]=(0,i.useState)(!1),s=async()=>{try{await navigator.clipboard.writeText(e),r(!0),setTimeout(()=>r(!1),2e3)}catch(e){console.error("Failed to copy:",e)}};return a.jsx(p.Z,{size:"small",onClick:s,sx:{ml:1,color:t?"success.main":"text.secondary","&:hover":{bgcolor:"action.hover"}},"aria-label":t?"Copied":"Copy to clipboard",children:t?a.jsx(tK.Z,{sx:{fontSize:16}}):a.jsx(tV.Z,{sx:{fontSize:16}})})}function tJ({label:e,value:t,copyText:r}){return(0,a.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",py:1},children:[a.jsx(v.Z,{variant:"body2",color:"text.secondary",children:e}),(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center"},children:[a.jsx(v.Z,{variant:"body2",sx:{fontFamily:r?"monospace":"inherit",color:r?"text.primary":"text.secondary"},children:t}),r&&a.jsx(t_,{text:r})]})]})}function tQ({serverName:e,hostname:t}){let{data:r,isLoading:s}=(0,tG.UW)();if(s)return a.jsx(m.Z,{sx:{borderRadius:3},children:(0,a.jsxs)(g.Z,{children:[a.jsx(h.Z,{variant:"text",width:"40%",height:28,sx:{mb:1}}),a.jsx(h.Z,{variant:"rectangular",height:1,sx:{mb:2}}),(0,a.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[a.jsx(h.Z,{variant:"text",width:"30%"}),a.jsx(h.Z,{variant:"text",width:"40%"})]}),(0,a.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[a.jsx(h.Z,{variant:"text",width:"30%"}),a.jsx(h.Z,{variant:"text",width:"40%"})]})]})});let n=t?`${t}:25565`:"Not configured",i=r?.enabled&&r.servers.length>0,o=r?.servers.find(t=>t.serverName===e),l=o?.playitDomain||"Not configured",c=!!o?.playitDomain;return a.jsx(m.Z,{sx:{borderRadius:3},children:(0,a.jsxs)(g.Z,{children:[a.jsx(v.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Connection"}),a.jsx(L.Z,{sx:{mb:2}}),a.jsx(tJ,{label:"LAN Address",value:n,copyText:t?n:void 0}),i&&a.jsx(tJ,{label:"External Address",value:l,copyText:c?l:void 0})]})})}var tX=r(96468),tY=r(50582),t0=r(86202);function t1({serverName:e}){let{data:t,isLoading:r,error:s}=(0,tN.a)({queryKey:["servers",e,"mods"],queryFn:()=>(0,tH.SC)(`/api/servers/${encodeURIComponent(e)}/mods`),enabled:!!e}),n=function(){let e=(0,tE.NL)();return(0,tq.D)({mutationFn:({serverName:e,slugs:t,source:r})=>(0,tH.SC)(`/api/servers/${encodeURIComponent(e)}/mods`,{method:"POST",body:JSON.stringify({slugs:t,source:r})}),onSuccess:(t,{serverName:r})=>{e.invalidateQueries({queryKey:["servers",r,"mods"]})}})}(),o=function(){let e=(0,tE.NL)();return(0,tq.D)({mutationFn:({serverName:e,slug:t})=>(0,tH.SC)(`/api/servers/${encodeURIComponent(e)}/mods/${encodeURIComponent(t)}`,{method:"DELETE"}),onSuccess:(t,{serverName:r})=>{e.invalidateQueries({queryKey:["servers",r,"mods"]})}})}(),[l,h]=(0,i.useState)(!1),[f,y]=(0,i.useState)(""),[b,Z]=(0,i.useState)(""),[w,R]=(0,i.useState)(!1),[I,P]=(0,i.useState)({open:!1,message:"",severity:"info"}),{data:z,isLoading:T}=function(e,t){let r=new URLSearchParams;return e&&r.set("q",e),t?.limit!=null&&r.set("limit",String(t.limit)),t?.offset!=null&&r.set("offset",String(t.offset)),(0,tN.a)({queryKey:["mods","search",e,t?.limit,t?.offset],queryFn:()=>(0,tH.SC)(`/api/mods/search?${r}`),enabled:t?.enabled!==!1&&!!e.trim()})}(b,{limit:10,enabled:l&&b.length>0}),M=(0,i.useCallback)(async t=>{try{await o.mutateAsync({serverName:e,slug:t}),R(!0),P({open:!0,message:`Removed ${t}`,severity:"success"})}catch(e){P({open:!0,message:e instanceof Error?e.message:"Failed to remove mod",severity:"error"})}},[o,e]),O=(0,i.useCallback)(async t=>{try{await n.mutateAsync({serverName:e,slugs:[t]}),R(!0),P({open:!0,message:`Added ${t}`,severity:"success"})}catch(e){P({open:!0,message:e instanceof Error?e.message:"Failed to add mod",severity:"error"})}},[n,e]),$=new Set;if(t?.mods)for(let e of Object.values(t.mods))for(let t of e)$.add(t);if(r)return a.jsx(d.Z,{sx:{display:"flex",justifyContent:"center",py:6},children:a.jsx(x.Z,{})});if(s)return(0,a.jsxs)(u.Z,{severity:"error",sx:{mt:2},children:["Failed to load mods: ",s.message]});let F=$.size>0;return(0,a.jsxs)(d.Z,{children:[w&&a.jsx(u.Z,{severity:"info",sx:{mb:2},children:"Restart the server to apply mod changes."}),a.jsx(m.Z,{sx:{borderRadius:3},children:(0,a.jsxs)(g.Z,{children:[(0,a.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[a.jsx(v.Z,{variant:"h6",fontWeight:600,children:"Installed Mods"}),a.jsx(c.Z,{variant:"contained",size:"small",startIcon:a.jsx(ex.Z,{}),onClick:()=>{y(""),Z(""),h(!0)},children:"Add Mods"})]}),a.jsx(L.Z,{sx:{mb:2}}),F?Object.entries(t.mods).map(([e,t])=>(0,a.jsxs)(d.Z,{sx:{mb:2},children:[a.jsx(v.Z,{variant:"subtitle2",color:"text.secondary",sx:{mb:1,textTransform:"capitalize"},children:e}),a.jsx(d.Z,{sx:{display:"flex",flexWrap:"wrap",gap:1},children:t.map(e=>a.jsx(W.Z,{label:e,icon:a.jsx(tY.Z,{}),onDelete:()=>M(e),deleteIcon:a.jsx(A.Z,{}),variant:"outlined"},e))})]},e)):(0,a.jsxs)(d.Z,{sx:{textAlign:"center",py:4},children:[a.jsx(tY.Z,{sx:{fontSize:48,color:"text.disabled",mb:1}}),a.jsx(v.Z,{variant:"body1",color:"text.secondary",children:"No mods installed"}),a.jsx(v.Z,{variant:"body2",color:"text.disabled",sx:{mt:.5},children:'Click "Add Mods" to search and install mods from Modrinth'})]})]})}),(0,a.jsxs)(j.Z,{open:l,onClose:()=>h(!1),maxWidth:"sm",fullWidth:!0,PaperProps:{sx:{minHeight:400}},children:[(0,a.jsxs)(C.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:["Search Mods",a.jsx(p.Z,{onClick:()=>h(!1),size:"small",children:a.jsx(N.Z,{})})]}),(0,a.jsxs)(S.Z,{children:[a.jsx(k.Z,{fullWidth:!0,autoFocus:!0,placeholder:"Search Modrinth...",value:f,onChange:e=>y(e.target.value),InputProps:{startAdornment:a.jsx(D.Z,{position:"start",children:a.jsx(tX.Z,{})})},sx:{mb:2}}),T&&a.jsx(d.Z,{sx:{display:"flex",justifyContent:"center",py:4},children:a.jsx(x.Z,{size:28})}),!T&&z&&0===z.hits.length&&b&&(0,a.jsxs)(v.Z,{variant:"body2",color:"text.secondary",sx:{textAlign:"center",py:4},children:['No mods found for "',b,'"']}),!T&&z&&z.hits.length>0&&a.jsx(d.Z,{sx:{display:"flex",flexDirection:"column",gap:1.5},children:z.hits.map(e=>{var t;let r=$.has(e.slug);return a.jsx(m.Z,{variant:"outlined",sx:{borderRadius:2},children:a.jsx(g.Z,{sx:{py:1.5,px:2,"&:last-child":{pb:1.5}},children:(0,a.jsxs)(d.Z,{sx:{display:"flex",gap:1.5,alignItems:"flex-start"},children:[a.jsx(eL.Z,{src:e.iconUrl||void 0,variant:"rounded",sx:{width:40,height:40,bgcolor:"action.hover"},children:a.jsx(tY.Z,{})}),(0,a.jsxs)(d.Z,{sx:{flex:1,minWidth:0},children:[(0,a.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[a.jsx(v.Z,{variant:"subtitle2",noWrap:!0,children:e.title}),a.jsx(c.Z,{size:"small",variant:r?"outlined":"contained",disabled:r||n.isPending,onClick:()=>O(e.slug),sx:{ml:1,minWidth:80,flexShrink:0},children:r?"Installed":"Add"})]}),a.jsx(v.Z,{variant:"body2",color:"text.secondary",sx:{mt:.25,overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"},children:e.description}),(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:1,mt:.5},children:[(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:.25},children:[a.jsx(t0.Z,{sx:{fontSize:14,color:"text.disabled"}}),a.jsx(v.Z,{variant:"caption",color:"text.disabled",children:(t=e.downloads)>=1e6?`${(t/1e6).toFixed(1)}M`:t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)})]}),e.author&&(0,a.jsxs)(v.Z,{variant:"caption",color:"text.disabled",children:["by ",e.author]})]})]})]})})},e.slug)})})]})]}),a.jsx(ei.Z,{open:I.open,autoHideDuration:4e3,onClose:()=>P(e=>({...e,open:!1})),anchorOrigin:{vertical:"bottom",horizontal:"center"},children:a.jsx(u.Z,{onClose:()=>P(e=>({...e,open:!1})),severity:I.severity,variant:"filled",children:I.message})})]})}let t2=["Overview","Activity","Mods","Files","Backups","Access","Options"];function t5(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 t3({server:e,onSendCommand:t}){let[r,s]=(0,i.useState)("Overview"),[n,o]=(0,i.useState)(""),[l,u]=(0,i.useState)(!0),[x,h]=(0,i.useState)(!1),f=(0,i.useRef)(null),{logs:y,isConnected:b}=(0,_.Y)({serverName:e.name}),Z=(0,i.useMemo)(()=>y.filter(e=>!e.includes("RCON Listener")&&!e.includes("RCON Client")&&!e.includes("RconClient")),[y]),C=async()=>{n.trim()&&t&&(await t(n.trim()),o(""))},w=e.stats?.cpuPercent??0;e.stats?.memoryUsage&&e.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()}(e.memory);let P=e.stats?.memoryPercent??0;return(0,a.jsxs)(d.Z,{children:[a.jsx(d.Z,{sx:{display:"flex",gap:.5,mb:3},children:t2.map(e=>a.jsx(c.Z,{onClick:()=>s(e),sx:{px:2,py:1,borderRadius:5,fontSize:14,fontWeight:500,textTransform:"none",bgcolor:r===e?"primary.main":"transparent",color:r===e?"#0a0e14":"text.secondary","&:hover":{bgcolor:r===e?"primary.main":(0,I.Fq)("#1bd96a",.1)}},children:e},e))}),(0,a.jsxs)(d.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"repeat(3, 1fr)"},gap:2,mb:2.5},children:[a.jsx(G,{value:`${w.toFixed(2)}%`,unit:"/ 100%",label:"CPU usage",icon:a.jsx(E.Z,{sx:{fontSize:28}}),progress:w,progressMax:100,color:"#1bd96a"}),a.jsx(G,{value:`${P.toFixed(2)}%`,unit:"/ 100%",label:"Memory usage",icon:a.jsx(q.Z,{sx:{fontSize:28}}),progress:P,progressMax:100,color:"#1bd96a"}),a.jsx(G,{value:e.worldSize||"0 B",unit:"/ 10 GB",label:"World size",icon:a.jsx(H.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}}(e.worldSize),progressMax:10240,color:"#1bd96a"})]}),(0,a.jsxs)(m.Z,{sx:{bgcolor:"background.paper",borderRadius:3,border:"1px solid",borderColor:"divider",overflow:"hidden"},children:[(0,a.jsxs)(d.Z,{sx:{px:3,py:2,borderBottom:"1px solid",borderColor:"divider",display:"flex",alignItems:"center",gap:1.25},children:[a.jsx(v.Z,{variant:"h6",sx:{fontWeight:700,color:"text.primary"},children:"Console"}),a.jsx(d.Z,{sx:{width:10,height:10,borderRadius:"50%",bgcolor:b?"primary.main":"error.main",boxShadow:b?"0 0 8px rgba(27, 217, 106, 0.4)":"0 0 8px rgba(239, 68, 68, 0.4)"}})]}),(0,a.jsxs)(d.Z,{sx:{position:"relative"},children:[a.jsx(d.Z,{ref:f,onScroll:()=>{if(!f.current)return;let{scrollTop:e,scrollHeight:t,clientHeight:r}=f.current;u(t-e-r<30)},sx:{height:360,overflowY:"auto",px:2.5,py:2,fontFamily:"'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'Consolas', 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===Z.length?a.jsx(v.Z,{sx:{color:"text.secondary",textAlign:"center",py:8},children:"Waiting for logs..."}):Z.map((e,t)=>{let r=function(e){let t=t5(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,a.jsxs)(d.Z,{sx:{display:"flex",gap:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:[(0,a.jsxs)(d.Z,{component:"span",sx:{color:"#4a4d60"},children:["[",r.time,"]"]}),(0,a.jsxs)(d.Z,{component:"span",sx:{color:"#4a4d60"},children:["\xa0[",r.thread,"/",a.jsx(d.Z,{component:"span",sx:{color:"WARN"===r.level?"#e8a848":"#6b6e80"},children:r.level}),"]:\xa0"]}),a.jsx(d.Z,{component:"span",sx:{color:"WARN"===r.level?"#c4a45a":"#b4b6c4"},children:r.msg})]},t):a.jsx(d.Z,{sx:{color:"#b4b6c4"},children:t5(e)},t)})}),a.jsx(p.Z,{onClick:()=>h(!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:a.jsx(B.Z,{sx:{fontSize:18}})}),!l&&a.jsx(p.Z,{onClick:()=>{f.current&&f.current.scrollTo({top:f.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:a.jsx(U.Z,{sx:{fontSize:18}})})]}),a.jsx(d.Z,{sx:{px:2.5,py:1.5,borderTop:"1px solid",borderColor:"divider"},children:a.jsx(k.Z,{fullWidth:!0,size:"small",placeholder:"Send a command",value:n,onChange:e=>o(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),C())},disabled:!b,InputProps:{startAdornment:a.jsx(D.Z,{position:"start",children:a.jsx(V.Z,{sx:{fontSize:16,color:"#999"}})}),sx:{bgcolor:"#13141c",borderRadius:2,fontFamily:"'JetBrains Mono', 'Fira Code', monospace",fontSize:14,"& .MuiOutlinedInput-notchedOutline":{borderColor:"#2a2d3e"},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"#3a3d4e"},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"primary.main"}}}})})]}),"Overview"===r&&(0,a.jsxs)(R.ZP,{container:!0,spacing:3,sx:{mt:1},children:[a.jsx(R.ZP,{item:!0,xs:12,md:6,children:a.jsx(m.Z,{sx:{borderRadius:3},children:(0,a.jsxs)(g.Z,{children:[a.jsx(v.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Server Information"}),a.jsx(L.Z,{sx:{mb:2}}),a.jsx(t6,{label:"Name",value:e.name}),a.jsx(t6,{label:"Container",value:e.container}),a.jsx(t6,{label:"Hostname",value:e.hostname}),a.jsx(t6,{label:"Type",value:e.type}),a.jsx(t6,{label:"Version",value:e.version}),a.jsx(t6,{label:"Memory",value:e.memory}),a.jsx(t6,{label:"Uptime",value:e.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?`${t}h ${r}m`:r>0?`${r}m ${s}s`:`${s}s`}(e.uptimeSeconds)})]})})}),a.jsx(R.ZP,{item:!0,xs:12,md:6,children:a.jsx(m.Z,{sx:{borderRadius:3},children:(0,a.jsxs)(g.Z,{children:[a.jsx(v.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Players"}),a.jsx(L.Z,{sx:{mb:2}}),e.players?(0,a.jsxs)(a.Fragment,{children:[a.jsx(t6,{label:"Online",value:`${e.players.online} / ${e.players.max}`}),e.players.players&&e.players.players.length>0&&(0,a.jsxs)(a.Fragment,{children:[a.jsx(v.Z,{variant:"body2",color:"text.secondary",sx:{mt:2,mb:1},children:"Online Players"}),a.jsx(d.Z,{sx:{display:"flex",flexWrap:"wrap",gap:1},children:e.players.players.map(e=>a.jsx(W.Z,{label:e,size:"small"},e))})]})]}):a.jsx(v.Z,{variant:"body2",color:"text.secondary",children:"Player information unavailable"})]})})}),a.jsx(R.ZP,{item:!0,xs:12,md:6,children:a.jsx(tQ,{serverName:e.name,hostname:e.hostname})})]}),"Activity"===r&&a.jsx(d.Z,{sx:{mt:3},children:a.jsx(m.Z,{sx:{borderRadius:3},children:(0,a.jsxs)(g.Z,{children:[a.jsx(v.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Server Activity"}),a.jsx(L.Z,{sx:{mb:2}}),a.jsx(ea,{serverName:e.name})]})})}),"Mods"===r&&a.jsx(d.Z,{sx:{mt:3},children:a.jsx(t1,{serverName:e.name})}),"Files"===r&&a.jsx(d.Z,{sx:{mt:3},children:a.jsx(v.Z,{variant:"body1",color:"text.secondary",children:"File browser coming soon"})}),"Backups"===r&&a.jsx(d.Z,{sx:{mt:3},children:a.jsx(v.Z,{variant:"body1",color:"text.secondary",children:"Backup management coming soon"})}),"Access"===r&&a.jsx(d.Z,{sx:{mt:3},children:a.jsx(tU,{serverId:e.name})}),"Options"===r&&a.jsx(d.Z,{sx:{mt:3},children:a.jsx(eD,{serverName:e.name,isRunning:"running"===e.status})}),(0,a.jsxs)(j.Z,{open:x,onClose:()=>h(!1),maxWidth:"xl",fullWidth:!0,PaperProps:{sx:{height:"90vh",bgcolor:"background.paper"}},children:[(0,a.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",p:2,borderBottom:1,borderColor:"divider"},children:[(0,a.jsxs)(v.Z,{variant:"h6",sx:{fontFamily:'"Minecraft", sans-serif',fontWeight:400,letterSpacing:"0.05em"},children:["Console - ",e.name]}),a.jsx(p.Z,{onClick:()=>h(!1),children:a.jsx(N.Z,{})})]}),a.jsx(S.Z,{sx:{p:0,display:"flex",flexDirection:"column"},children:a.jsx(J.K,{serverName:e.name})})]})]})}function t6({label:e,value:t}){return t?(0,a.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[a.jsx(v.Z,{variant:"body2",color:"text.secondary",children:e}),a.jsx(v.Z,{variant:"body2",sx:{fontWeight:500},children:t})]}):null}var t4=r(47893);function t8(){return(0,a.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[a.jsx("circle",{cx:"12",cy:"12",r:"10"}),a.jsx("line",{x1:"8",y1:"12",x2:"16",y2:"12"})]})}function t9(){return(0,a.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[a.jsx("path",{d:"M21 2v6h-6"}),a.jsx("path",{d:"M3 12a9 9 0 0115.36-6.36L21 8"}),a.jsx("path",{d:"M3 22v-6h6"}),a.jsx("path",{d:"M21 12a9 9 0 01-15.36 6.36L3 16"})]})}function t7(){let e=(0,o.useParams)(),t=(0,l.x)(),r=decodeURIComponent(e.name),{data:s,isLoading:n,error:W}=(0,ec.Hy)(r),{status:D,health:L}=function(e){let{serverName:t,onStatusChange:r,enabled:s=!0,reconnectInterval:n=3e3}=e,[a,o]=(0,i.useState)(null),[l,d]=(0,i.useState)(null),c=(0,i.useCallback)(e=>{if("server-status"===e.type){let t=e.data.status,s=e.data.health;o(t),d(s),r?.(t,s)}},[r]),{isConnected:p,reconnect:u,retryCount:x}=(0,t4.D)({url:`/api/sse/servers/${encodeURIComponent(t)}/status`,onMessage:c,enabled:s,reconnectInterval:n});return{status:a,health:l,isConnected:p,reconnect:u,retryCount:x}}({serverName:r,enabled:!!r}),[N,E]=(0,i.useState)(null),[q,H]=(0,i.useState)(!1),[B,U]=(0,i.useState)(""),V=(0,ec.jM)(),K=(0,ec.Aw)(),G=(0,ec._I)(),_=(0,ec.Hq)(),J=async()=>{try{await V.mutateAsync(r)}catch(e){console.error("Failed to start server:",e)}},Q=async()=>{try{await K.mutateAsync(r)}catch(e){console.error("Failed to stop server:",e)}},X=async()=>{try{await G.mutateAsync(r)}catch(e){console.error("Failed to restart server:",e)}},Y=async e=>{try{await fetch(`/api/servers/${encodeURIComponent(r)}/exec`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({command:e})})}catch(e){console.error("Failed to send command:",e)}},ee=D||s?.server.status,et=V.isPending||K.isPending||G.isPending,er=s?.server;return(0,a.jsxs)(a.Fragment,{children:[W&&(0,a.jsxs)(u.Z,{severity:"error",sx:{mb:3},children:["Failed to load server: ",W.message]}),V.isError&&(0,a.jsxs)(u.Z,{severity:"error",sx:{mb:3},children:["Failed to start server: ",V.error?.message]}),K.isError&&(0,a.jsxs)(u.Z,{severity:"error",sx:{mb:3},children:["Failed to stop server: ",K.error?.message]}),G.isError&&(0,a.jsxs)(u.Z,{severity:"error",sx:{mb:3},children:["Failed to restart server: ",G.error?.message]}),_.isError&&(0,a.jsxs)(u.Z,{severity:"error",sx:{mb:3},children:["Failed to delete server: ",_.error?.message]}),n?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:2,mb:2.5},children:[a.jsx(h.Z,{variant:"rounded",width:64,height:64,sx:{borderRadius:3,flexShrink:0}}),(0,a.jsxs)(d.Z,{sx:{flex:1},children:[a.jsx(h.Z,{variant:"text",width:80,height:18,sx:{mb:.5}}),a.jsx(h.Z,{variant:"text",width:"40%",height:40}),(0,a.jsxs)(d.Z,{sx:{display:"flex",gap:2,mt:.75},children:[a.jsx(h.Z,{variant:"text",width:100}),a.jsx(h.Z,{variant:"text",width:60}),a.jsx(h.Z,{variant:"text",width:140}),a.jsx(h.Z,{variant:"text",width:50})]})]}),(0,a.jsxs)(d.Z,{sx:{display:"flex",gap:1,flexShrink:0},children:[a.jsx(h.Z,{variant:"rounded",width:90,height:40,sx:{borderRadius:2}}),a.jsx(h.Z,{variant:"rounded",width:36,height:36,sx:{borderRadius:2}})]})]}),a.jsx(d.Z,{sx:{display:"flex",gap:.5,mb:3},children:[80,70,65,50,65,65].map((e,t)=>a.jsx(h.Z,{variant:"rounded",width:e,height:36,sx:{borderRadius:5}},t))}),a.jsx(d.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"repeat(3, 1fr)"},gap:2,mb:2.5},children:[0,1,2].map(e=>a.jsx(m.Z,{sx:{borderRadius:3},children:(0,a.jsxs)(g.Z,{children:[(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:1.5},children:[a.jsx(h.Z,{variant:"text",width:"50%"}),a.jsx(h.Z,{variant:"circular",width:28,height:28})]}),a.jsx(h.Z,{variant:"text",width:"60%",height:36}),a.jsx(h.Z,{variant:"rounded",width:"100%",height:6,sx:{borderRadius:3,mt:1}})]})},e))}),(0,a.jsxs)(m.Z,{sx:{borderRadius:3,border:"1px solid",borderColor:"divider"},children:[(0,a.jsxs)(d.Z,{sx:{px:3,py:2,borderBottom:"1px solid",borderColor:"divider",display:"flex",alignItems:"center",gap:1.25},children:[a.jsx(h.Z,{variant:"text",width:80,height:28}),a.jsx(h.Z,{variant:"circular",width:10,height:10})]}),a.jsx(h.Z,{variant:"rectangular",height:360,sx:{bgcolor:"#0a0a0a"}}),a.jsx(d.Z,{sx:{px:2.5,py:1.5,borderTop:"1px solid",borderColor:"divider"},children:a.jsx(h.Z,{variant:"rounded",width:"100%",height:40,sx:{borderRadius:2}})})]}),(0,a.jsxs)(R.ZP,{container:!0,spacing:3,sx:{mt:1},children:[a.jsx(R.ZP,{item:!0,xs:12,md:6,children:a.jsx(m.Z,{sx:{borderRadius:3},children:(0,a.jsxs)(g.Z,{children:[a.jsx(h.Z,{variant:"text",width:"40%",height:28,sx:{mb:1}}),a.jsx(h.Z,{variant:"rectangular",height:1,sx:{mb:2}}),[0,1,2,3,4,5,6].map(e=>(0,a.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[a.jsx(h.Z,{variant:"text",width:"30%"}),a.jsx(h.Z,{variant:"text",width:"40%"})]},e))]})})}),a.jsx(R.ZP,{item:!0,xs:12,md:6,children:a.jsx(m.Z,{sx:{borderRadius:3},children:(0,a.jsxs)(g.Z,{children:[a.jsx(h.Z,{variant:"text",width:"30%",height:28,sx:{mb:1}}),a.jsx(h.Z,{variant:"rectangular",height:1,sx:{mb:2}}),(0,a.jsxs)(d.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[a.jsx(h.Z,{variant:"text",width:"25%"}),a.jsx(h.Z,{variant:"text",width:"20%"})]})]})})})]})]}):er?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:2,mb:2.5},children:[a.jsx(d.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"}(er.type)}),(0,a.jsxs)(d.Z,{sx:{flex:1},children:[(0,a.jsxs)(v.Z,{onClick:()=>t.push("/servers"),sx:{fontSize:12,color:"primary.main",cursor:"pointer",mb:.25,display:"flex",alignItems:"center",gap:.5,"&:hover":{textDecoration:"underline"}},children:[a.jsx(P.Z,{sx:{fontSize:14}})," All servers"]}),a.jsx(v.Z,{variant:"h4",component:"h1",sx:{fontFamily:'"Minecraft", sans-serif',fontWeight:400,color:"text.primary",letterSpacing:"0.5px",m:0,textTransform:"uppercase"},children:r}),(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:0,mt:.75,flexWrap:"wrap",fontSize:13,color:"text.secondary"},children:[er.version&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:.5},children:[a.jsx(M.Z,{sx:{fontSize:14}}),"Minecraft ",er.version]}),a.jsx(d.Z,{component:"span",sx:{mx:1.25,color:"#3a3d4e"},children:"|"})]}),er.type&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:.5},children:[a.jsx(O.Z,{sx:{fontSize:14}}),er.type]}),a.jsx(d.Z,{component:"span",sx:{mx:1.25,color:"#3a3d4e"},children:"|"})]}),er.hostname&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:.5},children:[a.jsx($.Z,{sx:{fontSize:14}}),er.hostname]}),a.jsx(d.Z,{component:"span",sx:{mx:1.25,color:"#3a3d4e"},children:"|"})]}),(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:.5},children:[a.jsx(F.Z,{sx:{fontSize:14}}),er.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?`${t}h ${r}m`:r>0?`${r}m ${s}s`:`${s}s`}(er.uptimeSeconds)||"0s"]})]})]}),(0,a.jsxs)(d.Z,{sx:{display:"flex",alignItems:"center",gap:1.25,flexShrink:0},children:[("stopped"===ee||"exited"===ee||"not_created"===ee)&&a.jsx(c.Z,{variant:"contained",color:"success",startIcon:et?a.jsx(x.Z,{size:16,color:"inherit"}):a.jsx(z.Z,{}),onClick:J,disabled:et,sx:{px:2,py:1,borderRadius:2,fontSize:14,fontWeight:600},children:"Start"}),"running"===ee&&(0,a.jsxs)(a.Fragment,{children:[a.jsx(c.Z,{variant:"outlined",startIcon:et?a.jsx(x.Z,{size:16}):a.jsx(t8,{}),onClick:Q,disabled:et,sx:{px:2,py:1,borderRadius:2,fontSize:14,fontWeight:500,borderColor:"divider",color:"text.secondary","&:hover":{borderColor:"text.secondary",bgcolor:(0,I.Fq)("#fff",.05)}},children:"Stop"}),a.jsx(c.Z,{variant:"contained",startIcon:et?a.jsx(x.Z,{size:16,color:"inherit"}):a.jsx(t9,{}),onClick:X,disabled:et,sx:{px:2,py:1,borderRadius:2,fontSize:14,fontWeight:600,bgcolor:"primary.main",color:"#0a0e14","&:hover":{bgcolor:"primary.dark"}},children:"Restart"})]}),a.jsx(p.Z,{onClick:e=>E(e.currentTarget),sx:{width:36,height:36,borderRadius:2,border:"1px solid",borderColor:"divider",color:"text.secondary"},children:a.jsx(T.Z,{sx:{fontSize:18}})}),a.jsx(f.Z,{anchorEl:N,open:!!N,onClose:()=>E(null),children:(0,a.jsxs)(y.Z,{onClick:()=>{E(null),H(!0),U("")},sx:{color:"error.main"},children:[a.jsx(b.Z,{children:a.jsx(A.Z,{fontSize:"small",sx:{color:"error.main"}})}),a.jsx(Z.Z,{children:"Delete Server"})]})})]})]}),a.jsx(t3,{server:er,onSendCommand:Y})]}):a.jsx(u.Z,{severity:"warning",children:"Server not found"}),(0,a.jsxs)(j.Z,{open:q,onClose:()=>{H(!1),U("")},maxWidth:"sm",fullWidth:!0,children:[a.jsx(C.Z,{children:"Delete Server"}),(0,a.jsxs)(S.Z,{children:[(0,a.jsxs)(v.Z,{sx:{mb:2},children:["This action cannot be undone. Type ",a.jsx("strong",{children:r})," to confirm deletion."]}),a.jsx(k.Z,{label:"Server name",value:B,onChange:e=>U(e.target.value),fullWidth:!0,autoFocus:!0})]}),(0,a.jsxs)(w.Z,{sx:{px:3,pb:2},children:[a.jsx(c.Z,{onClick:()=>{H(!1),U("")},children:"Cancel"}),a.jsx(c.Z,{variant:"contained",color:"error",onClick:()=>{B===r&&_.mutate({name:r,force:!0},{onSuccess:()=>{t.push("/servers")}})},disabled:B!==r||_.isPending,startIcon:_.isPending?a.jsx(x.Z,{size:16}):null,children:_.isPending?"Deleting...":"Delete"})]})]})]})}},71438:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var s=r(58120),n=r(48787),a=r(39928);function i({action:e,size:t="small"}){let r=a.Lu[e]||"default",i=a.n3[e]||e;return s.jsx(n.Z,{label:i,color:r,size:t,variant:"filled",sx:{fontWeight:600,fontSize:"small"===t?"0.7rem":"0.8rem"}})}},55049:(e,t,r)=>{"use strict";r.d(t,{c:()=>o});var s=r(58120),n=r(48787),a=r(56846),i=r(72690);function o({status:e,size:t="small"}){return s.jsx(n.Z,{icon:"success"===e?s.jsx(a.Z,{}):s.jsx(i.Z,{}),label:"success"===e?"OK":"Error",color:"success"===e?"success":"error",size:t,variant:"outlined",sx:{fontWeight:500,fontSize:"small"===t?"0.7rem":"0.8rem"}})}},6418:(e,t,r)=>{"use strict";r.d(t,{K:()=>R});var s=r(58120),n=r(36372),a=r(20393),i=r.n(a),o=r(89352),l=r(52329),d=r(6275),c=r(10257),p=r(46456),u=r(54365),x=r(2365),h=r(48787),m=r(14360),g=r(51430),v=r(23016),f=r(80336),y=r(79943),b=r(78150),Z=r(73995),j=r(66831),C=r(50423);let S=[{label:"say",template:"say "},{label:"give",template:"give "},{label:"tp",template:"tp "},{label:"gamemode",template:"gamemode "}],w=new(i())({fg:"#aaa",bg:"#000",newline:!1,escapeXML:!0,colors:{0:"#000000",1:"#cc0000",2:"#4e9a06",3:"#c4a000",4:"#3465a4",5:"#75507b",6:"#06989a",7:"#d3d7cf",8:"#555753",9:"#ef2929",10:"#8ae234",11:"#fce94f",12:"#729fcf",13:"#ad7fa8",14:"#34e2e2",15:"#eeeeec"}}),k=(0,n.memo)(function({log:e}){let t=(0,n.useMemo)(()=>(function(e){let t=e.replace(/\x1b\[\?[\d;]*[a-zA-Z]/g,"").replace(/\x1b\[[0-9;]*[KJH]/g,"").replace(/\x1b=/g,"").replace(/\[\?[\d;]*[a-zA-Z]/g,"").replace(/\[[0-9;]*[KJH]/g,"").replace(/\[m/g,"").replace(/\[(\d+)m/g,"\x1b[$1m").replace(/>\.\.\.\.\r?/g,"").replace(/\r/g,"");return w.toHtml(t)})(e),[e]);return s.jsx(o.Z,{sx:{py:.25,whiteSpace:"pre-wrap",wordBreak:"break-all","& span":{}},dangerouslySetInnerHTML:{__html:t}})});function R({serverName:e}){let[t,r]=(0,n.useState)(""),[a,i]=(0,n.useState)([]),[w,R]=(0,n.useState)(-1),[I,P]=(0,n.useState)("ALL"),[z,T]=(0,n.useState)(!0),[A,M]=(0,n.useState)(!0),[O,$]=(0,n.useState)(!1),F=(0,n.useRef)(null),W=(0,n.useRef)(null),{logs:D,isConnected:L,clearLogs:N,reconnect:E,retryCount:q}=(0,C.Y)({serverName:e}),H=(0,n.useMemo)(()=>{let e=D;return A&&(e=e.filter(e=>!e.includes("RCON Listener")&&!e.includes("RCON Client")&&!e.includes("RconClient"))),"ALL"!==I&&(e=e.filter(e=>(e.includes("/ERROR]")||e.includes("/ERROR:")?"ERROR":e.includes("/WARN]")||e.includes("/WARN:")?"WARN":(e.includes("/INFO]")||e.includes("/INFO:"),"INFO"))===I)),e},[D,I,A]),B=(0,n.useCallback)(async()=>{let s=t.trim();if(s&&!O){$(!0);try{i(e=>[...e,s]),R(-1),await fetch(`/api/servers/${encodeURIComponent(e)}/exec`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({command:s})}),r("")}catch(e){console.error("Failed to execute command:",e)}finally{$(!1)}}},[t,e,O]),U=(0,n.useCallback)(e=>{if("Enter"===e.key)e.preventDefault(),B();else if("ArrowUp"===e.key){if(e.preventDefault(),0===a.length)return;let t=-1===w?a.length-1:Math.max(0,w-1);R(t),r(a[t])}else if("ArrowDown"===e.key){if(e.preventDefault(),-1===w)return;let t=w+1;t>=a.length?(R(-1),r("")):(R(t),r(a[t]))}},[a,w,B]),V=(0,n.useCallback)(e=>{r(e),F.current?.focus()},[]),K=L?{text:"Connected",color:"success"}:q>0?{text:`Disconnected (Retry ${q})`,color:"warning"}:{text:"Disconnected",color:"error"};return(0,s.jsxs)(l.Z,{"data-testid":"server-console",sx:{display:"flex",flexDirection:"column",height:"100%",minHeight:400},children:[(0,s.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:2,py:1,borderBottom:1,borderColor:"divider"},children:[(0,s.jsxs)(v.Z,{direction:"row",spacing:1,alignItems:"center",children:[s.jsx(x.Z,{variant:"subtitle2",children:"Console"}),s.jsx(h.Z,{"data-testid":"connection-status",label:K.text,color:K.color,size:"small"})]}),(0,s.jsxs)(v.Z,{direction:"row",spacing:1,alignItems:"center",children:[s.jsx(p.Z,{size:"small",variant:"outlined",children:["ALL","INFO","WARN","ERROR"].map(e=>s.jsx(c.Z,{onClick:()=>P(e),variant:I===e?"contained":"outlined",children:e},e))}),s.jsx(m.Z,{control:s.jsx(g.Z,{checked:z,onChange:e=>T(e.target.checked),size:"small",inputProps:{"aria-label":"Auto-scroll"}}),label:"Auto-scroll"}),s.jsx(m.Z,{control:s.jsx(g.Z,{checked:A,onChange:e=>M(e.target.checked),size:"small",inputProps:{"aria-label":"Hide RCON"}}),label:"Hide RCON"}),s.jsx(u.Z,{size:"small",onClick:N,"aria-label":"Clear logs",title:"Clear logs",children:s.jsx(Z.Z,{})}),!L&&s.jsx(c.Z,{size:"small",startIcon:s.jsx(j.Z,{}),onClick:E,"aria-label":"Reconnect",children:"Reconnect"})]})]}),s.jsx(o.Z,{ref:W,sx:{flex:1,overflow:"auto",bgcolor:"#1a1a1a",p:1,fontFamily:"monospace",fontSize:"0.85rem"},children:0===H.length?s.jsx(x.Z,{color:"text.secondary",sx:{textAlign:"center",py:4,color:"#666"},children:"Waiting for logs..."}):H.map((e,t)=>s.jsx(k,{log:e},t))}),s.jsx(f.Z,{}),s.jsx(o.Z,{sx:{px:2,py:1,bgcolor:"background.default"},children:(0,s.jsxs)(v.Z,{direction:"row",spacing:1,children:[s.jsx(x.Z,{variant:"caption",color:"text.secondary",sx:{alignSelf:"center"},children:"Quick:"}),S.map(e=>s.jsx(c.Z,{size:"small",variant:"outlined",onClick:()=>V(e.template),children:e.label},e.label))]})}),s.jsx(f.Z,{}),(0,s.jsxs)(o.Z,{sx:{display:"flex",p:1,gap:1},children:[s.jsx(d.Z,{inputRef:F,fullWidth:!0,size:"small",placeholder:"Enter command...",value:t,onChange:e=>r(e.target.value),onKeyDown:U,disabled:!L||O,InputProps:{sx:{fontFamily:"monospace"}}}),s.jsx(c.Z,{variant:"contained",onClick:B,disabled:!t.trim()||!L||O,startIcon:O?s.jsx(y.Z,{size:16}):s.jsx(b.Z,{}),"aria-label":"Send command",children:"Send"})]})]})}},15784:(e,t,r)=>{"use strict";r.d(t,{DM:()=>i,HZ:()=>l,VM:()=>o,hT:()=>a,oL:()=>d});var s=r(28872),n=r(43137);function a(e={},t){let 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?`?${r}`:""}(e);return(0,s.a)({queryKey:["audit-logs",e],queryFn:()=>(0,n.SC)(`/api/audit-logs${r}`),enabled:t?.enabled!==!1})}function i(e){return(0,s.a)({queryKey:["audit-logs","stats"],queryFn:()=>(0,n.SC)("/api/audit-logs/stats"),enabled:e?.enabled!==!1,refetchInterval:3e4})}function o(e,t){return(0,s.a)({queryKey:["audit-logs",e],queryFn:()=>(0,n.SC)(`/api/audit-logs/${encodeURIComponent(e)}`),enabled:t?.enabled!==!1&&!!e})}function l(e,t){return a({targetType:"server",targetName:e,limit:t?.limit??20},{enabled:t?.enabled!==!1&&!!e})}function d(e=10){return a({limit:e,sort:"timestamp:desc"})}},15934:(e,t,r)=>{"use strict";r.d(t,{Bc:()=>l,N$:()=>d,UW:()=>o});var s=r(28872),n=r(95343),a=r(20042),i=r(43137);function o(){return(0,s.a)({queryKey:["playit-status"],queryFn:()=>(0,i.SC)("/api/playit/status"),refetchInterval:3e4})}function l(){let e=(0,n.NL)();return(0,a.D)({mutationFn:()=>(0,i.SC)("/api/playit/start",{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["playit-status"]})}})}function d(){let e=(0,n.NL)();return(0,a.D)({mutationFn:()=>(0,i.SC)("/api/playit/stop",{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["playit-status"]})}})}},50423:(e,t,r)=>{"use strict";r.d(t,{Y:()=>a});var s=r(36372),n=r(47893);function a(e){let{serverName:t,maxLines:r=500,enabled:a=!0,reconnectInterval:i=3e3}=e,[o,l]=(0,s.useState)([]),d=(0,s.useCallback)(e=>{let t;"server-log"===e.type?t=e.data.log:"log"in e&&"string"==typeof e.log&&(t=e.log),t&&l(e=>{let s=[...e,t];return s.length>r?s.slice(s.length-r):s})},[r]),{isConnected:c,reconnect:p,retryCount:u}=(0,n.D)({url:`/api/sse/servers/${encodeURIComponent(t)}/logs`,onMessage:d,enabled:a,reconnectInterval:i});return{logs:o,isConnected:c,clearLogs:(0,s.useCallback)(()=>{l([])},[]),reconnect:p,retryCount:u}}},39928:(e,t,r)=>{"use strict";r.d(t,{KK:()=>o,Lu:()=>s,Xn:()=>i,n3:()=>n,xg:()=>a});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"},a=["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"],i=["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"]},40579:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>s});let s=(0,r(2325).createProxy)(String.raw`/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/(main)/servers/[name]/page.tsx#default`)}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[9836,1489,4533,3043,8847,7573,8872,4859,8243,6088,8389,8055,609,6509,3068,613,354,2743],()=>r(61509));module.exports=s})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/database.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/index.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/function.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/table.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/util.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/package.json","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/bindings","../../../../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/bindings.js","../../../../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/package.json","../../../../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/file-uri-to-path","../../../../../../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/index.js","../../../../../../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/package.json","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../../../../../../package.json","../../../../../../node_modules/better-sqlite3","../../../../../../node_modules/next","../../../../../../package.json","../../../../../package.json","../../../../chunks/1489.js","../../../../chunks/
|
|
1
|
+
{"version":1,"files":["../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/database.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/index.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/function.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/table.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/lib/util.js","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/better-sqlite3/package.json","../../../../../../../../../node_modules/.pnpm/better-sqlite3@12.6.2/node_modules/bindings","../../../../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/bindings.js","../../../../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/package.json","../../../../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/file-uri-to-path","../../../../../../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/index.js","../../../../../../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/package.json","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../../../node_modules/.pnpm/next@14.2.35_@babel+core@7.28.6_@playwright+test@1.58.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../../../../../../package.json","../../../../../../node_modules/better-sqlite3","../../../../../../node_modules/next","../../../../../../package.json","../../../../../package.json","../../../../chunks/1489.js","../../../../chunks/2743.js","../../../../chunks/3043.js","../../../../chunks/3068.js","../../../../chunks/3439.js","../../../../chunks/354.js","../../../../chunks/4533.js","../../../../chunks/4859.js","../../../../chunks/5863.js","../../../../chunks/6088.js","../../../../chunks/609.js","../../../../chunks/613.js","../../../../chunks/6509.js","../../../../chunks/6782.js","../../../../chunks/7573.js","../../../../chunks/8055.js","../../../../chunks/8243.js","../../../../chunks/8389.js","../../../../chunks/8847.js","../../../../chunks/8872.js","../../../../chunks/8896.js","../../../../chunks/9836.js","../../../../webpack-runtime.js","page_client-reference-manifest.js"]}
|