@bigbinary/neeto-email-delivery-frontend 1.0.12 → 1.0.13

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.
Files changed (36) hide show
  1. package/app/javascript/src/translations/en.json +24 -0
  2. package/dist/EmailDeliveryScreen.js +225 -45
  3. package/dist/EmailDeliveryScreen.js.map +1 -1
  4. package/dist/SparkpostDomainSetup.js +2 -2
  5. package/dist/SparkpostDomainVerify.js +2 -2
  6. package/dist/cjs/EmailDeliveryScreen.js +245 -46
  7. package/dist/cjs/EmailDeliveryScreen.js.map +1 -1
  8. package/dist/cjs/SparkpostDomainSetup.js +2 -2
  9. package/dist/cjs/SparkpostDomainVerify.js +2 -2
  10. package/dist/cjs/hooks.js +7 -2
  11. package/dist/cjs/hooks.js.map +1 -1
  12. package/dist/cjs/index.js +13 -11
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/hooks.js +7 -2
  15. package/dist/hooks.js.map +1 -1
  16. package/dist/index.js +13 -11
  17. package/dist/index.js.map +1 -1
  18. package/dist/{useOutlookIntegrationApi-CtHj_BzG.js → useOutlookIntegrationApi-BC-RPHmJ.js} +59 -2
  19. package/dist/useOutlookIntegrationApi-BC-RPHmJ.js.map +1 -0
  20. package/dist/{useOutlookIntegrationApi-ZgRWrUQN.js → useOutlookIntegrationApi-b_mNVfRE.js} +58 -4
  21. package/dist/useOutlookIntegrationApi-b_mNVfRE.js.map +1 -0
  22. package/dist/{useSparkpostApi-pa64NIl6.js → useSparkpostApi-D9NOjTNA.js} +18 -2
  23. package/dist/useSparkpostApi-D9NOjTNA.js.map +1 -0
  24. package/dist/{useSparkpostApi-W7XibjIp.js → useSparkpostApi-qpRhsK7H.js} +17 -3
  25. package/dist/useSparkpostApi-qpRhsK7H.js.map +1 -0
  26. package/dist/{useSparkpostDomain-CK-k6Xrr.js → useSparkpostDomain-Brk7SmL4.js} +3 -15
  27. package/dist/useSparkpostDomain-Brk7SmL4.js.map +1 -0
  28. package/dist/{useSparkpostDomain-DDI4pHcZ.js → useSparkpostDomain-CuX-Gl5a.js} +3 -14
  29. package/dist/useSparkpostDomain-CuX-Gl5a.js.map +1 -0
  30. package/package.json +5 -5
  31. package/dist/useOutlookIntegrationApi-CtHj_BzG.js.map +0 -1
  32. package/dist/useOutlookIntegrationApi-ZgRWrUQN.js.map +0 -1
  33. package/dist/useSparkpostApi-W7XibjIp.js.map +0 -1
  34. package/dist/useSparkpostApi-pa64NIl6.js.map +0 -1
  35. package/dist/useSparkpostDomain-CK-k6Xrr.js.map +0 -1
  36. package/dist/useSparkpostDomain-DDI4pHcZ.js.map +0 -1
@@ -20,6 +20,30 @@
20
20
  "shadowAccountMessage": "Looks like Outlook mailbox is not configured for your email address - {{email}}. Please configure your Outlook mailbox by logging in to your Outlook account and then try again.",
21
21
  "cancel": "Cancel"
22
22
  },
