import { useEffect, useState } from 'react'; export function useOnline() { const [isOnline, setIsOnline] = useState( typeof navigator !== 'undefined' ? navigator.onLine : false ); const setOnline = () => setIsOnline(true); const setOffline = () => setIsOnline(false); useEffect(() => { window.addEventListener('online', setOnline); window.addEventListener('offline', setOffline); return () => { window.removeEventListener('online', setOnline); window.removeEventListener('offline', setOffline); }; }, []); return isOnline; }