@minecraft-docker/mcctl-console 2.18.0 → 2.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/.next/standalone/package.json +1 -1
  2. package/.next/standalone/platform/services/mcctl-console/.next/BUILD_ID +1 -1
  3. package/.next/standalone/platform/services/mcctl-console/.next/app-build-manifest.json +35 -35
  4. package/.next/standalone/platform/services/mcctl-console/.next/app-path-routes-manifest.json +1 -1
  5. package/.next/standalone/platform/services/mcctl-console/.next/build-manifest.json +2 -2
  6. package/.next/standalone/platform/services/mcctl-console/.next/prerender-manifest.json +1 -1
  7. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/admin/users/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/audit-logs/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/backups/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/dashboard/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/players/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/routing/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/console/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/page.js +1 -1
  15. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/settings/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/worlds/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/platform/services/mcctl-console/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/platform/services/mcctl-console/.next/server/app/_not-found.html +1 -1
  21. package/.next/standalone/platform/services/mcctl-console/.next/server/app/_not-found.rsc +1 -1
  22. package/.next/standalone/platform/services/mcctl-console/.next/server/app/audit-logs.html +1 -1
  23. package/.next/standalone/platform/services/mcctl-console/.next/server/app/audit-logs.rsc +2 -2
  24. package/.next/standalone/platform/services/mcctl-console/.next/server/app/backups.html +1 -1
  25. package/.next/standalone/platform/services/mcctl-console/.next/server/app/backups.rsc +3 -3
  26. package/.next/standalone/platform/services/mcctl-console/.next/server/app/dashboard.html +1 -1
  27. package/.next/standalone/platform/services/mcctl-console/.next/server/app/dashboard.rsc +2 -2
  28. package/.next/standalone/platform/services/mcctl-console/.next/server/app/index.html +1 -1
  29. package/.next/standalone/platform/services/mcctl-console/.next/server/app/index.rsc +1 -1
  30. package/.next/standalone/platform/services/mcctl-console/.next/server/app/login/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/platform/services/mcctl-console/.next/server/app/login.html +1 -1
  32. package/.next/standalone/platform/services/mcctl-console/.next/server/app/login.rsc +1 -1
  33. package/.next/standalone/platform/services/mcctl-console/.next/server/app/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/platform/services/mcctl-console/.next/server/app/players.html +1 -1
  35. package/.next/standalone/platform/services/mcctl-console/.next/server/app/players.rsc +2 -2
  36. package/.next/standalone/platform/services/mcctl-console/.next/server/app/routing.html +1 -1
  37. package/.next/standalone/platform/services/mcctl-console/.next/server/app/routing.rsc +2 -2
  38. package/.next/standalone/platform/services/mcctl-console/.next/server/app/servers.html +1 -1
  39. package/.next/standalone/platform/services/mcctl-console/.next/server/app/servers.rsc +2 -2
  40. package/.next/standalone/platform/services/mcctl-console/.next/server/app/settings.html +1 -1
  41. package/.next/standalone/platform/services/mcctl-console/.next/server/app/settings.rsc +2 -2
  42. package/.next/standalone/platform/services/mcctl-console/.next/server/app/signup/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/platform/services/mcctl-console/.next/server/app/signup.html +1 -1
  44. package/.next/standalone/platform/services/mcctl-console/.next/server/app/signup.rsc +1 -1
  45. package/.next/standalone/platform/services/mcctl-console/.next/server/app/worlds.html +1 -1
  46. package/.next/standalone/platform/services/mcctl-console/.next/server/app/worlds.rsc +2 -2
  47. package/.next/standalone/platform/services/mcctl-console/.next/server/app-paths-manifest.json +22 -22
  48. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/354.js +1 -1
  49. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/5841.js +1 -1
  50. package/.next/standalone/platform/services/mcctl-console/.next/server/middleware-manifest.json +5 -5
  51. package/.next/standalone/platform/services/mcctl-console/.next/server/pages/404.html +1 -1
  52. package/.next/standalone/platform/services/mcctl-console/.next/server/pages/500.html +1 -1
  53. package/.next/standalone/platform/services/mcctl-console/.next/server/server-reference-manifest.json +1 -1
  54. package/.next/{static/chunks/6831-3fe5e1273ac38e5f.js → standalone/platform/services/mcctl-console/.next/static/chunks/6831-81d20c7bc7bd1e76.js} +1 -1
  55. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/layout-06fb39812ec76869.js +1 -0
  56. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/servers/[name]/{page-09665a800696c8a9.js → page-019db18bf2925a68.js} +1 -1
  57. package/.next/standalone/platform/services/mcctl-console/package.json +1 -1
  58. package/.next/{standalone/platform/services/mcctl-console/.next/static/chunks/6831-3fe5e1273ac38e5f.js → static/chunks/6831-81d20c7bc7bd1e76.js} +1 -1
  59. package/.next/static/chunks/app/(main)/layout-06fb39812ec76869.js +1 -0
  60. package/.next/static/chunks/app/(main)/servers/[name]/{page-09665a800696c8a9.js → page-019db18bf2925a68.js} +1 -1
  61. package/package.json +2 -2
  62. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/layout-25723393b563b0b5.js +0 -1
  63. package/.next/static/chunks/app/(main)/layout-25723393b563b0b5.js +0 -1
  64. /package/.next/standalone/platform/services/mcctl-console/.next/static/{SmXwR-3YjO6r8-VonFLXc → MN_3u7o3GfgwT0ep21yPN}/_buildManifest.js +0 -0
  65. /package/.next/standalone/platform/services/mcctl-console/.next/static/{SmXwR-3YjO6r8-VonFLXc → MN_3u7o3GfgwT0ep21yPN}/_ssgManifest.js +0 -0
  66. /package/.next/static/{SmXwR-3YjO6r8-VonFLXc → MN_3u7o3GfgwT0ep21yPN}/_buildManifest.js +0 -0
  67. /package/.next/static/{SmXwR-3YjO6r8-VonFLXc → MN_3u7o3GfgwT0ep21yPN}/_ssgManifest.js +0 -0
@@ -2,7 +2,7 @@
2
2
  3:I[36405,["6812","static/chunks/6812-698a590a47ad1a32.js","9760","static/chunks/9760-30e83c11974cef44.js","5004","static/chunks/5004-5ae4399bb0c5063c.js","7296","static/chunks/7296-70ec1bdc0b487394.js","7436","static/chunks/7436-78809c41e7689be2.js","1071","static/chunks/1071-97b7f8379e993fe3.js","540","static/chunks/540-41699a718be7f9fb.js","9986","static/chunks/9986-eaaa18e89bd2b030.js","2538","static/chunks/2538-202c61c3f13684f5.js","5511","static/chunks/5511-fb4905e23b2a0e3d.js","3938","static/chunks/3938-7cab16ec2b4786dc.js","4920","static/chunks/4920-fa70dfac23995375.js","3217","static/chunks/3217-9df8e8d8e07ad4f0.js","2666","static/chunks/2666-13a1106f264477e7.js","7701","static/chunks/app/(main)/worlds/page-55df5fd15e110449.js"],"default",1]
3
3
  4:I[14224,[],""]
4
4
  5:I[2863,[],""]
5
- 6:I[6453,["6812","static/chunks/6812-698a590a47ad1a32.js","9760","static/chunks/9760-30e83c11974cef44.js","5004","static/chunks/5004-5ae4399bb0c5063c.js","7296","static/chunks/7296-70ec1bdc0b487394.js","7436","static/chunks/7436-78809c41e7689be2.js","1071","static/chunks/1071-97b7f8379e993fe3.js","2542","static/chunks/2542-8ae47ca53ab8b1cb.js","55","static/chunks/55-5cd4930da22197a0.js","4219","static/chunks/4219-efc805d1901adfb1.js","8347","static/chunks/8347-6a204768b348b2b8.js","4848","static/chunks/4848-443d44225e2a1136.js","1400","static/chunks/1400-fd6d16ed1fc47d10.js","5560","static/chunks/5560-5451f43d5921310c.js","4095","static/chunks/app/(main)/layout-25723393b563b0b5.js"],"default",1]
5
+ 6:I[6453,["6812","static/chunks/6812-698a590a47ad1a32.js","9760","static/chunks/9760-30e83c11974cef44.js","5004","static/chunks/5004-5ae4399bb0c5063c.js","7296","static/chunks/7296-70ec1bdc0b487394.js","7436","static/chunks/7436-78809c41e7689be2.js","1071","static/chunks/1071-97b7f8379e993fe3.js","2542","static/chunks/2542-8ae47ca53ab8b1cb.js","55","static/chunks/55-5cd4930da22197a0.js","4219","static/chunks/4219-efc805d1901adfb1.js","8347","static/chunks/8347-6a204768b348b2b8.js","4848","static/chunks/4848-443d44225e2a1136.js","1400","static/chunks/1400-fd6d16ed1fc47d10.js","5560","static/chunks/5560-5451f43d5921310c.js","4095","static/chunks/app/(main)/layout-06fb39812ec76869.js"],"default",1]
6
6
  8:I[89083,["6812","static/chunks/6812-698a590a47ad1a32.js","540","static/chunks/540-41699a718be7f9fb.js","6942","static/chunks/6942-9f909d2263194390.js","3185","static/chunks/app/layout-35cb1ada75bbaa71.js"],"default"]
7
7
  9:I[48283,["6812","static/chunks/6812-698a590a47ad1a32.js","540","static/chunks/540-41699a718be7f9fb.js","6942","static/chunks/6942-9f909d2263194390.js","3185","static/chunks/app/layout-35cb1ada75bbaa71.js"],"ThemeProvider"]
8
8
  a:I[22237,["6812","static/chunks/6812-698a590a47ad1a32.js","540","static/chunks/540-41699a718be7f9fb.js","6942","static/chunks/6942-9f909d2263194390.js","3185","static/chunks/app/layout-35cb1ada75bbaa71.js"],"QueryProvider"]
@@ -13,6 +13,6 @@ d:{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Appl
13
13
  e:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"}
14
14
  f:{"display":"inline-block"}
15
15
  10:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0}
