strapi-plugin-magic-sessionmanager 4.4.1 → 4.4.3
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.
- package/README.md +5 -0
- package/dist/_chunks/{Analytics-sX94t6D9.mjs → Analytics-CQNEZTUR.mjs} +50 -57
- package/dist/_chunks/{Analytics-tOOj5T92.js → Analytics-DDcZzOJc.js} +50 -57
- package/dist/_chunks/{App-D4qVym6y.js → App-DmXHGW6v.js} +93 -123
- package/dist/_chunks/{App-Cs4KKd3L.mjs → App-GrZxgdsa.mjs} +93 -123
- package/dist/_chunks/{License-CN5YpqIu.mjs → License-DJ2szRWp.mjs} +9 -9
- package/dist/_chunks/{License-kfVcskd3.js → License-U8nciB7B.js} +9 -9
- package/dist/_chunks/{OnlineUsersWidget-ytykP_tA.mjs → OnlineUsersWidget--050_ZKf.mjs} +2 -2
- package/dist/_chunks/{OnlineUsersWidget-Cg3R7602.js → OnlineUsersWidget-JvbLXkDK.js} +2 -2
- package/dist/_chunks/{Settings-XloJ-aHl.mjs → Settings-BKE3rMNU.mjs} +55 -61
- package/dist/_chunks/{Settings-DVRIrGho.js → Settings-CvYIqeue.js} +55 -61
- package/dist/_chunks/{StyledButtons-fbNVRlMY.mjs → StyledButtons-HrcisfdR.mjs} +47 -47
- package/dist/_chunks/{StyledButtons-D2EbG_Zw.js → StyledButtons-UnlRhqip.js} +47 -47
- package/dist/_chunks/{UpgradePage-D2FRalDz.js → UpgradePage-CCIXYVW3.js} +14 -14
- package/dist/_chunks/{UpgradePage-C441wvPX.mjs → UpgradePage-D8dw2eU6.mjs} +14 -14
- package/dist/_chunks/{index-Ij0JRf9W.mjs → index-CLfOD-6A.mjs} +30 -30
- package/dist/_chunks/{index-DtBfKBne.js → index-DcU_ELxj.js} +30 -30
- package/dist/_chunks/{useLicense-DJEDGSap.mjs → useLicense-Bi6skBLw.mjs} +1 -1
- package/dist/_chunks/{useLicense-NCFYHpDd.js → useLicense-qbK401y8.js} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/index.mjs +1 -1
- package/package.json +1 -1
|
@@ -3,43 +3,13 @@ import { useState, useEffect } from "react";
|
|
|
3
3
|
import { useIntl } from "react-intl";
|
|
4
4
|
import { useFetchClient, useNotification } from "@strapi/strapi/admin";
|
|
5
5
|
import styled, { css, keyframes } from "styled-components";
|
|
6
|
-
import { p as parseUserAgent, a as pluginId, g as getTranslation } from "./index-
|
|
6
|
+
import { p as parseUserAgent, a as pluginId, g as getTranslation } from "./index-CLfOD-6A.mjs";
|
|
7
7
|
import { Modal, Flex, Box, Typography, Divider, Button, Loader, SingleSelect, SingleSelectOption, Thead, Tr, Th, Tbody, Td, Table, TextInput } from "@strapi/design-system";
|
|
8
8
|
import { Check, Information, Monitor, Server, Clock, Cross, Earth, Shield, Crown, Phone, Download, User, Eye, Trash, Search, Key } from "@strapi/icons";
|
|
9
|
-
import { u as useLicense } from "./useLicense-
|
|
10
|
-
import { S as ShowHideButton, T as TertiaryButton, D as DangerButton, I as IconButtonPrimary, a as IconButtonWarning, b as IconButtonDanger } from "./StyledButtons-
|
|
9
|
+
import { u as useLicense } from "./useLicense-Bi6skBLw.mjs";
|
|
10
|
+
import { S as ShowHideButton, T as TertiaryButton, D as DangerButton, I as IconButtonPrimary, a as IconButtonWarning, b as IconButtonDanger } from "./StyledButtons-HrcisfdR.mjs";
|
|
11
11
|
import { useNavigate } from "react-router-dom";
|
|
12
12
|
const theme = {
|
|
13
|
-
colors: {
|
|
14
|
-
primary: {
|
|
15
|
-
50: "#F0F9FF",
|
|
16
|
-
100: "#E0F2FE",
|
|
17
|
-
600: "#0284C7"
|
|
18
|
-
},
|
|
19
|
-
secondary: {
|
|
20
|
-
50: "#FAF5FF",
|
|
21
|
-
100: "#F3E8FF",
|
|
22
|
-
600: "#9333EA"
|
|
23
|
-
},
|
|
24
|
-
success: {
|
|
25
|
-
50: "#F0FDF4",
|
|
26
|
-
100: "#DCFCE7",
|
|
27
|
-
500: "#22C55E",
|
|
28
|
-
600: "#16A34A"
|
|
29
|
-
},
|
|
30
|
-
warning: {
|
|
31
|
-
50: "#FFFBEB",
|
|
32
|
-
100: "#FEF3C7",
|
|
33
|
-
500: "#F59E0B",
|
|
34
|
-
600: "#D97706"
|
|
35
|
-
},
|
|
36
|
-
danger: {
|
|
37
|
-
50: "#FEF2F2",
|
|
38
|
-
100: "#FEE2E2",
|
|
39
|
-
500: "#EF4444",
|
|
40
|
-
600: "#DC2626"
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
13
|
shadows: {
|
|
44
14
|
sm: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)",
|
|
45
15
|
xl: "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)"
|
|
@@ -77,10 +47,10 @@ const SectionTitle = styled(Typography)`
|
|
|
77
47
|
letter-spacing: 0.5px;
|
|
78
48
|
font-size: 11px;
|
|
79
49
|
font-weight: 700;
|
|
80
|
-
color:
|
|
50
|
+
color: var(--colors-neutral800);
|
|
81
51
|
margin-bottom: 16px;
|
|
82
52
|
padding-bottom: 8px;
|
|
83
|
-
border-bottom: 2px solid
|
|
53
|
+
border-bottom: 2px solid rgba(128, 128, 128, 0.2);
|
|
84
54
|
display: block;
|
|
85
55
|
`;
|
|
86
56
|
const Section = styled(Box)`
|
|
@@ -98,16 +68,16 @@ const ModalStatusBadge = styled.span`
|
|
|
98
68
|
text-transform: uppercase;
|
|
99
69
|
|
|
100
70
|
${(props) => props.$online && `
|
|
101
|
-
background: linear-gradient(135deg,
|
|
102
|
-
color: #166534;
|
|
103
|
-
border: 2px solid
|
|
71
|
+
background: linear-gradient(135deg, rgba(22, 163, 74, 0.12) 0%, rgba(34, 197, 94, 0.3) 100%);
|
|
72
|
+
color: var(--colors-success600, #166534);
|
|
73
|
+
border: 2px solid rgba(34, 197, 94, 0.3);
|
|
104
74
|
box-shadow: 0 4px 12px rgba(34, 197, 94, 0.2);
|
|
105
75
|
`}
|
|
106
76
|
|
|
107
77
|
${(props) => !props.$online && `
|
|
108
|
-
background: linear-gradient(135deg,
|
|
109
|
-
color:
|
|
110
|
-
border: 2px solid
|
|
78
|
+
background: linear-gradient(135deg, rgba(128, 128, 128, 0.08) 0%, rgba(128, 128, 128, 0.2) 100%);
|
|
79
|
+
color: var(--colors-neutral600);
|
|
80
|
+
border: 2px solid rgba(128, 128, 128, 0.2);
|
|
111
81
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
|
|
112
82
|
`}
|
|
113
83
|
`;
|
|
@@ -117,13 +87,13 @@ const StatusDot$1 = styled.span`
|
|
|
117
87
|
border-radius: 50%;
|
|
118
88
|
|
|
119
89
|
${(props) => props.$online && `
|
|
120
|
-
background: #22C55E;
|
|
90
|
+
background: var(--colors-success600, #22C55E);
|
|
121
91
|
box-shadow: 0 0 8px rgba(34, 197, 94, 0.6);
|
|
122
92
|
animation: pulse-green 2s ease-in-out infinite;
|
|
123
93
|
`}
|
|
124
94
|
|
|
125
95
|
${(props) => !props.$online && `
|
|
126
|
-
background:
|
|
96
|
+
background: var(--colors-neutral500);
|
|
127
97
|
`}
|
|
128
98
|
|
|
129
99
|
@keyframes pulse-green {
|
|
@@ -239,7 +209,7 @@ const SessionDetailModal = ({ session, onClose, onSessionTerminated }) => {
|
|
|
239
209
|
display: "flex",
|
|
240
210
|
alignItems: "center",
|
|
241
211
|
justifyContent: "center",
|
|
242
|
-
background: "
|
|
212
|
+
background: "var(--colors-neutral100)",
|
|
243
213
|
borderRadius: "8px",
|
|
244
214
|
flexShrink: 0
|
|
245
215
|
}, children: /* @__PURE__ */ jsx(Icon, { width: "18px", height: "18px" }) }),
|
|
@@ -254,7 +224,7 @@ const SessionDetailModal = ({ session, onClose, onSessionTerminated }) => {
|
|
|
254
224
|
width: "48px",
|
|
255
225
|
height: "48px",
|
|
256
226
|
borderRadius: "12px",
|
|
257
|
-
background: isOnline ? "
|
|
227
|
+
background: isOnline ? "rgba(22, 163, 74, 0.12)" : "var(--colors-neutral100)",
|
|
258
228
|
display: "flex",
|
|
259
229
|
alignItems: "center",
|
|
260
230
|
justifyContent: "center"
|
|
@@ -392,15 +362,15 @@ const SessionDetailModal = ({ session, onClose, onSessionTerminated }) => {
|
|
|
392
362
|
{
|
|
393
363
|
padding: 5,
|
|
394
364
|
style: {
|
|
395
|
-
background: "linear-gradient(135deg,
|
|
365
|
+
background: "linear-gradient(135deg, rgba(234, 179, 8, 0.12) 0%, rgba(234, 179, 8, 0.25) 100%)",
|
|
396
366
|
borderRadius: "12px",
|
|
397
|
-
border: "2px solid
|
|
367
|
+
border: "2px solid rgba(234, 179, 8, 0.4)",
|
|
398
368
|
textAlign: "center"
|
|
399
369
|
},
|
|
400
370
|
children: /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "center", gap: 3, children: [
|
|
401
|
-
/* @__PURE__ */ jsx(Crown, { style: { width: "40px", height: "40px", color: "#d97706" } }),
|
|
402
|
-
/* @__PURE__ */ jsx(Typography, { variant: "beta", style: { color: "#92400e", fontWeight: "700" }, children: t("modal.premium.title", "Location and Security Analysis") }),
|
|
403
|
-
/* @__PURE__ */ jsx(Typography, { variant: "omega", style: { color: "#78350f", fontSize: "14px", lineHeight: "1.6" }, children: t("modal.premium.description", "Unlock premium features to get IP geolocation, security scoring, and VPN/Proxy detection for every session") }),
|
|
371
|
+
/* @__PURE__ */ jsx(Crown, { style: { width: "40px", height: "40px", color: "var(--colors-warning600, #d97706)" } }),
|
|
372
|
+
/* @__PURE__ */ jsx(Typography, { variant: "beta", style: { color: "var(--colors-warning600, #92400e)", fontWeight: "700" }, children: t("modal.premium.title", "Location and Security Analysis") }),
|
|
373
|
+
/* @__PURE__ */ jsx(Typography, { variant: "omega", style: { color: "var(--colors-warning600, #78350f)", fontSize: "14px", lineHeight: "1.6" }, children: t("modal.premium.description", "Unlock premium features to get IP geolocation, security scoring, and VPN/Proxy detection for every session") }),
|
|
404
374
|
/* @__PURE__ */ jsx(
|
|
405
375
|
PremiumButton,
|
|
406
376
|
{
|
|
@@ -498,8 +468,8 @@ const Container = styled(Box)`
|
|
|
498
468
|
`;
|
|
499
469
|
const Header = styled(Box)`
|
|
500
470
|
background: linear-gradient(135deg,
|
|
501
|
-
${
|
|
502
|
-
${
|
|
471
|
+
${"var(--colors-primary600, #0284C7)"} 0%,
|
|
472
|
+
${"#9333EA"} 100%
|
|
503
473
|
);
|
|
504
474
|
border-radius: ${theme.borderRadius.xl};
|
|
505
475
|
padding: ${theme.spacing.xl} ${theme.spacing["2xl"]};
|
|
@@ -598,7 +568,7 @@ const StatsGrid = styled.div`
|
|
|
598
568
|
}
|
|
599
569
|
`;
|
|
600
570
|
const StatCard = styled(Box)`
|
|
601
|
-
background:
|
|
571
|
+
background: var(--colors-neutral0, white);
|
|
602
572
|
border-radius: ${theme.borderRadius.lg};
|
|
603
573
|
padding: 28px ${theme.spacing.lg};
|
|
604
574
|
position: relative;
|
|
@@ -607,7 +577,7 @@ const StatCard = styled(Box)`
|
|
|
607
577
|
${css`animation: ${fadeIn$1} ${theme.transitions.slow} backwards;`}
|
|
608
578
|
animation-delay: ${(props) => props.$delay || "0s"};
|
|
609
579
|
box-shadow: ${theme.shadows.sm};
|
|
610
|
-
border: 1px solid
|
|
580
|
+
border: 1px solid rgba(128, 128, 128, 0.2);
|
|
611
581
|
min-width: 200px;
|
|
612
582
|
flex: 1;
|
|
613
583
|
text-align: center;
|
|
@@ -628,7 +598,7 @@ const StatCard = styled(Box)`
|
|
|
628
598
|
&:hover {
|
|
629
599
|
transform: translateY(-6px);
|
|
630
600
|
box-shadow: ${theme.shadows.xl};
|
|
631
|
-
border-color: ${(props) => props.$color ||
|
|
601
|
+
border-color: ${(props) => props.$color || "var(--colors-primary600, #0284C7)"};
|
|
632
602
|
|
|
633
603
|
.stat-icon {
|
|
634
604
|
transform: scale(1.15) rotate(5deg);
|
|
@@ -636,7 +606,7 @@ const StatCard = styled(Box)`
|
|
|
636
606
|
|
|
637
607
|
.stat-value {
|
|
638
608
|
transform: scale(1.08);
|
|
639
|
-
color: ${(props) => props.$color ||
|
|
609
|
+
color: ${(props) => props.$color || "var(--colors-primary600, #0284C7)"};
|
|
640
610
|
}
|
|
641
611
|
}
|
|
642
612
|
`;
|
|
@@ -647,7 +617,7 @@ const StatIcon = styled(Box)`
|
|
|
647
617
|
display: flex;
|
|
648
618
|
align-items: center;
|
|
649
619
|
justify-content: center;
|
|
650
|
-
background: ${(props) => props.$bg ||
|
|
620
|
+
background: ${(props) => props.$bg || "rgba(2, 132, 199, 0.12)"};
|
|
651
621
|
transition: all ${theme.transitions.normal};
|
|
652
622
|
margin: 0 auto 20px;
|
|
653
623
|
box-shadow: ${theme.shadows.sm};
|
|
@@ -655,7 +625,7 @@ const StatIcon = styled(Box)`
|
|
|
655
625
|
svg {
|
|
656
626
|
width: 34px;
|
|
657
627
|
height: 34px;
|
|
658
|
-
color: ${(props) => props.$color ||
|
|
628
|
+
color: ${(props) => props.$color || "var(--colors-primary600, #0284C7)"};
|
|
659
629
|
}
|
|
660
630
|
|
|
661
631
|
@media screen and (max-width: ${breakpoints.mobile}) {
|
|
@@ -672,7 +642,7 @@ const StatIcon = styled(Box)`
|
|
|
672
642
|
const StatValue = styled(Typography)`
|
|
673
643
|
font-size: 2.75rem;
|
|
674
644
|
font-weight: 700;
|
|
675
|
-
color:
|
|
645
|
+
color: var(--colors-neutral800);
|
|
676
646
|
line-height: 1;
|
|
677
647
|
margin-bottom: 10px;
|
|
678
648
|
transition: all ${theme.transitions.normal};
|
|
@@ -685,7 +655,7 @@ const StatValue = styled(Typography)`
|
|
|
685
655
|
`;
|
|
686
656
|
const StatLabel = styled(Typography)`
|
|
687
657
|
font-size: 0.95rem;
|
|
688
|
-
color:
|
|
658
|
+
color: var(--colors-neutral600);
|
|
689
659
|
font-weight: 500;
|
|
690
660
|
letter-spacing: 0.025em;
|
|
691
661
|
text-align: center;
|
|
@@ -695,21 +665,21 @@ const StatLabel = styled(Typography)`
|
|
|
695
665
|
}
|
|
696
666
|
`;
|
|
697
667
|
const DataTable = styled(Box)`
|
|
698
|
-
background:
|
|
668
|
+
background: var(--colors-neutral0, white);
|
|
699
669
|
border-radius: ${theme.borderRadius.lg};
|
|
700
670
|
overflow: hidden;
|
|
701
671
|
box-shadow: ${theme.shadows.sm};
|
|
702
|
-
border: 1px solid
|
|
672
|
+
border: 1px solid rgba(128, 128, 128, 0.2);
|
|
703
673
|
margin-bottom: ${theme.spacing.xl};
|
|
704
674
|
`;
|
|
705
675
|
const StyledTable = styled(Table)`
|
|
706
676
|
thead {
|
|
707
|
-
background:
|
|
708
|
-
border-bottom: 2px solid
|
|
677
|
+
background: var(--colors-neutral100);
|
|
678
|
+
border-bottom: 2px solid rgba(128, 128, 128, 0.2);
|
|
709
679
|
|
|
710
680
|
th {
|
|
711
681
|
font-weight: 600;
|
|
712
|
-
color:
|
|
682
|
+
color: var(--colors-neutral800);
|
|
713
683
|
font-size: 0.875rem;
|
|
714
684
|
text-transform: uppercase;
|
|
715
685
|
letter-spacing: 0.025em;
|
|
@@ -719,14 +689,14 @@ const StyledTable = styled(Table)`
|
|
|
719
689
|
|
|
720
690
|
tbody tr {
|
|
721
691
|
transition: all ${theme.transitions.fast};
|
|
722
|
-
border-bottom: 1px solid
|
|
692
|
+
border-bottom: 1px solid rgba(128, 128, 128, 0.15);
|
|
723
693
|
|
|
724
694
|
&:last-child {
|
|
725
695
|
border-bottom: none;
|
|
726
696
|
}
|
|
727
697
|
|
|
728
698
|
&:hover {
|
|
729
|
-
background:
|
|
699
|
+
background: rgba(2, 132, 199, 0.12);
|
|
730
700
|
|
|
731
701
|
.action-buttons {
|
|
732
702
|
opacity: 1;
|
|
@@ -735,7 +705,7 @@ const StyledTable = styled(Table)`
|
|
|
735
705
|
|
|
736
706
|
td {
|
|
737
707
|
padding: ${theme.spacing.lg} ${theme.spacing.lg};
|
|
738
|
-
color:
|
|
708
|
+
color: var(--colors-neutral800);
|
|
739
709
|
vertical-align: middle;
|
|
740
710
|
}
|
|
741
711
|
}
|
|
@@ -744,18 +714,18 @@ styled.div`
|
|
|
744
714
|
width: 10px;
|
|
745
715
|
height: 10px;
|
|
746
716
|
border-radius: 50%;
|
|
747
|
-
background: ${(props) => props.$online ?
|
|
717
|
+
background: ${(props) => props.$online ? "var(--colors-success600, #22C55E)" : "rgba(128, 128, 128, 0.4)"};
|
|
748
718
|
display: inline-block;
|
|
749
719
|
margin-right: 8px;
|
|
750
720
|
${css`animation: ${(props) => props.$online ? pulse : "none"} 2s ease-in-out infinite;`}
|
|
751
721
|
`;
|
|
752
722
|
const FilterBar = styled(Flex)`
|
|
753
|
-
background:
|
|
723
|
+
background: var(--colors-neutral0, white);
|
|
754
724
|
padding: ${theme.spacing.md} ${theme.spacing.lg};
|
|
755
725
|
border-radius: ${theme.borderRadius.lg};
|
|
756
726
|
margin-bottom: ${theme.spacing.lg};
|
|
757
727
|
box-shadow: ${theme.shadows.sm};
|
|
758
|
-
border: 1px solid
|
|
728
|
+
border: 1px solid rgba(128, 128, 128, 0.2);
|
|
759
729
|
gap: ${theme.spacing.md};
|
|
760
730
|
align-items: center;
|
|
761
731
|
`;
|
|
@@ -770,27 +740,27 @@ const SearchIcon = styled(Search)`
|
|
|
770
740
|
left: 12px;
|
|
771
741
|
width: 16px;
|
|
772
742
|
height: 16px;
|
|
773
|
-
color:
|
|
743
|
+
color: var(--colors-neutral600);
|
|
774
744
|
pointer-events: none;
|
|
775
745
|
`;
|
|
776
746
|
const StyledSearchInput = styled.input`
|
|
777
747
|
width: 100%;
|
|
778
748
|
padding: ${theme.spacing.sm} ${theme.spacing.sm} ${theme.spacing.sm} 36px;
|
|
779
|
-
border: 1px solid
|
|
749
|
+
border: 1px solid rgba(128, 128, 128, 0.2);
|
|
780
750
|
border-radius: ${theme.borderRadius.md};
|
|
781
751
|
font-size: 0.875rem;
|
|
782
752
|
transition: all ${theme.transitions.fast};
|
|
783
|
-
background:
|
|
784
|
-
color:
|
|
753
|
+
background: var(--colors-neutral0, white);
|
|
754
|
+
color: var(--colors-neutral800);
|
|
785
755
|
|
|
786
756
|
&:focus {
|
|
787
757
|
outline: none;
|
|
788
|
-
border-color:
|
|
789
|
-
box-shadow: 0 0 0 3px
|
|
758
|
+
border-color: var(--colors-primary600, #0284C7);
|
|
759
|
+
box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.12);
|
|
790
760
|
}
|
|
791
761
|
|
|
792
762
|
&::placeholder {
|
|
793
|
-
color:
|
|
763
|
+
color: var(--colors-neutral500);
|
|
794
764
|
}
|
|
795
765
|
`;
|
|
796
766
|
const ActionButtons = styled(Flex)`
|
|
@@ -812,27 +782,27 @@ const StatusBadge = styled.span`
|
|
|
812
782
|
transition: all 0.2s ease;
|
|
813
783
|
|
|
814
784
|
${(props) => props.$status === "active" && `
|
|
815
|
-
background: linear-gradient(135deg,
|
|
816
|
-
color: #15803D;
|
|
817
|
-
border: 1px solid
|
|
785
|
+
background: linear-gradient(135deg, rgba(22, 163, 74, 0.12) 0%, rgba(34, 197, 94, 0.3) 100%);
|
|
786
|
+
color: var(--colors-success700, #15803D);
|
|
787
|
+
border: 1px solid rgba(34, 197, 94, 0.3);
|
|
818
788
|
`}
|
|
819
789
|
|
|
820
790
|
${(props) => props.$status === "idle" && `
|
|
821
|
-
background: linear-gradient(135deg,
|
|
822
|
-
color: #A16207;
|
|
823
|
-
border: 1px solid
|
|
791
|
+
background: linear-gradient(135deg, rgba(234, 179, 8, 0.12) 0%, rgba(234, 179, 8, 0.4) 100%);
|
|
792
|
+
color: var(--colors-warning600, #A16207);
|
|
793
|
+
border: 1px solid rgba(234, 179, 8, 0.4);
|
|
824
794
|
`}
|
|
825
795
|
|
|
826
796
|
${(props) => props.$status === "loggedout" && `
|
|
827
|
-
background: linear-gradient(135deg,
|
|
828
|
-
color: #B91C1C;
|
|
829
|
-
border: 1px solid
|
|
797
|
+
background: linear-gradient(135deg, rgba(220, 38, 38, 0.12) 0%, rgba(239, 68, 68, 0.4) 100%);
|
|
798
|
+
color: var(--colors-danger600, #B91C1C);
|
|
799
|
+
border: 1px solid rgba(239, 68, 68, 0.4);
|
|
830
800
|
`}
|
|
831
801
|
|
|
832
802
|
${(props) => props.$status === "terminated" && `
|
|
833
|
-
background: linear-gradient(135deg,
|
|
834
|
-
color:
|
|
835
|
-
border: 1px solid
|
|
803
|
+
background: linear-gradient(135deg, var(--colors-neutral100) 0%, rgba(128, 128, 128, 0.2) 100%);
|
|
804
|
+
color: var(--colors-neutral600);
|
|
805
|
+
border: 1px solid rgba(128, 128, 128, 0.2);
|
|
836
806
|
`}
|
|
837
807
|
`;
|
|
838
808
|
const StatusDot = styled.span`
|
|
@@ -842,21 +812,21 @@ const StatusDot = styled.span`
|
|
|
842
812
|
flex-shrink: 0;
|
|
843
813
|
|
|
844
814
|
${(props) => props.$status === "active" && `
|
|
845
|
-
background: #22C55E;
|
|
815
|
+
background: var(--colors-success600, #22C55E);
|
|
846
816
|
box-shadow: 0 0 6px rgba(34, 197, 94, 0.6);
|
|
847
817
|
animation: pulse-green 2s ease-in-out infinite;
|
|
848
818
|
`}
|
|
849
819
|
|
|
850
820
|
${(props) => props.$status === "idle" && `
|
|
851
|
-
background: #F59E0B;
|
|
821
|
+
background: var(--colors-warning600, #F59E0B);
|
|
852
822
|
`}
|
|
853
823
|
|
|
854
824
|
${(props) => props.$status === "loggedout" && `
|
|
855
|
-
background: #EF4444;
|
|
825
|
+
background: var(--colors-danger600, #EF4444);
|
|
856
826
|
`}
|
|
857
827
|
|
|
858
828
|
${(props) => props.$status === "terminated" && `
|
|
859
|
-
background:
|
|
829
|
+
background: var(--colors-neutral500);
|
|
860
830
|
`}
|
|
861
831
|
|
|
862
832
|
@keyframes pulse-green {
|
|
@@ -868,13 +838,13 @@ const ClickableRow = styled(Tr)`
|
|
|
868
838
|
cursor: pointer;
|
|
869
839
|
|
|
870
840
|
&:hover {
|
|
871
|
-
background:
|
|
841
|
+
background: rgba(2, 132, 199, 0.12) !important;
|
|
872
842
|
}
|
|
873
843
|
`;
|
|
874
844
|
styled(Box)`
|
|
875
|
-
background:
|
|
845
|
+
background: var(--colors-neutral0, white);
|
|
876
846
|
border-radius: ${theme.borderRadius.xl};
|
|
877
|
-
border: 2px dashed
|
|
847
|
+
border: 2px dashed rgba(128, 128, 128, 0.3);
|
|
878
848
|
padding: 80px 32px;
|
|
879
849
|
text-align: center;
|
|
880
850
|
position: relative;
|
|
@@ -890,7 +860,7 @@ styled.div`
|
|
|
890
860
|
left: 0;
|
|
891
861
|
right: 0;
|
|
892
862
|
bottom: 0;
|
|
893
|
-
background: linear-gradient(135deg, ${
|
|
863
|
+
background: linear-gradient(135deg, ${"rgba(2, 132, 199, 0.06)"} 0%, ${"rgba(147, 51, 234, 0.06)"} 100%);
|
|
894
864
|
opacity: 0.3;
|
|
895
865
|
z-index: 0;
|
|
896
866
|
`;
|
|
@@ -1151,28 +1121,28 @@ const HomePage = () => {
|
|
|
1151
1121
|
] })
|
|
1152
1122
|
] }) }),
|
|
1153
1123
|
/* @__PURE__ */ jsxs(StatsGrid, { children: [
|
|
1154
|
-
/* @__PURE__ */ jsxs(StatCard, { $delay: "0.1s", $color:
|
|
1155
|
-
/* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg:
|
|
1124
|
+
/* @__PURE__ */ jsxs(StatCard, { $delay: "0.1s", $color: "var(--colors-success600, #22C55E)", children: [
|
|
1125
|
+
/* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg: "rgba(22, 163, 74, 0.12)", $color: "var(--colors-success600, #16A34A)", children: /* @__PURE__ */ jsx(Check, {}) }),
|
|
1156
1126
|
/* @__PURE__ */ jsx(StatValue, { className: "stat-value", children: activeSessions.length }),
|
|
1157
1127
|
/* @__PURE__ */ jsx(StatLabel, { children: t("homepage.stats.active", "Active") })
|
|
1158
1128
|
] }),
|
|
1159
|
-
/* @__PURE__ */ jsxs(StatCard, { $delay: "0.2s", $color:
|
|
1160
|
-
/* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg:
|
|
1129
|
+
/* @__PURE__ */ jsxs(StatCard, { $delay: "0.2s", $color: "var(--colors-warning600, #F59E0B)", children: [
|
|
1130
|
+
/* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg: "rgba(234, 179, 8, 0.12)", $color: "var(--colors-warning600, #D97706)", children: /* @__PURE__ */ jsx(Clock, {}) }),
|
|
1161
1131
|
/* @__PURE__ */ jsx(StatValue, { className: "stat-value", children: idleSessions.length }),
|
|
1162
1132
|
/* @__PURE__ */ jsx(StatLabel, { children: t("homepage.stats.idle", "Idle") })
|
|
1163
1133
|
] }),
|
|
1164
|
-
/* @__PURE__ */ jsxs(StatCard, { $delay: "0.3s", $color:
|
|
1165
|
-
/* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg:
|
|
1134
|
+
/* @__PURE__ */ jsxs(StatCard, { $delay: "0.3s", $color: "var(--colors-danger600, #EF4444)", children: [
|
|
1135
|
+
/* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg: "rgba(220, 38, 38, 0.12)", $color: "var(--colors-danger600, #DC2626)", children: /* @__PURE__ */ jsx(Cross, {}) }),
|
|
1166
1136
|
/* @__PURE__ */ jsx(StatValue, { className: "stat-value", children: loggedOutSessions.length }),
|
|
1167
1137
|
/* @__PURE__ */ jsx(StatLabel, { children: t("homepage.stats.loggedOut", "Logged Out") })
|
|
1168
1138
|
] }),
|
|
1169
|
-
/* @__PURE__ */ jsxs(StatCard, { $delay: "0.4s", $color: "
|
|
1170
|
-
/* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg: "
|
|
1139
|
+
/* @__PURE__ */ jsxs(StatCard, { $delay: "0.4s", $color: "var(--colors-neutral600)", children: [
|
|
1140
|
+
/* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg: "var(--colors-neutral100)", $color: "var(--colors-neutral600)", children: /* @__PURE__ */ jsx(Cross, {}) }),
|
|
1171
1141
|
/* @__PURE__ */ jsx(StatValue, { className: "stat-value", children: terminatedSessions.length }),
|
|
1172
1142
|
/* @__PURE__ */ jsx(StatLabel, { children: t("homepage.stats.terminated", "Terminated") })
|
|
1173
1143
|
] }),
|
|
1174
1144
|
/* @__PURE__ */ jsxs(StatCard, { $delay: "0.5s", $color: "#A855F7", children: [
|
|
1175
|
-
/* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg: "
|
|
1145
|
+
/* @__PURE__ */ jsx(StatIcon, { className: "stat-icon", $bg: "rgba(147, 51, 234, 0.12)", $color: "#9333EA", children: /* @__PURE__ */ jsx(User, {}) }),
|
|
1176
1146
|
/* @__PURE__ */ jsx(StatValue, { className: "stat-value", children: sessions.length }),
|
|
1177
1147
|
/* @__PURE__ */ jsx(StatLabel, { children: t("homepage.stats.total", "Total") })
|
|
1178
1148
|
] })
|
|
@@ -1242,26 +1212,26 @@ const HomePage = () => {
|
|
|
1242
1212
|
const sessionStatus = getSessionStatus(session);
|
|
1243
1213
|
const statusConfig = {
|
|
1244
1214
|
active: {
|
|
1245
|
-
bg:
|
|
1215
|
+
bg: "rgba(22, 163, 74, 0.06)",
|
|
1246
1216
|
badgeColor: "success600",
|
|
1247
1217
|
label: t("homepage.status.active", "Active"),
|
|
1248
1218
|
indicator: true
|
|
1249
1219
|
},
|
|
1250
1220
|
idle: {
|
|
1251
|
-
bg:
|
|
1221
|
+
bg: "rgba(234, 179, 8, 0.06)",
|
|
1252
1222
|
badgeColor: "warning600",
|
|
1253
1223
|
label: t("homepage.status.idle", "Idle"),
|
|
1254
1224
|
indicator: false
|
|
1255
1225
|
},
|
|
1256
1226
|
loggedout: {
|
|
1257
|
-
bg:
|
|
1227
|
+
bg: "rgba(220, 38, 38, 0.06)",
|
|
1258
1228
|
badgeColor: "danger600",
|
|
1259
1229
|
label: t("homepage.status.loggedOut", "Logged Out"),
|
|
1260
1230
|
indicator: false,
|
|
1261
1231
|
opacity: 0.7
|
|
1262
1232
|
},
|
|
1263
1233
|
terminated: {
|
|
1264
|
-
bg: "
|
|
1234
|
+
bg: "var(--colors-neutral100)",
|
|
1265
1235
|
badgeColor: "neutral600",
|
|
1266
1236
|
label: t("homepage.status.terminated", "Terminated"),
|
|
1267
1237
|
indicator: false,
|
|
@@ -1352,7 +1322,7 @@ const HomePage = () => {
|
|
|
1352
1322
|
background: "neutral0",
|
|
1353
1323
|
style: {
|
|
1354
1324
|
borderRadius: theme.borderRadius.xl,
|
|
1355
|
-
border: "2px dashed
|
|
1325
|
+
border: "2px dashed rgba(128, 128, 128, 0.2)",
|
|
1356
1326
|
padding: "60px 32px",
|
|
1357
1327
|
textAlign: "center",
|
|
1358
1328
|
position: "relative",
|
|
@@ -1372,7 +1342,7 @@ const HomePage = () => {
|
|
|
1372
1342
|
left: 0,
|
|
1373
1343
|
right: 0,
|
|
1374
1344
|
bottom: 0,
|
|
1375
|
-
background: `linear-gradient(135deg, ${
|
|
1345
|
+
background: `linear-gradient(135deg, ${"rgba(2, 132, 199, 0.06)"} 0%, ${"rgba(147, 51, 234, 0.06)"} 100%)`,
|
|
1376
1346
|
opacity: 0.3,
|
|
1377
1347
|
zIndex: 0
|
|
1378
1348
|
}
|
|
@@ -1387,13 +1357,13 @@ const HomePage = () => {
|
|
|
1387
1357
|
width: "100px",
|
|
1388
1358
|
height: "100px",
|
|
1389
1359
|
borderRadius: "50%",
|
|
1390
|
-
background: `linear-gradient(135deg, ${
|
|
1360
|
+
background: `linear-gradient(135deg, ${"rgba(2, 132, 199, 0.12)"} 0%, ${"rgba(147, 51, 234, 0.12)"} 100%)`,
|
|
1391
1361
|
display: "flex",
|
|
1392
1362
|
alignItems: "center",
|
|
1393
1363
|
justifyContent: "center",
|
|
1394
1364
|
boxShadow: theme.shadows.xl
|
|
1395
1365
|
},
|
|
1396
|
-
children: /* @__PURE__ */ jsx(Search, { style: { width: "50px", height: "50px", color: "#0284C7" } })
|
|
1366
|
+
children: /* @__PURE__ */ jsx(Search, { style: { width: "50px", height: "50px", color: "var(--colors-primary600, #0284C7)" } })
|
|
1397
1367
|
}
|
|
1398
1368
|
),
|
|
1399
1369
|
/* @__PURE__ */ jsx(
|
|
@@ -1434,7 +1404,7 @@ const HomePage = () => {
|
|
|
1434
1404
|
background: "neutral0",
|
|
1435
1405
|
style: {
|
|
1436
1406
|
borderRadius: theme.borderRadius.xl,
|
|
1437
|
-
border: "2px dashed
|
|
1407
|
+
border: "2px dashed rgba(128, 128, 128, 0.2)",
|
|
1438
1408
|
padding: "80px 32px",
|
|
1439
1409
|
textAlign: "center",
|
|
1440
1410
|
position: "relative",
|
|
@@ -1454,7 +1424,7 @@ const HomePage = () => {
|
|
|
1454
1424
|
left: 0,
|
|
1455
1425
|
right: 0,
|
|
1456
1426
|
bottom: 0,
|
|
1457
|
-
background: `linear-gradient(135deg, ${
|
|
1427
|
+
background: `linear-gradient(135deg, ${"rgba(2, 132, 199, 0.06)"} 0%, ${"rgba(147, 51, 234, 0.06)"} 100%)`,
|
|
1458
1428
|
opacity: 0.3,
|
|
1459
1429
|
zIndex: 0
|
|
1460
1430
|
}
|
|
@@ -1468,13 +1438,13 @@ const HomePage = () => {
|
|
|
1468
1438
|
width: "120px",
|
|
1469
1439
|
height: "120px",
|
|
1470
1440
|
borderRadius: "50%",
|
|
1471
|
-
background: `linear-gradient(135deg, ${
|
|
1441
|
+
background: `linear-gradient(135deg, ${"rgba(2, 132, 199, 0.12)"} 0%, ${"rgba(147, 51, 234, 0.12)"} 100%)`,
|
|
1472
1442
|
display: "flex",
|
|
1473
1443
|
alignItems: "center",
|
|
1474
1444
|
justifyContent: "center",
|
|
1475
1445
|
boxShadow: theme.shadows.xl
|
|
1476
1446
|
},
|
|
1477
|
-
children: /* @__PURE__ */ jsx(Monitor, { style: { width: "60px", height: "60px", color: "#0284C7" } })
|
|
1447
|
+
children: /* @__PURE__ */ jsx(Monitor, { style: { width: "60px", height: "60px", color: "var(--colors-primary600, #0284C7)" } })
|
|
1478
1448
|
}
|
|
1479
1449
|
),
|
|
1480
1450
|
/* @__PURE__ */ jsx(
|
|
@@ -1547,7 +1517,7 @@ const ModalOverlay = styled.div`
|
|
|
1547
1517
|
padding: 20px;
|
|
1548
1518
|
`;
|
|
1549
1519
|
const ModalContent = styled(Box)`
|
|
1550
|
-
background: white;
|
|
1520
|
+
background: var(--colors-neutral0, white);
|
|
1551
1521
|
border-radius: 16px;
|
|
1552
1522
|
width: 100%;
|
|
1553
1523
|
max-width: 580px;
|
|
@@ -1862,7 +1832,7 @@ const LicenseGuard = ({ children }) => {
|
|
|
1862
1832
|
padding: 4,
|
|
1863
1833
|
style: {
|
|
1864
1834
|
borderRadius: "8px",
|
|
1865
|
-
border: "2px solid
|
|
1835
|
+
border: "2px solid rgba(14, 165, 233, 0.3)",
|
|
1866
1836
|
width: "100%"
|
|
1867
1837
|
},
|
|
1868
1838
|
children: /* @__PURE__ */ jsx(Typography, { variant: "omega", style: { fontSize: "13px", lineHeight: "1.6" }, children: useExistingKey ? "Enter your email and license key to activate." : useAutoCreate && adminUser && adminUser.email ? `Click "Activate" to auto-create a license with your account (${adminUser.email})` : useAutoCreate ? 'Click "Activate" to auto-create a license with your admin account' : "A license will be created with the details below." })
|
|
@@ -1926,11 +1896,11 @@ const LicenseGuard = ({ children }) => {
|
|
|
1926
1896
|
padding: 5,
|
|
1927
1897
|
style: {
|
|
1928
1898
|
borderRadius: "8px",
|
|
1929
|
-
border: "2px solid
|
|
1899
|
+
border: "2px solid rgba(34, 197, 94, 0.3)",
|
|
1930
1900
|
textAlign: "center"
|
|
1931
1901
|
},
|
|
1932
1902
|
children: [
|
|
1933
|
-
/* @__PURE__ */ jsx(Typography, { variant: "omega", fontWeight: "bold", style: { marginBottom: "12px", display: "block" }, children: "Ready to activate with your account
|
|
1903
|
+
/* @__PURE__ */ jsx(Typography, { variant: "omega", fontWeight: "bold", style: { marginBottom: "12px", display: "block" }, children: "Ready to activate with your account" }),
|
|
1934
1904
|
/* @__PURE__ */ jsxs(Typography, { variant: "pi", style: { marginBottom: "4px", display: "block" }, children: [
|
|
1935
1905
|
adminUser.firstname || "Admin",
|
|
1936
1906
|
" ",
|