import { useEffect } from 'react' export const useOnline = (handler: (value: boolean) => void) => { useEffect(() => { const handleOffline = () => { handler(false) } const handleOnline = () => { handler(true) } window.addEventListener('offline', handleOffline) window.addEventListener('online', handleOnline) return () => { window.removeEventListener('offline', handleOffline) window.removeEventListener('online', handleOnline) } // eslint-disable-next-line react-hooks/exhaustive-deps }, []) }