2024-01-06 21:51:35 +00:00
|
|
|
export function useNavigationWarning() {
|
|
|
|
return { activateNavigationWarning, deactivateNavigationWarning };
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Displays a warning before the user navigates to another page
|
|
|
|
* e.g., by clicking a link (which isn't internal and rendered without page load),
|
|
|
|
* reloading the page,
|
|
|
|
* or closing the tab.
|
|
|
|
*/
|
|
|
|
const activateNavigationWarning = () => {
|
2024-01-06 21:49:29 +00:00
|
|
|
window.onbeforeunload = () => true;
|
|
|
|
}
|
|
|
|
|
2024-01-06 21:51:35 +00:00
|
|
|
/**
|
|
|
|
* Disables the warning when navigating to a page
|
|
|
|
*/
|
|
|
|
const deactivateNavigationWarning = () => {
|
2024-01-06 21:49:29 +00:00
|
|
|
window.onbeforeunload = null;
|
|
|
|
}
|