Cleanup - unused files / unused exports / duplicate exports
[ProtonMail-WebClient.git] / packages / components / hooks / useOnline.ts
blobc967ea085b3614e0d20839a58acd200e046033d8
1 import { useEffect, useState } from 'react';
3 export const getOnlineStatus = () => {
4     return typeof navigator !== 'undefined' && typeof navigator.onLine === 'boolean' ? navigator.onLine : true;
5 };
7 const useOnline = () => {
8     const [onlineStatus, setOnlineStatus] = useState(getOnlineStatus());
10     useEffect(() => {
11         const handleOnlineStatus = () => {
12             setOnlineStatus(getOnlineStatus());
13         };
14         handleOnlineStatus();
15         window.addEventListener('online', handleOnlineStatus);
16         window.addEventListener('offline', handleOnlineStatus);
17         return () => {
18             window.removeEventListener('online', handleOnlineStatus);
19             window.removeEventListener('offline', handleOnlineStatus);
20         };
21     }, []);
23     return onlineStatus;
26 export default useOnline;