strapi-plugin-magic-mail 2.6.3 → 2.6.5
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/{App-DvwmedNr.mjs → App-CaT5U0uM.mjs} +47 -56
- package/dist/_chunks/{App-Cp6QQAHt.js → App-DGGqHEPC.js} +47 -56
- package/dist/_chunks/{LicensePage-DTrGRpi7.mjs → LicensePage-B61HnhyD.mjs} +37 -33
- package/dist/_chunks/{LicensePage-C38rs_Wj.js → LicensePage-sB-xDRL9.js} +37 -33
- package/dist/admin/index.js +5 -3
- package/dist/admin/index.mjs +5 -3
- package/dist/server/index.js +7036 -6753
- package/dist/server/index.mjs +7036 -6753
- package/package.json +4 -8
|
@@ -4013,7 +4013,7 @@ const CopyButton = styled(Button)`
|
|
|
4013
4013
|
height: 14px;
|
|
4014
4014
|
}
|
|
4015
4015
|
`;
|
|
4016
|
-
const InfoBox$
|
|
4016
|
+
const InfoBox$2 = styled(Box)`
|
|
4017
4017
|
background: linear-gradient(135deg, ${"rgba(2, 132, 199, 0.06)"}, ${"rgba(2, 132, 199, 0.12)"});
|
|
4018
4018
|
border-left: 4px solid ${"var(--colors-primary600, #0EA5E9)"};
|
|
4019
4019
|
border-radius: 8px;
|
|
@@ -5329,7 +5329,7 @@ const TemplateList = () => {
|
|
|
5329
5329
|
selectedTemplate.name
|
|
5330
5330
|
] }) }),
|
|
5331
5331
|
/* @__PURE__ */ jsxs(ScrollableDialogBody, { children: [
|
|
5332
|
-
/* @__PURE__ */ jsx(InfoBox$
|
|
5332
|
+
/* @__PURE__ */ jsx(InfoBox$2, { style: { marginTop: 0, marginBottom: "20px" }, children: /* @__PURE__ */ jsxs(Flex, { alignItems: "center", justifyContent: "space-between", children: [
|
|
5333
5333
|
/* @__PURE__ */ jsxs(Typography, { variant: "pi", style: { color: "var(--colors-primary600, #075985)" }, children: [
|
|
5334
5334
|
/* @__PURE__ */ jsx("strong", { children: "Template ID:" }),
|
|
5335
5335
|
" #",
|
|
@@ -7526,7 +7526,7 @@ const ConnectedCard = styled(Box)`
|
|
|
7526
7526
|
padding: 32px;
|
|
7527
7527
|
text-align: center;
|
|
7528
7528
|
`;
|
|
7529
|
-
const InfoBox = styled(Box)`
|
|
7529
|
+
const InfoBox$1 = styled(Box)`
|
|
7530
7530
|
background: linear-gradient(135deg, rgba(2, 132, 199, 0.06) 0%, ${colors.whatsappLight} 100%);
|
|
7531
7531
|
border: 1px solid rgba(2, 132, 199, 0.2);
|
|
7532
7532
|
border-radius: 12px;
|
|
@@ -7642,7 +7642,7 @@ const AlertIcon = styled.div`
|
|
|
7642
7642
|
font-weight: bold;
|
|
7643
7643
|
flex-shrink: 0;
|
|
7644
7644
|
`;
|
|
7645
|
-
const SuccessBox = styled(Box)`
|
|
7645
|
+
const SuccessBox$1 = styled(Box)`
|
|
7646
7646
|
background: rgba(22, 163, 74, 0.06);
|
|
7647
7647
|
border: 1px solid rgba(22, 163, 74, 0.2);
|
|
7648
7648
|
border-radius: 12px;
|
|
@@ -7903,7 +7903,7 @@ const WhatsAppPage = () => {
|
|
|
7903
7903
|
currentStep === 1 && /* @__PURE__ */ jsxs(ContentCard, { children: [
|
|
7904
7904
|
/* @__PURE__ */ jsx(Typography, { variant: "beta", fontWeight: "bold", style: { display: "block", marginBottom: "8px" }, children: "Check Installation" }),
|
|
7905
7905
|
/* @__PURE__ */ jsx(Typography, { variant: "omega", textColor: "neutral600", style: { display: "block", marginBottom: "24px" }, children: "First, we need to verify that the required dependencies are installed." }),
|
|
7906
|
-
isAvailable ? /* @__PURE__ */ jsxs(SuccessBox, { children: [
|
|
7906
|
+
isAvailable ? /* @__PURE__ */ jsxs(SuccessBox$1, { children: [
|
|
7907
7907
|
/* @__PURE__ */ jsx(SuccessIcon, { children: /* @__PURE__ */ jsx(Check, { style: { width: 14, height: 14 } }) }),
|
|
7908
7908
|
/* @__PURE__ */ jsxs(Box, { children: [
|
|
7909
7909
|
/* @__PURE__ */ jsx(Typography, { variant: "omega", fontWeight: "semiBold", style: { display: "block", marginBottom: "4px", color: "var(--colors-success600, #15803D)" }, children: "Dependencies Installed" }),
|
|
@@ -7954,7 +7954,7 @@ const WhatsAppPage = () => {
|
|
|
7954
7954
|
currentStep === 2 && /* @__PURE__ */ jsxs(ContentCard, { children: [
|
|
7955
7955
|
/* @__PURE__ */ jsx(Typography, { variant: "beta", fontWeight: "bold", style: { display: "block", marginBottom: "8px" }, children: "Connect Your WhatsApp" }),
|
|
7956
7956
|
/* @__PURE__ */ jsx(Typography, { variant: "omega", textColor: "neutral600", style: { display: "block", marginBottom: "24px" }, children: "Click the button below to start the connection process. A QR code will be generated for you to scan." }),
|
|
7957
|
-
/* @__PURE__ */ jsxs(InfoBox, { children: [
|
|
7957
|
+
/* @__PURE__ */ jsxs(InfoBox$1, { children: [
|
|
7958
7958
|
/* @__PURE__ */ jsx(Typography, { variant: "delta", fontWeight: "bold", style: { display: "block", marginBottom: "16px", color: "var(--colors-primary600, #075985)" }, children: "How it works" }),
|
|
7959
7959
|
/* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 3, children: [
|
|
7960
7960
|
/* @__PURE__ */ jsx(Typography, { variant: "omega", textColor: "neutral700", children: '1. Click "Connect WhatsApp" to generate a QR code' }),
|
|
@@ -8000,7 +8000,7 @@ const WhatsAppPage = () => {
|
|
|
8000
8000
|
/* @__PURE__ */ jsx(SpinningLoader, { style: { width: "40px", height: "40px" } }),
|
|
8001
8001
|
/* @__PURE__ */ jsx(Typography, { variant: "omega", children: "Generating QR code..." })
|
|
8002
8002
|
] }) }),
|
|
8003
|
-
/* @__PURE__ */ jsxs(InfoBox, { children: [
|
|
8003
|
+
/* @__PURE__ */ jsxs(InfoBox$1, { children: [
|
|
8004
8004
|
/* @__PURE__ */ jsx(Typography, { variant: "delta", fontWeight: "bold", style: { display: "block", marginBottom: "16px", color: "var(--colors-primary600, #075985)" }, children: "Instructions" }),
|
|
8005
8005
|
/* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 2, children: [
|
|
8006
8006
|
/* @__PURE__ */ jsx(Typography, { variant: "omega", textColor: "neutral700", children: "1. Open WhatsApp on your phone" }),
|
|
@@ -8167,7 +8167,7 @@ const ModalContent = styled(Box)`
|
|
|
8167
8167
|
overflow: hidden;
|
|
8168
8168
|
`;
|
|
8169
8169
|
const GradientHeader = styled(Box)`
|
|
8170
|
-
background: linear-gradient(135deg,
|
|
8170
|
+
background: linear-gradient(135deg, #4945ff 0%, #7c3aed 100%);
|
|
8171
8171
|
padding: 32px 40px;
|
|
8172
8172
|
position: relative;
|
|
8173
8173
|
overflow: hidden;
|
|
@@ -8233,17 +8233,17 @@ const CloseButton = styled.button`
|
|
|
8233
8233
|
`;
|
|
8234
8234
|
const GradientButton = styled(Button)`
|
|
8235
8235
|
&& {
|
|
8236
|
-
background: linear-gradient(135deg,
|
|
8236
|
+
background: linear-gradient(135deg, #4945ff 0%, #7c3aed 100%);
|
|
8237
8237
|
color: white;
|
|
8238
8238
|
font-weight: 600;
|
|
8239
8239
|
border: none;
|
|
8240
|
-
box-shadow: 0 4px 12px rgba(
|
|
8240
|
+
box-shadow: 0 4px 12px rgba(73, 69, 255, 0.4);
|
|
8241
8241
|
padding: 12px 24px;
|
|
8242
8242
|
min-height: 44px;
|
|
8243
8243
|
|
|
8244
8244
|
&:hover:not(:disabled) {
|
|
8245
|
-
background: linear-gradient(135deg,
|
|
8246
|
-
box-shadow: 0 6px 16px rgba(
|
|
8245
|
+
background: linear-gradient(135deg, #4338ca 0%, #6d28d9 100%);
|
|
8246
|
+
box-shadow: 0 6px 16px rgba(73, 69, 255, 0.5);
|
|
8247
8247
|
}
|
|
8248
8248
|
|
|
8249
8249
|
&:disabled {
|
|
@@ -8254,22 +8254,22 @@ const GradientButton = styled(Button)`
|
|
|
8254
8254
|
`;
|
|
8255
8255
|
styled(Button)`
|
|
8256
8256
|
&& {
|
|
8257
|
-
background: rgba(
|
|
8258
|
-
color:
|
|
8257
|
+
background: rgba(73, 69, 255, 0.06);
|
|
8258
|
+
color: #4945ff;
|
|
8259
8259
|
font-weight: 600;
|
|
8260
|
-
border: 2px solid
|
|
8260
|
+
border: 2px solid #4945ff;
|
|
8261
8261
|
padding: 12px 24px;
|
|
8262
8262
|
min-height: 44px;
|
|
8263
8263
|
|
|
8264
8264
|
&:hover:not(:disabled) {
|
|
8265
|
-
background: rgba(
|
|
8265
|
+
background: rgba(73, 69, 255, 0.12);
|
|
8266
8266
|
}
|
|
8267
8267
|
}
|
|
8268
8268
|
`;
|
|
8269
8269
|
const ToggleButton = styled.button`
|
|
8270
8270
|
background: none;
|
|
8271
8271
|
border: none;
|
|
8272
|
-
color:
|
|
8272
|
+
color: #4945ff;
|
|
8273
8273
|
font-size: 13px;
|
|
8274
8274
|
font-weight: 600;
|
|
8275
8275
|
cursor: pointer;
|
|
@@ -8278,7 +8278,7 @@ const ToggleButton = styled.button`
|
|
|
8278
8278
|
transition: color 0.2s;
|
|
8279
8279
|
|
|
8280
8280
|
&:hover {
|
|
8281
|
-
color:
|
|
8281
|
+
color: #7c3aed;
|
|
8282
8282
|
}
|
|
8283
8283
|
|
|
8284
8284
|
&:disabled {
|
|
@@ -8286,6 +8286,25 @@ const ToggleButton = styled.button`
|
|
|
8286
8286
|
cursor: not-allowed;
|
|
8287
8287
|
}
|
|
8288
8288
|
`;
|
|
8289
|
+
const InfoBox = styled(Box)`
|
|
8290
|
+
background: rgba(73, 69, 255, 0.06);
|
|
8291
|
+
border: 2px solid rgba(73, 69, 255, 0.3);
|
|
8292
|
+
border-radius: 8px;
|
|
8293
|
+
padding: 16px;
|
|
8294
|
+
width: 100%;
|
|
8295
|
+
`;
|
|
8296
|
+
const SuccessBox = styled(Box)`
|
|
8297
|
+
background: rgba(34, 197, 94, 0.06);
|
|
8298
|
+
border: 2px solid rgba(34, 197, 94, 0.3);
|
|
8299
|
+
border-radius: 8px;
|
|
8300
|
+
padding: 20px;
|
|
8301
|
+
text-align: center;
|
|
8302
|
+
`;
|
|
8303
|
+
const InfoText = styled(Typography)`
|
|
8304
|
+
font-size: 13px;
|
|
8305
|
+
line-height: 1.6;
|
|
8306
|
+
color: ${(p) => p.theme.colors.neutral800};
|
|
8307
|
+
`;
|
|
8289
8308
|
const LicenseGuard = ({ children }) => {
|
|
8290
8309
|
const { get, post } = useFetchClient();
|
|
8291
8310
|
const { toggleNotification } = useNotification();
|
|
@@ -8442,19 +8461,7 @@ const LicenseGuard = ({ children }) => {
|
|
|
8442
8461
|
children: useExistingKey ? "← Create new license" : "Have a license key? →"
|
|
8443
8462
|
}
|
|
8444
8463
|
) }),
|
|
8445
|
-
/* @__PURE__ */ jsx(
|
|
8446
|
-
Box,
|
|
8447
|
-
{
|
|
8448
|
-
background: "primary100",
|
|
8449
|
-
padding: 4,
|
|
8450
|
-
style: {
|
|
8451
|
-
borderRadius: "8px",
|
|
8452
|
-
border: "2px solid rgba(14, 165, 233, 0.3)",
|
|
8453
|
-
width: "100%"
|
|
8454
|
-
},
|
|
8455
|
-
children: /* @__PURE__ */ jsx(Typography, { variant: "omega", style: { fontSize: "13px", lineHeight: "1.6" }, children: useExistingKey ? "🔑 Enter your email and license key to activate." : adminUser && adminUser.email ? `✨ Click "Activate" to auto-create a license with your account (${adminUser.email})` : '✨ Click "Activate" to auto-create a license with your admin account' })
|
|
8456
|
-
}
|
|
8457
|
-
),
|
|
8464
|
+
/* @__PURE__ */ jsx(InfoBox, { children: /* @__PURE__ */ jsx(InfoText, { variant: "omega", children: useExistingKey ? "Enter your email and license key to activate." : adminUser && adminUser.email ? `Click "Activate" to auto-create a license with your account (${adminUser.email})` : 'Click "Activate" to auto-create a license with your admin account' }) }),
|
|
8458
8465
|
useExistingKey ? (
|
|
8459
8466
|
// Existing License Key Input
|
|
8460
8467
|
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -8506,31 +8513,15 @@ const LicenseGuard = ({ children }) => {
|
|
|
8506
8513
|
] })
|
|
8507
8514
|
) : adminUser ? (
|
|
8508
8515
|
// Auto-create mode - Show user info
|
|
8509
|
-
/* @__PURE__ */ jsxs(
|
|
8510
|
-
|
|
8511
|
-
{
|
|
8512
|
-
|
|
8513
|
-
|
|
8514
|
-
|
|
8515
|
-
|
|
8516
|
-
|
|
8517
|
-
|
|
8518
|
-
},
|
|
8519
|
-
children: [
|
|
8520
|
-
/* @__PURE__ */ jsx(Typography, { variant: "omega", fontWeight: "bold", style: { marginBottom: "12px", display: "block" }, children: "Ready to activate with your account:" }),
|
|
8521
|
-
/* @__PURE__ */ jsxs(Typography, { variant: "pi", style: { marginBottom: "4px", display: "block" }, children: [
|
|
8522
|
-
"👤 ",
|
|
8523
|
-
adminUser.firstname || "Admin",
|
|
8524
|
-
" ",
|
|
8525
|
-
adminUser.lastname || "User"
|
|
8526
|
-
] }),
|
|
8527
|
-
/* @__PURE__ */ jsxs(Typography, { variant: "pi", textColor: "neutral600", children: [
|
|
8528
|
-
"📧 ",
|
|
8529
|
-
adminUser.email || "Loading..."
|
|
8530
|
-
] })
|
|
8531
|
-
]
|
|
8532
|
-
}
|
|
8533
|
-
)
|
|
8516
|
+
/* @__PURE__ */ jsxs(SuccessBox, { children: [
|
|
8517
|
+
/* @__PURE__ */ jsx(Typography, { variant: "omega", fontWeight: "bold", style: { marginBottom: "12px", display: "block" }, children: "Ready to activate with your account:" }),
|
|
8518
|
+
/* @__PURE__ */ jsxs(Typography, { variant: "pi", style: { marginBottom: "4px", display: "block" }, children: [
|
|
8519
|
+
adminUser.firstname || "Admin",
|
|
8520
|
+
" ",
|
|
8521
|
+
adminUser.lastname || "User"
|
|
8522
|
+
] }),
|
|
8523
|
+
/* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "neutral600", children: adminUser.email || "Loading..." })
|
|
8524
|
+
] })
|
|
8534
8525
|
) : /* @__PURE__ */ jsxs(Box, { padding: 4, background: "neutral100", hasRadius: true, style: { textAlign: "center" }, children: [
|
|
8535
8526
|
/* @__PURE__ */ jsx(Loader, { small: true }),
|
|
8536
8527
|
/* @__PURE__ */ jsx(Typography, { variant: "pi", marginTop: 2, children: "Loading admin user data..." })
|
|
@@ -4036,7 +4036,7 @@ const CopyButton = styled__default.default(designSystem.Button)`
|
|
|
4036
4036
|
height: 14px;
|
|
4037
4037
|
}
|
|
4038
4038
|
`;
|
|
4039
|
-
const InfoBox$
|
|
4039
|
+
const InfoBox$2 = styled__default.default(designSystem.Box)`
|
|
4040
4040
|
background: linear-gradient(135deg, ${"rgba(2, 132, 199, 0.06)"}, ${"rgba(2, 132, 199, 0.12)"});
|
|
4041
4041
|
border-left: 4px solid ${"var(--colors-primary600, #0EA5E9)"};
|
|
4042
4042
|
border-radius: 8px;
|
|
@@ -5352,7 +5352,7 @@ const TemplateList = () => {
|
|
|
5352
5352
|
selectedTemplate.name
|
|
5353
5353
|
] }) }),
|
|
5354
5354
|
/* @__PURE__ */ jsxRuntime.jsxs(ScrollableDialogBody, { children: [
|
|
5355
|
-
/* @__PURE__ */ jsxRuntime.jsx(InfoBox$
|
|
5355
|
+
/* @__PURE__ */ jsxRuntime.jsx(InfoBox$2, { style: { marginTop: 0, marginBottom: "20px" }, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "center", justifyContent: "space-between", children: [
|
|
5356
5356
|
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Typography, { variant: "pi", style: { color: "var(--colors-primary600, #075985)" }, children: [
|
|
5357
5357
|
/* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Template ID:" }),
|
|
5358
5358
|
" #",
|
|
@@ -7549,7 +7549,7 @@ const ConnectedCard = styled__default.default(designSystem.Box)`
|
|
|
7549
7549
|
padding: 32px;
|
|
7550
7550
|
text-align: center;
|
|
7551
7551
|
`;
|
|
7552
|
-
const InfoBox = styled__default.default(designSystem.Box)`
|
|
7552
|
+
const InfoBox$1 = styled__default.default(designSystem.Box)`
|
|
7553
7553
|
background: linear-gradient(135deg, rgba(2, 132, 199, 0.06) 0%, ${colors.whatsappLight} 100%);
|
|
7554
7554
|
border: 1px solid rgba(2, 132, 199, 0.2);
|
|
7555
7555
|
border-radius: 12px;
|
|
@@ -7665,7 +7665,7 @@ const AlertIcon = styled__default.default.div`
|
|
|
7665
7665
|
font-weight: bold;
|
|
7666
7666
|
flex-shrink: 0;
|
|
7667
7667
|
`;
|
|
7668
|
-
const SuccessBox = styled__default.default(designSystem.Box)`
|
|
7668
|
+
const SuccessBox$1 = styled__default.default(designSystem.Box)`
|
|
7669
7669
|
background: rgba(22, 163, 74, 0.06);
|
|
7670
7670
|
border: 1px solid rgba(22, 163, 74, 0.2);
|
|
7671
7671
|
border-radius: 12px;
|
|
@@ -7926,7 +7926,7 @@ const WhatsAppPage = () => {
|
|
|
7926
7926
|
currentStep === 1 && /* @__PURE__ */ jsxRuntime.jsxs(ContentCard, { children: [
|
|
7927
7927
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "beta", fontWeight: "bold", style: { display: "block", marginBottom: "8px" }, children: "Check Installation" }),
|
|
7928
7928
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "omega", textColor: "neutral600", style: { display: "block", marginBottom: "24px" }, children: "First, we need to verify that the required dependencies are installed." }),
|
|
7929
|
-
isAvailable ? /* @__PURE__ */ jsxRuntime.jsxs(SuccessBox, { children: [
|
|
7929
|
+
isAvailable ? /* @__PURE__ */ jsxRuntime.jsxs(SuccessBox$1, { children: [
|
|
7930
7930
|
/* @__PURE__ */ jsxRuntime.jsx(SuccessIcon, { children: /* @__PURE__ */ jsxRuntime.jsx(icons.Check, { style: { width: 14, height: 14 } }) }),
|
|
7931
7931
|
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { children: [
|
|
7932
7932
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "omega", fontWeight: "semiBold", style: { display: "block", marginBottom: "4px", color: "var(--colors-success600, #15803D)" }, children: "Dependencies Installed" }),
|
|
@@ -7977,7 +7977,7 @@ const WhatsAppPage = () => {
|
|
|
7977
7977
|
currentStep === 2 && /* @__PURE__ */ jsxRuntime.jsxs(ContentCard, { children: [
|
|
7978
7978
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "beta", fontWeight: "bold", style: { display: "block", marginBottom: "8px" }, children: "Connect Your WhatsApp" }),
|
|
7979
7979
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "omega", textColor: "neutral600", style: { display: "block", marginBottom: "24px" }, children: "Click the button below to start the connection process. A QR code will be generated for you to scan." }),
|
|
7980
|
-
/* @__PURE__ */ jsxRuntime.jsxs(InfoBox, { children: [
|
|
7980
|
+
/* @__PURE__ */ jsxRuntime.jsxs(InfoBox$1, { children: [
|
|
7981
7981
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "delta", fontWeight: "bold", style: { display: "block", marginBottom: "16px", color: "var(--colors-primary600, #075985)" }, children: "How it works" }),
|
|
7982
7982
|
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 3, children: [
|
|
7983
7983
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "omega", textColor: "neutral700", children: '1. Click "Connect WhatsApp" to generate a QR code' }),
|
|
@@ -8023,7 +8023,7 @@ const WhatsAppPage = () => {
|
|
|
8023
8023
|
/* @__PURE__ */ jsxRuntime.jsx(SpinningLoader, { style: { width: "40px", height: "40px" } }),
|
|
8024
8024
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "omega", children: "Generating QR code..." })
|
|
8025
8025
|
] }) }),
|
|
8026
|
-
/* @__PURE__ */ jsxRuntime.jsxs(InfoBox, { children: [
|
|
8026
|
+
/* @__PURE__ */ jsxRuntime.jsxs(InfoBox$1, { children: [
|
|
8027
8027
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "delta", fontWeight: "bold", style: { display: "block", marginBottom: "16px", color: "var(--colors-primary600, #075985)" }, children: "Instructions" }),
|
|
8028
8028
|
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, children: [
|
|
8029
8029
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "omega", textColor: "neutral700", children: "1. Open WhatsApp on your phone" }),
|
|
@@ -8190,7 +8190,7 @@ const ModalContent = styled__default.default(designSystem.Box)`
|
|
|
8190
8190
|
overflow: hidden;
|
|
8191
8191
|
`;
|
|
8192
8192
|
const GradientHeader = styled__default.default(designSystem.Box)`
|
|
8193
|
-
background: linear-gradient(135deg,
|
|
8193
|
+
background: linear-gradient(135deg, #4945ff 0%, #7c3aed 100%);
|
|
8194
8194
|
padding: 32px 40px;
|
|
8195
8195
|
position: relative;
|
|
8196
8196
|
overflow: hidden;
|
|
@@ -8256,17 +8256,17 @@ const CloseButton = styled__default.default.button`
|
|
|
8256
8256
|
`;
|
|
8257
8257
|
const GradientButton = styled__default.default(designSystem.Button)`
|
|
8258
8258
|
&& {
|
|
8259
|
-
background: linear-gradient(135deg,
|
|
8259
|
+
background: linear-gradient(135deg, #4945ff 0%, #7c3aed 100%);
|
|
8260
8260
|
color: white;
|
|
8261
8261
|
font-weight: 600;
|
|
8262
8262
|
border: none;
|
|
8263
|
-
box-shadow: 0 4px 12px rgba(
|
|
8263
|
+
box-shadow: 0 4px 12px rgba(73, 69, 255, 0.4);
|
|
8264
8264
|
padding: 12px 24px;
|
|
8265
8265
|
min-height: 44px;
|
|
8266
8266
|
|
|
8267
8267
|
&:hover:not(:disabled) {
|
|
8268
|
-
background: linear-gradient(135deg,
|
|
8269
|
-
box-shadow: 0 6px 16px rgba(
|
|
8268
|
+
background: linear-gradient(135deg, #4338ca 0%, #6d28d9 100%);
|
|
8269
|
+
box-shadow: 0 6px 16px rgba(73, 69, 255, 0.5);
|
|
8270
8270
|
}
|
|
8271
8271
|
|
|
8272
8272
|
&:disabled {
|
|
@@ -8277,22 +8277,22 @@ const GradientButton = styled__default.default(designSystem.Button)`
|
|
|
8277
8277
|
`;
|
|
8278
8278
|
styled__default.default(designSystem.Button)`
|
|
8279
8279
|
&& {
|
|
8280
|
-
background: rgba(
|
|
8281
|
-
color:
|
|
8280
|
+
background: rgba(73, 69, 255, 0.06);
|
|
8281
|
+
color: #4945ff;
|
|
8282
8282
|
font-weight: 600;
|
|
8283
|
-
border: 2px solid
|
|
8283
|
+
border: 2px solid #4945ff;
|
|
8284
8284
|
padding: 12px 24px;
|
|
8285
8285
|
min-height: 44px;
|
|
8286
8286
|
|
|
8287
8287
|
&:hover:not(:disabled) {
|
|
8288
|
-
background: rgba(
|
|
8288
|
+
background: rgba(73, 69, 255, 0.12);
|
|
8289
8289
|
}
|
|
8290
8290
|
}
|
|
8291
8291
|
`;
|
|
8292
8292
|
const ToggleButton = styled__default.default.button`
|
|
8293
8293
|
background: none;
|
|
8294
8294
|
border: none;
|
|
8295
|
-
color:
|
|
8295
|
+
color: #4945ff;
|
|
8296
8296
|
font-size: 13px;
|
|
8297
8297
|
font-weight: 600;
|
|
8298
8298
|
cursor: pointer;
|
|
@@ -8301,7 +8301,7 @@ const ToggleButton = styled__default.default.button`
|
|
|
8301
8301
|
transition: color 0.2s;
|
|
8302
8302
|
|
|
8303
8303
|
&:hover {
|
|
8304
|
-
color:
|
|
8304
|
+
color: #7c3aed;
|
|
8305
8305
|
}
|
|
8306
8306
|
|
|
8307
8307
|
&:disabled {
|
|
@@ -8309,6 +8309,25 @@ const ToggleButton = styled__default.default.button`
|
|
|
8309
8309
|
cursor: not-allowed;
|
|
8310
8310
|
}
|
|
8311
8311
|
`;
|
|
8312
|
+
const InfoBox = styled__default.default(designSystem.Box)`
|
|
8313
|
+
background: rgba(73, 69, 255, 0.06);
|
|
8314
|
+
border: 2px solid rgba(73, 69, 255, 0.3);
|
|
8315
|
+
border-radius: 8px;
|
|
8316
|
+
padding: 16px;
|
|
8317
|
+
width: 100%;
|
|
8318
|
+
`;
|
|
8319
|
+
const SuccessBox = styled__default.default(designSystem.Box)`
|
|
8320
|
+
background: rgba(34, 197, 94, 0.06);
|
|
8321
|
+
border: 2px solid rgba(34, 197, 94, 0.3);
|
|
8322
|
+
border-radius: 8px;
|
|
8323
|
+
padding: 20px;
|
|
8324
|
+
text-align: center;
|
|
8325
|
+
`;
|
|
8326
|
+
const InfoText = styled__default.default(designSystem.Typography)`
|
|
8327
|
+
font-size: 13px;
|
|
8328
|
+
line-height: 1.6;
|
|
8329
|
+
color: ${(p) => p.theme.colors.neutral800};
|
|
8330
|
+
`;
|
|
8312
8331
|
const LicenseGuard = ({ children }) => {
|
|
8313
8332
|
const { get, post } = admin.useFetchClient();
|
|
8314
8333
|
const { toggleNotification } = admin.useNotification();
|
|
@@ -8465,19 +8484,7 @@ const LicenseGuard = ({ children }) => {
|
|
|
8465
8484
|
children: useExistingKey ? "← Create new license" : "Have a license key? →"
|
|
8466
8485
|
}
|
|
8467
8486
|
) }),
|
|
8468
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8469
|
-
designSystem.Box,
|
|
8470
|
-
{
|
|
8471
|
-
background: "primary100",
|
|
8472
|
-
padding: 4,
|
|
8473
|
-
style: {
|
|
8474
|
-
borderRadius: "8px",
|
|
8475
|
-
border: "2px solid rgba(14, 165, 233, 0.3)",
|
|
8476
|
-
width: "100%"
|
|
8477
|
-
},
|
|
8478
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "omega", style: { fontSize: "13px", lineHeight: "1.6" }, children: useExistingKey ? "🔑 Enter your email and license key to activate." : adminUser && adminUser.email ? `✨ Click "Activate" to auto-create a license with your account (${adminUser.email})` : '✨ Click "Activate" to auto-create a license with your admin account' })
|
|
8479
|
-
}
|
|
8480
|
-
),
|
|
8487
|
+
/* @__PURE__ */ jsxRuntime.jsx(InfoBox, { children: /* @__PURE__ */ jsxRuntime.jsx(InfoText, { variant: "omega", children: useExistingKey ? "Enter your email and license key to activate." : adminUser && adminUser.email ? `Click "Activate" to auto-create a license with your account (${adminUser.email})` : 'Click "Activate" to auto-create a license with your admin account' }) }),
|
|
8481
8488
|
useExistingKey ? (
|
|
8482
8489
|
// Existing License Key Input
|
|
8483
8490
|
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -8529,31 +8536,15 @@ const LicenseGuard = ({ children }) => {
|
|
|
8529
8536
|
] })
|
|
8530
8537
|
) : adminUser ? (
|
|
8531
8538
|
// Auto-create mode - Show user info
|
|
8532
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
8533
|
-
designSystem.
|
|
8534
|
-
{
|
|
8535
|
-
|
|
8536
|
-
|
|
8537
|
-
|
|
8538
|
-
|
|
8539
|
-
|
|
8540
|
-
|
|
8541
|
-
},
|
|
8542
|
-
children: [
|
|
8543
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "omega", fontWeight: "bold", style: { marginBottom: "12px", display: "block" }, children: "Ready to activate with your account:" }),
|
|
8544
|
-
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Typography, { variant: "pi", style: { marginBottom: "4px", display: "block" }, children: [
|
|
8545
|
-
"👤 ",
|
|
8546
|
-
adminUser.firstname || "Admin",
|
|
8547
|
-
" ",
|
|
8548
|
-
adminUser.lastname || "User"
|
|
8549
|
-
] }),
|
|
8550
|
-
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Typography, { variant: "pi", textColor: "neutral600", children: [
|
|
8551
|
-
"📧 ",
|
|
8552
|
-
adminUser.email || "Loading..."
|
|
8553
|
-
] })
|
|
8554
|
-
]
|
|
8555
|
-
}
|
|
8556
|
-
)
|
|
8539
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SuccessBox, { children: [
|
|
8540
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "omega", fontWeight: "bold", style: { marginBottom: "12px", display: "block" }, children: "Ready to activate with your account:" }),
|
|
8541
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Typography, { variant: "pi", style: { marginBottom: "4px", display: "block" }, children: [
|
|
8542
|
+
adminUser.firstname || "Admin",
|
|
8543
|
+
" ",
|
|
8544
|
+
adminUser.lastname || "User"
|
|
8545
|
+
] }),
|
|
8546
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "pi", textColor: "neutral600", children: adminUser.email || "Loading..." })
|
|
8547
|
+
] })
|
|
8557
8548
|
) : /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { padding: 4, background: "neutral100", hasRadius: true, style: { textAlign: "center" }, children: [
|
|
8558
8549
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Loader, { small: true }),
|
|
8559
8550
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "pi", marginTop: 2, children: "Loading admin user data..." })
|
|
@@ -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
|
`;
|
|
@@ -50,24 +50,24 @@ const TierCard = styled(Box)`
|
|
|
50
50
|
background: ${(p) => p.theme.colors.neutral0};
|
|
51
51
|
border-radius: 16px;
|
|
52
52
|
padding: 32px;
|
|
53
|
-
border: 2px solid ${(props) => props.$featured ? "
|
|
53
|
+
border: 2px solid ${(props) => props.$featured ? "#4945ff" : props.theme.colors.neutral200};
|
|
54
54
|
position: relative;
|
|
55
55
|
transition: all 0.3s ease;
|
|
56
|
-
box-shadow: ${(props) => props.$featured ? "0 20px 25px -5px rgba(
|
|
56
|
+
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)"};
|
|
57
57
|
display: flex;
|
|
58
58
|
flex-direction: column;
|
|
59
59
|
width: 100%;
|
|
60
60
|
|
|
61
61
|
&:hover {
|
|
62
62
|
transform: translateY(-4px);
|
|
63
|
-
box-shadow: 0 20px 25px -5px rgba(
|
|
63
|
+
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
|
|
64
64
|
}
|
|
65
65
|
`;
|
|
66
66
|
const PopularBadge = styled(Badge)`
|
|
67
67
|
position: absolute;
|
|
68
68
|
top: -12px;
|
|
69
69
|
right: 24px;
|
|
70
|
-
background: linear-gradient(135deg,
|
|
70
|
+
background: linear-gradient(135deg, #4945ff, #4338ca);
|
|
71
71
|
color: white;
|
|
72
72
|
padding: 4px 16px;
|
|
73
73
|
font-size: 12px;
|
|
@@ -93,16 +93,36 @@ const TierName = styled(Typography)`
|
|
|
93
93
|
font-size: 1.5rem;
|
|
94
94
|
font-weight: 700;
|
|
95
95
|
margin-bottom: 8px;
|
|
96
|
+
color: ${(p) => p.theme.colors.neutral800};
|
|
96
97
|
`;
|
|
97
98
|
const TierPrice = styled(Typography)`
|
|
98
99
|
font-size: 2rem;
|
|
99
100
|
font-weight: 800;
|
|
100
101
|
margin-bottom: 4px;
|
|
102
|
+
color: ${(p) => p.theme.colors.neutral800};
|
|
101
103
|
`;
|
|
102
104
|
const TierDescription = styled(Typography)`
|
|
103
|
-
color:
|
|
105
|
+
color: ${(p) => p.theme.colors.neutral600};
|
|
104
106
|
margin-bottom: 24px;
|
|
105
107
|
`;
|
|
108
|
+
const LimitsBox = styled(Box)`
|
|
109
|
+
background: ${(p) => p.theme.colors.neutral100};
|
|
110
|
+
border-radius: 8px;
|
|
111
|
+
padding: 12px;
|
|
112
|
+
margin-bottom: 20px;
|
|
113
|
+
`;
|
|
114
|
+
const LimitText = styled(Typography)`
|
|
115
|
+
font-size: 13px;
|
|
116
|
+
color: ${(p) => p.theme.colors.neutral800};
|
|
117
|
+
`;
|
|
118
|
+
const PeriodText = styled(Typography)`
|
|
119
|
+
color: ${(p) => p.theme.colors.neutral600};
|
|
120
|
+
`;
|
|
121
|
+
const FeatureText = styled(Typography)`
|
|
122
|
+
font-size: 14px;
|
|
123
|
+
color: ${(p) => p.$included ? p.theme.colors.neutral800 : p.theme.colors.neutral500};
|
|
124
|
+
text-decoration: ${(p) => p.$included ? "none" : "line-through"};
|
|
125
|
+
`;
|
|
106
126
|
const FeatureList = styled(Box)`
|
|
107
127
|
margin-bottom: 24px;
|
|
108
128
|
flex: 1;
|
|
@@ -124,10 +144,10 @@ const FeatureIcon = styled(Box)`
|
|
|
124
144
|
|
|
125
145
|
${(props) => props.$included ? `
|
|
126
146
|
background: rgba(34, 197, 94, 0.15);
|
|
127
|
-
svg { color:
|
|
147
|
+
svg { color: #16A34A; }
|
|
128
148
|
` : `
|
|
129
149
|
background: rgba(220, 38, 38, 0.12);
|
|
130
|
-
svg { color:
|
|
150
|
+
svg { color: #DC2626; }
|
|
131
151
|
`}
|
|
132
152
|
`;
|
|
133
153
|
const UpgradeButton = styled(Button)`
|
|
@@ -150,8 +170,8 @@ const CurrentPlanBadge = styled(Badge)`
|
|
|
150
170
|
display: flex;
|
|
151
171
|
align-items: center;
|
|
152
172
|
justify-content: center;
|
|
153
|
-
background:
|
|
154
|
-
color:
|
|
173
|
+
background: ${(p) => p.theme.colors.neutral100};
|
|
174
|
+
color: ${(p) => p.theme.colors.neutral600};
|
|
155
175
|
font-weight: 600;
|
|
156
176
|
font-size: 15px;
|
|
157
177
|
`;
|
|
@@ -292,26 +312,21 @@ const LicensePage = () => {
|
|
|
292
312
|
/* @__PURE__ */ jsx(TierName, { variant: "beta", children: tier.name }),
|
|
293
313
|
/* @__PURE__ */ jsxs(Flex, { alignItems: "baseline", gap: 1, children: [
|
|
294
314
|
/* @__PURE__ */ jsx(TierPrice, { variant: "alpha", children: tier.price }),
|
|
295
|
-
/* @__PURE__ */ jsx(
|
|
315
|
+
/* @__PURE__ */ jsx(PeriodText, { variant: "omega", children: tier.period })
|
|
296
316
|
] }),
|
|
297
317
|
/* @__PURE__ */ jsx(TierDescription, { variant: "omega", children: tier.description }),
|
|
298
|
-
/* @__PURE__ */ jsx(
|
|
299
|
-
|
|
300
|
-
borderRadius: "8px",
|
|
301
|
-
padding: "12px",
|
|
302
|
-
marginBottom: "20px"
|
|
303
|
-
}, children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 2, children: [
|
|
304
|
-
/* @__PURE__ */ jsxs(Typography, { variant: "pi", style: { fontSize: "13px" }, children: [
|
|
318
|
+
/* @__PURE__ */ jsx(LimitsBox, { children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 2, children: [
|
|
319
|
+
/* @__PURE__ */ jsxs(LimitText, { variant: "pi", children: [
|
|
305
320
|
/* @__PURE__ */ jsx("strong", { children: "Templates:" }),
|
|
306
321
|
" ",
|
|
307
322
|
tier.limits.templates
|
|
308
323
|
] }),
|
|
309
|
-
/* @__PURE__ */ jsxs(
|
|
324
|
+
/* @__PURE__ */ jsxs(LimitText, { variant: "pi", children: [
|
|
310
325
|
/* @__PURE__ */ jsx("strong", { children: "Accounts:" }),
|
|
311
326
|
" ",
|
|
312
327
|
tier.limits.accounts
|
|
313
328
|
] }),
|
|
314
|
-
/* @__PURE__ */ jsxs(
|
|
329
|
+
/* @__PURE__ */ jsxs(LimitText, { variant: "pi", children: [
|
|
315
330
|
/* @__PURE__ */ jsx("strong", { children: "Routing Rules:" }),
|
|
316
331
|
" ",
|
|
317
332
|
tier.limits.rules
|
|
@@ -319,18 +334,7 @@ const LicensePage = () => {
|
|
|
319
334
|
] }) }),
|
|
320
335
|
/* @__PURE__ */ jsx(FeatureList, { children: tier.features.map((feature, index) => /* @__PURE__ */ jsxs(Feature, { children: [
|
|
321
336
|
/* @__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 } }) }),
|
|
322
|
-
/* @__PURE__ */ jsx(
|
|
323
|
-
Typography,
|
|
324
|
-
{
|
|
325
|
-
variant: "omega",
|
|
326
|
-
style: {
|
|
327
|
-
fontSize: "14px",
|
|
328
|
-
color: feature.included ? "var(--colors-neutral800)" : "var(--colors-neutral500)",
|
|
329
|
-
textDecoration: feature.included ? "none" : "line-through"
|
|
330
|
-
},
|
|
331
|
-
children: feature.name
|
|
332
|
-
}
|
|
333
|
-
)
|
|
337
|
+
/* @__PURE__ */ jsx(FeatureText, { variant: "omega", $included: feature.included, children: feature.name })
|
|
334
338
|
] }, index)) }),
|
|
335
339
|
currentTier === tier.id ? /* @__PURE__ */ jsx(CurrentPlanBadge, { children: "Current Plan" }) : /* @__PURE__ */ jsx(
|
|
336
340
|
UpgradeButton,
|