@bigbinary/neeto-molecules 5.1.27 → 5.1.28

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.
@@ -73,7 +73,7 @@ var TimezoneMismatchModal = function TimezoneMismatchModal(_ref) {
73
73
  onClose();
74
74
  };
75
75
  useEffect(function () {
76
- if (!(process.env.RAILS_ENV !== "heroku")) return;
76
+ if (!["heroku", "transit"].includes(process.env.RAILS_ENV)) return;
77
77
  setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);
78
78
  }, []);
79
79
  return /*#__PURE__*/jsxs(Modal, {
@@ -1 +1 @@
1
- {"version":3,"file":"TimezoneMismatchModal.js","sources":["../src/components/TimezoneMismatchModal/apis/time_zone.js","../src/components/TimezoneMismatchModal/useTimeZoneApi.js","../src/components/TimezoneMismatchModal/utils.js","../src/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation({\n mutationFn: timeZoneApi.updateTimeZone,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import dayjs from \"dayjs\";\nimport { globalProps } from \"neetocommons/initializers\";\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport { useEffect, useState } from \"react\";\n\nimport { noop } from \"@bigbinary/neeto-cist\";\nimport { Button, Modal, Typography } from \"@bigbinary/neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = noop }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isPending, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (!(process.env.RAILS_ENV !== \"heroku\")) return;\n setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);\n }, []);\n\n return (\n <Modal\n closeOnOutsideClick={false}\n isOpen={isTimezoneModalOpen || isOpen}\n size=\"large\"\n onClose={handleCancel}\n >\n <Modal.Header>\n <Typography style=\"h2\" weight=\"normal\">\n {t(\"neetoMolecules.alert.timezone.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <span className=\"flex flex-col gap-y-4\">\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoMolecules.alert.timezone.message\", {\n entity: globalProps.appName,\n })}\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.userTimezone\"\n values={{ entity: getUserTimeZone() }}\n />\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.browserTimezone\"\n values={{ entity: getBrowserTimeZone() }}\n />\n </Typography>\n </span>\n </Modal.Body>\n <Modal.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-testid=\"update-timezone-button\"\n disabled={isPending}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isPending}\n style=\"primary\"\n onClick={handleUpdateTimeZone}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleCancel}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nTimezoneMismatchModal.propTypes = {\n /**\n * Boolean value to toggle the modal.\n */\n isOpen: PropTypes.bool,\n /**\n * The function that's called after the modal is closed.\n */\n onClose: PropTypes.func,\n};\n\nexport default TimezoneMismatchModal;\n"],"names":["timeZoneUrl","updateTimeZone","payload","axios","patch","timeZoneApi","useUpdateTimeZone","useMutation","mutationFn","onSuccess","window","location","reload","getBrowserTimeZone","dayjs","tz","guess","getUserTimeZone","_globalProps$user","globalProps","user","timeZone","checkIfTwoTimeZonesAreSame","timeZone1","timeZone2","format","TimezoneMismatchModal","_ref","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isTimezoneModalOpen","setIsTimezoneModalOpen","_useUpdateTimeZone","isPending","mutate","isUserAndBrowserTimeZoneSame","handleUpdateTimeZone","handleCancel","useEffect","process","env","RAILS_ENV","_jsxs","Modal","closeOnOutsideClick","size","children","_jsx","Header","Typography","style","weight","Body","className","component","entity","appName","Trans","i18nKey","values","Footer","Button","disabled","label","loading","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"TimezoneMismatchModal.js","sources":["../src/components/TimezoneMismatchModal/apis/time_zone.js","../src/components/TimezoneMismatchModal/useTimeZoneApi.js","../src/components/TimezoneMismatchModal/utils.js","../src/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation({\n mutationFn: timeZoneApi.updateTimeZone,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import dayjs from \"dayjs\";\nimport { globalProps } from \"neetocommons/initializers\";\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport { useEffect, useState } from \"react\";\n\nimport { noop } from \"@bigbinary/neeto-cist\";\nimport { Button, Modal, Typography } from \"@bigbinary/neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = noop }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isPending, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (![\"heroku\", \"transit\"].includes(process.env.RAILS_ENV)) return;\n setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);\n }, []);\n\n return (\n <Modal\n closeOnOutsideClick={false}\n isOpen={isTimezoneModalOpen || isOpen}\n size=\"large\"\n onClose={handleCancel}\n >\n <Modal.Header>\n <Typography style=\"h2\" weight=\"normal\">\n {t(\"neetoMolecules.alert.timezone.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <span className=\"flex flex-col gap-y-4\">\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoMolecules.alert.timezone.message\", {\n entity: globalProps.appName,\n })}\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.userTimezone\"\n values={{ entity: getUserTimeZone() }}\n />\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.browserTimezone\"\n values={{ entity: getBrowserTimeZone() }}\n />\n </Typography>\n </span>\n </Modal.Body>\n <Modal.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-testid=\"update-timezone-button\"\n disabled={isPending}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isPending}\n style=\"primary\"\n onClick={handleUpdateTimeZone}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleCancel}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nTimezoneMismatchModal.propTypes = {\n /**\n * Boolean value to toggle the modal.\n */\n isOpen: PropTypes.bool,\n /**\n * The function that's called after the modal is closed.\n */\n onClose: PropTypes.func,\n};\n\nexport default TimezoneMismatchModal;\n"],"names":["timeZoneUrl","updateTimeZone","payload","axios","patch","timeZoneApi","useUpdateTimeZone","useMutation","mutationFn","onSuccess","window","location","reload","getBrowserTimeZone","dayjs","tz","guess","getUserTimeZone","_globalProps$user","globalProps","user","timeZone","checkIfTwoTimeZonesAreSame","timeZone1","timeZone2","format","TimezoneMismatchModal","_ref","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isTimezoneModalOpen","setIsTimezoneModalOpen","_useUpdateTimeZone","isPending","mutate","isUserAndBrowserTimeZoneSame","handleUpdateTimeZone","handleCancel","useEffect","includes","process","env","RAILS_ENV","_jsxs","Modal","closeOnOutsideClick","size","children","_jsx","Header","Typography","style","weight","Body","className","component","entity","appName","Trans","i18nKey","values","Footer","Button","disabled","label","loading","onClick"],"mappings":"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"}
@@ -75,7 +75,7 @@ var TimezoneMismatchModal = function TimezoneMismatchModal(_ref) {
75
75
  onClose();
76
76
  };
77
77
  React.useEffect(function () {
78
- if (!(process.env.RAILS_ENV !== "heroku")) return;
78
+ if (!["heroku", "transit"].includes(process.env.RAILS_ENV)) return;
79
79
  setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);
80
80
  }, []);
81
81
  return /*#__PURE__*/jsxRuntime.jsxs(Modal, {
@@ -1 +1 @@
1
- {"version":3,"file":"TimezoneMismatchModal.js","sources":["../../src/components/TimezoneMismatchModal/apis/time_zone.js","../../src/components/TimezoneMismatchModal/useTimeZoneApi.js","../../src/components/TimezoneMismatchModal/utils.js","../../src/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation({\n mutationFn: timeZoneApi.updateTimeZone,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import dayjs from \"dayjs\";\nimport { globalProps } from \"neetocommons/initializers\";\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport { useEffect, useState } from \"react\";\n\nimport { noop } from \"@bigbinary/neeto-cist\";\nimport { Button, Modal, Typography } from \"@bigbinary/neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = noop }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isPending, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (!(process.env.RAILS_ENV !== \"heroku\")) return;\n setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);\n }, []);\n\n return (\n <Modal\n closeOnOutsideClick={false}\n isOpen={isTimezoneModalOpen || isOpen}\n size=\"large\"\n onClose={handleCancel}\n >\n <Modal.Header>\n <Typography style=\"h2\" weight=\"normal\">\n {t(\"neetoMolecules.alert.timezone.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <span className=\"flex flex-col gap-y-4\">\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoMolecules.alert.timezone.message\", {\n entity: globalProps.appName,\n })}\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.userTimezone\"\n values={{ entity: getUserTimeZone() }}\n />\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.browserTimezone\"\n values={{ entity: getBrowserTimeZone() }}\n />\n </Typography>\n </span>\n </Modal.Body>\n <Modal.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-testid=\"update-timezone-button\"\n disabled={isPending}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isPending}\n style=\"primary\"\n onClick={handleUpdateTimeZone}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleCancel}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nTimezoneMismatchModal.propTypes = {\n /**\n * Boolean value to toggle the modal.\n */\n isOpen: PropTypes.bool,\n /**\n * The function that's called after the modal is closed.\n */\n onClose: PropTypes.func,\n};\n\nexport default TimezoneMismatchModal;\n"],"names":["timeZoneUrl","updateTimeZone","payload","axios","patch","timeZoneApi","useUpdateTimeZone","useMutation","mutationFn","onSuccess","window","location","reload","getBrowserTimeZone","dayjs","tz","guess","getUserTimeZone","_globalProps$user","globalProps","user","timeZone","checkIfTwoTimeZonesAreSame","timeZone1","timeZone2","format","TimezoneMismatchModal","_ref","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isTimezoneModalOpen","setIsTimezoneModalOpen","_useUpdateTimeZone","isPending","mutate","isUserAndBrowserTimeZoneSame","handleUpdateTimeZone","handleCancel","useEffect","process","env","RAILS_ENV","_jsxs","Modal","closeOnOutsideClick","size","children","_jsx","Header","Typography","style","weight","Body","className","component","entity","appName","Trans","i18nKey","values","Footer","Button","disabled","label","loading","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"TimezoneMismatchModal.js","sources":["../../src/components/TimezoneMismatchModal/apis/time_zone.js","../../src/components/TimezoneMismatchModal/useTimeZoneApi.js","../../src/components/TimezoneMismatchModal/utils.js","../../src/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation({\n mutationFn: timeZoneApi.updateTimeZone,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import dayjs from \"dayjs\";\nimport { globalProps } from \"neetocommons/initializers\";\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport { useEffect, useState } from \"react\";\n\nimport { noop } from \"@bigbinary/neeto-cist\";\nimport { Button, Modal, Typography } from \"@bigbinary/neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = noop }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isPending, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (![\"heroku\", \"transit\"].includes(process.env.RAILS_ENV)) return;\n setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);\n }, []);\n\n return (\n <Modal\n closeOnOutsideClick={false}\n isOpen={isTimezoneModalOpen || isOpen}\n size=\"large\"\n onClose={handleCancel}\n >\n <Modal.Header>\n <Typography style=\"h2\" weight=\"normal\">\n {t(\"neetoMolecules.alert.timezone.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <span className=\"flex flex-col gap-y-4\">\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoMolecules.alert.timezone.message\", {\n entity: globalProps.appName,\n })}\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.userTimezone\"\n values={{ entity: getUserTimeZone() }}\n />\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.browserTimezone\"\n values={{ entity: getBrowserTimeZone() }}\n />\n </Typography>\n </span>\n </Modal.Body>\n <Modal.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-testid=\"update-timezone-button\"\n disabled={isPending}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isPending}\n style=\"primary\"\n onClick={handleUpdateTimeZone}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleCancel}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nTimezoneMismatchModal.propTypes = {\n /**\n * Boolean value to toggle the modal.\n */\n isOpen: PropTypes.bool,\n /**\n * The function that's called after the modal is closed.\n */\n onClose: PropTypes.func,\n};\n\nexport default TimezoneMismatchModal;\n"],"names":["timeZoneUrl","updateTimeZone","payload","axios","patch","timeZoneApi","useUpdateTimeZone","useMutation","mutationFn","onSuccess","window","location","reload","getBrowserTimeZone","dayjs","tz","guess","getUserTimeZone","_globalProps$user","globalProps","user","timeZone","checkIfTwoTimeZonesAreSame","timeZone1","timeZone2","format","TimezoneMismatchModal","_ref","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isTimezoneModalOpen","setIsTimezoneModalOpen","_useUpdateTimeZone","isPending","mutate","isUserAndBrowserTimeZoneSame","handleUpdateTimeZone","handleCancel","useEffect","includes","process","env","RAILS_ENV","_jsxs","Modal","closeOnOutsideClick","size","children","_jsx","Header","Typography","style","weight","Body","className","component","entity","appName","Trans","i18nKey","values","Footer","Button","disabled","label","loading","onClick"],"mappings":"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"}
@@ -73,7 +73,7 @@ var TimezoneMismatchModal = function TimezoneMismatchModal(_ref) {
73
73
  onClose();
74
74
  };
75
75
  React.useEffect(function () {
76
- if (!(process.env.RAILS_ENV !== "heroku")) return;
76
+ if (!["heroku", "transit"].includes(process.env.RAILS_ENV)) return;
77
77
  setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);
78
78
  }, []);
79
79
  return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Dialog, {
@@ -1 +1 @@
1
- {"version":3,"file":"TimezoneMismatchModal.js","sources":["../../../src/v2/components/TimezoneMismatchModal/apis/time_zone.js","../../../src/v2/components/TimezoneMismatchModal/useTimeZoneApi.js","../../../src/v2/components/TimezoneMismatchModal/utils.js","../../../src/v2/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation({\n mutationFn: timeZoneApi.updateTimeZone,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import { globalProps } from \"neetocommons/v2/initializers\";\nimport { dayjs } from \"neetocommons/v2/utils\";\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","import { useEffect, useState } from \"react\";\n\nimport { Button, Dialog, Typography } from \"@bigbinary/neeto-atoms\";\nimport { noop } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = noop }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isPending, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (!(process.env.RAILS_ENV !== \"heroku\")) return;\n setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);\n }, []);\n\n return (\n <Dialog\n aria-describedby={undefined}\n closeOnOutsideClick={false}\n isOpen={isTimezoneModalOpen || isOpen}\n size=\"large\"\n onClose={handleCancel}\n >\n <Dialog.Header>\n <Dialog.Title>{t(\"neetoMolecules.alert.timezone.title\")}</Dialog.Title>\n </Dialog.Header>\n <Dialog.Body>\n <span className=\"flex flex-col gap-y-4\">\n <Typography as=\"span\" variant=\"body2\">\n {t(\"neetoMolecules.alert.timezone.message\", {\n entity: globalProps.appName,\n })}\n </Typography>\n <Typography as=\"span\" variant=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.userTimezone\"\n values={{ entity: getUserTimeZone() }}\n />\n </Typography>\n <Typography as=\"span\" variant=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.browserTimezone\"\n values={{ entity: getBrowserTimeZone() }}\n />\n </Typography>\n </span>\n </Dialog.Body>\n <Dialog.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-testid=\"update-timezone-button\"\n disabled={isPending}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isPending}\n onClick={handleUpdateTimeZone}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n variant=\"ghost\"\n onClick={handleCancel}\n />\n </Dialog.Footer>\n </Dialog>\n );\n};\n\nTimezoneMismatchModal.propTypes = {\n /**\n * Boolean value to toggle the modal.\n */\n isOpen: PropTypes.bool,\n /**\n * The function that's called after the modal is closed.\n */\n onClose: PropTypes.func,\n};\n\nexport default TimezoneMismatchModal;\n"],"names":["timeZoneUrl","updateTimeZone","payload","axios","patch","timeZoneApi","useUpdateTimeZone","useMutation","mutationFn","onSuccess","window","location","reload","getBrowserTimeZone","dayjs","tz","guess","getUserTimeZone","_globalProps$user","globalProps","user","timeZone","checkIfTwoTimeZonesAreSame","timeZone1","timeZone2","format","TimezoneMismatchModal","_ref","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isTimezoneModalOpen","setIsTimezoneModalOpen","_useUpdateTimeZone","isPending","mutate","isUserAndBrowserTimeZoneSame","handleUpdateTimeZone","handleCancel","useEffect","process","env","RAILS_ENV","_jsxs","Dialog","undefined","closeOnOutsideClick","size","children","_jsx","Header","Title","Body","className","Typography","as","variant","entity","appName","Trans","i18nKey","values","Footer","Button","disabled","label","loading","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"TimezoneMismatchModal.js","sources":["../../../src/v2/components/TimezoneMismatchModal/apis/time_zone.js","../../../src/v2/components/TimezoneMismatchModal/useTimeZoneApi.js","../../../src/v2/components/TimezoneMismatchModal/utils.js","../../../src/v2/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation({\n mutationFn: timeZoneApi.updateTimeZone,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import { globalProps } from \"neetocommons/v2/initializers\";\nimport { dayjs } from \"neetocommons/v2/utils\";\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","import { useEffect, useState } from \"react\";\n\nimport { Button, Dialog, Typography } from \"@bigbinary/neeto-atoms\";\nimport { noop } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = noop }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isPending, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (![\"heroku\", \"transit\"].includes(process.env.RAILS_ENV)) return;\n setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);\n }, []);\n\n return (\n <Dialog\n aria-describedby={undefined}\n closeOnOutsideClick={false}\n isOpen={isTimezoneModalOpen || isOpen}\n size=\"large\"\n onClose={handleCancel}\n >\n <Dialog.Header>\n <Dialog.Title>{t(\"neetoMolecules.alert.timezone.title\")}</Dialog.Title>\n </Dialog.Header>\n <Dialog.Body>\n <span className=\"flex flex-col gap-y-4\">\n <Typography as=\"span\" variant=\"body2\">\n {t(\"neetoMolecules.alert.timezone.message\", {\n entity: globalProps.appName,\n })}\n </Typography>\n <Typography as=\"span\" variant=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.userTimezone\"\n values={{ entity: getUserTimeZone() }}\n />\n </Typography>\n <Typography as=\"span\" variant=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.browserTimezone\"\n values={{ entity: getBrowserTimeZone() }}\n />\n </Typography>\n </span>\n </Dialog.Body>\n <Dialog.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-testid=\"update-timezone-button\"\n disabled={isPending}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isPending}\n onClick={handleUpdateTimeZone}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n variant=\"ghost\"\n onClick={handleCancel}\n />\n </Dialog.Footer>\n </Dialog>\n );\n};\n\nTimezoneMismatchModal.propTypes = {\n /**\n * Boolean value to toggle the modal.\n */\n isOpen: PropTypes.bool,\n /**\n * The function that's called after the modal is closed.\n */\n onClose: PropTypes.func,\n};\n\nexport default TimezoneMismatchModal;\n"],"names":["timeZoneUrl","updateTimeZone","payload","axios","patch","timeZoneApi","useUpdateTimeZone","useMutation","mutationFn","onSuccess","window","location","reload","getBrowserTimeZone","dayjs","tz","guess","getUserTimeZone","_globalProps$user","globalProps","user","timeZone","checkIfTwoTimeZonesAreSame","timeZone1","timeZone2","format","TimezoneMismatchModal","_ref","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isTimezoneModalOpen","setIsTimezoneModalOpen","_useUpdateTimeZone","isPending","mutate","isUserAndBrowserTimeZoneSame","handleUpdateTimeZone","handleCancel","useEffect","includes","process","env","RAILS_ENV","_jsxs","Dialog","undefined","closeOnOutsideClick","size","children","_jsx","Header","Title","Body","className","Typography","as","variant","entity","appName","Trans","i18nKey","values","Footer","Button","disabled","label","loading","onClick"],"mappings":"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"}
@@ -71,7 +71,7 @@ var TimezoneMismatchModal = function TimezoneMismatchModal(_ref) {
71
71
  onClose();
72
72
  };
73
73
  useEffect(function () {
74
- if (!(process.env.RAILS_ENV !== "heroku")) return;
74
+ if (!["heroku", "transit"].includes(process.env.RAILS_ENV)) return;
75
75
  setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);
76
76
  }, []);
77
77
  return /*#__PURE__*/jsxs(Dialog, {
@@ -1 +1 @@
1
- {"version":3,"file":"TimezoneMismatchModal.js","sources":["../../src/v2/components/TimezoneMismatchModal/apis/time_zone.js","../../src/v2/components/TimezoneMismatchModal/useTimeZoneApi.js","../../src/v2/components/TimezoneMismatchModal/utils.js","../../src/v2/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation({\n mutationFn: timeZoneApi.updateTimeZone,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import { globalProps } from \"neetocommons/v2/initializers\";\nimport { dayjs } from \"neetocommons/v2/utils\";\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","import { useEffect, useState } from \"react\";\n\nimport { Button, Dialog, Typography } from \"@bigbinary/neeto-atoms\";\nimport { noop } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = noop }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isPending, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (!(process.env.RAILS_ENV !== \"heroku\")) return;\n setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);\n }, []);\n\n return (\n <Dialog\n aria-describedby={undefined}\n closeOnOutsideClick={false}\n isOpen={isTimezoneModalOpen || isOpen}\n size=\"large\"\n onClose={handleCancel}\n >\n <Dialog.Header>\n <Dialog.Title>{t(\"neetoMolecules.alert.timezone.title\")}</Dialog.Title>\n </Dialog.Header>\n <Dialog.Body>\n <span className=\"flex flex-col gap-y-4\">\n <Typography as=\"span\" variant=\"body2\">\n {t(\"neetoMolecules.alert.timezone.message\", {\n entity: globalProps.appName,\n })}\n </Typography>\n <Typography as=\"span\" variant=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.userTimezone\"\n values={{ entity: getUserTimeZone() }}\n />\n </Typography>\n <Typography as=\"span\" variant=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.browserTimezone\"\n values={{ entity: getBrowserTimeZone() }}\n />\n </Typography>\n </span>\n </Dialog.Body>\n <Dialog.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-testid=\"update-timezone-button\"\n disabled={isPending}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isPending}\n onClick={handleUpdateTimeZone}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n variant=\"ghost\"\n onClick={handleCancel}\n />\n </Dialog.Footer>\n </Dialog>\n );\n};\n\nTimezoneMismatchModal.propTypes = {\n /**\n * Boolean value to toggle the modal.\n */\n isOpen: PropTypes.bool,\n /**\n * The function that's called after the modal is closed.\n */\n onClose: PropTypes.func,\n};\n\nexport default TimezoneMismatchModal;\n"],"names":["timeZoneUrl","updateTimeZone","payload","axios","patch","timeZoneApi","useUpdateTimeZone","useMutation","mutationFn","onSuccess","window","location","reload","getBrowserTimeZone","dayjs","tz","guess","getUserTimeZone","_globalProps$user","globalProps","user","timeZone","checkIfTwoTimeZonesAreSame","timeZone1","timeZone2","format","TimezoneMismatchModal","_ref","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isTimezoneModalOpen","setIsTimezoneModalOpen","_useUpdateTimeZone","isPending","mutate","isUserAndBrowserTimeZoneSame","handleUpdateTimeZone","handleCancel","useEffect","process","env","RAILS_ENV","_jsxs","Dialog","undefined","closeOnOutsideClick","size","children","_jsx","Header","Title","Body","className","Typography","as","variant","entity","appName","Trans","i18nKey","values","Footer","Button","disabled","label","loading","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"TimezoneMismatchModal.js","sources":["../../src/v2/components/TimezoneMismatchModal/apis/time_zone.js","../../src/v2/components/TimezoneMismatchModal/useTimeZoneApi.js","../../src/v2/components/TimezoneMismatchModal/utils.js","../../src/v2/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation({\n mutationFn: timeZoneApi.updateTimeZone,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import { globalProps } from \"neetocommons/v2/initializers\";\nimport { dayjs } from \"neetocommons/v2/utils\";\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","import { useEffect, useState } from \"react\";\n\nimport { Button, Dialog, Typography } from \"@bigbinary/neeto-atoms\";\nimport { noop } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = noop }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isPending, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (![\"heroku\", \"transit\"].includes(process.env.RAILS_ENV)) return;\n setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);\n }, []);\n\n return (\n <Dialog\n aria-describedby={undefined}\n closeOnOutsideClick={false}\n isOpen={isTimezoneModalOpen || isOpen}\n size=\"large\"\n onClose={handleCancel}\n >\n <Dialog.Header>\n <Dialog.Title>{t(\"neetoMolecules.alert.timezone.title\")}</Dialog.Title>\n </Dialog.Header>\n <Dialog.Body>\n <span className=\"flex flex-col gap-y-4\">\n <Typography as=\"span\" variant=\"body2\">\n {t(\"neetoMolecules.alert.timezone.message\", {\n entity: globalProps.appName,\n })}\n </Typography>\n <Typography as=\"span\" variant=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.userTimezone\"\n values={{ entity: getUserTimeZone() }}\n />\n </Typography>\n <Typography as=\"span\" variant=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.browserTimezone\"\n values={{ entity: getBrowserTimeZone() }}\n />\n </Typography>\n </span>\n </Dialog.Body>\n <Dialog.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-testid=\"update-timezone-button\"\n disabled={isPending}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isPending}\n onClick={handleUpdateTimeZone}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n variant=\"ghost\"\n onClick={handleCancel}\n />\n </Dialog.Footer>\n </Dialog>\n );\n};\n\nTimezoneMismatchModal.propTypes = {\n /**\n * Boolean value to toggle the modal.\n */\n isOpen: PropTypes.bool,\n /**\n * The function that's called after the modal is closed.\n */\n onClose: PropTypes.func,\n};\n\nexport default TimezoneMismatchModal;\n"],"names":["timeZoneUrl","updateTimeZone","payload","axios","patch","timeZoneApi","useUpdateTimeZone","useMutation","mutationFn","onSuccess","window","location","reload","getBrowserTimeZone","dayjs","tz","guess","getUserTimeZone","_globalProps$user","globalProps","user","timeZone","checkIfTwoTimeZonesAreSame","timeZone1","timeZone2","format","TimezoneMismatchModal","_ref","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isTimezoneModalOpen","setIsTimezoneModalOpen","_useUpdateTimeZone","isPending","mutate","isUserAndBrowserTimeZoneSame","handleUpdateTimeZone","handleCancel","useEffect","includes","process","env","RAILS_ENV","_jsxs","Dialog","undefined","closeOnOutsideClick","size","children","_jsx","Header","Title","Body","className","Typography","as","variant","entity","appName","Trans","i18nKey","values","Footer","Button","disabled","label","loading","onClick"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "5.1.27",
3
+ "version": "5.1.28",
4
4
  "description": "A package of reusable molecular components for neeto products.",
5
5
  "repository": "git@github.com:bigbinary/neeto-molecules.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",