2024-12-09 19:00:26 +01:00
|
|
|
import { useEffect } from '@wordpress/element';
|
|
|
|
|
2024-11-20 16:56:44 +01:00
|
|
|
import { OnboardingHooks } from '../../data';
|
2024-10-28 17:56:23 +01:00
|
|
|
import Onboarding from './Onboarding/Onboarding';
|
2024-11-21 13:08:38 +01:00
|
|
|
import SettingsScreen from './SettingsScreen';
|
2024-10-24 13:54:50 +02:00
|
|
|
|
|
|
|
const Settings = () => {
|
2024-11-20 16:56:44 +01:00
|
|
|
const onboardingProgress = OnboardingHooks.useSteps();
|
2024-10-28 17:56:23 +01:00
|
|
|
|
2024-12-09 19:00:26 +01:00
|
|
|
// 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 );
|
|
|
|
};
|
|
|
|
}, [] );
|
|
|
|
|
2024-10-28 18:57:39 +01:00
|
|
|
if ( ! onboardingProgress.isReady ) {
|
|
|
|
// TODO: Use better loading state indicator.
|
|
|
|
return <div>Loading...</div>;
|
|
|
|
}
|
|
|
|
|
2024-10-28 17:56:23 +01:00
|
|
|
if ( ! onboardingProgress.completed ) {
|
|
|
|
return <Onboarding />;
|
|
|
|
}
|
|
|
|
|
2024-11-21 13:08:38 +01:00
|
|
|
return <SettingsScreen />;
|
2024-10-24 13:54:50 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
export default Settings;
|