Files
memind/src/hooks/useNetworkStatus.ts
T

21 lines
593 B
TypeScript
Raw Normal View History

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