strapi-plugin-magic-sessionmanager 4.3.0 → 4.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/dist/_chunks/{Analytics-CYYb-qXQ.mjs → Analytics-sX94t6D9.mjs} +2 -2
  2. package/dist/_chunks/{Analytics-BWvrf9k5.js → Analytics-tOOj5T92.js} +2 -2
  3. package/dist/_chunks/{App-Bgq2FgRY.mjs → App-Cs4KKd3L.mjs} +155 -54
  4. package/dist/_chunks/{App-iF0Cl3Lj.js → App-D4qVym6y.js} +154 -53
  5. package/dist/_chunks/{License-CcD3WDcC.mjs → License-CN5YpqIu.mjs} +1 -1
  6. package/dist/_chunks/{License-DFShBRh1.js → License-kfVcskd3.js} +1 -1
  7. package/dist/_chunks/{OnlineUsersWidget-CdJFMOUZ.js → OnlineUsersWidget-Cg3R7602.js} +1 -1
  8. package/dist/_chunks/{OnlineUsersWidget-DHElrP3_.mjs → OnlineUsersWidget-ytykP_tA.mjs} +1 -1
  9. package/dist/_chunks/{Settings-5ZqZ0GC8.js → Settings-DVRIrGho.js} +14 -379
  10. package/dist/_chunks/{Settings-B3FaQckW.mjs → Settings-XloJ-aHl.mjs} +4 -369
  11. package/dist/_chunks/StyledButtons-D2EbG_Zw.js +419 -0
  12. package/dist/_chunks/StyledButtons-fbNVRlMY.mjs +418 -0
  13. package/dist/_chunks/{UpgradePage-B_2RowKN.mjs → UpgradePage-C441wvPX.mjs} +1 -1
  14. package/dist/_chunks/{UpgradePage-D8GaP9Yi.js → UpgradePage-D2FRalDz.js} +1 -1
  15. package/dist/_chunks/{index-Cf1Wqdeg.js → index-DtBfKBne.js} +214 -187
  16. package/dist/_chunks/{index-Dpdcg2zl.mjs → index-Ij0JRf9W.mjs} +214 -189
  17. package/dist/_chunks/{useLicense-CThICQyr.mjs → useLicense-DJEDGSap.mjs} +1 -1
  18. package/dist/_chunks/{useLicense-DOnfhNxz.js → useLicense-NCFYHpDd.js} +1 -1
  19. package/dist/admin/index.js +1 -1
  20. package/dist/admin/index.mjs +1 -1
  21. package/dist/server/index.js +35938 -169
  22. package/dist/server/index.mjs +35927 -167
  23. package/package.json +7 -7
@@ -2,8 +2,9 @@ import { useRef, useEffect, useState } from "react";
2
2
  import { useFetchClient, useNotification } from "@strapi/strapi/admin";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { useIntl } from "react-intl";
5
- import { Box, Typography, Flex, Badge, Divider, Button } from "@strapi/design-system";
6
- import { Server, Clock, Cross, Check, Phone, Monitor } from "@strapi/icons";
5
+ import styled from "styled-components";
6
+ import { Box, Typography, Flex, Badge, Divider } from "@strapi/design-system";
7
+ import { Server, Clock, User, Cross, Check, Phone, Monitor } from "@strapi/icons";
7
8
  const strapi = {
8
9
  name: "magic-sessionmanager",
9
10
  displayName: "Magic Sessionmanager"
@@ -102,6 +103,123 @@ const parseUserAgent = (userAgent) => {
102
103
  };
103
104
  };
104
105
  const getTranslation = (id) => `${PLUGIN_ID}.${id}`;
