@gameap/frontend 4.1.0-dev7 → 4.1.0-dev9

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 (77) hide show
  1. package/dist/{AdminClientCertificatesView-BQyXmri1.js → AdminClientCertificatesView-rVNAX5Dl.js} +97 -94
  2. package/dist/AdminDaemonTaskListView-CoUVp9tK.js +316 -0
  3. package/dist/{AdminDaemonTaskOutputView-DRrZwAwW.js → AdminDaemonTaskOutputView-BJpuWCtc.js} +18 -17
  4. package/dist/{AdminGamesEdit-CDTCJu52.js → AdminGamesEdit-HKWU2C59.js} +121 -117
  5. package/dist/AdminGamesList-BwN_RFDY.js +518 -0
  6. package/dist/{AdminModEdit-P0crpkM3.js → AdminModEdit-CbVGlk5M.js} +123 -119
  7. package/dist/AdminNodeShowView-C7VsvwQo.js +175 -0
  8. package/dist/AdminNodesCreateView-BfEHhFn2.js +87 -0
  9. package/dist/{AdminNodesEditView-DdNciuMa.js → AdminNodesEditView-DE-zhVTd.js} +11 -11
  10. package/dist/AdminNodesView-QMdy3oJ1.js +167 -0
  11. package/dist/AdminPluginsView-BBALhxPk.js +984 -0
  12. package/dist/{AdminServersCreate-zGHHAEkO.js → AdminServersCreate-g_A290kz.js} +122 -124
  13. package/dist/{AdminServersEdit-BR6sRGlM.js → AdminServersEdit-D0RERbR5.js} +125 -124
  14. package/dist/{AdminServersList-DhUQ1zrt.js → AdminServersList-_ek_2u8B.js} +35 -31
  15. package/dist/{AdminUsersEditView-CqRLzCkV.js → AdminUsersEditView-CbZCH6eM.js} +89 -85
  16. package/dist/{AdminUsersView-TCHghzxY.js → AdminUsersView-D4WoRB5b.js} +145 -141
  17. package/dist/CreateModForm-CpbIOQNu.js +123 -0
  18. package/dist/CreateNodeModal-C96UVcAJ.js +99 -0
  19. package/dist/{DsIpSelector-EnBHsJLE.js → DsIpSelector-D_hc_JYQ.js} +1 -1
  20. package/dist/EmptyView-qkQQJ_OR.js +9 -0
  21. package/dist/FileManager-v-1ASSne.js +5931 -0
  22. package/dist/GameIcon-DaYNlnur.js +87 -0
  23. package/dist/{GameModSelector-bZsSGC6T.js → GameModSelector-CiI3H5Zq.js} +21 -20
  24. package/dist/InputManyList-C52f5V6l.js +110 -0
  25. package/dist/InputTextList-5KeNATa7.js +63 -0
  26. package/dist/PluginPendingView-CDR44QCG.js +34 -0
  27. package/dist/ProfileView-CC3KJ2gK.js +295 -0
  28. package/dist/RconConsole-DkRK7vz3.js +74 -0
  29. package/dist/{RconPlayers-CXL0bHlU.js → RconPlayers-CDRCp79f.js} +131 -127
  30. package/dist/ServerConsole-Bj0Zr1BS.js +99 -0
  31. package/dist/ServerControlButton-C4zWzA-d.js +185 -0
  32. package/dist/ServerIdView-BJS6wcMH.js +608 -0
  33. package/dist/{ServerSelector-D7O1thVu.js → ServerSelector-DPM5SjWO.js} +7 -7
  34. package/dist/{ServerSettings-Lk4lq5hI.js → ServerSettings-BYRSLaJk.js} +26 -26
  35. package/dist/{ServerStatus-CCFiPWXV.js → ServerStatus-BK8yKehx.js} +1 -1
  36. package/dist/{ServerTasks-gNFBkyv1.js → ServerTasks-DUC2DDcY.js} +304 -302
  37. package/dist/ServersView-BbLoOEEz.js +312 -0
  38. package/dist/SettingsParameters-C-TFWsJF.js +89 -0
  39. package/dist/SmartPortSelector-DCsuCDpV.js +174 -0
  40. package/dist/TokensView-B5D45QbV.js +392 -0
  41. package/dist/{UpdateNodeForm-BQDjp3CR.js → UpdateNodeForm-DmAoHURu.js} +131 -127
  42. package/dist/UserServerPrivileges-k-30v4ps.js +319 -0
  43. package/dist/{_createCompounder-NPjOAZm-.js → _createCompounder-DHQYnhTQ.js} +2 -2
  44. package/dist/{camelCase-BXg45SFI.js → camelCase-CE1GGhvX.js} +2 -2
  45. package/dist/{capitalize-BSQeiLff.js → capitalize-DnZmwhT4.js} +5 -5
  46. package/dist/{clientCertificates-Dm0Bh62v.js → clientCertificates-Dd9OqxGQ.js} +1 -1
  47. package/dist/frontend.css +6 -14
  48. package/dist/{gameList-CJAymSBL.js → gameList-BLdEusRA.js} +40 -40
  49. package/dist/gameap.svg +3 -0
  50. package/dist/gameap_full.svg +9 -0
  51. package/dist/index-BDKiNPpP.js +3840 -0
  52. package/dist/index.js +1 -1
  53. package/dist/isEmpty-lBntcFaB.js +263 -0
  54. package/dist/join-CmlzL0H9.js +7 -0
  55. package/dist/{loader-BGOXrNPF.js → loader-C49Def-j.js} +1 -1
  56. package/dist/{snakeCase-o1mQEFQr.js → snakeCase--wUVfLw4.js} +1 -1
  57. package/dist/validators-BVXTUmow.js +65 -0
  58. package/package.json +1 -1
  59. package/dist/AdminDaemonTaskListView-DTQbTpkt.js +0 -315
  60. package/dist/AdminGamesList-CU_RB7gu.js +0 -499
  61. package/dist/AdminNodeShowView-Col-7fyA.js +0 -166
  62. package/dist/AdminNodesCreateView-CZsMnSCJ.js +0 -84
  63. package/dist/AdminNodesView-DvuZ9haB.js +0 -160
  64. package/dist/CreateModForm-Byq8UvuW.js +0 -122
  65. package/dist/CreateNodeModal-BNV35RnR.js +0 -93
  66. package/dist/FileManager-X3FkHNzF.js +0 -31882
  67. package/dist/InputManyList-BFGIEnls.js +0 -110
  68. package/dist/InputTextList-D280D5fs.js +0 -63
  69. package/dist/PluginPendingView-Cp6KgA8z.js +0 -31
  70. package/dist/RconConsole-BxjHKC6E.js +0 -74
  71. package/dist/ServerConsole-Cr-BZJIC.js +0 -98
  72. package/dist/ServerIdView-wsnPfVUi.js +0 -576
  73. package/dist/SettingsParameters-BVpVg868.js +0 -87
  74. package/dist/SmartPortSelector-bubAEnvR.js +0 -161
  75. package/dist/UserServerPrivileges-CizE2EYl.js +0 -318
  76. package/dist/_commonjsHelpers-C6fGbg64.js +0 -6
  77. package/dist/index-Fmomw6wi.js +0 -5750