16
- 0:["SmXwR-3YjO6r8-VonFLXc",[[["",{"children":["(main)",{"children":["worlds",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(main)",{"children":["worlds",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(main)","children","worlds","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(main)","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/6a2c381c71b398da.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","div",null,{"id":"__next","children":["$","$L8",null,{"children":["$","$L9",null,{"children":["$","$La",null,{"children":["$","$b",null,{"fallback":null,"children":["$","$Lc",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$d","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$e","children":"404"}],["$","div",null,{"style":"$f","children":["$","h2",null,{"style":"$10","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]}]}]}]}]}]],null],null],["$L11",null]]]]
16
+ 0:["MN_3u7o3GfgwT0ep21yPN",[[["",{"children":["(main)",{"children":["worlds",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(main)",{"children":["worlds",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(main)","children","worlds","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(main)","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/6a2c381c71b398da.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","div",null,{"id":"__next","children":["$","$L8",null,{"children":["$","$L9",null,{"children":["$","$La",null,{"children":["$","$b",null,{"fallback":null,"children":["$","$Lc",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$d","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$e","children":"404"}],["$","div",null,{"style":"$f","children":["$","h2",null,{"style":"$10","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]}]}]}]}]}]],null],null],["$L11",null]]]]
17
17
  11:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Minecraft Server Manager"}],["$","meta","3",{"name":"description","content":"Web-based management console for Minecraft server infrastructure"}],["$","link","4",{"rel":"icon","href":"/icon.svg?0f68875a168deab8","type":"image/svg+xml","sizes":"any"}]]
18
18
  1:null
@@ -1,66 +1,66 @@
1
1
  {
2
2
  "/_not-found/page": "app/_not-found/page.js",
3
3
  "/icon.svg/route": "app/icon.svg/route.js",
4
- "/signup/page": "app/signup/page.js",
5
4
  "/login/page": "app/login/page.js",
6
5
  "/page": "app/page.js",
6
+ "/signup/page": "app/signup/page.js",
7
+ "/api/audit-logs/[id]/route": "app/api/audit-logs/[id]/route.js",
7
8
  "/api/audit-logs/stats/route": "app/api/audit-logs/stats/route.js",
8
- "/api/audit-logs/route": "app/api/audit-logs/route.js",
9
- "/api/auth/[...all]/route": "app/api/auth/[...all]/route.js",
10
9
  "/api/audit-logs/export/route": "app/api/audit-logs/export/route.js",
10
+ "/api/auth/[...all]/route": "app/api/auth/[...all]/route.js",
11
11
  "/api/audit-logs/stream/route": "app/api/audit-logs/stream/route.js",
12
+ "/api/audit-logs/route": "app/api/audit-logs/route.js",
12
13
  "/api/backup/history/route": "app/api/backup/history/route.js",
13
14
  "/api/backup/restore/route": "app/api/backup/restore/route.js",
14
15
  "/api/backup/route": "app/api/backup/route.js",
15
- "/api/backup/schedules/[id]/toggle/route": "app/api/backup/schedules/[id]/toggle/route.js",
16
16
  "/api/backup/schedules/[id]/route": "app/api/backup/schedules/[id]/route.js",
17
- "/api/backup/schedules/route": "app/api/backup/schedules/route.js",
17
+ "/api/backup/schedules/[id]/toggle/route": "app/api/backup/schedules/[id]/toggle/route.js",
18
18
  "/api/config-snapshot-schedules/[id]/toggle/route": "app/api/config-snapshot-schedules/[id]/toggle/route.js",
19
19
  "/api/config-snapshot-schedules/[id]/route": "app/api/config-snapshot-schedules/[id]/route.js",
20
- "/api/config-snapshots/[id1]/diff/[id2]/route": "app/api/config-snapshots/[id1]/diff/[id2]/route.js",
21
20
  "/api/config-snapshot-schedules/route": "app/api/config-snapshot-schedules/route.js",
22
21
  "/api/mods/projects/route": "app/api/mods/projects/route.js",
22
+ "/api/config-snapshots/[id1]/diff/[id2]/route": "app/api/config-snapshots/[id1]/diff/[id2]/route.js",
23
23
  "/api/mods/search/route": "app/api/mods/search/route.js",
24
- "/api/audit-logs/[id]/route": "app/api/audit-logs/[id]/route.js",
25
24
  "/api/players/kick/route": "app/api/players/kick/route.js",
26
25
  "/api/players/op/[player]/route": "app/api/players/op/[player]/route.js",
26
+ "/api/backup/schedules/route": "app/api/backup/schedules/route.js",
27
27
  "/api/players/route": "app/api/players/route.js",
28
- "/api/players/op/route": "app/api/players/op/route.js",
28
+ "/api/players/ban/route": "app/api/players/ban/route.js",
29
29
  "/api/players/whitelist/route": "app/api/players/whitelist/route.js",
30
- "/api/players/whitelist/status/route": "app/api/players/whitelist/status/route.js",
31
30
  "/api/playit/start/route": "app/api/playit/start/route.js",
32
- "/api/playit/stop/route": "app/api/playit/stop/route.js",
33
- "/api/router/status/route": "app/api/router/status/route.js",
31
+ "/api/players/whitelist/status/route": "app/api/players/whitelist/status/route.js",
34
32
  "/api/playit/status/route": "app/api/playit/status/route.js",
33
+ "/api/router/status/route": "app/api/router/status/route.js",
34
+ "/api/playit/stop/route": "app/api/playit/stop/route.js",
35
35
  "/api/servers/[name]/config-snapshots/[id]/restore/route": "app/api/servers/[name]/config-snapshots/[id]/restore/route.js",
36
+ "/api/servers/[name]/[action]/route": "app/api/servers/[name]/[action]/route.js",
37
+ "/api/servers/[name]/exec/route": "app/api/servers/[name]/exec/route.js",
36
38
  "/api/servers/[name]/config/route": "app/api/servers/[name]/config/route.js",
37
39
  "/api/servers/[name]/config-snapshots/route": "app/api/servers/[name]/config-snapshots/route.js",
38
- "/api/servers/[name]/[action]/route": "app/api/servers/[name]/[action]/route.js",
39
40
  "/api/servers/[name]/files/mkdir/route": "app/api/servers/[name]/files/mkdir/route.js",
40
- "/api/servers/[name]/exec/route": "app/api/servers/[name]/exec/route.js",
41
41
  "/api/servers/[name]/files/download/route": "app/api/servers/[name]/files/download/route.js",
42
42
  "/api/servers/[name]/files/read/route": "app/api/servers/[name]/files/read/route.js",
43
- "/api/servers/[name]/files/rename/route": "app/api/servers/[name]/files/rename/route.js",
44
- "/api/servers/[name]/files/write/route": "app/api/servers/[name]/files/write/route.js",
45
43
  "/api/servers/[name]/files/route": "app/api/servers/[name]/files/route.js",
46
44
  "/api/servers/[name]/files/upload/route": "app/api/servers/[name]/files/upload/route.js",
45
+ "/api/servers/[name]/files/write/route": "app/api/servers/[name]/files/write/route.js",
46
+ "/api/players/op/route": "app/api/players/op/route.js",
47
47
  "/api/servers/[name]/mods/[slug]/route": "app/api/servers/[name]/mods/[slug]/route.js",
48
- "/api/servers/[name]/mods/route": "app/api/servers/[name]/mods/route.js",
49
48
  "/api/servers/[name]/hostnames/route": "app/api/servers/[name]/hostnames/route.js",
50
- "/api/servers/[name]/world/reset/route": "app/api/servers/[name]/world/reset/route.js",
51
49
  "/api/servers/[name]/route": "app/api/servers/[name]/route.js",
50
+ "/api/servers/[name]/world/reset/route": "app/api/servers/[name]/world/reset/route.js",
52
51
  "/api/servers/route": "app/api/servers/route.js",
52
+ "/api/servers/[name]/files/rename/route": "app/api/servers/[name]/files/rename/route.js",
53
53
  "/api/user-servers/[id]/route": "app/api/user-servers/[id]/route.js",
54
- "/api/sse/[...path]/route": "app/api/sse/[...path]/route.js",
55
54
  "/api/users/route": "app/api/users/route.js",
55
+ "/api/sse/[...path]/route": "app/api/sse/[...path]/route.js",
56
+ "/api/user-servers/route": "app/api/user-servers/route.js",
56
57
  "/api/worlds/[name]/[action]/route": "app/api/worlds/[name]/[action]/route.js",
57
- "/api/players/ban/route": "app/api/players/ban/route.js",
58
- "/api/worlds/[name]/route": "app/api/worlds/[name]/route.js",
58
+ "/api/servers/[name]/mods/route": "app/api/servers/[name]/mods/route.js",
59
59
  "/api/worlds/route": "app/api/worlds/route.js",
60
- "/api/user-servers/route": "app/api/user-servers/route.js",
60
+ "/api/worlds/[name]/route": "app/api/worlds/[name]/route.js",
61
61
  "/(main)/audit-logs/page": "app/(main)/audit-logs/page.js",
62
- "/(main)/backups/page": "app/(main)/backups/page.js",
63
62
  "/(main)/dashboard/page": "app/(main)/dashboard/page.js",
63
+ "/(main)/backups/page": "app/(main)/backups/page.js",
64
64
  "/(main)/players/page": "app/(main)/players/page.js",
65
65
  "/(main)/routing/page": "app/(main)/routing/page.js",
66
66
  "/(main)/servers/[name]/console/page": "app/(main)/servers/[name]/console/page.js",
@@ -1 +1 @@
1
- exports.id=354,exports.ids=[354],exports.modules={78729:(e,r,t)=>{Promise.resolve().then(t.bind(t,47600))},47600:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>_});var a=t(58120),s=t(36372),i=t(89352),n=t(56539),l=t(40611),o=t(22053),c=t(39497),d=t(54365),x=t(2365),h=t(33549),m=t(58664),p=t(73091),u=t(19609),f=t(63654),g=t(63856),b=t(6695),j=t(33615),y=t(6545),v=t(43908),Z=t(28669),w=t(32130),C=t(88517),k=t(765),S=t(37372),P=t(34081),z=t(60417);function I(e){return(0,a.jsxs)(z.Z,{...e,viewBox:"0 0 32 32",children:[a.jsx("rect",{width:"32",height:"32",fill:"#5DA840"}),a.jsx("rect",{x:"4",y:"8",width:"8",height:"8",fill:"#000"}),a.jsx("rect",{x:"20",y:"8",width:"8",height:"8",fill:"#000"}),a.jsx("rect",{x:"12",y:"16",width:"8",height:"4",fill:"#000"}),a.jsx("rect",{x:"8",y:"20",width:"16",height:"8",fill:"#000"}),a.jsx("rect",{x:"8",y:"28",width:"4",height:"4",fill:"#000"}),a.jsx("rect",{x:"20",y:"28",width:"4",height:"4",fill:"#000"}),a.jsx("rect",{x:"0",y:"0",width:"4",height:"4",fill:"#4A9030",opacity:"0.5"}),a.jsx("rect",{x:"8",y:"4",width:"4",height:"4",fill:"#4A9030",opacity:"0.5"}),a.jsx("rect",{x:"24",y:"0",width:"4",height:"4",fill:"#4A9030",opacity:"0.5"}),a.jsx("rect",{x:"28",y:"8",width:"4",height:"4",fill:"#4A9030",opacity:"0.5"}),a.jsx("rect",{x:"0",y:"24",width:"4",height:"4",fill:"#4A9030",opacity:"0.5"})]})}var W=t(36597),A=t(68763);let D=[{label:"Dashboard",href:"/dashboard",icon:a.jsx(y.Z,{})},{label:"Servers",href:"/servers",icon:a.jsx(v.Z,{})},{label:"Worlds",href:"/worlds",icon:a.jsx(k.Z,{})},{label:"Players",href:"/players",icon:a.jsx(Z.Z,{})},{label:"Audit",href:"/audit-logs",icon:a.jsx(C.Z,{})},{label:"Backups",href:"/backups",icon:a.jsx(S.Z,{})},{label:"Routing",href:"/routing",icon:a.jsx(w.Z,{})}];function T({mobileOpen:e,onMenuToggle:r}){let t=(0,n.usePathname)(),{data:s}=(0,A.kP)(),y=e=>"/dashboard"===e?"/dashboard"===t||"/"===t:t.startsWith(e);return(0,a.jsxs)(a.Fragment,{children:[a.jsx(o.Z,{position:"fixed",elevation:0,sx:{backgroundColor:"background.paper",borderBottom:"1px solid",borderColor:"divider",zIndex:e=>e.zIndex.drawer+1},children:(0,a.jsxs)(c.Z,{sx:{maxWidth:"1400px",width:"100%",mx:"auto",px:{xs:2,sm:3}},children:[a.jsx(d.Z,{color:"inherit","aria-label":"open menu",edge:"start",onClick:r,sx:{mr:2,display:{md:"none"}},children:a.jsx(b.Z,{})}),(0,a.jsxs)(l.default,{href:"/",style:{textDecoration:"none",display:"flex",alignItems:"center"},children:[a.jsx(I,{sx:{fontSize:28,color:"primary.main",mr:1}}),a.jsx(x.Z,{variant:"h6",component:"span",sx:{fontFamily:'"Minecraft", sans-serif',fontWeight:400,color:"common.white",letterSpacing:"0.05em",fontSize:"1.1rem"},children:"Minecraft Console"})]}),a.jsx(i.Z,{component:"nav",sx:{display:{xs:"none",md:"flex"},alignItems:"center",gap:1,ml:4,flex:1},children:D.map(e=>{let r=y(e.href);return a.jsx(l.default,{href:e.href,style:{textDecoration:"none"},onClick:()=>!r&&(0,W.Av)(),children:(0,a.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",gap:1,px:2,py:1,borderRadius:2,color:r?"primary.main":"text.secondary",backgroundColor:r?"action.selected":"transparent",transition:"all 0.2s ease","&:hover":{backgroundColor:"action.hover",color:r?"primary.main":"text.primary"}},children:[a.jsx(i.Z,{component:"span",sx:{display:"flex",alignItems:"center","& svg":{fontSize:20}},children:e.icon}),a.jsx(x.Z,{variant:"body2",sx:{fontWeight:r?600:400},children:e.label})]})},e.href)})}),a.jsx(i.Z,{sx:{display:"flex",alignItems:"center",gap:2},children:a.jsx(P.Ie,{})})]})}),a.jsx(h.ZP,{variant:"temporary",anchor:"left",open:e,onClose:r,ModalProps:{keepMounted:!0},sx:{display:{xs:"block",md:"none"},"& .MuiDrawer-paper":{boxSizing:"border-box",width:280,backgroundColor:"background.paper"}},children:(0,a.jsxs)(i.Z,{sx:{display:"flex",flexDirection:"column",height:"100%"},children:[(0,a.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:2,py:2,minHeight:64,borderBottom:"1px solid",borderColor:"divider"},children:[(0,a.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center"},children:[a.jsx(I,{sx:{fontSize:24,color:"primary.main",mr:1}}),a.jsx(x.Z,{variant:"h6",component:"span",sx:{fontFamily:'"Minecraft", sans-serif',fontWeight:400,color:"primary.main",letterSpacing:"0.05em",fontSize:"1rem"},children:"Minecraft Console"})]}),a.jsx(d.Z,{onClick:r,"aria-label":"close menu",children:a.jsx(j.Z,{})})]}),a.jsx(m.Z,{sx:{flex:1,px:1,py:2},children:D.map(e=>{let t=y(e.href);return a.jsx(p.ZP,{disablePadding:!0,sx:{mb:.5},children:(0,a.jsxs)(u.Z,{component:l.default,href:e.href,onClick:()=>{r(),t||(0,W.Av)()},"aria-current":t?"page":void 0,sx:{borderRadius:2,backgroundColor:t?"action.selected":"transparent","&:hover":{backgroundColor:"action.hover"}},children:[a.jsx(f.Z,{sx:{color:t?"primary.main":"text.secondary",minWidth:40},children:e.icon}),a.jsx(g.Z,{primary:e.label,primaryTypographyProps:{fontWeight:t?600:400,color:t?"primary.main":"text.primary"}})]})},e.href)})})]})})]})}var M=t(23972),q=t(42578),R=t(80336),U=t(3984),E=t(60028);function H(e){return a.jsx(z.Z,{...e,viewBox:"0 0 24 24",children:a.jsx("path",{d:"M13.983 11.078h2.119a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.119a.185.185 0 00-.185.185v1.888c0 .102.083.185.185.185m-2.954-5.43h2.118a.186.186 0 00.186-.186V3.574a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.186m0 2.716h2.118a.187.187 0 00.186-.186V6.29a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.887c0 .102.082.185.185.186m-2.93 0h2.12a.186.186 0 00.184-.186V6.29a.185.185 0 00-.185-.185H8.1a.185.185 0 00-.185.185v1.887c0 .102.083.185.185.186m-2.964 0h2.119a.186.186 0 00.185-.186V6.29a.185.185 0 00-.185-.185H5.136a.186.186 0 00-.186.185v1.887c0 .102.084.185.186.186m5.893 2.715h2.118a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.185m-2.93 0h2.12a.185.185 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.083.185.185.185m-2.964 0h2.119a.185.185 0 00.185-.185V9.006a.185.185 0 00-.184-.186h-2.12a.186.186 0 00-.186.186v1.887c0 .102.084.185.186.185m-2.92 0h2.12a.185.185 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.082.185.185.185M23.763 9.89c-.065-.051-.672-.51-1.954-.51-.338.001-.676.03-1.01.087-.248-1.7-1.653-2.53-1.716-2.566l-.344-.199-.226.327c-.284.438-.49.922-.612 1.43-.23.97-.09 1.882.403 2.661-.595.332-1.55.413-1.744.42H.751a.751.751 0 00-.75.748 11.376 11.376 0 00.692 4.062c.545 1.428 1.355 2.48 2.41 3.124 1.18.723 3.1 1.137 5.275 1.137.983.003 1.963-.086 2.93-.266a12.248 12.248 0 003.823-1.389c.98-.567 1.86-1.288 2.61-2.136 1.252-1.418 1.998-2.997 2.553-4.4h.221c1.372 0 2.215-.549 2.68-1.009.309-.293.55-.65.707-1.046l.098-.288z"})})}let B=[{title:"Resources",links:[{label:"Getting Started",href:"https://minecraft-server-manager.readthedocs.io/en/latest/getting-started/",external:!0},{label:"Configuration",href:"https://minecraft-server-manager.readthedocs.io/en/latest/configuration/",external:!0},{label:"Troubleshooting",href:"https://minecraft-server-manager.readthedocs.io/en/latest/troubleshooting/",external:!0}]},{title:"Documentation",links:[{label:"CLI Commands",href:"https://minecraft-server-manager.readthedocs.io/en/latest/cli/",external:!0},{label:"API Reference",href:"https://minecraft-server-manager.readthedocs.io/en/latest/console/",external:!0},{label:"itzg Reference",href:"https://minecraft-server-manager.readthedocs.io/en/latest/itzg-reference/",external:!0}]},{title:"Community",links:[{label:"GitHub",href:"https://github.com/smallmiro/minecraft-server-manager",external:!0},{label:"Issues",href:"https://github.com/smallmiro/minecraft-server-manager/issues",external:!0}]},{title:"About",links:[{label:"License",href:"https://github.com/smallmiro/minecraft-server-manager/blob/main/LICENSE",external:!0},{label:"Docker Hub",href:"https://hub.docker.com/r/itzg/minecraft-server",external:!0}]}];function V(){let e=new Date().getFullYear();return a.jsx(i.Z,{component:"footer",sx:{backgroundColor:"background.paper",borderTop:"1px solid",borderColor:"divider",mt:"auto"},children:(0,a.jsxs)(M.Z,{maxWidth:"lg",sx:{py:6},children:[a.jsx(i.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"repeat(2, 1fr)",sm:"repeat(4, 1fr)"},gap:4,mb:4},children:B.map(e=>(0,a.jsxs)(i.Z,{children:[a.jsx(x.Z,{variant:"subtitle2",sx:{fontWeight:600,color:"text.primary",mb:2},children:e.title}),a.jsx(i.Z,{component:"ul",sx:{listStyle:"none",p:0,m:0},children:e.links.map(e=>a.jsx(i.Z,{component:"li",sx:{mb:1},children:a.jsx(q.Z,{href:e.href,target:e.external?"_blank":void 0,rel:e.external?"noopener noreferrer":void 0,underline:"hover",sx:{color:"text.secondary",fontSize:"0.875rem",transition:"color 0.2s ease","&:hover":{color:"primary.main"}},children:e.label})},e.label))})]},e.title))}),a.jsx(R.Z,{sx:{mb:3}}),(0,a.jsxs)(i.Z,{sx:{display:"flex",flexDirection:{xs:"column",sm:"row"},justifyContent:"space-between",alignItems:{xs:"flex-start",sm:"center"},gap:2},children:[(0,a.jsxs)(x.Z,{variant:"body2",sx:{color:"text.tertiary"},children:[e," \xa9"," ",a.jsx(q.Z,{href:"https://github.com/smallmiro/minecraft-server-manager",target:"_blank",rel:"noopener noreferrer",underline:"hover",sx:{color:"primary.main"},children:"Minecraft Server Management Console"})]}),(0,a.jsxs)(i.Z,{sx:{display:"flex",gap:2},children:[a.jsx(q.Z,{href:"https://github.com/smallmiro/minecraft-server-manager",target:"_blank",rel:"noopener noreferrer","aria-label":"GitHub",sx:{color:"text.secondary",transition:"color 0.2s ease","&:hover":{color:"text.primary"}},children:a.jsx(U.Z,{fontSize:"small"})}),a.jsx(q.Z,{href:"https://minecraft-server-manager.readthedocs.io/",target:"_blank",rel:"noopener noreferrer","aria-label":"Documentation",sx:{color:"text.secondary",transition:"color 0.2s ease","&:hover":{color:"text.primary"}},children:a.jsx(E.Z,{fontSize:"small"})}),a.jsx(q.Z,{href:"https://hub.docker.com/r/itzg/minecraft-server",target:"_blank",rel:"noopener noreferrer","aria-label":"Docker Hub",sx:{color:"text.secondary",transition:"color 0.2s ease","&:hover":{color:"text.primary"}},children:a.jsx(H,{fontSize:"small"})})]})]})]})})}function _({children:e}){let[r,t]=(0,s.useState)(!1);return(0,a.jsxs)(i.Z,{sx:{display:"flex",flexDirection:"column",minHeight:"100vh",backgroundColor:"background.default"},children:[a.jsx(T,{mobileOpen:r,onMenuToggle:()=>{t(!r)}}),a.jsx(i.Z,{component:"main",sx:{flexGrow:1,display:"flex",flexDirection:"column",pt:{xs:"88px",sm:"96px"},pb:{xs:3,sm:4},px:{xs:2,sm:3,md:4},maxWidth:"1400px",width:"100%",mx:"auto"},children:e}),a.jsx(V,{})]})}},34081:(e,r,t)=>{"use strict";t.d(r,{U0:()=>p,WS:()=>u,Ie:()=>I});var a=t(58120),s=t(36372),i=t(89352),n=t(66757),l=t(6275),o=t(92559),c=t(54365),d=t(10257),x=t(3643),h=t(8721),m=t(68763);function p({onSuccess:e}){let[r,t]=(0,s.useState)(""),[p,u]=(0,s.useState)(""),[f,g]=(0,s.useState)(!1),[b,j]=(0,s.useState)({}),[y,v]=(0,s.useState)(null),[Z,w]=(0,s.useState)(!1),C=()=>{let e={};return r?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(r)||(e.email="Invalid email address"):e.email="Email is required",p||(e.password="Password is required"),j(e),0===Object.keys(e).length},k=async t=>{if(t.preventDefault(),v(null),C()){w(!0);try{let t=await m.cg.email({email:r,password:p});if(t.error){v(t.error.message||"Invalid credentials"),w(!1);return}e&&e()}catch(e){v("An unexpected error occurred. Please try again."),w(!1)}}};return(0,a.jsxs)(i.Z,{component:"form",onSubmit:k,sx:{display:"flex",flexDirection:"column",gap:2},children:[y&&a.jsx(n.Z,{severity:"error",onClose:()=>v(null),children:y}),a.jsx(l.Z,{label:"Email",type:"email",value:r,onChange:e=>t(e.target.value),error:!!b.email,helperText:b.email,disabled:Z,fullWidth:!0,required:!0}),a.jsx(l.Z,{label:"Password",type:f?"text":"password",value:p,onChange:e=>u(e.target.value),error:!!b.password,helperText:b.password,disabled:Z,fullWidth:!0,required:!0,InputProps:{endAdornment:a.jsx(o.Z,{position:"end",children:a.jsx(c.Z,{"aria-label":"toggle password visibility",onClick:()=>{g(!f)},edge:"end",children:f?a.jsx(x.Z,{}):a.jsx(h.Z,{})})})}}),a.jsx(d.Z,{type:"submit",variant:"contained",color:"primary",disabled:Z,fullWidth:!0,size:"large",children:Z?"Signing in...":"Sign In"})]})}function u({onSuccess:e}){let[r,t]=(0,s.useState)(""),[p,u]=(0,s.useState)(""),[f,g]=(0,s.useState)(""),[b,j]=(0,s.useState)(""),[y,v]=(0,s.useState)(!1),[Z,w]=(0,s.useState)(!1),[C,k]=(0,s.useState)({}),[S,P]=(0,s.useState)(null),[z,I]=(0,s.useState)(!1),W=()=>{let e={};return r||(e.name="Name is required"),p?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(p)||(e.email="Invalid email address"):e.email="Email is required",f?f.length<8&&(e.password="Password must be at least 8 characters"):e.password="Password is required",b?f!==b&&(e.confirmPassword="Passwords do not match"):e.confirmPassword="Please confirm your password",k(e),0===Object.keys(e).length},A=async t=>{if(t.preventDefault(),P(null),W()){I(!0);try{let t=await m.y1.email({email:p,password:f,name:r});if(t.error){P(t.error.message||"Registration failed"),I(!1);return}e&&e()}catch(e){P("An unexpected error occurred. Please try again."),I(!1)}}};return(0,a.jsxs)(i.Z,{component:"form",onSubmit:A,sx:{display:"flex",flexDirection:"column",gap:2},children:[S&&a.jsx(n.Z,{severity:"error",onClose:()=>P(null),children:S}),a.jsx(l.Z,{label:"Name",type:"text",value:r,onChange:e=>t(e.target.value),error:!!C.name,helperText:C.name,disabled:z,fullWidth:!0,required:!0}),a.jsx(l.Z,{label:"Email",type:"email",value:p,onChange:e=>u(e.target.value),error:!!C.email,helperText:C.email,disabled:z,fullWidth:!0,required:!0}),a.jsx(l.Z,{label:"Password",type:y?"text":"password",value:f,onChange:e=>g(e.target.value),error:!!C.password,helperText:C.password,disabled:z,fullWidth:!0,required:!0,InputProps:{endAdornment:a.jsx(o.Z,{position:"end",children:a.jsx(c.Z,{"aria-label":"toggle password visibility",onClick:()=>{v(!y)},edge:"end",children:y?a.jsx(x.Z,{}):a.jsx(h.Z,{})})})}}),a.jsx(l.Z,{label:"Confirm Password",type:Z?"text":"password",value:b,onChange:e=>j(e.target.value),error:!!C.confirmPassword,helperText:C.confirmPassword,disabled:z,fullWidth:!0,required:!0,InputProps:{endAdornment:a.jsx(o.Z,{position:"end",children:a.jsx(c.Z,{"aria-label":"toggle password visibility",onClick:()=>{w(!Z)},edge:"end",children:Z?a.jsx(x.Z,{}):a.jsx(h.Z,{})})})}}),a.jsx(d.Z,{type:"submit",variant:"contained",color:"primary",disabled:z,fullWidth:!0,size:"large",children:z?"Creating account...":"Sign Up"})]})}var f=t(56539),g=t(79943),b=t(61573),j=t(81030),y=t(2365),v=t(48787),Z=t(80336),w=t(99634),C=t(63654),k=t(63856),S=t(62178),P=t(50210),z=t(49185);function I(){let e=(0,f.useRouter)(),{data:r,isPending:t}=(0,m.kP)(),[n,l]=(0,s.useState)(null),o=()=>{l(null)},x=async()=>{o(),await (0,m.w7)(),e.push("/login")};if(t)return a.jsx(i.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:a.jsx(g.Z,{size:24})});if(!r?.user)return a.jsx(d.Z,{variant:"contained",color:"primary",onClick:()=>{e.push("/login")},children:"Sign In"});let{user:h}=r,p=((e,r)=>{if(e){let r=e.split(" ");return r.length>=2?`${r[0][0]}${r[1][0]}`.toUpperCase():e.substring(0,2).toUpperCase()}return r?r[0].toUpperCase():"?"})(h.name,h.email);return(0,a.jsxs)(a.Fragment,{children:[a.jsx(c.Z,{onClick:e=>{l(e.currentTarget)},"aria-label":"user menu",children:a.jsx(b.Z,{sx:{bgcolor:"primary.main"},children:p})}),(0,a.jsxs)(j.Z,{anchorEl:n,open:!!n,onClose:o,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},sx:{mt:1},children:[(0,a.jsxs)(i.Z,{sx:{px:2,py:1.5,minWidth:200},children:[a.jsx(y.Z,{variant:"subtitle1",fontWeight:"600",children:h.name||"User"}),a.jsx(y.Z,{variant:"body2",color:"text.secondary",children:h.email}),"admin"===h.role&&a.jsx(v.Z,{label:"Admin",size:"small",color:"primary",sx:{mt:1}})]}),a.jsx(Z.Z,{}),"admin"===h.role&&(0,a.jsxs)(w.Z,{onClick:()=>{o(),e.push("/admin/users")},children:[a.jsx(C.Z,{children:a.jsx(S.Z,{fontSize:"small"})}),a.jsx(k.Z,{children:"Users"})]}),(0,a.jsxs)(w.Z,{onClick:()=>{o(),e.push("/settings")},children:[a.jsx(C.Z,{children:a.jsx(P.Z,{fontSize:"small"})}),a.jsx(k.Z,{children:"Settings"})]}),(0,a.jsxs)(w.Z,{onClick:x,children:[a.jsx(C.Z,{children:a.jsx(z.Z,{fontSize:"small"})}),a.jsx(k.Z,{children:"Logout"})]})]})]})}},36597:(e,r,t)=>{"use strict";t.d(r,{Av:()=>a.startLoading});var a=t(21908)},68763:(e,r,t)=>{"use strict";t.d(r,{Cp:()=>x,Nq:()=>d,cg:()=>n,kP:()=>c,w7:()=>l,y1:()=>o,zB:()=>h});var a=t(19106),s=t(82829);let i=(0,a.X)({baseURL:process.env.NEXT_PUBLIC_BETTER_AUTH_URL||"",plugins:[(0,s.zB)()]}),{signIn:n,signOut:l,signUp:o,useSession:c,updateUser:d,changePassword:x}=i,h=i.admin},26072:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>a});let a=(0,t(2325).createProxy)(String.raw`/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/(main)/layout.tsx#default`)},52001:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>s});var a=t(15505);let s=e=>[{type:"image/svg+xml",sizes:"any",url:(0,a.fillMetadataSegment)(".",e.params,"icon.svg")+"?0f68875a168deab8"}]}};
1
+ exports.id=354,exports.ids=[354],exports.modules={78729:(e,r,t)=>{Promise.resolve().then(t.bind(t,47600))},47600:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>_});var a=t(58120),s=t(36372),i=t(89352),n=t(56539),l=t(40611),o=t(22053),c=t(39497),d=t(54365),x=t(2365),h=t(33549),m=t(58664),p=t(73091),u=t(19609),f=t(63654),g=t(63856),b=t(6695),j=t(33615),y=t(6545),v=t(43908),Z=t(28669),w=t(32130),C=t(88517),k=t(765),S=t(37372),P=t(34081),z=t(60417);function I(e){return(0,a.jsxs)(z.Z,{...e,viewBox:"0 0 32 32",children:[a.jsx("rect",{width:"32",height:"32",fill:"#5DA840"}),a.jsx("rect",{x:"4",y:"8",width:"8",height:"8",fill:"#000"}),a.jsx("rect",{x:"20",y:"8",width:"8",height:"8",fill:"#000"}),a.jsx("rect",{x:"12",y:"16",width:"8",height:"4",fill:"#000"}),a.jsx("rect",{x:"8",y:"20",width:"16",height:"8",fill:"#000"}),a.jsx("rect",{x:"8",y:"28",width:"4",height:"4",fill:"#000"}),a.jsx("rect",{x:"20",y:"28",width:"4",height:"4",fill:"#000"}),a.jsx("rect",{x:"0",y:"0",width:"4",height:"4",fill:"#4A9030",opacity:"0.5"}),a.jsx("rect",{x:"8",y:"4",width:"4",height:"4",fill:"#4A9030",opacity:"0.5"}),a.jsx("rect",{x:"24",y:"0",width:"4",height:"4",fill:"#4A9030",opacity:"0.5"}),a.jsx("rect",{x:"28",y:"8",width:"4",height:"4",fill:"#4A9030",opacity:"0.5"}),a.jsx("rect",{x:"0",y:"24",width:"4",height:"4",fill:"#4A9030",opacity:"0.5"})]})}var W=t(36597),A=t(68763);let D=[{label:"Dashboard",href:"/dashboard",icon:a.jsx(y.Z,{})},{label:"Servers",href:"/servers",icon:a.jsx(v.Z,{})},{label:"Worlds",href:"/worlds",icon:a.jsx(k.Z,{})},{label:"Players",href:"/players",icon:a.jsx(Z.Z,{})},{label:"Audit",href:"/audit-logs",icon:a.jsx(C.Z,{})},{label:"Backups",href:"/backups",icon:a.jsx(S.Z,{})},{label:"Routing",href:"/routing",icon:a.jsx(w.Z,{})}];function T({mobileOpen:e,onMenuToggle:r}){let t=(0,n.usePathname)(),{data:s}=(0,A.kP)(),y=e=>"/dashboard"===e?"/dashboard"===t||"/"===t:t.startsWith(e);return(0,a.jsxs)(a.Fragment,{children:[a.jsx(o.Z,{position:"fixed",elevation:0,sx:{backgroundColor:"background.paper",borderBottom:"1px solid",borderColor:"divider",zIndex:e=>e.zIndex.drawer+1},children:(0,a.jsxs)(c.Z,{sx:{maxWidth:"1400px",width:"100%",mx:"auto",px:{xs:2,sm:3}},children:[a.jsx(d.Z,{color:"inherit","aria-label":"open menu",edge:"start",onClick:r,sx:{mr:2,display:{md:"none"}},children:a.jsx(b.Z,{})}),(0,a.jsxs)(l.default,{href:"/",style:{textDecoration:"none",display:"flex",alignItems:"center"},children:[a.jsx(I,{sx:{fontSize:28,color:"primary.main",mr:1}}),a.jsx(x.Z,{variant:"h6",component:"span",sx:{fontFamily:'"Minecraft", sans-serif',fontWeight:400,color:"common.white",letterSpacing:"0.05em",fontSize:"1.1rem"},children:"Minecraft Console"})]}),a.jsx(i.Z,{component:"nav",sx:{display:{xs:"none",md:"flex"},alignItems:"center",gap:1,ml:4,flex:1},children:D.map(e=>{let r=y(e.href);return a.jsx(l.default,{href:e.href,style:{textDecoration:"none"},onClick:()=>!r&&(0,W.Av)(),children:(0,a.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",gap:1,px:2,py:1,borderRadius:2,color:r?"primary.main":"text.secondary",backgroundColor:r?"action.selected":"transparent",transition:"all 0.2s ease","&:hover":{backgroundColor:"action.hover",color:r?"primary.main":"text.primary"}},children:[a.jsx(i.Z,{component:"span",sx:{display:"flex",alignItems:"center","& svg":{fontSize:20}},children:e.icon}),a.jsx(x.Z,{variant:"body2",sx:{fontWeight:r?600:400},children:e.label})]})},e.href)})}),a.jsx(i.Z,{sx:{display:"flex",alignItems:"center",gap:2},children:a.jsx(P.Ie,{})})]})}),a.jsx(h.ZP,{variant:"temporary",anchor:"left",open:e,onClose:r,ModalProps:{keepMounted:!0},sx:{display:{xs:"block",md:"none"},"& .MuiDrawer-paper":{boxSizing:"border-box",width:280,backgroundColor:"background.paper"}},children:(0,a.jsxs)(i.Z,{sx:{display:"flex",flexDirection:"column",height:"100%"},children:[(0,a.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:2,py:2,minHeight:64,borderBottom:"1px solid",borderColor:"divider"},children:[(0,a.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center"},children:[a.jsx(I,{sx:{fontSize:24,color:"primary.main",mr:1}}),a.jsx(x.Z,{variant:"h6",component:"span",sx:{fontFamily:'"Minecraft", sans-serif',fontWeight:400,color:"primary.main",letterSpacing:"0.05em",fontSize:"1rem"},children:"Minecraft Console"})]}),a.jsx(d.Z,{onClick:r,"aria-label":"close menu",children:a.jsx(j.Z,{})})]}),a.jsx(m.Z,{sx:{flex:1,px:1,py:2},children:D.map(e=>{let t=y(e.href);return a.jsx(p.ZP,{disablePadding:!0,sx:{mb:.5},children:(0,a.jsxs)(u.Z,{component:l.default,href:e.href,onClick:()=>{r(),t||(0,W.Av)()},"aria-current":t?"page":void 0,sx:{borderRadius:2,backgroundColor:t?"action.selected":"transparent","&:hover":{backgroundColor:"action.hover"}},children:[a.jsx(f.Z,{sx:{color:t?"primary.main":"text.secondary",minWidth:40},children:e.icon}),a.jsx(g.Z,{primary:e.label,primaryTypographyProps:{fontWeight:t?600:400,color:t?"primary.main":"text.primary"}})]})},e.href)})})]})})]})}var q=t(23972),M=t(42578),R=t(80336),U=t(3984),E=t(60028);function H(e){return a.jsx(z.Z,{...e,viewBox:"0 0 24 24",children:a.jsx("path",{d:"M13.983 11.078h2.119a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.119a.185.185 0 00-.185.185v1.888c0 .102.083.185.185.185m-2.954-5.43h2.118a.186.186 0 00.186-.186V3.574a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.186m0 2.716h2.118a.187.187 0 00.186-.186V6.29a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.887c0 .102.082.185.185.186m-2.93 0h2.12a.186.186 0 00.184-.186V6.29a.185.185 0 00-.185-.185H8.1a.185.185 0 00-.185.185v1.887c0 .102.083.185.185.186m-2.964 0h2.119a.186.186 0 00.185-.186V6.29a.185.185 0 00-.185-.185H5.136a.186.186 0 00-.186.185v1.887c0 .102.084.185.186.186m5.893 2.715h2.118a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.185m-2.93 0h2.12a.185.185 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.083.185.185.185m-2.964 0h2.119a.185.185 0 00.185-.185V9.006a.185.185 0 00-.184-.186h-2.12a.186.186 0 00-.186.186v1.887c0 .102.084.185.186.185m-2.92 0h2.12a.185.185 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.082.185.185.185M23.763 9.89c-.065-.051-.672-.51-1.954-.51-.338.001-.676.03-1.01.087-.248-1.7-1.653-2.53-1.716-2.566l-.344-.199-.226.327c-.284.438-.49.922-.612 1.43-.23.97-.09 1.882.403 2.661-.595.332-1.55.413-1.744.42H.751a.751.751 0 00-.75.748 11.376 11.376 0 00.692 4.062c.545 1.428 1.355 2.48 2.41 3.124 1.18.723 3.1 1.137 5.275 1.137.983.003 1.963-.086 2.93-.266a12.248 12.248 0 003.823-1.389c.98-.567 1.86-1.288 2.61-2.136 1.252-1.418 1.998-2.997 2.553-4.4h.221c1.372 0 2.215-.549 2.68-1.009.309-.293.55-.65.707-1.046l.098-.288z"})})}let B=[{title:"Resources",links:[{label:"Getting Started",href:"https://minecraft-server-manager.readthedocs.io/en/latest/getting-started/",external:!0},{label:"Configuration",href:"https://minecraft-server-manager.readthedocs.io/en/latest/configuration/",external:!0},{label:"Troubleshooting",href:"https://minecraft-server-manager.readthedocs.io/en/latest/troubleshooting/",external:!0}]},{title:"Documentation",links:[{label:"CLI Commands",href:"https://minecraft-server-manager.readthedocs.io/en/latest/cli/",external:!0},{label:"API Reference",href:"https://minecraft-server-manager.readthedocs.io/en/latest/console/",external:!0},{label:"itzg Reference",href:"https://minecraft-server-manager.readthedocs.io/en/latest/itzg-reference/",external:!0}]},{title:"Community",links:[{label:"GitHub",href:"https://github.com/smallmiro/minecraft-server-manager",external:!0},{label:"Issues",href:"https://github.com/smallmiro/minecraft-server-manager/issues",external:!0},{label:"Q&A / Support",href:"https://github.com/smallmiro/minecraft-server-manager/discussions/categories/q-a",external:!0},{label:"Ideas / Feature Requests",href:"https://github.com/smallmiro/minecraft-server-manager/discussions/categories/ideas",external:!0}]},{title:"About",links:[{label:"License",href:"https://github.com/smallmiro/minecraft-server-manager/blob/main/LICENSE",external:!0},{label:"Docker Hub",href:"https://hub.docker.com/r/itzg/minecraft-server",external:!0}]}];function V(){let e=new Date().getFullYear();return a.jsx(i.Z,{component:"footer",sx:{backgroundColor:"background.paper",borderTop:"1px solid",borderColor:"divider",mt:"auto"},children:(0,a.jsxs)(q.Z,{maxWidth:"lg",sx:{py:6},children:[a.jsx(i.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"repeat(2, 1fr)",sm:"repeat(4, 1fr)"},gap:4,mb:4},children:B.map(e=>(0,a.jsxs)(i.Z,{children:[a.jsx(x.Z,{variant:"subtitle2",sx:{fontWeight:600,color:"text.primary",mb:2},children:e.title}),a.jsx(i.Z,{component:"ul",sx:{listStyle:"none",p:0,m:0},children:e.links.map(e=>a.jsx(i.Z,{component:"li",sx:{mb:1},children:a.jsx(M.Z,{href:e.href,target:e.external?"_blank":void 0,rel:e.external?"noopener noreferrer":void 0,underline:"hover",sx:{color:"text.secondary",fontSize:"0.875rem",transition:"color 0.2s ease","&:hover":{color:"primary.main"}},children:e.label})},e.label))})]},e.title))}),a.jsx(R.Z,{sx:{mb:3}}),(0,a.jsxs)(i.Z,{sx:{display:"flex",flexDirection:{xs:"column",sm:"row"},justifyContent:"space-between",alignItems:{xs:"flex-start",sm:"center"},gap:2},children:[(0,a.jsxs)(x.Z,{variant:"body2",sx:{color:"text.tertiary"},children:[e," \xa9"," ",a.jsx(M.Z,{href:"https://github.com/smallmiro/minecraft-server-manager",target:"_blank",rel:"noopener noreferrer",underline:"hover",sx:{color:"primary.main"},children:"Minecraft Server Management Console"})]}),(0,a.jsxs)(i.Z,{sx:{display:"flex",gap:2},children:[a.jsx(M.Z,{href:"https://github.com/smallmiro/minecraft-server-manager",target:"_blank",rel:"noopener noreferrer","aria-label":"GitHub",sx:{color:"text.secondary",transition:"color 0.2s ease","&:hover":{color:"text.primary"}},children:a.jsx(U.Z,{fontSize:"small"})}),a.jsx(M.Z,{href:"https://minecraft-server-manager.readthedocs.io/",target:"_blank",rel:"noopener noreferrer","aria-label":"Documentation",sx:{color:"text.secondary",transition:"color 0.2s ease","&:hover":{color:"text.primary"}},children:a.jsx(E.Z,{fontSize:"small"})}),a.jsx(M.Z,{href:"https://hub.docker.com/r/itzg/minecraft-server",target:"_blank",rel:"noopener noreferrer","aria-label":"Docker Hub",sx:{color:"text.secondary",transition:"color 0.2s ease","&:hover":{color:"text.primary"}},children:a.jsx(H,{fontSize:"small"})})]})]})]})})}function _({children:e}){let[r,t]=(0,s.useState)(!1);return(0,a.jsxs)(i.Z,{sx:{display:"flex",flexDirection:"column",minHeight:"100vh",backgroundColor:"background.default"},children:[a.jsx(T,{mobileOpen:r,onMenuToggle:()=>{t(!r)}}),a.jsx(i.Z,{component:"main",sx:{flexGrow:1,display:"flex",flexDirection:"column",pt:{xs:"88px",sm:"96px"},pb:{xs:3,sm:4},px:{xs:2,sm:3,md:4},maxWidth:"1400px",width:"100%",mx:"auto"},children:e}),a.jsx(V,{})]})}},34081:(e,r,t)=>{"use strict";t.d(r,{U0:()=>p,WS:()=>u,Ie:()=>I});var a=t(58120),s=t(36372),i=t(89352),n=t(66757),l=t(6275),o=t(92559),c=t(54365),d=t(10257),x=t(3643),h=t(8721),m=t(68763);function p({onSuccess:e}){let[r,t]=(0,s.useState)(""),[p,u]=(0,s.useState)(""),[f,g]=(0,s.useState)(!1),[b,j]=(0,s.useState)({}),[y,v]=(0,s.useState)(null),[Z,w]=(0,s.useState)(!1),C=()=>{let e={};return r?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(r)||(e.email="Invalid email address"):e.email="Email is required",p||(e.password="Password is required"),j(e),0===Object.keys(e).length},k=async t=>{if(t.preventDefault(),v(null),C()){w(!0);try{let t=await m.cg.email({email:r,password:p});if(t.error){v(t.error.message||"Invalid credentials"),w(!1);return}e&&e()}catch(e){v("An unexpected error occurred. Please try again."),w(!1)}}};return(0,a.jsxs)(i.Z,{component:"form",onSubmit:k,sx:{display:"flex",flexDirection:"column",gap:2},children:[y&&a.jsx(n.Z,{severity:"error",onClose:()=>v(null),children:y}),a.jsx(l.Z,{label:"Email",type:"email",value:r,onChange:e=>t(e.target.value),error:!!b.email,helperText:b.email,disabled:Z,fullWidth:!0,required:!0}),a.jsx(l.Z,{label:"Password",type:f?"text":"password",value:p,onChange:e=>u(e.target.value),error:!!b.password,helperText:b.password,disabled:Z,fullWidth:!0,required:!0,InputProps:{endAdornment:a.jsx(o.Z,{position:"end",children:a.jsx(c.Z,{"aria-label":"toggle password visibility",onClick:()=>{g(!f)},edge:"end",children:f?a.jsx(x.Z,{}):a.jsx(h.Z,{})})})}}),a.jsx(d.Z,{type:"submit",variant:"contained",color:"primary",disabled:Z,fullWidth:!0,size:"large",children:Z?"Signing in...":"Sign In"})]})}function u({onSuccess:e}){let[r,t]=(0,s.useState)(""),[p,u]=(0,s.useState)(""),[f,g]=(0,s.useState)(""),[b,j]=(0,s.useState)(""),[y,v]=(0,s.useState)(!1),[Z,w]=(0,s.useState)(!1),[C,k]=(0,s.useState)({}),[S,P]=(0,s.useState)(null),[z,I]=(0,s.useState)(!1),W=()=>{let e={};return r||(e.name="Name is required"),p?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(p)||(e.email="Invalid email address"):e.email="Email is required",f?f.length<8&&(e.password="Password must be at least 8 characters"):e.password="Password is required",b?f!==b&&(e.confirmPassword="Passwords do not match"):e.confirmPassword="Please confirm your password",k(e),0===Object.keys(e).length},A=async t=>{if(t.preventDefault(),P(null),W()){I(!0);try{let t=await m.y1.email({email:p,password:f,name:r});if(t.error){P(t.error.message||"Registration failed"),I(!1);return}e&&e()}catch(e){P("An unexpected error occurred. Please try again."),I(!1)}}};return(0,a.jsxs)(i.Z,{component:"form",onSubmit:A,sx:{display:"flex",flexDirection:"column",gap:2},children:[S&&a.jsx(n.Z,{severity:"error",onClose:()=>P(null),children:S}),a.jsx(l.Z,{label:"Name",type:"text",value:r,onChange:e=>t(e.target.value),error:!!C.name,helperText:C.name,disabled:z,fullWidth:!0,required:!0}),a.jsx(l.Z,{label:"Email",type:"email",value:p,onChange:e=>u(e.target.value),error:!!C.email,helperText:C.email,disabled:z,fullWidth:!0,required:!0}),a.jsx(l.Z,{label:"Password",type:y?"text":"password",value:f,onChange:e=>g(e.target.value),error:!!C.password,helperText:C.password,disabled:z,fullWidth:!0,required:!0,InputProps:{endAdornment:a.jsx(o.Z,{position:"end",children:a.jsx(c.Z,{"aria-label":"toggle password visibility",onClick:()=>{v(!y)},edge:"end",children:y?a.jsx(x.Z,{}):a.jsx(h.Z,{})})})}}),a.jsx(l.Z,{label:"Confirm Password",type:Z?"text":"password",value:b,onChange:e=>j(e.target.value),error:!!C.confirmPassword,helperText:C.confirmPassword,disabled:z,fullWidth:!0,required:!0,InputProps:{endAdornment:a.jsx(o.Z,{position:"end",children:a.jsx(c.Z,{"aria-label":"toggle password visibility",onClick:()=>{w(!Z)},edge:"end",children:Z?a.jsx(x.Z,{}):a.jsx(h.Z,{})})})}}),a.jsx(d.Z,{type:"submit",variant:"contained",color:"primary",disabled:z,fullWidth:!0,size:"large",children:z?"Creating account...":"Sign Up"})]})}var f=t(56539),g=t(79943),b=t(61573),j=t(81030),y=t(2365),v=t(48787),Z=t(80336),w=t(99634),C=t(63654),k=t(63856),S=t(62178),P=t(50210),z=t(49185);function I(){let e=(0,f.useRouter)(),{data:r,isPending:t}=(0,m.kP)(),[n,l]=(0,s.useState)(null),o=()=>{l(null)},x=async()=>{o(),await (0,m.w7)(),e.push("/login")};if(t)return a.jsx(i.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:a.jsx(g.Z,{size:24})});if(!r?.user)return a.jsx(d.Z,{variant:"contained",color:"primary",onClick:()=>{e.push("/login")},children:"Sign In"});let{user:h}=r,p=((e,r)=>{if(e){let r=e.split(" ");return r.length>=2?`${r[0][0]}${r[1][0]}`.toUpperCase():e.substring(0,2).toUpperCase()}return r?r[0].toUpperCase():"?"})(h.name,h.email);return(0,a.jsxs)(a.Fragment,{children:[a.jsx(c.Z,{onClick:e=>{l(e.currentTarget)},"aria-label":"user menu",children:a.jsx(b.Z,{sx:{bgcolor:"primary.main"},children:p})}),(0,a.jsxs)(j.Z,{anchorEl:n,open:!!n,onClose:o,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},sx:{mt:1},children:[(0,a.jsxs)(i.Z,{sx:{px:2,py:1.5,minWidth:200},children:[a.jsx(y.Z,{variant:"subtitle1",fontWeight:"600",children:h.name||"User"}),a.jsx(y.Z,{variant:"body2",color:"text.secondary",children:h.email}),"admin"===h.role&&a.jsx(v.Z,{label:"Admin",size:"small",color:"primary",sx:{mt:1}})]}),a.jsx(Z.Z,{}),"admin"===h.role&&(0,a.jsxs)(w.Z,{onClick:()=>{o(),e.push("/admin/users")},children:[a.jsx(C.Z,{children:a.jsx(S.Z,{fontSize:"small"})}),a.jsx(k.Z,{children:"Users"})]}),(0,a.jsxs)(w.Z,{onClick:()=>{o(),e.push("/settings")},children:[a.jsx(C.Z,{children:a.jsx(P.Z,{fontSize:"small"})}),a.jsx(k.Z,{children:"Settings"})]}),(0,a.jsxs)(w.Z,{onClick:x,children:[a.jsx(C.Z,{children:a.jsx(z.Z,{fontSize:"small"})}),a.jsx(k.Z,{children:"Logout"})]})]})]})}},36597:(e,r,t)=>{"use strict";t.d(r,{Av:()=>a.startLoading});var a=t(21908)},68763:(e,r,t)=>{"use strict";t.d(r,{Cp:()=>x,Nq:()=>d,cg:()=>n,kP:()=>c,w7:()=>l,y1:()=>o,zB:()=>h});var a=t(19106),s=t(82829);let i=(0,a.X)({baseURL:process.env.NEXT_PUBLIC_BETTER_AUTH_URL||"",plugins:[(0,s.zB)()]}),{signIn:n,signOut:l,signUp:o,useSession:c,updateUser:d,changePassword:x}=i,h=i.admin},26072:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>a});let a=(0,t(2325).createProxy)(String.raw`/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/(main)/layout.tsx#default`)},52001:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>s});var a=t(15505);let s=e=>[{type:"image/svg+xml",sizes:"any",url:(0,a.fillMetadataSegment)(".",e.params,"icon.svg")+"?0f68875a168deab8"}]}};
@@ -1 +1 @@
1
- "use strict";exports.id=5841,exports.ids=[5841],exports.modules={40817:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"AddCircleOutline")},40238:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M14 13v4h-4v-4H7l5-5 5 5z"}),"CloudUpload")},63390:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"M9.01 14H2v2h7.01v3L13 15l-3.99-4zm5.98-1v-3H22V8h-7.01V5L11 9z"}),"CompareArrows")},67175:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"m14.06 9.02.92.92L5.92 19H5v-.92zM17.66 3c-.25 0-.51.1-.7.29l-1.83 1.83 3.75 3.75 1.83-1.83c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.2-.2-.45-.29-.71-.29m-3.6 3.19L3 17.25V21h3.75L17.81 9.94z"}),"EditOutlined")},81872:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"M7 11v2h10v-2zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"RemoveCircleOutline")},4899:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9m-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8z"}),"Restore")},16007:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)([(0,l.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,l.jsx)("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"},"1")],"Schedule")},14302:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"M14 12c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2m-2-9c-4.97 0-9 4.03-9 9H0l4 4 4-4H5c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.51 0-2.91-.49-4.06-1.3l-1.42 1.44C8.04 20.3 9.94 21 12 21c4.97 0 9-4.03 9-9s-4.03-9-9-9"}),"SettingsBackupRestore")},36890:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"M14.67 5v14H9.33V5zm1 14H21V5h-5.33zm-7.34 0V5H3v14z"}),"ViewColumn")},85377:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"M3 17v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2M3 7v2c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2"}),"ViewStream")},69208:(e,s,t)=>{Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return l}});let n=t(70381);t(58120),t(36372);let a=n._(t(62037));function l(e,s){var t;let n={loading:e=>{let{error:s,isLoading:t,pastDelay:n}=e;return null}};"function"==typeof e&&(n.loader=e);let l={...n,...s};return(0,a.default)({...l,modules:null==(t=l.loadableGenerated)?void 0:t.modules})}("function"==typeof s.default||"object"==typeof s.default&&null!==s.default)&&void 0===s.default.__esModule&&(Object.defineProperty(s.default,"__esModule",{value:!0}),Object.assign(s.default,s),e.exports=s.default)},29351:(e,s,t)=>{Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"BailoutToCSR",{enumerable:!0,get:function(){return a}});let n=t(89240);function a(e){let{reason:s,children:t}=e;throw new n.BailoutToCSRError(s)}},62037:(e,s,t)=>{Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return d}});let n=t(58120),a=t(36372),l=t(29351),r=t(17445);function i(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(i(()=>null)),loading:null,ssr:!0},d=function(e){let s={...o,...e},t=(0,a.lazy)(()=>s.loader().then(i)),d=s.loading;function c(e){let i=d?(0,n.jsx)(d,{isLoading:!0,pastDelay:!0,error:null}):null,o=s.ssr?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.PreloadCss,{moduleIds:s.modules}),(0,n.jsx)(t,{...e})]}):(0,n.jsx)(l.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(t,{...e})});return(0,n.jsx)(a.Suspense,{fallback:i,children:o})}return c.displayName="LoadableComponent",c}},17445:(e,s,t)=>{Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"PreloadCss",{enumerable:!0,get:function(){return l}});let n=t(58120),a=t(54580);function l(e){let{moduleIds:s}=e,t=(0,a.getExpectedRequestStore)("next/dynamic css"),l=[];if(t.reactLoadableManifest&&s){let e=t.reactLoadableManifest;for(let t of s){if(!e[t])continue;let s=e[t].files.filter(e=>e.endsWith(".css"));l.push(...s)}}return 0===l.length?null:(0,n.jsx)(n.Fragment,{children:l.map(e=>(0,n.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:t.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}},48833:(e,s,t)=>{t.d(s,{e:()=>g});var n=t(58120),a=t(36372),l=t(34443),r=t(44696),i=t(15539),o=t(51290),d=t(10257),c=t(6275),u=t(32486),h=t(2200),x=t(73276),m=t(99634),p=t(66757),j=t(79943),f=t(89352),Z=t(94543);function g({open:e,onClose:s,serverNames:t,defaultServer:g}){let[v,y]=(0,a.useState)(g||""),[b,C]=(0,a.useState)(""),S=(0,Z.t)(),k=async()=>{if(v)try{await S.mutateAsync({serverName:v,description:b.trim()||void 0}),w()}catch{}},w=()=>{S.isPending||(y(g||""),C(""),S.reset(),s())};return(0,n.jsxs)(l.Z,{open:e,onClose:w,maxWidth:"sm",fullWidth:!0,children:[n.jsx(r.Z,{children:"Create Config Snapshot"}),n.jsx(i.Z,{children:(0,n.jsxs)(f.Z,{sx:{display:"flex",flexDirection:"column",gap:2,mt:1},children:[(0,n.jsxs)(u.Z,{fullWidth:!0,required:!0,children:[n.jsx(h.Z,{children:"Server"}),n.jsx(x.Z,{value:v,onChange:e=>y(e.target.value),label:"Server",disabled:S.isPending||!!g,children:t.map(e=>n.jsx(m.Z,{value:e,children:e},e))})]}),n.jsx(c.Z,{label:"Description (optional)",value:b,onChange:e=>C(e.target.value),placeholder:"e.g., Before modpack update",fullWidth:!0,disabled:S.isPending}),S.isError&&n.jsx(p.Z,{severity:"error",children:S.error?.message||"Failed to create snapshot"}),S.isPending&&n.jsx(p.Z,{severity:"info",icon:n.jsx(j.Z,{size:20}),children:"Creating snapshot... This may take a moment."})]})}),(0,n.jsxs)(o.Z,{children:[n.jsx(d.Z,{onClick:w,disabled:S.isPending,children:"Cancel"}),n.jsx(d.Z,{onClick:k,variant:"contained",disabled:!v||S.isPending,children:S.isPending?"Creating...":"Create Snapshot"})]})]})}},1044:(e,s,t)=>{t.d(s,{YN:()=>_});var n=t(58120),a=t(36372),l=t(10257),r=t(34443),i=t(44696),o=t(15539),d=t(51290),c=t(89352),u=t(2365),h=t(66757),x=t(79943),m=t(54365),p=t(80336),j=t(98693),f=t(62073),Z=t(33615),g=t(4899),v=t(63390),y=t(96587),b=t(58664),C=t(19609),S=t(63654),k=t(63856),w=t(98243),z=t(40817),D=t(67175),P=t(81872);function M({changes:e,selectedFile:s,onSelectFile:t}){let l=(0,a.useCallback)((s,n,a)=>{"ArrowUp"===s.key&&a>0?(s.preventDefault(),t(e[a-1].path)):"ArrowDown"===s.key&&a<e.length-1?(s.preventDefault(),t(e[a+1].path)):("Enter"===s.key||" "===s.key)&&(s.preventDefault(),t(n))},[e,t]);return 0===e.length?n.jsx(c.Z,{sx:{p:2},children:n.jsx(u.Z,{variant:"body2",color:"text.secondary",children:"No changes"})}):(0,n.jsxs)(c.Z,{sx:{height:"100%",overflow:"auto",borderRight:1,borderColor:"divider"},role:"tree","aria-label":"Changed files",children:[(0,n.jsxs)(u.Z,{variant:"caption",sx:{display:"block",px:2,py:1,color:"text.secondary",fontWeight:"medium",letterSpacing:"0.08em",textTransform:"uppercase",borderBottom:1,borderColor:"divider",bgcolor:"background.paper"},children:["Changed Files (",e.length,")"]}),n.jsx(b.Z,{dense:!0,disablePadding:!0,role:"group",children:e.map((e,a)=>{let r=function(e){switch(e){case"added":return{icon:n.jsx(z.Z,{fontSize:"small"}),color:"success.main",label:"Added"};case"modified":return{icon:n.jsx(D.Z,{fontSize:"small"}),color:"warning.main",label:"Modified"};case"deleted":return{icon:n.jsx(P.Z,{fontSize:"small"}),color:"error.main",label:"Deleted"}}}(e.status),i=function(e){let s=e.split("/");return s[s.length-1]}(e.path),o=function(e){let s=e.split("/");return s.length<=1?"":s.slice(0,-1).join("/")}(e.path),d=s===e.path;return n.jsx(w.Z,{title:`${r.label}: ${e.path}`,placement:"right",children:(0,n.jsxs)(C.Z,{selected:d,onClick:()=>t(e.path),onKeyDown:s=>l(s,e.path,a),role:"treeitem","aria-selected":d,"aria-label":`${e.path} - ${r.label}`,sx:{py:.75,"&.Mui-selected":{bgcolor:"action.selected"}},children:[n.jsx(S.Z,{sx:{minWidth:32,color:r.color},children:r.icon}),n.jsx(k.Z,{primary:i,secondary:o||void 0,primaryTypographyProps:{variant:"body2",sx:{fontFamily:"monospace",fontSize:"0.8rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},secondaryTypographyProps:{variant:"caption",sx:{fontFamily:"monospace",fontSize:"0.7rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}})]})},e.path)})})]})}var $=t(69208),B=t.n($),A=t(48787);let F=B()(async()=>{},{loadableGenerated:{modules:["components/backups/diff/ConfigDiffViewer.tsx -> react-diff-viewer-continued"]},ssr:!1});function R({change:e,viewMode:s,fileRef:t}){let a="added"===e.status?"":e.oldContent??"",l="deleted"===e.status?"":e.newContent??"";return(0,n.jsxs)(c.Z,{ref:t,sx:{mb:3},"data-file-path":e.path,id:`diff-file-${e.path.replace(/[^a-zA-Z0-9]/g,"-")}`,children:[(0,n.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",gap:1,px:2,py:1,bgcolor:"background.default",borderTop:1,borderBottom:1,borderColor:"divider",position:"sticky",top:0,zIndex:1},children:[function(e){switch(e){case"added":return n.jsx(z.Z,{fontSize:"small",sx:{color:"success.main"}});case"modified":return n.jsx(D.Z,{fontSize:"small",sx:{color:"warning.main"}});case"deleted":return n.jsx(P.Z,{fontSize:"small",sx:{color:"error.main"}})}}(e.status),n.jsx(u.Z,{variant:"body2",sx:{fontFamily:"monospace",fontWeight:"bold",flex:1},children:e.path}),n.jsx(A.Z,{label:function(e){switch(e){case"added":return"added";case"modified":return"modified";case"deleted":return"deleted"}}(e.status),size:"small",color:function(e){switch(e){case"added":return"success";case"modified":return"warning";case"deleted":return"error"}}(e.status),variant:"outlined"})]}),n.jsx(c.Z,{sx:{fontSize:"0.8rem",overflow:"auto"},children:n.jsx(F,{oldValue:a,newValue:l,splitView:"split"===s,useDarkTheme:!0,hideLineNumbers:!1,showDiffOnly:!0,styles:{variables:{dark:{diffViewerBackground:"#1a1a1a",addedBackground:"#1a3a1a",addedColor:"#4caf50",removedBackground:"#3a1a1a",removedColor:"#f44336",wordAddedBackground:"#2d5a2d",wordRemovedBackground:"#5a2d2d",emptyLineBackground:"#1a1a1a",gutterBackground:"#111",gutterColor:"#555",codeFoldBackground:"#111",codeFoldGutterBackground:"#111"}}}})})]})}function I({changes:e,selectedFile:s,viewMode:t}){let l=(0,a.useRef)(new Map),r=(0,a.useRef)(null);return 0===e.length?n.jsx(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",p:4},children:n.jsx(u.Z,{variant:"body1",color:"text.secondary",children:"No differences between these snapshots"})}):n.jsx(c.Z,{ref:r,sx:{height:"100%",overflow:"auto","& table":{width:"100%"}},children:e.map((s,a)=>(0,n.jsxs)(c.Z,{children:[n.jsx(R,{change:s,viewMode:t,fileRef:e=>{e?l.current.set(s.path,e):l.current.delete(s.path)}}),a<e.length-1&&n.jsx(p.Z,{})]},s.path))})}var T=t(95661),W=t(95257),N=t(85377),E=t(36890);function L({value:e,onChange:s}){return(0,n.jsxs)(W.Z,{value:e,exclusive:!0,onChange:(e,t)=>{null!==t&&s(t)},"aria-label":"Diff view mode",size:"small",children:[n.jsx(w.Z,{title:"Unified diff view",children:n.jsx(T.Z,{value:"unified","aria-label":"Unified view",children:n.jsx(N.Z,{fontSize:"small"})})}),n.jsx(w.Z,{title:"Side-by-side diff view",children:n.jsx(T.Z,{value:"split","aria-label":"Split view",children:n.jsx(E.Z,{fontSize:"small"})})})]})}var q=t(29564),H=t(27429),O=t(96454);function U({summary:e}){let{added:s,modified:t,deleted:a}=e;return 0===s+t+a?n.jsx(c.Z,{sx:{display:"flex",alignItems:"center",gap:1,px:2,py:1,borderTop:1,borderColor:"divider",bgcolor:"background.paper"},children:n.jsx(u.Z,{variant:"body2",color:"text.secondary",children:"No differences found between snapshots"})}):(0,n.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",gap:1.5,px:2,py:1,borderTop:1,borderColor:"divider",bgcolor:"background.paper",flexWrap:"wrap"},role:"status","aria-label":`Summary: ${s} added, ${t} modified, ${a} deleted`,children:[n.jsx(u.Z,{variant:"caption",color:"text.secondary",sx:{fontWeight:"medium"},children:"Summary:"}),t>0&&n.jsx(A.Z,{icon:n.jsx(H.Z,{sx:{fontSize:"0.875rem"}}),label:`${t} modified`,size:"small",sx:{bgcolor:"warning.dark",color:"warning.contrastText","& .MuiChip-icon":{color:"warning.contrastText"}}}),s>0&&n.jsx(A.Z,{icon:n.jsx(q.Z,{sx:{fontSize:"0.875rem"}}),label:`${s} added`,size:"small",sx:{bgcolor:"success.dark",color:"success.contrastText","& .MuiChip-icon":{color:"success.contrastText"}}}),a>0&&n.jsx(A.Z,{icon:n.jsx(O.Z,{sx:{fontSize:"0.875rem"}}),label:`${a} deleted`,size:"small",sx:{bgcolor:"error.dark",color:"error.contrastText","& .MuiChip-icon":{color:"error.contrastText"}}})]})}function V(e){return new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(e))}function _({open:e,snapshotA:s,snapshotB:t,onClose:b,onRestoreA:C}){let S=(0,f.Z)(),k=(0,j.Z)(S.breakpoints.down("md")),[w,z]=(0,a.useState)(void 0),[D,P]=(0,a.useState)("unified"),{data:$,isLoading:B,isError:A,error:F}=(0,y.m)(s.id,t.id,{enabled:e});(0,a.useCallback)(e=>{"Escape"===e.key&&b()},[b]);let R=(0,a.useCallback)(e=>{z(e)},[]),T=(0,a.useCallback)(()=>{C?.(s),b()},[C,s,b]);return(0,n.jsxs)(r.Z,{open:e,onClose:b,maxWidth:"xl",fullWidth:!0,fullScreen:k,"aria-labelledby":"config-diff-dialog-title",PaperProps:{sx:{height:k?"100%":"90vh",maxHeight:k?"100%":"90vh",display:"flex",flexDirection:"column"}},children:[(0,n.jsxs)(i.Z,{id:"config-diff-dialog-title",sx:{display:"flex",alignItems:"center",gap:1,pb:1,flexShrink:0},children:[n.jsx(v.Z,{color:"primary"}),(0,n.jsxs)(c.Z,{sx:{flex:1},children:[n.jsx(u.Z,{variant:"h6",component:"span",children:"Config Diff"}),(0,n.jsxs)(u.Z,{variant:"body2",color:"text.secondary",sx:{display:"block",mt:.25},children:["Snapshot A: ",V(s.createdAt),n.jsx(c.Z,{component:"span",sx:{mx:1},children:"vs"}),"Snapshot B: ",V(t.createdAt)]})]}),n.jsx(L,{value:D,onChange:P}),n.jsx(m.Z,{onClick:b,"aria-label":"Close diff dialog",size:"small",sx:{ml:1},children:n.jsx(Z.Z,{})})]}),n.jsx(p.Z,{}),(0,n.jsxs)(o.Z,{sx:{flex:1,overflow:"hidden",display:"flex",flexDirection:"column",p:0},children:[B&&(0,n.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",flex:1,gap:2},children:[n.jsx(x.Z,{size:24}),n.jsx(u.Z,{variant:"body2",color:"text.secondary",children:"Loading diff..."})]}),A&&n.jsx(c.Z,{sx:{p:2},children:(0,n.jsxs)(h.Z,{severity:"error",children:["Failed to load diff: ",F?.message??"Unknown error"]})}),$&&(0,n.jsxs)(c.Z,{sx:{flex:1,display:"flex",flexDirection:{xs:"column",md:"row"},overflow:"hidden"},children:[n.jsx(c.Z,{sx:{width:{xs:"100%",md:220},flexShrink:0,height:{xs:"auto",md:"100%"},maxHeight:{xs:160,md:"none"},overflow:"auto"},children:n.jsx(M,{changes:$.changes,selectedFile:w,onSelectFile:R})}),n.jsx(p.Z,{orientation:k?"horizontal":"vertical"}),n.jsx(c.Z,{sx:{flex:1,overflow:"auto"},children:n.jsx(I,{changes:$.changes,selectedFile:w,viewMode:D})})]})]}),$&&(0,n.jsxs)(n.Fragment,{children:[n.jsx(p.Z,{}),n.jsx(U,{summary:$.summary})]}),n.jsx(p.Z,{}),(0,n.jsxs)(d.Z,{sx:{px:2,py:1.5,flexShrink:0},children:[C&&n.jsx(l.Z,{onClick:T,variant:"outlined",color:"warning",startIcon:n.jsx(g.Z,{}),disabled:B,children:"Restore to Snapshot A"}),n.jsx(c.Z,{sx:{flex:1}}),n.jsx(l.Z,{onClick:b,variant:"contained",children:"Close"})]})]})}},15841:(e,s,t)=>{t.d(s,{zO:()=>$,Fb:()=>et,JZ:()=>F,Ff:()=>G,Xj:()=>h,zg:()=>eg,Dm:()=>ec,gE:()=>ey,ed:()=>eh.e});var n=t(58120),a=t(67073),l=t(92797),r=t(2365),i=t(89352),o=t(48787),d=t(56846),c=t(72690),u=t(74151);function h(){let{data:e,isLoading:s,error:t}=(0,u.mj)();if(s)return n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[n.jsx(r.Z,{variant:"h6",gutterBottom:!0,children:"Backup Status"}),n.jsx(r.Z,{color:"text.secondary",children:"Loading..."})]})});if(t)return n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[n.jsx(r.Z,{variant:"h6",gutterBottom:!0,children:"Backup Status"}),n.jsx(r.Z,{color:"error",children:"Failed to load backup status"})]})});let{configured:h,lastBackup:x,repository:m}=e||{};return n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[(0,n.jsxs)(i.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[n.jsx(r.Z,{variant:"h6",children:"Backup Status"}),n.jsx(o.Z,{icon:h?n.jsx(d.Z,{}):n.jsx(c.Z,{}),label:h?"Configured":"Not Configured",color:h?"success":"error",size:"small"})]}),h?(0,n.jsxs)(i.Z,{sx:{display:"flex",flexDirection:"column",gap:1},children:[m&&(0,n.jsxs)(i.Z,{children:[n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Repository"}),n.jsx(r.Z,{variant:"body2",sx:{fontFamily:"monospace",fontSize:"0.875rem"},children:m})]}),x&&(0,n.jsxs)(i.Z,{children:[n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Last Backup"}),n.jsx(r.Z,{variant:"body2",children:function(e){let s=new Date,t=new Date(e),n=Math.floor((s.getTime()-t.getTime())/6e4),a=Math.floor(n/60);return n<1?"just now":n<60?`${n} minutes ago`:a<24?`${a} hours ago`:`${Math.floor(a/24)} days ago`}(x)})]}),!x&&n.jsx(r.Z,{variant:"body2",color:"text.secondary",children:"No backups yet"})]}):n.jsx(r.Z,{variant:"body2",color:"text.secondary",children:"GitHub backup is not configured. Please configure BACKUP_REPO_URL in your environment."})]})})}var x=t(36372),m=t(37891),p=t(88916),j=t(75698),f=t(664),Z=t(70862),g=t(59059),v=t(54365),y=t(4899),b=t(10257),C=t(34443),S=t(51290),k=t(15539),w=t(54458),z=t(44696),D=t(66757),P=t(79943);function M({open:e,commit:s,onClose:t}){var a;let{mutate:l,isPending:o}=(0,u.s8)(),[d,c]=(0,x.useState)(""),[h,m]=(0,x.useState)(""),p=()=>{o||(c(""),m(""),t())};return(0,n.jsxs)(C.Z,{open:e,onClose:p,maxWidth:"sm",fullWidth:!0,children:[n.jsx(z.Z,{children:"Restore Backup"}),(0,n.jsxs)(k.Z,{children:[n.jsx(D.Z,{severity:"warning",sx:{mb:2},children:"This will restore all worlds from the selected backup. Current world data will be overwritten."}),d&&n.jsx(D.Z,{severity:"success",sx:{mb:2},children:d}),h&&n.jsx(D.Z,{severity:"error",sx:{mb:2},children:h}),n.jsx(w.Z,{sx:{mb:2},children:"Are you sure you want to restore from this backup?"}),(0,n.jsxs)(i.Z,{sx:{display:"flex",flexDirection:"column",gap:1},children:[(0,n.jsxs)(i.Z,{children:[n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Commit Hash"}),n.jsx(r.Z,{variant:"body2",sx:{fontFamily:"monospace",fontSize:"0.875rem"},children:s.hash})]}),(0,n.jsxs)(i.Z,{children:[n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Date"}),n.jsx(r.Z,{variant:"body2",children:(a=s.date,new Intl.DateTimeFormat(void 0,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date(a)))})]}),(0,n.jsxs)(i.Z,{children:[n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Message"}),n.jsx(r.Z,{variant:"body2",children:s.message})]}),(0,n.jsxs)(i.Z,{children:[n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Author"}),n.jsx(r.Z,{variant:"body2",children:s.author})]})]})]}),(0,n.jsxs)(S.Z,{children:[n.jsx(b.Z,{onClick:p,disabled:o,children:"Cancel"}),n.jsx(b.Z,{onClick:()=>{c(""),m(""),l(s.hash,{onSuccess:()=>{c(`Backup restored successfully from ${s.hash.substring(0,7)}`),setTimeout(()=>{t()},2e3)},onError:e=>{m(`Failed to restore backup: ${e.message}`)}})},variant:"contained",color:"warning",disabled:o,startIcon:o?n.jsx(P.Z,{size:16}):n.jsx(y.Z,{}),children:o?"Restoring...":"Restore"})]})]})}function $(){let{data:e,isLoading:s,error:t}=(0,u.$t)(20),[i,d]=(0,x.useState)(null),c=e=>{d(e)};if(s)return n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[n.jsx(r.Z,{variant:"h6",gutterBottom:!0,children:"Backup History"}),n.jsx(r.Z,{color:"text.secondary",children:"Loading..."})]})});if(t)return n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[n.jsx(r.Z,{variant:"h6",gutterBottom:!0,children:"Backup History"}),n.jsx(r.Z,{color:"error",children:"Failed to load backup history"})]})});let h=e?.commits||[];return(0,n.jsxs)(n.Fragment,{children:[n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[n.jsx(r.Z,{variant:"h6",gutterBottom:!0,children:"Backup History"}),0===h.length?n.jsx(r.Z,{color:"text.secondary",children:"No backup history available"}):n.jsx(f.Z,{children:(0,n.jsxs)(m.Z,{children:[n.jsx(Z.Z,{children:(0,n.jsxs)(g.Z,{children:[n.jsx(j.Z,{children:"Commit"}),n.jsx(j.Z,{children:"Date"}),n.jsx(j.Z,{children:"Message"}),n.jsx(j.Z,{children:"Author"}),n.jsx(j.Z,{align:"right",children:"Actions"})]})}),n.jsx(p.Z,{children:h.map(e=>{var s;return(0,n.jsxs)(g.Z,{children:[n.jsx(j.Z,{children:n.jsx(o.Z,{label:e.hash.substring(0,7),size:"small",variant:"outlined",sx:{fontFamily:"monospace"}})}),n.jsx(j.Z,{children:n.jsx(r.Z,{variant:"body2",children:(s=e.date,new Intl.DateTimeFormat(void 0,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(new Date(s)))})}),n.jsx(j.Z,{children:n.jsx(r.Z,{variant:"body2",children:e.message})}),n.jsx(j.Z,{children:n.jsx(r.Z,{variant:"body2",color:"text.secondary",children:e.author})}),n.jsx(j.Z,{align:"right",children:n.jsx(v.Z,{size:"small",color:"primary",onClick:()=>c(e),title:"Restore this backup",children:n.jsx(y.Z,{})})})]},e.hash)})})]})})]})}),i&&n.jsx(M,{open:!!i,commit:i,onClose:()=>{d(null)}})]})}var B=t(6275),A=t(37372);function F({disabled:e}){let[s,t]=(0,x.useState)(!1),[a,l]=(0,x.useState)(""),[r,i]=(0,x.useState)(""),[o,d]=(0,x.useState)(""),{mutate:c,isPending:h}=(0,u.c5)(),m=()=>{h||(t(!1),l(""),i(""),d(""))};return(0,n.jsxs)(n.Fragment,{children:[n.jsx(b.Z,{variant:"contained",startIcon:n.jsx(A.Z,{}),onClick:()=>{t(!0),i(""),d(""),l(`Backup ${new Date().toISOString().split("T")[0]}`)},disabled:e||h,children:"Push Backup"}),(0,n.jsxs)(C.Z,{open:s,onClose:m,maxWidth:"sm",fullWidth:!0,children:[n.jsx(z.Z,{children:"Push Backup"}),(0,n.jsxs)(k.Z,{children:[r&&n.jsx(D.Z,{severity:"success",sx:{mb:2},children:r}),o&&n.jsx(D.Z,{severity:"error",sx:{mb:2},children:o}),n.jsx(B.Z,{autoFocus:!0,margin:"dense",label:"Commit Message",type:"text",fullWidth:!0,variant:"outlined",value:a,onChange:e=>l(e.target.value),disabled:h,helperText:"Optional message describing this backup"})]}),(0,n.jsxs)(S.Z,{children:[n.jsx(b.Z,{onClick:m,disabled:h,children:"Cancel"}),n.jsx(b.Z,{onClick:()=>{i(""),d(""),c({message:a||void 0},{onSuccess:e=>{i(e.commitHash?`Backup pushed successfully (${e.commitHash.substring(0,7)})`:"Backup pushed successfully"),setTimeout(()=>{m()},2e3)},onError:e=>{d(`Failed to push backup: ${e.message}`)}})},variant:"contained",disabled:h,startIcon:h?n.jsx(P.Z,{size:16}):n.jsx(A.Z,{}),children:h?"Pushing...":"Push"})]})]})]})}var R=t(16770),I=t(23016),T=t(98243),W=t(80336),N=t(29564),E=t(27429),L=t(96454),q=t(16007),H=t(32486),O=t(2200),U=t(73276),V=t(99634);let _=[{label:"Every hour",value:"0 * * * *"},{label:"Every 6 hours",value:"0 */6 * * *"},{label:"Every 12 hours",value:"0 */12 * * *"},{label:"Daily at 3 AM",value:"0 3 * * *"},{label:"Weekly (Sunday 3 AM)",value:"0 3 * * 0"},{label:"Custom",value:"custom"}];function K({open:e,schedule:s,onClose:t}){let a=(0,u.tT)(),l=(0,u.CA)(),d=!!s,[c,h]=(0,x.useState)(""),[m,p]=(0,x.useState)(""),[j,f]=(0,x.useState)(""),[Z,g]=(0,x.useState)(""),[v,y]=(0,x.useState)(""),[w,P]=(0,x.useState)(""),M=()=>"custom"===m?j.trim():m,$=async()=>{P("");let e=M();if(!c.trim()){P("Name is required");return}if(!e){P("Cron expression is required");return}try{d&&s?await l.mutateAsync({id:s.id,data:{name:c.trim(),cron:e,...Z?{maxCount:parseInt(Z,10)}:{},...v?{maxAgeDays:parseInt(v,10)}:{}}}):await a.mutateAsync({name:c.trim(),cron:e,...Z?{maxCount:parseInt(Z,10)}:{},...v?{maxAgeDays:parseInt(v,10)}:{},enabled:!0}),t()}catch(e){P(e.message||"Failed to save schedule")}},A=a.isPending||l.isPending;return(0,n.jsxs)(C.Z,{open:e,onClose:t,maxWidth:"sm",fullWidth:!0,children:[n.jsx(z.Z,{children:d?"Edit Backup Schedule":"Create Backup Schedule"}),n.jsx(k.Z,{children:(0,n.jsxs)(I.Z,{spacing:2.5,sx:{mt:1},children:[w&&n.jsx(D.Z,{severity:"error",onClose:()=>P(""),children:w}),n.jsx(B.Z,{label:"Schedule Name",value:c,onChange:e=>h(e.target.value),fullWidth:!0,required:!0,placeholder:"e.g., Daily backup, Hourly snapshot",autoFocus:!0}),(0,n.jsxs)(H.Z,{fullWidth:!0,children:[n.jsx(O.Z,{children:"Schedule Frequency"}),n.jsx(U.Z,{value:m,onChange:e=>p(e.target.value),label:"Schedule Frequency",children:_.map(e=>(0,n.jsxs)(V.Z,{value:e.value,children:[e.label,"custom"!==e.value&&n.jsx(o.Z,{label:e.value,size:"small",variant:"outlined",sx:{ml:1,fontFamily:"monospace",fontSize:"0.75rem"}})]},e.value))})]}),"custom"===m&&n.jsx(B.Z,{label:"Cron Expression",value:j,onChange:e=>f(e.target.value),fullWidth:!0,required:!0,placeholder:"e.g., 0 */6 * * *",helperText:"Format: minute hour day-of-month month day-of-week",InputProps:{sx:{fontFamily:"monospace"}}}),n.jsx(r.Z,{variant:"subtitle2",color:"text.secondary",sx:{mt:1},children:"Retention Policy (optional)"}),(0,n.jsxs)(i.Z,{sx:{display:"flex",gap:2},children:[n.jsx(B.Z,{label:"Max Backup Count",type:"number",value:Z,onChange:e=>g(e.target.value),fullWidth:!0,placeholder:"e.g., 10",inputProps:{min:1},helperText:"Keep at most N backups"}),n.jsx(B.Z,{label:"Max Age (days)",type:"number",value:v,onChange:e=>y(e.target.value),fullWidth:!0,placeholder:"e.g., 30",inputProps:{min:1},helperText:"Delete backups older than N days"})]})]})}),(0,n.jsxs)(S.Z,{children:[n.jsx(b.Z,{onClick:t,disabled:A,children:"Cancel"}),n.jsx(b.Z,{onClick:$,variant:"contained",disabled:A,children:A?"Saving...":d?"Update":"Create"})]})]})}function J(e){let s=new Date,t=new Date(e),n=Math.floor((s.getTime()-t.getTime())/6e4),a=Math.floor(n/60);return n<1?"just now":n<60?`${n}m ago`:a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}function Q({schedule:e,onEdit:s,onDelete:t,onToggle:a,toggleLoading:l}){return(0,n.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",py:1.5,px:1,"&:hover":{bgcolor:"action.hover",borderRadius:1}},children:[(0,n.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",gap:2,flex:1,minWidth:0},children:[n.jsx(q.Z,{color:e.enabled?"primary":"disabled"}),(0,n.jsxs)(i.Z,{sx:{minWidth:0},children:[n.jsx(r.Z,{variant:"body1",fontWeight:"medium",noWrap:!0,children:e.name}),(0,n.jsxs)(r.Z,{variant:"caption",color:"text.secondary",noWrap:!0,children:[e.cronHumanReadable," (",e.cronExpression,")"]})]})]}),(0,n.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",gap:1.5,flexShrink:0},children:[e.lastRunStatus&&n.jsx(T.Z,{title:e.lastRunMessage?`${e.lastRunAt?J(e.lastRunAt):""}: ${e.lastRunMessage}`:e.lastRunAt?J(e.lastRunAt):"",children:n.jsx(o.Z,{icon:"success"===e.lastRunStatus?n.jsx(d.Z,{sx:{fontSize:16}}):n.jsx(c.Z,{sx:{fontSize:16}}),label:"success"===e.lastRunStatus?"OK":"Failed",size:"small",color:"success"===e.lastRunStatus?"success":"error",variant:"outlined"})}),(e.retentionPolicy.maxCount||e.retentionPolicy.maxAgeDays)&&n.jsx(T.Z,{title:[e.retentionPolicy.maxCount&&`Max ${e.retentionPolicy.maxCount} backups`,e.retentionPolicy.maxAgeDays&&`Max ${e.retentionPolicy.maxAgeDays} days`].filter(Boolean).join(", "),children:n.jsx(o.Z,{label:"Retention",size:"small",variant:"outlined",color:"info"})}),n.jsx(T.Z,{title:e.enabled?"Disable schedule":"Enable schedule",children:n.jsx(R.Z,{size:"small",checked:e.enabled,onChange:(s,t)=>a(e,t),disabled:l})}),n.jsx(T.Z,{title:"Edit schedule",children:n.jsx(v.Z,{size:"small",onClick:()=>s(e),children:n.jsx(E.Z,{fontSize:"small"})})}),n.jsx(T.Z,{title:"Delete schedule",children:n.jsx(v.Z,{size:"small",color:"error",onClick:()=>t(e),children:n.jsx(L.Z,{fontSize:"small"})})})]})]})}function G(){let{data:e,isLoading:s,error:t}=(0,u.d)(),o=(0,u.c1)(),d=(0,u.JV)(),[c,h]=(0,x.useState)(!1),[m,p]=(0,x.useState)(null),[j,f]=(0,x.useState)(!1),[Z,g]=(0,x.useState)(null),v=e=>{p(e),h(!0)},y=e=>{g(e),f(!0)},w=async()=>{if(Z)try{await d.mutateAsync(Z.id)}catch{}f(!1),g(null)},P=(e,s)=>{o.mutate({id:e.id,enabled:s})};if(s)return n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[n.jsx(r.Z,{variant:"h6",gutterBottom:!0,children:"Backup Schedules"}),n.jsx(r.Z,{color:"text.secondary",children:"Loading..."})]})});if(t)return n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[n.jsx(r.Z,{variant:"h6",gutterBottom:!0,children:"Backup Schedules"}),n.jsx(D.Z,{severity:"error",children:"Failed to load backup schedules"})]})});let M=e?.schedules??[];return(0,n.jsxs)(n.Fragment,{children:[n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[(0,n.jsxs)(i.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[(0,n.jsxs)(i.Z,{children:[n.jsx(r.Z,{variant:"h6",children:"Backup Schedules"}),n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Automated cron-based backup scheduling"})]}),n.jsx(b.Z,{variant:"contained",size:"small",startIcon:n.jsx(N.Z,{}),onClick:()=>{p(null),h(!0)},children:"Add Schedule"})]}),0===M.length?(0,n.jsxs)(i.Z,{sx:{textAlign:"center",py:4},children:[n.jsx(q.Z,{sx:{fontSize:48,color:"text.disabled",mb:1}}),n.jsx(r.Z,{color:"text.secondary",children:"No backup schedules configured"}),n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Create a schedule to automatically back up your worlds"})]}):n.jsx(I.Z,{divider:n.jsx(W.Z,{}),children:M.map(e=>n.jsx(Q,{schedule:e,onEdit:v,onDelete:y,onToggle:P,toggleLoading:o.isPending},e.id))})]})}),n.jsx(K,{open:c,schedule:m,onClose:()=>{h(!1),p(null)}}),(0,n.jsxs)(C.Z,{open:j,onClose:()=>f(!1),children:[n.jsx(z.Z,{children:"Delete Backup Schedule"}),n.jsx(k.Z,{children:(0,n.jsxs)(r.Z,{children:['Are you sure you want to delete the schedule "',Z?.name,'"? This action cannot be undone.']})}),(0,n.jsxs)(S.Z,{children:[n.jsx(b.Z,{onClick:()=>f(!1),children:"Cancel"}),n.jsx(b.Z,{onClick:w,color:"error",variant:"contained",disabled:d.isPending,children:d.isPending?"Deleting...":"Delete"})]})]})]})}var Y=t(65137),X=t(22599),ee=t(40238),es=t(14302);function et({value:e,onChange:s}){return n.jsx(i.Z,{sx:{borderBottom:1,borderColor:"divider",mb:3},children:(0,n.jsxs)(Y.Z,{value:e,onChange:(e,t)=>s(t),"aria-label":"Backup management tabs",children:[n.jsx(X.Z,{value:"world-backups",label:"World Backups",icon:n.jsx(ee.Z,{}),iconPosition:"start",sx:{textTransform:"none",fontWeight:"medium"}}),n.jsx(X.Z,{value:"config-snapshots",label:"Config Snapshots",icon:n.jsx(es.Z,{}),iconPosition:"start",sx:{textTransform:"none",fontWeight:"medium"}})]})})}var en=t(40817),ea=t(77343),el=t(94543),er=t(70364),ei=t(43908),eo=t(88517),ed=t(63390);function ec({serverName:e,snapshots:s,totalCount:t,schedule:c,onViewHistory:u,onCreateSnapshot:h,onViewDiff:x}){let m=s.length>0?s[0]:null,p=s.length>=2;return n.jsx(a.Z,{variant:"outlined",sx:{"&:hover":{borderColor:"primary.main"}},children:(0,n.jsxs)(l.Z,{children:[n.jsx(i.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-between"},children:(0,n.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",gap:1.5,mb:1},children:[n.jsx(ei.Z,{color:"primary"}),n.jsx(r.Z,{variant:"h6",component:"h3",fontWeight:"bold",children:e})]})}),(0,n.jsxs)(I.Z,{direction:"row",spacing:2,sx:{mb:2,flexWrap:"wrap",gap:1},children:[m?n.jsx(T.Z,{title:`Latest: ${new Date(m.createdAt).toLocaleString()}`,children:n.jsx(o.Z,{icon:n.jsx(eo.Z,{sx:{fontSize:16}}),label:`Latest: ${function(e){let s=new Date,t=new Date(e),n=Math.floor((s.getTime()-t.getTime())/6e4),a=Math.floor(n/60),l=Math.floor(a/24);return n<1?"just now":n<60?`${n}m ago`:a<24?`${a}h ago`:l<30?`${l}d ago`:t.toLocaleDateString()}(m.createdAt)}`,size:"small",variant:"outlined"})}):n.jsx(o.Z,{label:"No snapshots yet",size:"small",variant:"outlined",color:"default"}),m&&n.jsx(o.Z,{label:`${m.files.length} files`,size:"small",variant:"outlined",color:"info"}),n.jsx(o.Z,{label:`${t} snapshot${1!==t?"s":""} total`,size:"small",variant:"outlined"}),c?n.jsx(T.Z,{title:`Schedule: ${c.name} (${c.cronExpression})`,children:n.jsx(o.Z,{icon:c.enabled?n.jsx(d.Z,{sx:{fontSize:16}}):n.jsx(q.Z,{sx:{fontSize:16}}),label:c.enabled?"Schedule: Active":"Schedule: Paused",size:"small",variant:"outlined",color:c.enabled?"success":"default"})}):n.jsx(o.Z,{label:"No schedule",size:"small",variant:"outlined",color:"default"})]}),(0,n.jsxs)(I.Z,{direction:"row",spacing:1,children:[n.jsx(b.Z,{size:"small",variant:"outlined",startIcon:n.jsx(eo.Z,{}),onClick:()=>u(e),disabled:0===t,children:"View History"}),n.jsx(b.Z,{size:"small",variant:"outlined",startIcon:n.jsx(en.Z,{}),onClick:()=>h(e),children:"Create Snapshot"}),p&&n.jsx(b.Z,{size:"small",variant:"outlined",startIcon:n.jsx(ed.Z,{}),onClick:()=>x(e),children:"View Diff"})]})]})})}function eu({servers:e,snapshotsByServer:s,schedules:t,isLoading:a,error:l,onViewHistory:o,onCreateSnapshot:d,onViewDiff:c}){let u=(0,x.useMemo)(()=>e.map(e=>{let n=s.get(e.name),a=t.find(s=>s.serverName===e.name);return{serverName:e.name,snapshots:n?.snapshots??[],totalCount:n?.total??0,schedule:a}}),[e,s,t]);return a?n.jsx(i.Z,{sx:{display:"flex",justifyContent:"center",py:4},children:n.jsx(P.Z,{})}):l?(0,n.jsxs)(D.Z,{severity:"error",children:["Failed to load config snapshots: ",l.message]}):0===e.length?(0,n.jsxs)(i.Z,{sx:{textAlign:"center",py:6},children:[n.jsx(es.Z,{sx:{fontSize:48,color:"text.disabled",mb:1}}),n.jsx(r.Z,{color:"text.secondary",children:"No servers found"}),n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Create a server to start taking config snapshots"})]}):n.jsx(I.Z,{spacing:2,children:u.map(e=>n.jsx(ec,{serverName:e.serverName,snapshots:e.snapshots,totalCount:e.totalCount,schedule:e.schedule,onViewHistory:o,onCreateSnapshot:d,onViewDiff:c},e.serverName))})}var eh=t(48833),ex=t(33549),em=t(33615);function ep({schedule:e,onEdit:s,onDelete:t,onToggle:a,toggleLoading:l}){return(0,n.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",py:1.5,px:1,"&:hover":{bgcolor:"action.hover",borderRadius:1}},children:[(0,n.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",gap:2,flex:1,minWidth:0},children:[n.jsx(q.Z,{color:e.enabled?"primary":"disabled"}),(0,n.jsxs)(i.Z,{sx:{minWidth:0},children:[n.jsx(r.Z,{variant:"body2",fontWeight:"medium",noWrap:!0,children:e.name}),(0,n.jsxs)(r.Z,{variant:"caption",color:"text.secondary",noWrap:!0,children:[e.serverName," | ",e.cronExpression," | Retain: ",e.retentionCount]})]})]}),(0,n.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",gap:1,flexShrink:0},children:[e.lastRunStatus&&n.jsx(T.Z,{title:e.lastRunAt?`Last run: ${function(e){let s=new Date,t=new Date(e),n=Math.floor((s.getTime()-t.getTime())/6e4),a=Math.floor(n/60);return n<1?"just now":n<60?`${n}m ago`:a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}(e.lastRunAt)} (${e.lastRunStatus})`:e.lastRunStatus,children:n.jsx(o.Z,{icon:"success"===e.lastRunStatus?n.jsx(d.Z,{sx:{fontSize:16}}):n.jsx(c.Z,{sx:{fontSize:16}}),label:"success"===e.lastRunStatus?"OK":"Failed",size:"small",color:"success"===e.lastRunStatus?"success":"error",variant:"outlined"})}),n.jsx(T.Z,{title:e.enabled?"Disable schedule":"Enable schedule",children:n.jsx(R.Z,{size:"small",checked:e.enabled,onChange:(s,t)=>a(e,t),disabled:l})}),n.jsx(T.Z,{title:"Edit schedule",children:n.jsx(v.Z,{size:"small",onClick:()=>s(e),children:n.jsx(E.Z,{fontSize:"small"})})}),n.jsx(T.Z,{title:"Delete schedule",children:n.jsx(v.Z,{size:"small",color:"error",onClick:()=>t(e),children:n.jsx(L.Z,{fontSize:"small"})})})]})]})}function ej({schedules:e,onEdit:s,onDelete:t,onToggle:a,toggleLoading:l}){return 0===e.length?(0,n.jsxs)(i.Z,{sx:{textAlign:"center",py:3},children:[n.jsx(q.Z,{sx:{fontSize:40,color:"text.disabled",mb:1}}),n.jsx(r.Z,{color:"text.secondary",variant:"body2",children:"No config snapshot schedules configured"})]}):n.jsx(I.Z,{divider:n.jsx(W.Z,{}),children:e.map(e=>n.jsx(ep,{schedule:e,onEdit:s,onDelete:t,onToggle:a,toggleLoading:l},e.id))})}let ef=[{label:"Every hour",value:"0 * * * *"},{label:"Every 6 hours",value:"0 */6 * * *"},{label:"Daily at midnight",value:"0 0 * * *"},{label:"Daily at 3 AM",value:"0 3 * * *"},{label:"Weekly (Sunday midnight)",value:"0 0 * * 0"},{label:"Custom",value:""}];function eZ({serverNames:e,editingSchedule:s,onSubmit:t,onUpdate:a,onCancel:l,isSubmitting:o,error:d}){let c=!!s,[u,h]=(0,x.useState)(s?.serverName||""),[m,p]=(0,x.useState)(s?.name||""),[j,f]=(0,x.useState)(""),[Z,g]=(0,x.useState)(s?.cronExpression||"0 0 * * *"),[v,y]=(0,x.useState)(s?.retentionCount??10),C=e=>{f(e),e&&g(e)},S=(c||u)&&m.trim()&&Z.trim();return(0,n.jsxs)(i.Z,{sx:{display:"flex",flexDirection:"column",gap:2},children:[n.jsx(r.Z,{variant:"subtitle2",color:"text.secondary",children:c?"Edit Schedule":"Create New Schedule"}),!c&&(0,n.jsxs)(H.Z,{fullWidth:!0,size:"small",required:!0,children:[n.jsx(O.Z,{children:"Server"}),n.jsx(U.Z,{value:u,onChange:e=>h(e.target.value),label:"Server",disabled:o,children:e.map(e=>n.jsx(V.Z,{value:e,children:e},e))})]}),n.jsx(B.Z,{label:"Schedule Name",value:m,onChange:e=>p(e.target.value),placeholder:"e.g., Daily config backup",size:"small",fullWidth:!0,required:!0,disabled:o}),(0,n.jsxs)(H.Z,{fullWidth:!0,size:"small",children:[n.jsx(O.Z,{children:"Cron Preset"}),n.jsx(U.Z,{value:j,onChange:e=>C(e.target.value),label:"Cron Preset",disabled:o,children:ef.map(e=>n.jsx(V.Z,{value:e.value,children:e.label},e.label))})]}),n.jsx(B.Z,{label:"Cron Expression",value:Z,onChange:e=>g(e.target.value),placeholder:"0 0 * * *",size:"small",fullWidth:!0,required:!0,disabled:o,helperText:"Standard cron format: minute hour day month weekday"}),n.jsx(B.Z,{label:"Retention Count",type:"number",value:v,onChange:e=>y(Math.max(1,parseInt(e.target.value)||1)),size:"small",fullWidth:!0,disabled:o,helperText:"Maximum number of scheduled snapshots to keep per server",inputProps:{min:1,max:100}}),d&&n.jsx(D.Z,{severity:"error",sx:{py:0},children:d}),(0,n.jsxs)(i.Z,{sx:{display:"flex",gap:1,justifyContent:"flex-end"},children:[n.jsx(b.Z,{size:"small",onClick:l,disabled:o,children:"Cancel"}),n.jsx(b.Z,{size:"small",variant:"contained",onClick:()=>{c&&a?a({name:m.trim(),cronExpression:Z,retentionCount:v}):t({serverName:u,name:m.trim(),cronExpression:Z,retentionCount:v})},disabled:!S||o,children:o?"Saving...":c?"Update":"Create"})]})]})}function eg({open:e,onClose:s,serverNames:t,filterServerName:a}){let{data:l,isLoading:o,error:d}=(0,er.F$)(a),c=(0,er.wh)(),u=(0,er.Uw)(),h=(0,er.DW)(),m=(0,er.$C)(),[p,j]=(0,x.useState)(!1),[f,Z]=(0,x.useState)(null),[g,y]=(0,x.useState)(!1),[w,M]=(0,x.useState)(null),$=l?.schedules??[],B=async()=>{if(w)try{await m.mutateAsync(w.id)}catch{}y(!1),M(null)},A=async e=>{try{await c.mutateAsync({serverName:e.serverName,name:e.name,cronExpression:e.cronExpression,retentionCount:e.retentionCount}),j(!1)}catch{}},F=async e=>{if(f)try{await u.mutateAsync({id:f.id,data:e}),j(!1),Z(null)}catch{}},R=c.error?.message||u.error?.message||null;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(ex.ZP,{anchor:"right",open:e,onClose:s,PaperProps:{sx:{width:{xs:"100%",sm:480},p:3}},children:[(0,n.jsxs)(i.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[n.jsx(r.Z,{variant:"h6",fontWeight:"bold",children:"Config Snapshot Schedules"}),n.jsx(v.Z,{onClick:s,size:"small",children:n.jsx(em.Z,{})})]}),n.jsx(W.Z,{sx:{mb:2}}),!p&&n.jsx(b.Z,{variant:"outlined",startIcon:n.jsx(N.Z,{}),onClick:()=>{Z(null),j(!0)},fullWidth:!0,sx:{mb:2},children:"Add Schedule"}),p&&(0,n.jsxs)(i.Z,{sx:{mb:2},children:[n.jsx(eZ,{serverNames:t,editingSchedule:f,onSubmit:A,onUpdate:F,onCancel:()=>{j(!1),Z(null),c.reset(),u.reset()},isSubmitting:c.isPending||u.isPending,error:R}),n.jsx(W.Z,{sx:{mt:2}})]}),o?n.jsx(i.Z,{sx:{display:"flex",justifyContent:"center",py:4},children:n.jsx(P.Z,{})}):d?n.jsx(D.Z,{severity:"error",children:"Failed to load schedules"}):n.jsx(ej,{schedules:$,onEdit:e=>{Z(e),j(!0)},onDelete:e=>{M(e),y(!0)},onToggle:(e,s)=>{h.mutate({id:e.id,enabled:s})},toggleLoading:h.isPending})]}),(0,n.jsxs)(C.Z,{open:g,onClose:()=>y(!1),children:[n.jsx(z.Z,{children:"Delete Config Snapshot Schedule"}),n.jsx(k.Z,{children:(0,n.jsxs)(r.Z,{children:['Are you sure you want to delete the schedule "',w?.name,'"? Existing snapshots created by this schedule will be preserved.']})}),(0,n.jsxs)(S.Z,{children:[n.jsx(b.Z,{onClick:()=>y(!1),children:"Cancel"}),n.jsx(b.Z,{onClick:B,color:"error",variant:"contained",disabled:m.isPending,children:m.isPending?"Deleting...":"Delete"})]})]})]})}var ev=t(1044);function ey(){let{data:e,isLoading:s}=(0,u.x$)(),t=e?.servers??[],a=t.map(e=>e.name),{snapshotsByServer:l,isLoading:o,error:d}=function(e){let s=e.map(e=>({name:e,query:(0,el.m)(e,5,0,{enabled:!!e})})),t=s.some(e=>e.query.isLoading),n=s.find(e=>e.query.error)?.query.error||null;return{snapshotsByServer:(0,x.useMemo)(()=>{let e=new Map;for(let t of s)t.query.data&&e.set(t.name,{snapshots:t.query.data.snapshots,total:t.query.data.total});return e},[s]),isLoading:t,error:n}}(a),{data:c}=(0,er.F$)(),h=c?.schedules??[],[m,p]=(0,x.useState)(!1),[j,f]=(0,x.useState)(void 0),[Z,g]=(0,x.useState)(!1),[v,y]=(0,x.useState)(!1),[C,S]=(0,x.useState)(""),k=(0,x.useMemo)(()=>{if(!C)return{snapshotA:null,snapshotB:null};let e=l.get(C);return!e||e.snapshots.length<2?{snapshotA:null,snapshotB:null}:{snapshotA:e.snapshots[1],snapshotB:e.snapshots[0]}},[C,l]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(i.Z,{sx:{display:"flex",justifyContent:"flex-end",gap:1,mb:2},children:[n.jsx(b.Z,{variant:"outlined",size:"small",startIcon:n.jsx(ea.Z,{}),onClick:()=>g(!0),children:"Manage Schedules"}),n.jsx(b.Z,{variant:"contained",size:"small",startIcon:n.jsx(en.Z,{}),onClick:()=>{f(void 0),p(!0)},children:"Create Snapshot"})]}),n.jsx(r.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"Config snapshots capture server configuration files (server.properties, config.env, etc.) for versioning, comparison, and restore operations."}),n.jsx(eu,{servers:t,snapshotsByServer:l,schedules:h,isLoading:s||o,error:d,onViewHistory:e=>{let s=l.get(e);s&&s.snapshots.length>0&&(S(e),y(!0))},onCreateSnapshot:e=>{f(e),p(!0)},onViewDiff:e=>{S(e),y(!0)}}),n.jsx(eh.e,{open:m,onClose:()=>{p(!1),f(void 0)},serverNames:a,defaultServer:j}),n.jsx(eg,{open:Z,onClose:()=>g(!1),serverNames:a}),v&&k.snapshotA&&k.snapshotB&&n.jsx(ev.YN,{open:v,onClose:()=>{y(!1),S("")},snapshotA:k.snapshotA,snapshotB:k.snapshotB})]})}},96587:(e,s,t)=>{t.d(s,{m:()=>l});var n=t(30731),a=t(43137);function l(e,s,t){return(0,n.a)({queryKey:["config-snapshots","diff",e,s],queryFn:()=>(0,a.SC)(`/api/config-snapshots/${encodeURIComponent(e)}/diff/${encodeURIComponent(s)}`),enabled:t?.enabled!==!1&&!!e&&!!s,staleTime:3e5})}},70364:(e,s,t)=>{t.d(s,{$C:()=>u,DW:()=>c,F$:()=>i,Uw:()=>d,wh:()=>o});var n=t(30731),a=t(95343),l=t(20042),r=t(43137);function i(e){let s=e?`?serverName=${encodeURIComponent(e)}`:"";return(0,n.a)({queryKey:["config-snapshot-schedules",e||"all"],queryFn:()=>(0,r.SC)(`/api/config-snapshot-schedules${s}`),refetchInterval:6e4})}function o(){let e=(0,a.NL)();return(0,l.D)({mutationFn:e=>(0,r.SC)("/api/config-snapshot-schedules",{method:"POST",body:JSON.stringify(e)}),onSuccess:()=>{e.invalidateQueries({queryKey:["config-snapshot-schedules"]})}})}function d(){let e=(0,a.NL)();return(0,l.D)({mutationFn:({id:e,data:s})=>(0,r.SC)(`/api/config-snapshot-schedules/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(s)}),onSuccess:()=>{e.invalidateQueries({queryKey:["config-snapshot-schedules"]})}})}function c(){let e=(0,a.NL)();return(0,l.D)({mutationFn:({id:e,enabled:s})=>(0,r.SC)(`/api/config-snapshot-schedules/${encodeURIComponent(e)}/toggle`,{method:"PATCH",body:JSON.stringify({enabled:s})}),onSuccess:()=>{e.invalidateQueries({queryKey:["config-snapshot-schedules"]})}})}function u(){let e=(0,a.NL)();return(0,l.D)({mutationFn:e=>(0,r.SC)(`/api/config-snapshot-schedules/${encodeURIComponent(e)}`,{method:"DELETE"}),onSuccess:()=>{e.invalidateQueries({queryKey:["config-snapshot-schedules"]})}})}},94543:(e,s,t)=>{t.d(s,{m:()=>i,t:()=>o});var n=t(30731),a=t(95343),l=t(20042),r=t(43137);function i(e,s=20,t=0,a){return(0,n.a)({queryKey:["config-snapshots","list",e,s,t],queryFn:()=>(0,r.SC)(`/api/servers/${encodeURIComponent(e)}/config-snapshots?limit=${s}&offset=${t}`),enabled:a?.enabled!==!1&&!!e,refetchInterval:6e4})}function o(){let e=(0,a.NL)();return(0,l.D)({mutationFn:({serverName:e,description:s})=>(0,r.SC)(`/api/servers/${encodeURIComponent(e)}/config-snapshots`,{method:"POST",body:JSON.stringify({description:s})}),onSuccess:(s,{serverName:t})=>{e.invalidateQueries({queryKey:["config-snapshots","list",t]}),e.invalidateQueries({queryKey:["config-snapshots"]})}})}}};
1
+ "use strict";exports.id=5841,exports.ids=[5841],exports.modules={40817:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"AddCircleOutline")},40238:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M14 13v4h-4v-4H7l5-5 5 5z"}),"CloudUpload")},63390:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"M9.01 14H2v2h7.01v3L13 15l-3.99-4zm5.98-1v-3H22V8h-7.01V5L11 9z"}),"CompareArrows")},67175:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"m14.06 9.02.92.92L5.92 19H5v-.92zM17.66 3c-.25 0-.51.1-.7.29l-1.83 1.83 3.75 3.75 1.83-1.83c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.2-.2-.45-.29-.71-.29m-3.6 3.19L3 17.25V21h3.75L17.81 9.94z"}),"EditOutlined")},81872:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"M7 11v2h10v-2zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"RemoveCircleOutline")},4899:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9m-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8z"}),"Restore")},16007:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)([(0,l.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,l.jsx)("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"},"1")],"Schedule")},14302:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"M14 12c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2m-2-9c-4.97 0-9 4.03-9 9H0l4 4 4-4H5c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.51 0-2.91-.49-4.06-1.3l-1.42 1.44C8.04 20.3 9.94 21 12 21c4.97 0 9-4.03 9-9s-4.03-9-9-9"}),"SettingsBackupRestore")},36890:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"M14.67 5v14H9.33V5zm1 14H21V5h-5.33zm-7.34 0V5H3v14z"}),"ViewColumn")},85377:(e,s,t)=>{var n=t(66682);s.Z=void 0;var a=n(t(7750)),l=t(58120);s.Z=(0,a.default)((0,l.jsx)("path",{d:"M3 17v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2M3 7v2c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2"}),"ViewStream")},69208:(e,s,t)=>{Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return l}});let n=t(70381);t(58120),t(36372);let a=n._(t(62037));function l(e,s){var t;let n={loading:e=>{let{error:s,isLoading:t,pastDelay:n}=e;return null}};"function"==typeof e&&(n.loader=e);let l={...n,...s};return(0,a.default)({...l,modules:null==(t=l.loadableGenerated)?void 0:t.modules})}("function"==typeof s.default||"object"==typeof s.default&&null!==s.default)&&void 0===s.default.__esModule&&(Object.defineProperty(s.default,"__esModule",{value:!0}),Object.assign(s.default,s),e.exports=s.default)},29351:(e,s,t)=>{Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"BailoutToCSR",{enumerable:!0,get:function(){return a}});let n=t(89240);function a(e){let{reason:s,children:t}=e;throw new n.BailoutToCSRError(s)}},62037:(e,s,t)=>{Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return d}});let n=t(58120),a=t(36372),l=t(29351),r=t(17445);function i(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(i(()=>null)),loading:null,ssr:!0},d=function(e){let s={...o,...e},t=(0,a.lazy)(()=>s.loader().then(i)),d=s.loading;function c(e){let i=d?(0,n.jsx)(d,{isLoading:!0,pastDelay:!0,error:null}):null,o=s.ssr?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.PreloadCss,{moduleIds:s.modules}),(0,n.jsx)(t,{...e})]}):(0,n.jsx)(l.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(t,{...e})});return(0,n.jsx)(a.Suspense,{fallback:i,children:o})}return c.displayName="LoadableComponent",c}},17445:(e,s,t)=>{Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"PreloadCss",{enumerable:!0,get:function(){return l}});let n=t(58120),a=t(54580);function l(e){let{moduleIds:s}=e,t=(0,a.getExpectedRequestStore)("next/dynamic css"),l=[];if(t.reactLoadableManifest&&s){let e=t.reactLoadableManifest;for(let t of s){if(!e[t])continue;let s=e[t].files.filter(e=>e.endsWith(".css"));l.push(...s)}}return 0===l.length?null:(0,n.jsx)(n.Fragment,{children:l.map(e=>(0,n.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:t.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}},48833:(e,s,t)=>{t.d(s,{e:()=>g});var n=t(58120),a=t(36372),l=t(34443),r=t(44696),i=t(15539),o=t(51290),d=t(10257),c=t(6275),u=t(32486),h=t(2200),x=t(73276),m=t(99634),p=t(66757),j=t(79943),f=t(89352),Z=t(94543);function g({open:e,onClose:s,serverNames:t,defaultServer:g}){let[v,y]=(0,a.useState)(g||""),[b,C]=(0,a.useState)(""),S=(0,Z.t)(),k=async()=>{if(v)try{await S.mutateAsync({serverName:v,description:b.trim()||void 0}),w()}catch{}},w=()=>{S.isPending||(y(g||""),C(""),S.reset(),s())};return(0,n.jsxs)(l.Z,{open:e,onClose:w,maxWidth:"sm",fullWidth:!0,children:[n.jsx(r.Z,{children:"Create Config Snapshot"}),n.jsx(i.Z,{children:(0,n.jsxs)(f.Z,{sx:{display:"flex",flexDirection:"column",gap:2,mt:1},children:[(0,n.jsxs)(u.Z,{fullWidth:!0,required:!0,children:[n.jsx(h.Z,{children:"Server"}),n.jsx(x.Z,{value:v,onChange:e=>y(e.target.value),label:"Server",disabled:S.isPending||!!g,children:t.map(e=>n.jsx(m.Z,{value:e,children:e},e))})]}),n.jsx(c.Z,{label:"Description (optional)",value:b,onChange:e=>C(e.target.value),placeholder:"e.g., Before modpack update",fullWidth:!0,disabled:S.isPending}),S.isError&&n.jsx(p.Z,{severity:"error",children:S.error?.message||"Failed to create snapshot"}),S.isPending&&n.jsx(p.Z,{severity:"info",icon:n.jsx(j.Z,{size:20}),children:"Creating snapshot... This may take a moment."})]})}),(0,n.jsxs)(o.Z,{children:[n.jsx(d.Z,{onClick:w,disabled:S.isPending,children:"Cancel"}),n.jsx(d.Z,{onClick:k,variant:"contained",disabled:!v||S.isPending,children:S.isPending?"Creating...":"Create Snapshot"})]})]})}},1044:(e,s,t)=>{t.d(s,{YN:()=>_});var n=t(58120),a=t(36372),l=t(10257),r=t(34443),i=t(44696),o=t(15539),d=t(51290),c=t(89352),u=t(2365),h=t(66757),x=t(79943),m=t(54365),p=t(80336),j=t(98693),f=t(62073),Z=t(33615),g=t(4899),v=t(63390),y=t(96587),b=t(58664),C=t(19609),S=t(63654),k=t(63856),w=t(98243),z=t(40817),D=t(67175),P=t(81872);function M({changes:e,selectedFile:s,onSelectFile:t}){let l=(0,a.useCallback)((s,n,a)=>{"ArrowUp"===s.key&&a>0?(s.preventDefault(),t(e[a-1].path)):"ArrowDown"===s.key&&a<e.length-1?(s.preventDefault(),t(e[a+1].path)):("Enter"===s.key||" "===s.key)&&(s.preventDefault(),t(n))},[e,t]);return 0===e.length?n.jsx(c.Z,{sx:{p:2},children:n.jsx(u.Z,{variant:"body2",color:"text.secondary",children:"No changes"})}):(0,n.jsxs)(c.Z,{sx:{height:"100%",overflow:"auto",borderRight:1,borderColor:"divider"},role:"tree","aria-label":"Changed files",children:[(0,n.jsxs)(u.Z,{variant:"caption",sx:{display:"block",px:2,py:1,color:"text.secondary",fontWeight:"medium",letterSpacing:"0.08em",textTransform:"uppercase",borderBottom:1,borderColor:"divider",bgcolor:"background.paper"},children:["Changed Files (",e.length,")"]}),n.jsx(b.Z,{dense:!0,disablePadding:!0,role:"group",children:e.map((e,a)=>{let r=function(e){switch(e){case"added":return{icon:n.jsx(z.Z,{fontSize:"small"}),color:"success.main",label:"Added"};case"modified":return{icon:n.jsx(D.Z,{fontSize:"small"}),color:"warning.main",label:"Modified"};case"deleted":return{icon:n.jsx(P.Z,{fontSize:"small"}),color:"error.main",label:"Deleted"}}}(e.status),i=function(e){let s=e.split("/");return s[s.length-1]}(e.path),o=function(e){let s=e.split("/");return s.length<=1?"":s.slice(0,-1).join("/")}(e.path),d=s===e.path;return n.jsx(w.Z,{title:`${r.label}: ${e.path}`,placement:"right",children:(0,n.jsxs)(C.Z,{selected:d,onClick:()=>t(e.path),onKeyDown:s=>l(s,e.path,a),role:"treeitem","aria-selected":d,"aria-label":`${e.path} - ${r.label}`,sx:{py:.75,"&.Mui-selected":{bgcolor:"action.selected"}},children:[n.jsx(S.Z,{sx:{minWidth:32,color:r.color},children:r.icon}),n.jsx(k.Z,{primary:i,secondary:o||void 0,primaryTypographyProps:{variant:"body2",sx:{fontFamily:"monospace",fontSize:"0.8rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},secondaryTypographyProps:{variant:"caption",sx:{fontFamily:"monospace",fontSize:"0.7rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}})]})},e.path)})})]})}var $=t(69208),B=t.n($),A=t(48787);let F=B()(async()=>{},{loadableGenerated:{modules:["components/backups/diff/ConfigDiffViewer.tsx -> react-diff-viewer-continued"]},ssr:!1});function R({change:e,viewMode:s,fileRef:t}){let a="added"===e.status?"":e.oldContent??"",l="deleted"===e.status?"":e.newContent??"";return(0,n.jsxs)(c.Z,{ref:t,sx:{mb:3},"data-file-path":e.path,id:`diff-file-${e.path.replace(/[^a-zA-Z0-9]/g,"-")}`,children:[(0,n.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",gap:1,px:2,py:1,bgcolor:"background.default",borderTop:1,borderBottom:1,borderColor:"divider",position:"sticky",top:0,zIndex:1},children:[function(e){switch(e){case"added":return n.jsx(z.Z,{fontSize:"small",sx:{color:"success.main"}});case"modified":return n.jsx(D.Z,{fontSize:"small",sx:{color:"warning.main"}});case"deleted":return n.jsx(P.Z,{fontSize:"small",sx:{color:"error.main"}})}}(e.status),n.jsx(u.Z,{variant:"body2",sx:{fontFamily:"monospace",fontWeight:"bold",flex:1},children:e.path}),n.jsx(A.Z,{label:function(e){switch(e){case"added":return"added";case"modified":return"modified";case"deleted":return"deleted"}}(e.status),size:"small",color:function(e){switch(e){case"added":return"success";case"modified":return"warning";case"deleted":return"error"}}(e.status),variant:"outlined"})]}),n.jsx(c.Z,{sx:{fontSize:"0.8rem",overflow:"auto"},children:n.jsx(F,{oldValue:a,newValue:l,splitView:"split"===s,useDarkTheme:!0,hideLineNumbers:!1,showDiffOnly:!0,styles:{variables:{dark:{diffViewerBackground:"#1a1a1a",addedBackground:"#1a3a1a",addedColor:"#4caf50",removedBackground:"#3a1a1a",removedColor:"#f44336",wordAddedBackground:"#2d5a2d",wordRemovedBackground:"#5a2d2d",emptyLineBackground:"#1a1a1a",gutterBackground:"#111",gutterColor:"#555",codeFoldBackground:"#111",codeFoldGutterBackground:"#111"}}}})})]})}function I({changes:e,selectedFile:s,viewMode:t}){let l=(0,a.useRef)(new Map),r=(0,a.useRef)(null);return 0===e.length?n.jsx(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",p:4},children:n.jsx(u.Z,{variant:"body1",color:"text.secondary",children:"No differences between these snapshots"})}):n.jsx(c.Z,{ref:r,sx:{height:"100%",overflow:"auto","& table":{width:"100%"}},children:e.map((s,a)=>(0,n.jsxs)(c.Z,{children:[n.jsx(R,{change:s,viewMode:t,fileRef:e=>{e?l.current.set(s.path,e):l.current.delete(s.path)}}),a<e.length-1&&n.jsx(p.Z,{})]},s.path))})}var T=t(95661),W=t(95257),N=t(85377),E=t(36890);function L({value:e,onChange:s}){return(0,n.jsxs)(W.Z,{value:e,exclusive:!0,onChange:(e,t)=>{null!==t&&s(t)},"aria-label":"Diff view mode",size:"small",children:[n.jsx(w.Z,{title:"Unified diff view",children:n.jsx(T.Z,{value:"unified","aria-label":"Unified view",children:n.jsx(N.Z,{fontSize:"small"})})}),n.jsx(w.Z,{title:"Side-by-side diff view",children:n.jsx(T.Z,{value:"split","aria-label":"Split view",children:n.jsx(E.Z,{fontSize:"small"})})})]})}var q=t(29564),H=t(27429),O=t(96454);function U({summary:e}){let{added:s,modified:t,deleted:a}=e;return 0===s+t+a?n.jsx(c.Z,{sx:{display:"flex",alignItems:"center",gap:1,px:2,py:1,borderTop:1,borderColor:"divider",bgcolor:"background.paper"},children:n.jsx(u.Z,{variant:"body2",color:"text.secondary",children:"No differences found between snapshots"})}):(0,n.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",gap:1.5,px:2,py:1,borderTop:1,borderColor:"divider",bgcolor:"background.paper",flexWrap:"wrap"},role:"status","aria-label":`Summary: ${s} added, ${t} modified, ${a} deleted`,children:[n.jsx(u.Z,{variant:"caption",color:"text.secondary",sx:{fontWeight:"medium"},children:"Summary:"}),t>0&&n.jsx(A.Z,{icon:n.jsx(H.Z,{sx:{fontSize:"0.875rem"}}),label:`${t} modified`,size:"small",sx:{bgcolor:"warning.dark",color:"warning.contrastText","& .MuiChip-icon":{color:"warning.contrastText"}}}),s>0&&n.jsx(A.Z,{icon:n.jsx(q.Z,{sx:{fontSize:"0.875rem"}}),label:`${s} added`,size:"small",sx:{bgcolor:"success.dark",color:"success.contrastText","& .MuiChip-icon":{color:"success.contrastText"}}}),a>0&&n.jsx(A.Z,{icon:n.jsx(O.Z,{sx:{fontSize:"0.875rem"}}),label:`${a} deleted`,size:"small",sx:{bgcolor:"error.dark",color:"error.contrastText","& .MuiChip-icon":{color:"error.contrastText"}}})]})}function V(e){return new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(e))}function _({open:e,snapshotA:s,snapshotB:t,onClose:b,onRestoreA:C}){let S=(0,f.Z)(),k=(0,j.Z)(S.breakpoints.down("md")),[w,z]=(0,a.useState)(void 0),[D,P]=(0,a.useState)("unified"),{data:$,isLoading:B,isError:A,error:F}=(0,y.m)(s.id,t.id,{enabled:e});(0,a.useCallback)(e=>{"Escape"===e.key&&b()},[b]);let R=(0,a.useCallback)(e=>{z(e)},[]),T=(0,a.useCallback)(()=>{C?.(s),b()},[C,s,b]);return(0,n.jsxs)(r.Z,{open:e,onClose:b,maxWidth:"xl",fullWidth:!0,fullScreen:k,"aria-labelledby":"config-diff-dialog-title",PaperProps:{sx:{height:k?"100%":"90vh",maxHeight:k?"100%":"90vh",display:"flex",flexDirection:"column"}},children:[(0,n.jsxs)(i.Z,{id:"config-diff-dialog-title",sx:{display:"flex",alignItems:"center",gap:1,pb:1,flexShrink:0},children:[n.jsx(v.Z,{color:"primary"}),(0,n.jsxs)(c.Z,{sx:{flex:1},children:[n.jsx(u.Z,{variant:"h6",component:"span",children:"Config Diff"}),(0,n.jsxs)(u.Z,{variant:"body2",color:"text.secondary",sx:{display:"block",mt:.25},children:["Snapshot A: ",V(s.createdAt),n.jsx(c.Z,{component:"span",sx:{mx:1},children:"vs"}),"Snapshot B: ",V(t.createdAt)]})]}),n.jsx(L,{value:D,onChange:P}),n.jsx(m.Z,{onClick:b,"aria-label":"Close diff dialog",size:"small",sx:{ml:1},children:n.jsx(Z.Z,{})})]}),n.jsx(p.Z,{}),(0,n.jsxs)(o.Z,{sx:{flex:1,overflow:"hidden",display:"flex",flexDirection:"column",p:0},children:[B&&(0,n.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",flex:1,gap:2},children:[n.jsx(x.Z,{size:24}),n.jsx(u.Z,{variant:"body2",color:"text.secondary",children:"Loading diff..."})]}),A&&n.jsx(c.Z,{sx:{p:2},children:(0,n.jsxs)(h.Z,{severity:"error",children:["Failed to load diff: ",F?.message??"Unknown error"]})}),$&&(0,n.jsxs)(c.Z,{sx:{flex:1,display:"flex",flexDirection:{xs:"column",md:"row"},overflow:"hidden"},children:[n.jsx(c.Z,{sx:{width:{xs:"100%",md:220},flexShrink:0,height:{xs:"auto",md:"100%"},maxHeight:{xs:160,md:"none"},overflow:"auto"},children:n.jsx(M,{changes:$.changes,selectedFile:w,onSelectFile:R})}),n.jsx(p.Z,{orientation:k?"horizontal":"vertical"}),n.jsx(c.Z,{sx:{flex:1,overflow:"auto"},children:n.jsx(I,{changes:$.changes,selectedFile:w,viewMode:D})})]})]}),$&&(0,n.jsxs)(n.Fragment,{children:[n.jsx(p.Z,{}),n.jsx(U,{summary:$.summary})]}),n.jsx(p.Z,{}),(0,n.jsxs)(d.Z,{sx:{px:2,py:1.5,flexShrink:0},children:[C&&n.jsx(l.Z,{onClick:T,variant:"outlined",color:"warning",startIcon:n.jsx(g.Z,{}),disabled:B,children:"Restore to Snapshot A"}),n.jsx(c.Z,{sx:{flex:1}}),n.jsx(l.Z,{onClick:b,variant:"contained",children:"Close"})]})]})}},15841:(e,s,t)=>{t.d(s,{zO:()=>$,Fb:()=>et,JZ:()=>F,Ff:()=>G,Xj:()=>h,zg:()=>eg,Dm:()=>ec,gE:()=>ey,ed:()=>eh.e});var n=t(58120),a=t(67073),l=t(92797),r=t(2365),i=t(89352),o=t(48787),d=t(56846),c=t(72690),u=t(74151);function h(){let{data:e,isLoading:s,error:t}=(0,u.mj)();if(s)return n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[n.jsx(r.Z,{variant:"h6",gutterBottom:!0,children:"Backup Status"}),n.jsx(r.Z,{color:"text.secondary",children:"Loading..."})]})});if(t)return n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[n.jsx(r.Z,{variant:"h6",gutterBottom:!0,children:"Backup Status"}),n.jsx(r.Z,{color:"error",children:"Failed to load backup status"})]})});let{configured:h,lastBackup:x,repository:m}=e||{};return n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[(0,n.jsxs)(i.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[n.jsx(r.Z,{variant:"h6",children:"Backup Status"}),n.jsx(o.Z,{icon:h?n.jsx(d.Z,{}):n.jsx(c.Z,{}),label:h?"Configured":"Not Configured",color:h?"success":"error",size:"small"})]}),h?(0,n.jsxs)(i.Z,{sx:{display:"flex",flexDirection:"column",gap:1},children:[m&&(0,n.jsxs)(i.Z,{children:[n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Repository"}),n.jsx(r.Z,{variant:"body2",sx:{fontFamily:"monospace",fontSize:"0.875rem"},children:m})]}),x&&(0,n.jsxs)(i.Z,{children:[n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Last Backup"}),n.jsx(r.Z,{variant:"body2",children:function(e){let s=new Date,t=new Date(e),n=Math.floor((s.getTime()-t.getTime())/6e4),a=Math.floor(n/60);return n<1?"just now":n<60?`${n} minutes ago`:a<24?`${a} hours ago`:`${Math.floor(a/24)} days ago`}(x)})]}),!x&&n.jsx(r.Z,{variant:"body2",color:"text.secondary",children:"No backups yet"})]}):n.jsx(r.Z,{variant:"body2",color:"text.secondary",children:"GitHub backup is not configured. Please configure BACKUP_REPO_URL in your environment."})]})})}var x=t(36372),m=t(37891),p=t(88916),j=t(75698),f=t(664),Z=t(70862),g=t(59059),v=t(54365),y=t(4899),b=t(10257),C=t(34443),S=t(51290),k=t(15539),w=t(54458),z=t(44696),D=t(66757),P=t(79943);function M({open:e,commit:s,onClose:t}){var a;let{mutate:l,isPending:o}=(0,u.s8)(),[d,c]=(0,x.useState)(""),[h,m]=(0,x.useState)(""),p=()=>{o||(c(""),m(""),t())};return(0,n.jsxs)(C.Z,{open:e,onClose:p,maxWidth:"sm",fullWidth:!0,children:[n.jsx(z.Z,{children:"Restore Backup"}),(0,n.jsxs)(k.Z,{children:[n.jsx(D.Z,{severity:"warning",sx:{mb:2},children:"This will restore all worlds from the selected backup. Current world data will be overwritten."}),d&&n.jsx(D.Z,{severity:"success",sx:{mb:2},children:d}),h&&n.jsx(D.Z,{severity:"error",sx:{mb:2},children:h}),n.jsx(w.Z,{sx:{mb:2},children:"Are you sure you want to restore from this backup?"}),(0,n.jsxs)(i.Z,{sx:{display:"flex",flexDirection:"column",gap:1},children:[(0,n.jsxs)(i.Z,{children:[n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Commit Hash"}),n.jsx(r.Z,{variant:"body2",sx:{fontFamily:"monospace",fontSize:"0.875rem"},children:s.hash})]}),(0,n.jsxs)(i.Z,{children:[n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Date"}),n.jsx(r.Z,{variant:"body2",children:(a=s.date,new Intl.DateTimeFormat(void 0,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date(a)))})]}),(0,n.jsxs)(i.Z,{children:[n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Message"}),n.jsx(r.Z,{variant:"body2",children:s.message})]}),(0,n.jsxs)(i.Z,{children:[n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Author"}),n.jsx(r.Z,{variant:"body2",children:s.author})]})]})]}),(0,n.jsxs)(S.Z,{children:[n.jsx(b.Z,{onClick:p,disabled:o,children:"Cancel"}),n.jsx(b.Z,{onClick:()=>{c(""),m(""),l(s.hash,{onSuccess:()=>{c(`Backup restored successfully from ${s.hash.substring(0,7)}`),setTimeout(()=>{t()},2e3)},onError:e=>{m(`Failed to restore backup: ${e.message}`)}})},variant:"contained",color:"warning",disabled:o,startIcon:o?n.jsx(P.Z,{size:16}):n.jsx(y.Z,{}),children:o?"Restoring...":"Restore"})]})]})}function $(){let{data:e,isLoading:s,error:t}=(0,u.$t)(20),[i,d]=(0,x.useState)(null),c=e=>{d(e)};if(s)return n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[n.jsx(r.Z,{variant:"h6",gutterBottom:!0,children:"Backup History"}),n.jsx(r.Z,{color:"text.secondary",children:"Loading..."})]})});if(t)return n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[n.jsx(r.Z,{variant:"h6",gutterBottom:!0,children:"Backup History"}),n.jsx(r.Z,{color:"error",children:"Failed to load backup history"})]})});let h=e?.commits||[];return(0,n.jsxs)(n.Fragment,{children:[n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[n.jsx(r.Z,{variant:"h6",gutterBottom:!0,children:"Backup History"}),0===h.length?n.jsx(r.Z,{color:"text.secondary",children:"No backup history available"}):n.jsx(f.Z,{children:(0,n.jsxs)(m.Z,{children:[n.jsx(Z.Z,{children:(0,n.jsxs)(g.Z,{children:[n.jsx(j.Z,{children:"Commit"}),n.jsx(j.Z,{children:"Date"}),n.jsx(j.Z,{children:"Message"}),n.jsx(j.Z,{children:"Author"}),n.jsx(j.Z,{align:"right",children:"Actions"})]})}),n.jsx(p.Z,{children:h.map(e=>{var s;return(0,n.jsxs)(g.Z,{children:[n.jsx(j.Z,{children:n.jsx(o.Z,{label:e.hash.substring(0,7),size:"small",variant:"outlined",sx:{fontFamily:"monospace"}})}),n.jsx(j.Z,{children:n.jsx(r.Z,{variant:"body2",children:(s=e.date,new Intl.DateTimeFormat(void 0,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(new Date(s)))})}),n.jsx(j.Z,{children:n.jsx(r.Z,{variant:"body2",children:e.message})}),n.jsx(j.Z,{children:n.jsx(r.Z,{variant:"body2",color:"text.secondary",children:e.author})}),n.jsx(j.Z,{align:"right",children:n.jsx(v.Z,{size:"small",color:"primary",onClick:()=>c(e),title:"Restore this backup",children:n.jsx(y.Z,{})})})]},e.hash)})})]})})]})}),i&&n.jsx(M,{open:!!i,commit:i,onClose:()=>{d(null)}})]})}var B=t(6275),A=t(37372);function F({disabled:e}){let[s,t]=(0,x.useState)(!1),[a,l]=(0,x.useState)(""),[r,i]=(0,x.useState)(""),[o,d]=(0,x.useState)(""),{mutate:c,isPending:h}=(0,u.c5)(),m=()=>{h||(t(!1),l(""),i(""),d(""))};return(0,n.jsxs)(n.Fragment,{children:[n.jsx(b.Z,{variant:"contained",startIcon:n.jsx(A.Z,{}),onClick:()=>{t(!0),i(""),d(""),l(`Backup ${new Date().toISOString().split("T")[0]}`)},disabled:e||h,children:"Push Backup"}),(0,n.jsxs)(C.Z,{open:s,onClose:m,maxWidth:"sm",fullWidth:!0,children:[n.jsx(z.Z,{children:"Push Backup"}),(0,n.jsxs)(k.Z,{children:[r&&n.jsx(D.Z,{severity:"success",sx:{mb:2},children:r}),o&&n.jsx(D.Z,{severity:"error",sx:{mb:2},children:o}),n.jsx(B.Z,{autoFocus:!0,margin:"dense",label:"Commit Message",type:"text",fullWidth:!0,variant:"outlined",value:a,onChange:e=>l(e.target.value),disabled:h,helperText:"Optional message describing this backup"})]}),(0,n.jsxs)(S.Z,{children:[n.jsx(b.Z,{onClick:m,disabled:h,children:"Cancel"}),n.jsx(b.Z,{onClick:()=>{i(""),d(""),c({message:a||void 0},{onSuccess:e=>{i(e.commitHash?`Backup pushed successfully (${e.commitHash.substring(0,7)})`:"Backup pushed successfully"),setTimeout(()=>{m()},2e3)},onError:e=>{d(`Failed to push backup: ${e.message}`)}})},variant:"contained",disabled:h,startIcon:h?n.jsx(P.Z,{size:16}):n.jsx(A.Z,{}),children:h?"Pushing...":"Push"})]})]})]})}var R=t(16770),I=t(23016),T=t(98243),W=t(80336),N=t(29564),E=t(27429),L=t(96454),q=t(16007),H=t(32486),O=t(2200),U=t(73276),V=t(99634);let _=[{label:"Every hour",value:"0 * * * *"},{label:"Every 6 hours",value:"0 */6 * * *"},{label:"Every 12 hours",value:"0 */12 * * *"},{label:"Daily at 3 AM",value:"0 3 * * *"},{label:"Weekly (Sunday 3 AM)",value:"0 3 * * 0"},{label:"Custom",value:"custom"}];function K({open:e,schedule:s,onClose:t}){let a=(0,u.tT)(),l=(0,u.CA)(),d=!!s,[c,h]=(0,x.useState)(""),[m,p]=(0,x.useState)(""),[j,f]=(0,x.useState)(""),[Z,g]=(0,x.useState)(""),[v,y]=(0,x.useState)(""),[w,P]=(0,x.useState)(""),M=()=>"custom"===m?j.trim():m,$=async()=>{P("");let e=M();if(!c.trim()){P("Name is required");return}if(!e){P("Cron expression is required");return}try{d&&s?await l.mutateAsync({id:s.id,data:{name:c.trim(),cron:e,...Z?{maxCount:parseInt(Z,10)}:{},...v?{maxAgeDays:parseInt(v,10)}:{}}}):await a.mutateAsync({name:c.trim(),cron:e,...Z?{maxCount:parseInt(Z,10)}:{},...v?{maxAgeDays:parseInt(v,10)}:{},enabled:!0}),t()}catch(e){P(e.message||"Failed to save schedule")}},A=a.isPending||l.isPending;return(0,n.jsxs)(C.Z,{open:e,onClose:t,maxWidth:"sm",fullWidth:!0,children:[n.jsx(z.Z,{children:d?"Edit Backup Schedule":"Create Backup Schedule"}),n.jsx(k.Z,{children:(0,n.jsxs)(I.Z,{spacing:2.5,sx:{mt:1},children:[w&&n.jsx(D.Z,{severity:"error",onClose:()=>P(""),children:w}),n.jsx(B.Z,{label:"Schedule Name",value:c,onChange:e=>h(e.target.value),fullWidth:!0,required:!0,placeholder:"e.g., Daily backup, Hourly snapshot",autoFocus:!0}),(0,n.jsxs)(H.Z,{fullWidth:!0,children:[n.jsx(O.Z,{children:"Schedule Frequency"}),n.jsx(U.Z,{value:m,onChange:e=>p(e.target.value),label:"Schedule Frequency",children:_.map(e=>(0,n.jsxs)(V.Z,{value:e.value,children:[e.label,"custom"!==e.value&&n.jsx(o.Z,{label:e.value,size:"small",variant:"outlined",sx:{ml:1,fontFamily:"monospace",fontSize:"0.75rem"}})]},e.value))})]}),"custom"===m&&n.jsx(B.Z,{label:"Cron Expression",value:j,onChange:e=>f(e.target.value),fullWidth:!0,required:!0,placeholder:"e.g., 0 */6 * * *",helperText:"Format: minute hour day-of-month month day-of-week",InputProps:{sx:{fontFamily:"monospace"}}}),n.jsx(r.Z,{variant:"subtitle2",color:"text.secondary",sx:{mt:1},children:"Retention Policy (optional)"}),(0,n.jsxs)(i.Z,{sx:{display:"flex",gap:2},children:[n.jsx(B.Z,{label:"Max Backup Count",type:"number",value:Z,onChange:e=>g(e.target.value),fullWidth:!0,placeholder:"e.g., 10",inputProps:{min:1},helperText:"Keep at most N backups"}),n.jsx(B.Z,{label:"Max Age (days)",type:"number",value:v,onChange:e=>y(e.target.value),fullWidth:!0,placeholder:"e.g., 30",inputProps:{min:1},helperText:"Delete backups older than N days"})]})]})}),(0,n.jsxs)(S.Z,{children:[n.jsx(b.Z,{onClick:t,disabled:A,children:"Cancel"}),n.jsx(b.Z,{onClick:$,variant:"contained",disabled:A,children:A?"Saving...":d?"Update":"Create"})]})]})}function J(e){let s=new Date,t=new Date(e),n=Math.floor((s.getTime()-t.getTime())/6e4),a=Math.floor(n/60);return n<1?"just now":n<60?`${n}m ago`:a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}function Q({schedule:e,onEdit:s,onDelete:t,onToggle:a,toggleLoading:l}){return(0,n.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",py:1.5,px:1,"&:hover":{bgcolor:"action.hover",borderRadius:1}},children:[(0,n.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",gap:2,flex:1,minWidth:0},children:[n.jsx(q.Z,{color:e.enabled?"primary":"disabled"}),(0,n.jsxs)(i.Z,{sx:{minWidth:0},children:[n.jsx(r.Z,{variant:"body1",fontWeight:"medium",noWrap:!0,children:e.name}),(0,n.jsxs)(r.Z,{variant:"caption",color:"text.secondary",noWrap:!0,children:[e.cronHumanReadable," (",e.cronExpression,")"]})]})]}),(0,n.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",gap:1.5,flexShrink:0},children:[e.lastRunStatus&&n.jsx(T.Z,{title:e.lastRunMessage?`${e.lastRunAt?J(e.lastRunAt):""}: ${e.lastRunMessage}`:e.lastRunAt?J(e.lastRunAt):"",children:n.jsx(o.Z,{icon:"success"===e.lastRunStatus?n.jsx(d.Z,{sx:{fontSize:16}}):n.jsx(c.Z,{sx:{fontSize:16}}),label:"success"===e.lastRunStatus?"OK":"Failed",size:"small",color:"success"===e.lastRunStatus?"success":"error",variant:"outlined"})}),(e.retentionPolicy.maxCount||e.retentionPolicy.maxAgeDays)&&n.jsx(T.Z,{title:[e.retentionPolicy.maxCount&&`Max ${e.retentionPolicy.maxCount} backups`,e.retentionPolicy.maxAgeDays&&`Max ${e.retentionPolicy.maxAgeDays} days`].filter(Boolean).join(", "),children:n.jsx(o.Z,{label:"Retention",size:"small",variant:"outlined",color:"info"})}),n.jsx(T.Z,{title:e.enabled?"Disable schedule":"Enable schedule",children:n.jsx(R.Z,{size:"small",checked:e.enabled,onChange:(s,t)=>a(e,t),disabled:l})}),n.jsx(T.Z,{title:"Edit schedule",children:n.jsx(v.Z,{size:"small",onClick:()=>s(e),children:n.jsx(E.Z,{fontSize:"small"})})}),n.jsx(T.Z,{title:"Delete schedule",children:n.jsx(v.Z,{size:"small",color:"error",onClick:()=>t(e),children:n.jsx(L.Z,{fontSize:"small"})})})]})]})}function G(){let{data:e,isLoading:s,error:t}=(0,u.d)(),o=(0,u.c1)(),d=(0,u.JV)(),[c,h]=(0,x.useState)(!1),[m,p]=(0,x.useState)(null),[j,f]=(0,x.useState)(!1),[Z,g]=(0,x.useState)(null),v=e=>{p(e),h(!0)},y=e=>{g(e),f(!0)},w=async()=>{if(Z)try{await d.mutateAsync(Z.id)}catch{}f(!1),g(null)},P=(e,s)=>{o.mutate({id:e.id,enabled:s})};if(s)return n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[n.jsx(r.Z,{variant:"h6",gutterBottom:!0,children:"Backup Schedules"}),n.jsx(r.Z,{color:"text.secondary",children:"Loading..."})]})});if(t)return n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[n.jsx(r.Z,{variant:"h6",gutterBottom:!0,children:"Backup Schedules"}),n.jsx(D.Z,{severity:"error",children:"Failed to load backup schedules"})]})});let M=e?.schedules??[];return(0,n.jsxs)(n.Fragment,{children:[n.jsx(a.Z,{children:(0,n.jsxs)(l.Z,{children:[(0,n.jsxs)(i.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[(0,n.jsxs)(i.Z,{children:[n.jsx(r.Z,{variant:"h6",children:"Backup Schedules"}),n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Automated cron-based backup scheduling"})]}),n.jsx(b.Z,{variant:"contained",size:"small",startIcon:n.jsx(N.Z,{}),onClick:()=>{p(null),h(!0)},children:"Add Schedule"})]}),0===M.length?(0,n.jsxs)(i.Z,{sx:{textAlign:"center",py:4},children:[n.jsx(q.Z,{sx:{fontSize:48,color:"text.disabled",mb:1}}),n.jsx(r.Z,{color:"text.secondary",children:"No backup schedules configured"}),n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Create a schedule to automatically back up your worlds"})]}):n.jsx(I.Z,{divider:n.jsx(W.Z,{}),children:M.map(e=>n.jsx(Q,{schedule:e,onEdit:v,onDelete:y,onToggle:P,toggleLoading:o.isPending},e.id))})]})}),n.jsx(K,{open:c,schedule:m,onClose:()=>{h(!1),p(null)}}),(0,n.jsxs)(C.Z,{open:j,onClose:()=>f(!1),children:[n.jsx(z.Z,{children:"Delete Backup Schedule"}),n.jsx(k.Z,{children:(0,n.jsxs)(r.Z,{children:['Are you sure you want to delete the schedule "',Z?.name,'"? This action cannot be undone.']})}),(0,n.jsxs)(S.Z,{children:[n.jsx(b.Z,{onClick:()=>f(!1),children:"Cancel"}),n.jsx(b.Z,{onClick:w,color:"error",variant:"contained",disabled:d.isPending,children:d.isPending?"Deleting...":"Delete"})]})]})]})}var Y=t(65137),X=t(22599),ee=t(40238),es=t(14302);function et({value:e,onChange:s}){return n.jsx(i.Z,{sx:{borderBottom:1,borderColor:"divider",mb:3},children:(0,n.jsxs)(Y.Z,{value:e,onChange:(e,t)=>s(t),"aria-label":"Backup management tabs",children:[n.jsx(X.Z,{value:"world-backups",label:"World Backups",icon:n.jsx(ee.Z,{}),iconPosition:"start",sx:{textTransform:"none",fontWeight:"medium"}}),n.jsx(X.Z,{value:"config-snapshots",label:"Config Snapshots",icon:n.jsx(es.Z,{}),iconPosition:"start",sx:{textTransform:"none",fontWeight:"medium"}})]})})}var en=t(40817),ea=t(77343),el=t(94543),er=t(70364),ei=t(43908),eo=t(88517),ed=t(63390);function ec({serverName:e,snapshots:s,totalCount:t,schedule:c,onViewHistory:u,onCreateSnapshot:h,onViewDiff:x}){let m=s.length>0?s[0]:null,p=s.length>=2;return n.jsx(a.Z,{variant:"outlined",sx:{"&:hover":{borderColor:"primary.main"}},children:(0,n.jsxs)(l.Z,{children:[n.jsx(i.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-between"},children:(0,n.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",gap:1.5,mb:1},children:[n.jsx(ei.Z,{color:"primary"}),n.jsx(r.Z,{variant:"h6",component:"h3",fontWeight:"bold",children:e})]})}),(0,n.jsxs)(I.Z,{direction:"row",spacing:2,sx:{mb:2,flexWrap:"wrap",gap:1},children:[m?n.jsx(T.Z,{title:`Latest: ${new Date(m.createdAt).toLocaleString()}`,children:n.jsx(o.Z,{icon:n.jsx(eo.Z,{sx:{fontSize:16}}),label:`Latest: ${function(e){let s=new Date,t=new Date(e),n=Math.floor((s.getTime()-t.getTime())/6e4),a=Math.floor(n/60),l=Math.floor(a/24);return n<1?"just now":n<60?`${n}m ago`:a<24?`${a}h ago`:l<30?`${l}d ago`:t.toLocaleDateString()}(m.createdAt)}`,size:"small",variant:"outlined"})}):n.jsx(o.Z,{label:"No snapshots yet",size:"small",variant:"outlined",color:"default"}),m&&n.jsx(o.Z,{label:`${m.files.length} files`,size:"small",variant:"outlined",color:"info"}),n.jsx(o.Z,{label:`${t} snapshot${1!==t?"s":""} total`,size:"small",variant:"outlined"}),c?n.jsx(T.Z,{title:`Schedule: ${c.name} (${c.cronExpression})`,children:n.jsx(o.Z,{icon:c.enabled?n.jsx(d.Z,{sx:{fontSize:16}}):n.jsx(q.Z,{sx:{fontSize:16}}),label:c.enabled?"Schedule: Active":"Schedule: Paused",size:"small",variant:"outlined",color:c.enabled?"success":"default"})}):n.jsx(o.Z,{label:"No schedule",size:"small",variant:"outlined",color:"default"})]}),(0,n.jsxs)(I.Z,{direction:"row",spacing:1,children:[n.jsx(T.Z,{title:t<2?"Need at least 2 snapshots to compare history":"",arrow:!0,children:n.jsx("span",{children:n.jsx(b.Z,{size:"small",variant:"outlined",startIcon:n.jsx(eo.Z,{}),onClick:()=>u(e),disabled:t<2,children:"View History"})})}),n.jsx(b.Z,{size:"small",variant:"outlined",startIcon:n.jsx(en.Z,{}),onClick:()=>h(e),children:"Create Snapshot"}),p&&n.jsx(b.Z,{size:"small",variant:"outlined",startIcon:n.jsx(ed.Z,{}),onClick:()=>x(e),children:"View Diff"})]})]})})}function eu({servers:e,snapshotsByServer:s,schedules:t,isLoading:a,error:l,onViewHistory:o,onCreateSnapshot:d,onViewDiff:c}){let u=(0,x.useMemo)(()=>e.map(e=>{let n=s.get(e.name),a=t.find(s=>s.serverName===e.name);return{serverName:e.name,snapshots:n?.snapshots??[],totalCount:n?.total??0,schedule:a}}),[e,s,t]);return a?n.jsx(i.Z,{sx:{display:"flex",justifyContent:"center",py:4},children:n.jsx(P.Z,{})}):l?(0,n.jsxs)(D.Z,{severity:"error",children:["Failed to load config snapshots: ",l.message]}):0===e.length?(0,n.jsxs)(i.Z,{sx:{textAlign:"center",py:6},children:[n.jsx(es.Z,{sx:{fontSize:48,color:"text.disabled",mb:1}}),n.jsx(r.Z,{color:"text.secondary",children:"No servers found"}),n.jsx(r.Z,{variant:"caption",color:"text.secondary",children:"Create a server to start taking config snapshots"})]}):n.jsx(I.Z,{spacing:2,children:u.map(e=>n.jsx(ec,{serverName:e.serverName,snapshots:e.snapshots,totalCount:e.totalCount,schedule:e.schedule,onViewHistory:o,onCreateSnapshot:d,onViewDiff:c},e.serverName))})}var eh=t(48833),ex=t(33549),em=t(33615);function ep({schedule:e,onEdit:s,onDelete:t,onToggle:a,toggleLoading:l}){return(0,n.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",py:1.5,px:1,"&:hover":{bgcolor:"action.hover",borderRadius:1}},children:[(0,n.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",gap:2,flex:1,minWidth:0},children:[n.jsx(q.Z,{color:e.enabled?"primary":"disabled"}),(0,n.jsxs)(i.Z,{sx:{minWidth:0},children:[n.jsx(r.Z,{variant:"body2",fontWeight:"medium",noWrap:!0,children:e.name}),(0,n.jsxs)(r.Z,{variant:"caption",color:"text.secondary",noWrap:!0,children:[e.serverName," | ",e.cronExpression," | Retain: ",e.retentionCount]})]})]}),(0,n.jsxs)(i.Z,{sx:{display:"flex",alignItems:"center",gap:1,flexShrink:0},children:[e.lastRunStatus&&n.jsx(T.Z,{title:e.lastRunAt?`Last run: ${function(e){let s=new Date,t=new Date(e),n=Math.floor((s.getTime()-t.getTime())/6e4),a=Math.floor(n/60);return n<1?"just now":n<60?`${n}m ago`:a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}(e.lastRunAt)} (${e.lastRunStatus})`:e.lastRunStatus,children:n.jsx(o.Z,{icon:"success"===e.lastRunStatus?n.jsx(d.Z,{sx:{fontSize:16}}):n.jsx(c.Z,{sx:{fontSize:16}}),label:"success"===e.lastRunStatus?"OK":"Failed",size:"small",color:"success"===e.lastRunStatus?"success":"error",variant:"outlined"})}),n.jsx(T.Z,{title:e.enabled?"Disable schedule":"Enable schedule",children:n.jsx(R.Z,{size:"small",checked:e.enabled,onChange:(s,t)=>a(e,t),disabled:l})}),n.jsx(T.Z,{title:"Edit schedule",children:n.jsx(v.Z,{size:"small",onClick:()=>s(e),children:n.jsx(E.Z,{fontSize:"small"})})}),n.jsx(T.Z,{title:"Delete schedule",children:n.jsx(v.Z,{size:"small",color:"error",onClick:()=>t(e),children:n.jsx(L.Z,{fontSize:"small"})})})]})]})}function ej({schedules:e,onEdit:s,onDelete:t,onToggle:a,toggleLoading:l}){return 0===e.length?(0,n.jsxs)(i.Z,{sx:{textAlign:"center",py:3},children:[n.jsx(q.Z,{sx:{fontSize:40,color:"text.disabled",mb:1}}),n.jsx(r.Z,{color:"text.secondary",variant:"body2",children:"No config snapshot schedules configured"})]}):n.jsx(I.Z,{divider:n.jsx(W.Z,{}),children:e.map(e=>n.jsx(ep,{schedule:e,onEdit:s,onDelete:t,onToggle:a,toggleLoading:l},e.id))})}let ef=[{label:"Every hour",value:"0 * * * *"},{label:"Every 6 hours",value:"0 */6 * * *"},{label:"Daily at midnight",value:"0 0 * * *"},{label:"Daily at 3 AM",value:"0 3 * * *"},{label:"Weekly (Sunday midnight)",value:"0 0 * * 0"},{label:"Custom",value:""}];function eZ({serverNames:e,editingSchedule:s,onSubmit:t,onUpdate:a,onCancel:l,isSubmitting:o,error:d}){let c=!!s,[u,h]=(0,x.useState)(s?.serverName||""),[m,p]=(0,x.useState)(s?.name||""),[j,f]=(0,x.useState)(""),[Z,g]=(0,x.useState)(s?.cronExpression||"0 0 * * *"),[v,y]=(0,x.useState)(s?.retentionCount??10),C=e=>{f(e),e&&g(e)},S=(c||u)&&m.trim()&&Z.trim();return(0,n.jsxs)(i.Z,{sx:{display:"flex",flexDirection:"column",gap:2},children:[n.jsx(r.Z,{variant:"subtitle2",color:"text.secondary",children:c?"Edit Schedule":"Create New Schedule"}),!c&&(0,n.jsxs)(H.Z,{fullWidth:!0,size:"small",required:!0,children:[n.jsx(O.Z,{children:"Server"}),n.jsx(U.Z,{value:u,onChange:e=>h(e.target.value),label:"Server",disabled:o,children:e.map(e=>n.jsx(V.Z,{value:e,children:e},e))})]}),n.jsx(B.Z,{label:"Schedule Name",value:m,onChange:e=>p(e.target.value),placeholder:"e.g., Daily config backup",size:"small",fullWidth:!0,required:!0,disabled:o}),(0,n.jsxs)(H.Z,{fullWidth:!0,size:"small",children:[n.jsx(O.Z,{children:"Cron Preset"}),n.jsx(U.Z,{value:j,onChange:e=>C(e.target.value),label:"Cron Preset",disabled:o,children:ef.map(e=>n.jsx(V.Z,{value:e.value,children:e.label},e.label))})]}),n.jsx(B.Z,{label:"Cron Expression",value:Z,onChange:e=>g(e.target.value),placeholder:"0 0 * * *",size:"small",fullWidth:!0,required:!0,disabled:o,helperText:"Standard cron format: minute hour day month weekday"}),n.jsx(B.Z,{label:"Retention Count",type:"number",value:v,onChange:e=>y(Math.max(1,parseInt(e.target.value)||1)),size:"small",fullWidth:!0,disabled:o,helperText:"Maximum number of scheduled snapshots to keep per server",inputProps:{min:1,max:100}}),d&&n.jsx(D.Z,{severity:"error",sx:{py:0},children:d}),(0,n.jsxs)(i.Z,{sx:{display:"flex",gap:1,justifyContent:"flex-end"},children:[n.jsx(b.Z,{size:"small",onClick:l,disabled:o,children:"Cancel"}),n.jsx(b.Z,{size:"small",variant:"contained",onClick:()=>{c&&a?a({name:m.trim(),cronExpression:Z,retentionCount:v}):t({serverName:u,name:m.trim(),cronExpression:Z,retentionCount:v})},disabled:!S||o,children:o?"Saving...":c?"Update":"Create"})]})]})}function eg({open:e,onClose:s,serverNames:t,filterServerName:a}){let{data:l,isLoading:o,error:d}=(0,er.F$)(a),c=(0,er.wh)(),u=(0,er.Uw)(),h=(0,er.DW)(),m=(0,er.$C)(),[p,j]=(0,x.useState)(!1),[f,Z]=(0,x.useState)(null),[g,y]=(0,x.useState)(!1),[w,M]=(0,x.useState)(null),$=l?.schedules??[],B=async()=>{if(w)try{await m.mutateAsync(w.id)}catch{}y(!1),M(null)},A=async e=>{try{await c.mutateAsync({serverName:e.serverName,name:e.name,cronExpression:e.cronExpression,retentionCount:e.retentionCount}),j(!1)}catch{}},F=async e=>{if(f)try{await u.mutateAsync({id:f.id,data:e}),j(!1),Z(null)}catch{}},R=c.error?.message||u.error?.message||null;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(ex.ZP,{anchor:"right",open:e,onClose:s,PaperProps:{sx:{width:{xs:"100%",sm:480},p:3}},children:[(0,n.jsxs)(i.Z,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:2},children:[n.jsx(r.Z,{variant:"h6",fontWeight:"bold",children:"Config Snapshot Schedules"}),n.jsx(v.Z,{onClick:s,size:"small",children:n.jsx(em.Z,{})})]}),n.jsx(W.Z,{sx:{mb:2}}),!p&&n.jsx(b.Z,{variant:"outlined",startIcon:n.jsx(N.Z,{}),onClick:()=>{Z(null),j(!0)},fullWidth:!0,sx:{mb:2},children:"Add Schedule"}),p&&(0,n.jsxs)(i.Z,{sx:{mb:2},children:[n.jsx(eZ,{serverNames:t,editingSchedule:f,onSubmit:A,onUpdate:F,onCancel:()=>{j(!1),Z(null),c.reset(),u.reset()},isSubmitting:c.isPending||u.isPending,error:R}),n.jsx(W.Z,{sx:{mt:2}})]}),o?n.jsx(i.Z,{sx:{display:"flex",justifyContent:"center",py:4},children:n.jsx(P.Z,{})}):d?n.jsx(D.Z,{severity:"error",children:"Failed to load schedules"}):n.jsx(ej,{schedules:$,onEdit:e=>{Z(e),j(!0)},onDelete:e=>{M(e),y(!0)},onToggle:(e,s)=>{h.mutate({id:e.id,enabled:s})},toggleLoading:h.isPending})]}),(0,n.jsxs)(C.Z,{open:g,onClose:()=>y(!1),children:[n.jsx(z.Z,{children:"Delete Config Snapshot Schedule"}),n.jsx(k.Z,{children:(0,n.jsxs)(r.Z,{children:['Are you sure you want to delete the schedule "',w?.name,'"? Existing snapshots created by this schedule will be preserved.']})}),(0,n.jsxs)(S.Z,{children:[n.jsx(b.Z,{onClick:()=>y(!1),children:"Cancel"}),n.jsx(b.Z,{onClick:B,color:"error",variant:"contained",disabled:m.isPending,children:m.isPending?"Deleting...":"Delete"})]})]})]})}var ev=t(1044);function ey(){let{data:e,isLoading:s}=(0,u.x$)(),t=e?.servers??[],a=t.map(e=>e.name),{snapshotsByServer:l,isLoading:o,error:d}=function(e){let s=e.map(e=>({name:e,query:(0,el.m)(e,5,0,{enabled:!!e})})),t=s.some(e=>e.query.isLoading),n=s.find(e=>e.query.error)?.query.error||null;return{snapshotsByServer:(0,x.useMemo)(()=>{let e=new Map;for(let t of s)t.query.data&&e.set(t.name,{snapshots:t.query.data.snapshots,total:t.query.data.total});return e},[s]),isLoading:t,error:n}}(a),{data:c}=(0,er.F$)(),h=c?.schedules??[],[m,p]=(0,x.useState)(!1),[j,f]=(0,x.useState)(void 0),[Z,g]=(0,x.useState)(!1),[v,y]=(0,x.useState)(!1),[C,S]=(0,x.useState)(""),k=(0,x.useMemo)(()=>{if(!C)return{snapshotA:null,snapshotB:null};let e=l.get(C);return!e||e.snapshots.length<2?{snapshotA:null,snapshotB:null}:{snapshotA:e.snapshots[1],snapshotB:e.snapshots[0]}},[C,l]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(i.Z,{sx:{display:"flex",justifyContent:"flex-end",gap:1,mb:2},children:[n.jsx(b.Z,{variant:"outlined",size:"small",startIcon:n.jsx(ea.Z,{}),onClick:()=>g(!0),children:"Manage Schedules"}),n.jsx(b.Z,{variant:"contained",size:"small",startIcon:n.jsx(en.Z,{}),onClick:()=>{f(void 0),p(!0)},children:"Create Snapshot"})]}),n.jsx(r.Z,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"Config snapshots capture server configuration files (server.properties, config.env, etc.) for versioning, comparison, and restore operations."}),n.jsx(eu,{servers:t,snapshotsByServer:l,schedules:h,isLoading:s||o,error:d,onViewHistory:e=>{let s=l.get(e);s&&s.snapshots.length>0&&(S(e),y(!0))},onCreateSnapshot:e=>{f(e),p(!0)},onViewDiff:e=>{S(e),y(!0)}}),n.jsx(eh.e,{open:m,onClose:()=>{p(!1),f(void 0)},serverNames:a,defaultServer:j}),n.jsx(eg,{open:Z,onClose:()=>g(!1),serverNames:a}),v&&k.snapshotA&&k.snapshotB&&n.jsx(ev.YN,{open:v,onClose:()=>{y(!1),S("")},snapshotA:k.snapshotA,snapshotB:k.snapshotB})]})}},96587:(e,s,t)=>{t.d(s,{m:()=>l});var n=t(30731),a=t(43137);function l(e,s,t){return(0,n.a)({queryKey:["config-snapshots","diff",e,s],queryFn:()=>(0,a.SC)(`/api/config-snapshots/${encodeURIComponent(e)}/diff/${encodeURIComponent(s)}`),enabled:t?.enabled!==!1&&!!e&&!!s,staleTime:3e5})}},70364:(e,s,t)=>{t.d(s,{$C:()=>u,DW:()=>c,F$:()=>i,Uw:()=>d,wh:()=>o});var n=t(30731),a=t(95343),l=t(20042),r=t(43137);function i(e){let s=e?`?serverName=${encodeURIComponent(e)}`:"";return(0,n.a)({queryKey:["config-snapshot-schedules",e||"all"],queryFn:()=>(0,r.SC)(`/api/config-snapshot-schedules${s}`),refetchInterval:6e4})}function o(){let e=(0,a.NL)();return(0,l.D)({mutationFn:e=>(0,r.SC)("/api/config-snapshot-schedules",{method:"POST",body:JSON.stringify(e)}),onSuccess:()=>{e.invalidateQueries({queryKey:["config-snapshot-schedules"]})}})}function d(){let e=(0,a.NL)();return(0,l.D)({mutationFn:({id:e,data:s})=>(0,r.SC)(`/api/config-snapshot-schedules/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(s)}),onSuccess:()=>{e.invalidateQueries({queryKey:["config-snapshot-schedules"]})}})}function c(){let e=(0,a.NL)();return(0,l.D)({mutationFn:({id:e,enabled:s})=>(0,r.SC)(`/api/config-snapshot-schedules/${encodeURIComponent(e)}/toggle`,{method:"PATCH",body:JSON.stringify({enabled:s})}),onSuccess:()=>{e.invalidateQueries({queryKey:["config-snapshot-schedules"]})}})}function u(){let e=(0,a.NL)();return(0,l.D)({mutationFn:e=>(0,r.SC)(`/api/config-snapshot-schedules/${encodeURIComponent(e)}`,{method:"DELETE"}),onSuccess:()=>{e.invalidateQueries({queryKey:["config-snapshot-schedules"]})}})}},94543:(e,s,t)=>{t.d(s,{m:()=>i,t:()=>o});var n=t(30731),a=t(95343),l=t(20042),r=t(43137);function i(e,s=20,t=0,a){return(0,n.a)({queryKey:["config-snapshots","list",e,s,t],queryFn:()=>(0,r.SC)(`/api/servers/${encodeURIComponent(e)}/config-snapshots?limit=${s}&offset=${t}`),enabled:a?.enabled!==!1&&!!e,refetchInterval:6e4})}function o(){let e=(0,a.NL)();return(0,l.D)({mutationFn:({serverName:e,description:s})=>(0,r.SC)(`/api/servers/${encodeURIComponent(e)}/config-snapshots`,{method:"POST",body:JSON.stringify({description:s})}),onSuccess:(s,{serverName:t})=>{e.invalidateQueries({queryKey:["config-snapshots","list",t]}),e.invalidateQueries({queryKey:["config-snapshots"]})}})}}};
@@ -17,11 +17,11 @@
17
17
  "wasm": [],