106
+ const PanelContainer = styled(Box)`
107
+ width: 100%;
108
+ `;
109
+ const StatusCard = styled(Box)`
110
+ padding: 20px;
111
+ border-radius: 12px;
112
+ border: 1px solid ${(props) => props.$isOnline ? "#BBF7D0" : "#E5E7EB"};
113
+ background: ${(props) => props.$isOnline ? "linear-gradient(135deg, #F0FDF4 0%, #DCFCE7 100%)" : "linear-gradient(135deg, #F9FAFB 0%, #F3F4F6 100%)"};
114
+ transition: all 0.2s ease;
115
+ `;
116
+ const BlockedWarning = styled(Box)`
117
+ padding: 16px;
118
+ border-radius: 10px;
119
+ background: linear-gradient(135deg, #FEF2F2 0%, #FEE2E2 100%);
120
+ border: 1px solid #FECACA;
121
+ `;
122
+ const SessionCard = styled(Box)`
123
+ padding: 16px;
124
+ background: white;
125
+ border-radius: 10px;
126
+ border: 1px solid #E5E7EB;
127
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
128
+ transition: all 0.2s ease;
129
+
130
+ &:hover {
131
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
132
+ border-color: #0EA5E9;
133
+ }
134
+ `;
135
+ const EmptyState = styled(Box)`
136
+ padding: 32px;
137
+ background: #F9FAFB;
138
+ border-radius: 12px;
139
+ border: 2px dashed #E5E7EB;
140
+ text-align: center;
141
+ `;
142
+ const EmptyIcon = styled(Box)`
143
+ width: 48px;
144
+ height: 48px;
145
+ margin: 0 auto 12px;
146
+ display: flex;
147
+ align-items: center;
148
+ justify-content: center;
149
+ background: #E5E7EB;
150
+ border-radius: 50%;
151
+ color: #9CA3AF;
152
+ `;
153
+ const SectionLabel = styled(Typography)`
154
+ text-transform: uppercase;
155
+ letter-spacing: 0.5px;
156
+ font-size: 11px !important;
157
+ font-weight: 700 !important;
158
+ color: #6B7280;
159
+ margin-bottom: 12px;
160
+ display: block;
161
+ `;
162
+ const ActionButton = styled.button`
163
+ width: 100%;
164
+ padding: 12px 16px;
165
+ border-radius: 8px;
166
+ font-size: 14px;
167
+ font-weight: 600;
168
+ cursor: pointer;
169
+ display: flex;
170
+ align-items: center;
171
+ justify-content: center;
172
+ gap: 8px;
173
+ transition: all 0.2s ease;
174
+
175
+ ${(props) => props.$variant === "danger" && `
176
+ background: white;
177
+ color: #DC2626;
178
+ border: 2px solid #DC2626;
179
+
180
+ &:hover:not(:disabled) {
181
+ background: #DC2626;
182
+ color: white;
183
+ }
184
+ `}
185
+
186
+ ${(props) => props.$variant === "success" && `
187
+ background: white;
188
+ color: #16A34A;
189
+ border: 2px solid #16A34A;
190
+
191
+ &:hover:not(:disabled) {
192
+ background: #16A34A;
193
+ color: white;
194
+ }
195
+ `}
196
+
197
+ &:disabled {
198
+ opacity: 0.5;
199
+ cursor: not-allowed;
200
+ }
201
+
202
+ svg {
203
+ width: 16px;
204
+ height: 16px;
205
+ }
206
+ `;
207
+ const IconWrapper = styled(Box)`
208
+ width: 32px;
209
+ height: 32px;
210
+ display: flex;
211
+ align-items: center;
212
+ justify-content: center;
213
+ background: #F3F4F6;
214
+ border-radius: 8px;
215
+ flex-shrink: 0;
216
+
217
+ svg {
218
+ width: 16px;
219
+ height: 16px;
220
+ color: #6B7280;
221
+ }
222
+ `;
105
223
  const SessionInfoPanel = ({ documentId, model, document }) => {
106
224
  const { formatMessage } = useIntl();
107
225
  const [sessions, setSessions] = useState([]);
@@ -196,202 +314,109 @@ const SessionInfoPanel = ({ documentId, model, document }) => {
196
314
  const isOnline = sessions.length > 0;
197
315
  return {
198
316
  title: t("panel.title", "Session Info"),
199
- content: /* @__PURE__ */ jsx(Box, { style: { width: "100%" }, children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 4, alignItems: "stretch", children: [
200
- /* @__PURE__ */ jsx(
201
- Box,
202
- {
203
- padding: 5,
204
- background: isOnline ? "success100" : "neutral150",
205
- hasRadius: true,
206
- style: {
207
- border: isOnline ? "1px solid #c6f6d5" : "1px solid #eaeaef",
208
- transition: "all 0.2s ease"
209
- },
210
- children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 3, alignItems: "center", children: [
211
- /* @__PURE__ */ jsx(
212
- Badge,
213
- {
214
- backgroundColor: isOnline ? "success600" : "neutral600",
215
- textColor: "neutral0",
216
- size: "M",
217
- style: { fontSize: "14px", padding: "6px 12px" },
218
- children: isOnline ? t("panel.status.active", "ACTIVE") : t("panel.status.offline", "OFFLINE")
219
- }
220
- ),
221
- /* @__PURE__ */ jsx(Typography, { variant: "omega", fontWeight: "semiBold", textColor: isOnline ? "success700" : "neutral700", children: t("panel.sessions.count", "{count} active session{count, plural, one {} other {s}}", { count: sessions.length }) })
222
- ] })
223
- }
224
- ),
225
- isBlocked && /* @__PURE__ */ jsxs(
226
- Box,
227
- {
228
- padding: 4,
229
- background: "danger100",
230
- hasRadius: true,
231
- children: [
232
- /* @__PURE__ */ jsx(Typography, { variant: "omega", fontWeight: "semiBold", textColor: "danger700", marginBottom: 1, children: t("panel.blocked.title", "User is blocked") }),
233
- /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "danger600", children: t("panel.blocked.description", "Authentication disabled") })
234
- ]
235
- }
236
- ),
317
+ content: /* @__PURE__ */ jsx(PanelContainer, { children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 4, alignItems: "stretch", children: [
318
+ /* @__PURE__ */ jsx(StatusCard, { $isOnline: isOnline, children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 3, alignItems: "center", children: [
319
+ /* @__PURE__ */ jsx(
320
+ Badge,
321
+ {
322
+ backgroundColor: isOnline ? "success600" : "neutral600",
323
+ textColor: "neutral0",
324
+ size: "M",
325
+ style: { fontSize: "12px", padding: "6px 14px", fontWeight: "700" },
326
+ children: isOnline ? t("panel.status.active", "ONLINE") : t("panel.status.offline", "OFFLINE")
327
+ }
328
+ ),
329
+ /* @__PURE__ */ jsxs(
330
+ Typography,
331
+ {
332
+ variant: "omega",
333
+ fontWeight: "semiBold",
334
+ textColor: isOnline ? "success700" : "neutral700",
335
+ children: [
336
+ sessions.length,
337
+ " ",
338
+ t("panel.sessions.label", "active session"),
339
+ sessions.length !== 1 ? "s" : ""
340
+ ]
341
+ }
342
+ )
343
+ ] }) }),
344
+ isBlocked && /* @__PURE__ */ jsxs(BlockedWarning, { children: [
345
+ /* @__PURE__ */ jsx(Typography, { variant: "omega", fontWeight: "bold", textColor: "danger700", children: t("panel.blocked.title", "User is blocked") }),
346
+ /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "danger600", style: { marginTop: "4px" }, children: t("panel.blocked.description", "Authentication disabled") })
347
+ ] }),
237
348
  sessions.length > 0 ? /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 3, alignItems: "stretch", children: [
238
- /* @__PURE__ */ jsx(Typography, { variant: "sigma", textColor: "neutral600", textTransform: "uppercase", style: {
239
- textAlign: "left",
240
- letterSpacing: "0.5px",
241
- fontSize: "12px"
242
- }, children: t("panel.sessions.title", "Active Sessions") }),
349
+ /* @__PURE__ */ jsx(SectionLabel, { children: t("panel.sessions.title", "Active Sessions") }),
243
350
  sessions.slice(0, 5).map((session) => {
244
351
  const deviceInfo = parseUserAgent(session.userAgent);
245
352
  const DeviceIcon = getDeviceIcon(deviceInfo.device);
246
- return /* @__PURE__ */ jsx(
247
- Box,
248
- {
249
- padding: 4,
250
- background: "neutral0",
251
- hasRadius: true,
252
- style: {
253
- border: "1px solid #e3e8ef",
254
- boxShadow: "0 1px 3px rgba(0, 0, 0, 0.04)",
255
- transition: "all 0.2s ease"
256
- },
257
- onMouseEnter: (e) => {
258
- e.currentTarget.style.boxShadow = "0 4px 12px rgba(0, 0, 0, 0.08)";
259
- e.currentTarget.style.borderColor = "#4945FF";
260
- },
261
- onMouseLeave: (e) => {
262
- e.currentTarget.style.boxShadow = "0 1px 3px rgba(0, 0, 0, 0.04)";
263
- e.currentTarget.style.borderColor = "#e3e8ef";
264
- },
265
- children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 2, alignItems: "flex-start", children: [
266
- /* @__PURE__ */ jsxs(Flex, { gap: 2, alignItems: "center", children: [
267
- /* @__PURE__ */ jsx(DeviceIcon, { width: "20px", height: "20px" }),
268
- /* @__PURE__ */ jsx(Typography, { variant: "omega", fontWeight: "bold", textColor: "neutral800", children: deviceInfo.device })
269
- ] }),
270
- /* @__PURE__ */ jsx(
271
- Badge,
272
- {
273
- backgroundColor: "success600",
274
- textColor: "neutral0",
275
- size: "S",
276
- children: t("panel.sessions.active", "Active")
277
- }
278
- ),
279
- /* @__PURE__ */ jsxs(Typography, { variant: "pi", textColor: "neutral600", children: [
280
- deviceInfo.browser,
281
- " on ",
282
- deviceInfo.os
283
- ] }),
284
- /* @__PURE__ */ jsx(Divider, {}),
285
- /* @__PURE__ */ jsxs(Flex, { gap: 2, alignItems: "center", children: [
286
- /* @__PURE__ */ jsx(Server, { width: "14px", height: "14px" }),
287
- /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "neutral600", children: session.ipAddress })
288
- ] }),
289
- /* @__PURE__ */ jsxs(Flex, { gap: 2, alignItems: "center", children: [
290
- /* @__PURE__ */ jsx(Clock, { width: "14px", height: "14px" }),
291
- /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "neutral600", children: new Date(session.loginTime).toLocaleString("en-US", {
292
- month: "short",
293
- day: "numeric",
294
- hour: "2-digit",
295
- minute: "2-digit"
296
- }) })
297
- ] }),
298
- session.minutesSinceActive !== void 0 && session.minutesSinceActive < 60 && /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "success600", fontWeight: "semiBold", children: session.minutesSinceActive === 0 ? t("panel.sessions.activeNow", "Active now") : t("panel.sessions.activeAgo", "Active {minutes} min ago", { minutes: session.minutesSinceActive }) })
299
- ] })
300
- },
301
- session.id
302
- );
353
+ return /* @__PURE__ */ jsx(SessionCard, { children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 2, alignItems: "flex-start", children: [
354
+ /* @__PURE__ */ jsxs(Flex, { gap: 2, alignItems: "center", children: [
355
+ /* @__PURE__ */ jsx(IconWrapper, { children: /* @__PURE__ */ jsx(DeviceIcon, {}) }),
356
+ /* @__PURE__ */ jsx(Typography, { variant: "omega", fontWeight: "bold", textColor: "neutral800", children: deviceInfo.device })
357
+ ] }),
358
+ /* @__PURE__ */ jsx(Badge, { backgroundColor: "success600", textColor: "neutral0", size: "S", children: t("panel.sessions.active", "Active") }),
359
+ /* @__PURE__ */ jsxs(Typography, { variant: "pi", textColor: "neutral600", children: [
360
+ deviceInfo.browser,
361
+ " on ",
362
+ deviceInfo.os
363
+ ] }),
364
+ /* @__PURE__ */ jsx(Divider, {}),
365
+ /* @__PURE__ */ jsxs(Flex, { gap: 2, alignItems: "center", children: [
366
+ /* @__PURE__ */ jsx(Server, { width: "14px", height: "14px", style: { color: "#9CA3AF" } }),
367
+ /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "neutral600", children: session.ipAddress })
368
+ ] }),
369
+ /* @__PURE__ */ jsxs(Flex, { gap: 2, alignItems: "center", children: [
370
+ /* @__PURE__ */ jsx(Clock, { width: "14px", height: "14px", style: { color: "#9CA3AF" } }),
371
+ /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "neutral600", children: new Date(session.loginTime).toLocaleString("en-US", {
372
+ month: "short",
373
+ day: "numeric",
374
+ hour: "2-digit",
375
+ minute: "2-digit"
376
+ }) })
377
+ ] }),
378
+ session.minutesSinceActive !== void 0 && session.minutesSinceActive < 60 && /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "success600", fontWeight: "semiBold", children: session.minutesSinceActive === 0 ? t("panel.sessions.activeNow", "Active now") : t("panel.sessions.activeAgo", "Active {minutes} min ago", { minutes: session.minutesSinceActive }) })
379
+ ] }) }, session.id);
303
380
  }),
