@bigbinary/neeto-email-delivery-frontend 1.0.7 → 1.0.9

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 (38) hide show
  1. package/README.md +39 -0
  2. package/app/javascript/src/translations/en.json +4 -1
  3. package/dist/EmailDeliveryScreen.js +52 -99
  4. package/dist/EmailDeliveryScreen.js.map +1 -1
  5. package/dist/SparkpostDomainSetup.js +2 -1
  6. package/dist/SparkpostDomainSetup.js.map +1 -1
  7. package/dist/SparkpostDomainVerify.js +2 -1
  8. package/dist/SparkpostDomainVerify.js.map +1 -1
  9. package/dist/cjs/EmailDeliveryScreen.js +57 -104
  10. package/dist/cjs/EmailDeliveryScreen.js.map +1 -1
  11. package/dist/cjs/SparkpostDomainSetup.js +2 -1
  12. package/dist/cjs/SparkpostDomainSetup.js.map +1 -1
  13. package/dist/cjs/SparkpostDomainVerify.js +3 -2
  14. package/dist/cjs/SparkpostDomainVerify.js.map +1 -1
  15. package/dist/cjs/hooks.js +52 -0
  16. package/dist/cjs/hooks.js.map +1 -0
  17. package/dist/cjs/index.js +5 -3
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/hooks.js +50 -0
  20. package/dist/hooks.js.map +1 -0
  21. package/dist/index.js +5 -3
  22. package/dist/index.js.map +1 -1
  23. package/dist/useOutlookIntegrationApi-CtHj_BzG.js +92 -0
  24. package/dist/useOutlookIntegrationApi-CtHj_BzG.js.map +1 -0
  25. package/dist/useOutlookIntegrationApi-ZgRWrUQN.js +87 -0
  26. package/dist/useOutlookIntegrationApi-ZgRWrUQN.js.map +1 -0
  27. package/dist/{useSparkpostDomain-DdG5InhX.js → useSparkpostApi-W7XibjIp.js} +2 -92
  28. package/dist/useSparkpostApi-W7XibjIp.js.map +1 -0
  29. package/dist/{useSparkpostDomain-qxCkAS6s.js → useSparkpostApi-pa64NIl6.js} +4 -92
  30. package/dist/useSparkpostApi-pa64NIl6.js.map +1 -0
  31. package/dist/useSparkpostDomain-DO4bG1HD.js +95 -0
  32. package/dist/useSparkpostDomain-DO4bG1HD.js.map +1 -0
  33. package/dist/useSparkpostDomain-wsENCoto.js +97 -0
  34. package/dist/useSparkpostDomain-wsENCoto.js.map +1 -0
  35. package/hooks.d.ts +21 -0
  36. package/package.json +8 -7
  37. package/dist/useSparkpostDomain-DdG5InhX.js.map +0 -1
  38. package/dist/useSparkpostDomain-qxCkAS6s.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SparkpostDomainVerify.js","sources":["../app/javascript/src/components/SparkpostDomain/RecordField.jsx","../app/javascript/src/components/SparkpostDomain/DnsRecordsSection.jsx","../app/javascript/src/components/SparkpostDomain/VerificationActions.jsx","../app/javascript/src/components/SparkpostDomain/VerificationInstructions.jsx","../app/javascript/src/components/SparkpostDomain/VerificationStatusCallout.jsx","../app/javascript/src/components/SparkpostDomain/Verify.jsx"],"sourcesContent":["import CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Typography } from \"neetoui\";\n\nconst RecordField = ({ label, value }) => (\n <div className=\"flex w-full flex-col gap-2\">\n <div className=\"flex items-center justify-between\">\n <Typography style=\"h5\">{label}</Typography>\n </div>\n <code className=\"neeto-ui-text-gray-800 neeto-ui-bg-gray-100 neeto-ui-rounded-md relative block p-4 pe-10 font-mono text-xs break-all\">\n {value}\n <CopyToClipboardButton\n {...{ value }}\n className=\"absolute top-1 end-1 shrink-0\"\n style=\"tertiary\"\n />\n </code>\n </div>\n);\n\nexport default RecordField;\n","import { Typography, Tag } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PURPOSE_COLORS, DEFAULT_COLOR } from \"./constants\";\nimport RecordField from \"./RecordField\";\n\nconst DnsRecordsSection = ({ dnsRecords, domain, sparkpostData }) => {\n const { t } = useTranslation();\n\n const formatPurpose = purpose => {\n switch (purpose) {\n case \"dkim\":\n return t(\"neetoEmailDelivery.sparkpost.dnsRecords.dkimSigning\");\n case \"txt\":\n return t(\"neetoEmailDelivery.sparkpost.dnsRecords.txtVerification\");\n default:\n return purpose;\n }\n };\n\n const formatRecordName = hostname => {\n if (!hostname) return \"\";\n\n return hostname.endsWith(`.${domain}`) ? hostname : `${hostname}.${domain}`;\n };\n\n const { status, txtVerificationValue, txtVerificationHostname } =\n sparkpostData;\n\n const allRecords = [];\n const isTxtUnverified = status === \"txt_unverified\";\n\n if (isTxtUnverified) {\n if (txtVerificationValue && txtVerificationHostname) {\n allRecords.push({\n type: \"TXT\",\n purpose: \"txt\",\n hostname: txtVerificationHostname,\n value: txtVerificationValue,\n });\n }\n } else {\n allRecords.push(...dnsRecords);\n }\n\n if (isEmpty(allRecords)) {\n return (\n <div className=\"p-8 text-center\">\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {sparkpostData?.connected\n ? t(\"neetoEmailDelivery.sparkpost.dnsRecords.alreadyVerified\")\n : t(\"neetoEmailDelivery.sparkpost.dnsRecords.loading\")}\n </Typography>\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col gap-4\">\n <Typography style=\"h4\" weight=\"medium\">\n {t(\"neetoEmailDelivery.sparkpost.dnsRecords.title\")}\n </Typography>\n {allRecords.map((record, index) => (\n <div\n className=\"neeto-ui-rounded-lg neeto-ui-bg-white neeto-ui-border-gray-300 border p-3\"\n key={index}\n >\n <div className=\"mb-4 flex items-center justify-between\">\n <div className=\"flex items-center gap-2\">\n <Tag\n label={formatPurpose(record.purpose)}\n size=\"small\"\n style={PURPOSE_COLORS[record.purpose] || DEFAULT_COLOR}\n />\n <Tag label={record.type} size=\"small\" style=\"secondary\" />\n </div>\n </div>\n <div className=\"flex flex-col gap-4\">\n <RecordField\n label={t(\"neetoEmailDelivery.sparkpost.dnsRecords.nameLabel\")}\n value={formatRecordName(record.hostname)}\n />\n <RecordField\n label={t(\"neetoEmailDelivery.sparkpost.dnsRecords.valueLabel\")}\n value={record.value}\n />\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nexport default DnsRecordsSection;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Button } from \"neetoui\";\n\nconst VerificationActions = withT(\n ({ t, isVerifying, verificationStatus, onVerify, onCancel }) => (\n <div className=\"flex gap-3\">\n <Button\n disabled={isVerifying || verificationStatus === \"success\"}\n loading={isVerifying}\n onClick={onVerify}\n >\n {isVerifying\n ? t(\"neetoEmailDelivery.sparkpost.verify.verifying\")\n : t(\"neetoEmailDelivery.sparkpost.verify.verifyDomain\")}\n </Button>\n <Button disabled={isVerifying} style=\"secondary\" onClick={onCancel}>\n {t(\"neetoEmailDelivery.sparkpost.verify.cancel\")}\n </Button>\n </div>\n )\n);\n\nexport default VerificationActions;\n","import { Typography, Callout } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst VerificationInstructions = () => {\n const { t } = useTranslation();\n\n const instructionText = t(\n \"neetoEmailDelivery.sparkpost.instructions.fullText\"\n );\n const lines = instructionText.split(\"\\n\");\n\n return (\n <Callout style=\"info\">\n <div className=\"w-full\">\n <Typography style=\"body2\">\n {lines.map((line, index) => (\n <span key={index}>\n {line}\n {index < lines.length - 1 && <br />}\n </span>\n ))}\n </Typography>\n </div>\n </Callout>\n );\n};\n\nexport default VerificationInstructions;\n","import { Callout, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { VERIFICATION_STATUS_CONFIG } from \"./constants\";\n\nconst VerificationStatusCallout = ({ verificationStatus }) => {\n const { t } = useTranslation();\n\n const config = VERIFICATION_STATUS_CONFIG[verificationStatus];\n\n if (!config) return null;\n\n return (\n <Callout style={config.style}>\n <div className=\"space-y-1\">\n <Typography style=\"body2\" weight=\"medium\">\n {t(config.titleKey)}\n </Typography>\n <Typography style=\"body3\">{t(config.descriptionKey)}</Typography>\n </div>\n </Callout>\n );\n};\n\nexport default VerificationStatusCallout;\n","import { useState, useEffect } from \"react\";\n\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport { Spinner } from \"neetoui\";\nimport { pathOr } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { PageContent, PageWrapper } from \"components/PageLayout\";\nimport useSparkpostDomain from \"hooks/integrations/useSparkpostDomain\";\nimport { useFetchSparkpostDomain } from \"hooks/reactQuery/integrations/useSparkpostApi\";\n\nimport { VERIFICATION_STATUSES } from \"./constants\";\nimport DnsRecordsSection from \"./DnsRecordsSection\";\nimport VerificationActions from \"./VerificationActions\";\nimport VerificationInstructions from \"./VerificationInstructions\";\nimport VerificationStatusCallout from \"./VerificationStatusCallout\";\n\nconst SparkpostDomainVerify = ({\n ownerId,\n canManageIntegrations,\n emailDeliveryIndexRoute,\n}) => {\n const [verificationStatus, setVerificationStatus] = useState(\"\");\n const { t } = useTranslation();\n\n const history = useHistory();\n\n const { domain: queryDomain } = useQueryParams();\n\n const { data: sparkpostData, isLoading } = useFetchSparkpostDomain(ownerId);\n const { onVerifyDomain, isVerifying } = useSparkpostDomain({\n ownerId,\n canManageIntegrations,\n });\n\n const domain = pathOr(queryDomain, [\"domain\"], sparkpostData);\n const dnsRecords = pathOr([], [\"verificationRecords\"], sparkpostData);\n\n useEffect(() => {\n // Check if domain is already verified\n if (!sparkpostData?.connected) return;\n setVerificationStatus(VERIFICATION_STATUSES.SUCCESS);\n setTimeout(() => {\n history.push(emailDeliveryIndexRoute);\n }, 5000);\n }, [sparkpostData, emailDeliveryIndexRoute, history]);\n\n const handleVerify = () => {\n onVerifyDomain(\n response => {\n if (response?.status === \"active\") {\n setVerificationStatus(VERIFICATION_STATUSES.SUCCESS);\n setTimeout(() => {\n history.push(emailDeliveryIndexRoute);\n }, 3000);\n } else {\n setVerificationStatus(VERIFICATION_STATUSES.PENDING);\n }\n },\n _error => {\n setVerificationStatus(VERIFICATION_STATUSES.ERROR);\n }\n );\n };\n\n const isVerificationSuccessful =\n verificationStatus === VERIFICATION_STATUSES.SUCCESS;\n\n const handleCancel = () => {\n history.push(emailDeliveryIndexRoute);\n };\n\n if (isLoading) {\n return (\n <div className=\"flex justify-center p-6\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <PageWrapper>\n <PageContent>\n <CardLayout\n title={t(\"neetoEmailDelivery.sparkpost.verify.title\")}\n actionBlock={\n <VerificationActions\n {...{ isVerifying, verificationStatus }}\n onCancel={handleCancel}\n onVerify={handleVerify}\n />\n }\n description={t(\"neetoEmailDelivery.sparkpost.verify.description\", {\n domain,\n }).replace(/<strong>|<\\/strong>/g, \"\")}\n >\n <div className=\"flex flex-col gap-4\">\n <VerificationStatusCallout {...{ verificationStatus }} />\n {!isVerificationSuccessful && (\n <>\n <DnsRecordsSection {...{ dnsRecords, domain, sparkpostData }} />\n <VerificationInstructions />\n </>\n )}\n </div>\n </CardLayout>\n </PageContent>\n </PageWrapper>\n );\n};\n\nexport default SparkpostDomainVerify;\n"],"names":["RecordField","_ref","label","value","_jsxs","className","children","_jsx","Typography","style","CopyToClipboardButton","DnsRecordsSection","dnsRecords","domain","sparkpostData","_useTranslation","useTranslation","t","formatPurpose","purpose","formatRecordName","hostname","endsWith","concat","status","txtVerificationValue","txtVerificationHostname","allRecords","isTxtUnverified","push","type","apply","_toConsumableArray","isEmpty","connected","weight","map","record","index","Tag","size","PURPOSE_COLORS","DEFAULT_COLOR","VerificationActions","withT","isVerifying","verificationStatus","onVerify","onCancel","Button","disabled","loading","onClick","VerificationInstructions","instructionText","lines","split","Callout","line","length","VerificationStatusCallout","config","VERIFICATION_STATUS_CONFIG","titleKey","descriptionKey","SparkpostDomainVerify","ownerId","canManageIntegrations","emailDeliveryIndexRoute","_useState","useState","_useState2","_slicedToArray","setVerificationStatus","history","useHistory","_useQueryParams","useQueryParams","queryDomain","_useFetchSparkpostDom","useFetchSparkpostDomain","data","isLoading","_useSparkpostDomain","useSparkpostDomain","onVerifyDomain","pathOr","useEffect","VERIFICATION_STATUSES","SUCCESS","setTimeout","handleVerify","response","PENDING","_error","ERROR","isVerificationSuccessful","handleCancel","Spinner","PageWrapper","PageContent","CardLayout","title","actionBlock","description","replace","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"SparkpostDomainVerify.js","sources":["../app/javascript/src/components/SparkpostDomain/RecordField.jsx","../app/javascript/src/components/SparkpostDomain/DnsRecordsSection.jsx","../app/javascript/src/components/SparkpostDomain/VerificationActions.jsx","../app/javascript/src/components/SparkpostDomain/VerificationInstructions.jsx","../app/javascript/src/components/SparkpostDomain/VerificationStatusCallout.jsx","../app/javascript/src/components/SparkpostDomain/Verify.jsx"],"sourcesContent":["import CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Typography } from \"neetoui\";\n\nconst RecordField = ({ label, value }) => (\n <div className=\"flex w-full flex-col gap-2\">\n <div className=\"flex items-center justify-between\">\n <Typography style=\"h5\">{label}</Typography>\n </div>\n <code className=\"neeto-ui-text-gray-800 neeto-ui-bg-gray-100 neeto-ui-rounded-md relative block p-4 pe-10 font-mono text-xs break-all\">\n {value}\n <CopyToClipboardButton\n {...{ value }}\n className=\"absolute top-1 end-1 shrink-0\"\n style=\"tertiary\"\n />\n </code>\n </div>\n);\n\nexport default RecordField;\n","import { Typography, Tag } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PURPOSE_COLORS, DEFAULT_COLOR } from \"./constants\";\nimport RecordField from \"./RecordField\";\n\nconst DnsRecordsSection = ({ dnsRecords, domain, sparkpostData }) => {\n const { t } = useTranslation();\n\n const formatPurpose = purpose => {\n switch (purpose) {\n case \"dkim\":\n return t(\"neetoEmailDelivery.sparkpost.dnsRecords.dkimSigning\");\n case \"txt\":\n return t(\"neetoEmailDelivery.sparkpost.dnsRecords.txtVerification\");\n default:\n return purpose;\n }\n };\n\n const formatRecordName = hostname => {\n if (!hostname) return \"\";\n\n return hostname.endsWith(`.${domain}`) ? hostname : `${hostname}.${domain}`;\n };\n\n const { status, txtVerificationValue, txtVerificationHostname } =\n sparkpostData;\n\n const allRecords = [];\n const isTxtUnverified = status === \"txt_unverified\";\n\n if (isTxtUnverified) {\n if (txtVerificationValue && txtVerificationHostname) {\n allRecords.push({\n type: \"TXT\",\n purpose: \"txt\",\n hostname: txtVerificationHostname,\n value: txtVerificationValue,\n });\n }\n } else {\n allRecords.push(...dnsRecords);\n }\n\n if (isEmpty(allRecords)) {\n return (\n <div className=\"p-8 text-center\">\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {sparkpostData?.connected\n ? t(\"neetoEmailDelivery.sparkpost.dnsRecords.alreadyVerified\")\n : t(\"neetoEmailDelivery.sparkpost.dnsRecords.loading\")}\n </Typography>\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col gap-4\">\n <Typography style=\"h4\" weight=\"medium\">\n {t(\"neetoEmailDelivery.sparkpost.dnsRecords.title\")}\n </Typography>\n {allRecords.map((record, index) => (\n <div\n className=\"neeto-ui-rounded-lg neeto-ui-bg-white neeto-ui-border-gray-300 border p-3\"\n key={index}\n >\n <div className=\"mb-4 flex items-center justify-between\">\n <div className=\"flex items-center gap-2\">\n <Tag\n label={formatPurpose(record.purpose)}\n size=\"small\"\n style={PURPOSE_COLORS[record.purpose] || DEFAULT_COLOR}\n />\n <Tag label={record.type} size=\"small\" style=\"secondary\" />\n </div>\n </div>\n <div className=\"flex flex-col gap-4\">\n <RecordField\n label={t(\"neetoEmailDelivery.sparkpost.dnsRecords.nameLabel\")}\n value={formatRecordName(record.hostname)}\n />\n <RecordField\n label={t(\"neetoEmailDelivery.sparkpost.dnsRecords.valueLabel\")}\n value={record.value}\n />\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nexport default DnsRecordsSection;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Button } from \"neetoui\";\n\nconst VerificationActions = withT(\n ({ t, isVerifying, verificationStatus, onVerify, onCancel }) => (\n <div className=\"flex gap-3\">\n <Button\n disabled={isVerifying || verificationStatus === \"success\"}\n loading={isVerifying}\n onClick={onVerify}\n >\n {isVerifying\n ? t(\"neetoEmailDelivery.sparkpost.verify.verifying\")\n : t(\"neetoEmailDelivery.sparkpost.verify.verifyDomain\")}\n </Button>\n <Button disabled={isVerifying} style=\"secondary\" onClick={onCancel}>\n {t(\"neetoEmailDelivery.sparkpost.verify.cancel\")}\n </Button>\n </div>\n )\n);\n\nexport default VerificationActions;\n","import { Typography, Callout } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst VerificationInstructions = () => {\n const { t } = useTranslation();\n\n const instructionText = t(\n \"neetoEmailDelivery.sparkpost.instructions.fullText\"\n );\n const lines = instructionText.split(\"\\n\");\n\n return (\n <Callout style=\"info\">\n <div className=\"w-full\">\n <Typography style=\"body2\">\n {lines.map((line, index) => (\n <span key={index}>\n {line}\n {index < lines.length - 1 && <br />}\n </span>\n ))}\n </Typography>\n </div>\n </Callout>\n );\n};\n\nexport default VerificationInstructions;\n","import { Callout, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { VERIFICATION_STATUS_CONFIG } from \"./constants\";\n\nconst VerificationStatusCallout = ({ verificationStatus }) => {\n const { t } = useTranslation();\n\n const config = VERIFICATION_STATUS_CONFIG[verificationStatus];\n\n if (!config) return null;\n\n return (\n <Callout style={config.style}>\n <div className=\"space-y-1\">\n <Typography style=\"body2\" weight=\"medium\">\n {t(config.titleKey)}\n </Typography>\n <Typography style=\"body3\">{t(config.descriptionKey)}</Typography>\n </div>\n </Callout>\n );\n};\n\nexport default VerificationStatusCallout;\n","import { useState, useEffect } from \"react\";\n\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport { Spinner } from \"neetoui\";\nimport { pathOr } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { PageContent, PageWrapper } from \"components/PageLayout\";\nimport useSparkpostDomain from \"hooks/integrations/useSparkpostDomain\";\nimport { useFetchSparkpostDomain } from \"hooks/reactQuery/integrations/useSparkpostApi\";\n\nimport { VERIFICATION_STATUSES } from \"./constants\";\nimport DnsRecordsSection from \"./DnsRecordsSection\";\nimport VerificationActions from \"./VerificationActions\";\nimport VerificationInstructions from \"./VerificationInstructions\";\nimport VerificationStatusCallout from \"./VerificationStatusCallout\";\n\nconst SparkpostDomainVerify = ({\n ownerId,\n canManageIntegrations,\n emailDeliveryIndexRoute,\n}) => {\n const [verificationStatus, setVerificationStatus] = useState(\"\");\n const { t } = useTranslation();\n\n const history = useHistory();\n\n const { domain: queryDomain } = useQueryParams();\n\n const { data: sparkpostData, isLoading } = useFetchSparkpostDomain(ownerId);\n const { onVerifyDomain, isVerifying } = useSparkpostDomain({\n ownerId,\n canManageIntegrations,\n });\n\n const domain = pathOr(queryDomain, [\"domain\"], sparkpostData);\n const dnsRecords = pathOr([], [\"verificationRecords\"], sparkpostData);\n\n useEffect(() => {\n // Check if domain is already verified\n if (!sparkpostData?.connected) return;\n setVerificationStatus(VERIFICATION_STATUSES.SUCCESS);\n setTimeout(() => {\n history.push(emailDeliveryIndexRoute);\n }, 5000);\n }, [sparkpostData, emailDeliveryIndexRoute, history]);\n\n const handleVerify = () => {\n onVerifyDomain(\n response => {\n if (response?.status === \"active\") {\n setVerificationStatus(VERIFICATION_STATUSES.SUCCESS);\n setTimeout(() => {\n history.push(emailDeliveryIndexRoute);\n }, 3000);\n } else {\n setVerificationStatus(VERIFICATION_STATUSES.PENDING);\n }\n },\n _error => {\n setVerificationStatus(VERIFICATION_STATUSES.ERROR);\n }\n );\n };\n\n const isVerificationSuccessful =\n verificationStatus === VERIFICATION_STATUSES.SUCCESS;\n\n const handleCancel = () => {\n history.push(emailDeliveryIndexRoute);\n };\n\n if (isLoading) {\n return (\n <div className=\"flex justify-center p-6\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <PageWrapper>\n <PageContent>\n <CardLayout\n title={t(\"neetoEmailDelivery.sparkpost.verify.title\")}\n actionBlock={\n <VerificationActions\n {...{ isVerifying, verificationStatus }}\n onCancel={handleCancel}\n onVerify={handleVerify}\n />\n }\n description={t(\"neetoEmailDelivery.sparkpost.verify.description\", {\n domain,\n }).replace(/<strong>|<\\/strong>/g, \"\")}\n >\n <div className=\"flex flex-col gap-4\">\n <VerificationStatusCallout {...{ verificationStatus }} />\n {!isVerificationSuccessful && (\n <>\n <DnsRecordsSection {...{ dnsRecords, domain, sparkpostData }} />\n <VerificationInstructions />\n </>\n )}\n </div>\n </CardLayout>\n </PageContent>\n </PageWrapper>\n );\n};\n\nexport default SparkpostDomainVerify;\n"],"names":["RecordField","_ref","label","value","_jsxs","className","children","_jsx","Typography","style","CopyToClipboardButton","DnsRecordsSection","dnsRecords","domain","sparkpostData","_useTranslation","useTranslation","t","formatPurpose","purpose","formatRecordName","hostname","endsWith","concat","status","txtVerificationValue","txtVerificationHostname","allRecords","isTxtUnverified","push","type","apply","_toConsumableArray","isEmpty","connected","weight","map","record","index","Tag","size","PURPOSE_COLORS","DEFAULT_COLOR","VerificationActions","withT","isVerifying","verificationStatus","onVerify","onCancel","Button","disabled","loading","onClick","VerificationInstructions","instructionText","lines","split","Callout","line","length","VerificationStatusCallout","config","VERIFICATION_STATUS_CONFIG","titleKey","descriptionKey","SparkpostDomainVerify","ownerId","canManageIntegrations","emailDeliveryIndexRoute","_useState","useState","_useState2","_slicedToArray","setVerificationStatus","history","useHistory","_useQueryParams","useQueryParams","queryDomain","_useFetchSparkpostDom","useFetchSparkpostDomain","data","isLoading","_useSparkpostDomain","useSparkpostDomain","onVerifyDomain","pathOr","useEffect","VERIFICATION_STATUSES","SUCCESS","setTimeout","handleVerify","response","PENDING","_error","ERROR","isVerificationSuccessful","handleCancel","Spinner","PageWrapper","PageContent","CardLayout","title","actionBlock","description","replace","_Fragment"],"mappings":"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"}