18
18
  "assets": [],
19
19
  "env": {
20
- "__NEXT_BUILD_ID": "SmXwR-3YjO6r8-VonFLXc",
21
- "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "fo9s0ev/df8TxT0WkthDC1nYHoV3VUT7tOcfeevpW5Y=",
22
- "__NEXT_PREVIEW_MODE_ID": "eaae07132e528a1ab52c63f99c4cb62a",
23
- "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "9c9af72e0fca190bdf9b8d10ada4c3e68f96e93eac4f30f44ccf6021159bf797",
24
- "__NEXT_PREVIEW_MODE_SIGNING_KEY": "b4f200005b171235f08583458da2398b77ee1be2a29c67f66d51cc0a0a7e0160"
20
+ "__NEXT_BUILD_ID": "MN_3u7o3GfgwT0ep21yPN",
21
+ "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "XD4kMw1XBzjQm/EniCNd04iKo+3j+m1n/Jnv41kYJaI=",
22
+ "__NEXT_PREVIEW_MODE_ID": "7bc6fd6e39ce22bd1783536c9329a841",
23
+ "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "e6c915aae089974050b628e41d793e36f30d66dba365587c0a5535d255dacf79",
24
+ "__NEXT_PREVIEW_MODE_SIGNING_KEY": "39dcfd48b188dd564ca201e337032257e57dcae8ab096fbaaca0a8f99312f10d"
25
25
  }