304
- sessions.length > 5 && /* @__PURE__ */ jsx(Box, { padding: 3, background: "primary100", hasRadius: true, textAlign: "center", children: /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "primary600", fontWeight: "semiBold", children: t("panel.sessions.more", "+{count} more session{count, plural, one {} other {s}}", { count: sessions.length - 5 }) }) })
305
- ] }) : /* @__PURE__ */ jsx(
306
- Box,
307
- {
308
- padding: 6,
309
- background: "neutral100",
310
- hasRadius: true,
311
- style: {
312
- border: "1px dashed #dcdce4",
313
- textAlign: "center"
314
- },
315
- children: /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "center", gap: 2, children: [
316
- /* @__PURE__ */ jsx(
317
- Typography,
318
- {
319
- variant: "pi",
320
- textColor: "neutral600",
321
- style: { fontSize: "32px", marginBottom: "8px" },
322
- children: "💤"
323
- }
324
- ),
325
- /* @__PURE__ */ jsx(Typography, { variant: "omega", fontWeight: "semiBold", textColor: "neutral700", children: t("panel.empty.title", "No active sessions") }),
326
- /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "neutral500", style: { fontSize: "13px" }, children: t("panel.empty.description", "User has not logged in yet") })
327
- ] })
328
- }
329
- ),
381
+ sessions.length > 5 && /* @__PURE__ */ jsx(Box, { padding: 3, background: "primary100", hasRadius: true, style: { textAlign: "center" }, children: /* @__PURE__ */ jsxs(Typography, { variant: "pi", textColor: "primary600", fontWeight: "semiBold", children: [
382
+ "+",
383
+ sessions.length - 5,
384
+ " ",
385
+ t("panel.sessions.more", "more session"),
386
+ sessions.length - 5 !== 1 ? "s" : ""
387
+ ] }) })
388
+ ] }) : /* @__PURE__ */ jsxs(EmptyState, { children: [
389
+ /* @__PURE__ */ jsx(EmptyIcon, { children: /* @__PURE__ */ jsx(User, { width: "24px", height: "24px" }) }),
390
+ /* @__PURE__ */ jsx(Typography, { variant: "omega", fontWeight: "semiBold", textColor: "neutral700", style: { display: "block" }, children: t("panel.empty.title", "No active sessions") }),
391
+ /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "neutral500", style: { display: "block", marginTop: "4px" }, children: t("panel.empty.description", "User has not logged in yet") })
392
+ ] }),
330
393
  /* @__PURE__ */ jsx(Divider, {}),
