@carlonicora/nextjs-jsonapi 6.13.0 → 6.14.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-2VLPSEKS.js → BlockNoteEditor-CUNH4LSQ.js} +25 -25
- package/dist/{BlockNoteEditor-2VLPSEKS.js.map → BlockNoteEditor-CUNH4LSQ.js.map} +1 -1
- package/dist/{BlockNoteEditor-22Q4DJBU.mjs → BlockNoteEditor-QIVV2OB4.mjs} +10 -10
- package/dist/{BlockNoteViewer-2XYASA5Y.js → BlockNoteViewer-APBOPT4B.js} +8 -8
- package/dist/{BlockNoteViewer-2XYASA5Y.js.map → BlockNoteViewer-APBOPT4B.js.map} +1 -1
- package/dist/{BlockNoteViewer-NBW2H6LC.mjs → BlockNoteViewer-HIUAJQRI.mjs} +7 -7
- package/dist/JsonApiRequest-G4J2WTSU.js +26 -0
- package/dist/{JsonApiRequest-WISJZSDE.js.map → JsonApiRequest-G4J2WTSU.js.map} +1 -1
- package/dist/{JsonApiRequest-F6TMJ42G.mjs → JsonApiRequest-IKKHWCPB.mjs} +2 -2
- package/dist/billing/index.js +497 -497
- package/dist/billing/index.mjs +9 -9
- package/dist/{chunk-7DBJTNSU.mjs → chunk-4RPGFQBA.mjs} +2 -2
- package/dist/{chunk-BZ5J2FIV.js → chunk-4XLDBOSE.js} +11 -11
- package/dist/{chunk-BZ5J2FIV.js.map → chunk-4XLDBOSE.js.map} +1 -1
- package/dist/{chunk-27LQDGNP.mjs → chunk-4ZJIUTIV.mjs} +6 -1
- package/dist/chunk-4ZJIUTIV.mjs.map +1 -0
- package/dist/{chunk-PXDUJ47N.js → chunk-6RCZ64BQ.js} +18 -18
- package/dist/{chunk-PXDUJ47N.js.map → chunk-6RCZ64BQ.js.map} +1 -1
- package/dist/{chunk-7JZHPMGW.mjs → chunk-A3RB47X4.mjs} +44 -20
- package/dist/chunk-A3RB47X4.mjs.map +1 -0
- package/dist/{chunk-DOCIFE6A.mjs → chunk-AUD6ZLBB.mjs} +3 -3
- package/dist/{chunk-GB6DBFYY.js → chunk-DGN3PR2F.js} +3 -3
- package/dist/{chunk-GB6DBFYY.js.map → chunk-DGN3PR2F.js.map} +1 -1
- package/dist/{chunk-7ZHTPFFT.js → chunk-DJXSCARG.js} +15 -15
- package/dist/{chunk-7ZHTPFFT.js.map → chunk-DJXSCARG.js.map} +1 -1
- package/dist/{chunk-QKNGZDSQ.js → chunk-GM4VZTWL.js} +2 -2
- package/dist/{chunk-QKNGZDSQ.js.map → chunk-GM4VZTWL.js.map} +1 -1
- package/dist/{chunk-2H342HNN.js → chunk-GSRTVIIK.js} +1184 -1178
- package/dist/chunk-GSRTVIIK.js.map +1 -0
- package/dist/{chunk-47BBY5KA.mjs → chunk-HAW5PNJG.mjs} +4 -4
- package/dist/{chunk-YRKIFYOE.mjs → chunk-KTGKW72G.mjs} +27 -8
- package/dist/chunk-KTGKW72G.mjs.map +1 -0
- package/dist/{chunk-PV4Z5W6V.js → chunk-KV4N7DEG.js} +19 -19
- package/dist/{chunk-PV4Z5W6V.js.map → chunk-KV4N7DEG.js.map} +1 -1
- package/dist/{chunk-ZLTOUZN2.mjs → chunk-M3N7LPHX.mjs} +4 -4
- package/dist/{chunk-DGWOVYEC.mjs → chunk-MQ7TXALH.mjs} +2 -2
- package/dist/{chunk-W62MHDWM.js → chunk-N5ZE2Z6I.js} +58 -34
- package/dist/chunk-N5ZE2Z6I.js.map +1 -0
- package/dist/{chunk-2SV4SS6N.js → chunk-OQQ7CZWT.js} +12 -12
- package/dist/{chunk-2SV4SS6N.js.map → chunk-OQQ7CZWT.js.map} +1 -1
- package/dist/{chunk-JJMMT24D.mjs → chunk-OUEYZOLB.mjs} +2 -2
- package/dist/{chunk-XXP3TQHF.mjs → chunk-OY65RYD3.mjs} +2 -2
- package/dist/{chunk-MOGEGWXW.js → chunk-PMESKNKL.js} +868 -868
- package/dist/{chunk-MOGEGWXW.js.map → chunk-PMESKNKL.js.map} +1 -1
- package/dist/{chunk-B6JGKDP2.js → chunk-QGVVF77L.js} +48 -29
- package/dist/chunk-QGVVF77L.js.map +1 -0
- package/dist/{chunk-BH6JWIKI.mjs → chunk-QIEF7HIL.mjs} +2 -2
- package/dist/{chunk-P445QGOC.mjs → chunk-RFKSJIQB.mjs} +7 -7
- package/dist/{chunk-6JUCIWDC.mjs → chunk-UOTHRJD2.mjs} +2 -2
- package/dist/{chunk-KMW7UNL2.js → chunk-WCEYT3GG.js} +8 -8
- package/dist/{chunk-KMW7UNL2.js.map → chunk-WCEYT3GG.js.map} +1 -1
- package/dist/{chunk-MHB36MYE.js → chunk-WUNSG3IN.js} +7 -2
- package/dist/chunk-WUNSG3IN.js.map +1 -0
- package/dist/{chunk-H4NLDX5G.mjs → chunk-YKNULEHB.mjs} +19 -13
- package/dist/chunk-YKNULEHB.mjs.map +1 -0
- package/dist/{chunk-Z4POQWFG.js → chunk-ZYSNJKOP.js} +4 -4
- package/dist/{chunk-Z4POQWFG.js.map → chunk-ZYSNJKOP.js.map} +1 -1
- package/dist/client/index.js +10 -10
- package/dist/client/index.mjs +9 -9
- package/dist/components/index.js +10 -10
- package/dist/components/index.mjs +9 -9
- package/dist/contexts/index.js +10 -10
- package/dist/contexts/index.mjs +9 -9
- package/dist/core/index.js +7 -7
- package/dist/core/index.mjs +6 -6
- package/dist/email-automations/index.js +99 -99
- package/dist/email-automations/index.mjs +9 -9
- package/dist/features/analytics/index.js +126 -126
- package/dist/features/analytics/index.mjs +9 -9
- package/dist/features/analytics/server.js +10 -10
- package/dist/features/analytics/server.mjs +8 -8
- package/dist/features/blog/index.js +156 -156
- package/dist/features/blog/index.mjs +9 -9
- package/dist/features/blog/server.js +28 -28
- package/dist/features/blog/server.mjs +7 -7
- package/dist/features/help/index.js +43 -43
- package/dist/features/help/index.mjs +9 -9
- package/dist/features/tokenusage/index.js +132 -132
- package/dist/features/tokenusage/index.mjs +9 -9
- package/dist/index.js +8 -8
- package/dist/index.mjs +7 -7
- package/dist/{lifecycle-LKGPRBS7.mjs → lifecycle-KI3PCJSE.mjs} +3 -3
- package/dist/lifecycle-TO65I7TO.js +23 -0
- package/dist/{lifecycle-4GUOTB46.js.map → lifecycle-TO65I7TO.js.map} +1 -1
- package/dist/local-transport-4YDJ6FQG.js +15 -0
- package/dist/{local-transport-7H3SPZSA.js.map → local-transport-4YDJ6FQG.js.map} +1 -1
- package/dist/local-transport-C7YTA4I7.mjs +15 -0
- package/dist/offline/index.d.mts +160 -4
- package/dist/offline/index.d.ts +160 -4
- package/dist/offline/index.js +210 -163
- package/dist/offline/index.js.map +1 -1
- package/dist/offline/index.mjs +76 -29
- package/dist/offline/index.mjs.map +1 -1
- package/dist/request-66FGJIHB.mjs +10 -0
- package/dist/request-6W6UGKJV.js +10 -0
- package/dist/{request-KTBV6HHH.js.map → request-6W6UGKJV.js.map} +1 -1
- package/dist/server/index.js +9 -9
- package/dist/server/index.mjs +8 -8
- package/dist/write-through-BAPS24GL.js +15 -0
- package/dist/{write-through-FDQ7N4YI.js.map → write-through-BAPS24GL.js.map} +1 -1
- package/dist/write-through-IWQKXYHE.mjs +15 -0
- package/package.json +1 -1
- package/src/features/onboarding/contexts/OnboardingContext.spec.tsx +42 -1
- package/src/features/onboarding/contexts/OnboardingContext.tsx +11 -1
- package/src/offline/__tests__/generic-answers.spec.ts +146 -3
- package/src/offline/__tests__/local-transport.spec.ts +15 -1
- package/src/offline/__tests__/offline-fixtures.ts +29 -2
- package/src/offline/__tests__/write-through.spec.ts +27 -1
- package/src/offline/config.ts +9 -0
- package/src/offline/generic-answers.ts +44 -17
- package/src/offline/index.ts +2 -0
- package/src/offline/local-transport.ts +5 -3
- package/src/offline/sync/__tests__/runtime.spec.ts +30 -1
- package/src/offline/sync/__tests__/sync-fixtures.ts +22 -0
- package/src/offline/sync/__tests__/sync-root.spec.ts +184 -1
- package/src/offline/sync/known-roots.ts +29 -7
- package/src/offline/sync/runtime.ts +3 -2
- package/src/offline/sync/sync-root.ts +70 -19
- package/src/offline/types.ts +39 -1
- package/src/offline/write-through.ts +6 -3
- package/dist/JsonApiRequest-WISJZSDE.js +0 -26
- package/dist/chunk-27LQDGNP.mjs.map +0 -1
- package/dist/chunk-2H342HNN.js.map +0 -1
- package/dist/chunk-7JZHPMGW.mjs.map +0 -1
- package/dist/chunk-B6JGKDP2.js.map +0 -1
- package/dist/chunk-H4NLDX5G.mjs.map +0 -1
- package/dist/chunk-MHB36MYE.js.map +0 -1
- package/dist/chunk-W62MHDWM.js.map +0 -1
- package/dist/chunk-YRKIFYOE.mjs.map +0 -1
- package/dist/lifecycle-4GUOTB46.js +0 -23
- package/dist/local-transport-7H3SPZSA.js +0 -15
- package/dist/local-transport-QYFKA6AN.mjs +0 -15
- package/dist/request-KTBV6HHH.js +0 -10
- package/dist/request-SQOUNWZ4.mjs +0 -10
- package/dist/write-through-FDQ7N4YI.js +0 -15
- package/dist/write-through-R25VQMH6.mjs +0 -15
- /package/dist/{BlockNoteEditor-22Q4DJBU.mjs.map → BlockNoteEditor-QIVV2OB4.mjs.map} +0 -0
- /package/dist/{BlockNoteViewer-NBW2H6LC.mjs.map → BlockNoteViewer-HIUAJQRI.mjs.map} +0 -0
- /package/dist/{JsonApiRequest-F6TMJ42G.mjs.map → JsonApiRequest-IKKHWCPB.mjs.map} +0 -0
- /package/dist/{chunk-7DBJTNSU.mjs.map → chunk-4RPGFQBA.mjs.map} +0 -0
- /package/dist/{chunk-DOCIFE6A.mjs.map → chunk-AUD6ZLBB.mjs.map} +0 -0
- /package/dist/{chunk-47BBY5KA.mjs.map → chunk-HAW5PNJG.mjs.map} +0 -0
- /package/dist/{chunk-ZLTOUZN2.mjs.map → chunk-M3N7LPHX.mjs.map} +0 -0
- /package/dist/{chunk-DGWOVYEC.mjs.map → chunk-MQ7TXALH.mjs.map} +0 -0
- /package/dist/{chunk-JJMMT24D.mjs.map → chunk-OUEYZOLB.mjs.map} +0 -0
- /package/dist/{chunk-XXP3TQHF.mjs.map → chunk-OY65RYD3.mjs.map} +0 -0
- /package/dist/{chunk-BH6JWIKI.mjs.map → chunk-QIEF7HIL.mjs.map} +0 -0
- /package/dist/{chunk-P445QGOC.mjs.map → chunk-RFKSJIQB.mjs.map} +0 -0
- /package/dist/{chunk-6JUCIWDC.mjs.map → chunk-UOTHRJD2.mjs.map} +0 -0
- /package/dist/{lifecycle-LKGPRBS7.mjs.map → lifecycle-KI3PCJSE.mjs.map} +0 -0
- /package/dist/{local-transport-QYFKA6AN.mjs.map → local-transport-C7YTA4I7.mjs.map} +0 -0
- /package/dist/{request-SQOUNWZ4.mjs.map → request-66FGJIHB.mjs.map} +0 -0
- /package/dist/{write-through-R25VQMH6.mjs.map → write-through-IWQKXYHE.mjs.map} +0 -0
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
|
|
34
|
-
var
|
|
34
|
+
var _chunkGSRTVIIKjs = require('../chunk-GSRTVIIK.js');
|
|
35
35
|
require('../chunk-3EPNHTMH.js');
|
|
36
|
-
require('../chunk-
|
|
36
|
+
require('../chunk-DJXSCARG.js');
|
|
37
37
|
require('../chunk-G4JR3SFV.js');
|
|
38
38
|
|
|
39
39
|
|
|
@@ -44,16 +44,16 @@ require('../chunk-G4JR3SFV.js');
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
|
|
47
|
-
var
|
|
48
|
-
require('../chunk-
|
|
47
|
+
var _chunkPMESKNKLjs = require('../chunk-PMESKNKL.js');
|
|
48
|
+
require('../chunk-DGN3PR2F.js');
|
|
49
49
|
|
|
50
50
|
|
|
51
51
|
|
|
52
|
-
var
|
|
53
|
-
require('../chunk-
|
|
54
|
-
require('../chunk-
|
|
55
|
-
require('../chunk-
|
|
56
|
-
require('../chunk-
|
|
52
|
+
var _chunk4XLDBOSEjs = require('../chunk-4XLDBOSE.js');
|
|
53
|
+
require('../chunk-KV4N7DEG.js');
|
|
54
|
+
require('../chunk-WCEYT3GG.js');
|
|
55
|
+
require('../chunk-WUNSG3IN.js');
|
|
56
|
+
require('../chunk-GM4VZTWL.js');
|
|
57
57
|
require('../chunk-LXKSUWAV.js');
|
|
58
58
|
|
|
59
59
|
|
|
@@ -86,12 +86,12 @@ function EmailAutomationEditorInternal({
|
|
|
86
86
|
onDialogOpenChange
|
|
87
87
|
}) {
|
|
88
88
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
89
|
-
const router =
|
|
89
|
+
const router = _chunk4XLDBOSEjs.useI18nRouter.call(void 0, );
|
|
90
90
|
const isEdit = !!automation;
|
|
91
91
|
const [triggers, setTriggers] = _react.useState.call(void 0, []);
|
|
92
92
|
_react.useEffect.call(void 0, () => {
|
|
93
93
|
let active = true;
|
|
94
|
-
|
|
94
|
+
_chunkPMESKNKLjs.EmailAutomationService.findTriggers().then((list) => {
|
|
95
95
|
if (active) setTriggers(list);
|
|
96
96
|
}).catch(() => {
|
|
97
97
|
});
|
|
@@ -129,14 +129,14 @@ function EmailAutomationEditorInternal({
|
|
|
129
129
|
defaultValues: getDefaultValues()
|
|
130
130
|
});
|
|
131
131
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
132
|
-
|
|
132
|
+
_chunkGSRTVIIKjs.EditorSheet,
|
|
133
133
|
{
|
|
134
134
|
form,
|
|
135
135
|
entityType: t("emailAutomations.admin.title"),
|
|
136
136
|
entityName: _optionalChain([automation, 'optionalAccess', _7 => _7.name]),
|
|
137
137
|
title: isEdit ? t("emailAutomations.admin.editAutomation") : t("emailAutomations.admin.newAutomation"),
|
|
138
138
|
isEdit,
|
|
139
|
-
module:
|
|
139
|
+
module: _chunk4XLDBOSEjs.Modules.EmailAutomation,
|
|
140
140
|
size: "md",
|
|
141
141
|
propagateChanges,
|
|
142
142
|
onSuccess,
|
|
@@ -150,7 +150,7 @@ function EmailAutomationEditorInternal({
|
|
|
150
150
|
replyTo: values.replyTo || void 0,
|
|
151
151
|
isActive: values.isActive
|
|
152
152
|
};
|
|
153
|
-
return isEdit ? await
|
|
153
|
+
return isEdit ? await _chunkPMESKNKLjs.EmailAutomationService.update(payload) : await _chunkPMESKNKLjs.EmailAutomationService.create(payload);
|
|
154
154
|
},
|
|
155
155
|
onReset: getDefaultValues,
|
|
156
156
|
trigger,
|
|
@@ -159,9 +159,9 @@ function EmailAutomationEditorInternal({
|
|
|
159
159
|
dialogOpen,
|
|
160
160
|
onDialogOpenChange,
|
|
161
161
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-y-4", children: [
|
|
162
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
162
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.FormInput, { form, id: "name", name: t("emailAutomations.fields.name.label"), isRequired: true }),
|
|
163
163
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
164
|
-
|
|
164
|
+
_chunkGSRTVIIKjs.FormSelect,
|
|
165
165
|
{
|
|
166
166
|
form,
|
|
167
167
|
id: "trigger",
|
|
@@ -172,7 +172,7 @@ function EmailAutomationEditorInternal({
|
|
|
172
172
|
}
|
|
173
173
|
),
|
|
174
174
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
175
|
-
|
|
175
|
+
_chunkGSRTVIIKjs.FormSelect,
|
|
176
176
|
{
|
|
177
177
|
form,
|
|
178
178
|
id: "exitTrigger",
|
|
@@ -182,9 +182,9 @@ function EmailAutomationEditorInternal({
|
|
|
182
182
|
allowEmpty: true
|
|
183
183
|
}
|
|
184
184
|
),
|
|
185
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
185
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.FormInput, { form, id: "replyTo", name: t("emailAutomations.fields.replyTo.label") }),
|
|
186
186
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
187
|
-
|
|
187
|
+
_chunkGSRTVIIKjs.FormSwitch,
|
|
188
188
|
{
|
|
189
189
|
form,
|
|
190
190
|
id: "isActive",
|
|
@@ -208,14 +208,14 @@ var EmailAutomationEditor_default = EmailAutomationEditor;
|
|
|
208
208
|
function EmailAutomationsList({ fullWidth } = {}) {
|
|
209
209
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
210
210
|
const [triggers, setTriggers] = _react.useState.call(void 0, []);
|
|
211
|
-
const data =
|
|
212
|
-
retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) =>
|
|
211
|
+
const data = _chunkGSRTVIIKjs.useDataListRetriever.call(void 0, {
|
|
212
|
+
retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkPMESKNKLjs.EmailAutomationService.findMany(params), "retriever"),
|
|
213
213
|
retrieverParams: {},
|
|
214
|
-
module:
|
|
214
|
+
module: _chunk4XLDBOSEjs.Modules.EmailAutomation
|
|
215
215
|
});
|
|
216
216
|
_react.useEffect.call(void 0, () => {
|
|
217
217
|
let active = true;
|
|
218
|
-
|
|
218
|
+
_chunkPMESKNKLjs.EmailAutomationService.findTriggers().then((list) => {
|
|
219
219
|
if (active) setTriggers(list);
|
|
220
220
|
}).catch(() => {
|
|
221
221
|
});
|
|
@@ -229,7 +229,7 @@ function EmailAutomationsList({ fullWidth } = {}) {
|
|
|
229
229
|
);
|
|
230
230
|
const functions = [/* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmailAutomationEditor_default, {}, "create-email-automation")];
|
|
231
231
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
232
|
-
|
|
232
|
+
_chunkGSRTVIIKjs.ContentListTable,
|
|
233
233
|
{
|
|
234
234
|
data,
|
|
235
235
|
fields: [
|
|
@@ -241,12 +241,12 @@ function EmailAutomationsList({ fullWidth } = {}) {
|
|
|
241
241
|
"completed" /* completed */,
|
|
242
242
|
"unsubscribed" /* unsubscribed */
|
|
243
243
|
],
|
|
244
|
-
tableGeneratorType:
|
|
244
|
+
tableGeneratorType: _chunk4XLDBOSEjs.Modules.EmailAutomation,
|
|
245
245
|
functions,
|
|
246
246
|
fullWidth,
|
|
247
247
|
title: t("emailAutomations.admin.title"),
|
|
248
248
|
context: { triggerLabels },
|
|
249
|
-
emptyState: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
249
|
+
emptyState: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.EmptyState, { icon: _lucidereact.MailIcon, title: t("emailAutomations.admin.empty") })
|
|
250
250
|
}
|
|
251
251
|
);
|
|
252
252
|
}
|
|
@@ -257,7 +257,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, EmailAutomationsList, "EmailAutomationsList
|
|
|
257
257
|
function EmailAutomationsListContainer() {
|
|
258
258
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
259
259
|
const breadcrumbs = [{ name: t("emailAutomations.admin.title") }];
|
|
260
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
260
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.SharedProvider, { value: { breadcrumbs, title: { type: t("emailAutomations.admin.title") } }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.RoundPageContainer, { module: _chunk4XLDBOSEjs.Modules.EmailAutomation, fullWidth: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmailAutomationsList, { fullWidth: true }) }) });
|
|
261
261
|
}
|
|
262
262
|
_chunk7QVYU63Ejs.__name.call(void 0, EmailAutomationsListContainer, "EmailAutomationsListContainer");
|
|
263
263
|
|
|
@@ -276,8 +276,8 @@ var EmailAutomationProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
|
|
|
276
276
|
const [selectedStepId, setSelectedStepId] = _react.useState.call(void 0, null);
|
|
277
277
|
const reload = _react.useCallback.call(void 0, async () => {
|
|
278
278
|
const [loadedAutomation, loadedSteps] = await Promise.all([
|
|
279
|
-
|
|
280
|
-
|
|
279
|
+
_chunkPMESKNKLjs.EmailAutomationService.findOne({ id: automationId }),
|
|
280
|
+
_chunkPMESKNKLjs.EmailAutomationStepService.findByAutomation({ automationId })
|
|
281
281
|
]);
|
|
282
282
|
setAutomation(loadedAutomation);
|
|
283
283
|
setSteps(loadedSteps);
|
|
@@ -287,7 +287,7 @@ var EmailAutomationProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
|
|
|
287
287
|
}, [reload]);
|
|
288
288
|
_react.useEffect.call(void 0, () => {
|
|
289
289
|
let active = true;
|
|
290
|
-
|
|
290
|
+
_chunkPMESKNKLjs.EmailAutomationService.findTriggers().then((list) => {
|
|
291
291
|
if (active) setTriggers(list);
|
|
292
292
|
}).catch(() => {
|
|
293
293
|
});
|
|
@@ -298,7 +298,7 @@ var EmailAutomationProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
|
|
|
298
298
|
const select = _react.useCallback.call(void 0, (id) => setSelectedStepId(id), []);
|
|
299
299
|
const createStep = _react.useCallback.call(void 0,
|
|
300
300
|
async (input) => {
|
|
301
|
-
const saved = await
|
|
301
|
+
const saved = await _chunkPMESKNKLjs.EmailAutomationStepService.create({ ...input, id: _nullishCoalesce(input.id, () => ( _uuid.v4.call(void 0, ))), automationId });
|
|
302
302
|
await reload();
|
|
303
303
|
return saved;
|
|
304
304
|
},
|
|
@@ -306,7 +306,7 @@ var EmailAutomationProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
|
|
|
306
306
|
);
|
|
307
307
|
const updateStep = _react.useCallback.call(void 0,
|
|
308
308
|
async (input) => {
|
|
309
|
-
const saved = await
|
|
309
|
+
const saved = await _chunkPMESKNKLjs.EmailAutomationStepService.update({ ...input, automationId });
|
|
310
310
|
await reload();
|
|
311
311
|
return saved;
|
|
312
312
|
},
|
|
@@ -314,7 +314,7 @@ var EmailAutomationProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
|
|
|
314
314
|
);
|
|
315
315
|
const deleteStep = _react.useCallback.call(void 0,
|
|
316
316
|
async (id) => {
|
|
317
|
-
await
|
|
317
|
+
await _chunkPMESKNKLjs.EmailAutomationStepService.delete({ id });
|
|
318
318
|
if (selectedStepId === id) setSelectedStepId(null);
|
|
319
319
|
await reload();
|
|
320
320
|
},
|
|
@@ -322,8 +322,8 @@ var EmailAutomationProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
|
|
|
322
322
|
);
|
|
323
323
|
const setNext = _react.useCallback.call(void 0,
|
|
324
324
|
async (stepId, nextStepId) => {
|
|
325
|
-
if (nextStepId) await
|
|
326
|
-
else await
|
|
325
|
+
if (nextStepId) await _chunkPMESKNKLjs.EmailAutomationStepService.setNext({ stepId, nextStepId });
|
|
326
|
+
else await _chunkPMESKNKLjs.EmailAutomationStepService.clearNext({ stepId });
|
|
327
327
|
await reload();
|
|
328
328
|
},
|
|
329
329
|
[reload]
|
|
@@ -332,7 +332,7 @@ var EmailAutomationProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
|
|
|
332
332
|
async (stepId, x, y) => {
|
|
333
333
|
const step = steps.find((candidate) => candidate.id === stepId);
|
|
334
334
|
if (!step) return;
|
|
335
|
-
await
|
|
335
|
+
await _chunkPMESKNKLjs.EmailAutomationStepService.update({
|
|
336
336
|
id: step.id,
|
|
337
337
|
automationId,
|
|
338
338
|
subject: step.subject,
|
|
@@ -346,7 +346,7 @@ var EmailAutomationProvider = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void
|
|
|
346
346
|
[automationId, reload, steps]
|
|
347
347
|
);
|
|
348
348
|
const tidy = _react.useCallback.call(void 0, async () => {
|
|
349
|
-
await
|
|
349
|
+
await _chunkPMESKNKLjs.EmailAutomationService.tidy({ id: automationId });
|
|
350
350
|
await reload();
|
|
351
351
|
}, [automationId, reload]);
|
|
352
352
|
const value = _react.useMemo.call(void 0,
|
|
@@ -401,7 +401,7 @@ function EmailAutomationActiveSwitch() {
|
|
|
401
401
|
const toggle = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async (checked) => {
|
|
402
402
|
setSaving(true);
|
|
403
403
|
try {
|
|
404
|
-
await
|
|
404
|
+
await _chunkPMESKNKLjs.EmailAutomationService.update({
|
|
405
405
|
id: automation.id,
|
|
406
406
|
name: automation.name,
|
|
407
407
|
trigger: automation.trigger,
|
|
@@ -411,17 +411,17 @@ function EmailAutomationActiveSwitch() {
|
|
|
411
411
|
});
|
|
412
412
|
await reload();
|
|
413
413
|
} catch (error) {
|
|
414
|
-
|
|
414
|
+
_chunkGSRTVIIKjs.errorToast.call(void 0, { title: t("common.errors.error"), error });
|
|
415
415
|
} finally {
|
|
416
416
|
setSaving(false);
|
|
417
417
|
}
|
|
418
418
|
}, "toggle");
|
|
419
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
420
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
421
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
419
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkGSRTVIIKjs.Tooltip, { children: [
|
|
420
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkGSRTVIIKjs.TooltipTrigger, { render: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { className: "flex items-center gap-x-2" }), children: [
|
|
421
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.Switch, { checked: automation.isActive, onCheckedChange: (checked) => void toggle(checked), disabled: saving }),
|
|
422
422
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs", children: t("emailAutomations.fields.isActive.label") })
|
|
423
423
|
] }),
|
|
424
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
424
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.TooltipContent, { className: "max-w-xs", children: t("emailAutomations.fields.isActive.help") })
|
|
425
425
|
] });
|
|
426
426
|
}
|
|
427
427
|
_chunk7QVYU63Ejs.__name.call(void 0, EmailAutomationActiveSwitch, "EmailAutomationActiveSwitch");
|
|
@@ -454,7 +454,7 @@ function CanvasToolbar({ onTidy }) {
|
|
|
454
454
|
const { zoomIn, zoomOut, fitView } = _react3.useReactFlow.call(void 0, );
|
|
455
455
|
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: [
|
|
456
456
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
457
|
-
|
|
457
|
+
_chunkGSRTVIIKjs.Button,
|
|
458
458
|
{
|
|
459
459
|
type: "button",
|
|
460
460
|
variant: "outline",
|
|
@@ -465,7 +465,7 @@ function CanvasToolbar({ onTidy }) {
|
|
|
465
465
|
}
|
|
466
466
|
),
|
|
467
467
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
468
|
-
|
|
468
|
+
_chunkGSRTVIIKjs.Button,
|
|
469
469
|
{
|
|
470
470
|
type: "button",
|
|
471
471
|
variant: "outline",
|
|
@@ -476,7 +476,7 @@ function CanvasToolbar({ onTidy }) {
|
|
|
476
476
|
}
|
|
477
477
|
),
|
|
478
478
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
479
|
-
|
|
479
|
+
_chunkGSRTVIIKjs.Button,
|
|
480
480
|
{
|
|
481
481
|
type: "button",
|
|
482
482
|
variant: "outline",
|
|
@@ -487,7 +487,7 @@ function CanvasToolbar({ onTidy }) {
|
|
|
487
487
|
}
|
|
488
488
|
),
|
|
489
489
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
490
|
-
|
|
490
|
+
_chunkGSRTVIIKjs.Button,
|
|
491
491
|
{
|
|
492
492
|
type: "button",
|
|
493
493
|
variant: "outline",
|
|
@@ -778,14 +778,14 @@ function EmailStepEditorInternal({
|
|
|
778
778
|
defaultValues: getDefaultValues()
|
|
779
779
|
});
|
|
780
780
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
781
|
-
|
|
781
|
+
_chunkGSRTVIIKjs.EditorSheet,
|
|
782
782
|
{
|
|
783
783
|
form,
|
|
784
784
|
entityType: t("emailAutomations.step.title"),
|
|
785
785
|
entityName: _optionalChain([step, 'optionalAccess', _18 => _18.subject]),
|
|
786
786
|
title: isEdit ? t("emailAutomations.step.editTitle") : t("emailAutomations.step.title"),
|
|
787
787
|
isEdit,
|
|
788
|
-
module:
|
|
788
|
+
module: _chunk4XLDBOSEjs.Modules.EmailAutomationStep,
|
|
789
789
|
size: "lg",
|
|
790
790
|
onSubmit: async (values) => {
|
|
791
791
|
const payload = {
|
|
@@ -797,7 +797,7 @@ function EmailStepEditorInternal({
|
|
|
797
797
|
positionX: step ? step.positionX : _optionalChain([initialPosition, 'optionalAccess', _19 => _19.x]),
|
|
798
798
|
positionY: step ? step.positionY : _optionalChain([initialPosition, 'optionalAccess', _20 => _20.y])
|
|
799
799
|
};
|
|
800
|
-
return isEdit ? await
|
|
800
|
+
return isEdit ? await _chunkPMESKNKLjs.EmailAutomationStepService.update(payload) : await _chunkPMESKNKLjs.EmailAutomationStepService.create(payload);
|
|
801
801
|
},
|
|
802
802
|
onSuccess: async () => {
|
|
803
803
|
await reload();
|
|
@@ -810,9 +810,9 @@ function EmailStepEditorInternal({
|
|
|
810
810
|
dialogOpen,
|
|
811
811
|
onDialogOpenChange,
|
|
812
812
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-y-4", children: [
|
|
813
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
813
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.FormInput, { form, id: "subject", name: t("emailAutomations.step.fields.subject.label"), isRequired: true }),
|
|
814
814
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
815
|
-
|
|
815
|
+
_chunkGSRTVIIKjs.FormInput,
|
|
816
816
|
{
|
|
817
817
|
form,
|
|
818
818
|
id: "delayHours",
|
|
@@ -822,7 +822,7 @@ function EmailStepEditorInternal({
|
|
|
822
822
|
}
|
|
823
823
|
),
|
|
824
824
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
825
|
-
|
|
825
|
+
_chunkGSRTVIIKjs.FormTextarea,
|
|
826
826
|
{
|
|
827
827
|
form,
|
|
828
828
|
id: "body",
|
|
@@ -962,7 +962,7 @@ var stepIdOf = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (nodeId) =>
|
|
|
962
962
|
function EmailAutomationCanvas() {
|
|
963
963
|
const { automation, steps, triggers, select, reload, createStep, deleteStep, setNext, updatePosition, tidy } = useEmailAutomation();
|
|
964
964
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
965
|
-
const isMobile =
|
|
965
|
+
const isMobile = _chunkPMESKNKLjs.useIsMobile.call(void 0, );
|
|
966
966
|
const [nodes, setNodes] = _react.useState.call(void 0, []);
|
|
967
967
|
const [edges, setEdges] = _react.useState.call(void 0, []);
|
|
968
968
|
const { screenToFlowPosition } = _react3.useReactFlow.call(void 0, );
|
|
@@ -1001,7 +1001,7 @@ function EmailAutomationCanvas() {
|
|
|
1001
1001
|
try {
|
|
1002
1002
|
await setNext(stepId, nextStepId);
|
|
1003
1003
|
} catch (error) {
|
|
1004
|
-
|
|
1004
|
+
_chunkGSRTVIIKjs.errorToast.call(void 0, { title: t("emailAutomations.canvas.chainError"), error });
|
|
1005
1005
|
await reload();
|
|
1006
1006
|
}
|
|
1007
1007
|
},
|
|
@@ -1015,7 +1015,7 @@ function EmailAutomationCanvas() {
|
|
|
1015
1015
|
if (!_optionalChain([conn, 'access', _29 => _29.targetHandle, 'optionalAccess', _30 => _30.startsWith, 'call', _31 => _31(STEP_TARGET_HANDLE_PREFIX)])) return;
|
|
1016
1016
|
const targetStepId = conn.targetHandle.slice(STEP_TARGET_HANDLE_PREFIX.length);
|
|
1017
1017
|
if (from.handleId === TRIGGER_SOURCE_HANDLE) {
|
|
1018
|
-
|
|
1018
|
+
_chunkPMESKNKLjs.showError.call(void 0, t("emailAutomations.canvas.chainError"));
|
|
1019
1019
|
return;
|
|
1020
1020
|
}
|
|
1021
1021
|
if (!from.handleId.startsWith(STEP_SOURCE_HANDLE_PREFIX)) return;
|
|
@@ -1133,7 +1133,7 @@ function EmailAutomationCanvas() {
|
|
|
1133
1133
|
try {
|
|
1134
1134
|
await deleteStep(stepId);
|
|
1135
1135
|
} catch (error) {
|
|
1136
|
-
|
|
1136
|
+
_chunkGSRTVIIKjs.errorToast.call(void 0, { title: t("emailAutomations.canvas.deleteEmail"), error });
|
|
1137
1137
|
throw error;
|
|
1138
1138
|
}
|
|
1139
1139
|
}, [pendingDeleteStepId, deleteStep, t]);
|
|
@@ -1196,7 +1196,7 @@ function EmailAutomationCanvas() {
|
|
|
1196
1196
|
}
|
|
1197
1197
|
),
|
|
1198
1198
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1199
|
-
|
|
1199
|
+
_chunkGSRTVIIKjs.ConfirmDialog,
|
|
1200
1200
|
{
|
|
1201
1201
|
open: pendingDeleteStepId !== null,
|
|
1202
1202
|
onOpenChange: (open) => {
|
|
@@ -1211,20 +1211,20 @@ function EmailAutomationCanvas() {
|
|
|
1211
1211
|
}
|
|
1212
1212
|
),
|
|
1213
1213
|
paneMenu && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1214
|
-
|
|
1214
|
+
_chunkGSRTVIIKjs.ContextMenu,
|
|
1215
1215
|
{
|
|
1216
1216
|
open: true,
|
|
1217
1217
|
onOpenChange: (open) => {
|
|
1218
1218
|
if (!open) setPaneMenu(null);
|
|
1219
1219
|
},
|
|
1220
1220
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1221
|
-
|
|
1221
|
+
_chunkGSRTVIIKjs.ContextMenuContent,
|
|
1222
1222
|
{
|
|
1223
1223
|
anchor: pointAnchor(paneMenu.screenX, paneMenu.screenY),
|
|
1224
1224
|
side: "bottom",
|
|
1225
1225
|
align: "start",
|
|
1226
1226
|
sideOffset: 4,
|
|
1227
|
-
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1227
|
+
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkGSRTVIIKjs.ContextMenuItem, { onClick: handleCreateStepFromPane, children: [
|
|
1228
1228
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.PlusIcon, {}),
|
|
1229
1229
|
t("emailAutomations.canvas.addEmail")
|
|
1230
1230
|
] })
|
|
@@ -1233,21 +1233,21 @@ function EmailAutomationCanvas() {
|
|
|
1233
1233
|
}
|
|
1234
1234
|
),
|
|
1235
1235
|
nodeMenu && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1236
|
-
|
|
1236
|
+
_chunkGSRTVIIKjs.ContextMenu,
|
|
1237
1237
|
{
|
|
1238
1238
|
open: true,
|
|
1239
1239
|
onOpenChange: (open) => {
|
|
1240
1240
|
if (!open) setNodeMenu(null);
|
|
1241
1241
|
},
|
|
1242
1242
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1243
|
-
|
|
1243
|
+
_chunkGSRTVIIKjs.ContextMenuContent,
|
|
1244
1244
|
{
|
|
1245
1245
|
anchor: pointAnchor(nodeMenu.screenX, nodeMenu.screenY),
|
|
1246
1246
|
side: "bottom",
|
|
1247
1247
|
align: "start",
|
|
1248
1248
|
sideOffset: 4,
|
|
1249
1249
|
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1250
|
-
|
|
1250
|
+
_chunkGSRTVIIKjs.ContextMenuItem,
|
|
1251
1251
|
{
|
|
1252
1252
|
onClick: () => {
|
|
1253
1253
|
const menu = nodeMenu;
|
|
@@ -1288,7 +1288,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, TriggerAutomationEditor, "TriggerAutomation
|
|
|
1288
1288
|
// src/features/email-automation/components/canvas/EmailAutomationCanvasTab.tsx
|
|
1289
1289
|
|
|
1290
1290
|
function EmailAutomationCanvasTab() {
|
|
1291
|
-
const { open, setOpen } =
|
|
1291
|
+
const { open, setOpen } = _chunkGSRTVIIKjs.useSidebar.call(void 0, );
|
|
1292
1292
|
_react.useEffect.call(void 0, () => {
|
|
1293
1293
|
const prev = open;
|
|
1294
1294
|
if (prev) setOpen(false);
|
|
@@ -1309,10 +1309,10 @@ function EmailAutomationRecipientsList() {
|
|
|
1309
1309
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
1310
1310
|
const { automation } = useEmailAutomation();
|
|
1311
1311
|
const [statusFilter, setStatusFilter] = _react.useState.call(void 0, "all");
|
|
1312
|
-
const data =
|
|
1313
|
-
retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) =>
|
|
1312
|
+
const data = _chunkGSRTVIIKjs.useDataListRetriever.call(void 0, {
|
|
1313
|
+
retriever: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => _chunkPMESKNKLjs.EmailAutomationService.findEnrollments(params), "retriever"),
|
|
1314
1314
|
retrieverParams: { automationId: _optionalChain([automation, 'optionalAccess', _44 => _44.id]) },
|
|
1315
|
-
module:
|
|
1315
|
+
module: _chunk4XLDBOSEjs.Modules.EmailAutomationEnrollment
|
|
1316
1316
|
});
|
|
1317
1317
|
const handleStatusChange = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (value) => {
|
|
1318
1318
|
const status = _nullishCoalesce(value, () => ( "all"));
|
|
@@ -1331,21 +1331,21 @@ function EmailAutomationRecipientsList() {
|
|
|
1331
1331
|
[t]
|
|
1332
1332
|
);
|
|
1333
1333
|
const filters = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4", children: [
|
|
1334
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1335
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1336
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1337
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1338
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1339
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1340
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1341
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1342
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1334
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkGSRTVIIKjs.Select, { items: statusItems, value: statusFilter, onValueChange: handleStatusChange, children: [
|
|
1335
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.SelectTrigger, { className: "w-40", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.SelectValue, {}) }),
|
|
1336
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkGSRTVIIKjs.SelectContent, { children: [
|
|
1337
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.SelectItem, { value: "all", children: t("emailAutomations.recipients.status.all") }),
|
|
1338
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.SelectItem, { value: "active", children: t("emailAutomations.recipients.status.active") }),
|
|
1339
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.SelectItem, { value: "completed", children: t("emailAutomations.recipients.status.completed") }),
|
|
1340
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.SelectItem, { value: "unsubscribed", children: t("emailAutomations.recipients.status.unsubscribed") }),
|
|
1341
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.SelectItem, { value: "exited", children: t("emailAutomations.recipients.status.exited") }),
|
|
1342
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.SelectItem, { value: "failed", children: t("emailAutomations.recipients.status.failed") })
|
|
1343
1343
|
] })
|
|
1344
1344
|
] }),
|
|
1345
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1345
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.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" : ""}` }) })
|
|
1346
1346
|
] });
|
|
1347
1347
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1348
|
-
|
|
1348
|
+
_chunkGSRTVIIKjs.ContentListTable,
|
|
1349
1349
|
{
|
|
1350
1350
|
data,
|
|
1351
1351
|
fields: [
|
|
@@ -1356,7 +1356,7 @@ function EmailAutomationRecipientsList() {
|
|
|
1356
1356
|
"nextSendAt" /* nextSendAt */,
|
|
1357
1357
|
"sentCount" /* sentCount */
|
|
1358
1358
|
],
|
|
1359
|
-
tableGeneratorType:
|
|
1359
|
+
tableGeneratorType: _chunk4XLDBOSEjs.Modules.EmailAutomationEnrollment,
|
|
1360
1360
|
filters,
|
|
1361
1361
|
allowSearch: false,
|
|
1362
1362
|
emptyState: t("emailAutomations.recipients.empty")
|
|
@@ -1373,15 +1373,15 @@ function EmailAutomationContainer({ automationId }) {
|
|
|
1373
1373
|
_chunk7QVYU63Ejs.__name.call(void 0, EmailAutomationContainer, "EmailAutomationContainer");
|
|
1374
1374
|
function EmailAutomationShell() {
|
|
1375
1375
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
1376
|
-
const generateUrl =
|
|
1376
|
+
const generateUrl = _chunkGSRTVIIKjs.usePageUrlGenerator.call(void 0, );
|
|
1377
1377
|
const { automation, reload } = useEmailAutomation();
|
|
1378
1378
|
if (!automation) return null;
|
|
1379
1379
|
const breadcrumbs = [
|
|
1380
|
-
{ name: t("emailAutomations.admin.title"), href: generateUrl({ page:
|
|
1380
|
+
{ name: t("emailAutomations.admin.title"), href: generateUrl({ page: _chunk4XLDBOSEjs.Modules.EmailAutomation }) },
|
|
1381
1381
|
{ name: automation.name }
|
|
1382
1382
|
];
|
|
1383
1383
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1384
|
-
|
|
1384
|
+
_chunkGSRTVIIKjs.SharedProvider,
|
|
1385
1385
|
{
|
|
1386
1386
|
value: {
|
|
1387
1387
|
breadcrumbs,
|
|
@@ -1395,9 +1395,9 @@ function EmailAutomationShell() {
|
|
|
1395
1395
|
}
|
|
1396
1396
|
},
|
|
1397
1397
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1398
|
-
|
|
1398
|
+
_chunkGSRTVIIKjs.RoundPageContainer,
|
|
1399
1399
|
{
|
|
1400
|
-
module:
|
|
1400
|
+
module: _chunk4XLDBOSEjs.Modules.EmailAutomation,
|
|
1401
1401
|
id: automation.id,
|
|
1402
1402
|
fullWidth: true,
|
|
1403
1403
|
forceHeader: true,
|
|
@@ -1437,12 +1437,12 @@ function EmailUnsubscribe({ token, scope, source = "automation" }) {
|
|
|
1437
1437
|
async function unsubscribe() {
|
|
1438
1438
|
try {
|
|
1439
1439
|
if (source === "blast") {
|
|
1440
|
-
await
|
|
1440
|
+
await _chunkPMESKNKLjs.EmailBlastDeliveryService.unsubscribe({ token });
|
|
1441
1441
|
setStoppedScope("all");
|
|
1442
1442
|
setState("success");
|
|
1443
1443
|
return;
|
|
1444
1444
|
}
|
|
1445
|
-
const enrollment = await
|
|
1445
|
+
const enrollment = await _chunkPMESKNKLjs.EmailAutomationEnrollmentService.unsubscribe({ token, scope });
|
|
1446
1446
|
setAutomationName(_nullishCoalesce(_optionalChain([enrollment, 'optionalAccess', _45 => _45.automation, 'optionalAccess', _46 => _46.name]), () => ( "")));
|
|
1447
1447
|
setStoppedScope(scope);
|
|
1448
1448
|
setState("success");
|
|
@@ -1456,7 +1456,7 @@ function EmailUnsubscribe({ token, scope, source = "automation" }) {
|
|
|
1456
1456
|
const stopAll = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, async () => {
|
|
1457
1457
|
setIsStoppingAll(true);
|
|
1458
1458
|
try {
|
|
1459
|
-
await
|
|
1459
|
+
await _chunkPMESKNKLjs.EmailAutomationEnrollmentService.unsubscribe({ token, scope: "all" });
|
|
1460
1460
|
setStoppedScope("all");
|
|
1461
1461
|
} catch (e3) {
|
|
1462
1462
|
setState("error");
|
|
@@ -1473,16 +1473,16 @@ function EmailUnsubscribe({ token, scope, source = "automation" }) {
|
|
|
1473
1473
|
if (state === "error") {
|
|
1474
1474
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center justify-center space-y-4 py-16 text-center", children: [
|
|
1475
1475
|
/* @__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" }) }),
|
|
1476
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1476
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.SectionHeader, { level: 2, children: t("emailAutomations.unsubscribe.invalidTitle") }),
|
|
1477
1477
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-muted-foreground max-w-md text-sm leading-relaxed", children: t("emailAutomations.unsubscribe.invalidBody") })
|
|
1478
1478
|
] });
|
|
1479
1479
|
}
|
|
1480
1480
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center justify-center space-y-4 py-16 text-center", children: [
|
|
1481
1481
|
/* @__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" }) }),
|
|
1482
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1482
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.SectionHeader, { level: 2, children: t("emailAutomations.unsubscribe.title") }),
|
|
1483
1483
|
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: [
|
|
1484
1484
|
/* @__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 }) }),
|
|
1485
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1485
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkGSRTVIIKjs.Button, { variant: "secondary", onClick: stopAll, disabled: isStoppingAll, children: [
|
|
1486
1486
|
isStoppingAll && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-4 w-4 animate-spin" }),
|
|
1487
1487
|
t("emailAutomations.unsubscribe.alsoStopAll")
|
|
1488
1488
|
] })
|
|
@@ -1497,7 +1497,7 @@ _chunk7QVYU63Ejs.__name.call(void 0, EmailUnsubscribe, "EmailUnsubscribe");
|
|
|
1497
1497
|
|
|
1498
1498
|
var useEmailAutomationTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => {
|
|
1499
1499
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
1500
|
-
const generateUrl =
|
|
1500
|
+
const generateUrl = _chunkGSRTVIIKjs.usePageUrlGenerator.call(void 0, );
|
|
1501
1501
|
const triggerLabels = _nullishCoalesce(_optionalChain([params, 'access', _47 => _47.context, 'optionalAccess', _48 => _48.triggerLabels]), () => ( {}));
|
|
1502
1502
|
const tableData = _react.useMemo.call(void 0, () => {
|
|
1503
1503
|
return params.data.map((automation) => {
|
|
@@ -1526,7 +1526,7 @@ var useEmailAutomationTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.c
|
|
|
1526
1526
|
header: t("emailAutomations.list.columns.name"),
|
|
1527
1527
|
cell: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ row }) => {
|
|
1528
1528
|
const automation = row.original.jsonApiData;
|
|
1529
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1529
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.Link, { href: generateUrl({ page: _chunk4XLDBOSEjs.Modules.EmailAutomation, id: automation.id }), children: automation.name });
|
|
1530
1530
|
}, "cell"),
|
|
1531
1531
|
enableSorting: false,
|
|
1532
1532
|
enableHiding: false
|
|
@@ -1549,7 +1549,7 @@ var useEmailAutomationTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.c
|
|
|
1549
1549
|
header: t("emailAutomations.list.columns.status"),
|
|
1550
1550
|
cell: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ row }) => {
|
|
1551
1551
|
const automation = row.original.jsonApiData;
|
|
1552
|
-
return automation.isActive ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1552
|
+
return automation.isActive ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.Badge, { variant: "softGreen", children: t("emailAutomations.list.status.on") }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSRTVIIKjs.Badge, { variant: "softGray", children: t("emailAutomations.list.status.off") });
|
|
1553
1553
|
}, "cell"),
|
|
1554
1554
|
enableSorting: false,
|
|
1555
1555
|
enableHiding: false
|
|
@@ -1572,7 +1572,7 @@ var useEmailAutomationTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.c
|
|
|
1572
1572
|
}, [params.fields, fieldColumnMap, t, generateUrl]);
|
|
1573
1573
|
return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
|
|
1574
1574
|
}, "useEmailAutomationTableStructure");
|
|
1575
|
-
|
|
1575
|
+
_chunkGSRTVIIKjs.registerTableGenerator.call(void 0, "email-automations", useEmailAutomationTableStructure);
|
|
1576
1576
|
|
|
1577
1577
|
// src/features/email-automation/hooks/useEmailAutomationEnrollmentTableStructure.tsx
|
|
1578
1578
|
|
|
@@ -1587,7 +1587,7 @@ var STATUS_VARIANTS = {
|
|
|
1587
1587
|
};
|
|
1588
1588
|
var useEmailAutomationEnrollmentTableStructure = /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, (params) => {
|
|
1589
1589
|
const t = _nextintl.useTranslations.call(void 0, );
|
|
1590
|
-
const locale =
|
|
1590
|
+
const locale = _chunkPMESKNKLjs.dateFormatLocale.call(void 0, _nextintl.useLocale.call(void 0, ));
|
|
1591
1591
|
const tableData = _react.useMemo.call(void 0, () => {
|
|
1592
1592
|
return params.data.map((enrollment) => {
|
|
1593
1593
|
const entry = { jsonApiData: enrollment };
|
|
@@ -1628,7 +1628,7 @@ var useEmailAutomationEnrollmentTableStructure = /* @__PURE__ */ _chunk7QVYU63Ej
|
|
|
1628
1628
|
cell: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ row }) => {
|
|
1629
1629
|
const enrollment = row.original.jsonApiData;
|
|
1630
1630
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1631
|
-
|
|
1631
|
+
_chunkGSRTVIIKjs.Badge,
|
|
1632
1632
|
{
|
|
1633
1633
|
variant: _nullishCoalesce(STATUS_VARIANTS[enrollment.status], () => ( "softGray")),
|
|
1634
1634
|
title: enrollment.status === "failed" ? enrollment.lastError : void 0,
|
|
@@ -1657,7 +1657,7 @@ var useEmailAutomationEnrollmentTableStructure = /* @__PURE__ */ _chunk7QVYU63Ej
|
|
|
1657
1657
|
cell: /* @__PURE__ */ _chunk7QVYU63Ejs.__name.call(void 0, ({ row }) => {
|
|
1658
1658
|
const enrollment = row.original.jsonApiData;
|
|
1659
1659
|
if (!enrollment.nextSendAt) return empty;
|
|
1660
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs tabular-nums", children:
|
|
1660
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs tabular-nums", children: _chunkPMESKNKLjs.formatDate.call(void 0, enrollment.nextSendAt, "dateTime", locale) });
|
|
1661
1661
|
}, "cell"),
|
|
1662
1662
|
enableSorting: false,
|
|
1663
1663
|
enableHiding: false
|
|
@@ -1679,7 +1679,7 @@ var useEmailAutomationEnrollmentTableStructure = /* @__PURE__ */ _chunk7QVYU63Ej
|
|
|
1679
1679
|
}, [params.fields, fieldColumnMap, t, locale]);
|
|
1680
1680
|
return _react.useMemo.call(void 0, () => ({ data: tableData, columns }), [tableData, columns]);
|
|
1681
1681
|
}, "useEmailAutomationEnrollmentTableStructure");
|
|
1682
|
-
|
|
1682
|
+
_chunkGSRTVIIKjs.registerTableGenerator.call(void 0, "email-automation-enrollments", useEmailAutomationEnrollmentTableStructure);
|
|
1683
1683
|
|
|
1684
1684
|
|
|
1685
1685
|
|