@bigbinary/neeto-email-delivery-frontend 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -1
- package/app/javascript/src/translations/ar.json +78 -0
- package/app/javascript/src/translations/bg.json +78 -0
- package/app/javascript/src/translations/ca.json +78 -0
- package/app/javascript/src/translations/cs.json +78 -0
- package/app/javascript/src/translations/da.json +78 -0
- package/app/javascript/src/translations/de.json +78 -0
- package/app/javascript/src/translations/en.json +1 -0
- package/app/javascript/src/translations/es-MX.json +78 -0
- package/app/javascript/src/translations/es.json +78 -0
- package/app/javascript/src/translations/et.json +78 -0
- package/app/javascript/src/translations/fi.json +78 -0
- package/app/javascript/src/translations/fil.json +78 -0
- package/app/javascript/src/translations/fr.json +78 -0
- package/app/javascript/src/translations/he.json +80 -0
- package/app/javascript/src/translations/hi.json +78 -0
- package/app/javascript/src/translations/hr.json +78 -0
- package/app/javascript/src/translations/id.json +78 -0
- package/app/javascript/src/translations/it.json +78 -0
- package/app/javascript/src/translations/ja.json +78 -0
- package/app/javascript/src/translations/ko.json +78 -0
- package/app/javascript/src/translations/nl.json +78 -0
- package/app/javascript/src/translations/pl.json +78 -0
- package/app/javascript/src/translations/pt-BR.json +78 -0
- package/app/javascript/src/translations/pt.json +78 -0
- package/app/javascript/src/translations/ro.json +78 -0
- package/app/javascript/src/translations/ru.json +78 -0
- package/app/javascript/src/translations/sk.json +78 -0
- package/app/javascript/src/translations/sl.json +78 -0
- package/app/javascript/src/translations/sv.json +78 -0
- package/app/javascript/src/translations/th.json +78 -0
- package/app/javascript/src/translations/tr.json +78 -0
- package/app/javascript/src/translations/uk.json +78 -0
- package/app/javascript/src/translations/vi.json +78 -0
- package/app/javascript/src/translations/zh-CN.json +78 -0
- package/app/javascript/src/translations/zh-TW.json +78 -0
- package/dist/EmailDeliveryScreen.js +1 -1
- package/dist/EmailDeliveryScreen.js.map +1 -1
- package/dist/SparkpostDomainSetup.js +1 -1
- package/dist/SparkpostDomainVerify.js +39 -15
- package/dist/SparkpostDomainVerify.js.map +1 -1
- package/dist/cjs/EmailDeliveryScreen.js +1 -1
- package/dist/cjs/EmailDeliveryScreen.js.map +1 -1
- package/dist/cjs/SparkpostDomainSetup.js +1 -1
- package/dist/cjs/SparkpostDomainVerify.js +38 -14
- package/dist/cjs/SparkpostDomainVerify.js.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/{constants-9aNca_br.js → constants-Cvxv8ly7.js} +3 -2
- package/dist/constants-Cvxv8ly7.js.map +1 -0
- package/dist/{constants-DcHGgJC2.js → constants-D3nzz3Te.js} +3 -2
- package/dist/constants-D3nzz3Te.js.map +1 -0
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/package.json +11 -11
- package/dist/constants-9aNca_br.js.map +0 -1
- package/dist/constants-DcHGgJC2.js.map +0 -1
|
@@ -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\">\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/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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"}
|
|
@@ -6,7 +6,7 @@ import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
|
|
|
6
6
|
import Form from '@bigbinary/neetoui/formik/Form';
|
|
7
7
|
import { useTranslation } from 'react-i18next';
|
|
8
8
|
import { useHistory } from 'react-router-dom';
|
|
9
|
-
import { P as PageWrapper, a as PageContent, V as VALIDATION_SCHEMA } from './constants-
|
|
9
|
+
import { P as PageWrapper, a as PageContent, V as VALIDATION_SCHEMA } from './constants-Cvxv8ly7.js';
|
|
10
10
|
import { u as useSparkpostDomain } from './useSparkpostDomain-DdG5InhX.js';
|
|
11
11
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
12
12
|
import '@babel/runtime/helpers/defineProperty';
|
|
@@ -6,12 +6,13 @@ import Spinner from '@bigbinary/neetoui/Spinner';
|
|
|
6
6
|
import { isEmpty, pathOr } from 'ramda';
|
|
7
7
|
import { useTranslation } from 'react-i18next';
|
|
8
8
|
import { useHistory } from 'react-router-dom';
|
|
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-
|
|
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
10
|
import { a as useFetchSparkpostDomain, u as useSparkpostDomain } from './useSparkpostDomain-DdG5InhX.js';
|
|
11
|
+
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
11
12
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
12
13
|
import Tag from '@bigbinary/neetoui/Tag';
|
|
13
14
|
import CopyToClipboardButton from '@bigbinary/neeto-molecules/CopyToClipboardButton';
|
|
14
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
15
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
15
16
|
import Button from '@bigbinary/neetoui/Button';
|
|
16
17
|
import Callout from '@bigbinary/neetoui/Callout';
|
|
17
18
|
import '@babel/runtime/helpers/defineProperty';
|
|
@@ -38,10 +39,10 @@ var RecordField = function RecordField(_ref) {
|
|
|
38
39
|
children: label
|
|
39
40
|
})
|
|
40
41
|
}), /*#__PURE__*/jsxs("code", {
|
|
41
|
-
className: "neeto-ui-text-gray-800 neeto-ui-bg-gray-100 neeto-ui-rounded-md relative block p-4
|
|
42
|
+
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",
|
|
42
43
|
children: [value, /*#__PURE__*/jsx(CopyToClipboardButton, {
|
|
43
44
|
value: value,
|
|
44
|
-
className: "absolute top-1
|
|
45
|
+
className: "absolute top-1 end-1 shrink-0",
|
|
45
46
|
style: "tertiary"
|
|
46
47
|
})]
|
|
47
48
|
})]
|
|
@@ -58,14 +59,34 @@ var DnsRecordsSection = function DnsRecordsSection(_ref) {
|
|
|
58
59
|
switch (purpose) {
|
|
59
60
|
case "dkim":
|
|
60
61
|
return t("neetoEmailDelivery.sparkpost.dnsRecords.dkimSigning");
|
|
62
|
+
case "txt":
|
|
63
|
+
return t("neetoEmailDelivery.sparkpost.dnsRecords.txtVerification");
|
|
61
64
|
default:
|
|
62
65
|
return purpose;
|
|
63
66
|
}
|
|
64
67
|
};
|
|
65
|
-
var formatRecordName = function formatRecordName(
|
|
66
|
-
|
|
68
|
+
var formatRecordName = function formatRecordName(hostname) {
|
|
69
|
+
if (!hostname) return "";
|
|
70
|
+
return hostname.endsWith(".".concat(domain)) ? hostname : "".concat(hostname, ".").concat(domain);
|
|
67
71
|
};
|
|
68
|
-
|
|
72
|
+
var status = sparkpostData.status,
|
|
73
|
+
txtVerificationValue = sparkpostData.txtVerificationValue,
|
|
74
|
+
txtVerificationHostname = sparkpostData.txtVerificationHostname;
|
|
75
|
+
var allRecords = [];
|
|
76
|
+
var isTxtUnverified = status === "txt_unverified";
|
|
77
|
+
if (isTxtUnverified) {
|
|
78
|
+
if (txtVerificationValue && txtVerificationHostname) {
|
|
79
|
+
allRecords.push({
|
|
80
|
+
type: "TXT",
|
|
81
|
+
purpose: "txt",
|
|
82
|
+
hostname: txtVerificationHostname,
|
|
83
|
+
value: txtVerificationValue
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
} else {
|
|
87
|
+
allRecords.push.apply(allRecords, _toConsumableArray(dnsRecords));
|
|
88
|
+
}
|
|
89
|
+
if (isEmpty(allRecords)) {
|
|
69
90
|
return /*#__PURE__*/jsx("div", {
|
|
70
91
|
className: "p-8 text-center",
|
|
71
92
|
children: /*#__PURE__*/jsx(Typography, {
|
|
@@ -81,7 +102,7 @@ var DnsRecordsSection = function DnsRecordsSection(_ref) {
|
|
|
81
102
|
style: "h4",
|
|
82
103
|
weight: "medium",
|
|
83
104
|
children: t("neetoEmailDelivery.sparkpost.dnsRecords.title")
|
|
84
|
-
}),
|
|
105
|
+
}), allRecords.map(function (record, index) {
|
|
85
106
|
return /*#__PURE__*/jsxs("div", {
|
|
86
107
|
className: "neeto-ui-rounded-lg neeto-ui-bg-white neeto-ui-border-gray-300 border p-3",
|
|
87
108
|
children: [/*#__PURE__*/jsx("div", {
|
|
@@ -102,7 +123,7 @@ var DnsRecordsSection = function DnsRecordsSection(_ref) {
|
|
|
102
123
|
className: "flex flex-col gap-4",
|
|
103
124
|
children: [/*#__PURE__*/jsx(RecordField, {
|
|
104
125
|
label: t("neetoEmailDelivery.sparkpost.dnsRecords.nameLabel"),
|
|
105
|
-
value: formatRecordName(record)
|
|
126
|
+
value: formatRecordName(record.hostname)
|
|
106
127
|
}), /*#__PURE__*/jsx(RecordField, {
|
|
107
128
|
label: t("neetoEmailDelivery.sparkpost.dnsRecords.valueLabel"),
|
|
108
129
|
value: record.value
|
|
@@ -212,7 +233,7 @@ var SparkpostDomainVerify = function SparkpostDomainVerify(_ref) {
|
|
|
212
233
|
}, [sparkpostData, emailDeliveryIndexRoute, history]);
|
|
213
234
|
var handleVerify = function handleVerify() {
|
|
214
235
|
onVerifyDomain(function (response) {
|
|
215
|
-
if (response
|
|
236
|
+
if ((response === null || response === void 0 ? void 0 : response.status) === "active") {
|
|
216
237
|
setVerificationStatus(VERIFICATION_STATUSES.SUCCESS);
|
|
217
238
|
setTimeout(function () {
|
|
218
239
|
history.push(emailDeliveryIndexRoute);
|
|
@@ -224,6 +245,7 @@ var SparkpostDomainVerify = function SparkpostDomainVerify(_ref) {
|
|
|
224
245
|
setVerificationStatus(VERIFICATION_STATUSES.ERROR);
|
|
225
246
|
});
|
|
226
247
|
};
|
|
248
|
+
var isVerificationSuccessful = verificationStatus === VERIFICATION_STATUSES.SUCCESS;
|
|
227
249
|
var handleCancel = function handleCancel() {
|
|
228
250
|
history.push(emailDeliveryIndexRoute);
|
|
229
251
|
};
|
|
@@ -250,11 +272,13 @@ var SparkpostDomainVerify = function SparkpostDomainVerify(_ref) {
|
|
|
250
272
|
className: "flex flex-col gap-4",
|
|
251
273
|
children: [/*#__PURE__*/jsx(VerificationStatusCallout, {
|
|
252
274
|
verificationStatus: verificationStatus
|
|
253
|
-
}), /*#__PURE__*/
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
275
|
+
}), !isVerificationSuccessful && /*#__PURE__*/jsxs(Fragment, {
|
|
276
|
+
children: [/*#__PURE__*/jsx(DnsRecordsSection, {
|
|
277
|
+
dnsRecords: dnsRecords,
|
|
278
|
+
domain: domain,
|
|
279
|
+
sparkpostData: sparkpostData
|
|
280
|
+
}), /*#__PURE__*/jsx(VerificationInstructions, {})]
|
|
281
|
+
})]
|
|
258
282
|
})
|
|
259
283
|
})
|
|
260
284
|
})
|
|
@@ -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 pr-10 font-mono text-xs break-all\">\n {value}\n <CopyToClipboardButton\n {...{ value }}\n className=\"absolute top-1 right-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 default:\n return purpose;\n }\n };\n\n const formatRecordName = record =>\n record.hostname.endsWith(`.${domain}`)\n ? record.hostname\n : `${record.hostname}.${domain}`;\n\n if (isEmpty(dnsRecords)) {\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 {dnsRecords.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)}\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?.verified) {\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 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 <DnsRecordsSection {...{ dnsRecords, domain, sparkpostData }} />\n <VerificationInstructions />\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","record","hostname","endsWith","concat","isEmpty","connected","weight","map","index","Tag","size","PURPOSE_COLORS","DEFAULT_COLOR","type","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","push","handleVerify","response","verified","PENDING","_error","ERROR","handleCancel","Spinner","PageWrapper","PageContent","CardLayout","title","actionBlock","description","replace"],"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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"}
|
|
@@ -371,7 +371,7 @@ var EmailDeliveryScreen = function EmailDeliveryScreen(_ref) {
|
|
|
371
371
|
}) : t("neetoEmailDelivery.sparkpost.emailDelivery.ownDomainDescription");
|
|
372
372
|
if (isLoading) {
|
|
373
373
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
374
|
-
className: "flex grow items-center justify-center",
|
|
374
|
+
className: "flex grow items-center justify-center w-full",
|
|
375
375
|
children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
|
|
376
376
|
});
|
|
377
377
|
}
|
|
@@ -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\">\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/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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"}
|
|
@@ -8,7 +8,7 @@ var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
|
|
|
8
8
|
var Form = require('@bigbinary/neetoui/formik/Form');
|
|
9
9
|
var reactI18next = require('react-i18next');
|
|
10
10
|
var reactRouterDom = require('react-router-dom');
|
|
11
|
-
var constants = require('../constants-
|
|
11
|
+
var constants = require('../constants-D3nzz3Te.js');
|
|
12
12
|
var useSparkpostDomain = require('../useSparkpostDomain-qxCkAS6s.js');
|
|
13
13
|
var jsxRuntime = require('react/jsx-runtime');
|
|
14
14
|
require('@babel/runtime/helpers/defineProperty');
|