331
394
  /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 3, alignItems: "stretch", children: [
332
- /* @__PURE__ */ jsx(Typography, { variant: "sigma", textColor: "neutral600", textTransform: "uppercase", style: {
333
- textAlign: "left",
334
- letterSpacing: "0.5px",
335
- fontSize: "12px"
336
- }, children: t("panel.actions.title", "Actions") }),
337
- /* @__PURE__ */ jsx(
338
- Button,
395
+ /* @__PURE__ */ jsx(SectionLabel, { children: t("panel.actions.title", "Actions") }),
396
+ /* @__PURE__ */ jsxs(
397
+ ActionButton,
339
398
  {
340
- variant: "secondary",
341
- size: "M",
342
- fullWidth: true,
399
+ $variant: "danger",
343
400
  onClick: handleLogoutAll,
344
401
  disabled: actionLoading || sessions.length === 0,
345
- startIcon: /* @__PURE__ */ jsx(Cross, {}),
346
- style: {
347
- border: "1px solid #dc2626",
348
- color: "#dc2626",
349
- backgroundColor: "transparent",
350
- transition: "all 0.2s ease"
351
- },
352
- onMouseEnter: (e) => {
353
- if (!actionLoading && sessions.length > 0) {
354
- e.currentTarget.style.backgroundColor = "#dc2626";
355
- e.currentTarget.style.color = "white";
356
- }
357
- },
358
- onMouseLeave: (e) => {
359
- if (!actionLoading && sessions.length > 0) {
360
- e.currentTarget.style.backgroundColor = "transparent";
361
- e.currentTarget.style.color = "#dc2626";
362
- }
363
- },
364
- children: t("panel.actions.terminateAll", "Terminate All Sessions")
402
+ type: "button",
403
+ children: [
404
+ /* @__PURE__ */ jsx(Cross, {}),
405
+ t("panel.actions.terminateAll", "Terminate All Sessions")
406
+ ]
365
407
  }
366
408
  ),
367
- /* @__PURE__ */ jsx(
368
- Button,
409
+ /* @__PURE__ */ jsxs(
410
+ ActionButton,
369
411
  {
370
- variant: "secondary",
371
- size: "M",
372
- fullWidth: true,
412
+ $variant: isBlocked ? "success" : "danger",
373
413
  onClick: handleToggleBlock,
374
414
  disabled: actionLoading,
375
- startIcon: isBlocked ? /* @__PURE__ */ jsx(Check, {}) : /* @__PURE__ */ jsx(Cross, {}),
376
- style: {
377
- border: isBlocked ? "1px solid #16a34a" : "1px solid #dc2626",
378
- color: isBlocked ? "#16a34a" : "#dc2626",
379
- backgroundColor: "transparent",
380
- transition: "all 0.2s ease"
381
- },
382
- onMouseEnter: (e) => {
383
- if (!actionLoading) {
384
- e.currentTarget.style.backgroundColor = isBlocked ? "#16a34a" : "#dc2626";
385
- e.currentTarget.style.color = "white";
386
- }
387
- },
388
- onMouseLeave: (e) => {
389
- if (!actionLoading) {
390
- e.currentTarget.style.backgroundColor = "transparent";
391
- e.currentTarget.style.color = isBlocked ? "#16a34a" : "#dc2626";
392
- }
393
- },
394
- children: isBlocked ? t("panel.actions.unblockUser", "Unblock User") : t("panel.actions.blockUser", "Block User")
415
+ type: "button",
416
+ children: [
417
+ isBlocked ? /* @__PURE__ */ jsx(Check, {}) : /* @__PURE__ */ jsx(Cross, {}),
418
+ isBlocked ? t("panel.actions.unblockUser", "Unblock User") : t("panel.actions.blockUser", "Block User")
419
+ ]
395
420
  }
396
421
  )
397
422
  ] })
