strapi-plugin-magic-link-v5 5.3.16 → 5.3.18
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/dist/_chunks/{LicenseGuard-B_r3b1Vh.mjs → LicenseGuard-5sMwgS6j.mjs} +41 -20
- package/dist/_chunks/{LicenseGuard-BEEd9IpN.js → LicenseGuard-DqyOwTlf.js} +41 -20
- package/dist/_chunks/{LicensePage-zvD9SEpq.js → LicensePage-2M-vOJX8.js} +38 -34
- package/dist/_chunks/{LicensePage-DxTqY1Qq.mjs → LicensePage-CCNW2hT6.mjs} +38 -34
- package/dist/_chunks/{index-B_W1UPwO.js → index-B2-UNgqO.js} +111 -121
- package/dist/_chunks/{index-DdtbtuBN.mjs → index-BLVWydMU.mjs} +1 -1
- package/dist/_chunks/{index-B5ocEHHM.mjs → index-D4iiJVPc.mjs} +111 -121
- package/dist/_chunks/{index-uEW37Cq7.js → index-DJQQdmfZ.js} +4 -4
- package/dist/_chunks/{index-CoPzo3AB.js → index-DLQHbyQZ.js} +1 -1
- package/dist/_chunks/{index-DRrOQmHI.js → index-DsBgtATx.js} +2 -2
- package/dist/_chunks/{index-Ci-1p8MA.mjs → index-FtAOFA-A.mjs} +2 -2
- package/dist/_chunks/{index-uwUKk17V.mjs → index-XzZ9gY5b.mjs} +4 -4
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/package.json +1 -1
|
@@ -82,7 +82,7 @@ const ModalOverlay = styled.div`
|
|
|
82
82
|
padding: 20px;
|
|
83
83
|
`;
|
|
84
84
|
const ModalContent = styled(Box)`
|
|
85
|
-
background:
|
|
85
|
+
background: ${(p) => p.theme.colors.neutral0};
|
|
86
86
|
border-radius: 16px;
|
|
87
87
|
width: 100%;
|
|
88
88
|
max-width: 580px;
|
|
@@ -91,7 +91,7 @@ const ModalContent = styled(Box)`
|
|
|
91
91
|
overflow: hidden;
|
|
92
92
|
`;
|
|
93
93
|
const GradientHeader = styled(Box)`
|
|
94
|
-
background: linear-gradient(135deg, #
|
|
94
|
+
background: linear-gradient(135deg, #4945ff 0%, #7c3aed 100%);
|
|
95
95
|
padding: 32px 40px;
|
|
96
96
|
position: relative;
|
|
97
97
|
overflow: hidden;
|
|
@@ -158,7 +158,7 @@ const CloseButton = styled.button`
|
|
|
158
158
|
const ToggleButton = styled.button`
|
|
159
159
|
background: none;
|
|
160
160
|
border: none;
|
|
161
|
-
color: #
|
|
161
|
+
color: #4945ff;
|
|
162
162
|
font-size: 13px;
|
|
163
163
|
font-weight: 600;
|
|
164
164
|
cursor: pointer;
|
|
@@ -167,9 +167,44 @@ const ToggleButton = styled.button`
|
|
|
167
167
|
transition: color 0.2s;
|
|
168
168
|
|
|
169
169
|
&:hover {
|
|
170
|
-
color: #
|
|
170
|
+
color: #7c3aed;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
&:disabled {
|
|
174
|
+
opacity: 0.5;
|
|
175
|
+
cursor: not-allowed;
|
|
176
|
+
}
|
|
177
|
+
`;
|
|
178
|
+
const GradientButton = styled(Button)`
|
|
179
|
+
&& {
|
|
180
|
+
background: linear-gradient(135deg, #4945ff 0%, #7c3aed 100%);
|
|
181
|
+
color: white;
|
|
182
|
+
font-weight: 600;
|
|
183
|
+
border: none;
|
|
184
|
+
box-shadow: 0 4px 12px rgba(73, 69, 255, 0.4);
|
|
185
|
+
|
|
186
|
+
&:hover:not(:disabled) {
|
|
187
|
+
background: linear-gradient(135deg, #4338ca 0%, #6d28d9 100%);
|
|
188
|
+
box-shadow: 0 6px 16px rgba(73, 69, 255, 0.5);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
&:disabled {
|
|
192
|
+
opacity: 0.6;
|
|
193
|
+
cursor: not-allowed;
|
|
194
|
+
}
|
|
171
195
|
}
|
|
172
196
|
`;
|
|
197
|
+
styled(Box)`
|
|
198
|
+
background: rgba(73, 69, 255, 0.06);
|
|
199
|
+
border: 2px solid rgba(73, 69, 255, 0.3);
|
|
200
|
+
border-radius: 8px;
|
|
201
|
+
padding: 16px;
|
|
202
|
+
`;
|
|
203
|
+
styled(Typography)`
|
|
204
|
+
font-size: 13px;
|
|
205
|
+
line-height: 1.6;
|
|
206
|
+
color: ${(p) => p.theme.colors.neutral800};
|
|
207
|
+
`;
|
|
173
208
|
const LicenseGuard = ({ children }) => {
|
|
174
209
|
const { get, post } = useFetchClient();
|
|
175
210
|
const { toggleNotification } = useNotification();
|
|
@@ -573,40 +608,26 @@ const LicenseGuard = ({ children }) => {
|
|
|
573
608
|
/* @__PURE__ */ jsx(Flex, { gap: 3, justifyContent: "center", style: { marginTop: "16px" }, children: useExistingKey ? (
|
|
574
609
|
// Validate Button
|
|
575
610
|
/* @__PURE__ */ jsx(
|
|
576
|
-
|
|
611
|
+
GradientButton,
|
|
577
612
|
{
|
|
578
613
|
type: "submit",
|
|
579
614
|
size: "L",
|
|
580
615
|
startIcon: /* @__PURE__ */ jsx(Check, {}),
|
|
581
616
|
loading: isCreating,
|
|
582
617
|
disabled: isCreating || !existingLicenseKey.trim() || !existingEmail.trim(),
|
|
583
|
-
style: {
|
|
584
|
-
background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
|
|
585
|
-
color: "white",
|
|
586
|
-
fontWeight: "600",
|
|
587
|
-
border: "none",
|
|
588
|
-
boxShadow: "0 4px 12px rgba(102, 126, 234, 0.4)"
|
|
589
|
-
},
|
|
590
618
|
children: "Validate License"
|
|
591
619
|
}
|
|
592
620
|
)
|
|
593
621
|
) : (
|
|
594
622
|
// Create/Auto-Create License Button
|
|
595
623
|
/* @__PURE__ */ jsx(
|
|
596
|
-
|
|
624
|
+
GradientButton,
|
|
597
625
|
{
|
|
598
626
|
type: "submit",
|
|
599
627
|
size: "L",
|
|
600
628
|
startIcon: /* @__PURE__ */ jsx(Check, {}),
|
|
601
629
|
loading: isCreating,
|
|
602
630
|
disabled: isCreating || !useAutoCreate && (!formData.email || !formData.firstName || !formData.lastName),
|
|
603
|
-
style: {
|
|
604
|
-
background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
|
|
605
|
-
color: "white",
|
|
606
|
-
fontWeight: "600",
|
|
607
|
-
border: "none",
|
|
608
|
-
boxShadow: "0 4px 12px rgba(102, 126, 234, 0.4)"
|
|
609
|
-
},
|
|
610
631
|
children: useAutoCreate ? "Activate License" : "Create License"
|
|
611
632
|
}
|
|
612
633
|
)
|
|
@@ -85,7 +85,7 @@ const ModalOverlay = styled__default.default.div`
|
|
|
85
85
|
padding: 20px;
|
|
86
86
|
`;
|
|
87
87
|
const ModalContent = styled__default.default(designSystem.Box)`
|
|
88
|
-
background:
|
|
88
|
+
background: ${(p) => p.theme.colors.neutral0};
|
|
89
89
|
border-radius: 16px;
|
|
90
90
|
width: 100%;
|
|
91
91
|
max-width: 580px;
|
|
@@ -94,7 +94,7 @@ const ModalContent = styled__default.default(designSystem.Box)`
|
|
|
94
94
|
overflow: hidden;
|
|
95
95
|
`;
|
|
96
96
|
const GradientHeader = styled__default.default(designSystem.Box)`
|
|
97
|
-
background: linear-gradient(135deg, #
|
|
97
|
+
background: linear-gradient(135deg, #4945ff 0%, #7c3aed 100%);
|
|
98
98
|
padding: 32px 40px;
|
|
99
99
|
position: relative;
|
|
100
100
|
overflow: hidden;
|
|
@@ -161,7 +161,7 @@ const CloseButton = styled__default.default.button`
|
|
|
161
161
|
const ToggleButton = styled__default.default.button`
|
|
162
162
|
background: none;
|
|
163
163
|
border: none;
|
|
164
|
-
color: #
|
|
164
|
+
color: #4945ff;
|
|
165
165
|
font-size: 13px;
|
|
166
166
|
font-weight: 600;
|
|
167
167
|
cursor: pointer;
|
|
@@ -170,9 +170,44 @@ const ToggleButton = styled__default.default.button`
|
|
|
170
170
|
transition: color 0.2s;
|
|
171
171
|
|
|
172
172
|
&:hover {
|
|
173
|
-
color: #
|
|
173
|
+
color: #7c3aed;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
&:disabled {
|
|
177
|
+
opacity: 0.5;
|
|
178
|
+
cursor: not-allowed;
|
|
179
|
+
}
|
|
180
|
+
`;
|
|
181
|
+
const GradientButton = styled__default.default(designSystem.Button)`
|
|
182
|
+
&& {
|
|
183
|
+
background: linear-gradient(135deg, #4945ff 0%, #7c3aed 100%);
|
|
184
|
+
color: white;
|
|
185
|
+
font-weight: 600;
|
|
186
|
+
border: none;
|
|
187
|
+
box-shadow: 0 4px 12px rgba(73, 69, 255, 0.4);
|
|
188
|
+
|
|
189
|
+
&:hover:not(:disabled) {
|
|
190
|
+
background: linear-gradient(135deg, #4338ca 0%, #6d28d9 100%);
|
|
191
|
+
box-shadow: 0 6px 16px rgba(73, 69, 255, 0.5);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
&:disabled {
|
|
195
|
+
opacity: 0.6;
|
|
196
|
+
cursor: not-allowed;
|
|
197
|
+
}
|
|
174
198
|
}
|
|
175
199
|
`;
|
|
200
|
+
styled__default.default(designSystem.Box)`
|
|
201
|
+
background: rgba(73, 69, 255, 0.06);
|
|
202
|
+
border: 2px solid rgba(73, 69, 255, 0.3);
|
|
203
|
+
border-radius: 8px;
|
|
204
|
+
padding: 16px;
|
|
205
|
+
`;
|
|
206
|
+
styled__default.default(designSystem.Typography)`
|
|
207
|
+
font-size: 13px;
|
|
208
|
+
line-height: 1.6;
|
|
209
|
+
color: ${(p) => p.theme.colors.neutral800};
|
|
210
|
+
`;
|
|
176
211
|
const LicenseGuard = ({ children }) => {
|
|
177
212
|
const { get, post } = admin.useFetchClient();
|
|
178
213
|
const { toggleNotification } = admin.useNotification();
|
|
@@ -576,40 +611,26 @@ const LicenseGuard = ({ children }) => {
|
|
|
576
611
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { gap: 3, justifyContent: "center", style: { marginTop: "16px" }, children: useExistingKey ? (
|
|
577
612
|
// Validate Button
|
|
578
613
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
579
|
-
|
|
614
|
+
GradientButton,
|
|
580
615
|
{
|
|
581
616
|
type: "submit",
|
|
582
617
|
size: "L",
|
|
583
618
|
startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.Check, {}),
|
|
584
619
|
loading: isCreating,
|
|
585
620
|
disabled: isCreating || !existingLicenseKey.trim() || !existingEmail.trim(),
|
|
586
|
-
style: {
|
|
587
|
-
background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
|
|
588
|
-
color: "white",
|
|
589
|
-
fontWeight: "600",
|
|
590
|
-
border: "none",
|
|
591
|
-
boxShadow: "0 4px 12px rgba(102, 126, 234, 0.4)"
|
|
592
|
-
},
|
|
593
621
|
children: "Validate License"
|
|
594
622
|
}
|
|
595
623
|
)
|
|
596
624
|
) : (
|
|
597
625
|
// Create/Auto-Create License Button
|
|
598
626
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
599
|
-
|
|
627
|
+
GradientButton,
|
|
600
628
|
{
|
|
601
629
|
type: "submit",
|
|
602
630
|
size: "L",
|
|
603
631
|
startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.Check, {}),
|
|
604
632
|
loading: isCreating,
|
|
605
633
|
disabled: isCreating || !useAutoCreate && (!formData.email || !formData.firstName || !formData.lastName),
|
|
606
|
-
style: {
|
|
607
|
-
background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
|
|
608
|
-
color: "white",
|
|
609
|
-
fontWeight: "600",
|
|
610
|
-
border: "none",
|
|
611
|
-
boxShadow: "0 4px 12px rgba(102, 126, 234, 0.4)"
|
|
612
|
-
},
|
|
613
634
|
children: useAutoCreate ? "Activate License" : "Create License"
|
|
614
635
|
}
|
|
615
636
|
)
|
|
@@ -25,14 +25,14 @@ const Title = styled__default.default(designSystem.Typography)`
|
|
|
25
25
|
font-size: 2.5rem;
|
|
26
26
|
font-weight: 700;
|
|
27
27
|
margin-bottom: 8px;
|
|
28
|
-
background: linear-gradient(135deg, #
|
|
28
|
+
background: linear-gradient(135deg, #4945ff, #7c3aed);
|
|
29
29
|
-webkit-background-clip: text;
|
|
30
30
|
-webkit-text-fill-color: transparent;
|
|
31
31
|
display: block;
|
|
32
32
|
`;
|
|
33
33
|
const Subtitle = styled__default.default(designSystem.Typography)`
|
|
34
34
|
font-size: 1.125rem;
|
|
35
|
-
color:
|
|
35
|
+
color: ${(p) => p.theme.colors.neutral600};
|
|
36
36
|
line-height: 1.6;
|
|
37
37
|
display: block;
|
|
38
38
|
`;
|
|
@@ -49,24 +49,24 @@ const TierWrapper = styled__default.default(designSystem.Box)`
|
|
|
49
49
|
max-width: 340px;
|
|
50
50
|
`;
|
|
51
51
|
const TierCard = styled__default.default(designSystem.Box)`
|
|
52
|
-
background:
|
|
52
|
+
background: ${(p) => p.theme.colors.neutral0};
|
|
53
53
|
border-radius: 16px;
|
|
54
54
|
padding: 32px;
|
|
55
|
-
border: 2px solid ${(props) => props.$featured ? "#
|
|
55
|
+
border: 2px solid ${(props) => props.$featured ? "#4945ff" : props.theme.colors.neutral200};
|
|
56
56
|
position: relative;
|
|
57
57
|
transition: all 0.3s ease;
|
|
58
|
-
box-shadow: ${(props) => props.$featured ? "0 20px 25px -5px rgba(
|
|
58
|
+
box-shadow: ${(props) => props.$featured ? "0 20px 25px -5px rgba(73, 69, 255, 0.25), 0 8px 10px -6px rgba(73, 69, 255, 0.2)" : "0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.05)"};
|
|
59
59
|
|
|
60
60
|
&:hover {
|
|
61
61
|
transform: translateY(-4px);
|
|
62
|
-
box-shadow: 0 20px 25px -5px rgba(
|
|
62
|
+
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
|
|
63
63
|
}
|
|
64
64
|
`;
|
|
65
65
|
const PopularBadge = styled__default.default(designSystem.Badge)`
|
|
66
66
|
position: absolute;
|
|
67
67
|
top: -12px;
|
|
68
68
|
right: 24px;
|
|
69
|
-
background: linear-gradient(135deg, #
|
|
69
|
+
background: linear-gradient(135deg, #4945ff, #4338ca);
|
|
70
70
|
color: white;
|
|
71
71
|
padding: 4px 16px;
|
|
72
72
|
font-size: 12px;
|
|
@@ -92,16 +92,36 @@ const TierName = styled__default.default(designSystem.Typography)`
|
|
|
92
92
|
font-size: 1.5rem;
|
|
93
93
|
font-weight: 700;
|
|
94
94
|
margin-bottom: 8px;
|
|
95
|
+
color: ${(p) => p.theme.colors.neutral800};
|
|
95
96
|
`;
|
|
96
97
|
const TierPrice = styled__default.default(designSystem.Typography)`
|
|
97
98
|
font-size: 2rem;
|
|
98
99
|
font-weight: 800;
|
|
99
100
|
margin-bottom: 4px;
|
|
101
|
+
color: ${(p) => p.theme.colors.neutral800};
|
|
100
102
|
`;
|
|
101
103
|
const TierDescription = styled__default.default(designSystem.Typography)`
|
|
102
|
-
color:
|
|
104
|
+
color: ${(p) => p.theme.colors.neutral600};
|
|
103
105
|
margin-bottom: 24px;
|
|
104
106
|
`;
|
|
107
|
+
const LimitsBox = styled__default.default(designSystem.Box)`
|
|
108
|
+
background: ${(p) => p.theme.colors.neutral100};
|
|
109
|
+
border-radius: 8px;
|
|
110
|
+
padding: 12px;
|
|
111
|
+
margin-bottom: 20px;
|
|
112
|
+
`;
|
|
113
|
+
const LimitText = styled__default.default(designSystem.Typography)`
|
|
114
|
+
font-size: 13px;
|
|
115
|
+
color: ${(p) => p.theme.colors.neutral800};
|
|
116
|
+
`;
|
|
117
|
+
const PeriodText = styled__default.default(designSystem.Typography)`
|
|
118
|
+
color: ${(p) => p.theme.colors.neutral600};
|
|
119
|
+
`;
|
|
120
|
+
const FeatureText = styled__default.default(designSystem.Typography)`
|
|
121
|
+
font-size: 14px;
|
|
122
|
+
color: ${(p) => p.$included ? p.theme.colors.neutral800 : p.theme.colors.neutral500};
|
|
123
|
+
text-decoration: ${(p) => p.$included ? "none" : "line-through"};
|
|
124
|
+
`;
|
|
105
125
|
const FeatureList = styled__default.default(designSystem.Box)`
|
|
106
126
|
margin-bottom: 24px;
|
|
107
127
|
`;
|
|
@@ -121,10 +141,10 @@ const FeatureIcon = styled__default.default(designSystem.Box)`
|
|
|
121
141
|
margin-top: 2px;
|
|
122
142
|
|
|
123
143
|
${(props) => props.$included ? `
|
|
124
|
-
background:
|
|
144
|
+
background: rgba(34, 197, 94, 0.15);
|
|
125
145
|
svg { color: #16A34A; }
|
|
126
146
|
` : `
|
|
127
|
-
background:
|
|
147
|
+
background: rgba(220, 38, 38, 0.12);
|
|
128
148
|
svg { color: #DC2626; }
|
|
129
149
|
`}
|
|
130
150
|
`;
|
|
@@ -148,8 +168,8 @@ const CurrentPlanBadge = styled__default.default(designSystem.Badge)`
|
|
|
148
168
|
display: flex;
|
|
149
169
|
align-items: center;
|
|
150
170
|
justify-content: center;
|
|
151
|
-
background:
|
|
152
|
-
color:
|
|
171
|
+
background: ${(p) => p.theme.colors.neutral100};
|
|
172
|
+
color: ${(p) => p.theme.colors.neutral600};
|
|
153
173
|
font-weight: 600;
|
|
154
174
|
font-size: 15px;
|
|
155
175
|
`;
|
|
@@ -319,26 +339,21 @@ const LicensePage = () => {
|
|
|
319
339
|
/* @__PURE__ */ jsxRuntime.jsx(TierName, { variant: "beta", children: tier.name }),
|
|
320
340
|
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "baseline", gap: 1, children: [
|
|
321
341
|
/* @__PURE__ */ jsxRuntime.jsx(TierPrice, { variant: "alpha", children: tier.price }),
|
|
322
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
342
|
+
/* @__PURE__ */ jsxRuntime.jsx(PeriodText, { variant: "omega", children: tier.period })
|
|
323
343
|
] }),
|
|
324
344
|
/* @__PURE__ */ jsxRuntime.jsx(TierDescription, { variant: "omega", children: tier.description }),
|
|
325
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.
|
|
326
|
-
|
|
327
|
-
borderRadius: "8px",
|
|
328
|
-
padding: "12px",
|
|
329
|
-
marginBottom: "20px"
|
|
330
|
-
}, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, children: [
|
|
331
|
-
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Typography, { variant: "pi", style: { fontSize: "13px" }, children: [
|
|
345
|
+
/* @__PURE__ */ jsxRuntime.jsx(LimitsBox, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, children: [
|
|
346
|
+
/* @__PURE__ */ jsxRuntime.jsxs(LimitText, { variant: "pi", children: [
|
|
332
347
|
/* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Authentication:" }),
|
|
333
348
|
" ",
|
|
334
349
|
tier.limits.authentication
|
|
335
350
|
] }),
|
|
336
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
351
|
+
/* @__PURE__ */ jsxRuntime.jsxs(LimitText, { variant: "pi", children: [
|
|
337
352
|
/* @__PURE__ */ jsxRuntime.jsx("strong", { children: "MFA:" }),
|
|
338
353
|
" ",
|
|
339
354
|
tier.limits.mfa
|
|
340
355
|
] }),
|
|
341
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
356
|
+
/* @__PURE__ */ jsxRuntime.jsxs(LimitText, { variant: "pi", children: [
|
|
342
357
|
/* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Support:" }),
|
|
343
358
|
" ",
|
|
344
359
|
tier.limits.support
|
|
@@ -346,18 +361,7 @@ const LicensePage = () => {
|
|
|
346
361
|
] }) }),
|
|
347
362
|
/* @__PURE__ */ jsxRuntime.jsx(FeatureList, { children: tier.features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsxs(Feature, { children: [
|
|
348
363
|
/* @__PURE__ */ jsxRuntime.jsx(FeatureIcon, { $included: feature.included, children: feature.included ? /* @__PURE__ */ jsxRuntime.jsx(icons.Check, { style: { width: 14, height: 14 } }) : /* @__PURE__ */ jsxRuntime.jsx(icons.Cross, { style: { width: 14, height: 14 } }) }),
|
|
349
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
350
|
-
designSystem.Typography,
|
|
351
|
-
{
|
|
352
|
-
variant: "omega",
|
|
353
|
-
style: {
|
|
354
|
-
fontSize: "14px",
|
|
355
|
-
color: feature.included ? "#374151" : "#9CA3AF",
|
|
356
|
-
textDecoration: feature.included ? "none" : "line-through"
|
|
357
|
-
},
|
|
358
|
-
children: feature.name
|
|
359
|
-
}
|
|
360
|
-
)
|
|
364
|
+
/* @__PURE__ */ jsxRuntime.jsx(FeatureText, { variant: "omega", $included: feature.included, children: feature.name })
|
|
361
365
|
] }, index)) }),
|
|
362
366
|
currentTier === tier.id ? /* @__PURE__ */ jsxRuntime.jsx(CurrentPlanBadge, { children: "Current Plan" }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
363
367
|
UpgradeButton,
|
|
@@ -21,14 +21,14 @@ const Title = styled(Typography)`
|
|
|
21
21
|
font-size: 2.5rem;
|
|
22
22
|
font-weight: 700;
|
|
23
23
|
margin-bottom: 8px;
|
|
24
|
-
background: linear-gradient(135deg, #
|
|
24
|
+
background: linear-gradient(135deg, #4945ff, #7c3aed);
|
|
25
25
|
-webkit-background-clip: text;
|
|
26
26
|
-webkit-text-fill-color: transparent;
|
|
27
27
|
display: block;
|
|
28
28
|
`;
|
|
29
29
|
const Subtitle = styled(Typography)`
|
|
30
30
|
font-size: 1.125rem;
|
|
31
|
-
color:
|
|
31
|
+
color: ${(p) => p.theme.colors.neutral600};
|
|
32
32
|
line-height: 1.6;
|
|
33
33
|
display: block;
|
|
34
34
|
`;
|
|
@@ -45,24 +45,24 @@ const TierWrapper = styled(Box)`
|
|
|
45
45
|
max-width: 340px;
|
|
46
46
|
`;
|
|
47
47
|
const TierCard = styled(Box)`
|
|
48
|
-
background:
|
|
48
|
+
background: ${(p) => p.theme.colors.neutral0};
|
|
49
49
|
border-radius: 16px;
|
|
50
50
|
padding: 32px;
|
|
51
|
-
border: 2px solid ${(props) => props.$featured ? "#
|
|
51
|
+
border: 2px solid ${(props) => props.$featured ? "#4945ff" : props.theme.colors.neutral200};
|
|
52
52
|
position: relative;
|
|
53
53
|
transition: all 0.3s ease;
|
|
54
|
-
box-shadow: ${(props) => props.$featured ? "0 20px 25px -5px rgba(
|
|
54
|
+
box-shadow: ${(props) => props.$featured ? "0 20px 25px -5px rgba(73, 69, 255, 0.25), 0 8px 10px -6px rgba(73, 69, 255, 0.2)" : "0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.05)"};
|
|
55
55
|
|
|
56
56
|
&:hover {
|
|
57
57
|
transform: translateY(-4px);
|
|
58
|
-
box-shadow: 0 20px 25px -5px rgba(
|
|
58
|
+
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
|
|
59
59
|
}
|
|
60
60
|
`;
|
|
61
61
|
const PopularBadge = styled(Badge)`
|
|
62
62
|
position: absolute;
|
|
63
63
|
top: -12px;
|
|
64
64
|
right: 24px;
|
|
65
|
-
background: linear-gradient(135deg, #
|
|
65
|
+
background: linear-gradient(135deg, #4945ff, #4338ca);
|
|
66
66
|
color: white;
|
|
67
67
|
padding: 4px 16px;
|
|
68
68
|
font-size: 12px;
|
|
@@ -88,16 +88,36 @@ const TierName = styled(Typography)`
|
|
|
88
88
|
font-size: 1.5rem;
|
|
89
89
|
font-weight: 700;
|
|
90
90
|
margin-bottom: 8px;
|
|
91
|
+
color: ${(p) => p.theme.colors.neutral800};
|
|
91
92
|
`;
|
|
92
93
|
const TierPrice = styled(Typography)`
|
|
93
94
|
font-size: 2rem;
|
|
94
95
|
font-weight: 800;
|
|
95
96
|
margin-bottom: 4px;
|
|
97
|
+
color: ${(p) => p.theme.colors.neutral800};
|
|
96
98
|
`;
|
|
97
99
|
const TierDescription = styled(Typography)`
|
|
98
|
-
color:
|
|
100
|
+
color: ${(p) => p.theme.colors.neutral600};
|
|
99
101
|
margin-bottom: 24px;
|
|
100
102
|
`;
|
|
103
|
+
const LimitsBox = styled(Box)`
|
|
104
|
+
background: ${(p) => p.theme.colors.neutral100};
|
|
105
|
+
border-radius: 8px;
|
|
106
|
+
padding: 12px;
|
|
107
|
+
margin-bottom: 20px;
|
|
108
|
+
`;
|
|
109
|
+
const LimitText = styled(Typography)`
|
|
110
|
+
font-size: 13px;
|
|
111
|
+
color: ${(p) => p.theme.colors.neutral800};
|
|
112
|
+
`;
|
|
113
|
+
const PeriodText = styled(Typography)`
|
|
114
|
+
color: ${(p) => p.theme.colors.neutral600};
|
|
115
|
+
`;
|
|
116
|
+
const FeatureText = styled(Typography)`
|
|
117
|
+
font-size: 14px;
|
|
118
|
+
color: ${(p) => p.$included ? p.theme.colors.neutral800 : p.theme.colors.neutral500};
|
|
119
|
+
text-decoration: ${(p) => p.$included ? "none" : "line-through"};
|
|
120
|
+
`;
|
|
101
121
|
const FeatureList = styled(Box)`
|
|
102
122
|
margin-bottom: 24px;
|
|
103
123
|
`;
|
|
@@ -117,10 +137,10 @@ const FeatureIcon = styled(Box)`
|
|
|
117
137
|
margin-top: 2px;
|
|
118
138
|
|
|
119
139
|
${(props) => props.$included ? `
|
|
120
|
-
background:
|
|
140
|
+
background: rgba(34, 197, 94, 0.15);
|
|
121
141
|
svg { color: #16A34A; }
|
|
122
142
|
` : `
|
|
123
|
-
background:
|
|
143
|
+
background: rgba(220, 38, 38, 0.12);
|
|
124
144
|
svg { color: #DC2626; }
|
|
125
145
|
`}
|
|
126
146
|
`;
|
|
@@ -144,8 +164,8 @@ const CurrentPlanBadge = styled(Badge)`
|
|
|
144
164
|
display: flex;
|
|
145
165
|
align-items: center;
|
|
146
166
|
justify-content: center;
|
|
147
|
-
background:
|
|
148
|
-
color:
|
|
167
|
+
background: ${(p) => p.theme.colors.neutral100};
|
|
168
|
+
color: ${(p) => p.theme.colors.neutral600};
|
|
149
169
|
font-weight: 600;
|
|
150
170
|
font-size: 15px;
|
|
151
171
|
`;
|
|
@@ -315,26 +335,21 @@ const LicensePage = () => {
|
|
|
315
335
|
/* @__PURE__ */ jsx(TierName, { variant: "beta", children: tier.name }),
|
|
316
336
|
/* @__PURE__ */ jsxs(Flex, { alignItems: "baseline", gap: 1, children: [
|
|
317
337
|
/* @__PURE__ */ jsx(TierPrice, { variant: "alpha", children: tier.price }),
|
|
318
|
-
/* @__PURE__ */ jsx(
|
|
338
|
+
/* @__PURE__ */ jsx(PeriodText, { variant: "omega", children: tier.period })
|
|
319
339
|
] }),
|
|
320
340
|
/* @__PURE__ */ jsx(TierDescription, { variant: "omega", children: tier.description }),
|
|
321
|
-
/* @__PURE__ */ jsx(
|
|
322
|
-
|
|
323
|
-
borderRadius: "8px",
|
|
324
|
-
padding: "12px",
|
|
325
|
-
marginBottom: "20px"
|
|
326
|
-
}, children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 2, children: [
|
|
327
|
-
/* @__PURE__ */ jsxs(Typography, { variant: "pi", style: { fontSize: "13px" }, children: [
|
|
341
|
+
/* @__PURE__ */ jsx(LimitsBox, { children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 2, children: [
|
|
342
|
+
/* @__PURE__ */ jsxs(LimitText, { variant: "pi", children: [
|
|
328
343
|
/* @__PURE__ */ jsx("strong", { children: "Authentication:" }),
|
|
329
344
|
" ",
|
|
330
345
|
tier.limits.authentication
|
|
331
346
|
] }),
|
|
332
|
-
/* @__PURE__ */ jsxs(
|
|
347
|
+
/* @__PURE__ */ jsxs(LimitText, { variant: "pi", children: [
|
|
333
348
|
/* @__PURE__ */ jsx("strong", { children: "MFA:" }),
|
|
334
349
|
" ",
|
|
335
350
|
tier.limits.mfa
|
|
336
351
|
] }),
|
|
337
|
-
/* @__PURE__ */ jsxs(
|
|
352
|
+
/* @__PURE__ */ jsxs(LimitText, { variant: "pi", children: [
|
|
338
353
|
/* @__PURE__ */ jsx("strong", { children: "Support:" }),
|
|
339
354
|
" ",
|
|
340
355
|
tier.limits.support
|
|
@@ -342,18 +357,7 @@ const LicensePage = () => {
|
|
|
342
357
|
] }) }),
|
|
343
358
|
/* @__PURE__ */ jsx(FeatureList, { children: tier.features.map((feature, index) => /* @__PURE__ */ jsxs(Feature, { children: [
|
|
344
359
|
/* @__PURE__ */ jsx(FeatureIcon, { $included: feature.included, children: feature.included ? /* @__PURE__ */ jsx(Check, { style: { width: 14, height: 14 } }) : /* @__PURE__ */ jsx(Cross, { style: { width: 14, height: 14 } }) }),
|
|
345
|
-
/* @__PURE__ */ jsx(
|
|
346
|
-
Typography,
|
|
347
|
-
{
|
|
348
|
-
variant: "omega",
|
|
349
|
-
style: {
|
|
350
|
-
fontSize: "14px",
|
|
351
|
-
color: feature.included ? "#374151" : "#9CA3AF",
|
|
352
|
-
textDecoration: feature.included ? "none" : "line-through"
|
|
353
|
-
},
|
|
354
|
-
children: feature.name
|
|
355
|
-
}
|
|
356
|
-
)
|
|
360
|
+
/* @__PURE__ */ jsx(FeatureText, { variant: "omega", $included: feature.included, children: feature.name })
|
|
357
361
|
] }, index)) }),
|
|
358
362
|
currentTier === tier.id ? /* @__PURE__ */ jsx(CurrentPlanBadge, { children: "Current Plan" }) : /* @__PURE__ */ jsx(
|
|
359
363
|
UpgradeButton,
|