@@ -12,56 +12,19 @@ var Toastr = require('@bigbinary/neetoui/Toastr');
12
12
  var ramda = require('ramda');
13
13
  var reactI18next = require('react-i18next');
14
14
  var reactRouterDom = require('react-router-dom');
15
- var useSparkpostDomain = require('../useSparkpostDomain-qxCkAS6s.js');
15
+ var useSparkpostApi = require('../useSparkpostApi-pa64NIl6.js');
16
16
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
17
17
  var react = require('react');
18
18
  var reactQuery = require('@tanstack/react-query');
19
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
20
- var axios = require('axios');
19
+ var useOutlookIntegrationApi = require('../useOutlookIntegrationApi-CtHj_BzG.js');
20
+ var useSparkpostDomain = require('../useSparkpostDomain-wsENCoto.js');
21
21
  var i18next = require('i18next');
22
22
  var Button = require('@bigbinary/neetoui/Button');
23
23
  var Tag = require('@bigbinary/neetoui/Tag');
24
24
  var Typography = require('@bigbinary/neetoui/Typography');
25
25
  var jsxRuntime = require('react/jsx-runtime');
26
-
27
- var get$1 = function get(ownerId) {
28
- return axios.get(utils.buildUrl(useSparkpostDomain.GMAIL_URL, {
29
- ownerId: ownerId
30
- }), {
31
- showToastr: false
32
- });
33
- };
34
- var destroy$1 = function destroy(ownerId) {
35
- axios["delete"](utils.buildUrl(useSparkpostDomain.GMAIL_OAUTH_URL, {
36
- ownerId: ownerId
37
- }), {
38
- showToastr: false
39
- });
40
- };
41
- var gmailApi = {
42
- get: get$1,
43
- destroy: destroy$1
44
- };
45
-
46
- function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
47
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
48
- var useFetchGmail = function useFetchGmail(ownerId, options) {
49
- return reactQuery.useQuery(_objectSpread$1({
50
- queryKey: [useSparkpostDomain.QUERY_KEYS.INTEGRATION_GMAIL, ownerId],
51
- queryFn: function queryFn() {
52
- return gmailApi.get(ownerId);
53
- },
54
- retry: 1
55
- }, options));
56
- };
57
- var useDestroyGmail = function useDestroyGmail(_ref) {
58
- var ownerId = _ref.ownerId;
59
- return reactUtils.useMutationWithInvalidation(function () {
60
- return gmailApi.destroy(ownerId);
61
- }, {
62
- keysToInvalidate: [[useSparkpostDomain.QUERY_KEYS.INTEGRATION_GMAIL, ownerId]]
63
- });
64
- };
26
+ require('@babel/runtime/helpers/defineProperty');
27
+ require('axios');
65
28
 