@@ -415,7 +440,7 @@ const index = {
415
440
  id: `${pluginId}.plugin.name`,
416
441
  defaultMessage: pluginPkg.strapi.displayName
417
442
  },
418
- Component: () => import("./App-Bgq2FgRY.mjs")
443
+ Component: () => import("./App-Cs4KKd3L.mjs")
419
444
  });
420
445
  app.createSettingSection(
421
446
  {
@@ -431,7 +456,7 @@ const index = {
431
456
  },
432
457
  id: "upgrade",
433
458
  to: `${pluginId}/upgrade`,
434
- Component: () => import("./UpgradePage-B_2RowKN.mjs")
459
+ Component: () => import("./UpgradePage-C441wvPX.mjs")
435
460
  },
436
461
  {
437
462
  intlLabel: {
@@ -440,7 +465,7 @@ const index = {
440
465
  },
441
466
  id: "general",
442
467
  to: `${pluginId}/general`,
443
- Component: () => import("./Settings-B3FaQckW.mjs")
468
+ Component: () => import("./Settings-XloJ-aHl.mjs")
444
469
  },
445
470
  {
446
471
  intlLabel: {
@@ -449,7 +474,7 @@ const index = {
449
474
  },
450
475
  id: "analytics",
451
476
  to: `${pluginId}/analytics`,
452
- Component: () => import("./Analytics-CYYb-qXQ.mjs")
477
+ Component: () => import("./Analytics-sX94t6D9.mjs")
453
478
  },
454
479
  {
455
480
  intlLabel: {
@@ -458,7 +483,7 @@ const index = {
458
483
  },
459
484
  id: "license",
460
485
  to: `${pluginId}/license`,
461
- Component: () => import("./License-CcD3WDcC.mjs")
486
+ Component: () => import("./License-CN5YpqIu.mjs")
462
487
  }
463
488
  ]
464
489
  );
@@ -476,7 +501,7 @@ const index = {
476
501
  defaultMessage: "Online Users"
477
502
  },
478
503
  component: async () => {
479
- const component = await import("./OnlineUsersWidget-DHElrP3_.mjs");
504
+ const component = await import("./OnlineUsersWidget-ytykP_tA.mjs");
480
505
  return component.default;
481
506
  },
482
507
  id: "online-users-widget",
@@ -1,6 +1,6 @@
1
1
  import { useState, useEffect } from "react";
2
2
  import { useFetchClient } from "@strapi/strapi/admin";
3
- import { a as pluginId } from "./index-Dpdcg2zl.mjs";
3
+ import { a as pluginId } from "./index-Ij0JRf9W.mjs";
4
4
  const useLicense = () => {
5
5
  const { get } = useFetchClient();
6
6
  const [isPremium, setIsPremium] = useState(false);
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  const react = require("react");
3
3
  const admin = require("@strapi/strapi/admin");
4
- const index = require("./index-Cf1Wqdeg.js");
4
+ const index = require("./index-DtBfKBne.js");
5
5
  const useLicense = () => {
6
6
  const { get } = admin.useFetchClient();
7
7
  const [isPremium, setIsPremium] = react.useState(false);
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
- const index = require("../_chunks/index-Cf1Wqdeg.js");
2
+ const index = require("../_chunks/index-DtBfKBne.js");
3
3
  module.exports = index.index;
@@ -1,4 +1,4 @@
1
- import { i } from "../_chunks/index-Dpdcg2zl.mjs";
1
+ import { i } from "../_chunks/index-Ij0JRf9W.mjs";
2
2
  export {
3
3
  i as default
4
4
  };