@minecraft-docker/mcctl-console 2.5.0 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/.next/standalone/platform/services/mcctl-console/.next/BUILD_ID +1 -1
  2. package/.next/standalone/platform/services/mcctl-console/.next/app-build-manifest.json +79 -79
  3. package/.next/standalone/platform/services/mcctl-console/.next/app-path-routes-manifest.json +1 -1
  4. package/.next/standalone/platform/services/mcctl-console/.next/build-manifest.json +2 -2
  5. package/.next/standalone/platform/services/mcctl-console/.next/prerender-manifest.json +1 -1
  6. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/admin/users/page.js +1 -1
  7. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/admin/users/page.js.nft.json +1 -1
  8. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/admin/users/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/audit-logs/page.js +2 -2
  10. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/audit-logs/page.js.nft.json +1 -1
  11. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/audit-logs/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/backups/page.js +1 -1
  13. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/backups/page.js.nft.json +1 -1
  14. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/backups/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/dashboard/page.js +5 -5
  16. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/dashboard/page.js.nft.json +1 -1
  17. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/dashboard/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/players/page.js +1 -1
  19. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/players/page.js.nft.json +1 -1
  20. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/players/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/routing/page.js +4 -4
  22. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/routing/page.js.nft.json +1 -1
  23. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/routing/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/console/page.js +1 -1
  25. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/console/page.js.nft.json +1 -1
  26. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/console/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/page.js +1 -1
  28. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/page.js.nft.json +1 -1
  29. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/page.js +1 -1
  31. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/page.js.nft.json +1 -1
  32. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/settings/page.js +1 -1
  34. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/settings/page.js.nft.json +1 -1
  35. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/settings/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/worlds/page.js +1 -1
  37. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/worlds/page.js.nft.json +1 -1
  38. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/worlds/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/platform/services/mcctl-console/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/platform/services/mcctl-console/.next/server/app/_not-found.html +1 -1
  41. package/.next/standalone/platform/services/mcctl-console/.next/server/app/_not-found.rsc +1 -1
  42. package/.next/standalone/platform/services/mcctl-console/.next/server/app/audit-logs.html +1 -1
  43. package/.next/standalone/platform/services/mcctl-console/.next/server/app/audit-logs.rsc +3 -3
  44. package/.next/standalone/platform/services/mcctl-console/.next/server/app/backups.html +1 -1
  45. package/.next/standalone/platform/services/mcctl-console/.next/server/app/backups.rsc +2 -2
  46. package/.next/standalone/platform/services/mcctl-console/.next/server/app/dashboard.html +1 -1
  47. package/.next/standalone/platform/services/mcctl-console/.next/server/app/dashboard.rsc +3 -3
  48. package/.next/standalone/platform/services/mcctl-console/.next/server/app/index.html +1 -1
  49. package/.next/standalone/platform/services/mcctl-console/.next/server/app/index.rsc +1 -1
  50. package/.next/standalone/platform/services/mcctl-console/.next/server/app/login/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/platform/services/mcctl-console/.next/server/app/login.html +1 -1
  52. package/.next/standalone/platform/services/mcctl-console/.next/server/app/login.rsc +1 -1
  53. package/.next/standalone/platform/services/mcctl-console/.next/server/app/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/platform/services/mcctl-console/.next/server/app/players.html +1 -1
  55. package/.next/standalone/platform/services/mcctl-console/.next/server/app/players.rsc +3 -3
  56. package/.next/standalone/platform/services/mcctl-console/.next/server/app/routing.html +1 -1
  57. package/.next/standalone/platform/services/mcctl-console/.next/server/app/routing.rsc +3 -3
  58. package/.next/standalone/platform/services/mcctl-console/.next/server/app/servers.html +1 -1
  59. package/.next/standalone/platform/services/mcctl-console/.next/server/app/servers.rsc +3 -3
  60. package/.next/standalone/platform/services/mcctl-console/.next/server/app/settings.html +1 -1
  61. package/.next/standalone/platform/services/mcctl-console/.next/server/app/settings.rsc +3 -3
  62. package/.next/standalone/platform/services/mcctl-console/.next/server/app/signup/page_client-reference-manifest.js +1 -1
  63. package/.next/standalone/platform/services/mcctl-console/.next/server/app/signup.html +1 -1
  64. package/.next/standalone/platform/services/mcctl-console/.next/server/app/signup.rsc +1 -1
  65. package/.next/standalone/platform/services/mcctl-console/.next/server/app/worlds.html +1 -1
  66. package/.next/standalone/platform/services/mcctl-console/.next/server/app/worlds.rsc +3 -3
  67. package/.next/standalone/platform/services/mcctl-console/.next/server/app-paths-manifest.json +22 -22
  68. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/2743.js +54 -0
  69. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/354.js +1 -1
  70. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/4609.js +1 -1
  71. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/5843.js +1 -1
  72. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/{5845.js → 6509.js} +5 -5
  73. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/7573.js +1 -0
  74. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/8055.js +1 -0
  75. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/8243.js +1 -1
  76. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/8849.js +1 -0
  77. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/9874.js +1 -0
  78. package/.next/standalone/platform/services/mcctl-console/.next/server/middleware-manifest.json +5 -5
  79. package/.next/standalone/platform/services/mcctl-console/.next/server/next-font-manifest.js +1 -1
  80. package/.next/standalone/platform/services/mcctl-console/.next/server/next-font-manifest.json +1 -1
  81. package/.next/standalone/platform/services/mcctl-console/.next/server/pages/404.html +1 -1
  82. package/.next/standalone/platform/services/mcctl-console/.next/server/pages/500.html +1 -1
  83. package/.next/standalone/platform/services/mcctl-console/.next/server/server-reference-manifest.json +1 -1
  84. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/2535-54681cf49f7f39e8.js +1 -0
  85. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/3333-7e2d13faa47ed67e.js +1 -0
  86. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/3945-7c1c5f7e488ff042.js +1 -0
  87. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/4187-07672ba5a9f76f7c.js +1 -0
  88. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/4240-16f6e4c7e86ef2ce.js +1 -0
  89. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/4436-bf86b627021ca7ab.js +1 -0
  90. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/5381-d66dae5d5171cd57.js +1 -0
  91. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/7082-a03865af2ed57a67.js +1 -0
  92. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/7965-51dfb844f8b8584c.js +1 -0
  93. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/8233-0fdf0ee81a8cadce.js +1 -0
  94. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/8468-8346b1d9ff3f7efa.js +1 -0
  95. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/8858-e009f69745d12205.js +1 -0
  96. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/audit-logs/{page-2763a56ce0490dd1.js → page-90479d797d04efdb.js} +1 -1
  97. package/.next/{static/chunks/app/(main)/dashboard/page-b2677b1041311201.js → standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/dashboard/page-aa8e2d7970450b2a.js} +1 -1
  98. package/.next/{static/chunks/app/(main)/layout-9ce7f2bf657eacfa.js → standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/layout-e6d8aef242d7e516.js} +1 -1
  99. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/players/{page-785e0ce7c07f8119.js → page-4a3f72a092662e75.js} +1 -1
  100. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/routing/page-29d4216d11c4d426.js +1 -0
  101. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/servers/[name]/page-2ec271596e09c5f1.js +1 -0
  102. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/servers/{page-c5378a7bfc6472ca.js → page-4324a833564ed326.js} +1 -1
  103. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/settings/page-12a46542ea952feb.js +1 -0
  104. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/worlds/page-7f194148444c39f3.js +1 -0
  105. package/.next/standalone/platform/services/mcctl-console/.next/static/css/4d6bfee1e91e393d.css +1 -0
  106. package/.next/static/chunks/2535-54681cf49f7f39e8.js +1 -0
  107. package/.next/static/chunks/3333-7e2d13faa47ed67e.js +1 -0
  108. package/.next/static/chunks/3945-7c1c5f7e488ff042.js +1 -0
  109. package/.next/static/chunks/4187-07672ba5a9f76f7c.js +1 -0
  110. package/.next/static/chunks/4240-16f6e4c7e86ef2ce.js +1 -0
  111. package/.next/static/chunks/4436-bf86b627021ca7ab.js +1 -0
  112. package/.next/static/chunks/5381-d66dae5d5171cd57.js +1 -0
  113. package/.next/static/chunks/7082-a03865af2ed57a67.js +1 -0
  114. package/.next/static/chunks/7965-51dfb844f8b8584c.js +1 -0
  115. package/.next/static/chunks/8233-0fdf0ee81a8cadce.js +1 -0
  116. package/.next/static/chunks/8468-8346b1d9ff3f7efa.js +1 -0
  117. package/.next/static/chunks/8858-e009f69745d12205.js +1 -0
  118. package/.next/static/chunks/app/(main)/audit-logs/{page-2763a56ce0490dd1.js → page-90479d797d04efdb.js} +1 -1
  119. package/.next/{standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/dashboard/page-b2677b1041311201.js → static/chunks/app/(main)/dashboard/page-aa8e2d7970450b2a.js} +1 -1
  120. package/.next/{standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/layout-9ce7f2bf657eacfa.js → static/chunks/app/(main)/layout-e6d8aef242d7e516.js} +1 -1
  121. package/.next/static/chunks/app/(main)/players/{page-785e0ce7c07f8119.js → page-4a3f72a092662e75.js} +1 -1
  122. package/.next/static/chunks/app/(main)/routing/page-29d4216d11c4d426.js +1 -0
  123. package/.next/static/chunks/app/(main)/servers/[name]/page-2ec271596e09c5f1.js +1 -0
  124. package/.next/static/chunks/app/(main)/servers/{page-c5378a7bfc6472ca.js → page-4324a833564ed326.js} +1 -1
  125. package/.next/static/chunks/app/(main)/settings/page-12a46542ea952feb.js +1 -0
  126. package/.next/static/chunks/app/(main)/worlds/page-7f194148444c39f3.js +1 -0
  127. package/.next/static/css/4d6bfee1e91e393d.css +1 -0
  128. package/package.json +2 -2
  129. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/3810.js +0 -1
  130. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/4207.js +0 -1
  131. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/4282.js +0 -1
  132. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/7402.js +0 -54
  133. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/7445.js +0 -1
  134. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/9350.js +0 -1
  135. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/190-9ecdd3c2ad7fadef.js +0 -1
  136. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/2698-aeed063326ab23db.js +0 -1
  137. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/4474-b7d88543d50f7f58.js +0 -1
  138. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/4596-fa980f5e0b65f2b7.js +0 -1
  139. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/4682-61f6b7ad99cfd0c9.js +0 -1
  140. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/5381-4e3aac97e0617278.js +0 -1
  141. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/5386-a568e84580b1d208.js +0 -1
  142. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/7965-a31f12b5a5f1519b.js +0 -1
  143. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/8918-bae025d477685e7d.js +0 -1
  144. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/9727-8e82372636a2fca6.js +0 -1
  145. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/9951-34eb9e4c6b6cdd23.js +0 -1
  146. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/routing/page-8333f2419cbdd686.js +0 -1
  147. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/servers/[name]/page-b5a8d2d603b92812.js +0 -1
  148. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/settings/page-af345917f438de8d.js +0 -1
  149. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/worlds/page-01447db96eaf75eb.js +0 -1
  150. package/.next/standalone/platform/services/mcctl-console/.next/static/css/2a015360a6bc64f3.css +0 -1
  151. package/.next/static/chunks/190-9ecdd3c2ad7fadef.js +0 -1
  152. package/.next/static/chunks/2698-aeed063326ab23db.js +0 -1
  153. package/.next/static/chunks/4474-b7d88543d50f7f58.js +0 -1
  154. package/.next/static/chunks/4596-fa980f5e0b65f2b7.js +0 -1
  155. package/.next/static/chunks/4682-61f6b7ad99cfd0c9.js +0 -1
  156. package/.next/static/chunks/5381-4e3aac97e0617278.js +0 -1
  157. package/.next/static/chunks/5386-a568e84580b1d208.js +0 -1
  158. package/.next/static/chunks/7965-a31f12b5a5f1519b.js +0 -1
  159. package/.next/static/chunks/8918-bae025d477685e7d.js +0 -1
  160. package/.next/static/chunks/9727-8e82372636a2fca6.js +0 -1
  161. package/.next/static/chunks/9951-34eb9e4c6b6cdd23.js +0 -1
  162. package/.next/static/chunks/app/(main)/routing/page-8333f2419cbdd686.js +0 -1
  163. package/.next/static/chunks/app/(main)/servers/[name]/page-b5a8d2d603b92812.js +0 -1
  164. package/.next/static/chunks/app/(main)/settings/page-af345917f438de8d.js +0 -1
  165. package/.next/static/chunks/app/(main)/worlds/page-01447db96eaf75eb.js +0 -1
  166. package/.next/static/css/2a015360a6bc64f3.css +0 -1
  167. /package/.next/standalone/platform/services/mcctl-console/.next/static/{UT1hqjjvqYlP0_6fAgVvi → vFi0GyYVE0v9zPFVmRQHq}/_buildManifest.js +0 -0
  168. /package/.next/standalone/platform/services/mcctl-console/.next/static/{UT1hqjjvqYlP0_6fAgVvi → vFi0GyYVE0v9zPFVmRQHq}/_ssgManifest.js +0 -0
  169. /package/.next/static/{UT1hqjjvqYlP0_6fAgVvi → vFi0GyYVE0v9zPFVmRQHq}/_buildManifest.js +0 -0
  170. /package/.next/static/{UT1hqjjvqYlP0_6fAgVvi → vFi0GyYVE0v9zPFVmRQHq}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[278],{59616:function(e,s,r){Promise.resolve().then(r.bind(r,55816))},55816:function(e,s,r){"use strict";r.r(s),r.d(s,{default:function(){return e6}});var t=r(94655),n=r(35106),i=r(74228),a=r(31358),o=r(7281),l=r(30417),d=r(79983),c=r(81071),x=r(93017),h=r(10721),u=r(628),m=r(41565),p=r(31317),j=r(35694),v=r(7178),g=r(17820),Z=r(73424),y=r(99770),f=r(62508),b=r(5682),C=r(76678),w=r(97436),S=r(84840),k=r(76492),I=r(10117),R=r(5501),z=r(37809),W=r(21111),P=r(17978),F=r(89573),M=r(96292),T=r(33104),A=r(25333),D=r(52082),O=r(69123),E=r(71185),N=r(30165),B=r(97293),U=r(11259),q=r(66615),L=r(89161),K=r(34071),H=r(4405);function G(e){let{value:s,unit:r,label:n,icon:i,progress:a,progressMax:l,color:d="#1bd96a"}=e;return(0,t.jsxs)(u.Z,{"data-testid":"resource-stat-card",sx:{p:2.5,bgcolor:"background.paper",border:"1px solid",borderColor:"divider",borderRadius:3},children:[(0,t.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:2},children:[(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"baseline",gap:.75,flexWrap:"wrap",minWidth:0},children:[(0,t.jsx)(p.Z,{variant:"h4",component:"span",sx:{fontWeight:700,color:"text.primary",fontFamily:"'JetBrains Mono', 'Fira Code', monospace",letterSpacing:"-0.5px"},children:s}),(0,t.jsx)(p.Z,{variant:"body2",component:"span",sx:{color:"text.secondary",fontWeight:500},children:r})]}),(0,t.jsx)(o.Z,{sx:{color:"text.secondary",flexShrink:0},children:i})]}),(0,t.jsx)(p.Z,{variant:"body2",sx:{color:"text.secondary",fontWeight:500,mt:.5},children:n}),(0,t.jsx)(H.Z,{variant:"determinate",value:Math.min(a/l*100,100),sx:{mt:1,height:6,borderRadius:1.5,bgcolor:"#2a2d3a","& .MuiLinearProgress-bar":{borderRadius:1.5,background:"linear-gradient(90deg, ".concat(d," 0%, ").concat(d,"cc 100%)")}}})]})}var Q=r(163),V=r(73660),J=r(90158),_=r(58347),$=r(95511),Y=r(46725),X=r(26577),ee=r(56813),es=r(26892),er=r(84509);function et(e){var s;let{serverName:r}=e,{data:n,isLoading:i,error:a}=(0,er.HZ)(r,{limit:20});if(i)return(0,t.jsx)(o.Z,{children:[void 0,void 0,void 0,void 0,void 0].map((e,s)=>(0,t.jsxs)(o.Z,{sx:{display:"flex",gap:2,py:1.5},children:[(0,t.jsx)(h.Z,{variant:"rounded",width:60,height:24}),(0,t.jsx)(h.Z,{variant:"text",width:"60%"}),(0,t.jsx)(h.Z,{variant:"text",width:50})]},s))});if(a)return(0,t.jsxs)(c.Z,{severity:"error",children:["Failed to load activity: ",a.message]});let d=null!==(s=null==n?void 0:n.logs)&&void 0!==s?s:[];if(0===d.length)return(0,t.jsx)(p.Z,{variant:"body2",color:"text.secondary",sx:{py:4,textAlign:"center"},children:"No activity recorded for this server yet."});let x="/audit-logs?targetType=server&targetName=".concat(encodeURIComponent(r));return(0,t.jsxs)(o.Z,{children:[(0,t.jsx)(J.Z,{sx:{py:0},children:d.map(e=>{var s;return(0,t.jsx)(_.ZP,{sx:{px:0,py:1.5,"&:not(:last-child)":{borderBottom:"1px solid",borderColor:"divider"}},children:(0,t.jsx)(Z.Z,{primary:(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,t.jsx)(ee.I,{action:e.action,size:"small"}),(0,t.jsxs)(p.Z,{variant:"body2",color:"text.secondary",children:["by ",e.actor.replace("api:","").replace("cli:","")]}),(0,t.jsx)(es.c,{status:e.status,size:"small"})]}),secondary:(0,t.jsx)($.Z,{title:(s=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(s))),arrow:!0,children:(0,t.jsx)(p.Z,{variant:"caption",component:"span",color:"text.disabled",children:function(e){let s=new Date,r=new Date(e),t=Math.floor((s.getTime()-r.getTime())/6e4),n=Math.floor(t/60);return t<1?"just now":t<60?"".concat(t,"m ago"):n<24?"".concat(n,"h ago"):"".concat(Math.floor(n/24),"d ago")}(e.timestamp)})})})},e.id)})}),(0,t.jsx)(o.Z,{sx:{mt:2,textAlign:"center"},children:(0,t.jsx)(l.Z,{component:Y.default,href:x,size:"small",endIcon:(0,t.jsx)(X.Z,{}),sx:{textTransform:"none"},children:"View Full History"})})]})}var en=r(62328),ei=r(29793),ea=r(75726),eo=r(40064),el=r(38393),ed=r(37530),ec=r(5942),ex=r(84420),eh=r(46121),eu=r(84775),em=r(92666),ep=r(70115),ej=r(70603),ev=r(32366),eg=r(25523);function eZ(e){let{serverName:s}=e,{data:r,isLoading:i}=(0,em.Js)(s),a=(0,em.Bx)(),[h,j]=(0,n.useState)([]),[v,g]=(0,n.useState)(!1),[Z,y]=(0,n.useState)(!1),[f,b]=(0,n.useState)(""),[C,S]=(0,n.useState)(""),[k,I]=(0,n.useState)(!1),[R,z]=(0,n.useState)({open:!1,message:"",severity:"success"});(0,n.useEffect)(()=>{(null==r?void 0:r.customHostnames)&&(j(r.customHostnames),g(!1),I(!1))},[r]);let P=e=>{let s=e.trim().toLowerCase();return s?s.length>253?"Domain exceeds 253 characters":/^[a-z0-9]([a-z0-9\-.]*[a-z0-9])?$/.test(s)?s.endsWith(".local")?"Cannot use .local system domain":s.endsWith(".nip.io")?"Cannot use .nip.io system domain":h.includes(s)?"Domain already exists":"":"Invalid domain format":"Domain cannot be empty"},F=()=>{let e=f.trim().toLowerCase(),s=P(e);if(s){S(s);return}j(s=>[...s,e]),b(""),S(""),y(!1),g(!0)},M=e=>{j(s=>s.filter(s=>s!==e)),g(!0)},T=async()=>{try{await a.mutateAsync({serverName:s,customHostnames:h}),g(!1),I(!0),z({open:!0,message:"Hostnames saved. Container recreation required to apply changes.",severity:"warning"})}catch(e){z({open:!0,message:e instanceof Error?e.message:"Failed to save hostnames",severity:"error"})}},D=()=>{y(!1),b(""),S("")};return i?(0,t.jsx)(u.Z,{sx:{mb:3,borderRadius:3},children:(0,t.jsx)(m.Z,{children:(0,t.jsx)(o.Z,{sx:{display:"flex",justifyContent:"center",py:4},children:(0,t.jsx)(x.Z,{size:24})})})}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.Z,{sx:{mb:3,borderRadius:3},children:(0,t.jsxs)(m.Z,{children:[(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:1},children:[(0,t.jsx)(eg.Z,{color:"primary"}),(0,t.jsx)(p.Z,{variant:"h6",fontWeight:600,children:"Hostnames / Domains"})]}),(0,t.jsx)(p.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"Manage hostnames used by mc-router to route connections to this server."}),(0,t.jsx)(O.Z,{sx:{mb:3}}),(null==r?void 0:r.systemHostnames)&&r.systemHostnames.length>0&&(0,t.jsxs)(o.Z,{sx:{mb:3},children:[(0,t.jsx)(p.Z,{variant:"subtitle2",color:"text.secondary",sx:{mb:1},children:"System Hostnames (read-only)"}),(0,t.jsx)(ep.Z,{direction:"row",flexWrap:"wrap",gap:1,children:r.systemHostnames.map(e=>(0,t.jsx)(A.Z,{icon:(0,t.jsx)(ej.Z,{sx:{fontSize:16}}),label:e.hostname,title:e.description,variant:"outlined",color:"default",size:"small"},e.hostname))})]}),(0,t.jsxs)(o.Z,{sx:{mb:2},children:[(0,t.jsx)(p.Z,{variant:"subtitle2",color:"text.secondary",sx:{mb:1},children:"Custom Domains"}),0===h.length&&!Z&&(0,t.jsx)(p.Z,{variant:"body2",color:"text.disabled",sx:{mb:1},children:"No custom domains configured."}),(0,t.jsx)(ep.Z,{spacing:1,children:h.map(e=>(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",py:.5,px:1.5,borderRadius:1,bgcolor:"action.hover"},children:[(0,t.jsx)(p.Z,{variant:"body2",fontFamily:"monospace",children:e}),(0,t.jsx)(d.Z,{size:"small",color:"error",onClick:()=>M(e),title:"Remove domain",children:(0,t.jsx)(W.Z,{fontSize:"small"})})]},e))}),Z?(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"flex-start",gap:1,mt:1},children:[(0,t.jsx)(w.Z,{size:"small",placeholder:"e.g. play.example.com",value:f,onChange:e=>{b(e.target.value),S("")},onKeyDown:e=>{"Enter"===e.key&&F(),"Escape"===e.key&&D()},error:!!C,helperText:C,autoFocus:!0,sx:{flex:1}}),(0,t.jsx)(l.Z,{size:"small",variant:"contained",onClick:F,children:"Add"}),(0,t.jsx)(d.Z,{size:"small",onClick:D,children:(0,t.jsx)(E.Z,{fontSize:"small"})})]}):(0,t.jsx)(l.Z,{size:"small",startIcon:(0,t.jsx)(ev.Z,{}),onClick:()=>y(!0),sx:{mt:1},children:"Add Domain"})]}),k&&(0,t.jsxs)(c.Z,{severity:"warning",sx:{mb:2},children:["Container recreation is required for hostname changes to take effect. Run ",(0,t.jsx)("code",{children:"docker compose up -d"})," or restart the server from the dashboard."]}),(0,t.jsx)(o.Z,{sx:{display:"flex",justifyContent:"flex-end"},children:(0,t.jsx)(l.Z,{variant:"contained",size:"small",startIcon:(0,t.jsx)(ec.Z,{}),onClick:T,disabled:!v||a.isPending,children:a.isPending?"Saving...":"Save Hostnames"})})]})}),(0,t.jsx)(ed.Z,{open:R.open,autoHideDuration:6e3,onClose:()=>z({...R,open:!1}),anchorOrigin:{vertical:"bottom",horizontal:"right"},children:(0,t.jsx)(c.Z,{onClose:()=>z({...R,open:!1}),severity:R.severity,sx:{width:"100%"},children:R.message})})]})}function ey(e){var s,r,i,a;let{serverName:d,isRunning:h}=e,{data:j,isLoading:g}=(0,em.iC)(d),Z=(0,em.MH)(),k=(0,em.gx)(),[I,R]=(0,n.useState)({}),[z,W]=(0,n.useState)(!1),[P,F]=(0,n.useState)(!1),[M,T]=(0,n.useState)(!1),[A,D]=(0,n.useState)(""),[E,N]=(0,n.useState)({open:!1,message:"",severity:"info"});(0,n.useEffect)(()=>{(null==j?void 0:j.config)&&R(j.config)},[j]);let B=(e,s)=>{R(r=>({...r,[e]:s})),W(!0),("memory"===e||"useAikarFlags"===e||"onlineMode"===e||"enableWhitelist"===e)&&F(!0)},U=async()=>{try{let e=await Z.mutateAsync({serverName:d,config:I});N({open:!0,message:e.restartRequired?"Settings saved. Restart required for some changes to take effect.":"Settings saved successfully.",severity:e.restartRequired?"warning":"success"}),W(!1),F(!1)}catch(e){N({open:!0,message:e instanceof Error?e.message:"Failed to save settings",severity:"error"})}},q=async()=>{if("RESET"!==A){N({open:!0,message:"Please type RESET to confirm",severity:"warning"});return}try{await k.mutateAsync(d),N({open:!0,message:"World reset successfully",severity:"success"}),T(!1),D("")}catch(e){N({open:!0,message:e instanceof Error?e.message:"Failed to reset world",severity:"error"})}};return g?(0,t.jsx)(o.Z,{sx:{display:"flex",justifyContent:"center",py:8},children:(0,t.jsx)(x.Z,{})}):(0,t.jsxs)(o.Z,{children:[(0,t.jsx)(eZ,{serverName:d}),P&&(0,t.jsx)(c.Z,{severity:"warning",icon:(0,t.jsx)(ex.Z,{}),sx:{mb:3},children:"Performance settings require a server restart to take effect."}),(0,t.jsx)(u.Z,{sx:{mb:3,borderRadius:3},children:(0,t.jsxs)(m.Z,{children:[(0,t.jsx)(p.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Server Properties"}),(0,t.jsx)(p.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"These settings can be changed without restarting the server."}),(0,t.jsx)(O.Z,{sx:{mb:3}}),(0,t.jsxs)(S.ZP,{container:!0,spacing:3,children:[(0,t.jsx)(S.ZP,{item:!0,xs:12,children:(0,t.jsx)(w.Z,{fullWidth:!0,label:"MOTD (Message of the Day)",value:I.motd||"",onChange:e=>B("motd",e.target.value),helperText:"The message displayed in the server list"})}),(0,t.jsx)(S.ZP,{item:!0,xs:12,sm:6,children:(0,t.jsx)(w.Z,{fullWidth:!0,type:"number",label:"Max Players",value:I.maxPlayers||20,onChange:e=>B("maxPlayers",parseInt(e.target.value,10)),inputProps:{min:1,max:100}})}),(0,t.jsx)(S.ZP,{item:!0,xs:12,sm:6,children:(0,t.jsxs)(ei.Z,{fullWidth:!0,children:[(0,t.jsx)(ea.Z,{children:"Difficulty"}),(0,t.jsxs)(en.Z,{value:I.difficulty||"normal",label:"Difficulty",onChange:e=>B("difficulty",e.target.value),children:[(0,t.jsx)(v.Z,{value:"peaceful",children:"Peaceful"}),(0,t.jsx)(v.Z,{value:"easy",children:"Easy"}),(0,t.jsx)(v.Z,{value:"normal",children:"Normal"}),(0,t.jsx)(v.Z,{value:"hard",children:"Hard"})]})]})}),(0,t.jsx)(S.ZP,{item:!0,xs:12,sm:6,children:(0,t.jsxs)(ei.Z,{fullWidth:!0,children:[(0,t.jsx)(ea.Z,{children:"Game Mode"}),(0,t.jsxs)(en.Z,{value:I.gameMode||"survival",label:"Game Mode",onChange:e=>B("gameMode",e.target.value),children:[(0,t.jsx)(v.Z,{value:"survival",children:"Survival"}),(0,t.jsx)(v.Z,{value:"creative",children:"Creative"}),(0,t.jsx)(v.Z,{value:"adventure",children:"Adventure"}),(0,t.jsx)(v.Z,{value:"spectator",children:"Spectator"})]})]})}),(0,t.jsx)(S.ZP,{item:!0,xs:12,sm:6,children:(0,t.jsx)(eo.Z,{control:(0,t.jsx)(el.Z,{checked:null===(s=I.pvp)||void 0===s||s,onChange:e=>B("pvp",e.target.checked)}),label:"Enable PvP"})}),(0,t.jsx)(S.ZP,{item:!0,xs:12,sm:6,children:(0,t.jsx)(w.Z,{fullWidth:!0,type:"number",label:"View Distance (chunks)",value:I.viewDistance||10,onChange:e=>B("viewDistance",parseInt(e.target.value,10)),inputProps:{min:3,max:32}})}),(0,t.jsx)(S.ZP,{item:!0,xs:12,sm:6,children:(0,t.jsx)(w.Z,{fullWidth:!0,type:"number",label:"Spawn Protection (blocks)",value:I.spawnProtection||16,onChange:e=>B("spawnProtection",parseInt(e.target.value,10)),inputProps:{min:0,max:128}})})]})]})}),(0,t.jsx)(u.Z,{sx:{mb:3,borderRadius:3},children:(0,t.jsxs)(m.Z,{children:[(0,t.jsx)(p.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Security Settings"}),(0,t.jsx)(p.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"These settings require a server restart to take effect."}),(0,t.jsx)(O.Z,{sx:{mb:3}}),(0,t.jsxs)(S.ZP,{container:!0,spacing:3,children:[(0,t.jsxs)(S.ZP,{item:!0,xs:12,sm:6,children:[(0,t.jsx)(eo.Z,{control:(0,t.jsx)(el.Z,{checked:null===(r=I.onlineMode)||void 0===r||r,onChange:e=>B("onlineMode",e.target.checked)}),label:"Online Mode (Mojang Auth)"}),(0,t.jsx)(p.Z,{variant:"caption",color:"text.secondary",display:"block",sx:{ml:4},children:"Disable to allow cracked clients (not recommended)"})]}),(0,t.jsxs)(S.ZP,{item:!0,xs:12,sm:6,children:[(0,t.jsx)(eo.Z,{control:(0,t.jsx)(el.Z,{checked:null===(i=I.enableWhitelist)||void 0===i||i,onChange:e=>B("enableWhitelist",e.target.checked)}),label:"Enable Whitelist"}),(0,t.jsx)(p.Z,{variant:"caption",color:"text.secondary",display:"block",sx:{ml:4},children:"Only whitelisted players can join"})]})]})]})}),(0,t.jsx)(u.Z,{sx:{mb:3,borderRadius:3},children:(0,t.jsxs)(m.Z,{children:[(0,t.jsx)(p.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Performance Settings"}),(0,t.jsx)(p.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"These settings require a server restart to take effect."}),(0,t.jsx)(O.Z,{sx:{mb:3}}),(0,t.jsxs)(S.ZP,{container:!0,spacing:3,children:[(0,t.jsx)(S.ZP,{item:!0,xs:12,sm:6,children:(0,t.jsx)(w.Z,{fullWidth:!0,label:"Memory Allocation",value:I.memory||"4G",onChange:e=>B("memory",e.target.value),helperText:"Format: 4G, 8G, etc."})}),(0,t.jsx)(S.ZP,{item:!0,xs:12,sm:6,children:(0,t.jsx)(eo.Z,{control:(0,t.jsx)(el.Z,{checked:null!==(a=I.useAikarFlags)&&void 0!==a&&a,onChange:e=>B("useAikarFlags",e.target.checked)}),label:"Use Aikar's Flags (Optimized GC)"})})]})]})}),(0,t.jsx)(o.Z,{sx:{display:"flex",justifyContent:"flex-end",mb:3},children:(0,t.jsx)(l.Z,{variant:"contained",size:"large",startIcon:(0,t.jsx)(ec.Z,{}),onClick:U,disabled:!z||Z.isPending,sx:{px:4},children:Z.isPending?"Saving...":"Save Changes"})}),(0,t.jsx)(u.Z,{sx:{borderRadius:3,borderColor:"error.main",borderWidth:1,borderStyle:"solid"},children:(0,t.jsxs)(m.Z,{children:[(0,t.jsx)(p.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,color:"error",children:"Danger Zone"}),(0,t.jsx)(O.Z,{sx:{mb:3}}),(0,t.jsxs)(o.Z,{sx:{mb:3},children:[(0,t.jsx)(p.Z,{variant:"subtitle1",fontWeight:600,gutterBottom:!0,children:"Reset World"}),(0,t.jsx)(p.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"This will permanently delete the current world and generate a new one. This action cannot be undone."}),(0,t.jsx)(l.Z,{variant:"outlined",color:"error",startIcon:(0,t.jsx)(eu.Z,{}),onClick:()=>T(!0),disabled:h,children:"Reset World"}),h&&(0,t.jsx)(p.Z,{variant:"caption",color:"text.secondary",sx:{ml:2},children:"Stop the server first"})]})]})}),(0,t.jsxs)(y.Z,{open:M,onClose:()=>T(!1),maxWidth:"sm",fullWidth:!0,children:[(0,t.jsx)(f.Z,{children:(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,t.jsx)(ex.Z,{color:"error"}),(0,t.jsx)(p.Z,{variant:"h6",fontWeight:600,children:"Reset World"})]})}),(0,t.jsxs)(b.Z,{children:[(0,t.jsxs)(p.Z,{variant:"body1",gutterBottom:!0,children:["This will permanently delete the world for ",(0,t.jsx)("strong",{children:d})," and generate a new one."]}),(0,t.jsx)(p.Z,{variant:"body2",color:"text.secondary",gutterBottom:!0,children:"This action cannot be undone. All player progress and builds will be lost."}),(0,t.jsx)(w.Z,{fullWidth:!0,label:"Type RESET to confirm",value:A,onChange:e=>D(e.target.value),sx:{mt:3},autoFocus:!0})]}),(0,t.jsxs)(C.Z,{children:[(0,t.jsx)(l.Z,{onClick:()=>T(!1),children:"Cancel"}),(0,t.jsx)(l.Z,{variant:"contained",color:"error",onClick:q,disabled:"RESET"!==A||k.isPending,startIcon:k.isPending?(0,t.jsx)(x.Z,{size:16}):(0,t.jsx)(eh.Z,{}),children:k.isPending?"Resetting...":"Reset World"})]})]}),(0,t.jsx)(ed.Z,{open:E.open,autoHideDuration:6e3,onClose:()=>N({...E,open:!1}),anchorOrigin:{vertical:"bottom",horizontal:"right"},children:(0,t.jsx)(c.Z,{onClose:()=>N({...E,open:!1}),severity:E.severity,sx:{width:"100%"},children:E.message})})]})}var ef=r(86702),eb=r(47606),eC=r(407),ew=r(56056),eS=r(28058),ek=r(11597),eI=r(59602);let eR={admin:{label:"Owner",color:"primary",variant:"filled"},manage:{label:"Operator",color:"info",variant:"outlined"},view:{label:"Viewer",color:"default",variant:"outlined"}};function ez(e){let{permission:s,size:r="medium"}=e,n=eR[s];return(0,t.jsx)(A.Z,{label:n.label,color:n.color,variant:n.variant,size:r})}var eW=r(99046),eP=r(68038),eF=r(34080),eM=r(39181),eT=r(5632),eA=r(58919),eD=r(20367),eO=r(42936);function eE(e){var s,r;let{open:i,onClose:a,serverId:d}=e,[h,u]=(0,n.useState)(""),[m,j]=(0,n.useState)(null),[v,g]=(0,n.useState)("view"),{data:Z,isLoading:S}=(r={enabled:i},(0,eT.a)({queryKey:["users","search",h],queryFn:()=>(0,eO.SC)("/api/users?q=".concat(encodeURIComponent(h))),enabled:(null==r?void 0:r.enabled)!==!1&&h.length>=2,staleTime:3e4})),k=function(){let e=(0,eA.NL)();return(0,eD.D)({mutationFn:e=>(0,eO.SC)("/api/user-servers",{method:"POST",body:JSON.stringify(e)}),onSuccess:(s,r)=>{e.invalidateQueries({queryKey:["user-servers",r.serverId]}),e.invalidateQueries({queryKey:["user-servers"]})}})}(),I=(0,n.useMemo)(()=>{var e;return null!==(e=null==Z?void 0:Z.users)&&void 0!==e?e:[]},[Z]),R=()=>{u(""),j(null),g("view"),k.reset(),a()};return(0,t.jsxs)(y.Z,{open:i,onClose:R,maxWidth:"sm",fullWidth:!0,PaperProps:{sx:{borderRadius:3}},children:[(0,t.jsx)(f.Z,{sx:{fontWeight:600},children:"Add User Access"}),(0,t.jsxs)(b.Z,{sx:{display:"flex",flexDirection:"column",gap:3,pt:"8px !important"},children:[k.isError&&(0,t.jsx)(c.Z,{severity:"error",sx:{mb:1},children:(null===(s=k.error)||void 0===s?void 0:s.message)||"Failed to grant access"}),(0,t.jsx)(eW.Z,{options:I,getOptionLabel:e=>e.name||e.email,isOptionEqualToValue:(e,s)=>e.id===s.id,value:m,onChange:(e,s)=>j(s),inputValue:h,onInputChange:(e,s)=>u(s),loading:S,filterOptions:e=>e,noOptionsText:h.length<2?"Type at least 2 characters":"No users found",renderInput:e=>(0,t.jsx)(w.Z,{...e,label:"Search User",placeholder:"Search by name or email...",InputProps:{...e.InputProps,endAdornment:(0,t.jsxs)(t.Fragment,{children:[S&&(0,t.jsx)(x.Z,{size:20}),e.InputProps.endAdornment]})}}),renderOption:(e,s)=>{var r,n,i;let{key:a,...l}=e;return(0,t.jsxs)(o.Z,{component:"li",...l,sx:{display:"flex",gap:1.5,py:1},children:[(0,t.jsx)(ef.Z,{src:null!==(i=s.image)&&void 0!==i?i:void 0,sx:{width:32,height:32,bgcolor:"primary.main",fontSize:14},children:((null===(r=s.name)||void 0===r?void 0:r[0])||(null===(n=s.email)||void 0===n?void 0:n[0])||"?").toUpperCase()}),(0,t.jsxs)(o.Z,{children:[(0,t.jsx)(p.Z,{variant:"body2",fontWeight:500,children:s.name||"Unknown"}),(0,t.jsx)(p.Z,{variant:"caption",color:"text.secondary",children:s.email})]})]},a)}}),(0,t.jsxs)(ei.Z,{children:[(0,t.jsx)(eP.Z,{sx:{fontWeight:500,mb:1},children:"Permission Level"}),(0,t.jsxs)(eF.Z,{value:v,onChange:e=>g(e.target.value),children:[(0,t.jsx)(eo.Z,{value:"view",control:(0,t.jsx)(eM.Z,{size:"small"}),label:(0,t.jsxs)(o.Z,{children:[(0,t.jsx)(p.Z,{variant:"body2",fontWeight:500,children:"Viewer"}),(0,t.jsx)(p.Z,{variant:"caption",color:"text.secondary",children:"Can view server status and logs"})]})}),(0,t.jsx)(eo.Z,{value:"manage",control:(0,t.jsx)(eM.Z,{size:"small"}),label:(0,t.jsxs)(o.Z,{children:[(0,t.jsx)(p.Z,{variant:"body2",fontWeight:500,children:"Operator"}),(0,t.jsx)(p.Z,{variant:"caption",color:"text.secondary",children:"Can start, stop, and configure the server"})]})}),(0,t.jsx)(eo.Z,{value:"admin",control:(0,t.jsx)(eM.Z,{size:"small"}),label:(0,t.jsxs)(o.Z,{children:[(0,t.jsx)(p.Z,{variant:"body2",fontWeight:500,children:"Owner"}),(0,t.jsx)(p.Z,{variant:"caption",color:"text.secondary",children:"Full control including managing other users"})]})})]})]})]}),(0,t.jsxs)(C.Z,{sx:{px:3,pb:2},children:[(0,t.jsx)(l.Z,{onClick:R,color:"inherit",children:"Cancel"}),(0,t.jsx)(l.Z,{onClick:()=>{m&&k.mutate({userId:m.id,serverId:d,permission:v},{onSuccess:R})},variant:"contained",disabled:!m||k.isPending,sx:{borderRadius:2},children:k.isPending?"Adding...":"Add User"})]})]})}function eN(e){var s,r;let{serverId:i}=e,{data:a,isLoading:x,error:y}=(0,eT.a)({queryKey:["user-servers",i],queryFn:()=>(0,eO.SC)("/api/user-servers?serverId=".concat(encodeURIComponent(i))),enabled:!!i}),f=function(){let e=(0,eA.NL)();return(0,eD.D)({mutationFn:e=>{let{id:s,permission:r}=e;return(0,eO.SC)("/api/user-servers/".concat(encodeURIComponent(s)),{method:"PATCH",body:JSON.stringify({permission:r})})},onSuccess:()=>{e.invalidateQueries({queryKey:["user-servers"]})}})}(),b=function(){let e=(0,eA.NL)();return(0,eD.D)({mutationFn:e=>(0,eO.SC)("/api/user-servers/".concat(encodeURIComponent(e)),{method:"DELETE"}),onSuccess:()=>{e.invalidateQueries({queryKey:["user-servers"]})}})}(),[C,w]=(0,n.useState)(!1),[S,k]=(0,n.useState)(null),[I,R]=(0,n.useState)(null),W=(e,s)=>{k(e.currentTarget),R(s)},P=()=>{k(null),R(null)},F=e=>{if(!I||I.permission===e){P();return}f.mutate({id:I.id,permission:e},{onSettled:P})},M=null!==(s=null==a?void 0:a.users.filter(e=>"admin"===e.permission).length)&&void 0!==s?s:0,T=(null==I?void 0:I.permission)==="admin"&&M<=1;if(x)return(0,t.jsx)(u.Z,{sx:{borderRadius:3},children:(0,t.jsxs)(m.Z,{children:[(0,t.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[(0,t.jsx)(h.Z,{variant:"text",width:"30%",height:32}),(0,t.jsx)(h.Z,{variant:"rounded",width:120,height:36,sx:{borderRadius:2}})]}),(0,t.jsx)(O.Z,{sx:{mb:2}}),[0,1,2].map(e=>(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:2,py:1.5,borderBottom:"1px solid",borderColor:"divider"},children:[(0,t.jsx)(h.Z,{variant:"circular",width:40,height:40}),(0,t.jsxs)(o.Z,{sx:{flex:1},children:[(0,t.jsx)(h.Z,{variant:"text",width:"40%"}),(0,t.jsx)(h.Z,{variant:"text",width:"60%"})]}),(0,t.jsx)(h.Z,{variant:"rounded",width:80,height:28,sx:{borderRadius:10}}),(0,t.jsx)(h.Z,{variant:"circular",width:32,height:32})]},e))]})});if(y)return(0,t.jsxs)(c.Z,{severity:"error",children:["Failed to load access list: ",y.message]});let A=null!==(r=null==a?void 0:a.users)&&void 0!==r?r:[];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.Z,{sx:{borderRadius:3},children:(0,t.jsxs)(m.Z,{children:[(0,t.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[(0,t.jsx)(p.Z,{variant:"h6",fontWeight:600,children:"Server Access"}),(0,t.jsx)(l.Z,{variant:"contained",size:"small",startIcon:(0,t.jsx)(eb.Z,{}),onClick:()=>w(!0),sx:{borderRadius:2},children:"Add User"})]}),(0,t.jsx)(O.Z,{sx:{mb:1}}),0===A.length?(0,t.jsx)(o.Z,{sx:{py:4,textAlign:"center"},children:(0,t.jsx)(p.Z,{variant:"body2",color:"text.secondary",children:"No users have been granted access to this server yet."})}):A.map(e=>{var s,r,n,i,a,l,c,x;return(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:2,py:1.5,"&:not(:last-child)":{borderBottom:"1px solid",borderColor:"divider"}},children:[(0,t.jsx)(ef.Z,{src:null!==(x=null===(s=e.user)||void 0===s?void 0:s.image)&&void 0!==x?x:void 0,sx:{width:40,height:40,bgcolor:"primary.main",fontSize:16},children:((null===(n=e.user)||void 0===n?void 0:null===(r=n.name)||void 0===r?void 0:r[0])||(null===(a=e.user)||void 0===a?void 0:null===(i=a.email)||void 0===i?void 0:i[0])||"?").toUpperCase()}),(0,t.jsxs)(o.Z,{sx:{flex:1,minWidth:0},children:[(0,t.jsx)(p.Z,{variant:"body2",fontWeight:500,noWrap:!0,children:(null===(l=e.user)||void 0===l?void 0:l.name)||"Unknown User"}),(0,t.jsx)(p.Z,{variant:"caption",color:"text.secondary",noWrap:!0,children:(null===(c=e.user)||void 0===c?void 0:c.email)||e.userId})]}),(0,t.jsx)(ez,{permission:e.permission,size:"small"}),(0,t.jsx)(d.Z,{size:"small",onClick:s=>W(s,e),sx:{color:"text.secondary"},children:(0,t.jsx)(z.Z,{fontSize:"small"})})]},e.id)}),(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:1,mt:2,pt:1},children:[(0,t.jsx)(eI.Z,{sx:{fontSize:16,color:"text.disabled"}}),(0,t.jsx)(p.Z,{variant:"caption",color:"text.disabled",children:"Only platform admins and server owners can manage access."})]})]})}),(0,t.jsxs)(j.Z,{anchorEl:S,open:!!S,onClose:P,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},disableScrollLock:!0,children:[(0,t.jsxs)(v.Z,{onClick:()=>F("admin"),disabled:(null==I?void 0:I.permission)==="admin",children:[(0,t.jsx)(g.Z,{children:(0,t.jsx)(eC.Z,{fontSize:"small"})}),(0,t.jsx)(Z.Z,{children:"Change to Owner"})]}),(0,t.jsxs)(v.Z,{onClick:()=>F("manage"),disabled:(null==I?void 0:I.permission)==="manage"||T,children:[(0,t.jsx)(g.Z,{children:(0,t.jsx)(ew.Z,{fontSize:"small"})}),(0,t.jsx)(Z.Z,{children:"Change to Operator"})]}),(0,t.jsxs)(v.Z,{onClick:()=>F("view"),disabled:(null==I?void 0:I.permission)==="view"||T,children:[(0,t.jsx)(g.Z,{children:(0,t.jsx)(eS.Z,{fontSize:"small"})}),(0,t.jsx)(Z.Z,{children:"Change to Viewer"})]}),(0,t.jsx)(O.Z,{}),(0,t.jsxs)(v.Z,{onClick:()=>{I&&b.mutate(I.id,{onSettled:P})},disabled:T,sx:{color:"error.main"},children:[(0,t.jsx)(g.Z,{children:(0,t.jsx)(ek.Z,{fontSize:"small",sx:{color:"error.main"}})}),(0,t.jsx)(Z.Z,{children:"Remove Access"})]})]}),(0,t.jsx)(eE,{open:C,onClose:()=>w(!1),serverId:i})]})}var eB=r(10449),eU=r(24559),eq=r(37228);function eL(e){let{text:s}=e,[r,i]=(0,n.useState)(!1),a=async()=>{try{await navigator.clipboard.writeText(s),i(!0),setTimeout(()=>i(!1),2e3)}catch(e){console.error("Failed to copy:",e)}};return(0,t.jsx)(d.Z,{size:"small",onClick:a,sx:{ml:1,color:r?"success.main":"text.secondary","&:hover":{bgcolor:"action.hover"}},"aria-label":r?"Copied":"Copy to clipboard",children:r?(0,t.jsx)(eU.Z,{sx:{fontSize:16}}):(0,t.jsx)(eB.Z,{sx:{fontSize:16}})})}function eK(e){let{label:s,value:r,copyText:n}=e;return(0,t.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",py:1},children:[(0,t.jsx)(p.Z,{variant:"body2",color:"text.secondary",children:s}),(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,t.jsx)(p.Z,{variant:"body2",sx:{fontFamily:n?"monospace":"inherit",color:n?"text.primary":"text.secondary"},children:r}),n&&(0,t.jsx)(eL,{text:n})]})]})}function eH(e){let{serverName:s,hostname:r}=e,{data:n,isLoading:i}=(0,eq.UW)();if(i)return(0,t.jsx)(u.Z,{sx:{borderRadius:3},children:(0,t.jsxs)(m.Z,{children:[(0,t.jsx)(h.Z,{variant:"text",width:"40%",height:28,sx:{mb:1}}),(0,t.jsx)(h.Z,{variant:"rectangular",height:1,sx:{mb:2}}),(0,t.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[(0,t.jsx)(h.Z,{variant:"text",width:"30%"}),(0,t.jsx)(h.Z,{variant:"text",width:"40%"})]}),(0,t.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[(0,t.jsx)(h.Z,{variant:"text",width:"30%"}),(0,t.jsx)(h.Z,{variant:"text",width:"40%"})]})]})});let a=r?"".concat(r,":25565"):"Not configured",l=(null==n?void 0:n.enabled)&&n.servers.length>0,d=null==n?void 0:n.servers.find(e=>e.serverName===s),c=(null==d?void 0:d.playitDomain)||"Not configured",x=!!(null==d?void 0:d.playitDomain);return(0,t.jsx)(u.Z,{sx:{borderRadius:3},children:(0,t.jsxs)(m.Z,{children:[(0,t.jsx)(p.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Connection"}),(0,t.jsx)(O.Z,{sx:{mb:2}}),(0,t.jsx)(eK,{label:"LAN Address",value:a,copyText:r?a:void 0}),l&&(0,t.jsx)(eK,{label:"External Address",value:c,copyText:x?c:void 0})]})})}var eG=r(42431),eQ=r(76777),eV=r(15761);function eJ(e){let{serverName:s}=e,{data:r,isLoading:i,error:a}=(0,eT.a)({queryKey:["servers",s,"mods"],queryFn:()=>(0,eO.SC)("/api/servers/".concat(encodeURIComponent(s),"/mods")),enabled:!!s}),h=function(){let e=(0,eA.NL)();return(0,eD.D)({mutationFn:e=>{let{serverName:s,slugs:r,source:t}=e;return(0,eO.SC)("/api/servers/".concat(encodeURIComponent(s),"/mods"),{method:"POST",body:JSON.stringify({slugs:r,source:t})})},onSuccess:(s,r)=>{let{serverName:t}=r;e.invalidateQueries({queryKey:["servers",t,"mods"]})}})}(),j=function(){let e=(0,eA.NL)();return(0,eD.D)({mutationFn:e=>{let{serverName:s,slug:r}=e;return(0,eO.SC)("/api/servers/".concat(encodeURIComponent(s),"/mods/").concat(encodeURIComponent(r)),{method:"DELETE"})},onSuccess:(s,r)=>{let{serverName:t}=r;e.invalidateQueries({queryKey:["servers",t,"mods"]})}})}(),[v,g]=(0,n.useState)(!1),[Z,C]=(0,n.useState)(""),[S,k]=(0,n.useState)(""),[I,R]=(0,n.useState)(!1),[z,P]=(0,n.useState)({open:!1,message:"",severity:"info"}),{data:F,isLoading:M}=function(e,s){let r=new URLSearchParams;return e&&r.set("q",e),(null==s?void 0:s.limit)!=null&&r.set("limit",String(s.limit)),(null==s?void 0:s.offset)!=null&&r.set("offset",String(s.offset)),(0,eT.a)({queryKey:["mods","search",e,null==s?void 0:s.limit,null==s?void 0:s.offset],queryFn:()=>(0,eO.SC)("/api/mods/search?".concat(r)),enabled:(null==s?void 0:s.enabled)!==!1&&!!e.trim()})}(S,{limit:10,enabled:v&&S.length>0});(0,n.useEffect)(()=>{let e=setTimeout(()=>{k(Z)},300);return()=>clearTimeout(e)},[Z]);let T=(0,n.useCallback)(async e=>{try{await j.mutateAsync({serverName:s,slug:e}),R(!0),P({open:!0,message:"Removed ".concat(e),severity:"success"})}catch(e){P({open:!0,message:e instanceof Error?e.message:"Failed to remove mod",severity:"error"})}},[j,s]),N=(0,n.useCallback)(async e=>{try{await h.mutateAsync({serverName:s,slugs:[e]}),R(!0),P({open:!0,message:"Added ".concat(e),severity:"success"})}catch(e){P({open:!0,message:e instanceof Error?e.message:"Failed to add mod",severity:"error"})}},[h,s]),B=new Set;if(null==r?void 0:r.mods)for(let e of Object.values(r.mods))for(let s of e)B.add(s);if(i)return(0,t.jsx)(o.Z,{sx:{display:"flex",justifyContent:"center",py:6},children:(0,t.jsx)(x.Z,{})});if(a)return(0,t.jsxs)(c.Z,{severity:"error",sx:{mt:2},children:["Failed to load mods: ",a.message]});let U=B.size>0;return(0,t.jsxs)(o.Z,{children:[I&&(0,t.jsx)(c.Z,{severity:"info",sx:{mb:2},children:"Restart the server to apply mod changes."}),(0,t.jsx)(u.Z,{sx:{borderRadius:3},children:(0,t.jsxs)(m.Z,{children:[(0,t.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[(0,t.jsx)(p.Z,{variant:"h6",fontWeight:600,children:"Installed Mods"}),(0,t.jsx)(l.Z,{variant:"contained",size:"small",startIcon:(0,t.jsx)(ev.Z,{}),onClick:()=>{C(""),k(""),g(!0)},children:"Add Mods"})]}),(0,t.jsx)(O.Z,{sx:{mb:2}}),U?Object.entries(r.mods).map(e=>{let[s,r]=e;return(0,t.jsxs)(o.Z,{sx:{mb:2},children:[(0,t.jsx)(p.Z,{variant:"subtitle2",color:"text.secondary",sx:{mb:1,textTransform:"capitalize"},children:s}),(0,t.jsx)(o.Z,{sx:{display:"flex",flexWrap:"wrap",gap:1},children:r.map(e=>(0,t.jsx)(A.Z,{label:e,icon:(0,t.jsx)(eQ.Z,{}),onDelete:()=>T(e),deleteIcon:(0,t.jsx)(W.Z,{}),variant:"outlined"},e))})]},s)}):(0,t.jsxs)(o.Z,{sx:{textAlign:"center",py:4},children:[(0,t.jsx)(eQ.Z,{sx:{fontSize:48,color:"text.disabled",mb:1}}),(0,t.jsx)(p.Z,{variant:"body1",color:"text.secondary",children:"No mods installed"}),(0,t.jsx)(p.Z,{variant:"body2",color:"text.disabled",sx:{mt:.5},children:'Click "Add Mods" to search and install mods from Modrinth'})]})]})}),(0,t.jsxs)(y.Z,{open:v,onClose:()=>g(!1),maxWidth:"sm",fullWidth:!0,PaperProps:{sx:{minHeight:400}},children:[(0,t.jsxs)(f.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:["Search Mods",(0,t.jsx)(d.Z,{onClick:()=>g(!1),size:"small",children:(0,t.jsx)(E.Z,{})})]}),(0,t.jsxs)(b.Z,{children:[(0,t.jsx)(w.Z,{fullWidth:!0,autoFocus:!0,placeholder:"Search Modrinth...",value:Z,onChange:e=>C(e.target.value),InputProps:{startAdornment:(0,t.jsx)(D.Z,{position:"start",children:(0,t.jsx)(eG.Z,{})})},sx:{mb:2}}),M&&(0,t.jsx)(o.Z,{sx:{display:"flex",justifyContent:"center",py:4},children:(0,t.jsx)(x.Z,{size:28})}),!M&&F&&0===F.hits.length&&S&&(0,t.jsxs)(p.Z,{variant:"body2",color:"text.secondary",sx:{textAlign:"center",py:4},children:['No mods found for "',S,'"']}),!M&&F&&F.hits.length>0&&(0,t.jsx)(o.Z,{sx:{display:"flex",flexDirection:"column",gap:1.5},children:F.hits.map(e=>{var s;let r=B.has(e.slug);return(0,t.jsx)(u.Z,{variant:"outlined",sx:{borderRadius:2},children:(0,t.jsx)(m.Z,{sx:{py:1.5,px:2,"&:last-child":{pb:1.5}},children:(0,t.jsxs)(o.Z,{sx:{display:"flex",gap:1.5,alignItems:"flex-start"},children:[(0,t.jsx)(ef.Z,{src:e.iconUrl||void 0,variant:"rounded",sx:{width:40,height:40,bgcolor:"action.hover"},children:(0,t.jsx)(eQ.Z,{})}),(0,t.jsxs)(o.Z,{sx:{flex:1,minWidth:0},children:[(0,t.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,t.jsx)(p.Z,{variant:"subtitle2",noWrap:!0,children:e.title}),(0,t.jsx)(l.Z,{size:"small",variant:r?"outlined":"contained",disabled:r||h.isPending,onClick:()=>N(e.slug),sx:{ml:1,minWidth:80,flexShrink:0},children:r?"Installed":"Add"})]}),(0,t.jsx)(p.Z,{variant:"body2",color:"text.secondary",sx:{mt:.25,overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"},children:e.description}),(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:1,mt:.5},children:[(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:.25},children:[(0,t.jsx)(eV.Z,{sx:{fontSize:14,color:"text.disabled"}}),(0,t.jsx)(p.Z,{variant:"caption",color:"text.disabled",children:(s=e.downloads)>=1e6?"".concat((s/1e6).toFixed(1),"M"):s>=1e3?"".concat((s/1e3).toFixed(1),"K"):String(s)})]}),e.author&&(0,t.jsxs)(p.Z,{variant:"caption",color:"text.disabled",children:["by ",e.author]})]})]})]})})},e.slug)})})]})]}),(0,t.jsx)(ed.Z,{open:z.open,autoHideDuration:4e3,onClose:()=>P(e=>({...e,open:!1})),anchorOrigin:{vertical:"bottom",horizontal:"center"},children:(0,t.jsx)(c.Z,{onClose:()=>P(e=>({...e,open:!1})),severity:z.severity,variant:"filled",children:z.message})})]})}let e_=["Overview","Activity","Mods","Files","Backups","Access","Options"];function e$(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 eY(e){var s,r,i,a,c;let{server:x,onSendCommand:h}=e,[j,v]=(0,n.useState)("Overview"),[g,Z]=(0,n.useState)(""),[f,C]=(0,n.useState)(!0),[I,R]=(0,n.useState)(!1),z=(0,n.useRef)(null),{logs:W,isConnected:P}=(0,Q.Y)({serverName:x.name}),F=(0,n.useMemo)(()=>W.filter(e=>!e.includes("RCON Listener")&&!e.includes("RCON Client")&&!e.includes("RconClient")),[W]);(0,n.useEffect)(()=>{z.current&&f&&(z.current.scrollTop=z.current.scrollHeight)},[F,f]);let M=async()=>{g.trim()&&h&&(await h(g.trim()),Z(""))},T=null!==(a=null===(s=x.stats)||void 0===s?void 0:s.cpuPercent)&&void 0!==a?a:0;(null===(r=x.stats)||void 0===r?void 0:r.memoryUsage)&&x.stats.memoryUsage,function(e){if(!e)return;let s=e.match(/^(\d+)\s*(M|G)?$/i);if(s)parseInt(s[1],10),(s[2]||"M").toUpperCase()}(x.memory);let H=null!==(c=null===(i=x.stats)||void 0===i?void 0:i.memoryPercent)&&void 0!==c?c:0;return(0,t.jsxs)(o.Z,{children:[(0,t.jsx)(o.Z,{sx:{display:"flex",gap:.5,mb:3},children:e_.map(e=>(0,t.jsx)(l.Z,{onClick:()=>v(e),sx:{px:2,py:1,borderRadius:5,fontSize:14,fontWeight:500,textTransform:"none",bgcolor:j===e?"primary.main":"transparent",color:j===e?"#0a0e14":"text.secondary","&:hover":{bgcolor:j===e?"primary.main":(0,k.Fq)("#1bd96a",.1)}},children:e},e))}),(0,t.jsxs)(o.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"repeat(3, 1fr)"},gap:2,mb:2.5},children:[(0,t.jsx)(G,{value:"".concat(T.toFixed(2),"%"),unit:"/ 100%",label:"CPU usage",icon:(0,t.jsx)(N.Z,{sx:{fontSize:28}}),progress:T,progressMax:100,color:"#1bd96a"}),(0,t.jsx)(G,{value:"".concat(H.toFixed(2),"%"),unit:"/ 100%",label:"Memory usage",icon:(0,t.jsx)(B.Z,{sx:{fontSize:28}}),progress:H,progressMax:100,color:"#1bd96a"}),(0,t.jsx)(G,{value:x.worldSize||"0 B",unit:"/ 10 GB",label:"World size",icon:(0,t.jsx)(U.Z,{sx:{fontSize:28}}),progress:function(e){if(!e)return 0;let s=e.match(/^([\d.]+)\s*(B|KB|MB|MiB|GB|GiB)?$/i);if(!s)return 0;let r=parseFloat(s[1]);switch((s[2]||"B").toUpperCase()){case"GB":case"GIB":return 1024*r;case"MB":case"MIB":return r;case"KB":return r/1024;default:return r/1048576}}(x.worldSize),progressMax:10240,color:"#1bd96a"})]}),(0,t.jsxs)(u.Z,{sx:{bgcolor:"background.paper",borderRadius:3,border:"1px solid",borderColor:"divider",overflow:"hidden"},children:[(0,t.jsxs)(o.Z,{sx:{px:3,py:2,borderBottom:"1px solid",borderColor:"divider",display:"flex",alignItems:"center",gap:1.25},children:[(0,t.jsx)(p.Z,{variant:"h6",sx:{fontWeight:700,color:"text.primary"},children:"Console"}),(0,t.jsx)(o.Z,{sx:{width:10,height:10,borderRadius:"50%",bgcolor:P?"primary.main":"error.main",boxShadow:P?"0 0 8px rgba(27, 217, 106, 0.4)":"0 0 8px rgba(239, 68, 68, 0.4)"}})]}),(0,t.jsxs)(o.Z,{sx:{position:"relative"},children:[(0,t.jsx)(o.Z,{ref:z,onScroll:()=>{if(!z.current)return;let{scrollTop:e,scrollHeight:s,clientHeight:r}=z.current;C(s-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===F.length?(0,t.jsx)(p.Z,{sx:{color:"text.secondary",textAlign:"center",py:8},children:"Waiting for logs..."}):F.map((e,s)=>{let r=function(e){let s=e$(e).match(/\[(\d{2}:\d{2}:\d{2})\]\s*\[([^/]+)\/(\w+)\]:\s*(.+)/);return s?{time:s[1],thread:s[2],level:s[3]||"INFO",msg:s[4]}:null}(e);return r?(0,t.jsxs)(o.Z,{sx:{display:"flex",gap:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:[(0,t.jsxs)(o.Z,{component:"span",sx:{color:"#4a4d60"},children:["[",r.time,"]"]}),(0,t.jsxs)(o.Z,{component:"span",sx:{color:"#4a4d60"},children:["\xa0[",r.thread,"/",(0,t.jsx)(o.Z,{component:"span",sx:{color:"WARN"===r.level?"#e8a848":"#6b6e80"},children:r.level}),"]:\xa0"]}),(0,t.jsx)(o.Z,{component:"span",sx:{color:"WARN"===r.level?"#c4a45a":"#b4b6c4"},children:r.msg})]},s):(0,t.jsx)(o.Z,{sx:{color:"#b4b6c4"},children:e$(e)},s)})}),(0,t.jsx)(d.Z,{onClick:()=>R(!0),sx:{position:"absolute",top:12,right:12,width:36,height:36,borderRadius:2,bgcolor:"#282a3a",border:"1px solid #3a3d4e",color:"#8b8da0","&:hover":{bgcolor:"#313440"}},children:(0,t.jsx)(q.Z,{sx:{fontSize:18}})}),!f&&(0,t.jsx)(d.Z,{onClick:()=>{z.current&&z.current.scrollTo({top:z.current.scrollHeight,behavior:"smooth"})},sx:{position:"absolute",bottom:12,right:12,width:36,height:36,borderRadius:2,bgcolor:"#282a3a",border:"1px solid #3a3d4e",color:"#8b8da0","&:hover":{bgcolor:"#313440"}},children:(0,t.jsx)(L.Z,{sx:{fontSize:18}})})]}),(0,t.jsx)(o.Z,{sx:{px:2.5,py:1.5,borderTop:"1px solid",borderColor:"divider"},children:(0,t.jsx)(w.Z,{fullWidth:!0,size:"small",placeholder:"Send a command",value:g,onChange:e=>Z(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),M())},disabled:!P,InputProps:{startAdornment:(0,t.jsx)(D.Z,{position:"start",children:(0,t.jsx)(K.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"===j&&(0,t.jsxs)(S.ZP,{container:!0,spacing:3,sx:{mt:1},children:[(0,t.jsx)(S.ZP,{item:!0,xs:12,md:6,children:(0,t.jsx)(u.Z,{sx:{borderRadius:3},children:(0,t.jsxs)(m.Z,{children:[(0,t.jsx)(p.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Server Information"}),(0,t.jsx)(O.Z,{sx:{mb:2}}),(0,t.jsx)(eX,{label:"Name",value:x.name}),(0,t.jsx)(eX,{label:"Container",value:x.container}),(0,t.jsx)(eX,{label:"Hostname",value:x.hostname}),(0,t.jsx)(eX,{label:"Type",value:x.type}),(0,t.jsx)(eX,{label:"Version",value:x.version}),(0,t.jsx)(eX,{label:"Memory",value:x.memory}),(0,t.jsx)(eX,{label:"Uptime",value:x.uptime||function(e){if(!e||e<0)return"0s";let s=Math.floor(e/3600),r=Math.floor(e%3600/60),t=e%60;return s>0?"".concat(s,"h ").concat(r,"m"):r>0?"".concat(r,"m ").concat(t,"s"):"".concat(t,"s")}(x.uptimeSeconds)})]})})}),(0,t.jsx)(S.ZP,{item:!0,xs:12,md:6,children:(0,t.jsx)(u.Z,{sx:{borderRadius:3},children:(0,t.jsxs)(m.Z,{children:[(0,t.jsx)(p.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Players"}),(0,t.jsx)(O.Z,{sx:{mb:2}}),x.players?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(eX,{label:"Online",value:"".concat(x.players.online," / ").concat(x.players.max)}),x.players.players&&x.players.players.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(p.Z,{variant:"body2",color:"text.secondary",sx:{mt:2,mb:1},children:"Online Players"}),(0,t.jsx)(o.Z,{sx:{display:"flex",flexWrap:"wrap",gap:1},children:x.players.players.map(e=>(0,t.jsx)(A.Z,{label:e,size:"small"},e))})]})]}):(0,t.jsx)(p.Z,{variant:"body2",color:"text.secondary",children:"Player information unavailable"})]})})}),(0,t.jsx)(S.ZP,{item:!0,xs:12,md:6,children:(0,t.jsx)(eH,{serverName:x.name,hostname:x.hostname})})]}),"Activity"===j&&(0,t.jsx)(o.Z,{sx:{mt:3},children:(0,t.jsx)(u.Z,{sx:{borderRadius:3},children:(0,t.jsxs)(m.Z,{children:[(0,t.jsx)(p.Z,{variant:"h6",gutterBottom:!0,fontWeight:600,children:"Server Activity"}),(0,t.jsx)(O.Z,{sx:{mb:2}}),(0,t.jsx)(et,{serverName:x.name})]})})}),"Mods"===j&&(0,t.jsx)(o.Z,{sx:{mt:3},children:(0,t.jsx)(eJ,{serverName:x.name})}),"Files"===j&&(0,t.jsx)(o.Z,{sx:{mt:3},children:(0,t.jsx)(p.Z,{variant:"body1",color:"text.secondary",children:"File browser coming soon"})}),"Backups"===j&&(0,t.jsx)(o.Z,{sx:{mt:3},children:(0,t.jsx)(p.Z,{variant:"body1",color:"text.secondary",children:"Backup management coming soon"})}),"Access"===j&&(0,t.jsx)(o.Z,{sx:{mt:3},children:(0,t.jsx)(eN,{serverId:x.name})}),"Options"===j&&(0,t.jsx)(o.Z,{sx:{mt:3},children:(0,t.jsx)(ey,{serverName:x.name,isRunning:"running"===x.status})}),(0,t.jsxs)(y.Z,{open:I,onClose:()=>R(!1),maxWidth:"xl",fullWidth:!0,PaperProps:{sx:{height:"90vh",bgcolor:"background.paper"}},children:[(0,t.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",p:2,borderBottom:1,borderColor:"divider"},children:[(0,t.jsxs)(p.Z,{variant:"h6",sx:{fontFamily:'"Minecraft", sans-serif',fontWeight:400,letterSpacing:"0.05em"},children:["Console - ",x.name]}),(0,t.jsx)(d.Z,{onClick:()=>R(!1),children:(0,t.jsx)(E.Z,{})})]}),(0,t.jsx)(b.Z,{sx:{p:0,display:"flex",flexDirection:"column"},children:(0,t.jsx)(V.K,{serverName:x.name})})]})]})}function eX(e){let{label:s,value:r}=e;return r?(0,t.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[(0,t.jsx)(p.Z,{variant:"body2",color:"text.secondary",children:s}),(0,t.jsx)(p.Z,{variant:"body2",sx:{fontWeight:500},children:r})]}):null}var e0=r(93757);function e1(){return(0,t.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,t.jsx)("line",{x1:"8",y1:"12",x2:"16",y2:"12"})]})}function e2(){return(0,t.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M21 2v6h-6"}),(0,t.jsx)("path",{d:"M3 12a9 9 0 0115.36-6.36L21 8"}),(0,t.jsx)("path",{d:"M3 22v-6h6"}),(0,t.jsx)("path",{d:"M21 12a9 9 0 01-15.36 6.36L3 16"})]})}function e6(){var e,s,r,A;let D=(0,i.useParams)(),O=(0,a.x)(),E=decodeURIComponent(D.name),{data:N,isLoading:B,error:U}=(0,em.Hy)(E),{status:q,health:L}=function(e){let{serverName:s,onStatusChange:r,enabled:t=!0,reconnectInterval:i=3e3}=e,[a,o]=(0,n.useState)(null),[l,d]=(0,n.useState)(null);(0,n.useEffect)(()=>{o(null),d(null)},[s]);let c=(0,n.useCallback)(e=>{if("server-status"===e.type){let s=e.data.status,t=e.data.health;o(s),d(t),null==r||r(s,t)}},[r]),{isConnected:x,reconnect:h,retryCount:u}=(0,e0.D)({url:"/api/sse/servers/".concat(encodeURIComponent(s),"/status"),onMessage:c,enabled:t,reconnectInterval:i});return{status:a,health:l,isConnected:x,reconnect:h,retryCount:u}}({serverName:E,enabled:!!E}),[K,H]=(0,n.useState)(null),[G,Q]=(0,n.useState)(!1),[V,J]=(0,n.useState)(""),_=(0,em.jM)(),$=(0,em.Aw)(),Y=(0,em._I)(),X=(0,em.Hq)(),ee=async()=>{try{await _.mutateAsync(E)}catch(e){console.error("Failed to start server:",e)}},es=async()=>{try{await $.mutateAsync(E)}catch(e){console.error("Failed to stop server:",e)}},er=async()=>{try{await Y.mutateAsync(E)}catch(e){console.error("Failed to restart server:",e)}},et=async e=>{try{await fetch("/api/servers/".concat(encodeURIComponent(E),"/exec"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({command:e})})}catch(e){console.error("Failed to send command:",e)}},en=q||(null==N?void 0:N.server.status),ei=_.isPending||$.isPending||Y.isPending,ea=null==N?void 0:N.server;return(0,t.jsxs)(t.Fragment,{children:[U&&(0,t.jsxs)(c.Z,{severity:"error",sx:{mb:3},children:["Failed to load server: ",U.message]}),_.isError&&(0,t.jsxs)(c.Z,{severity:"error",sx:{mb:3},children:["Failed to start server: ",null===(e=_.error)||void 0===e?void 0:e.message]}),$.isError&&(0,t.jsxs)(c.Z,{severity:"error",sx:{mb:3},children:["Failed to stop server: ",null===(s=$.error)||void 0===s?void 0:s.message]}),Y.isError&&(0,t.jsxs)(c.Z,{severity:"error",sx:{mb:3},children:["Failed to restart server: ",null===(r=Y.error)||void 0===r?void 0:r.message]}),X.isError&&(0,t.jsxs)(c.Z,{severity:"error",sx:{mb:3},children:["Failed to delete server: ",null===(A=X.error)||void 0===A?void 0:A.message]}),B?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:2,mb:2.5},children:[(0,t.jsx)(h.Z,{variant:"rounded",width:64,height:64,sx:{borderRadius:3,flexShrink:0}}),(0,t.jsxs)(o.Z,{sx:{flex:1},children:[(0,t.jsx)(h.Z,{variant:"text",width:80,height:18,sx:{mb:.5}}),(0,t.jsx)(h.Z,{variant:"text",width:"40%",height:40}),(0,t.jsxs)(o.Z,{sx:{display:"flex",gap:2,mt:.75},children:[(0,t.jsx)(h.Z,{variant:"text",width:100}),(0,t.jsx)(h.Z,{variant:"text",width:60}),(0,t.jsx)(h.Z,{variant:"text",width:140}),(0,t.jsx)(h.Z,{variant:"text",width:50})]})]}),(0,t.jsxs)(o.Z,{sx:{display:"flex",gap:1,flexShrink:0},children:[(0,t.jsx)(h.Z,{variant:"rounded",width:90,height:40,sx:{borderRadius:2}}),(0,t.jsx)(h.Z,{variant:"rounded",width:36,height:36,sx:{borderRadius:2}})]})]}),(0,t.jsx)(o.Z,{sx:{display:"flex",gap:.5,mb:3},children:[80,70,65,50,65,65].map((e,s)=>(0,t.jsx)(h.Z,{variant:"rounded",width:e,height:36,sx:{borderRadius:5}},s))}),(0,t.jsx)(o.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"repeat(3, 1fr)"},gap:2,mb:2.5},children:[0,1,2].map(e=>(0,t.jsx)(u.Z,{sx:{borderRadius:3},children:(0,t.jsxs)(m.Z,{children:[(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:1.5},children:[(0,t.jsx)(h.Z,{variant:"text",width:"50%"}),(0,t.jsx)(h.Z,{variant:"circular",width:28,height:28})]}),(0,t.jsx)(h.Z,{variant:"text",width:"60%",height:36}),(0,t.jsx)(h.Z,{variant:"rounded",width:"100%",height:6,sx:{borderRadius:3,mt:1}})]})},e))}),(0,t.jsxs)(u.Z,{sx:{borderRadius:3,border:"1px solid",borderColor:"divider"},children:[(0,t.jsxs)(o.Z,{sx:{px:3,py:2,borderBottom:"1px solid",borderColor:"divider",display:"flex",alignItems:"center",gap:1.25},children:[(0,t.jsx)(h.Z,{variant:"text",width:80,height:28}),(0,t.jsx)(h.Z,{variant:"circular",width:10,height:10})]}),(0,t.jsx)(h.Z,{variant:"rectangular",height:360,sx:{bgcolor:"#0a0a0a"}}),(0,t.jsx)(o.Z,{sx:{px:2.5,py:1.5,borderTop:"1px solid",borderColor:"divider"},children:(0,t.jsx)(h.Z,{variant:"rounded",width:"100%",height:40,sx:{borderRadius:2}})})]}),(0,t.jsxs)(S.ZP,{container:!0,spacing:3,sx:{mt:1},children:[(0,t.jsx)(S.ZP,{item:!0,xs:12,md:6,children:(0,t.jsx)(u.Z,{sx:{borderRadius:3},children:(0,t.jsxs)(m.Z,{children:[(0,t.jsx)(h.Z,{variant:"text",width:"40%",height:28,sx:{mb:1}}),(0,t.jsx)(h.Z,{variant:"rectangular",height:1,sx:{mb:2}}),[0,1,2,3,4,5,6].map(e=>(0,t.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[(0,t.jsx)(h.Z,{variant:"text",width:"30%"}),(0,t.jsx)(h.Z,{variant:"text",width:"40%"})]},e))]})})}),(0,t.jsx)(S.ZP,{item:!0,xs:12,md:6,children:(0,t.jsx)(u.Z,{sx:{borderRadius:3},children:(0,t.jsxs)(m.Z,{children:[(0,t.jsx)(h.Z,{variant:"text",width:"30%",height:28,sx:{mb:1}}),(0,t.jsx)(h.Z,{variant:"rectangular",height:1,sx:{mb:2}}),(0,t.jsxs)(o.Z,{sx:{display:"flex",justifyContent:"space-between",py:1},children:[(0,t.jsx)(h.Z,{variant:"text",width:"25%"}),(0,t.jsx)(h.Z,{variant:"text",width:"20%"})]})]})})})]})]}):ea?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:2,mb:2.5},children:[(0,t.jsx)(o.Z,{sx:{width:64,height:64,borderRadius:3,overflow:"hidden",bgcolor:"background.paper",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,border:"1px solid",borderColor:"divider",fontSize:36},children:function(e){if(!e)return"\uD83C\uDFAE";let s=e.toUpperCase();return["PAPER","SPIGOT","BUKKIT","PURPUR"].includes(s)?"\uD83D\uDD0C":["FORGE","NEOFORGE","FABRIC","QUILT"].includes(s)?"\uD83D\uDD27":"\uD83C\uDFAE"}(ea.type)}),(0,t.jsxs)(o.Z,{sx:{flex:1},children:[(0,t.jsxs)(p.Z,{onClick:()=>O.push("/servers"),sx:{fontSize:12,color:"primary.main",cursor:"pointer",mb:.25,display:"flex",alignItems:"center",gap:.5,"&:hover":{textDecoration:"underline"}},children:[(0,t.jsx)(I.Z,{sx:{fontSize:14}})," All servers"]}),(0,t.jsx)(p.Z,{variant:"h4",component:"h1",sx:{fontFamily:'"Minecraft", sans-serif',fontWeight:400,color:"text.primary",letterSpacing:"0.5px",m:0,textTransform:"uppercase"},children:E}),(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:0,mt:.75,flexWrap:"wrap",fontSize:13,color:"text.secondary"},children:[ea.version&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,t.jsx)(P.Z,{sx:{fontSize:14}}),"Minecraft ",ea.version]}),(0,t.jsx)(o.Z,{component:"span",sx:{mx:1.25,color:"#3a3d4e"},children:"|"})]}),ea.type&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,t.jsx)(F.Z,{sx:{fontSize:14}}),ea.type]}),(0,t.jsx)(o.Z,{component:"span",sx:{mx:1.25,color:"#3a3d4e"},children:"|"})]}),ea.hostname&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,t.jsx)(M.Z,{sx:{fontSize:14}}),ea.hostname]}),(0,t.jsx)(o.Z,{component:"span",sx:{mx:1.25,color:"#3a3d4e"},children:"|"})]}),(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,t.jsx)(T.Z,{sx:{fontSize:14}}),ea.uptime||function(e){if(!e||e<0)return"0s";let s=Math.floor(e/3600),r=Math.floor(e%3600/60),t=e%60;return s>0?"".concat(s,"h ").concat(r,"m"):r>0?"".concat(r,"m ").concat(t,"s"):"".concat(t,"s")}(ea.uptimeSeconds)||"0s"]})]})]}),(0,t.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",gap:1.25,flexShrink:0},children:[("stopped"===en||"exited"===en||"not_created"===en)&&(0,t.jsx)(l.Z,{variant:"contained",color:"success",startIcon:ei?(0,t.jsx)(x.Z,{size:16,color:"inherit"}):(0,t.jsx)(R.Z,{}),onClick:ee,disabled:ei,sx:{px:2,py:1,borderRadius:2,fontSize:14,fontWeight:600},children:"Start"}),"running"===en&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.Z,{variant:"outlined",startIcon:ei?(0,t.jsx)(x.Z,{size:16}):(0,t.jsx)(e1,{}),onClick:es,disabled:ei,sx:{px:2,py:1,borderRadius:2,fontSize:14,fontWeight:500,borderColor:"divider",color:"text.secondary","&:hover":{borderColor:"text.secondary",bgcolor:(0,k.Fq)("#fff",.05)}},children:"Stop"}),(0,t.jsx)(l.Z,{variant:"contained",startIcon:ei?(0,t.jsx)(x.Z,{size:16,color:"inherit"}):(0,t.jsx)(e2,{}),onClick:er,disabled:ei,sx:{px:2,py:1,borderRadius:2,fontSize:14,fontWeight:600,bgcolor:"primary.main",color:"#0a0e14","&:hover":{bgcolor:"primary.dark"}},children:"Restart"})]}),(0,t.jsx)(d.Z,{onClick:e=>H(e.currentTarget),sx:{width:36,height:36,borderRadius:2,border:"1px solid",borderColor:"divider",color:"text.secondary"},children:(0,t.jsx)(z.Z,{sx:{fontSize:18}})}),(0,t.jsx)(j.Z,{anchorEl:K,open:!!K,onClose:()=>H(null),children:(0,t.jsxs)(v.Z,{onClick:()=>{H(null),Q(!0),J("")},sx:{color:"error.main"},children:[(0,t.jsx)(g.Z,{children:(0,t.jsx)(W.Z,{fontSize:"small",sx:{color:"error.main"}})}),(0,t.jsx)(Z.Z,{children:"Delete Server"})]})})]})]}),(0,t.jsx)(eY,{server:ea,onSendCommand:et})]}):(0,t.jsx)(c.Z,{severity:"warning",children:"Server not found"}),(0,t.jsxs)(y.Z,{open:G,onClose:()=>{Q(!1),J("")},maxWidth:"sm",fullWidth:!0,children:[(0,t.jsx)(f.Z,{children:"Delete Server"}),(0,t.jsxs)(b.Z,{children:[(0,t.jsxs)(p.Z,{sx:{mb:2},children:["This action cannot be undone. Type ",(0,t.jsx)("strong",{children:E})," to confirm deletion."]}),(0,t.jsx)(w.Z,{label:"Server name",value:V,onChange:e=>J(e.target.value),fullWidth:!0,autoFocus:!0})]}),(0,t.jsxs)(C.Z,{sx:{px:3,pb:2},children:[(0,t.jsx)(l.Z,{onClick:()=>{Q(!1),J("")},children:"Cancel"}),(0,t.jsx)(l.Z,{variant:"contained",color:"error",onClick:()=>{V===E&&X.mutate({name:E,force:!0},{onSuccess:()=>{O.push("/servers")}})},disabled:V!==E||X.isPending,startIcon:X.isPending?(0,t.jsx)(x.Z,{size:16}):null,children:X.isPending?"Deleting...":"Delete"})]})]})]})}},56813:function(e,s,r){"use strict";r.d(s,{I:function(){return a}});var t=r(94655),n=r(25333),i=r(82925);function a(e){let{action:s,size:r="small"}=e,a=i.Lu[s]||"default",o=i.n3[s]||s;return(0,t.jsx)(n.Z,{label:o,color:a,size:r,variant:"filled",sx:{fontWeight:600,fontSize:"small"===r?"0.7rem":"0.8rem"}})}},26892:function(e,s,r){"use strict";r.d(s,{c:function(){return o}});var t=r(94655),n=r(25333),i=r(46207),a=r(43436);function o(e){let{status:s,size:r="small"}=e;return(0,t.jsx)(n.Z,{icon:"success"===s?(0,t.jsx)(i.Z,{}):(0,t.jsx)(a.Z,{}),label:"success"===s?"OK":"Error",color:"success"===s?"success":"error",size:r,variant:"outlined",sx:{fontWeight:500,fontSize:"small"===r?"0.7rem":"0.8rem"}})}},84509:function(e,s,r){"use strict";r.d(s,{DM:function(){return a},HZ:function(){return l},VM:function(){return o},hT:function(){return i},oL:function(){return d}});var t=r(5632),n=r(42936);function i(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1?arguments[1]:void 0,r=function(e){let s=new URLSearchParams;e.action&&s.set("action",e.action),e.actor&&s.set("actor",e.actor),e.targetType&&s.set("targetType",e.targetType),e.targetName&&s.set("targetName",e.targetName),e.status&&s.set("status",e.status),e.from&&s.set("from",e.from),e.to&&s.set("to",e.to),void 0!==e.limit&&s.set("limit",String(e.limit)),void 0!==e.offset&&s.set("offset",String(e.offset)),e.sort&&s.set("sort",e.sort);let r=s.toString();return r?"?".concat(r):""}(e);return(0,t.a)({queryKey:["audit-logs",e],queryFn:()=>(0,n.SC)("/api/audit-logs".concat(r)),enabled:(null==s?void 0:s.enabled)!==!1})}function a(e){return(0,t.a)({queryKey:["audit-logs","stats"],queryFn:()=>(0,n.SC)("/api/audit-logs/stats"),enabled:(null==e?void 0:e.enabled)!==!1,refetchInterval:3e4})}function o(e,s){return(0,t.a)({queryKey:["audit-logs",e],queryFn:()=>(0,n.SC)("/api/audit-logs/".concat(encodeURIComponent(e))),enabled:(null==s?void 0:s.enabled)!==!1&&!!e})}function l(e,s){var r;return i({targetType:"server",targetName:e,limit:null!==(r=null==s?void 0:s.limit)&&void 0!==r?r:20},{enabled:(null==s?void 0:s.enabled)!==!1&&!!e})}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;return i({limit:e,sort:"timestamp:desc"})}},37228:function(e,s,r){"use strict";r.d(s,{Bc:function(){return l},N$:function(){return d},UW:function(){return o}});var t=r(5632),n=r(58919),i=r(20367),a=r(42936);function o(){return(0,t.a)({queryKey:["playit-status"],queryFn:()=>(0,a.SC)("/api/playit/status"),refetchInterval:3e4})}function l(){let e=(0,n.NL)();return(0,i.D)({mutationFn:()=>(0,a.SC)("/api/playit/start",{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["playit-status"]})}})}function d(){let e=(0,n.NL)();return(0,i.D)({mutationFn:()=>(0,a.SC)("/api/playit/stop",{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["playit-status"]})}})}},82925:function(e,s,r){"use strict";r.d(s,{KK:function(){return o},Lu:function(){return t},Xn:function(){return a},n3:function(){return n},xg:function(){return i}});let t={"server.create":"success","server.delete":"error","server.start":"info","server.stop":"warning","server.restart":"secondary","player.whitelist.add":"success","player.whitelist.remove":"warning","player.ban":"error","player.unban":"success","player.op":"info","player.deop":"warning","player.kick":"error","audit.purge":"default"},n={"server.create":"Create","server.delete":"Delete","server.start":"Start","server.stop":"Stop","server.restart":"Restart","player.whitelist.add":"Whitelist Add","player.whitelist.remove":"Whitelist Remove","player.ban":"Ban","player.unban":"Unban","player.op":"Op","player.deop":"Deop","player.kick":"Kick","audit.purge":"Purge"},i=["server.create","server.delete","server.start","server.stop","server.restart","player.whitelist.add","player.whitelist.remove","player.ban","player.unban","player.op","player.deop","player.kick","audit.purge"],a=["server.create","server.delete","server.start","server.stop","server.restart"],o=["player.whitelist.add","player.whitelist.remove","player.ban","player.unban","player.op","player.deop","player.kick"]}},function(e){e.O(0,[6812,9760,6758,680,1668,7436,1071,540,4416,2538,5511,880,55,7727,8347,1658,9951,6727,6645,4219,4596,4682,2666,5787,3669,2757,1744],function(){return e(e.s=59616)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4978],{70861:function(e,s,n){Promise.resolve().then(n.bind(n,32539))},87739:function(e,s,n){"use strict";var t=n(8091);s.Z=void 0;var r=t(n(66758)),c=n(94655);s.Z=(0,r.default)((0,c.jsx)("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings")},32539:function(e,s,n){"use strict";n.r(s),n.d(s,{default:function(){return h}});var t=n(94655),r=n(35106),c=n(7281),o=n(84840),i=n(31317),l=n(37530),a=n(81071),u=n(87739),d=n(57965);function h(){let[e,s]=(0,r.useState)({open:!1,message:"",severity:"success"}),n=e=>{s({open:!0,message:e,severity:"success"})},h=e=>{s({open:!0,message:e,severity:"error"})},x=()=>{s(e=>({...e,open:!1}))};return(0,t.jsxs)(c.Z,{children:[(0,t.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",gap:1.5,mb:4},children:[(0,t.jsx)(u.Z,{sx:{fontSize:32},color:"primary"}),(0,t.jsx)(i.Z,{variant:"h4",component:"h1",fontWeight:"bold",children:"Settings"})]}),(0,t.jsxs)(o.ZP,{container:!0,spacing:3,children:[(0,t.jsx)(o.ZP,{item:!0,xs:12,md:6,children:(0,t.jsx)(d.zd,{onSuccess:n,onError:h})}),(0,t.jsx)(o.ZP,{item:!0,xs:12,md:6,children:(0,t.jsx)(d.eE,{})}),(0,t.jsx)(o.ZP,{item:!0,xs:12,children:(0,t.jsx)(d.ms,{onSuccess:n,onError:h})})]}),(0,t.jsx)(l.Z,{open:e.open,autoHideDuration:6e3,onClose:x,anchorOrigin:{vertical:"bottom",horizontal:"right"},children:(0,t.jsx)(a.Z,{onClose:x,severity:e.severity,variant:"filled",sx:{width:"100%"},children:e.message})})]})}},42936:function(e,s,n){"use strict";async function t(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={...s.headers};s.body&&(n["Content-Type"]="application/json");let t=await fetch(e,{...s,headers:n});if(!t.ok){let e=await t.json().catch(()=>({error:"UnknownError",message:t.statusText})),s=Error(e.message);throw s.statusCode=t.status,s.code=e.error,s}return t.json()}n.d(s,{SC:function(){return t}})}},function(e){e.O(0,[6812,9760,6758,680,1668,7436,1071,540,4416,2538,5511,2542,2844,9951,5381,4596,7965,3669,2757,1744],function(){return e(e.s=70861)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7701],{6199:function(e,s,n){Promise.resolve().then(n.bind(n,36405))},33104:function(e,s,n){"use strict";var l=n(8091);s.Z=void 0;var r=l(n(66758)),t=n(94655);s.Z=(0,r.default)([(0,t.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,t.jsx)("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"},"1")],"AccessTime")},21111:function(e,s,n){"use strict";var l=n(8091);s.Z=void 0;var r=l(n(66758)),t=n(94655);s.Z=(0,r.default)((0,t.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete")},97812:function(e,s,n){"use strict";var l=n(8091);s.Z=void 0;var r=l(n(66758)),t=n(94655);s.Z=(0,r.default)((0,t.jsx)("path",{d:"M17 7h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1 0 1.43-.98 2.63-2.31 2.98l1.46 1.46C20.88 15.61 22 13.95 22 12c0-2.76-2.24-5-5-5m-1 4h-2.19l2 2H16zM2 4.27l3.11 3.11C3.29 8.12 2 9.91 2 12c0 2.76 2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1 0-1.59 1.21-2.9 2.76-3.07L8.73 11H8v2h2.73L13 15.27V17h1.73l4.01 4L20 19.74 3.27 3z"}),"LinkOff")},84974:function(e,s,n){"use strict";var l=n(8091);s.Z=void 0;var r=l(n(66758)),t=n(94655);s.Z=(0,r.default)((0,t.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39"}),"Public")},36405:function(e,s,n){"use strict";n.r(s),n.d(s,{default:function(){return _}});var l=n(94655),r=n(35106),t=n(7281),i=n(30417),a=n(81071),o=n(93017),d=n(69899),c=n(31317),x=n(99770),h=n(62508),u=n(5682),m=n(76678),j=n(97436),Z=n(76492),v=n(32366),f=n(84974),p=n(84840),g=n(52082),y=n(89923),b=n(10297),w=n(42431),C=n(628),S=n(41565),k=n(25935),W=n(79983),z=n(25333),L=n(95511),D=n(96292),I=n(97812),A=n(21111),F=n(78067),M=n(33104);function P(e){let{world:s,onAssign:n,onRelease:r,onDelete:i,loading:a=!1}=e,o=(e,n)=>{e.stopPropagation(),n(s.name)};return(0,l.jsxs)(C.Z,{role:"article",sx:{transition:"all 0.2s",height:200,display:"flex",flexDirection:"column","&:hover":{transform:"translateY(-2px)",boxShadow:4}},children:[(0,l.jsxs)(S.Z,{sx:{flex:1,pb:1},children:[(0,l.jsxs)(t.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[(0,l.jsx)(c.Z,{variant:"h6",component:"h3",sx:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,mr:1},children:s.name}),(0,l.jsx)(z.Z,{label:s.isLocked?"Locked":"Available",size:"small",color:s.isLocked?"warning":"success",sx:{fontWeight:500,minWidth:80}})]}),(0,l.jsxs)(t.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:1.5},children:[(0,l.jsx)(F.Z,{sx:{fontSize:16,color:"text.secondary"}}),(0,l.jsx)(c.Z,{variant:"body2",color:"text.secondary",children:s.size||"Unknown size"})]}),s.isLocked&&s.lockedBy&&(0,l.jsxs)(t.Z,{sx:{display:"flex",alignItems:"center",gap:1,mb:1.5},children:[(0,l.jsx)(D.Z,{sx:{fontSize:16,color:"text.secondary"}}),(0,l.jsx)(L.Z,{title:"Assigned to ".concat(s.lockedBy),arrow:!0,children:(0,l.jsx)(c.Z,{variant:"body2",color:"text.secondary",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:s.lockedBy})})]}),(0,l.jsxs)(t.Z,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,l.jsx)(M.Z,{sx:{fontSize:16,color:"text.secondary"}}),(0,l.jsx)(c.Z,{variant:"body2",color:"text.secondary",children:(e=>{if(!e)return"-";try{return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch(s){return e}})(s.lastModified)})]})]}),(0,l.jsxs)(k.Z,{sx:{justifyContent:"flex-end",px:2,py:1.5,borderTop:"1px solid",borderColor:"divider"},children:[!s.isLocked&&n&&(0,l.jsx)(L.Z,{title:"Assign to server",arrow:!0,children:(0,l.jsx)(W.Z,{"aria-label":"Assign world",color:"primary",onClick:e=>o(e,n),disabled:a,size:"small",children:(0,l.jsx)(D.Z,{})})}),s.isLocked&&r&&(0,l.jsx)(L.Z,{title:"Release from server",arrow:!0,children:(0,l.jsx)(W.Z,{"aria-label":"Release world",color:"warning",onClick:e=>o(e,r),disabled:a,size:"small",children:(0,l.jsx)(I.Z,{})})}),i&&(0,l.jsx)(L.Z,{title:"Delete world",arrow:!0,children:(0,l.jsx)(W.Z,{"aria-label":"Delete world",color:"error",onClick:e=>o(e,i),disabled:a,size:"small",children:(0,l.jsx)(A.Z,{})})})]})]})}function E(e){let{worlds:s,onAssign:n,onRelease:a,onDelete:o,onCreate:d,loadingWorlds:x=[]}=e,[h,u]=(0,r.useState)(""),[m,Z]=(0,r.useState)("all"),f=(0,r.useMemo)(()=>s.filter(e=>(!h||!!e.name.toLowerCase().includes(h.toLowerCase()))&&("available"!==m||!e.isLocked)&&("locked"!==m||!!e.isLocked)),[s,h,m]);return 0===s.length?(0,l.jsxs)(t.Z,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"400px",gap:2},children:[(0,l.jsx)(c.Z,{variant:"h6",color:"text.secondary",children:"No worlds found"}),d&&(0,l.jsx)(i.Z,{variant:"contained",startIcon:(0,l.jsx)(v.Z,{}),onClick:d,children:"Create World"})]}):(0,l.jsxs)(t.Z,{children:[(0,l.jsxs)(t.Z,{sx:{display:"flex",flexDirection:{xs:"column",sm:"row"},gap:2,mb:3,alignItems:{xs:"stretch",sm:"center"},justifyContent:"space-between"},children:[(0,l.jsxs)(b.Z,{value:m,exclusive:!0,onChange:(e,s)=>{null!==s&&Z(s)},size:"small",sx:{flexShrink:0},children:[(0,l.jsx)(y.Z,{value:"all",children:"All"}),(0,l.jsx)(y.Z,{value:"available",children:"Available"}),(0,l.jsx)(y.Z,{value:"locked",children:"Locked"})]}),(0,l.jsx)(j.Z,{size:"small",placeholder:"Search worlds...",value:h,onChange:e=>u(e.target.value),InputProps:{startAdornment:(0,l.jsx)(g.Z,{position:"start",children:(0,l.jsx)(w.Z,{})})},sx:{flexGrow:{xs:1,sm:0},minWidth:{sm:300}}})]}),(0,l.jsxs)(c.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:[f.length," ",1===f.length?"world":"worlds"]}),0===f.length?(0,l.jsx)(t.Z,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"200px",gap:2},children:(0,l.jsx)(c.Z,{variant:"h6",color:"text.secondary",children:"No worlds found"})}):(0,l.jsx)(p.ZP,{container:!0,spacing:2,children:f.map(e=>(0,l.jsx)(p.ZP,{item:!0,xs:12,sm:6,md:4,children:(0,l.jsx)(P,{world:e,onAssign:n,onRelease:a,onDelete:o,loading:x.includes(e.name)})},e.name))})]})}let H={name:"",seed:""};function N(e){let{open:s,onClose:n,onSubmit:a,loading:d=!1}=e,[c,Z]=(0,r.useState)(H),[v,f]=(0,r.useState)({});(0,r.useEffect)(()=>{s||(Z(H),f({}))},[s]);let p=e=>e?/^[a-z0-9-]+$/.test(e)?null:"Only lowercase letters, numbers, and hyphens are allowed":"World name is required",g=e=>s=>{let n=s.target.value;Z(s=>({...s,[e]:n})),v[e]&&f(s=>({...s,[e]:""}))};return(0,l.jsx)(x.Z,{open:s,onClose:d?void 0:n,maxWidth:"sm",fullWidth:!0,children:(0,l.jsxs)("form",{onSubmit:e=>{e.preventDefault(),f({});let s=p(c.name);if(s){f({name:s});return}a({name:c.name,...c.seed?{seed:c.seed}:{}})},children:[(0,l.jsx)(h.Z,{children:"Create New World"}),(0,l.jsx)(u.Z,{children:(0,l.jsxs)(t.Z,{sx:{display:"flex",flexDirection:"column",gap:2,pt:1},children:[(0,l.jsx)(j.Z,{label:"World Name",value:c.name,onChange:g("name"),error:!!v.name,helperText:v.name||"Only lowercase letters, numbers, and hyphens",fullWidth:!0,autoFocus:!0,disabled:d}),(0,l.jsx)(j.Z,{label:"Seed (optional)",value:c.seed||"",onChange:g("seed"),helperText:"Leave empty for a random seed",fullWidth:!0,disabled:d})]})}),(0,l.jsxs)(m.Z,{sx:{px:3,pb:2},children:[(0,l.jsx)(i.Z,{onClick:n,disabled:d,children:"Cancel"}),(0,l.jsx)(i.Z,{type:"submit",variant:"contained",disabled:d,startIcon:d?(0,l.jsx)(o.Z,{size:16}):null,children:d?"Creating...":"Create"})]})]})})}var T=n(7178),O=n(92666);function R(e){let{open:s,worldName:n,onClose:d,onSubmit:Z,loading:v=!1}=e,[f,p]=(0,r.useState)(""),{data:g,isLoading:y}=(0,O.x$)();(0,r.useEffect)(()=>{s||p("")},[s]);let b=(null==g?void 0:g.servers)||[],w=b.filter(e=>"running"!==e.status),C=b.filter(e=>"running"===e.status);return(0,l.jsx)(x.Z,{open:s,onClose:v?void 0:d,maxWidth:"sm",fullWidth:!0,children:(0,l.jsxs)("form",{onSubmit:e=>{e.preventDefault(),f&&Z(n,f)},children:[(0,l.jsxs)(h.Z,{children:["Assign World: ",n]}),(0,l.jsx)(u.Z,{children:(0,l.jsx)(t.Z,{sx:{display:"flex",flexDirection:"column",gap:2,pt:1},children:y?(0,l.jsx)(t.Z,{sx:{display:"flex",justifyContent:"center",py:4},children:(0,l.jsx)(o.Z,{})}):0===b.length?(0,l.jsx)(c.Z,{color:"text.secondary",children:"No servers available. Create a server first."}):(0,l.jsxs)(l.Fragment,{children:[0===w.length&&C.length>0&&(0,l.jsx)(a.Z,{severity:"warning",children:"All servers are currently running. It is recommended to assign worlds to stopped servers."}),(0,l.jsxs)(j.Z,{label:"Select Server",select:!0,value:f,onChange:e=>p(e.target.value),fullWidth:!0,disabled:v,helperText:"Select a server to assign this world to",children:[w.length>0&&(0,l.jsx)(T.Z,{disabled:!0,children:(0,l.jsx)(c.Z,{variant:"caption",color:"text.secondary",children:"Available Servers"})}),w.map(e=>(0,l.jsx)(T.Z,{value:e.name,children:e.name},e.name)),C.length>0&&(0,l.jsx)(T.Z,{disabled:!0,children:(0,l.jsx)(c.Z,{variant:"caption",color:"text.secondary",children:"Running Servers (not recommended)"})}),C.map(e=>(0,l.jsx)(T.Z,{value:e.name,children:e.name},e.name))]})]})})}),(0,l.jsxs)(m.Z,{sx:{px:3,pb:2},children:[(0,l.jsx)(i.Z,{onClick:d,disabled:v,children:"Cancel"}),(0,l.jsx)(i.Z,{type:"submit",variant:"contained",disabled:v||!f||y,startIcon:v?(0,l.jsx)(o.Z,{size:16}):null,children:v?"Assigning...":"Assign"})]})]})})}function _(){var e,s,n,p;let[g,y]=(0,r.useState)(!1),[b,w]=(0,r.useState)(null),[C,S]=(0,r.useState)(null),[k,W]=(0,r.useState)(""),[z,L]=(0,r.useState)([]),{data:D,isLoading:I,error:A}=(0,O.Sr)(),F=(0,O.hy)(),M=(0,O.nq)(),P=(0,O.g2)(),H=(0,O.Fv)(),T=async e=>{L(s=>[...s,e]);try{await P.mutateAsync({worldName:e})}catch(e){console.error("Failed to release world:",e)}finally{L(s=>s.filter(s=>s!==e))}};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(d.Z,{elevation:0,sx:{mb:4,p:3,background:e=>"linear-gradient(135deg, ".concat((0,Z.Fq)(e.palette.success.main,.1)," 0%, ").concat((0,Z.Fq)(e.palette.primary.main,.1)," 100%)"),borderRadius:2,border:e=>"1px solid ".concat((0,Z.Fq)(e.palette.success.main,.2)),display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,l.jsxs)(t.Z,{sx:{display:"flex",alignItems:"center",gap:2},children:[(0,l.jsx)(t.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",width:56,height:56,borderRadius:2,bgcolor:"success.main",color:"success.contrastText"},children:(0,l.jsx)(f.Z,{sx:{fontSize:32}})}),(0,l.jsxs)(t.Z,{children:[(0,l.jsx)(c.Z,{variant:"h4",component:"h1",fontWeight:"bold",children:"Worlds"}),(0,l.jsx)(c.Z,{variant:"body1",color:"text.secondary",children:"Manage your Minecraft worlds"})]})]}),(0,l.jsx)(i.Z,{variant:"contained",startIcon:(0,l.jsx)(v.Z,{}),onClick:()=>y(!0),size:"large",children:"Create World"})]}),A&&(0,l.jsxs)(a.Z,{severity:"error",sx:{mb:3},children:["Failed to load worlds: ",A.message]}),F.isError&&(0,l.jsxs)(a.Z,{severity:"error",sx:{mb:3},children:["Failed to create world: ",null===(e=F.error)||void 0===e?void 0:e.message]}),M.isError&&(0,l.jsxs)(a.Z,{severity:"error",sx:{mb:3},children:["Failed to assign world: ",null===(s=M.error)||void 0===s?void 0:s.message]}),P.isError&&(0,l.jsxs)(a.Z,{severity:"error",sx:{mb:3},children:["Failed to release world: ",null===(n=P.error)||void 0===n?void 0:n.message]}),H.isError&&(0,l.jsxs)(a.Z,{severity:"error",sx:{mb:3},children:["Failed to delete world: ",null===(p=H.error)||void 0===p?void 0:p.message]}),I?(0,l.jsx)(t.Z,{sx:{display:"flex",justifyContent:"center",py:8},children:(0,l.jsx)(o.Z,{})}):(0,l.jsx)(E,{worlds:(null==D?void 0:D.worlds)||[],onAssign:e=>w(e),onRelease:T,onDelete:e=>{S(e),W("")},onCreate:()=>y(!0),loadingWorlds:z}),(0,l.jsx)(N,{open:g,onClose:()=>{y(!1),F.reset()},onSubmit:e=>{F.mutate(e,{onSuccess:()=>{y(!1)}})},loading:F.isPending}),(0,l.jsx)(R,{open:!!b,worldName:b||"",onClose:()=>w(null),onSubmit:(e,s)=>{L(s=>[...s,e]),M.mutate({worldName:e,serverName:s},{onSuccess:()=>{w(null)},onSettled:()=>{L(s=>s.filter(s=>s!==e))}})},loading:M.isPending}),(0,l.jsxs)(x.Z,{open:!!C,onClose:()=>{S(null),W("")},maxWidth:"sm",fullWidth:!0,children:[(0,l.jsx)(h.Z,{children:"Delete World"}),(0,l.jsxs)(u.Z,{children:[(0,l.jsxs)(c.Z,{sx:{mb:2},children:["This action cannot be undone. Type ",(0,l.jsx)("strong",{children:C})," to confirm deletion."]}),(0,l.jsx)(j.Z,{label:"World name",value:k,onChange:e=>W(e.target.value),fullWidth:!0,autoFocus:!0})]}),(0,l.jsxs)(m.Z,{sx:{px:3,pb:2},children:[(0,l.jsx)(i.Z,{onClick:()=>{S(null),W("")},children:"Cancel"}),(0,l.jsx)(i.Z,{variant:"contained",color:"error",onClick:()=>{C&&k===C&&(L(e=>[...e,C]),H.mutate({name:C,force:!0},{onSuccess:()=>{S(null),W("")},onSettled:()=>{L(e=>e.filter(e=>e!==C))}}))},disabled:k!==C||H.isPending,startIcon:H.isPending?(0,l.jsx)(o.Z,{size:16}):null,children:H.isPending?"Deleting...":"Delete"})]})]})]})}}},function(e){e.O(0,[6812,9760,6758,680,1668,7436,1071,540,4416,2538,5511,880,6909,190,2666,3669,2757,1744],function(){return e(e.s=6199)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- @import url("https://fonts.cdnfonts.com/css/minecraft-4");*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}#__next .visible{visibility:visible}#__next .fixed{position:fixed}#__next .absolute{position:absolute}#__next .relative{position:relative}#__next .block{display:block}#__next .flex{display:flex}#__next .table{display:table}#__next .grid{display:grid}#__next .hidden{display:none}#__next .shrink{flex-shrink:1}#__next .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}#__next .break-all{word-break:break-all}#__next .rounded{border-radius:.25rem}#__next .border{border-width:1px}#__next .uppercase{text-transform:uppercase}#__next .lowercase{text-transform:lowercase}#__next .capitalize{text-transform:capitalize}#__next .italic{font-style:italic}#__next .underline{text-decoration-line:underline}#__next .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#__next .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--bg-base:#16181c;--bg-raised:#1a1d22;--bg-surface:#26282e;--bg-elevated:#313338;--text-primary:#fff;--text-secondary:#9a9a9a;--text-tertiary:#72767d;--border-default:#2e3035;--primary:#1bd96a;--primary-light:#4de38a;--primary-dark:#15a852;--secondary:#7c3aed}body{color:var(--text-primary);background-color:var(--bg-base);min-height:100vh}html{scroll-behavior:smooth;scrollbar-gutter:stable}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}#nprogress{pointer-events:none}#nprogress .bar{background:var(--primary);position:fixed;z-index:9999;top:0;left:0;width:100%;height:3px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px var(--primary),0 0 5px var(--primary);opacity:1;transform:rotate(3deg) translateY(-4px)}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/2fec16f4e3247070-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/d39dd0fe2707b73f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/64b603a0050c6c5e-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/19bbd60ccc95b5d0-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/f882d86c499cfa5a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/c99b890c5ded8d2e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4b1cfd3867993fed-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/77f5a85cac4ea515-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bda87828535b47a7-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b22cdab1bc584ea3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/eeeb642bd71d217b-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/70d2fd2b9078a5a3-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e8773fdd4b7ad26f-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/23822ac40846484b-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/387866ce4a39ca39-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/dbd9849a8a735d72-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/12a3e8885b69eb86-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/3ecd40fce058ee61-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/854d2e4705543874-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b188519314c42064-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/14d38ce06836ffee-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/cf66601165af2130-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b664222af7dcc13c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Ubuntu_1d908f;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/33a864272e2b3e97-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Ubuntu_Fallback_1d908f;src:local("Arial");ascent-override:91.32%;descent-override:18.52%;line-gap-override:2.74%;size-adjust:102.06%}.__className_1d908f{font-family:__Ubuntu_1d908f,__Ubuntu_Fallback_1d908f;font-style:normal}