| 
									
										
										
										
											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; | 
					
						
							|  |  |  | } |