@gameap/frontend 4.1.0-dev8 → 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,316 @@
1
+ import { computed as v, ref as F, reactive as J, onMounted as K, createElementBlock as Q, openBlock as X, Fragment as Y, createVNode as d, createElementVNode as I, unref as r, withCtx as h, toDisplayString as Z, h as n } from "vue";
2
+ import { b as ee, x as se, j as ae, t as s, e as S, m as te, a as i, l as re, y as x, _ as ne } from "./index-BDKiNPpP.js";
3
+ import { NInputGroup as le, NSelect as _, NButton as oe, NDataTable as ue } from "naive-ui";
4
+ import { defineStore as de, storeToRefs as L } from "pinia";
5
+ import { j as k } from "./join-CmlzL0H9.js";
6
+ import { RouterLink as ie } from "vue-router";
7
+ const ce = de("daemonTaskList", {
8
+ state: () => ({
9
+ daemonTaskList: [],
10
+ currentPage: 1,
11
+ total: 0,
12
+ lastPage: 1,
13
+ // This is a counter to keep track of how many API processes are running
14
+ apiProcesses: 0
15
+ }),
16
+ getters: {
17
+ loading: (l) => l.apiProcesses > 0
18
+ },
19
+ actions: {
20
+ async fetchTasksByFilter(l) {
21
+ this.apiProcesses++;
22
+ try {
23
+ let o = {
24
+ sort: "-id"
25
+ };
26
+ l.page && (o["page[number]"] = l.page), l.tasks && (o["filter[task]"] = k(l.tasks, ",")), l.statuses && (o["filter[status]"] = k(l.statuses, ",")), l.nodes && (o["filter[dedicated_server_id]"] = k(l.nodes, ",")), l.servers && (o["filter[server_id]"] = k(l.servers, ","));
27
+ const c = await ee.get("/api/gdaemon_tasks", {
28
+ params: o
29
+ });
30
+ this.daemonTaskList = c.data.data, this.currentPage = c.data.current_page, this.total = c.data.total, this.lastPage = c.data.last_page;
31
+ } catch (o) {
32
+ throw o;
33
+ } finally {
34
+ this.apiProcesses--;
35
+ }
36
+ }
37
+ }
38
+ }), me = { class: "mb-1 w-2/3" }, ve = { class: "hidden lg:inline" }, he = {
39
+ __name: "AdminDaemonTaskListView",
40
+ setup(l) {
41
+ const o = ce(), c = se(), f = ae(), B = v(() => [
42
+ { route: "/", text: "GameAP", icon: "gicon gicon-gameap" },
43
+ { route: { name: "admin.gdaemon_tasks.index" }, text: s("gdaemon_tasks.gdaemon_tasks") }
44
+ ]), D = () => [
45
+ {
46
+ title: s("gdaemon_tasks.task"),
47
+ key: "task",
48
+ render(e) {
49
+ return P(e.task, s("gdaemon_tasks." + e.task));
50
+ }
51
+ },
52
+ {
53
+ title: s("gdaemon_tasks.status"),
54
+ key: "status",
55
+ render(e) {
56
+ return n(x, { status: e.status, text: s("gdaemon_tasks.status_" + e.status) });
57
+ }
58
+ },
59
+ {
60
+ title: s("servers.game_server"),
61
+ render(e) {
62
+ if (!e.serverId)
63
+ return "";
64
+ let a = w.value.find((u) => u.id === e.serverId);
65
+ return a ? n(
66
+ ie,
67
+ {
68
+ to: { name: "servers.control", params: { id: a.id } },
69
+ class: "text-blue-600 underline dark:text-blue-500 hover:no-underline"
70
+ },
71
+ { default: () => a.name }
72
+ ) : "";
73
+ }
74
+ },
75
+ {
76
+ title: s("servers.dedicated_server"),
77
+ render(e) {
78
+ let a = T.value.find((u) => u.id === e.nodeId);
79
+ return a ? a.name : "";
80
+ }
81
+ },
82
+ {
83
+ title: s("gdaemon_tasks.created"),
84
+ key: "createdAt"
85
+ },
86
+ {
87
+ title: s("gdaemon_tasks.updated"),
88
+ key: "updatedAt"
89
+ },
90
+ {
91
+ title: s("main.actions"),
92
+ render(e) {
93
+ return [
94
+ n(ne, {
95
+ color: "green",
96
+ size: "small",
97
+ class: "mr-0.5",
98
+ route: { name: "admin.gdaemon_tasks.output", params: { id: e.id } }
99
+ }, { default: () => [
100
+ n(i, { name: "view" }),
101
+ n("span", { class: "hidden lg:inline" }, s("main.view"))
102
+ ] })
103
+ ];
104
+ }
105
+ }
106
+ ], { daemonTaskList: O, currentPage: m, total: y } = L(o), { nodes: T } = L(c), { servers: w } = L(f), A = F(D()), b = J({
107
+ page: m,
108
+ pageSize: 30
109
+ }), C = v(() => o.loading || c.loading || f.loading);
110
+ K(() => {
111
+ m.value = 1, g(), U(), $();
112
+ });
113
+ const g = () => {
114
+ let e = {
115
+ page: m.value
116
+ };
117
+ t.value.tasks && (e.tasks = t.value.tasks), t.value.statuses && (e.statuses = t.value.statuses), t.value.servers && (e.servers = t.value.servers), t.value.nodes && (e.nodes = t.value.nodes), o.fetchTasksByFilter(e).then(() => {
118
+ b.pageCount = y.lastPage, b.itemCount = y.value;
119
+ }).catch((a) => {
120
+ S(a);
121
+ });
122
+ }, U = () => {
123
+ c.fetchNodesByFilter([]).catch((e) => {
124
+ S(e);
125
+ });
126
+ }, $ = () => {
127
+ f.fetchServersByFilter([]).catch((e) => {
128
+ S(e);
129
+ });
130
+ }, j = v(() => O.value.map((e) => ({
131
+ id: e.id,
132
+ task: e.task,
133
+ status: e.status,
134
+ serverId: e.server_id,
135
+ nodeId: e.dedicated_server_id,
136
+ createdAt: new Date(e.created_at).toLocaleString(),
137
+ updatedAt: new Date(e.updated_at).toLocaleString()
138
+ }))), t = F({
139
+ tasks: null,
140
+ statuses: null,
141
+ servers: null,
142
+ nodes: null
143
+ }), N = [
144
+ {
145
+ label: s("gdaemon_tasks.gsstart"),
146
+ value: "gsstart"
147
+ },
148
+ {
149
+ label: s("gdaemon_tasks.gsstop"),
150
+ value: "gsstop"
151
+ },
152
+ {
153
+ label: s("gdaemon_tasks.gsrest"),
154
+ value: "gsrest"
155
+ },
156
+ {
157
+ label: s("gdaemon_tasks.gsupd"),
158
+ value: "gsupd"
159
+ },
160
+ {
161
+ label: s("gdaemon_tasks.gsinst"),
162
+ value: "gsinst"
163
+ },
164
+ {
165
+ label: s("gdaemon_tasks.gsdel"),
166
+ value: "gsdel"
167
+ },
168
+ {
169
+ label: s("gdaemon_tasks.gsmove"),
170
+ value: "gsmove"
171
+ },
172
+ {
173
+ label: s("gdaemon_tasks.cmdexec"),
174
+ value: "cmdexec"
175
+ }
176
+ ], R = [
177
+ {
178
+ label: s("gdaemon_tasks.status_waiting"),
179
+ value: "waiting"
180
+ },
181
+ {
182
+ label: s("gdaemon_tasks.status_working"),
183
+ value: "working"
184
+ },
185
+ {
186
+ label: s("gdaemon_tasks.status_error"),
187
+ value: "error"
188
+ },
189
+ {
190
+ label: s("gdaemon_tasks.status_success"),
191
+ value: "success"
192
+ },
193
+ {
194
+ label: s("gdaemon_tasks.status_canceled"),
195
+ value: "canceled"
196
+ }
197
+ ], V = (e) => P(e.value, e.label), P = (e, a) => {
198
+ switch (e) {
199
+ case "gsstart":
200
+ return [n(i, { name: "play", class: "mr-2" }), a];
201
+ case "gsstop":
202
+ return [n(i, { name: "stop", class: "mr-2" }), a];
203
+ case "gsrest":
204
+ return [n(i, { name: "restart", class: "mr-2" }), a];
205
+ case "gsupd":
206
+ return [n(i, { name: "refresh", class: "mr-2" }), a];
207
+ case "gsinst":
208
+ return [n(i, { name: "download", class: "mr-2" }), a];
209
+ case "gsdel":
210
+ return [n(i, { name: "delete", class: "mr-2" }), a];
211
+ case "gsmove":
212
+ return [n(i, { name: "move", class: "mr-2" }), a];
213
+ case "cmdexec":
214
+ return [n(i, { name: "terminal", class: "mr-2" }), a];
215
+ default:
216
+ return a;
217
+ }
218
+ }, z = (e) => n(x, { status: e.value, text: e.label }), E = (e) => n(x, { status: e.option.value, text: e.option.label }), G = v(() => T.value.map((e) => ({
219
+ label: e.name,
220
+ value: e.id
221
+ }))), M = v(() => w.value.map((e) => ({
222
+ label: e.name,
223
+ value: e.id
224
+ }))), W = (e) => {
225
+ m.value = e, g();
226
+ }, p = () => {
227
+ m.value = 1, g();
228
+ }, q = () => t.value.tasks || t.value.statuses || t.value.servers || t.value.nodes, H = () => {
229
+ t.value.tasks = null, t.value.statuses = null, t.value.servers = null, t.value.nodes = null, m.value = 1, g();
230
+ };
231
+ return (e, a) => (X(), Q(Y, null, [
232
+ d(r(te), { items: B.value }, null, 8, ["items"]),
233
+ I("div", me, [
234
+ d(r(le), null, {
235
+ default: h(() => [
236
+ d(r(_), {
237
+ multiple: "",
238
+ value: t.value.tasks,
239
+ "onUpdate:value": [
240
+ a[0] || (a[0] = (u) => t.value.tasks = u),
241
+ p
242
+ ],
243
+ options: N,
244
+ placeholder: r(s)("gdaemon_tasks.task"),
245
+ "render-label": V
246
+ }, null, 8, ["value", "placeholder"]),
247
+ d(r(_), {
248
+ multiple: "",
249
+ value: t.value.statuses,
250
+ "onUpdate:value": [
251
+ a[1] || (a[1] = (u) => t.value.statuses = u),
252
+ p
253
+ ],
254
+ options: R,
255
+ placeholder: r(s)("gdaemon_tasks.status"),
256
+ "render-label": z,
257
+ "render-tag": E
258
+ }, null, 8, ["value", "placeholder"]),
259
+ d(r(_), {
260
+ multiple: "",
261
+ value: t.value.servers,
262
+ "onUpdate:value": [
263
+ a[2] || (a[2] = (u) => t.value.servers = u),
264
+ p
265
+ ],
266
+ options: M.value,
267
+ placeholder: r(s)("servers.game_servers")
268
+ }, null, 8, ["value", "options", "placeholder"]),
269
+ d(r(_), {
270
+ multiple: "",
271
+ value: t.value.nodes,
272
+ "onUpdate:value": [
273
+ a[3] || (a[3] = (u) => t.value.nodes = u),
274
+ p
275
+ ],
276
+ options: G.value,
277
+ placeholder: r(s)("dedicated_servers.dedicated_servers")
278
+ }, null, 8, ["value", "options", "placeholder"]),
279
+ d(r(oe), {
280
+ onClick: H,
281
+ type: "error",
282
+ disabled: !q(),
283
+ ghost: ""
284
+ }, {
285
+ default: h(() => [
286
+ d(r(i), { name: "eraser" }),
287
+ I("span", ve, " " + Z(r(s)("main.clear")), 1)
288
+ ]),
289
+ _: 1
290
+ }, 8, ["disabled"])
291
+ ]),
292
+ _: 1
293
+ })
294
+ ]),
295
+ d(r(ue), {
296
+ remote: "",
297
+ ref: "tableRef",
298
+ bordered: !1,
299
+ "single-line": !0,
300
+ columns: A.value,
301
+ data: j.value,
302
+ loading: C.value,
303
+ pagination: b,
304
+ "onUpdate:page": W
305
+ }, {
306
+ loading: h(() => [
307
+ d(r(re))
308
+ ]),
309
+ _: 1
310
+ }, 8, ["columns", "data", "loading", "pagination"])
311
+ ], 64));
312
+ }
313
+ };
314
+ export {
315
+ he as default
316
+ };
@@ -1,12 +1,12 @@
1
- import { computed as m, onMounted as _, createElementBlock as f, openBlock as i, Fragment as k, createVNode as r, createBlock as v, createCommentVNode as b, createElementVNode as t, unref as e, normalizeClass as h, withCtx as x, toDisplayString as a } from "vue";
2
- import { H as w, t as n, e as T, r as N, k as V, l as y, G as B } from "./index-Fmomw6wi.js";
1
+ import { computed as m, onMounted as k, createElementBlock as v, openBlock as r, Fragment as b, createVNode as i, createBlock as c, createCommentVNode as g, createElementVNode as t, unref as e, normalizeClass as h, withCtx as x, toDisplayString as a } from "vue";
2
+ import { z as w, t as n, e as T, r as y, m as N, l as V, y as B } from "./index-BDKiNPpP.js";
3
3
  import { NTable as C } from "naive-ui";