66
29
  var useGmail = function useGmail(_ref) {
67
30
  var ownerId = _ref.ownerId,
@@ -73,14 +36,14 @@ var useGmail = function useGmail(_ref) {
73
36
  setIsDisconnectAlertOpen = _useState2[1];
74
37
  var history = reactRouterDom.useHistory();
75
38
  var queryClient = reactQuery.useQueryClient();
76
- var _useFetchGmail = useFetchGmail(ownerId, {
39
+ var _useFetchGmail = useOutlookIntegrationApi.useFetchGmail(ownerId, {
77
40
  enabled: canManageIntegrations
78
41
  }),
79
42
  isLoading = _useFetchGmail.isLoading,
80
43
  _useFetchGmail$data = _useFetchGmail.data,
81
44
  data = _useFetchGmail$data === void 0 ? {} : _useFetchGmail$data,
82
45
  isGmailFetched = _useFetchGmail.isSuccess;
83
- var _useDestroyGmail = useDestroyGmail({
46
+ var _useDestroyGmail = useOutlookIntegrationApi.useDestroyGmail({
84
47
  ownerId: ownerId
85
48
  }),
86
49
  isDestroying = _useDestroyGmail.isPending,
@@ -104,7 +67,7 @@ var useGmail = function useGmail(_ref) {
104
67
  var _query$queryKey = _slicedToArray(query.queryKey, 2),
105
68
  key = _query$queryKey[0],
106
69
  id = _query$queryKey[1];
107
- return key === useSparkpostDomain.QUERY_KEYS.INTEGRATION_GMAIL && id !== ownerId;
70
+ return key === useSparkpostApi.QUERY_KEYS.INTEGRATION_GMAIL && id !== ownerId;
108
71
  }
109
72
  });
110
73
  }
@@ -113,6 +76,7 @@ var useGmail = function useGmail(_ref) {
113
76
  data: data,
114
77
  isLoading: isLoading,
115
78
  isDestroying: isDestroying,
79
+ exists: data === null || data === void 0 ? void 0 : data.exists,
116
80
  isConnected: data === null || data === void 0 ? void 0 : data.connected,
117
81
  isDisconnectAlertOpen: isDisconnectAlertOpen,
118
82
  setIsDisconnectAlertOpen: setIsDisconnectAlertOpen,
@@ -122,45 +86,6 @@ var useGmail = function useGmail(_ref) {
122
86
  };
123
87
  };
124
88
 
125
- var get = function get(ownerId) {
126
- return axios.get(utils.buildUrl(useSparkpostDomain.OUTLOOK_URL, {
127
- ownerId: ownerId
128
- }), {
129
- showToastr: false
130
- });
131
- };
132
- var destroy = function destroy(ownerId) {
133
- axios["delete"](utils.buildUrl(useSparkpostDomain.OUTLOOK_OAUTH_URL, {
134
- ownerId: ownerId
135
- }), {
136
- showToastr: false
137
- });
138
- };
139
- var outlookApi = {
140
- get: get,
141
- destroy: destroy
142
- };
143
-
144
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
145
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
146
- var useFetchOutlook = function useFetchOutlook(ownerId, options) {
147
- return reactQuery.useQuery(_objectSpread({
148
- queryKey: [useSparkpostDomain.QUERY_KEYS.INTEGRATION_OUTLOOK, ownerId],
149
- queryFn: function queryFn() {
150
- return outlookApi.get(ownerId);
151
- },
152
- retry: 1
153
- }, options));
154
- };
155
- var useDestroyOutlook = function useDestroyOutlook(_ref) {
156
- var ownerId = _ref.ownerId;
157
- return reactUtils.useMutationWithInvalidation(function () {
158
- return outlookApi.destroy(ownerId);
159
- }, {
160
- keysToInvalidate: [[useSparkpostDomain.QUERY_KEYS.INTEGRATION_OUTLOOK, ownerId]]
161
- });
162
- };
163
-
164
89
  var useOutlook = function useOutlook(_ref) {
165
90
  var ownerId = _ref.ownerId,
166
91
  indexRoute = _ref.indexRoute,
@@ -171,14 +96,14 @@ var useOutlook = function useOutlook(_ref) {
171
96
  setIsDisconnectAlertOpen = _useState2[1];
172
97
  var history = reactRouterDom.useHistory();
173
98
  var queryClient = reactQuery.useQueryClient();
174
- var _useFetchOutlook = useFetchOutlook(ownerId, {
99
+ var _useFetchOutlook = useOutlookIntegrationApi.useFetchOutlook(ownerId, {
175
100
  enabled: canManageIntegrations
176
101
  }),
177
102
  isLoading = _useFetchOutlook.isLoading,
178
103
  _useFetchOutlook$data = _useFetchOutlook.data,
179
104
  data = _useFetchOutlook$data === void 0 ? {} : _useFetchOutlook$data,
180
105
  isOutlookFetched = _useFetchOutlook.isSuccess;
181
- var _useDestroyOutlook = useDestroyOutlook({
106
+ var _useDestroyOutlook = useOutlookIntegrationApi.useDestroyOutlook({
182
107
  ownerId: ownerId
183
108
  }),
184
109
  isDestroying = _useDestroyOutlook.isPending,
@@ -202,7 +127,7 @@ var useOutlook = function useOutlook(_ref) {
202
127
  var _query$queryKey = _slicedToArray(query.queryKey, 2),
203
128
  key = _query$queryKey[0],
204
129
  id = _query$queryKey[1];
205
- return key === useSparkpostDomain.QUERY_KEYS.INTEGRATION_OUTLOOK && id !== ownerId;
130
+ return key === useSparkpostApi.QUERY_KEYS.INTEGRATION_OUTLOOK && id !== ownerId;
206
131
  }
207
132
  });
208
133
  }
@@ -210,6 +135,10 @@ var useOutlook = function useOutlook(_ref) {
210
135
  return {
211
136
  data: data,
212
137
  isLoading: isLoading,
138
+ exists: data === null || data === void 0 ? void 0 : data.exists,
139
+ status: data === null || data === void 0 ? void 0 : data.status,
140
+ shadowAccount: data === null || data === void 0 ? void 0 : data.shadowAccount,
141
+ isWaitingForTestEmail: (data === null || data === void 0 ? void 0 : data.status) === "inactive" && !(data !== null && data !== void 0 && data.connected),
213
142
  isDestroying: isDestroying,
214
143
  isConnected: data === null || data === void 0 ? void 0 : data.connected,
215
144
  isDisconnectAlertOpen: isDisconnectAlertOpen,
@@ -227,9 +156,8 @@ var ERROR_MESSAGES = {
227
156
  outlook_nil_json_web_token: i18next.t("neetoEmailDelivery.outlook.nilJsonWebToken")
228
157
  };
229
158
 
230
- var IntegrationCard = reactUtils.withT(function (_ref) {
231
- var t = _ref.t,
232
- Icon = _ref.icon,
159
+ var IntegrationCard = function IntegrationCard(_ref) {
160
+ var Icon = _ref.icon,
233
161
  title = _ref.title,
234
162
  description = _ref.description,
235
163
  isConnected = _ref.isConnected,
@@ -240,7 +168,12 @@ var IntegrationCard = reactUtils.withT(function (_ref) {
240
168
  _ref$disconnectButton = _ref.disconnectButtonText,
241
169
  disconnectButtonText = _ref$disconnectButton === void 0 ? "neetoEmailDelivery.sparkpost.emailDelivery.disconnect" : _ref$disconnectButton,
242
170
  _ref$connectedTagText = _ref.connectedTagText,
243
- connectedTagText = _ref$connectedTagText === void 0 ? "neetoEmailDelivery.sparkpost.emailDelivery.connected" : _ref$connectedTagText;
171
+ connectedTagText = _ref$connectedTagText === void 0 ? "neetoEmailDelivery.sparkpost.emailDelivery.connected" : _ref$connectedTagText,
172
+ _ref$showDisconnect = _ref.showDisconnect,
173
+ showDisconnect = _ref$showDisconnect === void 0 ? false : _ref$showDisconnect;
174
+ var _useTranslation = reactI18next.useTranslation(),
175
+ t = _useTranslation.t;
176
+ var shouldShowDisconnect = isConnected || showDisconnect;
244
177
  return /*#__PURE__*/jsxRuntime.jsx("div", {
245
178
  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",
246
179
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
@@ -268,7 +201,7 @@ var IntegrationCard = reactUtils.withT(function (_ref) {
268
201
  children: description
269
202
  }), connectButtonText && /*#__PURE__*/jsxRuntime.jsx("div", {
270
203
  className: "flex gap-2",
271
- children: isConnected ? /*#__PURE__*/jsxRuntime.jsx(Button, {
204
+ children: shouldShowDisconnect ? /*#__PURE__*/jsxRuntime.jsx(Button, {
272
205
  "data-cy": "disconnect-button",
273
206
  label: t(disconnectButtonText),
274
207
  loading: isDisconnecting,
@@ -285,7 +218,7 @@ var IntegrationCard = reactUtils.withT(function (_ref) {
285
218
  })]
286
219
  })
287
220
  });
288
- });
221
+ };
289
222
 
290
223
  var EmailDeliveryScreen = function EmailDeliveryScreen(_ref) {
291
224
  var indexRoute = _ref.indexRoute,
@@ -326,28 +259,36 @@ var EmailDeliveryScreen = function EmailDeliveryScreen(_ref) {
326
259
  isGmailConnected = gmailIntegration.isConnected,
327
260
  isGmailLoading = gmailIntegration.isLoading,
328
261
  isGmailDisconnecting = gmailIntegration.isDestroying,
329
- onGmailDisconnect = gmailIntegration.onDisconnect;
262
+ onGmailDisconnect = gmailIntegration.onDisconnect,
263
+ isGmailExists = gmailIntegration.exists;
330
264
  var _outlookIntegration$d = outlookIntegration.data,
331
265
  outlookData = _outlookIntegration$d === void 0 ? {} : _outlookIntegration$d,
332
266
  isOutlookConnected = outlookIntegration.isConnected,
333
267
  isOutlookLoading = outlookIntegration.isLoading,
334
268
  isOutlookDisconnecting = outlookIntegration.isDestroying,
335
- onOutlookDisconnect = outlookIntegration.onDisconnect;
269
+ isOutlookWaitingForTestEmail = outlookIntegration.isWaitingForTestEmail,
270
+ isOutlookShadowAccount = outlookIntegration.shadowAccount,
271
+ onOutlookDisconnect = outlookIntegration.onDisconnect,
272
+ isOutlookExists = outlookIntegration.exists;
336
273
  var _sparkpostIntegration = sparkpostIntegration.data,
337
274
  sparkpostData = _sparkpostIntegration === void 0 ? {} : _sparkpostIntegration,
338
275
  isSparkpostConnected = sparkpostIntegration.isConnected,
339
276
  isSparkpostLoading = sparkpostIntegration.isLoading,
340
277
  onSparkpostDisconnect = sparkpostIntegration.onDisconnect,
341
- isSparkpostDisconnecting = sparkpostIntegration.isDestroying;
278
+ isSparkpostDisconnecting = sparkpostIntegration.isDestroying,
279
+ isSparkpostExists = sparkpostIntegration.exists;
342
280
  var isLoading = isGmailLoading || isOutlookLoading || isSparkpostLoading;
343
- var hasActiveIntegration = isGmailConnected || isOutlookConnected || isSparkpostConnected;
281
+ var noneExists = !isGmailExists && !isOutlookExists && !isSparkpostExists;
282
+ var showGmail = noneExists || isGmailExists;
283
+ var showOutlook = noneExists || isOutlookExists;
284
+ var showSparkpost = noneExists || isSparkpostExists;
344
285
  var handleGmailConnect = function handleGmailConnect() {
345
- window.location.href = utils.buildUrl(useSparkpostDomain.GMAIL_OAUTH_CONNECT_URL, {
286
+ window.location.href = utils.buildUrl(useSparkpostApi.GMAIL_OAUTH_CONNECT_URL, {
346
287
  ownerId: ownerId
347
288
  });
348
289
  };
349
290
  var handleOutlookConnect = function handleOutlookConnect() {
350
- window.location.href = utils.buildUrl(useSparkpostDomain.OUTLOOK_OAUTH_CONNECT_URL, {
291
+ window.location.href = utils.buildUrl(useSparkpostApi.OUTLOOK_OAUTH_CONNECT_URL, {
351
292
  ownerId: ownerId
352
293
  });
353
294
  };
@@ -375,13 +316,14 @@ var EmailDeliveryScreen = function EmailDeliveryScreen(_ref) {
375
316
  children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
376
317
  });
377
318
  }
319
+ var activeMessage = isGmailConnected && t("neetoEmailDelivery.gmail.gmailConfigured") || isOutlookConnected && t("neetoEmailDelivery.outlook.outlookConfigured") || isSparkpostConnected && t("neetoEmailDelivery.sparkpost.ownDomainConfigured");
378
320
  return /*#__PURE__*/jsxRuntime.jsx("div", {
379
321
  className: "min-h-0 w-full grow",
380
322
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
381
323
  className: "@container mx-auto space-y-6",
382
324
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
383
325
  className: "grid grid-cols-1 gap-3 py-1 @lg:grid-cols-2 @lg:gap-6 @3xl:grid-cols-3 @7xl:grid-cols-4",
384
- children: [(!hasActiveIntegration || isGmailConnected) && /*#__PURE__*/jsxRuntime.jsx(IntegrationCard, {
326
+ children: [showGmail && /*#__PURE__*/jsxRuntime.jsx(IntegrationCard, {
385
327
  connectButtonText: "neetoEmailDelivery.gmail.connectGmail",
386
328
  description: gmailDescription,
387
329
  icon: GmailIcon,
@@ -390,16 +332,17 @@ var EmailDeliveryScreen = function EmailDeliveryScreen(_ref) {
390
332
  title: gmailTitle,
391
333
  onConnect: handleGmailConnect,
392
334
  onDisconnect: onGmailDisconnect
393
- }), (!hasActiveIntegration || isOutlookConnected) && /*#__PURE__*/jsxRuntime.jsx(IntegrationCard, {
335
+ }), showOutlook && /*#__PURE__*/jsxRuntime.jsx(IntegrationCard, {
394
336
  connectButtonText: "neetoEmailDelivery.outlook.connectOutlook",
395
337
  description: outlookDescription,
396
338
  icon: OutlookIcon,
397
339
  isConnected: isOutlookConnected,
398
340
  isDisconnecting: isOutlookDisconnecting,
399
341
  title: outlookTitle,
342
+ showDisconnect: isOutlookWaitingForTestEmail || isOutlookShadowAccount,
400
343
  onConnect: handleOutlookConnect,
401
344
  onDisconnect: onOutlookDisconnect
402
- }), (!hasActiveIntegration || isSparkpostConnected) && /*#__PURE__*/jsxRuntime.jsx(IntegrationCard, {
345
+ }), showSparkpost && /*#__PURE__*/jsxRuntime.jsx(IntegrationCard, {
403
346
  connectButtonText: "neetoEmailDelivery.sparkpost.emailDelivery.setupDomain",
404
347
  description: ownDomainDescription,
405
348
  icon: MailSend,
@@ -409,9 +352,19 @@ var EmailDeliveryScreen = function EmailDeliveryScreen(_ref) {
409
352
  onConnect: handleOwnDomainConnect,
410
353
  onDisconnect: onSparkpostDisconnect
411
354
  })]
412
- }), hasActiveIntegration && /*#__PURE__*/jsxRuntime.jsx(Callout, {
355
+ }), activeMessage && /*#__PURE__*/jsxRuntime.jsx(Callout, {
413
356
  style: "success",
414
- children: isGmailConnected ? t("neetoEmailDelivery.gmail.gmailConfigured") : isOutlookConnected ? t("neetoEmailDelivery.outlook.outlookConfigured") : t("neetoEmailDelivery.sparkpost.ownDomainConfigured")
357
+ children: activeMessage
358
+ }), isOutlookWaitingForTestEmail && /*#__PURE__*/jsxRuntime.jsx(Callout, {
359
+ style: "warning",
360
+ children: t("neetoEmailDelivery.outlook.waitingForTestEmail", {
361
+ email: outlookEmail
362
+ })
363
+ }), isOutlookShadowAccount && /*#__PURE__*/jsxRuntime.jsx(Callout, {
364
+ style: "warning",
365
+ children: t("neetoEmailDelivery.outlook.shadowAccountMessage", {
366
+ email: outlookEmail
367
+ })
415
368
  })]
416
369
  })
417
370
  });
@@ -1 +1 @@
1
- {"version":3,"file":"EmailDeliveryScreen.js","sources":["../../app/javascript/src/apis/integrations/gmail.js","../../app/javascript/src/hooks/reactQuery/integrations/useGmailIntegrationApi.js","../../app/javascript/src/hooks/integrations/useGmail.js","../../app/javascript/src/apis/integrations/outlook.js","../../app/javascript/src/hooks/reactQuery/integrations/useOutlookIntegrationApi.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 axios from \"axios\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport { GMAIL_URL, GMAIL_OAUTH_URL } from \"./constants\";\n\nconst get = ownerId =>\n axios.get(buildUrl(GMAIL_URL, { ownerId }), { showToastr: false });\n\nconst destroy = ownerId => {\n axios.delete(buildUrl(GMAIL_OAUTH_URL, { ownerId }), { showToastr: false });\n};\n\nconst gmailApi = { get, destroy };\n\nexport default gmailApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport gmailApi from \"apis/integrations/gmail\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchGmail = (ownerId, options) =>\n useQuery({\n queryKey: [QUERY_KEYS.INTEGRATION_GMAIL, ownerId],\n queryFn: () => gmailApi.get(ownerId),\n retry: 1,\n ...options,\n });\n\nexport const useDestroyGmail = ({ ownerId }) =>\n useMutationWithInvalidation(() => gmailApi.destroy(ownerId), {\n keysToInvalidate: [[QUERY_KEYS.INTEGRATION_GMAIL, ownerId]],\n });\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 useFetchGmail,\n useDestroyGmail,\n} from \"hooks/reactQuery/integrations/useGmailIntegrationApi\";\nimport { QUERY_KEYS } from \"src/constants/query\";\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 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 isConnected: data?.connected,\n isDisconnectAlertOpen,\n setIsDisconnectAlertOpen,\n onDisconnect,\n onClose,\n errorMessage: data?.error,\n };\n};\n\nexport default useGmail;\n","import axios from \"axios\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport { OUTLOOK_URL, OUTLOOK_OAUTH_URL } from \"./constants\";\n\nconst get = ownerId =>\n axios.get(buildUrl(OUTLOOK_URL, { ownerId }), { showToastr: false });\n\nconst destroy = ownerId => {\n axios.delete(buildUrl(OUTLOOK_OAUTH_URL, { ownerId }), { showToastr: false });\n};\n\nconst outlookApi = { get, destroy };\n\nexport default outlookApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport outlookApi from \"apis/integrations/outlook\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchOutlook = (ownerId, options) =>\n useQuery({\n queryKey: [QUERY_KEYS.INTEGRATION_OUTLOOK, ownerId],\n queryFn: () => outlookApi.get(ownerId),\n retry: 1,\n ...options,\n });\n\nexport const useDestroyOutlook = ({ ownerId }) =>\n useMutationWithInvalidation(() => outlookApi.destroy(ownerId), {\n keysToInvalidate: [[QUERY_KEYS.INTEGRATION_OUTLOOK, ownerId]],\n });\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\";\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 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 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 { withT } from \"neetocommons/react-utils\";\nimport { Button, Tag, Typography } from \"neetoui\";\n\nconst IntegrationCard = withT(\n ({\n t,\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 }) => (\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 {isConnected ? (\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 } = gmailIntegration;\n\n const {\n data: outlookData = {},\n isConnected: isOutlookConnected,\n isLoading: isOutlookLoading,\n isDestroying: isOutlookDisconnecting,\n onDisconnect: onOutlookDisconnect,\n } = outlookIntegration;\n\n const {\n data: sparkpostData = {},\n isConnected: isSparkpostConnected,\n isLoading: isSparkpostLoading,\n onDisconnect: onSparkpostDisconnect,\n isDestroying: isSparkpostDisconnecting,\n } = sparkpostIntegration;\n\n const isLoading = isGmailLoading || isOutlookLoading || isSparkpostLoading;\n const hasActiveIntegration =\n isGmailConnected || isOutlookConnected || isSparkpostConnected;\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 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 {(!hasActiveIntegration || isGmailConnected) && (\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 {(!hasActiveIntegration || isOutlookConnected) && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.outlook.connectOutlook\"\n description={outlookDescription}\n icon={OutlookIcon}\n isConnected={isOutlookConnected}\n isDisconnecting={isOutlookDisconnecting}\n title={outlookTitle}\n onConnect={handleOutlookConnect}\n onDisconnect={onOutlookDisconnect}\n />\n )}\n {/* Own Domain (Sparkpost) Option */}\n {(!hasActiveIntegration || isSparkpostConnected) && (\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 {hasActiveIntegration && (\n <Callout style=\"success\">\n {isGmailConnected\n ? t(\"neetoEmailDelivery.gmail.gmailConfigured\")\n : isOutlookConnected\n ? t(\"neetoEmailDelivery.outlook.outlookConfigured\")\n : t(\"neetoEmailDelivery.sparkpost.ownDomainConfigured\")}\n </Callout>\n )}\n </div>\n </div>\n );\n};\n\nexport default EmailDeliveryScreen;\n"],"names":["get","ownerId","axios","buildUrl","GMAIL_URL","showToastr","destroy","GMAIL_OAUTH_URL","gmailApi","useFetchGmail","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","INTEGRATION_GMAIL","queryFn","retry","useDestroyGmail","_ref","useMutationWithInvalidation","keysToInvalidate","useGmail","indexRoute","canManageIntegrations","_useState","useState","_useState2","_slicedToArray","isDisconnectAlertOpen","setIsDisconnectAlertOpen","history","useHistory","queryClient","useQueryClient","_useFetchGmail","enabled","isLoading","_useFetchGmail$data","data","isGmailFetched","isSuccess","_useDestroyGmail","isDestroying","isPending","destroyIntegration","mutate","onClose","replace","onDisconnect","onSuccess","showThumbsUpToastr","useEffect","invalidateQueries","predicate","query","_query$queryKey","key","id","isConnected","connected","errorMessage","error","OUTLOOK_URL","OUTLOOK_OAUTH_URL","outlookApi","useFetchOutlook","INTEGRATION_OUTLOOK","useDestroyOutlook","useOutlook","_useFetchOutlook","_useFetchOutlook$data","isOutlookFetched","_useDestroyOutlook","ERROR_MESSAGES","gmail_permission_not_given","t","outlook_permission_not_given","outlook_invalid_client","outlook_nil_json_web_token","IntegrationCard","withT","Icon","icon","title","description","isDisconnecting","onConnect","connectButtonText","_ref$disconnectButton","disconnectButtonText","_ref$connectedTagText","connectedTagText","_jsx","className","children","_jsxs","size","Typography","style","weight","Tag","label","Button","loading","onClick","EmailDeliveryScreen","ownDomainSetupRoute","_useTranslation","useTranslation","_useQueryParams","useQueryParams","errorDescription","isPresent","_errorMessage","concat","Toastr","humanize","gmailIntegration","outlookIntegration","sparkpostIntegration","useSparkpostDomain","_gmailIntegration$dat","gmailData","isGmailConnected","isGmailLoading","isGmailDisconnecting","onGmailDisconnect","_outlookIntegration$d","outlookData","isOutlookConnected","isOutlookLoading","isOutlookDisconnecting","onOutlookDisconnect","_sparkpostIntegration","sparkpostData","isSparkpostConnected","isSparkpostLoading","onSparkpostDisconnect","isSparkpostDisconnecting","hasActiveIntegration","handleGmailConnect","window","location","href","GMAIL_OAUTH_CONNECT_URL","handleOutlookConnect","OUTLOOK_OAUTH_CONNECT_URL","handleOwnDomainConnect","push","gmailEmail","prop","outlookEmail","sparkpostEmail","gmailTitle","gmailDescription","email","outlookTitle","outlookDescription","ownDomainTitle","ownDomainDescription","Spinner","GmailIcon","OutlookIcon","MailSend","Callout"],"mappings":"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"}
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\";\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 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\";\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 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","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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"}
@@ -9,7 +9,7 @@ var Form = require('@bigbinary/neetoui/formik/Form');
9
9
  var reactI18next = require('react-i18next');
10
10
  var reactRouterDom = require('react-router-dom');
11
11
  var constants = require('../constants-D3nzz3Te.js');
12
- var useSparkpostDomain = require('../useSparkpostDomain-qxCkAS6s.js');
12
+ var useSparkpostDomain = require('../useSparkpostDomain-wsENCoto.js');
13
13
  var jsxRuntime = require('react/jsx-runtime');
14
14
  require('@babel/runtime/helpers/defineProperty');
15
15
  require('@babel/runtime/helpers/objectWithoutProperties');
@@ -21,6 +21,7 @@ require('i18next');
21
21
  require('yup');
22
22
  require('@babel/runtime/helpers/slicedToArray');
23
23
  require('@bigbinary/neetoui/Toastr');
24
+ require('../useSparkpostApi-pa64NIl6.js');
24
25
  require('@tanstack/react-query');
25
26
  require('@bigbinary/neeto-commons-frontend/react-utils');
26
27
  require('axios');