23
+ "smtp": {
24
+ "title": "SMTP",
25
+ "description": "Add your SMTP server details so that all emails are sent from your SMTP provider and not from Neeto.",
26
+ "connectSmtp": "Connect SMTP",
27
+ "smtpConfigured": "SMTP is configured for sending emails.",
28
+ "setup": {
29
+ "title": "Setup SMTP for outgoing emails",
30
+ "saveAndActivate": "Save & activate",
31
+ "note": "Note: Ensure that the SMTP credentials you provide have permission to send emails from the configured from email.",
32
+ "hostLabel": "SMTP host",
33
+ "portLabel": "SMTP port",
34
+ "usernameLabel": "Username",
35
+ "passwordLabel": "Password",
36
+ "emailLabel": "Email",
37
+ "encryptionLabel": "Encryption",
38
+ "noneLabel": "None",
39
+ "starttlsLabel": "StartTLS",
40
+ "sslLabel": "SSL",
41
+ "displayNameLabel": "Display name",
42
+ "disconnect": "Disconnect SMTP",
43
+ "requiredField": "{{field}} is required",
44
+ "emailInvalid": "Invalid email"
45
+ }
46
+ },
23
47
  "sparkpost": {
24
48
  "ownDomainConfigured": "Own domain is configured for sending emails.",
25
49
  "customDomain": "Custom domain",
@@ -1,6 +1,8 @@
1
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
+ import { useState } from 'react';
1
3
  import { isPresent, humanize } from '@bigbinary/neeto-cist';
2
4
  import { useQueryParams } from '@bigbinary/neeto-commons-frontend/react-utils';
3
- import { showThumbsUpToastr, buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
5
+ import { buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
4
6
  import MailSend from '@bigbinary/neeto-icons/MailSend';
5
7
  import GmailIcon from '@bigbinary/neeto-icons/misc/Gmail';
6
8
  import OutlookIcon from '@bigbinary/neeto-icons/misc/Outlook';
@@ -10,20 +12,162 @@ import Toastr from '@bigbinary/neetoui/Toastr';
10
12
  import { prop } from 'ramda';
11
13
  import { useTranslation } from 'react-i18next';
12
14
  import { useHistory } from 'react-router-dom';
13
- import { Q as QUERY_KEYS, f as GMAIL_OAUTH_CONNECT_URL, g as OUTLOOK_OAUTH_CONNECT_URL } from './useSparkpostApi-W7XibjIp.js';
14
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
15
- import { useState, useEffect } from 'react';
16
- import { useQueryClient } from '@tanstack/react-query';
17
- import { u as useFetchGmail, b as useDestroyGmail, a as useFetchOutlook, c as useDestroyOutlook } from './useOutlookIntegrationApi-ZgRWrUQN.js';
18
- import { i as invalidateAllIntegrationQueries, u as useSparkpostDomain } from './useSparkpostDomain-DDI4pHcZ.js';
15
+ import { i as invalidateAllIntegrationQueries, f as GMAIL_OAUTH_CONNECT_URL, g as OUTLOOK_OAUTH_CONNECT_URL } from './useSparkpostApi-qpRhsK7H.js';
16
+ import Pane from '@bigbinary/neetoui/Pane';
17
+ import Typography from '@bigbinary/neetoui/Typography';
18
+ import Form from '@bigbinary/neetoui/formik/Form';
19
+ import Input from '@bigbinary/neetoui/formik/Input';
20
+ import Radio from '@bigbinary/neetoui/formik/Radio';
21
+ import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
22
+ import { c as useCreateSmtp, u as useFetchGmail, d as useDestroyGmail, a as useFetchOutlook, e as useDestroyOutlook, b as useFetchSmtp, f as useDestroySmtp } from './useOutlookIntegrationApi-b_mNVfRE.js';
19
23
  import { t } from 'i18next';
24
+ import * as yup from 'yup';
25
+ import { jsxs, jsx } from 'react/jsx-runtime';
26
+ import { useQueryClient } from '@tanstack/react-query';
27
+ import { u as useSparkpostDomain } from './useSparkpostDomain-CuX-Gl5a.js';
20
28
  import Button from '@bigbinary/neetoui/Button';
21
29
  import Tag from '@bigbinary/neetoui/Tag';
22
- import Typography from '@bigbinary/neetoui/Typography';
23
- import { jsx, jsxs } from 'react/jsx-runtime';
24
30
  import '@babel/runtime/helpers/defineProperty';
25
31
  import 'axios';
26
32
 
33
+ var ENCRYPTION_OPTIONS = [{
34
+ label: "None",
35
+ value: "none"
36
+ }, {
37
+ label: "StartTLS",
38
+ value: "starttls"
39
+ }, {
40
+ label: "SSL",
41
+ value: "ssl"
42
+ }];
43
+ var SMTP_ACCOUNT_INITIAL_VALUES = {
44
+ host: "",
45
+ port: 587,
46
+ username: "",
47
+ password: "",
48
+ email: "",
49
+ encryption: "starttls",
50
+ display_name: ""
51
+ };
52
+ var SMTP_ACCOUNT_VALIDATION_SCHEMA = yup.object().shape({
53
+ host: yup.string().trim().required(t("neetoEmailDelivery.smtp.setup.requiredField", {
54
+ field: t("neetoEmailDelivery.smtp.setup.hostLabel")
55
+ })),
56
+ port: yup.number().required(t("neetoEmailDelivery.smtp.setup.requiredField", {
57
+ field: t("neetoEmailDelivery.smtp.setup.portLabel")
58
+ })),
59
+ username: yup.string().trim().required(t("neetoEmailDelivery.smtp.setup.requiredField", {
60
+ field: t("neetoEmailDelivery.smtp.setup.usernameLabel")
61
+ })),
62
+ password: yup.string().trim().required(t("neetoEmailDelivery.smtp.setup.requiredField", {
63
+ field: t("neetoEmailDelivery.smtp.setup.passwordLabel")
64
+ })),
65
+ email: yup.string().trim().required(t("neetoEmailDelivery.smtp.setup.requiredField", {
66
+ field: t("neetoEmailDelivery.smtp.setup.emailLabel")
67
+ })).email(t("neetoEmailDelivery.smtp.setup.emailInvalid")),
68
+ displayName: yup.string().trim().required(t("neetoEmailDelivery.smtp.setup.requiredField", {
69
+ field: t("neetoEmailDelivery.smtp.setup.displayNameLabel")
70
+ })),
71
+ encryption: yup.string().trim().required(t("neetoEmailDelivery.smtp.setup.requiredField", {
72
+ field: t("neetoEmailDelivery.smtp.setup.encryptionLabel")
73
+ }))
74
+ });
75
+
76
+ var SmtpSetup = function SmtpSetup(_ref) {
77
+ var ownerId = _ref.ownerId,
78
+ onDone = _ref.onDone,
79
+ onCancel = _ref.onCancel;
80
+ var _useTranslation = useTranslation(),
81
+ t = _useTranslation.t;
82
+ var _useCreateSmtp = useCreateSmtp({
83
+ ownerId: ownerId
84
+ }),
85
+ isCreating = _useCreateSmtp.isPending,
86
+ createSmtp = _useCreateSmtp.mutate;
87
+ var handleSubmit = function handleSubmit(values) {
88
+ createSmtp({
89
+ smtp_account: values
90
+ }, {
91
+ onSuccess: onDone
92
+ });
93
+ };
94
+ return /*#__PURE__*/jsxs(Pane, {
95
+ isOpen: true,
96
+ size: "lg",
97
+ onClose: onCancel,
98
+ children: [/*#__PURE__*/jsx(Pane.Header, {
99
+ children: /*#__PURE__*/jsx(Typography, {
100
+ style: "h2",
101
+ weight: "semibold",
102
+ children: t("neetoEmailDelivery.smtp.setup.title")
103
+ })
104
+ }), /*#__PURE__*/jsxs(Form, {
105
+ className: "w-full",
106
+ formikProps: {
107
+ initialValues: SMTP_ACCOUNT_INITIAL_VALUES,
108
+ validationSchema: SMTP_ACCOUNT_VALIDATION_SCHEMA,
109
+ onSubmit: handleSubmit
110
+ },
111
+ children: [/*#__PURE__*/jsx(Pane.Body, {
112
+ className: "space-y-4",
113
+ children: /*#__PURE__*/jsxs("div", {
114
+ className: "flex flex-col gap-6",
115
+ children: [/*#__PURE__*/jsx(Callout, {
116
+ style: "warning",
117
+ children: t("neetoEmailDelivery.smtp.setup.note")
118
+ }), /*#__PURE__*/jsx(Input, {
119
+ required: true,
120
+ label: t("neetoEmailDelivery.smtp.setup.hostLabel"),
121
+ name: "host"
122
+ }), /*#__PURE__*/jsx(Input, {
123
+ required: true,
124
+ label: t("neetoEmailDelivery.smtp.setup.portLabel"),
125
+ name: "port",
126
+ type: "number"
127
+ }), /*#__PURE__*/jsx(Input, {
128
+ required: true,
129
+ label: t("neetoEmailDelivery.smtp.setup.usernameLabel"),
130
+ name: "username"
131
+ }), /*#__PURE__*/jsx(Input, {
132
+ required: true,
133
+ label: t("neetoEmailDelivery.smtp.setup.passwordLabel"),
134
+ name: "password",
135
+ type: "password"
136
+ }), /*#__PURE__*/jsx(Input, {
137
+ required: true,
138
+ label: t("neetoEmailDelivery.smtp.setup.emailLabel"),
139
+ name: "email",
140
+ type: "email"
141
+ }), /*#__PURE__*/jsx(Input, {
142
+ required: true,
143
+ label: t("neetoEmailDelivery.smtp.setup.displayNameLabel"),
144
+ name: "displayName"
145
+ }), /*#__PURE__*/jsx(Radio, {
146
+ label: t("neetoEmailDelivery.smtp.setup.encryptionLabel"),
147
+ name: "encryption",
148
+ children: ENCRYPTION_OPTIONS.map(function (option) {
149
+ return /*#__PURE__*/jsx(Radio.Item, {
150
+ label: option.label,
151
+ value: option.value
152
+ }, option.value);
153
+ })
154
+ })]
155
+ })
156
+ }), /*#__PURE__*/jsx(Pane.Footer, {
157
+ children: /*#__PURE__*/jsx(ActionBlock, {
158
+ cancelButtonProps: {
159
+ onClick: onCancel
160
+ },
161
+ isSubmitting: isCreating,
162
+ submitButtonProps: {
163
+ label: t("neetoEmailDelivery.smtp.setup.saveAndActivate")
164
+ }
165
+ })
166
+ })]
167
+ })]
168
+ });
169
+ };
170
+
27
171
  var useGmail = function useGmail(_ref) {
28
172
  var ownerId = _ref.ownerId,
29
173
  indexRoute = _ref.indexRoute,
@@ -39,8 +183,7 @@ var useGmail = function useGmail(_ref) {
39
183
  }),
40
184
  isLoading = _useFetchGmail.isLoading,
41
185
  _useFetchGmail$data = _useFetchGmail.data,
42
- data = _useFetchGmail$data === void 0 ? {} : _useFetchGmail$data,
43
- isGmailFetched = _useFetchGmail.isSuccess;
186
+ data = _useFetchGmail$data === void 0 ? {} : _useFetchGmail$data;
44
187
  var _useDestroyGmail = useDestroyGmail({
45
188
  ownerId: ownerId
46
189
  }),
@@ -52,25 +195,12 @@ var useGmail = function useGmail(_ref) {
52
195
  var onDisconnect = function onDisconnect() {
53
196
  destroyIntegration(false, {
54
197
  onSuccess: function onSuccess() {
55
- showThumbsUpToastr();
56
198
  setIsDisconnectAlertOpen(false);
57
199
  invalidateAllIntegrationQueries(queryClient, ownerId);
58
200
  history.replace(indexRoute);
59
201
  }
60
202
  });
61
203
  };
62
- useEffect(function () {
63
- if (isGmailFetched) {
64
- queryClient.invalidateQueries({
65
- predicate: function predicate(query) {
66
- var _query$queryKey = _slicedToArray(query.queryKey, 2),
67
- key = _query$queryKey[0],
68
- id = _query$queryKey[1];
69
- return key === QUERY_KEYS.INTEGRATION_GMAIL && id !== ownerId;
70
- }
71
- });
72
- }
73
- }, [isGmailFetched, queryClient, ownerId]);
74
204
  return {
75
205
  data: data,
76
206
  isLoading: isLoading,
@@ -100,8 +230,7 @@ var useOutlook = function useOutlook(_ref) {
100
230
  }),
101
231
  isLoading = _useFetchOutlook.isLoading,
102
232
  _useFetchOutlook$data = _useFetchOutlook.data,
103
- data = _useFetchOutlook$data === void 0 ? {} : _useFetchOutlook$data,
104
- isOutlookFetched = _useFetchOutlook.isSuccess;
233
+ data = _useFetchOutlook$data === void 0 ? {} : _useFetchOutlook$data;
105
234
  var _useDestroyOutlook = useDestroyOutlook({
106
235
  ownerId: ownerId
107
236
  }),
@@ -113,25 +242,12 @@ var useOutlook = function useOutlook(_ref) {
113
242
  var onDisconnect = function onDisconnect() {
114
243
  destroyIntegration(false, {
115
244
  onSuccess: function onSuccess() {
116
- showThumbsUpToastr();
117
245
  setIsDisconnectAlertOpen(false);
118
246
  invalidateAllIntegrationQueries(queryClient, ownerId);
119
247
  history.replace(indexRoute);
120
248
  }
121
249
  });
122
250
  };
123
- useEffect(function () {
124
- if (isOutlookFetched) {
125
- queryClient.invalidateQueries({
126
- predicate: function predicate(query) {
127
- var _query$queryKey = _slicedToArray(query.queryKey, 2),
128
- key = _query$queryKey[0],
129
- id = _query$queryKey[1];
130
- return key === QUERY_KEYS.INTEGRATION_OUTLOOK && id !== ownerId;
131
- }
132
- });
133
- }
134
- }, [isOutlookFetched, queryClient, ownerId]);
135
251
  return {
136
252
  data: data,
137
253
  isLoading: isLoading,
@@ -149,6 +265,30 @@ var useOutlook = function useOutlook(_ref) {
149
265
  };
150
266
  };
151
267
 
268
+ var useSmtp = function useSmtp(_ref) {
269
+ var ownerId = _ref.ownerId,
270
+ canManageIntegrations = _ref.canManageIntegrations;
271
+ var _useFetchSmtp = useFetchSmtp(ownerId, {
272
+ enabled: canManageIntegrations
273
+ }),
274
+ isLoading = _useFetchSmtp.isLoading,
275
+ _useFetchSmtp$data = _useFetchSmtp.data,
276
+ data = _useFetchSmtp$data === void 0 ? {} : _useFetchSmtp$data;
277
+ var _useDestroySmtp = useDestroySmtp({
278
+ ownerId: ownerId
279
+ }),
280
+ isDestroying = _useDestroySmtp.isPending,
281
+ onDisconnect = _useDestroySmtp.mutate;
282
+ return {
283
+ data: data,
284
+ isConnected: data === null || data === void 0 ? void 0 : data.connected,
285
+ isLoading: isLoading,
286
+ isDestroying: isDestroying,
287
+ onDisconnect: onDisconnect,
288
+ exists: data === null || data === void 0 ? void 0 : data.exists
289
+ };
290
+ };
291
+
152
292
  var ERROR_MESSAGES = {
153
293
  gmail_permission_not_given: t("neetoEmailDelivery.gmail.permissionNotGiven"),
154
294
  outlook_permission_not_given: t("neetoEmailDelivery.outlook.permissionNotGiven"),
@@ -228,6 +368,10 @@ var EmailDeliveryScreen = function EmailDeliveryScreen(_ref) {
228
368
  var _useTranslation = useTranslation(),
229
369
  t = _useTranslation.t;
230
370
  var history = useHistory();
371
+ var _useState = useState(false),
372
+ _useState2 = _slicedToArray(_useState, 2),
373
+ isSmtpPaneOpen = _useState2[0],
374
+ setIsSmtpPaneOpen = _useState2[1];
231
375
  var _useQueryParams = useQueryParams(),
232
376
  error = _useQueryParams.error,
233
377
  errorDescription = _useQueryParams.errorDescription;
@@ -254,6 +398,10 @@ var EmailDeliveryScreen = function EmailDeliveryScreen(_ref) {
254
398
  ownerId: ownerId,
255
399
  canManageIntegrations: canManageIntegrations
256
400
  });
401
+ var smtpIntegration = useSmtp({
402
+ ownerId: ownerId,
403
+ canManageIntegrations: canManageIntegrations
404
+ });
257
405
  var _gmailIntegration$dat = gmailIntegration.data,
258
406
  gmailData = _gmailIntegration$dat === void 0 ? {} : _gmailIntegration$dat,
259
407
  isGmailConnected = gmailIntegration.isConnected,
@@ -277,11 +425,19 @@ var EmailDeliveryScreen = function EmailDeliveryScreen(_ref) {
277
425
  onSparkpostDisconnect = sparkpostIntegration.onDisconnect,
278
426
  isSparkpostDisconnecting = sparkpostIntegration.isDestroying,
279
427
  isSparkpostExists = sparkpostIntegration.exists;
280
- var isLoading = isGmailLoading || isOutlookLoading || isSparkpostLoading;
281
- var noneExists = !isGmailExists && !isOutlookExists && !isSparkpostExists;
428
+ var _smtpIntegration$data = smtpIntegration.data,
429
+ smtpData = _smtpIntegration$data === void 0 ? {} : _smtpIntegration$data,
430
+ isSmtpConnected = smtpIntegration.isConnected,
431
+ isSmtpLoading = smtpIntegration.isLoading,
432
+ isSmtpDisconnecting = smtpIntegration.isDestroying,
433
+ onSmtpDisconnect = smtpIntegration.onDisconnect,
434
+ isSmtpExists = smtpIntegration.exists;
435
+ var isLoading = isGmailLoading || isOutlookLoading || isSparkpostLoading || isSmtpLoading;
436
+ var noneExists = !isGmailExists && !isOutlookExists && !isSparkpostExists && !isSmtpExists;
282
437
  var showGmail = noneExists || isGmailExists;
283
438
  var showOutlook = noneExists || isOutlookExists;
284
439
  var showSparkpost = noneExists || isSparkpostExists;
440
+ var showSmtp = noneExists || isSmtpExists;
285
441
  var handleGmailConnect = function handleGmailConnect() {
286
442
  window.location.href = buildUrl(GMAIL_OAUTH_CONNECT_URL, {
287
443
  ownerId: ownerId
@@ -295,9 +451,16 @@ var EmailDeliveryScreen = function EmailDeliveryScreen(_ref) {
295
451
  var handleOwnDomainConnect = function handleOwnDomainConnect() {
296
452
  history.push(ownDomainSetupRoute);
297
453
  };
454
+ var handleSmtpConnect = function handleSmtpConnect() {
455
+ setIsSmtpPaneOpen(true);
456
+ };
457
+ var handleSmtpPaneClose = function handleSmtpPaneClose() {
458
+ setIsSmtpPaneOpen(false);
459
+ };
298
460
  var gmailEmail = prop("email", gmailData);
299
461
  var outlookEmail = prop("email", outlookData);
300
462
  var sparkpostEmail = prop("email", sparkpostData);
463
+ var smtpEmail = prop("email", smtpData);
301
464
  var gmailTitle = t("neetoEmailDelivery.gmail.title");
302
465
  var gmailDescription = isGmailConnected ? t("neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail", {
303
466
  email: gmailEmail
@@ -310,16 +473,20 @@ var EmailDeliveryScreen = function EmailDeliveryScreen(_ref) {
310
473
  var ownDomainDescription = isSparkpostConnected ? t("neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail", {
311
474
  email: sparkpostEmail
312
475
  }) : t("neetoEmailDelivery.sparkpost.emailDelivery.ownDomainDescription");
476
+ var smtpTitle = t("neetoEmailDelivery.smtp.title");
477
+ var smtpDescription = isSmtpConnected ? t("neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail", {
478
+ email: smtpEmail
479
+ }) : t("neetoEmailDelivery.smtp.description");
313
480
  if (isLoading) {
314
481
  return /*#__PURE__*/jsx("div", {
315
482
  className: "flex grow items-center justify-center w-full",
316
483
  children: /*#__PURE__*/jsx(Spinner, {})
317
484
  });
318
485
  }
319
- var activeMessage = isGmailConnected && t("neetoEmailDelivery.gmail.gmailConfigured") || isOutlookConnected && t("neetoEmailDelivery.outlook.outlookConfigured") || isSparkpostConnected && t("neetoEmailDelivery.sparkpost.ownDomainConfigured");
320
- return /*#__PURE__*/jsx("div", {
486
+ var activeMessage = isGmailConnected && t("neetoEmailDelivery.gmail.gmailConfigured") || isOutlookConnected && t("neetoEmailDelivery.outlook.outlookConfigured") || isSparkpostConnected && t("neetoEmailDelivery.sparkpost.ownDomainConfigured") || isSmtpConnected && t("neetoEmailDelivery.smtp.smtpConfigured");
487
+ return /*#__PURE__*/jsxs("div", {
321
488
  className: "min-h-0 w-full grow",
322
- children: /*#__PURE__*/jsxs("div", {
489
+ children: [/*#__PURE__*/jsxs("div", {
323
490
  className: "@container mx-auto space-y-6",
324
491
  children: [/*#__PURE__*/jsxs("div", {
325
492
  className: "grid grid-cols-1 gap-3 py-1 @lg:grid-cols-2 @lg:gap-6 @3xl:grid-cols-3 @7xl:grid-cols-4",
@@ -351,6 +518,15 @@ var EmailDeliveryScreen = function EmailDeliveryScreen(_ref) {
351
518
  title: ownDomainTitle,
352
519
  onConnect: handleOwnDomainConnect,
353
520
  onDisconnect: onSparkpostDisconnect
521
+ }), showSmtp && /*#__PURE__*/jsx(IntegrationCard, {
522
+ connectButtonText: "neetoEmailDelivery.smtp.connectSmtp",
523
+ description: smtpDescription,
524
+ icon: MailSend,
525
+ isConnected: isSmtpConnected,
526
+ isDisconnecting: isSmtpDisconnecting,
527
+ title: smtpTitle,
528
+ onConnect: handleSmtpConnect,
529
+ onDisconnect: onSmtpDisconnect
354
530
  })]
355
531
  }), activeMessage && /*#__PURE__*/jsx(Callout, {
356
532
  style: "success",
@@ -366,7 +542,11 @@ var EmailDeliveryScreen = function EmailDeliveryScreen(_ref) {
366
542
  email: outlookEmail
367
543
  })
368
544
  })]
369
- })
545
+ }), isSmtpPaneOpen && /*#__PURE__*/jsx(SmtpSetup, {
546
+ ownerId: ownerId,
547
+ onCancel: handleSmtpPaneClose,
548
+ onDone: handleSmtpPaneClose
549
+ })]
370
550
  });
371
551
  };
372
552
 
@@ -1 +1 @@
1
- {"version":3,"file":"EmailDeliveryScreen.js","sources":["../app/javascript/src/hooks/integrations/useGmail.js","../app/javascript/src/hooks/integrations/useOutlook.js","../app/javascript/src/components/EmailDeliveryScreen/constants.js","../app/javascript/src/components/EmailDeliveryScreen/IntegrationCard.jsx","../app/javascript/src/components/EmailDeliveryScreen/index.jsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n useFetchGmail,\n useDestroyGmail,\n} from \"hooks/reactQuery/integrations/useGmailIntegrationApi\";\nimport { QUERY_KEYS } from \"src/constants/query\";\nimport { invalidateAllIntegrationQueries } from \"src/utils\";\n\nconst useGmail = ({ ownerId, indexRoute, canManageIntegrations }) => {\n const [isDisconnectAlertOpen, setIsDisconnectAlertOpen] = useState(false);\n\n const history = useHistory();\n\n const queryClient = useQueryClient();\n\n const {\n isLoading,\n data = {},\n isSuccess: isGmailFetched,\n } = useFetchGmail(ownerId, { enabled: canManageIntegrations });\n\n const { isPending: isDestroying, mutate: destroyIntegration } =\n useDestroyGmail({ ownerId });\n\n const onClose = () => history.replace(indexRoute);\n\n const onDisconnect = () => {\n destroyIntegration(false, {\n onSuccess: () => {\n showThumbsUpToastr();\n setIsDisconnectAlertOpen(false);\n invalidateAllIntegrationQueries(queryClient, ownerId);\n history.replace(indexRoute);\n },\n });\n };\n\n useEffect(() => {\n if (isGmailFetched) {\n queryClient.invalidateQueries({\n predicate: query => {\n const [key, id] = query.queryKey;\n\n return key === QUERY_KEYS.INTEGRATION_GMAIL && id !== ownerId;\n },\n });\n }\n }, [isGmailFetched, queryClient, ownerId]);\n\n return {\n data,\n isLoading,\n isDestroying,\n exists: data?.exists,\n isConnected: data?.connected,\n isDisconnectAlertOpen,\n setIsDisconnectAlertOpen,\n onDisconnect,\n onClose,\n errorMessage: data?.error,\n };\n};\n\nexport default useGmail;\n","import { useEffect, useState } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n useFetchOutlook,\n useDestroyOutlook,\n} from \"hooks/reactQuery/integrations/useOutlookIntegrationApi\";\nimport { QUERY_KEYS } from \"src/constants/query\";\nimport { invalidateAllIntegrationQueries } from \"src/utils\";\n\nconst useOutlook = ({ ownerId, indexRoute, canManageIntegrations }) => {\n const [isDisconnectAlertOpen, setIsDisconnectAlertOpen] = useState(false);\n\n const history = useHistory();\n\n const queryClient = useQueryClient();\n\n const {\n isLoading,\n data = {},\n isSuccess: isOutlookFetched,\n } = useFetchOutlook(ownerId, { enabled: canManageIntegrations });\n\n const { isPending: isDestroying, mutate: destroyIntegration } =\n useDestroyOutlook({ ownerId });\n\n const onClose = () => history.replace(indexRoute);\n\n const onDisconnect = () => {\n destroyIntegration(false, {\n onSuccess: () => {\n showThumbsUpToastr();\n setIsDisconnectAlertOpen(false);\n invalidateAllIntegrationQueries(queryClient, ownerId);\n history.replace(indexRoute);\n },\n });\n };\n\n useEffect(() => {\n if (isOutlookFetched) {\n queryClient.invalidateQueries({\n predicate: query => {\n const [key, id] = query.queryKey;\n\n return key === QUERY_KEYS.INTEGRATION_OUTLOOK && id !== ownerId;\n },\n });\n }\n }, [isOutlookFetched, queryClient, ownerId]);\n\n return {\n data,\n isLoading,\n exists: data?.exists,\n status: data?.status,\n shadowAccount: data?.shadowAccount,\n isWaitingForTestEmail: data?.status === \"inactive\" && !data?.connected,\n isDestroying,\n isConnected: data?.connected,\n isDisconnectAlertOpen,\n setIsDisconnectAlertOpen,\n onDisconnect,\n onClose,\n errorMessage: data?.error,\n };\n};\n\nexport default useOutlook;\n","import { t } from \"i18next\";\n\nexport const ERROR_MESSAGES = {\n gmail_permission_not_given: t(\"neetoEmailDelivery.gmail.permissionNotGiven\"),\n outlook_permission_not_given: t(\n \"neetoEmailDelivery.outlook.permissionNotGiven\"\n ),\n outlook_invalid_client: t(\"neetoEmailDelivery.outlook.invalidClient\"),\n outlook_nil_json_web_token: t(\"neetoEmailDelivery.outlook.nilJsonWebToken\"),\n};\n","import { Button, Tag, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst IntegrationCard = ({\n icon: Icon,\n title,\n description,\n isConnected,\n isDisconnecting,\n onConnect,\n onDisconnect,\n connectButtonText,\n disconnectButtonText = \"neetoEmailDelivery.sparkpost.emailDelivery.disconnect\",\n connectedTagText = \"neetoEmailDelivery.sparkpost.emailDelivery.connected\",\n showDisconnect = false,\n}) => {\n const { t } = useTranslation();\n\n const shouldShowDisconnect = isConnected || showDisconnect;\n\n return (\n <div className=\"neeto-ui-rounded-lg neeto-ui-shadow-xs neeto-ui-border-gray-300 translate flex flex-col gap-y-4 border p-6 no-underline transition-transform duration-300 ease-in-out outline-none hover:-translate-y-1\">\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex items-center gap-3\">\n <Icon className=\"shrink-0\" size={32} />\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-center gap-2\">\n <Typography style=\"h4\" weight=\"semibold\">\n {title}\n </Typography>\n {isConnected && <Tag label={t(connectedTagText)} />}\n </div>\n </div>\n </div>\n <Typography style=\"body2\">{description}</Typography>\n {connectButtonText && (\n <div className=\"flex gap-2\">\n {shouldShowDisconnect ? (\n <Button\n data-cy=\"disconnect-button\"\n label={t(disconnectButtonText)}\n loading={isDisconnecting}\n size=\"small\"\n style=\"danger\"\n onClick={onDisconnect}\n />\n ) : (\n <Button\n data-cy=\"connect-button\"\n label={t(connectButtonText)}\n size=\"small\"\n style=\"primary\"\n onClick={onConnect}\n />\n )}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default IntegrationCard;\n","import { humanize, isPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { MailSend } from \"neetoicons\";\nimport { Gmail as GmailIcon, Outlook as OutlookIcon } from \"neetoicons/misc\";\nimport { Spinner, Callout, Toastr } from \"neetoui\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n GMAIL_OAUTH_CONNECT_URL,\n OUTLOOK_OAUTH_CONNECT_URL,\n} from \"apis/integrations/constants\";\nimport useGmail from \"hooks/integrations/useGmail\";\nimport useOutlook from \"hooks/integrations/useOutlook\";\nimport useSparkpostDomain from \"hooks/integrations/useSparkpostDomain\";\n\nimport { ERROR_MESSAGES } from \"./constants\";\nimport IntegrationCard from \"./IntegrationCard\";\n\nconst EmailDeliveryScreen = ({\n indexRoute,\n ownerId,\n ownDomainSetupRoute,\n canManageIntegrations,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { error, errorDescription } = useQueryParams();\n\n if (isPresent(error)) {\n let errorMessage = ERROR_MESSAGES[error];\n if (errorDescription) {\n errorMessage = `${errorMessage} ${errorDescription}`;\n }\n Toastr.error(errorMessage ?? humanize(error));\n\n history.replace(indexRoute);\n }\n\n const gmailIntegration = useGmail({\n ownerId,\n indexRoute,\n canManageIntegrations,\n });\n\n const outlookIntegration = useOutlook({\n ownerId,\n indexRoute,\n canManageIntegrations,\n });\n\n const sparkpostIntegration = useSparkpostDomain({\n ownerId,\n canManageIntegrations,\n });\n\n const {\n data: gmailData = {},\n isConnected: isGmailConnected,\n isLoading: isGmailLoading,\n isDestroying: isGmailDisconnecting,\n onDisconnect: onGmailDisconnect,\n exists: isGmailExists,\n } = gmailIntegration;\n\n const {\n data: outlookData = {},\n isConnected: isOutlookConnected,\n isLoading: isOutlookLoading,\n isDestroying: isOutlookDisconnecting,\n isWaitingForTestEmail: isOutlookWaitingForTestEmail,\n shadowAccount: isOutlookShadowAccount,\n onDisconnect: onOutlookDisconnect,\n exists: isOutlookExists,\n } = outlookIntegration;\n\n const {\n data: sparkpostData = {},\n isConnected: isSparkpostConnected,\n isLoading: isSparkpostLoading,\n onDisconnect: onSparkpostDisconnect,\n isDestroying: isSparkpostDisconnecting,\n exists: isSparkpostExists,\n } = sparkpostIntegration;\n\n const isLoading = isGmailLoading || isOutlookLoading || isSparkpostLoading;\n const noneExists = !isGmailExists && !isOutlookExists && !isSparkpostExists;\n const showGmail = noneExists || isGmailExists;\n const showOutlook = noneExists || isOutlookExists;\n const showSparkpost = noneExists || isSparkpostExists;\n\n const handleGmailConnect = () => {\n window.location.href = buildUrl(GMAIL_OAUTH_CONNECT_URL, { ownerId });\n };\n\n const handleOutlookConnect = () => {\n window.location.href = buildUrl(OUTLOOK_OAUTH_CONNECT_URL, { ownerId });\n };\n\n const handleOwnDomainConnect = () => {\n history.push(ownDomainSetupRoute);\n };\n\n const gmailEmail = prop(\"email\", gmailData);\n const outlookEmail = prop(\"email\", outlookData);\n const sparkpostEmail = prop(\"email\", sparkpostData);\n\n const gmailTitle = t(\"neetoEmailDelivery.gmail.title\");\n const gmailDescription = isGmailConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: gmailEmail,\n })\n : t(\"neetoEmailDelivery.gmail.description\");\n\n const outlookTitle = t(\"neetoEmailDelivery.outlook.title\");\n const outlookDescription = isOutlookConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: outlookEmail,\n })\n : t(\"neetoEmailDelivery.outlook.description\");\n\n const ownDomainTitle = t(\n \"neetoEmailDelivery.sparkpost.emailDelivery.ownDomainTitle\"\n );\n\n const ownDomainDescription = isSparkpostConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: sparkpostEmail,\n })\n : t(\"neetoEmailDelivery.sparkpost.emailDelivery.ownDomainDescription\");\n\n if (isLoading) {\n return (\n <div className=\"flex grow items-center justify-center w-full\">\n <Spinner />\n </div>\n );\n }\n\n const activeMessage =\n (isGmailConnected && t(\"neetoEmailDelivery.gmail.gmailConfigured\")) ||\n (isOutlookConnected && t(\"neetoEmailDelivery.outlook.outlookConfigured\")) ||\n (isSparkpostConnected &&\n t(\"neetoEmailDelivery.sparkpost.ownDomainConfigured\"));\n\n return (\n <div className=\"min-h-0 w-full grow\">\n <div className=\"@container mx-auto space-y-6\">\n <div className=\"grid grid-cols-1 gap-3 py-1 @lg:grid-cols-2 @lg:gap-6 @3xl:grid-cols-3 @7xl:grid-cols-4\">\n {/* Gmail Option */}\n {showGmail && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.gmail.connectGmail\"\n description={gmailDescription}\n icon={GmailIcon}\n isConnected={isGmailConnected}\n isDisconnecting={isGmailDisconnecting}\n title={gmailTitle}\n onConnect={handleGmailConnect}\n onDisconnect={onGmailDisconnect}\n />\n )}\n {/* Outlook Option */}\n {showOutlook && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.outlook.connectOutlook\"\n description={outlookDescription}\n icon={OutlookIcon}\n isConnected={isOutlookConnected}\n isDisconnecting={isOutlookDisconnecting}\n title={outlookTitle}\n showDisconnect={\n isOutlookWaitingForTestEmail || isOutlookShadowAccount\n }\n onConnect={handleOutlookConnect}\n onDisconnect={onOutlookDisconnect}\n />\n )}\n {/* Own Domain (Sparkpost) Option */}\n {showSparkpost && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.sparkpost.emailDelivery.setupDomain\"\n description={ownDomainDescription}\n icon={MailSend}\n isConnected={isSparkpostConnected}\n isDisconnecting={isSparkpostDisconnecting}\n title={ownDomainTitle}\n onConnect={handleOwnDomainConnect}\n onDisconnect={onSparkpostDisconnect}\n />\n )}\n </div>\n {activeMessage && <Callout style=\"success\">{activeMessage}</Callout>}\n {isOutlookWaitingForTestEmail && (\n <Callout style=\"warning\">\n {t(\"neetoEmailDelivery.outlook.waitingForTestEmail\", {\n email: outlookEmail,\n })}\n </Callout>\n )}\n {isOutlookShadowAccount && (\n <Callout style=\"warning\">\n {t(\"neetoEmailDelivery.outlook.shadowAccountMessage\", {\n email: outlookEmail,\n })}\n </Callout>\n )}\n </div>\n </div>\n );\n};\n\nexport default EmailDeliveryScreen;\n"],"names":["useGmail","_ref","ownerId","indexRoute","canManageIntegrations","_useState","useState","_useState2","_slicedToArray","isDisconnectAlertOpen","setIsDisconnectAlertOpen","history","useHistory","queryClient","useQueryClient","_useFetchGmail","useFetchGmail","enabled","isLoading","_useFetchGmail$data","data","isGmailFetched","isSuccess","_useDestroyGmail","useDestroyGmail","isDestroying","isPending","destroyIntegration","mutate","onClose","replace","onDisconnect","onSuccess","showThumbsUpToastr","invalidateAllIntegrationQueries","useEffect","invalidateQueries","predicate","query","_query$queryKey","queryKey","key","id","QUERY_KEYS","INTEGRATION_GMAIL","exists","isConnected","connected","errorMessage","error","useOutlook","_useFetchOutlook","useFetchOutlook","_useFetchOutlook$data","isOutlookFetched","_useDestroyOutlook","useDestroyOutlook","INTEGRATION_OUTLOOK","status","shadowAccount","isWaitingForTestEmail","ERROR_MESSAGES","gmail_permission_not_given","t","outlook_permission_not_given","outlook_invalid_client","outlook_nil_json_web_token","IntegrationCard","Icon","icon","title","description","isDisconnecting","onConnect","connectButtonText","_ref$disconnectButton","disconnectButtonText","_ref$connectedTagText","connectedTagText","_ref$showDisconnect","showDisconnect","_useTranslation","useTranslation","shouldShowDisconnect","_jsx","className","children","_jsxs","size","Typography","style","weight","Tag","label","Button","loading","onClick","EmailDeliveryScreen","ownDomainSetupRoute","_useQueryParams","useQueryParams","errorDescription","isPresent","_errorMessage","concat","Toastr","humanize","gmailIntegration","outlookIntegration","sparkpostIntegration","useSparkpostDomain","_gmailIntegration$dat","gmailData","isGmailConnected","isGmailLoading","isGmailDisconnecting","onGmailDisconnect","isGmailExists","_outlookIntegration$d","outlookData","isOutlookConnected","isOutlookLoading","isOutlookDisconnecting","isOutlookWaitingForTestEmail","isOutlookShadowAccount","onOutlookDisconnect","isOutlookExists","_sparkpostIntegration","sparkpostData","isSparkpostConnected","isSparkpostLoading","onSparkpostDisconnect","isSparkpostDisconnecting","isSparkpostExists","noneExists","showGmail","showOutlook","showSparkpost","handleGmailConnect","window","location","href","buildUrl","GMAIL_OAUTH_CONNECT_URL","handleOutlookConnect","OUTLOOK_OAUTH_CONNECT_URL","handleOwnDomainConnect","push","gmailEmail","prop","outlookEmail","sparkpostEmail","gmailTitle","gmailDescription","email","outlookTitle","outlookDescription","ownDomainTitle","ownDomainDescription","Spinner","activeMessage","GmailIcon","OutlookIcon","MailSend","Callout"],"mappings":"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"}
1
+ {"version":3,"file":"EmailDeliveryScreen.js","sources":["../app/javascript/src/components/Smtp/constants.js","../app/javascript/src/components/Smtp/Setup.jsx","../app/javascript/src/hooks/integrations/useGmail.js","../app/javascript/src/hooks/integrations/useOutlook.js","../app/javascript/src/hooks/integrations/useSmtp.js","../app/javascript/src/components/EmailDeliveryScreen/constants.js","../app/javascript/src/components/EmailDeliveryScreen/IntegrationCard.jsx","../app/javascript/src/components/EmailDeliveryScreen/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const ENCRYPTION_OPTIONS = [\n { label: \"None\", value: \"none\" },\n { label: \"StartTLS\", value: \"starttls\" },\n { label: \"SSL\", value: \"ssl\" },\n];\n\nexport const SMTP_ACCOUNT_INITIAL_VALUES = {\n host: \"\",\n port: 587,\n username: \"\",\n password: \"\",\n email: \"\",\n encryption: \"starttls\",\n display_name: \"\",\n};\n\nexport const SMTP_ACCOUNT_VALIDATION_SCHEMA = yup.object().shape({\n host: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.hostLabel\"),\n })\n ),\n port: yup.number().required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.portLabel\"),\n })\n ),\n username: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.usernameLabel\"),\n })\n ),\n password: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.passwordLabel\"),\n })\n ),\n email: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.emailLabel\"),\n })\n )\n .email(t(\"neetoEmailDelivery.smtp.setup.emailInvalid\")),\n displayName: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.displayNameLabel\"),\n })\n ),\n encryption: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.encryptionLabel\"),\n })\n ),\n});\n","import { Callout, Pane, Typography } from \"neetoui\";\nimport { Form, Input, Radio, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateSmtp } from \"hooks/reactQuery/integrations/useSmtpIntegrationApi\";\n\nimport {\n SMTP_ACCOUNT_INITIAL_VALUES,\n SMTP_ACCOUNT_VALIDATION_SCHEMA,\n ENCRYPTION_OPTIONS,\n} from \"./constants\";\n\nconst SmtpSetup = ({ ownerId, onDone, onCancel }) => {\n const { t } = useTranslation();\n\n const { isPending: isCreating, mutate: createSmtp } = useCreateSmtp({\n ownerId,\n });\n\n const handleSubmit = values => {\n createSmtp({ smtp_account: values }, { onSuccess: onDone });\n };\n\n return (\n <Pane isOpen size=\"lg\" onClose={onCancel}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoEmailDelivery.smtp.setup.title\")}\n </Typography>\n </Pane.Header>\n <Form\n className=\"w-full\"\n formikProps={{\n initialValues: SMTP_ACCOUNT_INITIAL_VALUES,\n validationSchema: SMTP_ACCOUNT_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body className=\"space-y-4\">\n <div className=\"flex flex-col gap-6\">\n <Callout style=\"warning\">\n {t(\"neetoEmailDelivery.smtp.setup.note\")}\n </Callout>\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.hostLabel\")}\n name=\"host\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.portLabel\")}\n name=\"port\"\n type=\"number\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.usernameLabel\")}\n name=\"username\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.passwordLabel\")}\n name=\"password\"\n type=\"password\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.emailLabel\")}\n name=\"email\"\n type=\"email\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.displayNameLabel\")}\n name=\"displayName\"\n />\n <Radio\n label={t(\"neetoEmailDelivery.smtp.setup.encryptionLabel\")}\n name=\"encryption\"\n >\n {ENCRYPTION_OPTIONS.map(option => (\n <Radio.Item\n key={option.value}\n label={option.label}\n value={option.value}\n />\n ))}\n </Radio>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onCancel }}\n isSubmitting={isCreating}\n submitButtonProps={{\n label: t(\"neetoEmailDelivery.smtp.setup.saveAndActivate\"),\n }}\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default SmtpSetup;\n","import { useState } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n useFetchGmail,\n useDestroyGmail,\n} from \"hooks/reactQuery/integrations/useGmailIntegrationApi\";\nimport { invalidateAllIntegrationQueries } from \"src/utils\";\n\nconst useGmail = ({ ownerId, indexRoute, canManageIntegrations }) => {\n const [isDisconnectAlertOpen, setIsDisconnectAlertOpen] = useState(false);\n\n const history = useHistory();\n\n const queryClient = useQueryClient();\n\n const { isLoading, data = {} } = useFetchGmail(ownerId, {\n enabled: canManageIntegrations,\n });\n\n const { isPending: isDestroying, mutate: destroyIntegration } =\n useDestroyGmail({ ownerId });\n\n const onClose = () => history.replace(indexRoute);\n\n const onDisconnect = () => {\n destroyIntegration(false, {\n onSuccess: () => {\n setIsDisconnectAlertOpen(false);\n invalidateAllIntegrationQueries(queryClient, ownerId);\n history.replace(indexRoute);\n },\n });\n };\n\n return {\n data,\n isLoading,\n isDestroying,\n exists: data?.exists,\n isConnected: data?.connected,\n isDisconnectAlertOpen,\n setIsDisconnectAlertOpen,\n onDisconnect,\n onClose,\n errorMessage: data?.error,\n };\n};\n\nexport default useGmail;\n","import { useState } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n useFetchOutlook,\n useDestroyOutlook,\n} from \"hooks/reactQuery/integrations/useOutlookIntegrationApi\";\nimport { invalidateAllIntegrationQueries } from \"src/utils\";\n\nconst useOutlook = ({ ownerId, indexRoute, canManageIntegrations }) => {\n const [isDisconnectAlertOpen, setIsDisconnectAlertOpen] = useState(false);\n\n const history = useHistory();\n\n const queryClient = useQueryClient();\n\n const { isLoading, data = {} } = useFetchOutlook(ownerId, {\n enabled: canManageIntegrations,\n });\n\n const { isPending: isDestroying, mutate: destroyIntegration } =\n useDestroyOutlook({ ownerId });\n\n const onClose = () => history.replace(indexRoute);\n\n const onDisconnect = () => {\n destroyIntegration(false, {\n onSuccess: () => {\n setIsDisconnectAlertOpen(false);\n invalidateAllIntegrationQueries(queryClient, ownerId);\n history.replace(indexRoute);\n },\n });\n };\n\n return {\n data,\n isLoading,\n exists: data?.exists,\n status: data?.status,\n shadowAccount: data?.shadowAccount,\n isWaitingForTestEmail: data?.status === \"inactive\" && !data?.connected,\n isDestroying,\n isConnected: data?.connected,\n isDisconnectAlertOpen,\n setIsDisconnectAlertOpen,\n onDisconnect,\n onClose,\n errorMessage: data?.error,\n };\n};\n\nexport default useOutlook;\n","import {\n useFetchSmtp,\n useDestroySmtp,\n} from \"hooks/reactQuery/integrations/useSmtpIntegrationApi\";\n\nconst useSmtp = ({ ownerId, canManageIntegrations }) => {\n const { isLoading, data = {} } = useFetchSmtp(ownerId, {\n enabled: canManageIntegrations,\n });\n\n const { isPending: isDestroying, mutate: onDisconnect } = useDestroySmtp({\n ownerId,\n });\n\n return {\n data,\n isConnected: data?.connected,\n isLoading,\n isDestroying,\n onDisconnect,\n exists: data?.exists,\n };\n};\n\nexport default useSmtp;\n","import { t } from \"i18next\";\n\nexport const ERROR_MESSAGES = {\n gmail_permission_not_given: t(\"neetoEmailDelivery.gmail.permissionNotGiven\"),\n outlook_permission_not_given: t(\n \"neetoEmailDelivery.outlook.permissionNotGiven\"\n ),\n outlook_invalid_client: t(\"neetoEmailDelivery.outlook.invalidClient\"),\n outlook_nil_json_web_token: t(\"neetoEmailDelivery.outlook.nilJsonWebToken\"),\n};\n","import { Button, Tag, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst IntegrationCard = ({\n icon: Icon,\n title,\n description,\n isConnected,\n isDisconnecting,\n onConnect,\n onDisconnect,\n connectButtonText,\n disconnectButtonText = \"neetoEmailDelivery.sparkpost.emailDelivery.disconnect\",\n connectedTagText = \"neetoEmailDelivery.sparkpost.emailDelivery.connected\",\n showDisconnect = false,\n}) => {\n const { t } = useTranslation();\n\n const shouldShowDisconnect = isConnected || showDisconnect;\n\n return (\n <div className=\"neeto-ui-rounded-lg neeto-ui-shadow-xs neeto-ui-border-gray-300 translate flex flex-col gap-y-4 border p-6 no-underline transition-transform duration-300 ease-in-out outline-none hover:-translate-y-1\">\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex items-center gap-3\">\n <Icon className=\"shrink-0\" size={32} />\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-center gap-2\">\n <Typography style=\"h4\" weight=\"semibold\">\n {title}\n </Typography>\n {isConnected && <Tag label={t(connectedTagText)} />}\n </div>\n </div>\n </div>\n <Typography style=\"body2\">{description}</Typography>\n {connectButtonText && (\n <div className=\"flex gap-2\">\n {shouldShowDisconnect ? (\n <Button\n data-cy=\"disconnect-button\"\n label={t(disconnectButtonText)}\n loading={isDisconnecting}\n size=\"small\"\n style=\"danger\"\n onClick={onDisconnect}\n />\n ) : (\n <Button\n data-cy=\"connect-button\"\n label={t(connectButtonText)}\n size=\"small\"\n style=\"primary\"\n onClick={onConnect}\n />\n )}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default IntegrationCard;\n","import { useState } from \"react\";\n\nimport { humanize, isPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { MailSend } from \"neetoicons\";\nimport { Gmail as GmailIcon, Outlook as OutlookIcon } from \"neetoicons/misc\";\nimport { Spinner, Callout, Toastr } from \"neetoui\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n GMAIL_OAUTH_CONNECT_URL,\n OUTLOOK_OAUTH_CONNECT_URL,\n} from \"apis/integrations/constants\";\nimport SmtpSetup from \"components/Smtp/Setup\";\nimport useGmail from \"hooks/integrations/useGmail\";\nimport useOutlook from \"hooks/integrations/useOutlook\";\nimport useSmtp from \"hooks/integrations/useSmtp\";\nimport useSparkpostDomain from \"hooks/integrations/useSparkpostDomain\";\n\nimport { ERROR_MESSAGES } from \"./constants\";\nimport IntegrationCard from \"./IntegrationCard\";\n\nconst EmailDeliveryScreen = ({\n indexRoute,\n ownerId,\n ownDomainSetupRoute,\n canManageIntegrations,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [isSmtpPaneOpen, setIsSmtpPaneOpen] = useState(false);\n const { error, errorDescription } = useQueryParams();\n\n if (isPresent(error)) {\n let errorMessage = ERROR_MESSAGES[error];\n if (errorDescription) {\n errorMessage = `${errorMessage} ${errorDescription}`;\n }\n Toastr.error(errorMessage ?? humanize(error));\n\n history.replace(indexRoute);\n }\n\n const gmailIntegration = useGmail({\n ownerId,\n indexRoute,\n canManageIntegrations,\n });\n\n const outlookIntegration = useOutlook({\n ownerId,\n indexRoute,\n canManageIntegrations,\n });\n\n const sparkpostIntegration = useSparkpostDomain({\n ownerId,\n canManageIntegrations,\n });\n\n const smtpIntegration = useSmtp({ ownerId, canManageIntegrations });\n\n const {\n data: gmailData = {},\n isConnected: isGmailConnected,\n isLoading: isGmailLoading,\n isDestroying: isGmailDisconnecting,\n onDisconnect: onGmailDisconnect,\n exists: isGmailExists,\n } = gmailIntegration;\n\n const {\n data: outlookData = {},\n isConnected: isOutlookConnected,\n isLoading: isOutlookLoading,\n isDestroying: isOutlookDisconnecting,\n isWaitingForTestEmail: isOutlookWaitingForTestEmail,\n shadowAccount: isOutlookShadowAccount,\n onDisconnect: onOutlookDisconnect,\n exists: isOutlookExists,\n } = outlookIntegration;\n\n const {\n data: sparkpostData = {},\n isConnected: isSparkpostConnected,\n isLoading: isSparkpostLoading,\n onDisconnect: onSparkpostDisconnect,\n isDestroying: isSparkpostDisconnecting,\n exists: isSparkpostExists,\n } = sparkpostIntegration;\n\n const {\n data: smtpData = {},\n isConnected: isSmtpConnected,\n isLoading: isSmtpLoading,\n isDestroying: isSmtpDisconnecting,\n onDisconnect: onSmtpDisconnect,\n exists: isSmtpExists,\n } = smtpIntegration;\n\n const isLoading =\n isGmailLoading || isOutlookLoading || isSparkpostLoading || isSmtpLoading;\n\n const noneExists =\n !isGmailExists && !isOutlookExists && !isSparkpostExists && !isSmtpExists;\n const showGmail = noneExists || isGmailExists;\n const showOutlook = noneExists || isOutlookExists;\n const showSparkpost = noneExists || isSparkpostExists;\n const showSmtp = noneExists || isSmtpExists;\n\n const handleGmailConnect = () => {\n window.location.href = buildUrl(GMAIL_OAUTH_CONNECT_URL, { ownerId });\n };\n\n const handleOutlookConnect = () => {\n window.location.href = buildUrl(OUTLOOK_OAUTH_CONNECT_URL, { ownerId });\n };\n\n const handleOwnDomainConnect = () => {\n history.push(ownDomainSetupRoute);\n };\n\n const handleSmtpConnect = () => {\n setIsSmtpPaneOpen(true);\n };\n\n const handleSmtpPaneClose = () => {\n setIsSmtpPaneOpen(false);\n };\n\n const gmailEmail = prop(\"email\", gmailData);\n const outlookEmail = prop(\"email\", outlookData);\n const sparkpostEmail = prop(\"email\", sparkpostData);\n const smtpEmail = prop(\"email\", smtpData);\n\n const gmailTitle = t(\"neetoEmailDelivery.gmail.title\");\n const gmailDescription = isGmailConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: gmailEmail,\n })\n : t(\"neetoEmailDelivery.gmail.description\");\n\n const outlookTitle = t(\"neetoEmailDelivery.outlook.title\");\n const outlookDescription = isOutlookConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: outlookEmail,\n })\n : t(\"neetoEmailDelivery.outlook.description\");\n\n const ownDomainTitle = t(\n \"neetoEmailDelivery.sparkpost.emailDelivery.ownDomainTitle\"\n );\n\n const ownDomainDescription = isSparkpostConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: sparkpostEmail,\n })\n : t(\"neetoEmailDelivery.sparkpost.emailDelivery.ownDomainDescription\");\n\n const smtpTitle = t(\"neetoEmailDelivery.smtp.title\");\n const smtpDescription = isSmtpConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: smtpEmail,\n })\n : t(\"neetoEmailDelivery.smtp.description\");\n\n if (isLoading) {\n return (\n <div className=\"flex grow items-center justify-center w-full\">\n <Spinner />\n </div>\n );\n }\n\n const activeMessage =\n (isGmailConnected && t(\"neetoEmailDelivery.gmail.gmailConfigured\")) ||\n (isOutlookConnected && t(\"neetoEmailDelivery.outlook.outlookConfigured\")) ||\n (isSparkpostConnected &&\n t(\"neetoEmailDelivery.sparkpost.ownDomainConfigured\")) ||\n (isSmtpConnected && t(\"neetoEmailDelivery.smtp.smtpConfigured\"));\n\n return (\n <div className=\"min-h-0 w-full grow\">\n <div className=\"@container mx-auto space-y-6\">\n <div className=\"grid grid-cols-1 gap-3 py-1 @lg:grid-cols-2 @lg:gap-6 @3xl:grid-cols-3 @7xl:grid-cols-4\">\n {/* Gmail Option */}\n {showGmail && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.gmail.connectGmail\"\n description={gmailDescription}\n icon={GmailIcon}\n isConnected={isGmailConnected}\n isDisconnecting={isGmailDisconnecting}\n title={gmailTitle}\n onConnect={handleGmailConnect}\n onDisconnect={onGmailDisconnect}\n />\n )}\n {/* Outlook Option */}\n {showOutlook && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.outlook.connectOutlook\"\n description={outlookDescription}\n icon={OutlookIcon}\n isConnected={isOutlookConnected}\n isDisconnecting={isOutlookDisconnecting}\n title={outlookTitle}\n showDisconnect={\n isOutlookWaitingForTestEmail || isOutlookShadowAccount\n }\n onConnect={handleOutlookConnect}\n onDisconnect={onOutlookDisconnect}\n />\n )}\n {/* Own Domain (Sparkpost) Option */}\n {showSparkpost && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.sparkpost.emailDelivery.setupDomain\"\n description={ownDomainDescription}\n icon={MailSend}\n isConnected={isSparkpostConnected}\n isDisconnecting={isSparkpostDisconnecting}\n title={ownDomainTitle}\n onConnect={handleOwnDomainConnect}\n onDisconnect={onSparkpostDisconnect}\n />\n )}\n {/* SMTP Option */}\n {showSmtp && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.smtp.connectSmtp\"\n description={smtpDescription}\n icon={MailSend}\n isConnected={isSmtpConnected}\n isDisconnecting={isSmtpDisconnecting}\n title={smtpTitle}\n onConnect={handleSmtpConnect}\n onDisconnect={onSmtpDisconnect}\n />\n )}\n </div>\n {activeMessage && <Callout style=\"success\">{activeMessage}</Callout>}\n {isOutlookWaitingForTestEmail && (\n <Callout style=\"warning\">\n {t(\"neetoEmailDelivery.outlook.waitingForTestEmail\", {\n email: outlookEmail,\n })}\n </Callout>\n )}\n {isOutlookShadowAccount && (\n <Callout style=\"warning\">\n {t(\"neetoEmailDelivery.outlook.shadowAccountMessage\", {\n email: outlookEmail,\n })}\n </Callout>\n )}\n </div>\n {isSmtpPaneOpen && (\n <SmtpSetup\n {...{ ownerId }}\n onCancel={handleSmtpPaneClose}\n onDone={handleSmtpPaneClose}\n />\n )}\n </div>\n );\n};\n\nexport default EmailDeliveryScreen;\n"],"names":["ENCRYPTION_OPTIONS","label","value","SMTP_ACCOUNT_INITIAL_VALUES","host","port","username","password","email","encryption","display_name","SMTP_ACCOUNT_VALIDATION_SCHEMA","yup","object","shape","string","trim","required","t","field","number","displayName","SmtpSetup","_ref","ownerId","onDone","onCancel","_useTranslation","useTranslation","_useCreateSmtp","useCreateSmtp","isCreating","isPending","createSmtp","mutate","handleSubmit","values","smtp_account","onSuccess","_jsxs","Pane","isOpen","size","onClose","children","_jsx","Header","Typography","style","weight","Form","className","formikProps","initialValues","validationSchema","onSubmit","Body","Callout","Input","name","type","Radio","map","option","Item","Footer","ActionBlock","cancelButtonProps","onClick","isSubmitting","submitButtonProps","useGmail","indexRoute","canManageIntegrations","_useState","useState","_useState2","_slicedToArray","isDisconnectAlertOpen","setIsDisconnectAlertOpen","history","useHistory","queryClient","useQueryClient","_useFetchGmail","useFetchGmail","enabled","isLoading","_useFetchGmail$data","data","_useDestroyGmail","useDestroyGmail","isDestroying","destroyIntegration","replace","onDisconnect","invalidateAllIntegrationQueries","exists","isConnected","connected","errorMessage","error","useOutlook","_useFetchOutlook","useFetchOutlook","_useFetchOutlook$data","_useDestroyOutlook","useDestroyOutlook","status","shadowAccount","isWaitingForTestEmail","useSmtp","_useFetchSmtp","useFetchSmtp","_useFetchSmtp$data","_useDestroySmtp","useDestroySmtp","ERROR_MESSAGES","gmail_permission_not_given","outlook_permission_not_given","outlook_invalid_client","outlook_nil_json_web_token","IntegrationCard","Icon","icon","title","description","isDisconnecting","onConnect","connectButtonText","_ref$disconnectButton","disconnectButtonText","_ref$connectedTagText","connectedTagText","_ref$showDisconnect","showDisconnect","shouldShowDisconnect","Tag","Button","loading","EmailDeliveryScreen","ownDomainSetupRoute","isSmtpPaneOpen","setIsSmtpPaneOpen","_useQueryParams","useQueryParams","errorDescription","isPresent","_errorMessage","concat","Toastr","humanize","gmailIntegration","outlookIntegration","sparkpostIntegration","useSparkpostDomain","smtpIntegration","_gmailIntegration$dat","gmailData","isGmailConnected","isGmailLoading","isGmailDisconnecting","onGmailDisconnect","isGmailExists","_outlookIntegration$d","outlookData","isOutlookConnected","isOutlookLoading","isOutlookDisconnecting","isOutlookWaitingForTestEmail","isOutlookShadowAccount","onOutlookDisconnect","isOutlookExists","_sparkpostIntegration","sparkpostData","isSparkpostConnected","isSparkpostLoading","onSparkpostDisconnect","isSparkpostDisconnecting","isSparkpostExists","_smtpIntegration$data","smtpData","isSmtpConnected","isSmtpLoading","isSmtpDisconnecting","onSmtpDisconnect","isSmtpExists","noneExists","showGmail","showOutlook","showSparkpost","showSmtp","handleGmailConnect","window","location","href","buildUrl","GMAIL_OAUTH_CONNECT_URL","handleOutlookConnect","OUTLOOK_OAUTH_CONNECT_URL","handleOwnDomainConnect","push","handleSmtpConnect","handleSmtpPaneClose","gmailEmail","prop","outlookEmail","sparkpostEmail","smtpEmail","gmailTitle","gmailDescription","outlookTitle","outlookDescription","ownDomainTitle","ownDomainDescription","smtpTitle","smtpDescription","Spinner","activeMessage","GmailIcon","OutlookIcon","MailSend"],"mappings":"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"}
@@ -7,7 +7,7 @@ import Form from '@bigbinary/neetoui/formik/Form';
7
7
  import { useTranslation } from 'react-i18next';
8
8
  import { useHistory } from 'react-router-dom';
9
9
  import { P as PageWrapper, a as PageContent, V as VALIDATION_SCHEMA } from './constants-Cvxv8ly7.js';
10
- import { u as useSparkpostDomain } from './useSparkpostDomain-DDI4pHcZ.js';
10
+ import { u as useSparkpostDomain } from './useSparkpostDomain-CuX-Gl5a.js';
11
11
  import { jsx, jsxs } from 'react/jsx-runtime';
12
12
  import '@babel/runtime/helpers/defineProperty';
13
13
  import '@babel/runtime/helpers/objectWithoutProperties';
@@ -20,7 +20,7 @@ import 'yup';
20
20
  import '@babel/runtime/helpers/slicedToArray';
21
21
  import '@tanstack/react-query';
22
22
  import '@bigbinary/neetoui/Toastr';
23
- import './useSparkpostApi-W7XibjIp.js';
23
+ import './useSparkpostApi-qpRhsK7H.js';
24
24
  import '@bigbinary/neeto-commons-frontend/react-utils';
25
25
  import 'axios';
26
26
 
@@ -7,8 +7,8 @@ import { isEmpty, pathOr } from 'ramda';
7
7
  import { useTranslation } from 'react-i18next';
8
8
  import { useHistory } from 'react-router-dom';
9
9
  import { b as PURPOSE_COLORS, D as DEFAULT_COLOR, c as VERIFICATION_STATUS_CONFIG, d as VERIFICATION_STATUSES, P as PageWrapper, a as PageContent } from './constants-Cvxv8ly7.js';
10
- import { u as useSparkpostDomain } from './useSparkpostDomain-DDI4pHcZ.js';
11
- import { u as useFetchSparkpostDomain } from './useSparkpostApi-W7XibjIp.js';
10
+ import { u as useSparkpostDomain } from './useSparkpostDomain-CuX-Gl5a.js';
11
+ import { u as useFetchSparkpostDomain } from './useSparkpostApi-qpRhsK7H.js';
12
12
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
13
13
  import Typography from '@bigbinary/neetoui/Typography';
14
14
  import Tag from '@bigbinary/neetoui/Tag';