@@ -0,0 +1,175 @@
1
+ import { ref as k, computed as B, onMounted as I, createElementBlock as y, openBlock as _, Fragment as L, createVNode as s, createCommentVNode as D, unref as e, withCtx as i, createElementVNode as n, toDisplayString as o, createBlock as h } from "vue";
2
+ import { i as S, t as a, e as N, m as U, _ as v, a as b, B as V, l as A, b as P } from "./index-BDKiNPpP.js";
3
+ import { NCard as T, NTable as j } from "naive-ui";
4
+ import { storeToRefs as F } from "pinia";
5
+ import { useRoute as M } from "vue-router";
6
+ const O = {
7
+ key: 0,
8
+ class: "mb-5"
9
+ }, Q = {
10
+ __name: "AdminNodeShowView",
11
+ setup(E) {
12
+ const m = M(), f = S(), { daemonInfo: t, loading: x } = F(f), r = k(!1), c = k(0);
13
+ async function w(d, u) {
14
+ r.value = !0, c.value = 0;
15
+ try {
16
+ const g = await P.get(d, {
17
+ responseType: "blob",
18
+ onDownloadProgress: (p) => {
19
+ p.total && (c.value = Math.round(p.loaded * 100 / p.total));
20
+ }
21
+ }), $ = new Blob([g.data]), l = document.createElement("a");
22
+ l.href = window.URL.createObjectURL($), l.setAttribute("download", u), document.body.appendChild(l), l.click(), document.body.removeChild(l), window.URL.revokeObjectURL(l.href);
23
+ } catch (g) {
24
+ N(g);
25
+ } finally {
26
+ r.value = !1, c.value = 0;
27
+ }
28
+ }
29
+ function z() {
30
+ w(`/api/dedicated_servers/${m.params.id}/logs.zip`, "logs.zip");
31
+ }
32
+ function C() {
33
+ w("/api/dedicated_servers/certificates.zip", "certificates.zip");
34
+ }
35
+ const R = B(() => {
36
+ let d = [
37
+ { route: "/", text: "GameAP", icon: "gicon gicon-gameap" },
38
+ { route: { name: "admin.nodes.index" }, text: a("dedicated_servers.dedicated_servers") }
39
+ ];
40
+ return t.value.name && d.push({ text: t.value.name }), d;
41
+ });
42
+ return I(() => {
43
+ f.setNodeId(m.params.id), f.fetchDaemonInfo().catch((d) => {
44
+ N(d);
45
+ });
46
+ }), (d, u) => (_(), y(L, null, [
47
+ s(e(U), { items: R.value }, null, 8, ["items"]),
48
+ s(v, {
49
+ color: "blue",
50
+ size: "middle",
51
+ class: "mb-5 mr-1",
52
+ route: { name: "admin.nodes.edit", params: { id: e(m).params.id } }
53
+ }, {
54
+ default: i(() => [
55
+ s(e(b), {
56
+ name: "edit",
57
+ class: "mr-0.5"
58
+ }),
59
+ n("span", null, o(e(a)("main.edit")), 1)
60
+ ]),
61
+ _: 1
62
+ }, 8, ["route"]),
63
+ s(v, {
64
+ color: "orange",
65
+ size: "middle",
66
+ class: "mb-5 mr-1",
67
+ disabled: r.value,
68
+ onClick: z
69
+ }, {
70
+ default: i(() => [
71
+ s(e(b), {
72
+ name: "download",
73
+ class: "mr-0.5"
74
+ }),
75
+ n("span", null, o(e(a)("dedicated_servers.download_logs")), 1)
76
+ ]),
77
+ _: 1
78
+ }, 8, ["disabled"]),
79
+ s(v, {
80
+ color: "green",
81
+ size: "middle",
82
+ class: "mb-5 mr-1",
83
+ disabled: r.value,
84
+ onClick: C
85
+ }, {
86
+ default: i(() => [
87
+ s(e(b), {
88
+ name: "download",
89
+ class: "mr-0.5"
90
+ }),
91
+ n("span", null, o(e(a)("dedicated_servers.download_certificates")), 1)
92
+ ]),
93
+ _: 1
94
+ }, 8, ["disabled"]),
95
+ r.value ? (_(), y("div", O, [
96
+ s(e(V), { progress: c.value }, null, 8, ["progress"])
97
+ ])) : D("", !0),
98
+ s(e(T), {
99
+ size: "small",
100
+ class: "mb-3",
101
+ "header-class": "g-card-header",
102
+ segmented: {
103
+ content: !0,
104
+ footer: "soft"
105
+ }
106
+ }, {
107
+ default: i(() => [
108
+ e(x) ? (_(), h(e(A), { key: 0 })) : (_(), h(e(j), {
109
+ key: 1,
110
+ bordered: !1,
111
+ "single-line": !0
112
+ }, {
113
+ default: i(() => [
114
+ n("tbody", null, [
115
+ n("tr", null, [
116
+ u[0] || (u[0] = n("td", null, [
117
+ n("strong", null, "ID:")
118
+ ], -1)),
119
+ n("td", null, o(e(t).id), 1)
120
+ ]),
121
+ n("tr", null, [
122
+ n("td", null, [
123
+ n("strong", null, o(e(a)("dedicated_servers.name")) + ":", 1)
124
+ ]),
125
+ n("td", null, o(e(t).name), 1)
126
+ ]),
127
+ n("tr", null, [
128
+ n("td", null, [
129
+ n("strong", null, o(e(a)("dedicated_servers.gdaemon_api_key")) + ":", 1)
130
+ ]),
131
+ n("td", null, o(e(t).api_key), 1)
132
+ ]),
133
+ n("tr", null, [
134
+ n("td", null, [
135
+ n("strong", null, o(e(a)("dedicated_servers.gdaemon_version")) + ":", 1)
136
+ ]),
137
+ n("td", null, o(e(t).version && e(t).version.version ? e(t).version.version + " (" + e(t).version.compile_date + ")" : e(a)("dedicated_servers.gdaemon_empty_info")), 1)
138
+ ]),
139
+ n("tr", null, [
140
+ n("td", null, [
141
+ n("strong", null, o(e(a)("dedicated_servers.gdaemon_uptime")) + ":", 1)
142
+ ]),
143
+ n("td", null, o(e(t).base_info && e(t).base_info.uptime ? e(t).base_info.uptime : e(a)("dedicated_servers.gdaemon_empty_info")), 1)
144
+ ]),
145
+ n("tr", null, [
146
+ n("td", null, [
147
+ n("strong", null, o(e(a)("dedicated_servers.gdaemon_online_servers_count")) + ":", 1)
148
+ ]),
149
+ n("td", null, o(e(t).base_info && e(t).base_info.online_servers_count ? e(t).base_info.online_servers_count : e(a)("dedicated_servers.gdaemon_empty_info")), 1)
150
+ ]),
151
+ n("tr", null, [
152
+ n("td", null, [
153
+ n("strong", null, o(e(a)("dedicated_servers.gdaemon_working_tasks_count")) + ":", 1)
154
+ ]),
155
+ n("td", null, o(e(t).base_info && e(t).base_info.working_tasks_count ? e(t).base_info.working_tasks_count : e(a)("dedicated_servers.gdaemon_empty_info")), 1)
156
+ ]),
157
+ n("tr", null, [
158
+ n("td", null, [
159
+ n("strong", null, o(e(a)("dedicated_servers.gdaemon_waiting_tasks_count")) + ":", 1)
160
+ ]),
161
+ n("td", null, o(e(t).base_info && e(t).base_info.waiting_tasks_count ? e(t).base_info.waiting_tasks_count : e(a)("dedicated_servers.gdaemon_empty_info")), 1)
162
+ ])
163
+ ])
164
+ ]),
165
+ _: 1
166
+ }))
167
+ ]),
168
+ _: 1
169
+ })
170
+ ], 64));
171
+ }
172
+ };
173
+ export {
174
+ Q as default
175
+ };
@@ -0,0 +1,87 @@
1
+ import { computed as d, onMounted as x, ref as S, resolveComponent as N, createElementBlock as b, openBlock as V, Fragment as M, createVNode as n, unref as a, withCtx as f, createElementVNode as $, toDisplayString as w } from "vue";
2
+ import { x as y, t as r, e as m, m as A, _ as D, a as E, n as F } from "./index-BDKiNPpP.js";
3
+ import { u as O } from "./clientCertificates-Dd9OqxGQ.js";
4
+ import { useRoute as R, useRouter as j } from "vue-router";
5
+ import { storeToRefs as p } from "pinia";
6
+ import { _ as B } from "./UpdateNodeForm-DmAoHURu.js";
7
+ import { s as L } from "./snakeCase--wUVfLw4.js";
8
+ const q = { class: "hidden lg:inline" }, K = {
9
+ __name: "AdminNodesCreateView",
10
+ setup(G) {
11
+ R();
12
+ const _ = j(), s = y(), i = O(), v = d(() => [
13
+ { route: "/", text: "GameAP", icon: "gicon gicon-gameap" },
14
+ { route: { name: "admin.nodes.index" }, text: r("dedicated_servers.dedicated_servers") },
15
+ { text: r("dedicated_servers.create") }
16
+ ]);
17
+ x(() => {
18
+ i.fetchClientCertificates().catch((e) => {
19
+ m(e);
20
+ }), s.fetchAutoSetupData().catch((e) => {
21
+ m(e);
22
+ });
23
+ });
24
+ const { certificates: C } = p(i), { autoSetupData: c } = p(s), g = d(() => i.loading.value), h = d(() => C.value.map((e) => ({
25
+ label: e.fingerprint,
26
+ value: e.id
27
+ }))), t = S({
28
+ name: "",
29
+ description: "",
30
+ location: ""
31
+ }), u = async () => {
32
+ t.value.serverCertificateFile ? t.value.gdaemonServerCert = await t.value.serverCertificateFile.text() : t.value.gdaemonServerCert = "";
33
+ const e = Object.fromEntries(
34
+ Object.entries(t.value).map(([o, l]) => [L(o), l])
35
+ );
36
+ s.createNode(e).then(() => {
37
+ F({
38
+ content: r("dedicated_servers.create_success_msg"),
39
+ type: "success"
40
+ }, () => {
41
+ _.push({ name: "admin.nodes.index" });
42
+ });
43
+ }).catch((o) => {
44
+ m(o);
45
+ });
46
+ };
47
+ return (e, o) => {
48
+ const l = N("CreateNodeModal");
49
+ return V(), b(M, null, [
50
+ n(a(A), { items: v.value }, null, 8, ["items"]),
51
+ n(B, {
52
+ loading: g.value,
53
+ modelValue: t.value,
54
+ "onUpdate:modelValue": o[0] || (o[0] = (k) => t.value = k),
55
+ onSend: u,
56
+ "client-certificate-options": h.value
57
+ }, {
58
+ button: f(() => [
59
+ n(D, {
60
+ class: "mt-2",
61
+ color: "green",
62
+ onClick: u
63
+ }, {
64
+ default: f(() => [
65
+ n(a(E), {
66
+ name: "add-square",
67
+ class: "mr-0.5"
68
+ }),
69
+ $("span", q, " " + w(a(r)("main.create")), 1)
70
+ ]),
71
+ _: 1
72
+ })
73
+ ]),
74
+ _: 1
75
+ }, 8, ["loading", "modelValue", "client-certificate-options"]),
76
+ n(l, {
77
+ link: a(c).link,
78
+ token: a(c).token,
79
+ host: a(c).host
80
+ }, null, 8, ["link", "token", "host"])
81
+ ], 64);
82
+ };
83
+ }
84
+ };
85
+ export {
86
+ K as default
87
+ };
@@ -1,20 +1,20 @@
1
- import { computed as s, onMounted as h, ref as x, createElementBlock as b, openBlock as N, Fragment as S, createVNode as d, unref as O } from "vue";
2
- import { h as V, t as i, e as c, k as j, n as k } from "./index-Fmomw6wi.js";
3
- import { u as E } from "./clientCertificates-Dm0Bh62v.js";
1
+ import { computed as s, onMounted as x, ref as b, createElementBlock as h, openBlock as N, Fragment as S, createVNode as d, unref as O } from "vue";
2
+ import { i as V, t as i, e as c, m as j, n as E } from "./index-BDKiNPpP.js";
3
+ import { u as k } from "./clientCertificates-Dd9OqxGQ.js";
4
4
  import { useRoute as F, useRouter as R } from "vue-router";
