From 6586cc06a1b938bb4a625f85b7a0821d8900d2bb Mon Sep 17 00:00:00 2001
From: Philipp Stracker
Date: Mon, 9 Dec 2024 19:00:26 +0100
Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Disable=20the=20browser=20warning?=
=?UTF-8?q?=20on=20page=20reload?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../resources/js/Components/Screens/Settings.js | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/modules/ppcp-settings/resources/js/Components/Screens/Settings.js b/modules/ppcp-settings/resources/js/Components/Screens/Settings.js
index e0634343c..faf65c047 100644
--- a/modules/ppcp-settings/resources/js/Components/Screens/Settings.js
+++ b/modules/ppcp-settings/resources/js/Components/Screens/Settings.js
@@ -1,3 +1,5 @@
+import { useEffect } from '@wordpress/element';
+
import { OnboardingHooks } from '../../data';
import Onboarding from './Onboarding/Onboarding';
import SettingsScreen from './SettingsScreen';
@@ -5,6 +7,20 @@ import SettingsScreen from './SettingsScreen';
const Settings = () => {
const onboardingProgress = OnboardingHooks.useSteps();
+ // Disable the "Changes you made might not be saved" browser warning.
+ useEffect( () => {
+ const suppressBeforeUnload = ( event ) => {
+ event.stopImmediatePropagation();
+ return undefined;
+ };
+
+ window.addEventListener( 'beforeunload', suppressBeforeUnload );
+
+ return () => {
+ window.removeEventListener( 'beforeunload', suppressBeforeUnload );
+ };
+ }, [] );
+
if ( ! onboardingProgress.isReady ) {
// TODO: Use better loading state indicator.
return Loading...
;