4
4
  import { useRoute as D } from "vue-router";
5
5
  import { storeToRefs as S } from "pinia";
6
- const $ = { class: "w-full mt-3" }, A = { class: "coding inverse-toggle px-5 pt-4 shadow-lg text-stone-100 text-sm font-mono subpixel-antialiased bg-stone-800 dark:bg-stone-900 pb-6 pt-4 rounded-lg leading-normal overflow-hidden" }, E = { class: "whitespace-pre-wrap mt-4 flex" }, I = {
6
+ const $ = { class: "w-full mt-3" }, z = { class: "coding inverse-toggle px-5 pt-4 shadow-lg text-stone-100 text-sm font-mono subpixel-antialiased bg-stone-800 dark:bg-stone-900 pb-6 pt-4 rounded-lg leading-normal overflow-hidden" }, A = { class: "whitespace-pre-wrap mt-4 flex" }, M = {
7
7
  __name: "AdminDaemonTaskOutputView",
8
- setup(G) {
9
- const o = w(), c = D(), g = m(() => {
8
+ setup(E) {
9
+ const o = w(), p = D(), _ = m(() => {
10
10
  let l = [
11
11
  { route: "/", text: "GameAP", icon: "gicon gicon-gameap" },
12
12
  { route: { name: "admin.gdaemon_tasks.index" }, text: n("gdaemon_tasks.gdaemon_tasks") }
@@ -16,20 +16,20 @@ const $ = { class: "w-full mt-3" }, A = { class: "coding inverse-toggle px-5 pt-
16
16
  text: n("gdaemon_tasks." + s.value.task)
17
17
  }), l;
18
18
  }), { loading: u, task: s } = S(o);
19
- _(() => {
20
- o.setTaskId(c.params.id), o.fetchTaskOutput().catch((l) => {
19
+ k(() => {
20
+ o.setTaskId(p.params.id), o.fetchTaskOutput().catch((l) => {
21
21
  T(l);
22
22
  });
23
23
  });
24
- const p = m(() => s.value.output ? N(s.value.output, /(\r\n|\n|\r)/gm, `
24
+ const f = m(() => s.value.output ? y(s.value.output, /(\r\n|\n|\r)/gm, `
25
25
  `) : "");
26
- return (l, d) => (i(), f(k, null, [
27
- r(e(V), { items: g.value }, null, 8, ["items"]),
28
- e(u) ? (i(), v(e(y), { key: 0 })) : b("", !0),
26
+ return (l, d) => (r(), v(b, null, [
27
+ i(e(N), { items: _.value }, null, 8, ["items"]),
28
+ e(u) ? (r(), c(e(V), { key: 0 })) : g("", !0),
29
29
  t("div", {
30
30
  class: h(e(u) ? "hidden" : "")
31
31
  }, [
32
- r(e(C), {
32
+ i(e(C), {
33
33
  bordered: !1,
34
34
  "single-line": !0
35
35
  }, {
@@ -46,9 +46,10 @@ const $ = { class: "w-full mt-3" }, A = { class: "coding inverse-toggle px-5 pt-
46
46
  t("strong", null, a(e(n)("gdaemon_tasks.status")) + ":", 1)
47
47
  ]),
48
48
  t("td", null, [
49
- r(e(B), {
49
+ e(s).status ? (r(), c(e(B), {
50
+ key: 0,
50
51
  status: e(s).status
51
- }, null, 8, ["status"])
52
+ }, null, 8, ["status"])) : g("", !0)
52
53
  ])
53
54
  ]),
54
55
  t("tr", null, [
@@ -68,13 +69,13 @@ const $ = { class: "w-full mt-3" }, A = { class: "coding inverse-toggle px-5 pt-
68
69
  _: 1
69
70
  }),
70
71
  t("div", $, [
71
- t("div", A, [
72
+ t("div", z, [
72
73
  d[0] || (d[0] = t("div", { class: "top mb-2 flex" }, [
73
74
  t("div", { class: "h-3 w-3 bg-red-500 rounded-full" }),
74
75
  t("div", { class: "ml-2 h-3 w-3 bg-orange-300 rounded-full" }),
75
76
  t("div", { class: "ml-2 h-3 w-3 bg-green-500 rounded-full" })
76
77
  ], -1)),
77
- t("div", E, a(p.value), 1)
78
+ t("div", A, a(f.value), 1)
78
79
  ])
79
80
  ])
80
81
  ], 2)
@@ -82,5 +83,5 @@ const $ = { class: "w-full mt-3" }, A = { class: "coding inverse-toggle px-5 pt-
82
83
  }
83
84
  };
84
85
  export {
85
- I as default
86
+ M as default
86
87
  };