@carlonicora/nextjs-jsonapi 6.23.0 → 6.25.0
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/{BlockNoteEditor-PPRML5CO.js → BlockNoteEditor-TNX77GCD.js} +28 -25
- package/dist/BlockNoteEditor-TNX77GCD.js.map +1 -0
- package/dist/{BlockNoteEditor-UO4ZRCUM.mjs → BlockNoteEditor-Z5LDF47Z.mjs} +13 -10
- package/dist/{BlockNoteEditor-UO4ZRCUM.mjs.map → BlockNoteEditor-Z5LDF47Z.mjs.map} +1 -1
- package/dist/{BlockNoteViewer-K2HBF3IP.js → BlockNoteViewer-6KQJODNF.js} +9 -7
- package/dist/BlockNoteViewer-6KQJODNF.js.map +1 -0
- package/dist/{BlockNoteViewer-2TJZ6JET.mjs → BlockNoteViewer-TQ452ZYW.mjs} +8 -6
- package/dist/{BlockNoteViewer-2TJZ6JET.mjs.map → BlockNoteViewer-TQ452ZYW.mjs.map} +1 -1
- package/dist/JsonApiRequest-OKNQZLS6.js +26 -0
- package/dist/{JsonApiRequest-KC6DOHKT.js.map → JsonApiRequest-OKNQZLS6.js.map} +1 -1
- package/dist/{JsonApiRequest-ADLBJ5RX.mjs → JsonApiRequest-WNPDS356.mjs} +2 -2
- package/dist/billing/index.js +504 -517
- package/dist/billing/index.js.map +1 -1
- package/dist/billing/index.mjs +20 -33
- package/dist/billing/index.mjs.map +1 -1
- package/dist/{chunk-VNUT2D27.mjs → chunk-2PWYG2WJ.mjs} +2 -2
- package/dist/{chunk-W4ML6D2X.mjs → chunk-3U7YJ73T.mjs} +7 -7
- package/dist/{chunk-BQ2WAG4K.js → chunk-3VNDFKT7.js} +19 -19
- package/dist/{chunk-BQ2WAG4K.js.map → chunk-3VNDFKT7.js.map} +1 -1
- package/dist/{chunk-BE6UMM5X.mjs → chunk-47HNJQ7U.mjs} +3 -3
- package/dist/chunk-5T2AQMQ2.mjs +90 -0
- package/dist/chunk-5T2AQMQ2.mjs.map +1 -0
- package/dist/{chunk-A5M3MORY.js → chunk-5WM72MLE.js} +3 -3
- package/dist/{chunk-A5M3MORY.js.map → chunk-5WM72MLE.js.map} +1 -1
- package/dist/{chunk-S7SPAC6X.mjs → chunk-73NKUBMP.mjs} +3 -3
- package/dist/chunk-743M4TIB.mjs +76 -0
- package/dist/chunk-743M4TIB.mjs.map +1 -0
- package/dist/{chunk-HN7L6RRW.js → chunk-CSBQAPHD.js} +903 -955
- package/dist/chunk-CSBQAPHD.js.map +1 -0
- package/dist/{chunk-YTDGYI62.mjs → chunk-DWPHHUMV.mjs} +3 -3
- package/dist/{chunk-53SD4YRF.js → chunk-FBHUUPRV.js} +5 -5
- package/dist/{chunk-53SD4YRF.js.map → chunk-FBHUUPRV.js.map} +1 -1
- package/dist/{chunk-T6G2F2BK.mjs → chunk-HJT7TXGG.mjs} +16 -68
- package/dist/chunk-HJT7TXGG.mjs.map +1 -0
- package/dist/chunk-HROKKUBQ.js +156 -0
- package/dist/chunk-HROKKUBQ.js.map +1 -0
- package/dist/{chunk-TMV7TL7O.mjs → chunk-JELEQV5T.mjs} +8 -6
- package/dist/{chunk-TMV7TL7O.mjs.map → chunk-JELEQV5T.mjs.map} +1 -1
- package/dist/{chunk-TNTCLVUR.js → chunk-JGL4P3DS.js} +17 -15
- package/dist/chunk-JGL4P3DS.js.map +1 -0
- package/dist/{chunk-7OIWOPM5.mjs → chunk-K7KLUYS7.mjs} +4 -3
- package/dist/chunk-K7KLUYS7.mjs.map +1 -0
- package/dist/{chunk-HP6DT6K3.mjs → chunk-KVYYPKRO.mjs} +311 -241
- package/dist/chunk-KVYYPKRO.mjs.map +1 -0
- package/dist/{chunk-RCOKQ3R4.js → chunk-LNO2JLU3.js} +2 -2
- package/dist/{chunk-RCOKQ3R4.js.map → chunk-LNO2JLU3.js.map} +1 -1
- package/dist/{chunk-R5722NLL.js → chunk-M6SNTMK6.js} +1388 -1318
- package/dist/chunk-M6SNTMK6.js.map +1 -0
- package/dist/{chunk-GMMDXINC.js → chunk-N3NQS7X6.js} +12 -12
- package/dist/{chunk-GMMDXINC.js.map → chunk-N3NQS7X6.js.map} +1 -1
- package/dist/chunk-NP3AFULU.js +76 -0
- package/dist/chunk-NP3AFULU.js.map +1 -0
- package/dist/{chunk-SO3YUCL6.js → chunk-OOM54Z5Z.js} +6 -5
- package/dist/chunk-OOM54Z5Z.js.map +1 -0
- package/dist/{chunk-YSE2Z4RB.js → chunk-PQQFOONG.js} +12 -12
- package/dist/{chunk-YSE2Z4RB.js.map → chunk-PQQFOONG.js.map} +1 -1
- package/dist/chunk-RW6XZGZG.mjs +156 -0
- package/dist/chunk-RW6XZGZG.mjs.map +1 -0
- package/dist/chunk-SYMI4IDW.js +90 -0
- package/dist/chunk-SYMI4IDW.js.map +1 -0
- package/dist/{chunk-N2BFT7KI.mjs → chunk-W7U6O3OE.mjs} +2 -71
- package/dist/chunk-W7U6O3OE.mjs.map +1 -0
- package/dist/{chunk-YMCL3JXZ.mjs → chunk-YPBIPE2B.mjs} +2 -2
- package/dist/{chunk-P7L6OFX5.js → chunk-Z6T2575A.js} +12 -81
- package/dist/chunk-Z6T2575A.js.map +1 -0
- package/dist/client/index.js +13 -10
- package/dist/client/index.js.map +1 -1
- package/dist/client/index.mjs +17 -14
- package/dist/components/forms/DatePickerPopover.d.ts.map +1 -1
- package/dist/components/forms/DateRangeSelector.d.ts.map +1 -1
- package/dist/components/forms/EditorSheet.d.ts +6 -1
- package/dist/components/forms/EditorSheet.d.ts.map +1 -1
- package/dist/components/forms/FormDate.d.ts.map +1 -1
- package/dist/components/forms/FormDateTime.d.ts.map +1 -1
- package/dist/components/forms/time-cycle.d.ts +14 -0
- package/dist/components/forms/time-cycle.d.ts.map +1 -0
- package/dist/components/index.js +11 -8
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +10 -7
- package/dist/components/tables/cells/cell.date.d.ts.map +1 -1
- package/dist/components/tables/cells/cell.dateTime.d.ts.map +1 -1
- package/dist/contexts/DateLocaleContext.d.ts +56 -0
- package/dist/contexts/DateLocaleContext.d.ts.map +1 -0
- package/dist/contexts/index.d.ts +1 -0
- package/dist/contexts/index.d.ts.map +1 -1
- package/dist/contexts/index.js +24 -8
- package/dist/contexts/index.js.map +1 -1
- package/dist/contexts/index.mjs +23 -7
- package/dist/core/index.js +17 -6
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.mjs +19 -8
- package/dist/date-locale/index.d.ts +2 -0
- package/dist/date-locale/index.d.ts.map +1 -0
- package/dist/date-locale/index.js +21 -0
- package/dist/date-locale/index.js.map +1 -0
- package/dist/date-locale/index.mjs +21 -0
- package/dist/email-automations/index.js +131 -123
- package/dist/email-automations/index.js.map +1 -1
- package/dist/email-automations/index.mjs +23 -15
- package/dist/email-automations/index.mjs.map +1 -1
- package/dist/features/account-deletion/components/AccountDeletionAdminTrigger.d.ts.map +1 -1
- package/dist/features/analytics/components/AnalyticsJourneyContainer.d.ts.map +1 -1
- package/dist/features/analytics/components/AnalyticsSessionsTable.d.ts.map +1 -1
- package/dist/features/analytics/index.js +154 -147
- package/dist/features/analytics/index.js.map +1 -1
- package/dist/features/analytics/index.mjs +32 -25
- package/dist/features/analytics/index.mjs.map +1 -1
- package/dist/features/analytics/server.js +11 -9
- package/dist/features/analytics/server.js.map +1 -1
- package/dist/features/analytics/server.mjs +9 -7
- package/dist/features/analytics/server.mjs.map +1 -1
- package/dist/features/billing/components/utils/date.d.ts +3 -3
- package/dist/features/billing/components/utils/format-options.d.ts +6 -4
- package/dist/features/billing/components/utils/format-options.d.ts.map +1 -1
- package/dist/features/billing/components/utils/useBillingFormatOptions.d.ts +5 -1
- package/dist/features/billing/components/utils/useBillingFormatOptions.d.ts.map +1 -1
- package/dist/features/billing/stripe-usage/components/details/UsageSummaryCard.d.ts.map +1 -1
- package/dist/features/billing/stripe-usage/components/lists/UsageHistoryTable.d.ts.map +1 -1
- package/dist/features/blog/components/admin/BlogTranslationStatus.d.ts.map +1 -1
- package/dist/features/blog/components/public/BlogPostMeta.d.ts.map +1 -1
- package/dist/features/blog/hooks/useBlogPostTableStructure.d.ts.map +1 -1
- package/dist/features/blog/index.js +168 -162
- package/dist/features/blog/index.js.map +1 -1
- package/dist/features/blog/index.mjs +25 -19
- package/dist/features/blog/index.mjs.map +1 -1
- package/dist/features/blog/server.js +29 -27
- package/dist/features/blog/server.js.map +1 -1
- package/dist/features/blog/server.mjs +8 -6
- package/dist/features/blog/server.mjs.map +1 -1
- package/dist/features/email-automation/hooks/useEmailAutomationEnrollmentTableStructure.d.ts.map +1 -1
- package/dist/features/handbook/components/parts/HandbookIndexStatus.d.ts.map +1 -1
- package/dist/features/help/components/HelpArticleBody.d.ts.map +1 -1
- package/dist/features/help/index.js +48 -43
- package/dist/features/help/index.js.map +1 -1
- package/dist/features/help/index.mjs +15 -10
- package/dist/features/help/index.mjs.map +1 -1
- package/dist/features/notification/components/notifications/Notification.d.ts +2 -1
- package/dist/features/notification/components/notifications/Notification.d.ts.map +1 -1
- package/dist/features/notification/contexts/NotificationContext.d.ts.map +1 -1
- package/dist/features/notification/hooks/useNotificationTableStructure.d.ts.map +1 -1
- package/dist/features/oauth/components/OAuthClientCard.d.ts.map +1 -1
- package/dist/features/oauth/components/OAuthClientDetail.d.ts.map +1 -1
- package/dist/features/tokenusage/index.js +133 -130
- package/dist/features/tokenusage/index.js.map +1 -1
- package/dist/features/tokenusage/index.mjs +10 -7
- package/dist/features/tokenusage/index.mjs.map +1 -1
- package/dist/features/tokenusage/lib/formatters.d.ts +6 -3
- package/dist/features/tokenusage/lib/formatters.d.ts.map +1 -1
- package/dist/index.js +19 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +23 -11
- package/dist/local-transport-AT4TE264.js +15 -0
- package/dist/{local-transport-MJPOKPTU.js.map → local-transport-AT4TE264.js.map} +1 -1
- package/dist/{local-transport-RVD4FZGA.mjs → local-transport-KWEUZ4GX.mjs} +5 -5
- package/dist/offline/index.js +56 -54
- package/dist/offline/index.js.map +1 -1
- package/dist/offline/index.mjs +23 -21
- package/dist/offline/index.mjs.map +1 -1
- package/dist/{request-4AWGPIGH.mjs → request-6GAIWWTG.mjs} +2 -2
- package/dist/{request-H5FZBZA2.js → request-BWO4Y434.js} +3 -3
- package/dist/{request-H5FZBZA2.js.map → request-BWO4Y434.js.map} +1 -1
- package/dist/server/ServerSession.d.ts +2 -0
- package/dist/server/ServerSession.d.ts.map +1 -1
- package/dist/server/index.js +10 -8
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +9 -7
- package/dist/utils/date-formatter.d.ts +45 -4
- package/dist/utils/date-formatter.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/write-through-KNRI5L4V.mjs +15 -0
- package/dist/write-through-KNRI5L4V.mjs.map +1 -0
- package/dist/write-through-MYHQ6GJU.js +15 -0
- package/dist/{write-through-HE2QSOVI.js.map → write-through-MYHQ6GJU.js.map} +1 -1
- package/messages/en.json +1 -0
- package/messages/it.json +1 -0
- package/package.json +6 -1
- package/src/components/forms/DatePickerPopover.tsx +5 -3
- package/src/components/forms/DateRangeSelector.tsx +9 -7
- package/src/components/forms/EditorSheet.tsx +8 -0
- package/src/components/forms/FormDate.tsx +5 -3
- package/src/components/forms/FormDateTime.tsx +75 -39
- package/src/components/forms/__tests__/EditorSheet.spec.tsx +30 -0
- package/src/components/forms/__tests__/time-cycle.spec.ts +37 -0
- package/src/components/forms/time-cycle.ts +27 -0
- package/src/components/tables/cells/cell.date.tsx +3 -5
- package/src/components/tables/cells/cell.dateTime.tsx +3 -7
- package/src/contexts/DateLocaleContext.tsx +106 -0
- package/src/contexts/__tests__/DateLocaleContext.spec.tsx +175 -0
- package/src/contexts/index.ts +1 -0
- package/src/date-locale/index.ts +12 -0
- package/src/features/account-deletion/components/AccountDeletionAdminTrigger.tsx +3 -4
- package/src/features/analytics/components/AnalyticsJourneyContainer.tsx +8 -8
- package/src/features/analytics/components/AnalyticsSessionsTable.tsx +4 -6
- package/src/features/auth/components/two-factor/PasskeyList.tsx +3 -3
- package/src/features/auth/components/two-factor/TotpAuthenticatorList.tsx +3 -3
- package/src/features/billing/components/utils/__tests__/billing-formatters.spec.ts +14 -6
- package/src/features/billing/components/utils/date.ts +5 -5
- package/src/features/billing/components/utils/format-options.ts +6 -4
- package/src/features/billing/components/utils/useBillingFormatOptions.ts +8 -2
- package/src/features/billing/stripe-usage/components/details/UsageSummaryCard.tsx +4 -12
- package/src/features/billing/stripe-usage/components/lists/UsageHistoryTable.tsx +4 -17
- package/src/features/blog/components/admin/BlogTranslationStatus.tsx +3 -2
- package/src/features/blog/components/public/BlogPostMeta.tsx +5 -4
- package/src/features/blog/components/public/__tests__/BlogList.spec.tsx +1 -2
- package/src/features/blog/components/public/__tests__/BlogPostView.spec.tsx +2 -3
- package/src/features/blog/hooks/useBlogPostTableStructure.tsx +4 -8
- package/src/features/email-automation/hooks/useEmailAutomationEnrollmentTableStructure.tsx +11 -5
- package/src/features/email-blast/components/containers/EmailBlastContainer.tsx +3 -3
- package/src/features/email-blast/hooks/useEmailBlastTableStructure.tsx +4 -4
- package/src/features/handbook/components/parts/HandbookIndexStatus.tsx +4 -3
- package/src/features/help/components/HelpArticleBody.tsx +4 -3
- package/src/features/notification/components/notifications/Notification.tsx +38 -7
- package/src/features/notification/contexts/NotificationContext.tsx +6 -3
- package/src/features/notification/hooks/useNotificationTableStructure.tsx +6 -5
- package/src/features/oauth/components/OAuthClientCard.tsx +8 -5
- package/src/features/oauth/components/OAuthClientDetail.tsx +3 -6
- package/src/features/tokenusage/lib/__tests__/formatters.spec.ts +19 -0
- package/src/features/tokenusage/lib/formatters.ts +11 -6
- package/src/features/waitlist/hooks/useWaitlistTableStructure.tsx +5 -5
- package/src/server/ServerSession.ts +3 -0
- package/src/server/__tests__/ServerSession.read.spec.ts +18 -1
- package/src/utils/__tests__/date-formatter.spec.ts +134 -10
- package/src/utils/date-formatter.ts +200 -44
- package/src/utils/index.ts +11 -1
- package/dist/BlockNoteEditor-PPRML5CO.js.map +0 -1
- package/dist/BlockNoteViewer-K2HBF3IP.js.map +0 -1
- package/dist/JsonApiRequest-KC6DOHKT.js +0 -26
- package/dist/chunk-7OIWOPM5.mjs.map +0 -1
- package/dist/chunk-HN7L6RRW.js.map +0 -1
- package/dist/chunk-HP6DT6K3.mjs.map +0 -1
- package/dist/chunk-N2BFT7KI.mjs.map +0 -1
- package/dist/chunk-P7L6OFX5.js.map +0 -1
- package/dist/chunk-R5722NLL.js.map +0 -1
- package/dist/chunk-SO3YUCL6.js.map +0 -1
- package/dist/chunk-T6G2F2BK.mjs.map +0 -1
- package/dist/chunk-TNTCLVUR.js.map +0 -1
- package/dist/local-transport-MJPOKPTU.js +0 -15
- package/dist/write-through-7I3LA2WN.mjs +0 -15
- package/dist/write-through-HE2QSOVI.js +0 -15
- /package/dist/{JsonApiRequest-ADLBJ5RX.mjs.map → JsonApiRequest-WNPDS356.mjs.map} +0 -0
- /package/dist/{chunk-VNUT2D27.mjs.map → chunk-2PWYG2WJ.mjs.map} +0 -0
- /package/dist/{chunk-W4ML6D2X.mjs.map → chunk-3U7YJ73T.mjs.map} +0 -0
- /package/dist/{chunk-BE6UMM5X.mjs.map → chunk-47HNJQ7U.mjs.map} +0 -0
- /package/dist/{chunk-S7SPAC6X.mjs.map → chunk-73NKUBMP.mjs.map} +0 -0
- /package/dist/{chunk-YTDGYI62.mjs.map → chunk-DWPHHUMV.mjs.map} +0 -0
- /package/dist/{chunk-YMCL3JXZ.mjs.map → chunk-YPBIPE2B.mjs.map} +0 -0
- /package/dist/{local-transport-RVD4FZGA.mjs.map → date-locale/index.mjs.map} +0 -0
- /package/dist/{request-4AWGPIGH.mjs.map → local-transport-KWEUZ4GX.mjs.map} +0 -0
- /package/dist/{write-through-7I3LA2WN.mjs.map → request-6GAIWWTG.mjs.map} +0 -0
|
@@ -45,9 +45,13 @@
|
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
|
|
48
|
-
var
|
|
48
|
+
var _chunkM6SNTMK6js = require('../chunk-M6SNTMK6.js');
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
var _chunkSYMI4IDWjs = require('../chunk-SYMI4IDW.js');
|
|
49
53
|
require('../chunk-3EPNHTMH.js');
|
|
50
|
-
require('../chunk-
|
|
54
|
+
require('../chunk-JGL4P3DS.js');
|
|
51
55
|
require('../chunk-G4JR3SFV.js');
|
|
52
56
|
|
|
53
57
|
|
|
@@ -58,21 +62,24 @@ require('../chunk-G4JR3SFV.js');
|
|
|
58
62
|
|
|
59
63
|
|
|
60
64
|
|
|
65
|
+
var _chunkCSBQAPHDjs = require('../chunk-CSBQAPHD.js');
|
|
61
66
|
|
|
62
67
|
|
|
63
|
-
var
|
|
68
|
+
var _chunkHROKKUBQjs = require('../chunk-HROKKUBQ.js');
|
|
64
69
|
require('../chunk-DGN3PR2F.js');
|
|
65
70
|
|
|
66
71
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
require('../chunk-
|
|
70
|
-
require('../chunk-A5M3MORY.js');
|
|
72
|
+
var _chunkZ6T2575Ajs = require('../chunk-Z6T2575A.js');
|
|
73
|
+
require('../chunk-3VNDFKT7.js');
|
|
74
|
+
require('../chunk-5WM72MLE.js');
|
|
71
75
|
require('../chunk-WUNSG3IN.js');
|
|
72
|
-
require('../chunk-
|
|
76
|
+
require('../chunk-LNO2JLU3.js');
|
|
73
77
|
require('../chunk-LXKSUWAV.js');
|
|
74
78
|
|
|
75
79
|
|
|
80
|
+
var _chunkNP3AFULUjs = require('../chunk-NP3AFULU.js');
|
|
81
|
+
|
|
82
|
+
|
|
76
83
|
var _chunk7QVYU63Ejs = require('../chunk-7QVYU63E.js');
|
|
77
84
|
|
|
78
85
|
// src/features/email-automation/components/containers/EmailAutomationsListContainer.tsx
|
|
@@ -102,12 +109,12 @@ function EmailAutomationEditorInternal({
|
|
|
102
109
|
onDialogOpenChange
|
|
103
110
|
}) {
|
|
104
111
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
105
|
-
const router =
|
|
112
|
+
const router = _chunkNP3AFULUjs.useI18nRouter.call(void 0, );
|
|
106
113
|
const isEdit = !!automation;
|
|
107
114
|
const [triggers, setTriggers] = _react.useState.call(void 0, []);
|
|
108
115
|
_react.useEffect.call(void 0, () => {
|
|
109
116
|
let active = true;
|
|
110
|
-
|
|
117
|
+
_chunkCSBQAPHDjs.EmailAutomationService.findTriggers().then((list) => {
|
|
111
118
|
if (active) setTriggers(list);
|
|
112
119
|
}).catch(() => {
|
|
113
120
|
});
|
|
@@ -156,14 +163,14 @@ function EmailAutomationEditorInternal({
|
|
|
156
163
|
[t]
|
|
157
164
|
);
|
|
158
165
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
159
|
-
|
|
166
|
+
_chunkM6SNTMK6js.EditorSheet,
|
|
160
167
|
{
|
|
161
168
|
form,
|
|
162
169
|
entityType: t("emailAutomations.admin.title"),
|
|
163
170
|
entityName: _optionalChain([automation, 'optionalAccess', _8 => _8.name]),
|
|
164
171
|
title: isEdit ? t("emailAutomations.admin.editAutomation") : t("emailAutomations.admin.newAutomation"),
|
|
165
172
|
isEdit,
|
|
166
|
-
module:
|
|
173
|
+
module: _chunkZ6T2575Ajs.Modules.EmailAutomation,
|
|
167
174
|
size: "md",
|
|
168
175
|
propagateChanges,
|
|
169
176
|
onSuccess,
|
|
@@ -178,7 +185,7 @@ function EmailAutomationEditorInternal({
|
|
|
178
185
|
isActive: values.isActive,
|
|
179
186
|
purpose: values.purpose
|
|
180
187
|
};
|
|
181
|
-
return isEdit ? await
|
|
188
|
+
return isEdit ? await _chunkCSBQAPHDjs.EmailAutomationService.update(payload) : await _chunkCSBQAPHDjs.EmailAutomationService.create(payload);
|
|
182
189
|
},
|
|
183
190
|
onReset: getDefaultValues,
|
|
184
191
|
trigger,
|
|
@@ -187,9 +194,9 @@ function EmailAutomationEditorInternal({
|
|
|
187
194
|
dialogOpen,
|
|
188
195
|
onDialogOpenChange,
|
|
189
196
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-y-4", children: [
|
|
190
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
197
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.FormInput, { form, id: "name", name: t("emailAutomations.fields.name.label"), isRequired: true }),
|
|
191
198
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
192
|
-
|
|
199
|
+
_chunkM6SNTMK6js.FormSelect,
|
|
193
200
|
{
|
|
194
201
|
form,
|
|
195
202
|
id: "purpose",
|
|
@@ -201,7 +208,7 @@ function EmailAutomationEditorInternal({
|
|
|
201
208
|
}
|
|
202
209
|
),
|
|
203
210
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
204
|
-
|
|
211
|
+
_chunkM6SNTMK6js.FormSelect,
|
|
205
212
|
{
|
|
206
213
|
form,
|
|
207
214
|
id: "trigger",
|
|
@@ -212,7 +219,7 @@ function EmailAutomationEditorInternal({
|
|
|
212
219
|
}
|
|
213
220
|
),
|
|
214
221
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
215
|
-
|
|
222
|
+
_chunkM6SNTMK6js.FormSelect,
|
|
216
223
|
{
|
|
217
224
|
form,
|
|
218
225
|
id: "exitTrigger",
|
|
@@ -222,9 +229,9 @@ function EmailAutomationEditorInternal({
|
|
|
222
229
|
allowEmpty: true
|
|
223
230
|
}
|
|
224
231
|
),
|
|
225
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
232
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.FormInput, { form, id: "replyTo", name: t("emailAutomations.fields.replyTo.label") }),
|
|
226
233
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
227
|
-
|
|
234
|
+
_chunkM6SNTMK6js.FormSwitch,
|
|
228
235
|
{
|
|
229
236
|
form,
|
|
230
237
|
id: "isActive",
|
|
@@ -248,14 +255,14 @@ var EmailAutomationEditor_default = EmailAutomationEditor;
|
|
|
248
255
|
function EmailAutomationsList({ fullWidth } = {}) {
|
|
249
256
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
250
257
|
const [triggers, setTriggers] = _react.useState.call(void 0, []);
|
|
251
|
-
const data =
|
|
252
|
-
retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) =>
|
|
258
|
+
const data = _chunkM6SNTMK6js.useDataListRetriever.call(void 0, {
|
|
259
|
+
retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkCSBQAPHDjs.EmailAutomationService.findMany(params), "retriever"),
|
|
253
260
|
retrieverParams: {},
|
|
254
|
-
module:
|
|
261
|
+
module: _chunkZ6T2575Ajs.Modules.EmailAutomation
|
|
255
262
|
});
|
|
256
263
|
_react.useEffect.call(void 0, () => {
|
|
257
264
|
let active = true;
|
|
258
|
-
|
|
265
|
+
_chunkCSBQAPHDjs.EmailAutomationService.findTriggers().then((list) => {
|
|
259
266
|
if (active) setTriggers(list);
|
|
260
267
|
}).catch(() => {
|
|
261
268
|
});
|
|
@@ -269,7 +276,7 @@ function EmailAutomationsList({ fullWidth } = {}) {
|
|
|
269
276
|
);
|
|
270
277
|
const functions = [/* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmailAutomationEditor_default, {}, "create-email-automation")];
|
|
271
278
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
272
|
-
|
|
279
|
+
_chunkM6SNTMK6js.ContentListTable,
|
|
273
280
|
{
|
|
274
281
|
data,
|
|
275
282
|
fields: [
|
|
@@ -282,12 +289,12 @@ function EmailAutomationsList({ fullWidth } = {}) {
|
|
|
282
289
|
"completed" /* completed */,
|
|
283
290
|
"unsubscribed" /* unsubscribed */
|
|
284
291
|
],
|
|
285
|
-
tableGeneratorType:
|
|
292
|
+
tableGeneratorType: _chunkZ6T2575Ajs.Modules.EmailAutomation,
|
|
286
293
|
functions,
|
|
287
294
|
fullWidth,
|
|
288
295
|
title: t("emailAutomations.admin.title"),
|
|
289
296
|
context: { triggerLabels },
|
|
290
|
-
emptyState: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
297
|
+
emptyState: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.EmptyState, { icon: _lucidereact.MailIcon, title: t("emailAutomations.admin.empty") })
|
|
291
298
|
}
|
|
292
299
|
);
|
|
293
300
|
}
|
|
@@ -298,7 +305,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, EmailAutomationsList, "EmailAutomationsList
|
|
|
298
305
|
function EmailAutomationsListContainer() {
|
|
299
306
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
300
307
|
const breadcrumbs = [{ name: t("emailAutomations.admin.title") }];
|
|
301
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
308
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.SharedProvider, { value: { breadcrumbs, title: { type: t("emailAutomations.admin.title") } }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.RoundPageContainer, { module: _chunkZ6T2575Ajs.Modules.EmailAutomation, fullWidth: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmailAutomationsList, { fullWidth: true }) }) });
|
|
302
309
|
}
|
|
303
310
|
_chunk7QVYU63Ejs.__name.call(void 0, EmailAutomationsListContainer, "EmailAutomationsListContainer");
|
|
304
311
|
|
|
@@ -317,8 +324,8 @@ var EmailAutomationProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
|
|
|
317
324
|
const [selectedStepId, setSelectedStepId] = _react.useState.call(void 0, null);
|
|
318
325
|
const reload = _react.useCallback.call(void 0, async () => {
|
|
319
326
|
const [loadedAutomation, loadedSteps] = await Promise.all([
|
|
320
|
-
|
|
321
|
-
|
|
327
|
+
_chunkCSBQAPHDjs.EmailAutomationService.findOne({ id: automationId }),
|
|
328
|
+
_chunkCSBQAPHDjs.EmailAutomationStepService.findByAutomation({ automationId })
|
|
322
329
|
]);
|
|
323
330
|
setAutomation(loadedAutomation);
|
|
324
331
|
setSteps(loadedSteps);
|
|
@@ -328,7 +335,7 @@ var EmailAutomationProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
|
|
|
328
335
|
}, [reload]);
|
|
329
336
|
_react.useEffect.call(void 0, () => {
|
|
330
337
|
let active = true;
|
|
331
|
-
|
|
338
|
+
_chunkCSBQAPHDjs.EmailAutomationService.findTriggers().then((list) => {
|
|
332
339
|
if (active) setTriggers(list);
|
|
333
340
|
}).catch(() => {
|
|
334
341
|
});
|
|
@@ -339,7 +346,7 @@ var EmailAutomationProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
|
|
|
339
346
|
const select = _react.useCallback.call(void 0, (id) => setSelectedStepId(id), []);
|
|
340
347
|
const createStep = _react.useCallback.call(void 0,
|
|
341
348
|
async (input) => {
|
|
342
|
-
const saved = await
|
|
349
|
+
const saved = await _chunkCSBQAPHDjs.EmailAutomationStepService.create({ ...input, id: _nullishCoalesce(input.id, () => ( _uuid.v4.call(void 0, ))), automationId });
|
|
343
350
|
await reload();
|
|
344
351
|
return saved;
|
|
345
352
|
},
|
|
@@ -347,7 +354,7 @@ var EmailAutomationProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
|
|
|
347
354
|
);
|
|
348
355
|
const updateStep = _react.useCallback.call(void 0,
|
|
349
356
|
async (input) => {
|
|
350
|
-
const saved = await
|
|
357
|
+
const saved = await _chunkCSBQAPHDjs.EmailAutomationStepService.update({ ...input, automationId });
|
|
351
358
|
await reload();
|
|
352
359
|
return saved;
|
|
353
360
|
},
|
|
@@ -355,7 +362,7 @@ var EmailAutomationProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
|
|
|
355
362
|
);
|
|
356
363
|
const deleteStep = _react.useCallback.call(void 0,
|
|
357
364
|
async (id) => {
|
|
358
|
-
await
|
|
365
|
+
await _chunkCSBQAPHDjs.EmailAutomationStepService.delete({ id });
|
|
359
366
|
if (selectedStepId === id) setSelectedStepId(null);
|
|
360
367
|
await reload();
|
|
361
368
|
},
|
|
@@ -363,8 +370,8 @@ var EmailAutomationProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
|
|
|
363
370
|
);
|
|
364
371
|
const setNext = _react.useCallback.call(void 0,
|
|
365
372
|
async (stepId, nextStepId) => {
|
|
366
|
-
if (nextStepId) await
|
|
367
|
-
else await
|
|
373
|
+
if (nextStepId) await _chunkCSBQAPHDjs.EmailAutomationStepService.setNext({ stepId, nextStepId });
|
|
374
|
+
else await _chunkCSBQAPHDjs.EmailAutomationStepService.clearNext({ stepId });
|
|
368
375
|
await reload();
|
|
369
376
|
},
|
|
370
377
|
[reload]
|
|
@@ -373,7 +380,7 @@ var EmailAutomationProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
|
|
|
373
380
|
async (stepId, x, y) => {
|
|
374
381
|
const step = steps.find((candidate) => candidate.id === stepId);
|
|
375
382
|
if (!step) return;
|
|
376
|
-
await
|
|
383
|
+
await _chunkCSBQAPHDjs.EmailAutomationStepService.update({
|
|
377
384
|
id: step.id,
|
|
378
385
|
automationId,
|
|
379
386
|
subject: step.subject,
|
|
@@ -387,7 +394,7 @@ var EmailAutomationProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
|
|
|
387
394
|
[automationId, reload, steps]
|
|
388
395
|
);
|
|
389
396
|
const tidy = _react.useCallback.call(void 0, async () => {
|
|
390
|
-
await
|
|
397
|
+
await _chunkCSBQAPHDjs.EmailAutomationService.tidy({ id: automationId });
|
|
391
398
|
await reload();
|
|
392
399
|
}, [automationId, reload]);
|
|
393
400
|
const value = _react.useMemo.call(void 0,
|
|
@@ -442,7 +449,7 @@ function EmailAutomationActiveSwitch() {
|
|
|
442
449
|
const toggle = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async (checked) => {
|
|
443
450
|
setSaving(true);
|
|
444
451
|
try {
|
|
445
|
-
await
|
|
452
|
+
await _chunkCSBQAPHDjs.EmailAutomationService.update({
|
|
446
453
|
id: automation.id,
|
|
447
454
|
name: automation.name,
|
|
448
455
|
trigger: automation.trigger,
|
|
@@ -452,17 +459,17 @@ function EmailAutomationActiveSwitch() {
|
|
|
452
459
|
});
|
|
453
460
|
await reload();
|
|
454
461
|
} catch (error) {
|
|
455
|
-
|
|
462
|
+
_chunkM6SNTMK6js.errorToast.call(void 0, { title: t("common.errors.error"), error });
|
|
456
463
|
} finally {
|
|
457
464
|
setSaving(false);
|
|
458
465
|
}
|
|
459
466
|
}, "toggle");
|
|
460
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
461
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
462
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
467
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM6SNTMK6js.Tooltip, { children: [
|
|
468
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM6SNTMK6js.TooltipTrigger, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { className: "flex items-center gap-x-2" }), children: [
|
|
469
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.Switch, { checked: automation.isActive, onCheckedChange: (checked) => void toggle(checked), disabled: saving }),
|
|
463
470
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs", children: t("emailAutomations.fields.isActive.label") })
|
|
464
471
|
] }),
|
|
465
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
472
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.TooltipContent, { className: "max-w-xs", children: t("emailAutomations.fields.isActive.help") })
|
|
466
473
|
] });
|
|
467
474
|
}
|
|
468
475
|
_chunk7QVYU63Ejs.__name.call(void 0, EmailAutomationActiveSwitch, "EmailAutomationActiveSwitch");
|
|
@@ -495,7 +502,7 @@ function CanvasToolbar({ onTidy }) {
|
|
|
495
502
|
const { zoomIn, zoomOut, fitView } = _react3.useReactFlow.call(void 0, );
|
|
496
503
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-help": "canvas.toolbar", className: "absolute end-2 top-2 z-10 flex flex-col gap-1 max-md:top-14", children: [
|
|
497
504
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
498
|
-
|
|
505
|
+
_chunkM6SNTMK6js.Button,
|
|
499
506
|
{
|
|
500
507
|
type: "button",
|
|
501
508
|
variant: "outline",
|
|
@@ -506,7 +513,7 @@ function CanvasToolbar({ onTidy }) {
|
|
|
506
513
|
}
|
|
507
514
|
),
|
|
508
515
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
509
|
-
|
|
516
|
+
_chunkM6SNTMK6js.Button,
|
|
510
517
|
{
|
|
511
518
|
type: "button",
|
|
512
519
|
variant: "outline",
|
|
@@ -517,7 +524,7 @@ function CanvasToolbar({ onTidy }) {
|
|
|
517
524
|
}
|
|
518
525
|
),
|
|
519
526
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
520
|
-
|
|
527
|
+
_chunkM6SNTMK6js.Button,
|
|
521
528
|
{
|
|
522
529
|
type: "button",
|
|
523
530
|
variant: "outline",
|
|
@@ -528,7 +535,7 @@ function CanvasToolbar({ onTidy }) {
|
|
|
528
535
|
}
|
|
529
536
|
),
|
|
530
537
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
531
|
-
|
|
538
|
+
_chunkM6SNTMK6js.Button,
|
|
532
539
|
{
|
|
533
540
|
type: "button",
|
|
534
541
|
variant: "outline",
|
|
@@ -821,14 +828,14 @@ function EmailStepEditorInternal({
|
|
|
821
828
|
defaultValues: getDefaultValues()
|
|
822
829
|
});
|
|
823
830
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
824
|
-
|
|
831
|
+
_chunkM6SNTMK6js.EditorSheet,
|
|
825
832
|
{
|
|
826
833
|
form,
|
|
827
834
|
entityType: t("emailAutomations.step.title"),
|
|
828
835
|
entityName: _optionalChain([step, 'optionalAccess', _20 => _20.subject]),
|
|
829
836
|
title: isEdit ? t("emailAutomations.step.editTitle") : t("emailAutomations.step.title"),
|
|
830
837
|
isEdit,
|
|
831
|
-
module:
|
|
838
|
+
module: _chunkZ6T2575Ajs.Modules.EmailAutomationStep,
|
|
832
839
|
size: "lg",
|
|
833
840
|
onSubmit: async (values) => {
|
|
834
841
|
const payload = {
|
|
@@ -840,7 +847,7 @@ function EmailStepEditorInternal({
|
|
|
840
847
|
positionX: step ? step.positionX : _optionalChain([initialPosition, 'optionalAccess', _21 => _21.x]),
|
|
841
848
|
positionY: step ? step.positionY : _optionalChain([initialPosition, 'optionalAccess', _22 => _22.y])
|
|
842
849
|
};
|
|
843
|
-
return isEdit ? await
|
|
850
|
+
return isEdit ? await _chunkCSBQAPHDjs.EmailAutomationStepService.update(payload) : await _chunkCSBQAPHDjs.EmailAutomationStepService.create(payload);
|
|
844
851
|
},
|
|
845
852
|
onSuccess: async () => {
|
|
846
853
|
await reload();
|
|
@@ -853,9 +860,9 @@ function EmailStepEditorInternal({
|
|
|
853
860
|
dialogOpen,
|
|
854
861
|
onDialogOpenChange,
|
|
855
862
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-y-4", children: [
|
|
856
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
863
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.FormInput, { form, id: "subject", name: t("emailAutomations.step.fields.subject.label"), isRequired: true }),
|
|
857
864
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
858
|
-
|
|
865
|
+
_chunkM6SNTMK6js.FormInput,
|
|
859
866
|
{
|
|
860
867
|
form,
|
|
861
868
|
id: "delayHours",
|
|
@@ -865,7 +872,7 @@ function EmailStepEditorInternal({
|
|
|
865
872
|
}
|
|
866
873
|
),
|
|
867
874
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
868
|
-
|
|
875
|
+
_chunkM6SNTMK6js.FormTextarea,
|
|
869
876
|
{
|
|
870
877
|
form,
|
|
871
878
|
id: "body",
|
|
@@ -1005,7 +1012,7 @@ var stepIdOf = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (nodeId) =>
|
|
|
1005
1012
|
function EmailAutomationCanvas() {
|
|
1006
1013
|
const { automation, steps, triggers, select, reload, createStep, deleteStep, setNext, updatePosition, tidy } = useEmailAutomation();
|
|
1007
1014
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
1008
|
-
const isMobile =
|
|
1015
|
+
const isMobile = _chunkCSBQAPHDjs.useIsMobile.call(void 0, );
|
|
1009
1016
|
const [nodes, setNodes] = _react.useState.call(void 0, []);
|
|
1010
1017
|
const [edges, setEdges] = _react.useState.call(void 0, []);
|
|
1011
1018
|
const { screenToFlowPosition } = _react3.useReactFlow.call(void 0, );
|
|
@@ -1044,7 +1051,7 @@ function EmailAutomationCanvas() {
|
|
|
1044
1051
|
try {
|
|
1045
1052
|
await setNext(stepId, nextStepId);
|
|
1046
1053
|
} catch (error) {
|
|
1047
|
-
|
|
1054
|
+
_chunkM6SNTMK6js.errorToast.call(void 0, { title: t("emailAutomations.canvas.chainError"), error });
|
|
1048
1055
|
await reload();
|
|
1049
1056
|
}
|
|
1050
1057
|
},
|
|
@@ -1058,7 +1065,7 @@ function EmailAutomationCanvas() {
|
|
|
1058
1065
|
if (!_optionalChain([conn, 'access', _31 => _31.targetHandle, 'optionalAccess', _32 => _32.startsWith, 'call', _33 => _33(STEP_TARGET_HANDLE_PREFIX)])) return;
|
|
1059
1066
|
const targetStepId = conn.targetHandle.slice(STEP_TARGET_HANDLE_PREFIX.length);
|
|
1060
1067
|
if (from.handleId === TRIGGER_SOURCE_HANDLE) {
|
|
1061
|
-
|
|
1068
|
+
_chunkCSBQAPHDjs.showError.call(void 0, t("emailAutomations.canvas.chainError"));
|
|
1062
1069
|
return;
|
|
1063
1070
|
}
|
|
1064
1071
|
if (!from.handleId.startsWith(STEP_SOURCE_HANDLE_PREFIX)) return;
|
|
@@ -1176,7 +1183,7 @@ function EmailAutomationCanvas() {
|
|
|
1176
1183
|
try {
|
|
1177
1184
|
await deleteStep(stepId);
|
|
1178
1185
|
} catch (error) {
|
|
1179
|
-
|
|
1186
|
+
_chunkM6SNTMK6js.errorToast.call(void 0, { title: t("emailAutomations.canvas.deleteEmail"), error });
|
|
1180
1187
|
throw error;
|
|
1181
1188
|
}
|
|
1182
1189
|
}, [pendingDeleteStepId, deleteStep, t]);
|
|
@@ -1239,7 +1246,7 @@ function EmailAutomationCanvas() {
|
|
|
1239
1246
|
}
|
|
1240
1247
|
),
|
|
1241
1248
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1242
|
-
|
|
1249
|
+
_chunkM6SNTMK6js.ConfirmDialog,
|
|
1243
1250
|
{
|
|
1244
1251
|
open: pendingDeleteStepId !== null,
|
|
1245
1252
|
onOpenChange: (open) => {
|
|
@@ -1254,20 +1261,20 @@ function EmailAutomationCanvas() {
|
|
|
1254
1261
|
}
|
|
1255
1262
|
),
|
|
1256
1263
|
paneMenu && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1257
|
-
|
|
1264
|
+
_chunkM6SNTMK6js.ContextMenu,
|
|
1258
1265
|
{
|
|
1259
1266
|
open: true,
|
|
1260
1267
|
onOpenChange: (open) => {
|
|
1261
1268
|
if (!open) setPaneMenu(null);
|
|
1262
1269
|
},
|
|
1263
1270
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1264
|
-
|
|
1271
|
+
_chunkM6SNTMK6js.ContextMenuContent,
|
|
1265
1272
|
{
|
|
1266
1273
|
anchor: pointAnchor(paneMenu.screenX, paneMenu.screenY),
|
|
1267
1274
|
side: "bottom",
|
|
1268
1275
|
align: "start",
|
|
1269
1276
|
sideOffset: 4,
|
|
1270
|
-
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1277
|
+
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM6SNTMK6js.ContextMenuItem, { onClick: handleCreateStepFromPane, children: [
|
|
1271
1278
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.PlusIcon, {}),
|
|
1272
1279
|
t("emailAutomations.canvas.addEmail")
|
|
1273
1280
|
] })
|
|
@@ -1276,21 +1283,21 @@ function EmailAutomationCanvas() {
|
|
|
1276
1283
|
}
|
|
1277
1284
|
),
|
|
1278
1285
|
nodeMenu && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1279
|
-
|
|
1286
|
+
_chunkM6SNTMK6js.ContextMenu,
|
|
1280
1287
|
{
|
|
1281
1288
|
open: true,
|
|
1282
1289
|
onOpenChange: (open) => {
|
|
1283
1290
|
if (!open) setNodeMenu(null);
|
|
1284
1291
|
},
|
|
1285
1292
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1286
|
-
|
|
1293
|
+
_chunkM6SNTMK6js.ContextMenuContent,
|
|
1287
1294
|
{
|
|
1288
1295
|
anchor: pointAnchor(nodeMenu.screenX, nodeMenu.screenY),
|
|
1289
1296
|
side: "bottom",
|
|
1290
1297
|
align: "start",
|
|
1291
1298
|
sideOffset: 4,
|
|
1292
1299
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1293
|
-
|
|
1300
|
+
_chunkM6SNTMK6js.ContextMenuItem,
|
|
1294
1301
|
{
|
|
1295
1302
|
onClick: () => {
|
|
1296
1303
|
const menu = nodeMenu;
|
|
@@ -1331,7 +1338,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, TriggerAutomationEditor, "TriggerAutomation
|
|
|
1331
1338
|
// src/features/email-automation/components/canvas/EmailAutomationCanvasTab.tsx
|
|
1332
1339
|
|
|
1333
1340
|
function EmailAutomationCanvasTab() {
|
|
1334
|
-
const { open, setOpen } =
|
|
1341
|
+
const { open, setOpen } = _chunkM6SNTMK6js.useSidebar.call(void 0, );
|
|
1335
1342
|
_react.useEffect.call(void 0, () => {
|
|
1336
1343
|
const prev = open;
|
|
1337
1344
|
if (prev) setOpen(false);
|
|
@@ -1364,11 +1371,11 @@ function EmailAutomationAddPersonDialog({
|
|
|
1364
1371
|
const searchTermRef = _react.useRef.call(void 0, "");
|
|
1365
1372
|
const [searchTerm, setSearchTerm] = _react.useState.call(void 0, "");
|
|
1366
1373
|
const sentinelRef = _react.useRef.call(void 0, null);
|
|
1367
|
-
const data =
|
|
1374
|
+
const data = _chunkM6SNTMK6js.useDataListRetriever.call(void 0, {
|
|
1368
1375
|
ready: open,
|
|
1369
|
-
retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) =>
|
|
1376
|
+
retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkCSBQAPHDjs.EmailAutomationService.findCandidates(params), "retriever"),
|
|
1370
1377
|
retrieverParams: { automationId },
|
|
1371
|
-
module:
|
|
1378
|
+
module: _chunkZ6T2575Ajs.Modules.EmailAutomationCandidate
|
|
1372
1379
|
});
|
|
1373
1380
|
_react.useEffect.call(void 0, () => {
|
|
1374
1381
|
if (open) data.setReady(true);
|
|
@@ -1381,7 +1388,7 @@ function EmailAutomationAddPersonDialog({
|
|
|
1381
1388
|
},
|
|
1382
1389
|
[data]
|
|
1383
1390
|
);
|
|
1384
|
-
const updateSearchTerm =
|
|
1391
|
+
const updateSearchTerm = _chunkM6SNTMK6js.useDebounce.call(void 0, refreshList, 500);
|
|
1385
1392
|
_react.useEffect.call(void 0, () => {
|
|
1386
1393
|
if (open) updateSearchTerm(searchTerm);
|
|
1387
1394
|
}, [open, searchTerm]);
|
|
@@ -1416,22 +1423,22 @@ function EmailAutomationAddPersonDialog({
|
|
|
1416
1423
|
const add = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async (candidate) => {
|
|
1417
1424
|
if (!candidate.addable) return;
|
|
1418
1425
|
try {
|
|
1419
|
-
await
|
|
1426
|
+
await _chunkCSBQAPHDjs.EmailAutomationService.addEnrollment({
|
|
1420
1427
|
automationId,
|
|
1421
1428
|
input: { id: _uuid.v4.call(void 0, ), recipientType: candidate.recipientType, recipientId: candidate.recipientId }
|
|
1422
1429
|
});
|
|
1423
1430
|
setOpen(false);
|
|
1424
|
-
|
|
1431
|
+
_chunkCSBQAPHDjs.showToast.call(void 0, t("emailAutomations.recipients.addDialog.added", { email: candidate.email }));
|
|
1425
1432
|
onAdded();
|
|
1426
1433
|
} catch (error) {
|
|
1427
|
-
|
|
1434
|
+
_chunkM6SNTMK6js.errorToast.call(void 0, { title: t("common.errors.error"), error });
|
|
1428
1435
|
}
|
|
1429
1436
|
}, "add");
|
|
1430
1437
|
const candidates = _nullishCoalesce(data.data, () => ( []));
|
|
1431
1438
|
const addable = candidates.filter((candidate) => candidate.addable);
|
|
1432
1439
|
const blocked = candidates.filter((candidate) => !candidate.addable);
|
|
1433
1440
|
const renderCandidate = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (candidate) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1434
|
-
|
|
1441
|
+
_chunkM6SNTMK6js.CommandItem,
|
|
1435
1442
|
{
|
|
1436
1443
|
className: "cursor-pointer hover:bg-muted data-selected:hover:bg-muted bg-transparent data-selected:bg-transparent",
|
|
1437
1444
|
value: candidate.id,
|
|
@@ -1440,20 +1447,20 @@ function EmailAutomationAddPersonDialog({
|
|
|
1440
1447
|
"data-addable": candidate.addable ? "true" : "false",
|
|
1441
1448
|
onSelect: () => void add(candidate),
|
|
1442
1449
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-row items-center px-4 py-1", children: [
|
|
1443
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "*:ring-border *:ring-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1450
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "*:ring-border *:ring-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.Avatar, { className: "h-6 w-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.AvatarFallback, { children: _chunkCSBQAPHDjs.getInitials.call(void 0, candidate.name || candidate.email) }) }) }),
|
|
1444
1451
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "ms-5 me-3 flex min-w-0 flex-1 flex-col", children: candidate.name ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
1445
1452
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "truncate text-sm font-medium", children: candidate.name }),
|
|
1446
1453
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "truncate text-xs font-normal", children: candidate.email })
|
|
1447
1454
|
] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "truncate text-sm font-medium", children: candidate.email }) }),
|
|
1448
1455
|
candidate.addable ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1449
|
-
|
|
1456
|
+
_chunkM6SNTMK6js.Badge,
|
|
1450
1457
|
{
|
|
1451
1458
|
variant: candidate.recipientType === "waitlist" ? "softBlue" : "softGray",
|
|
1452
1459
|
className: "ms-auto shrink-0",
|
|
1453
1460
|
children: t(`emailAutomations.recipients.addDialog.kind.${candidate.recipientType}`)
|
|
1454
1461
|
}
|
|
1455
1462
|
) : candidate.reason && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1456
|
-
|
|
1463
|
+
_chunkM6SNTMK6js.Badge,
|
|
1457
1464
|
{
|
|
1458
1465
|
variant: "softAmber",
|
|
1459
1466
|
className: "ms-auto shrink-0",
|
|
@@ -1466,11 +1473,11 @@ function EmailAutomationAddPersonDialog({
|
|
|
1466
1473
|
candidate.id
|
|
1467
1474
|
), "renderCandidate");
|
|
1468
1475
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
1469
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1476
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM6SNTMK6js.Dialog, { open, onOpenChange: handleOpenChange, children: [
|
|
1470
1477
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1471
|
-
|
|
1478
|
+
_chunkM6SNTMK6js.DialogTrigger,
|
|
1472
1479
|
{
|
|
1473
|
-
render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1480
|
+
render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.Button, { variant: "outline", size: "sm", "data-testid": "email-automation-add-person" }),
|
|
1474
1481
|
disabled,
|
|
1475
1482
|
children: [
|
|
1476
1483
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.UserPlusIcon, { className: "h-3.5 w-3.5" }),
|
|
@@ -1478,11 +1485,11 @@ function EmailAutomationAddPersonDialog({
|
|
|
1478
1485
|
]
|
|
1479
1486
|
}
|
|
1480
1487
|
),
|
|
1481
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1482
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1483
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1488
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM6SNTMK6js.DialogContent, { className: "sm:max-w-2xl", "data-testid": "email-automation-add-person-dialog", children: [
|
|
1489
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.DialogHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.DialogTitle, { children: t("emailAutomations.recipients.addDialog.title") }) }),
|
|
1490
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM6SNTMK6js.Command, { shouldFilter: false, children: [
|
|
1484
1491
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1485
|
-
|
|
1492
|
+
_chunkM6SNTMK6js.CommandInput,
|
|
1486
1493
|
{
|
|
1487
1494
|
"data-testid": "email-automation-add-person-search",
|
|
1488
1495
|
placeholder: t("emailAutomations.recipients.addDialog.search"),
|
|
@@ -1490,10 +1497,10 @@ function EmailAutomationAddPersonDialog({
|
|
|
1490
1497
|
onValueChange: setSearchTerm
|
|
1491
1498
|
}
|
|
1492
1499
|
),
|
|
1493
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1494
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1495
|
-
addable.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1496
|
-
blocked.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1500
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM6SNTMK6js.CommandList, { className: "mt-2", children: [
|
|
1501
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.CommandEmpty, { children: t("emailAutomations.recipients.addDialog.empty") }),
|
|
1502
|
+
addable.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.CommandGroup, { heading: t("emailAutomations.recipients.addDialog.groups.addable"), children: addable.map(renderCandidate) }),
|
|
1503
|
+
blocked.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.CommandGroup, { heading: t("emailAutomations.recipients.addDialog.groups.blocked"), children: blocked.map(renderCandidate) }),
|
|
1497
1504
|
data.next && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, style: { height: 1 } })
|
|
1498
1505
|
] })
|
|
1499
1506
|
] })
|
|
@@ -1510,10 +1517,10 @@ function EmailAutomationRecipientsList() {
|
|
|
1510
1517
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
1511
1518
|
const { automation, reload } = useEmailAutomation();
|
|
1512
1519
|
const [statusFilter, setStatusFilter] = _react.useState.call(void 0, "all");
|
|
1513
|
-
const data =
|
|
1514
|
-
retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) =>
|
|
1520
|
+
const data = _chunkM6SNTMK6js.useDataListRetriever.call(void 0, {
|
|
1521
|
+
retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkCSBQAPHDjs.EmailAutomationService.findEnrollments(params), "retriever"),
|
|
1515
1522
|
retrieverParams: { automationId: _optionalChain([automation, 'optionalAccess', _50 => _50.id]) },
|
|
1516
|
-
module:
|
|
1523
|
+
module: _chunkZ6T2575Ajs.Modules.EmailAutomationEnrollment
|
|
1517
1524
|
});
|
|
1518
1525
|
const handleStatusChange = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (value) => {
|
|
1519
1526
|
const status = _nullishCoalesce(value, () => ( "all"));
|
|
@@ -1543,21 +1550,21 @@ function EmailAutomationRecipientsList() {
|
|
|
1543
1550
|
}
|
|
1544
1551
|
}
|
|
1545
1552
|
),
|
|
1546
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1547
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1548
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1549
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1550
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1551
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1552
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1553
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1554
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1553
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM6SNTMK6js.Select, { items: statusItems, value: statusFilter, onValueChange: handleStatusChange, children: [
|
|
1554
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.SelectTrigger, { className: "w-40", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.SelectValue, {}) }),
|
|
1555
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM6SNTMK6js.SelectContent, { children: [
|
|
1556
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.SelectItem, { value: "all", children: t("emailAutomations.recipients.status.all") }),
|
|
1557
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.SelectItem, { value: "active", children: t("emailAutomations.recipients.status.active") }),
|
|
1558
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.SelectItem, { value: "completed", children: t("emailAutomations.recipients.status.completed") }),
|
|
1559
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.SelectItem, { value: "unsubscribed", children: t("emailAutomations.recipients.status.unsubscribed") }),
|
|
1560
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.SelectItem, { value: "exited", children: t("emailAutomations.recipients.status.exited") }),
|
|
1561
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.SelectItem, { value: "failed", children: t("emailAutomations.recipients.status.failed") })
|
|
1555
1562
|
] })
|
|
1556
1563
|
] }),
|
|
1557
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1564
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.Button, { variant: "outline", size: "icon", onClick: () => void data.refresh(), disabled: !data.isLoaded, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.RefreshCw, { className: `h-4 w-4 ${!data.isLoaded ? "animate-spin" : ""}` }) })
|
|
1558
1565
|
] });
|
|
1559
1566
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-testid": "email-automation-recipients", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1560
|
-
|
|
1567
|
+
_chunkM6SNTMK6js.ContentListTable,
|
|
1561
1568
|
{
|
|
1562
1569
|
data,
|
|
1563
1570
|
fields: [
|
|
@@ -1568,7 +1575,7 @@ function EmailAutomationRecipientsList() {
|
|
|
1568
1575
|
"nextSendAt" /* nextSendAt */,
|
|
1569
1576
|
"sentCount" /* sentCount */
|
|
1570
1577
|
],
|
|
1571
|
-
tableGeneratorType:
|
|
1578
|
+
tableGeneratorType: _chunkZ6T2575Ajs.Modules.EmailAutomationEnrollment,
|
|
1572
1579
|
title: t("emailAutomations.tabs.recipients"),
|
|
1573
1580
|
filters,
|
|
1574
1581
|
allowSearch: false,
|
|
@@ -1586,15 +1593,15 @@ function EmailAutomationContainer({ automationId }) {
|
|
|
1586
1593
|
_chunk7QVYU63Ejs.__name.call(void 0, EmailAutomationContainer, "EmailAutomationContainer");
|
|
1587
1594
|
function EmailAutomationShell() {
|
|
1588
1595
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
1589
|
-
const generateUrl =
|
|
1596
|
+
const generateUrl = _chunkM6SNTMK6js.usePageUrlGenerator.call(void 0, );
|
|
1590
1597
|
const { automation, reload } = useEmailAutomation();
|
|
1591
1598
|
if (!automation) return null;
|
|
1592
1599
|
const breadcrumbs = [
|
|
1593
|
-
{ name: t("emailAutomations.admin.title"), href: generateUrl({ page:
|
|
1600
|
+
{ name: t("emailAutomations.admin.title"), href: generateUrl({ page: _chunkZ6T2575Ajs.Modules.EmailAutomation }) },
|
|
1594
1601
|
{ name: automation.name }
|
|
1595
1602
|
];
|
|
1596
1603
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1597
|
-
|
|
1604
|
+
_chunkM6SNTMK6js.SharedProvider,
|
|
1598
1605
|
{
|
|
1599
1606
|
value: {
|
|
1600
1607
|
breadcrumbs,
|
|
@@ -1608,9 +1615,9 @@ function EmailAutomationShell() {
|
|
|
1608
1615
|
}
|
|
1609
1616
|
},
|
|
1610
1617
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1611
|
-
|
|
1618
|
+
_chunkM6SNTMK6js.RoundPageContainer,
|
|
1612
1619
|
{
|
|
1613
|
-
module:
|
|
1620
|
+
module: _chunkZ6T2575Ajs.Modules.EmailAutomation,
|
|
1614
1621
|
id: automation.id,
|
|
1615
1622
|
fullWidth: true,
|
|
1616
1623
|
forceHeader: true,
|
|
@@ -1651,12 +1658,12 @@ function EmailUnsubscribe({ token, scope, source = "automation" }) {
|
|
|
1651
1658
|
async function unsubscribe() {
|
|
1652
1659
|
try {
|
|
1653
1660
|
if (source === "blast") {
|
|
1654
|
-
await
|
|
1661
|
+
await _chunkCSBQAPHDjs.EmailBlastDeliveryService.unsubscribe({ token });
|
|
1655
1662
|
setStoppedScope("all");
|
|
1656
1663
|
setState("success");
|
|
1657
1664
|
return;
|
|
1658
1665
|
}
|
|
1659
|
-
const enrollment = await
|
|
1666
|
+
const enrollment = await _chunkCSBQAPHDjs.EmailAutomationEnrollmentService.unsubscribe({ token, scope });
|
|
1660
1667
|
setAutomationName(_nullishCoalesce(_optionalChain([enrollment, 'optionalAccess', _51 => _51.automation, 'optionalAccess', _52 => _52.name]), () => ( "")));
|
|
1661
1668
|
setIsServiceAutomation(_optionalChain([enrollment, 'optionalAccess', _53 => _53.automation, 'optionalAccess', _54 => _54.purpose]) === "service");
|
|
1662
1669
|
setStoppedScope(scope);
|
|
@@ -1671,7 +1678,7 @@ function EmailUnsubscribe({ token, scope, source = "automation" }) {
|
|
|
1671
1678
|
const stopAll = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
|
|
1672
1679
|
setIsStoppingAll(true);
|
|
1673
1680
|
try {
|
|
1674
|
-
await
|
|
1681
|
+
await _chunkCSBQAPHDjs.EmailAutomationEnrollmentService.unsubscribe({ token, scope: "all" });
|
|
1675
1682
|
setStoppedScope("all");
|
|
1676
1683
|
} catch (e3) {
|
|
1677
1684
|
setState("error");
|
|
@@ -1688,16 +1695,16 @@ function EmailUnsubscribe({ token, scope, source = "automation" }) {
|
|
|
1688
1695
|
if (state === "error") {
|
|
1689
1696
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center justify-center space-y-4 py-16 text-center", children: [
|
|
1690
1697
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-destructive/10 rounded-full p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.XCircle, { className: "text-destructive h-12 w-12" }) }),
|
|
1691
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1698
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.SectionHeader, { level: 2, children: t("emailAutomations.unsubscribe.invalidTitle") }),
|
|
1692
1699
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground max-w-md text-sm leading-relaxed", children: t("emailAutomations.unsubscribe.invalidBody") })
|
|
1693
1700
|
] });
|
|
1694
1701
|
}
|
|
1695
1702
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center justify-center space-y-4 py-16 text-center", children: [
|
|
1696
1703
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-primary/10 rounded-full p-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CheckCircle, { className: "text-primary h-12 w-12" }) }),
|
|
1697
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1704
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.SectionHeader, { level: 2, children: t("emailAutomations.unsubscribe.title") }),
|
|
1698
1705
|
stoppedScope === "all" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground max-w-md text-sm leading-relaxed", children: t("emailAutomations.unsubscribe.stoppedAll") }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
1699
1706
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground max-w-md text-sm leading-relaxed", children: t("emailAutomations.unsubscribe.stoppedAutomation", { name: automationName }) }),
|
|
1700
|
-
!isServiceAutomation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1707
|
+
!isServiceAutomation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkM6SNTMK6js.Button, { variant: "secondary", onClick: stopAll, disabled: isStoppingAll, children: [
|
|
1701
1708
|
isStoppingAll && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-4 w-4 animate-spin" }),
|
|
1702
1709
|
t("emailAutomations.unsubscribe.alsoStopAll")
|
|
1703
1710
|
] })
|
|
@@ -1712,7 +1719,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, EmailUnsubscribe, "EmailUnsubscribe");
|
|
|
1712
1719
|
|
|
1713
1720
|
var useEmailAutomationTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => {
|
|
1714
1721
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
1715
|
-
const generateUrl =
|
|
1722
|
+
const generateUrl = _chunkM6SNTMK6js.usePageUrlGenerator.call(void 0, );
|
|
1716
1723
|
const triggerLabels = _nullishCoalesce(_optionalChain([params, 'access', _55 => _55.context, 'optionalAccess', _56 => _56.triggerLabels]), () => ( {}));
|
|
1717
1724
|
const tableData = _react.useMemo.call(void 0, () => {
|
|
1718
1725
|
return params.data.map((automation) => {
|
|
@@ -1741,7 +1748,7 @@ var useEmailAutomationTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.c
|
|
|
1741
1748
|
header: t("emailAutomations.list.columns.name"),
|
|
1742
1749
|
cell: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ row }) => {
|
|
1743
1750
|
const automation = row.original.jsonApiData;
|
|
1744
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1751
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.Link, { href: generateUrl({ page: _chunkZ6T2575Ajs.Modules.EmailAutomation, id: automation.id }), children: automation.name });
|
|
1745
1752
|
}, "cell"),
|
|
1746
1753
|
enableSorting: false,
|
|
1747
1754
|
enableHiding: false
|
|
@@ -1752,7 +1759,7 @@ var useEmailAutomationTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.c
|
|
|
1752
1759
|
header: t("emailAutomations.list.columns.purpose"),
|
|
1753
1760
|
cell: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ row }) => {
|
|
1754
1761
|
const automation = row.original.jsonApiData;
|
|
1755
|
-
return automation.purpose === "service" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1762
|
+
return automation.purpose === "service" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.Badge, { variant: "softBlue", "data-testid": "email-automation-purpose-badge", children: t("emailPurpose.service") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.Badge, { variant: "softGray", "data-testid": "email-automation-purpose-badge", children: t("emailPurpose.marketing") });
|
|
1756
1763
|
}, "cell"),
|
|
1757
1764
|
enableSorting: false,
|
|
1758
1765
|
enableHiding: false
|
|
@@ -1775,7 +1782,7 @@ var useEmailAutomationTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.c
|
|
|
1775
1782
|
header: t("emailAutomations.list.columns.status"),
|
|
1776
1783
|
cell: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ row }) => {
|
|
1777
1784
|
const automation = row.original.jsonApiData;
|
|
1778
|
-
return automation.isActive ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1785
|
+
return automation.isActive ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.Badge, { variant: "softGreen", children: t("emailAutomations.list.status.on") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM6SNTMK6js.Badge, { variant: "softGray", children: t("emailAutomations.list.status.off") });
|
|
1779
1786
|
}, "cell"),
|
|
1780
1787
|
enableSorting: false,
|
|
1781
1788
|
enableHiding: false
|
|
@@ -1798,7 +1805,7 @@ var useEmailAutomationTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.c
|
|
|
1798
1805
|
}, [params.fields, fieldColumnMap, t, generateUrl]);
|
|
1799
1806
|
return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
|
|
1800
1807
|
}, "useEmailAutomationTableStructure");
|
|
1801
|
-
|
|
1808
|
+
_chunkM6SNTMK6js.registerTableGenerator.call(void 0, "email-automations", useEmailAutomationTableStructure);
|
|
1802
1809
|
|
|
1803
1810
|
// src/features/email-automation/hooks/useEmailAutomationEnrollmentTableStructure.tsx
|
|
1804
1811
|
|
|
@@ -1813,7 +1820,8 @@ var STATUS_VARIANTS = {
|
|
|
1813
1820
|
};
|
|
1814
1821
|
var useEmailAutomationEnrollmentTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => {
|
|
1815
1822
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
1816
|
-
const locale =
|
|
1823
|
+
const { locale } = _chunkSYMI4IDWjs.useDateFormatter.call(void 0, );
|
|
1824
|
+
const now = _chunkSYMI4IDWjs.useMountedNow.call(void 0, );
|
|
1817
1825
|
const tableData = _react.useMemo.call(void 0, () => {
|
|
1818
1826
|
return params.data.map((enrollment) => {
|
|
1819
1827
|
const entry = { jsonApiData: enrollment };
|
|
@@ -1854,7 +1862,7 @@ var useEmailAutomationEnrollmentTableStructure = /* @__PURE__ */ _chunk7QVYU63Ej
|
|
|
1854
1862
|
cell: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ row }) => {
|
|
1855
1863
|
const enrollment = row.original.jsonApiData;
|
|
1856
1864
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1857
|
-
|
|
1865
|
+
_chunkM6SNTMK6js.Badge,
|
|
1858
1866
|
{
|
|
1859
1867
|
variant: _nullishCoalesce(STATUS_VARIANTS[enrollment.status], () => ( "softGray")),
|
|
1860
1868
|
title: enrollment.status === "failed" ? enrollment.lastError : void 0,
|
|
@@ -1883,7 +1891,7 @@ var useEmailAutomationEnrollmentTableStructure = /* @__PURE__ */ _chunk7QVYU63Ej
|
|
|
1883
1891
|
cell: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ row }) => {
|
|
1884
1892
|
const enrollment = row.original.jsonApiData;
|
|
1885
1893
|
if (!enrollment.nextSendAt) return empty;
|
|
1886
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs tabular-nums", children:
|
|
1894
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs tabular-nums", children: now ? _chunkHROKKUBQjs.formatDate.call(void 0, enrollment.nextSendAt, "dateTime", locale, now) : "" });
|
|
1887
1895
|
}, "cell"),
|
|
1888
1896
|
enableSorting: false,
|
|
1889
1897
|
enableHiding: false
|
|
@@ -1902,10 +1910,10 @@ var useEmailAutomationEnrollmentTableStructure = /* @__PURE__ */ _chunk7QVYU63Ej
|
|
|
1902
1910
|
};
|
|
1903
1911
|
const columns = _react.useMemo.call(void 0, () => {
|
|
1904
1912
|
return params.fields.map((field) => _optionalChain([fieldColumnMap, 'access', _59 => _59[field], 'optionalCall', _60 => _60()])).filter((col) => col !== void 0);
|
|
1905
|
-
}, [params.fields, fieldColumnMap, t, locale]);
|
|
1913
|
+
}, [params.fields, fieldColumnMap, t, locale, now]);
|
|
1906
1914
|
return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
|
|
1907
1915
|
}, "useEmailAutomationEnrollmentTableStructure");
|
|
1908
|
-
|
|
1916
|
+
_chunkM6SNTMK6js.registerTableGenerator.call(void 0, "email-automation-enrollments", useEmailAutomationEnrollmentTableStructure);
|
|
1909
1917
|
|
|
1910
1918
|
|
|
1911
1919
|
|