diff --git a/src/components/Modal/QuickCreateOrganization/QuickCreateOrganization.jsx b/src/components/Modal/QuickCreateOrganization/QuickCreateOrganization.jsx index 21e9cb054..eff4ec7fe 100644 --- a/src/components/Modal/QuickCreateOrganization/QuickCreateOrganization.jsx +++ b/src/components/Modal/QuickCreateOrganization/QuickCreateOrganization.jsx @@ -44,6 +44,7 @@ function QuickCreateOrganization(props) { saveAsDraftHandler, setLoaderModalOpen, loaderModalOpen, + setShowDialog, } = props; const [form] = Form.useForm(); const { t } = useTranslation(); @@ -180,6 +181,7 @@ function QuickCreateOrganization(props) { setKeyword(''); getSelectedOrganizer(response?.id); } + setShowDialog(true); resolve(response); }) .catch((error) => { @@ -212,6 +214,7 @@ function QuickCreateOrganization(props) { getSelectedOrganizer(response?.id); setOpen(false); } + setShowDialog(true); resolve(response); }) .catch((error) => { diff --git a/src/components/Modal/QuickCreatePerson/QuickCreatePerson.jsx b/src/components/Modal/QuickCreatePerson/QuickCreatePerson.jsx index 1cfaba66b..1f926393f 100644 --- a/src/components/Modal/QuickCreatePerson/QuickCreatePerson.jsx +++ b/src/components/Modal/QuickCreatePerson/QuickCreatePerson.jsx @@ -49,6 +49,7 @@ function QuickCreatePerson(props) { saveAsDraftHandler, setLoaderModalOpen, loaderModalOpen, + setShowDialog, } = props; const [form] = Form.useForm(); const { t } = useTranslation(); @@ -188,6 +189,7 @@ function QuickCreatePerson(props) { setKeyword(''); setOpen(false); getSelectedPerson(response?.id); + setShowDialog(true); resolve(response); }) .catch((error) => { diff --git a/src/components/Modal/QuickCreatePlace/QuickCreatePlace.jsx b/src/components/Modal/QuickCreatePlace/QuickCreatePlace.jsx index 15746d4a6..5f5f594a2 100644 --- a/src/components/Modal/QuickCreatePlace/QuickCreatePlace.jsx +++ b/src/components/Modal/QuickCreatePlace/QuickCreatePlace.jsx @@ -48,6 +48,7 @@ function QuickCreatePlace(props) { saveAsDraftHandler, setLoaderModalOpen, loaderModalOpen, + setShowDialog, } = props; const [form] = Form.useForm(); @@ -257,6 +258,7 @@ function QuickCreatePlace(props) { }); } setKeyword(''); + setShowDialog(true); getSelectedPlace(response?.id); setOpen(false); resolve(response); diff --git a/src/hooks/usePrompt.js b/src/hooks/usePrompt.js index adc864fcd..52185c273 100644 --- a/src/hooks/usePrompt.js +++ b/src/hooks/usePrompt.js @@ -10,6 +10,7 @@ function useConfirmExit(confirmExit, when = true) { } const push = navigator.push; + const go = navigator.go; navigator.push = (...args) => { const result = confirmExit(); @@ -18,8 +19,16 @@ function useConfirmExit(confirmExit, when = true) { } }; + navigator.go = (...args) => { + const result = confirmExit(); + if (result !== false) { + go(...args); + } + }; + return () => { navigator.push = push; + navigator.go = go; }; }, [navigator, confirmExit, when]); } @@ -31,7 +40,6 @@ export function usePrompt(message, when) { return message; }; } - return () => { window.onbeforeunload = null; }; diff --git a/src/pages/Dashboard/AddEvent/AddEvent.jsx b/src/pages/Dashboard/AddEvent/AddEvent.jsx index 308192c22..3652013aa 100644 --- a/src/pages/Dashboard/AddEvent/AddEvent.jsx +++ b/src/pages/Dashboard/AddEvent/AddEvent.jsx @@ -2268,6 +2268,7 @@ function AddEvent() { saveAsDraftHandler={saveAsDraftHandler} setLoaderModalOpen={setLoaderModalOpen} loaderModalOpen={loaderModalOpen} + setShowDialog={setShowDialog} /> } label={t('dashboard.events.addEditEvent.tickets.free')} - onClick={() => setTicketType(offerTypes.FREE)} + onClick={() => { + setTicketType(offerTypes.FREE); + setShowDialog(true); + }} data-cy="button-select-ticket-free" />