26
26
  }
27
27
  },
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/6a2c381c71b398da.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a47ff07ca7471347.js"/><script src="/_next/static/chunks/3b518dcd-7c24a9aea6246f3f.js" async=""></script><script src="/_next/static/chunks/2757-89af113a429f789f.js" async=""></script><script src="/_next/static/chunks/main-app-666bf3e0c0f3dee2.js" async=""></script><script src="/_next/static/chunks/6812-698a590a47ad1a32.js" async=""></script><script src="/_next/static/chunks/540-41699a718be7f9fb.js" async=""></script><script src="/_next/static/chunks/6942-9f909d2263194390.js" async=""></script><script src="/_next/static/chunks/app/layout-35cb1ada75bbaa71.js" async=""></script><meta name="robots" content="noindex"/><title>Minecraft Server Manager</title><meta name="description" content="Web-based management console for Minecraft server infrastructure"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script><style data-emotion="mui-global hcxkty">html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;-webkit-text-size-adjust:100%;}*,*::before,*::after{box-sizing:inherit;}strong,b{font-weight:700;}body{margin:0;color:#ffffff;font-family:"Roboto","Helvetica","Arial",sans-serif;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:0.00938em;background-color:#16181c;}@media print{body{background-color:#fff;}}body::backdrop{background-color:#16181c;}body{scrollbar-color:#313338 #16181c;}body::-webkit-scrollbar,body *::-webkit-scrollbar{background-color:#16181c;width:8px;}body::-webkit-scrollbar-thumb,body *::-webkit-scrollbar-thumb{border-radius:8px;background-color:#313338;min-height:24px;}body::-webkit-scrollbar-thumb:hover,body *::-webkit-scrollbar-thumb:hover{background-color:#26282e;}</style></head><body><div id="__next"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><script src="/_next/static/chunks/webpack-a47ff07ca7471347.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/6a2c381c71b398da.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[39943,[],\"\"]\n4:I[14224,[],\"\"]\n5:I[2863,[],\"\"]\n6:I[89083,[\"6812\",\"static/chunks/6812-698a590a47ad1a32.js\",\"540\",\"static/chunks/540-41699a718be7f9fb.js\",\"6942\",\"static/chunks/6942-9f909d2263194390.js\",\"3185\",\"static/chunks/app/layout-35cb1ada75bbaa71.js\"],\"default\"]\n7:I[48283,[\"6812\",\"static/chunks/6812-698a590a47ad1a32.js\",\"540\",\"static/chunks/540-41699a718be7f9fb.js\",\"6942\",\"static/chunks/6942-9f909d2263194390.js\",\"3185\",\"static/chunks/app/layout-35cb1ada75bbaa71.js\"],\"ThemeProvider\"]\n8:I[22237,[\"6812\",\"static/chunks/6812-698a590a47ad1a32.js\",\"540\",\"static/chunks/540-41699a718be7f9fb.js\",\"6942\",\"static/chunks/6942-9f909d2263194390.js\",\"3185\",\"static/chunks/app/layout-35cb1ada75bbaa71.js\"],\"QueryProvider\"]\n9:\"$Sreact.suspense\"\na:I[3454,[\"6812\",\"static/chunks/6812-698a590a47ad1a32.js\",\"540\",\"static/chunks/540-41699a718be7f9fb.js\",\"6942\",\"static/chunks/6942-9f909d2263194390.js\",\"3185\",\"static/chunks/app/layout-35cb1ada75bbaa71.js\"],\"LoadingProvider\"]\n10:I[19253,[],\"\"]\nb:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\nc:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\nd:{\"display\":\"inline-block\"}\ne:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\n11:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"SmXwR-3YjO6r8-VonFLXc\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/6a2c381c71b398da.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"id\":\"__next\",\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"fallback\":null,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$b\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$c\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$d\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$e\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]}]}]}]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$Lf\"],\"globalErrorComponent\":\"$10\",\"missingSlots\":\"$W11\"}]\n"])</script><script>self.__next_f.push([1,"f:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Minecraft Server Manager\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Web-based management console for Minecraft server infrastructure\"}]]\n3:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/6a2c381c71b398da.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a47ff07ca7471347.js"/><script src="/_next/static/chunks/3b518dcd-7c24a9aea6246f3f.js" async=""></script><script src="/_next/static/chunks/2757-89af113a429f789f.js" async=""></script><script src="/_next/static/chunks/main-app-666bf3e0c0f3dee2.js" async=""></script><script src="/_next/static/chunks/6812-698a590a47ad1a32.js" async=""></script><script src="/_next/static/chunks/540-41699a718be7f9fb.js" async=""></script><script src="/_next/static/chunks/6942-9f909d2263194390.js" async=""></script><script src="/_next/static/chunks/app/layout-35cb1ada75bbaa71.js" async=""></script><meta name="robots" content="noindex"/><title>Minecraft Server Manager</title><meta name="description" content="Web-based management console for Minecraft server infrastructure"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script><style data-emotion="mui-global hcxkty">html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;-webkit-text-size-adjust:100%;}*,*::before,*::after{box-sizing:inherit;}strong,b{font-weight:700;}body{margin:0;color:#ffffff;font-family:"Roboto","Helvetica","Arial",sans-serif;font-weight:400;font-size:1rem;line-height:1.5;letter-spacing:0.00938em;background-color:#16181c;}@media print{body{background-color:#fff;}}body::backdrop{background-color:#16181c;}body{scrollbar-color:#313338 #16181c;}body::-webkit-scrollbar,body *::-webkit-scrollbar{background-color:#16181c;width:8px;}body::-webkit-scrollbar-thumb,body *::-webkit-scrollbar-thumb{border-radius:8px;background-color:#313338;min-height:24px;}body::-webkit-scrollbar-thumb:hover,body *::-webkit-scrollbar-thumb:hover{background-color:#26282e;}</style></head><body><div id="__next"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><script src="/_next/static/chunks/webpack-a47ff07ca7471347.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/6a2c381c71b398da.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[39943,[],\"\"]\n4:I[14224,[],\"\"]\n5:I[2863,[],\"\"]\n6:I[89083,[\"6812\",\"static/chunks/6812-698a590a47ad1a32.js\",\"540\",\"static/chunks/540-41699a718be7f9fb.js\",\"6942\",\"static/chunks/6942-9f909d2263194390.js\",\"3185\",\"static/chunks/app/layout-35cb1ada75bbaa71.js\"],\"default\"]\n7:I[48283,[\"6812\",\"static/chunks/6812-698a590a47ad1a32.js\",\"540\",\"static/chunks/540-41699a718be7f9fb.js\",\"6942\",\"static/chunks/6942-9f909d2263194390.js\",\"3185\",\"static/chunks/app/layout-35cb1ada75bbaa71.js\"],\"ThemeProvider\"]\n8:I[22237,[\"6812\",\"static/chunks/6812-698a590a47ad1a32.js\",\"540\",\"static/chunks/540-41699a718be7f9fb.js\",\"6942\",\"static/chunks/6942-9f909d2263194390.js\",\"3185\",\"static/chunks/app/layout-35cb1ada75bbaa71.js\"],\"QueryProvider\"]\n9:\"$Sreact.suspense\"\na:I[3454,[\"6812\",\"static/chunks/6812-698a590a47ad1a32.js\",\"540\",\"static/chunks/540-41699a718be7f9fb.js\",\"6942\",\"static/chunks/6942-9f909d2263194390.js\",\"3185\",\"static/chunks/app/layout-35cb1ada75bbaa71.js\"],\"LoadingProvider\"]\n10:I[19253,[],\"\"]\nb:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\nc:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\nd:{\"display\":\"inline-block\"}\ne:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\n11:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"MN_3u7o3GfgwT0ep21yPN\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/6a2c381c71b398da.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"id\":\"__next\",\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"fallback\":null,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$b\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$c\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$d\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$e\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]}]}]}]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$Lf\"],\"globalErrorComponent\":\"$10\",\"missingSlots\":\"$W11\"}]\n"])</script><script>self.__next_f.push([1,"f:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Minecraft Server Manager\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Web-based management console for Minecraft server infrastructure\"}]]\n3:null\n"])</script></body></html>