5
5
  import { storeToRefs as l } from "pinia";
6
- import { _ as U } from "./UpdateNodeForm-BQDjp3CR.js";
7
- import { c as w } from "./camelCase-BXg45SFI.js";
8
- import { s as y } from "./snakeCase-o1mQEFQr.js";
6
+ import { _ as U } from "./UpdateNodeForm-DmAoHURu.js";
7
+ import { c as w } from "./camelCase-CE1GGhvX.js";
8
+ import { s as y } from "./snakeCase--wUVfLw4.js";
9
9
  const z = {
10
10
  __name: "AdminNodesEditView",
11
11
  setup(A) {
12
- const u = F(), m = R(), a = V(), r = E(), f = s(() => [
12
+ const u = F(), m = R(), a = V(), r = k(), f = s(() => [
13
13
  { route: "/", text: "GameAP", icon: "gicon gicon-gameap" },
14
14
  { route: { name: "admin.nodes.index" }, text: i("dedicated_servers.dedicated_servers") },
15
15
  { text: i("dedicated_servers.edit") }
16
16
  ]);
17
- h(() => {
17
+ x(() => {
18
18
  a.setNodeId(u.params.id), a.fetchNode().then(() => {
19
19
  t.value = Object.fromEntries(
20
20
  Object.entries(p.value).map(([e, o]) => [w(e), o])
@@ -28,7 +28,7 @@ const z = {
28
28
  const { node: p } = l(a), { certificates: v } = l(r), _ = s(() => a.loading.value || r.loading.value), g = s(() => v.value.map((e) => ({
29
29
  label: e.fingerprint,
30
30
  value: e.id
31
- }))), t = x({
31
+ }))), t = b({
32
32
  name: "",
33
33
  description: "",
34
34
  location: ""
@@ -38,7 +38,7 @@ const z = {
38
38
  Object.entries(t.value).map(([o, n]) => [y(o), n])
39
39
  );
40
40
  a.saveNode(e).then(() => {
41
- k({
41
+ E({
42
42
  content: i("dedicated_servers.update_success_msg"),
43
43
  type: "success"
44
44
  }, () => {
@@ -48,7 +48,7 @@ const z = {
48
48
  c(o);
49
49
  });
50
50
  };
51
- return (e, o) => (N(), b(S, null, [
51
+ return (e, o) => (N(), h(S, null, [
52
52
  d(O(j), { items: f.value }, null, 8, ["items"]),
53
53
  d(U, {
54
54
  loading: _.value,
@@ -0,0 +1,167 @@
1
+ import { computed as m, ref as b, onMounted as z, createElementBlock as C, openBlock as w, Fragment as $, createVNode as s, unref as i, withCtx as o, createElementVNode as u, toDisplayString as p, h as a } from "vue";
2
+ import { x as D, t as e, e as _, m as S, _ as n, a as r, l as T, n as B } from "./index-BDKiNPpP.js";
3
+ import { storeToRefs as E } from "pinia";
4
+ import { NDataTable as V, NEmpty as j } from "naive-ui";
5
+ import { j as A } from "./join-CmlzL0H9.js";
6
+ const M = {
7
+ __name: "AdminNodesView",
8
+ setup(F) {
9
+ const d = D(), f = m(() => [
10
+ { route: "/", text: "GameAP", icon: "gicon gicon-gameap" },
11
+ { route: { name: "admin.nodes.index" }, text: e("sidebar.dedicated_servers") }
12
+ ]), v = () => [
13
+ {
14
+ title: e("dedicated_servers.name"),
15
+ key: "name"
16
+ },
17
+ {
18
+ title: e("dedicated_servers.location"),
19
+ key: "location"
20
+ },
21
+ {
22
+ title: e("dedicated_servers.provider"),
23
+ key: "provider"
24
+ },
25
+ {
26
+ title: e("dedicated_servers.ip"),
27
+ key: "ip",
28
+ render(t) {
29
+ return A(t.ip, ", ");
30
+ }
31
+ },
32
+ {
33
+ title: e("dedicated_servers.os"),
34
+ key: "os"
35
+ },
36
+ {
37
+ title: e("main.actions"),
38
+ render(t) {
39
+ return [
40
+ a(n, {
41
+ color: "green",
42
+ size: "small",
43
+ class: "mr-0.5",
44
+ route: { name: "admin.nodes.view", params: { id: t.id } }
45
+ }, { default: () => [
46
+ a(r, { name: "view" }),
47
+ a("span", { class: "hidden lg:inline" }, e("main.view"))
48
+ ] }),
49
+ a(n, {
50
+ color: "blue",
51
+ size: "small",
52
+ class: "mr-0.5",
53
+ route: { name: "admin.nodes.edit", params: { id: t.id } }
54
+ }, { default: () => [
55
+ a(r, { name: "edit" }),
56
+ a("span", { class: "hidden lg:inline" }, e("main.edit"))
57
+ ] }),
58
+ a(n, {
59
+ color: "red",
60
+ size: "small",
61
+ text: e("main.delete"),
62
+ onClick: () => {
63
+ N(t.id);
64
+ }
65
+ }, { default: () => [
66
+ a(r, { name: "delete" }),
67
+ a("span", { class: "hidden lg:inline" }, e("main.delete"))
68
+ ] })
69
+ ];
70
+ }
71
+ }
72
+ ], { loading: g, nodes: y } = E(d), h = b(v()), k = {
73
+ pageSize: 20
74
+ };
75
+ z(() => {
76
+ l();
77
+ });
78
+ const l = () => {
79
+ d.fetchNodesByFilter([]).catch((t) => {
80
+ _(t);
81
+ });
82
+ }, x = m(() => y.value.map((t) => ({
83
+ id: t.id,
84
+ name: t.name,
85
+ location: t.location,
86
+ provider: t.provider,
87
+ ip: t.ip,
88
+ os: t.os
89
+ }))), N = (t) => {
90
+ window.$dialog.success({
91
+ title: e("dedicated_servers.delete_confirm_msg"),
92
+ positiveText: e("main.yes"),
93
+ negativeText: e("main.no"),
94
+ closable: !1,
95
+ onPositiveClick: () => {
96
+ d.deleteNode(t).then(() => {
97
+ B({
98
+ content: e("dedicated_servers.delete_success_msg"),
99
+ type: "success"
100
+ }, () => {
101
+ l();
102
+ });
103
+ }).catch((c) => {
104
+ _(c);
105
+ });
106
+ },
107
+ onNegativeClick: () => {
108
+ }
109
+ });
110
+ };
111
+ return (t, c) => (w(), C($, null, [
112
+ s(i(S), { items: f.value }, null, 8, ["items"]),
113
+ s(n, {
114
+ color: "green",
115
+ size: "middle",
116
+ class: "mb-5 mr-1",
117
+ route: { name: "admin.nodes.create" }
118
+ }, {
119
+ default: o(() => [
120
+ s(i(r), {
121
+ name: "add-square",
122
+ class: "mr-0.5"
123
+ }),
124
+ u("span", null, p(i(e)("dedicated_servers.create")), 1)
125
+ ]),
126
+ _: 1
127
+ }),
128
+ s(n, {
129
+ color: "orange",
130
+ size: "middle",
131
+ class: "mb-5",
132
+ route: { name: "admin.client_certificates.index" }
133
+ }, {
134
+ default: o(() => [
135
+ s(i(r), {
136
+ name: "certificate",
137
+ class: "mr-0.5"
138
+ }),
139
+ u("span", null, p(i(e)("client_certificates.client_certificates")), 1)
140
+ ]),
141
+ _: 1
142
+ }),
143
+ s(i(V), {
144
+ ref: "tableRef",
145
+ bordered: !1,
146
+ "single-line": !0,
147
+ columns: h.value,
148
+ data: x.value,
149
+ loading: i(g),
150
+ pagination: k
151
+ }, {
152
+ loading: o(() => [
153
+ s(i(T))
154
+ ]),
155
+ empty: o(() => [
156
+ s(i(j), {
157
+ description: i(e)("servers.empty_list")
158
+ }, null, 8, ["description"])
159
+ ]),
160
+ _: 1
161
+ }, 8, ["columns", "data", "loading"])
162
+ ], 64));
163
+ }
164
+ };
165
+ export {
166
+ M as default
167
+ };