@minecraft-docker/mcctl-console 2.4.1 → 2.5.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.
Files changed (64) hide show
  1. package/.next/standalone/package.json +1 -1
  2. package/.next/standalone/platform/services/mcctl-console/.next/BUILD_ID +1 -1
  3. package/.next/standalone/platform/services/mcctl-console/.next/app-build-manifest.json +45 -45
  4. package/.next/standalone/platform/services/mcctl-console/.next/app-path-routes-manifest.json +1 -1
  5. package/.next/standalone/platform/services/mcctl-console/.next/build-manifest.json +2 -2
  6. package/.next/standalone/platform/services/mcctl-console/.next/prerender-manifest.json +1 -1
  7. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/admin/users/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/audit-logs/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/backups/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/dashboard/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/players/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/routing/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/console/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/page.js +1 -1
  15. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/settings/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/worlds/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/platform/services/mcctl-console/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/platform/services/mcctl-console/.next/server/app/_not-found.html +1 -1
  21. package/.next/standalone/platform/services/mcctl-console/.next/server/app/_not-found.rsc +1 -1
  22. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/players/route.js +1 -1
  23. package/.next/standalone/platform/services/mcctl-console/.next/server/app/audit-logs.html +1 -1
  24. package/.next/standalone/platform/services/mcctl-console/.next/server/app/audit-logs.rsc +1 -1
  25. package/.next/standalone/platform/services/mcctl-console/.next/server/app/backups.html +1 -1
  26. package/.next/standalone/platform/services/mcctl-console/.next/server/app/backups.rsc +1 -1
  27. package/.next/standalone/platform/services/mcctl-console/.next/server/app/dashboard.html +1 -1
  28. package/.next/standalone/platform/services/mcctl-console/.next/server/app/dashboard.rsc +1 -1
  29. package/.next/standalone/platform/services/mcctl-console/.next/server/app/index.html +1 -1
  30. package/.next/standalone/platform/services/mcctl-console/.next/server/app/index.rsc +1 -1
  31. package/.next/standalone/platform/services/mcctl-console/.next/server/app/login/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/platform/services/mcctl-console/.next/server/app/login.html +1 -1
  33. package/.next/standalone/platform/services/mcctl-console/.next/server/app/login.rsc +1 -1
  34. package/.next/standalone/platform/services/mcctl-console/.next/server/app/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/platform/services/mcctl-console/.next/server/app/players.html +1 -1
  36. package/.next/standalone/platform/services/mcctl-console/.next/server/app/players.rsc +1 -1
  37. package/.next/standalone/platform/services/mcctl-console/.next/server/app/routing.html +1 -1
  38. package/.next/standalone/platform/services/mcctl-console/.next/server/app/routing.rsc +1 -1
  39. package/.next/standalone/platform/services/mcctl-console/.next/server/app/servers.html +1 -1
  40. package/.next/standalone/platform/services/mcctl-console/.next/server/app/servers.rsc +1 -1
  41. package/.next/standalone/platform/services/mcctl-console/.next/server/app/settings.html +1 -1
  42. package/.next/standalone/platform/services/mcctl-console/.next/server/app/settings.rsc +1 -1
  43. package/.next/standalone/platform/services/mcctl-console/.next/server/app/signup/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/platform/services/mcctl-console/.next/server/app/signup.html +1 -1
  45. package/.next/standalone/platform/services/mcctl-console/.next/server/app/signup.rsc +1 -1
  46. package/.next/standalone/platform/services/mcctl-console/.next/server/app/worlds.html +1 -1
  47. package/.next/standalone/platform/services/mcctl-console/.next/server/app/worlds.rsc +1 -1
  48. package/.next/standalone/platform/services/mcctl-console/.next/server/app-paths-manifest.json +20 -20
  49. package/.next/standalone/platform/services/mcctl-console/.next/server/middleware-manifest.json +5 -5
  50. package/.next/standalone/platform/services/mcctl-console/.next/server/next-font-manifest.js +1 -1
  51. package/.next/standalone/platform/services/mcctl-console/.next/server/next-font-manifest.json +1 -1
  52. package/.next/standalone/platform/services/mcctl-console/.next/server/pages/404.html +1 -1
  53. package/.next/standalone/platform/services/mcctl-console/.next/server/pages/500.html +1 -1
  54. package/.next/standalone/platform/services/mcctl-console/.next/server/server-reference-manifest.json +1 -1
  55. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/servers/[name]/page-b5a8d2d603b92812.js +1 -0
  56. package/.next/standalone/platform/services/mcctl-console/package.json +1 -1
  57. package/.next/static/chunks/app/(main)/servers/[name]/page-b5a8d2d603b92812.js +1 -0
  58. package/package.json +2 -2
  59. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/servers/[name]/page-c4822f1e941923cd.js +0 -1
  60. package/.next/static/chunks/app/(main)/servers/[name]/page-c4822f1e941923cd.js +0 -1
  61. /package/.next/standalone/platform/services/mcctl-console/.next/static/{410QNMogV71xOxsRe568N → UT1hqjjvqYlP0_6fAgVvi}/_buildManifest.js +0 -0
  62. /package/.next/standalone/platform/services/mcctl-console/.next/static/{410QNMogV71xOxsRe568N → UT1hqjjvqYlP0_6fAgVvi}/_ssgManifest.js +0 -0
  63. /package/.next/static/{410QNMogV71xOxsRe568N → UT1hqjjvqYlP0_6fAgVvi}/_buildManifest.js +0 -0
  64. /package/.next/static/{410QNMogV71xOxsRe568N → UT1hqjjvqYlP0_6fAgVvi}/_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:()=>a.a,__next_app__:()=>u,originalPathname:()=>x,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"],x="/(main)/servers/[name]/page",u={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),x=r(54365),u=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),M=r(23090),O=r(58039),W=r(30463),F=r(42902),D=r(48787),L=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)(u.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),ex=r(60920),eu=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)},M=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"})}},O=()=>{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(D.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(x.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&&O()},error:!!y,helperText:y,autoFocus:!0,sx:{flex:1}}),i.jsx(c.Z,{size:"small",variant:"contained",onClick:z,children:"Add"}),i.jsx(x.Z,{size:"small",onClick:O,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)(u.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(eu.Z,{}),onClick:M,disabled:!l||s.isPending,children:s.isPending?"Saving...":"Save Hostnames"})})]})}),i.jsx(ex.Z,{open:I.open,autoHideDuration:6e3,onClose:()=>R({...I,open:!1}),anchorOrigin:{vertical:"bottom",horizontal:"right"},children:i.jsx(u.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,x]=(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,M]=(0,a.useState)({open:!1,message:"",severity:"info"}),O=(e,t)=>{x(r=>({...r,[e]:t})),f(!0),("memory"===e||"useAikarFlags"===e||"onlineMode"===e||"enableWhitelist"===e)&&b(!0)},W=async()=>{try{let t=await n.mutateAsync({serverName:e,config:l});M({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){M({open:!0,message:e instanceof Error?e.message:"Failed to save settings",severity:"error"})}},F=async()=>{if("RESET"!==z){M({open:!0,message:"Please type RESET to confirm",severity:"warning"});return}try{await o.mutateAsync(e),M({open:!0,message:"World reset successfully",severity:"success"}),P(!1),$("")}catch(e){M({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(u.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=>O("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=>O("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=>O("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=>O("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=>O("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=>O("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=>O("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:"Security 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:[(0,i.jsxs)(I.ZP,{item:!0,xs:12,sm:6,children:[i.jsx(ed.Z,{control:i.jsx(ec.Z,{checked:l.onlineMode??!0,onChange:e=>O("onlineMode",e.target.checked)}),label:"Online Mode (Mojang Auth)"}),i.jsx(v.Z,{variant:"caption",color:"text.secondary",display:"block",sx:{ml:4},children:"Disable to allow cracked clients (not recommended)"})]}),(0,i.jsxs)(I.ZP,{item:!0,xs:12,sm:6,children:[i.jsx(ed.Z,{control:i.jsx(ec.Z,{checked:l.enableWhitelist??!0,onChange:e=>O("enableWhitelist",e.target.checked)}),label:"Enable Whitelist"}),i.jsx(v.Z,{variant:"caption",color:"text.secondary",display:"block",sx:{ml:4},children:"Only whitelisted players can join"})]})]})]})}),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=>O("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=>O("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(eu.Z,{}),onClick:W,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:F,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(ex.Z,{open:A.open,autoHideDuration:6e3,onClose:()=>M({...A,open:!1}),anchorOrigin:{vertical:"bottom",horizontal:"right"},children:i.jsx(u.Z,{onClose:()=>M({...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(D.Z,{label:r.label,color:r.color,variant:r.variant,size:t})}var eA=r(36885),eM=r(4981),eO=r(30330),eW=r(3693),eF=r(93445),eD=r(98925),eL=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:x=e.multiple?eU:null,disableClearable:u=!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:M,onOpen:O,open:W,openOnFocus:F=!1,options:D,readOnly:L=!1,selectOnFocus:T=!e.freeSolo,value:N}=e,H=(0,eD.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,eL.Z)({controlled:N,default:x,name:c}),[et,er]=(0,eL.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),M&&M(e,r,"reset"))}},[E,et,P,M,er,l,X]),[ea,eo]=(0,eL.Z)({controlled:W,default:!1,name:c,state:"open"}),[el,ed]=a.useState(!0),ec=!P&&null!=X&&et===E(X),ex=ea&&!L,eu=ex?v(D.filter(e=>!(f&&(P?X:[X]).some(t=>null!==t&&R(e,t)))),{inputValue:ec&&el?"":et,getOptionLabel:E}):[],ep=eT({filteredOptions:eu,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&&eu.length>0&&!L,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:eu[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(!ex)return;let i=function(e,t){if(!U.current||e<0||e>=eu.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)%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=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(eu[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!==eu.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(eu,t=>E(t)===E(e))}return -1},eZ=a.useCallback(()=>{if(!ex)return;let e=ef();if(-1!==e){Y.current=e;return}let t=P?X[0]:X;if(0===eu.length||null==t){ev({diff:"reset"});return}if(U.current){if(null!=t){let e=eu[Y.current];if(P&&e&&-1!==eB(X,t=>R(e,t)))return;let r=eB(eu,e=>R(e,t));-1===r?ev({diff:"reset"}):eg({index:r});return}if(Y.current>=eu.length-1){eg({index:eu.length-1});return}eg({index:Y.current})}},[eu.length,!P&&X,f,ev,eg,ex,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),O&&O(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(""),M&&M(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":ex&&S&&(t.preventDefault(),ev({diff:"start",direction:"next",reason:"keyboard",event:t}));break;case"End":ex&&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&&ex){let e=eu[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":ex?(t.preventDefault(),t.stopPropagation(),ey(t,"escape")):d&&(""!==et||P&&X.length>0)&&(t.preventDefault(),t.stopPropagation(),eI(t));break;case"Backspace":if(P&&!L&&""===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&&!L&&""===et&&X.length>0&&-1!==_){let e=X.slice();e.splice(_,1),eC(t,e,"removeOption",{option:X[_]})}}},eP=e=>{en(!0),F&&!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&&ex?ew(e,eu[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),M&&M(e,t,"input")),""===t?u||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"})},eO=e=>{eg({event:e,index:Number(e.currentTarget.getAttribute("data-option-index")),reason:"touch"}),eS.current=!0},eW=e=>{let t=Number(e.currentTarget.getAttribute("data-option-index"));ew(e,eu[t],"selectOption"),eS.current=!1},eF=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=eu;return C&&(eQ=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,eM.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":ex?"":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,eM.Z)({key:e,"data-tag-index":e,tabIndex:-1},!L&&{onDelete:eF(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:eW,onTouchStart:eO,"data-option-index":e,"aria-disabled":n,"aria-selected":s}},id:H,inputValue:et,value:X,dirty:eJ,expanded:ex&&K,popupOpen:ex,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,eW.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,eM.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),x=(0,eM.Z)({},r,{color:n,component:a,disableGutters:o,disableSticky:l,inset:d}),u=e2(x);return(0,i.jsx)(e3,(0,eM.Z)({as:a,className:(0,eO.Z)(u.root,s),ref:t,ownerState:x},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,x={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,eW.Z)(x,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"}}}]}),tx=(0,e_.ZP)("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:(e,t)=>t.endAdornment})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),tu=(0,e_.ZP)(x.Z,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:(e,t)=>t.clearIndicator})({marginRight:-2,padding:4,visibility:"hidden"}),tp=(0,e_.ZP)(x.Z,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:({ownerState:e},t)=>(0,eM.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,eM.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,eF.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,eF.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,eF.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 x=(0,eJ.i)({props:e,name:"MuiAutocomplete"}),{autoComplete:u=!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=!x.freeSolo,clearOnEscape:j=!1,clearText:b="Clear",closeText:y="Close",componentsProps:C={},defaultValue:S=x.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:M=!1,fullWidth:O=!1,getLimitTagsText:W=e=>`+${e}`,getOptionLabel:F,groupBy:L,handleHomeEndKeys:T=!x.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=!x.freeSolo,size:ei="medium",slotProps:ea={}}=x,eo=(0,eA.Z)(x,ti),{getRootProps:el,getInputProps:ed,getInputLabelProps:ec,getPopupIndicatorProps:ex,getClearProps:eu,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,eM.Z)({},x,{componentName:"Autocomplete"})),eI=!w&&!I&&ev&&!X,eR=(!M||!0===A)&&!1!==A,{onMouseDown:eP}=ed(),{ref:ez}=null!=B?B:{},e$=eh(),{ref:eW}=e$,eF=(0,eA.Z)(e$,ta),eD=(0,tn.Z)(eW,ez),eL=F||(e=>{var t;return null!=(t=e.label)?t:e}),eT=(0,eM.Z)({},x,{disablePortal:z,expanded:ef,focused:eb,fullWidth:O,getOptionLabel:eL,hasClearIcon:eI,hasPopupIcon:eR,inputFocused:-1===ey,popupOpen:ej,size:ei}),eN=td(eT);if(U&&eg.length>0){let e=e=>(0,eM.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)(D.Z,(0,eM.Z)({label:eL(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:W(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,eM.Z)({},s,{children:eL(t)}),r)}),eB=(e,t)=>{let r=em({option:e,index:t});return eE((0,eM.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,eM.Z)({ref:t,className:(0,eO.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,eM.Z)({ref:eS,className:eN.inputRoot,startAdornment:c,onClick:e=>{e.target===e.currentTarget&&eP(e)}},(eI||eR)&&{endAdornment:(0,i.jsxs)(tx,{className:eN.endAdornment,ownerState:eT,children:[eI?(0,i.jsx)(tu,(0,eM.Z)({},eu(),{"aria-label":b,title:b,ownerState:eT},eq,{className:(0,eO.Z)(eN.clearIndicator,null==eq?void 0:eq.className),children:f})):null,eR?(0,i.jsx)(tp,(0,eM.Z)({},ex(),{disabled:I,"aria-label":ej?y:_,title:ej?y:_,ownerState:eT},e_,{className:(0,eO.Z)(eN.popupIndicator,null==e_?void 0:e_.className),children:Y})):null]})}),inputProps:(0,eM.Z)({className:eN.input,disabled:I,readOnly:X},ed())})})),eC?(0,i.jsx)(th,(0,eM.Z)({as:Q,disablePortal:z,style:{width:eC?eC.clientWidth:null},ownerState:eT,role:"presentation",anchorEl:eC,open:ej},eU,{className:(0,eO.Z)(eN.popper,null==eU?void 0:eU.className),children:(0,i.jsxs)(tm,(0,eM.Z)({ownerState:eT,as:J},eV,{className:(0,eO.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||M||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,eM.Z)({as:E,className:eN.listbox,ownerState:eT},eF,B,{ref:eD,children:ek.map((e,t)=>L?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,x]=(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(""),x(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(u.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)=>x(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)(u.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(x.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),tM=r(15934);function tO({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(x.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 tW({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(tO,{text:r})]})]})}function tF({serverName:e,hostname:t}){let{data:r,isLoading:s}=(0,tM.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(tW,{label:"LAN Address",value:n,copyText:t?n:void 0}),a&&i.jsx(tW,{label:"External Address",value:l,copyText:c?l:void 0})]})})}var tD=r(96468),tL=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}),M=(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]),O=(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]),W=new Set;if(t?.mods)for(let e of Object.values(t.mods))for(let t of e)W.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)(u.Z,{severity:"error",sx:{mt:2},children:["Failed to load mods: ",s.message]});let F=W.size>0;return(0,i.jsxs)(d.Z,{children:[w&&i.jsx(u.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}}),F?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(D.Z,{label:e,icon:i.jsx(tL.Z,{}),onDelete:()=>M(e),deleteIcon:i.jsx(A.Z,{}),variant:"outlined"},e))})]},e)):(0,i.jsxs)(d.Z,{sx:{textAlign:"center",py:4},children:[i.jsx(tL.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(x.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(L.Z,{position:"start",children:i.jsx(tD.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=W.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(tL.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:()=>O(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(ex.Z,{open:R.open,autoHideDuration:4e3,onClose:()=>P(e=>({...e,open:!1})),anchorOrigin:{vertical:"bottom",horizontal:"center"},children:i.jsx(u.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,u]=(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;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===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(x.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(x.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(L.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.players&&e.players.players.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.players.map(e=>i.jsx(D.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(tF,{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(x.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:D}=(0,eg.Hy)(r),{status:L,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:x,reconnect:u,retryCount:p}=(0,tV.D)({url:`/api/sse/servers/${encodeURIComponent(t)}/status`,onMessage:c,enabled:s,reconnectInterval:n});return{status:i,health:l,isConnected:x,reconnect:u,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=L||s?.server.status,et=U.isPending||K.isPending||G.isPending,er=s?.server;return(0,i.jsxs)(i.Fragment,{children:[D&&(0,i.jsxs)(u.Z,{severity:"error",sx:{mb:3},children:["Failed to load server: ",D.message]}),U.isError&&(0,i.jsxs)(u.Z,{severity:"error",sx:{mb:3},children:["Failed to start server: ",U.error?.message]}),K.isError&&(0,i.jsxs)(u.Z,{severity:"error",sx:{mb:3},children:["Failed to stop server: ",K.error?.message]}),G.isError&&(0,i.jsxs)(u.Z,{severity:"error",sx:{mb:3},children:["Failed to restart server: ",G.error?.message]}),_.isError&&(0,i.jsxs)(u.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(M.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(O.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(W.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(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,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(x.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(u.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),x=r(46456),u=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,M]=(0,n.useState)(!0),[O,W]=(0,n.useState)(!1),F=(0,n.useRef)(null),D=(0,n.useRef)(null),{logs:L,isConnected:T,clearLogs:N,reconnect:H,retryCount:E}=(0,C.Y)({serverName:e}),B=(0,n.useMemo)(()=>{let e=L;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},[L,R,A]),q=(0,n.useCallback)(async()=>{let s=t.trim();if(s&&!O){W(!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{W(!1)}}},[t,e,O]),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),F.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(x.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=>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(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:D,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:F,fullWidth:!0,size:"small",placeholder:"Enter command...",value:t,onChange:e=>r(e.target.value),onKeyDown:V,disabled:!T||O,InputProps:{sx:{fontFamily:"monospace"}}}),s.jsx(c.Z,{variant:"contained",onClick:q,disabled:!t.trim()||!T||O,startIcon:O?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:x,retryCount:u}=(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:x,retryCount:u}}},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})();