diff --git a/new-lamassu-admin/src/components/PromptWhenDirty.js b/new-lamassu-admin/src/components/PromptWhenDirty.js
index 075bd15c..b7c4835a 100644
--- a/new-lamassu-admin/src/components/PromptWhenDirty.js
+++ b/new-lamassu-admin/src/components/PromptWhenDirty.js
@@ -1,5 +1,5 @@
import { useFormikContext } from 'formik'
-import React from 'react'
+import React, { useEffect } from 'react'
import { Prompt } from 'react-router-dom'
const PROMPT_DEFAULT_MESSAGE =
@@ -8,9 +8,21 @@ const PROMPT_DEFAULT_MESSAGE =
const PromptWhenDirty = ({ message = PROMPT_DEFAULT_MESSAGE }) => {
const formik = useFormikContext()
- return (
-
- )
+ const hasChanges = formik.dirty && formik.submitCount === 0
+
+ useEffect(() => {
+ if (hasChanges) {
+ window.onbeforeunload = confirmExit
+ } else {
+ window.onbeforeunload = undefined
+ }
+ }, [hasChanges])
+
+ const confirmExit = () => {
+ return PROMPT_DEFAULT_MESSAGE
+ }
+
+ return
}
export default PromptWhenDirty