mirror of
https://github.com/makeplane/plane.git
synced 2025-12-21 06:09:31 +01:00
23 lines
627 B
TypeScript
23 lines
627 B
TypeScript
|
|
import { useState, useEffect } from "react";
|
||
|
|
|
||
|
|
const useOnlineStatus = () => {
|
||
|
|
// states
|
||
|
|
const [isOnline, setIsOnline] = useState(typeof navigator !== "undefined" ? navigator.onLine : true);
|
||
|
|
|
||
|
|
const updateOnlineStatus = () => setIsOnline(navigator.onLine);
|
||
|
|
|
||
|
|
useEffect(() => {
|
||
|
|
window.addEventListener("online", updateOnlineStatus);
|
||
|
|
window.addEventListener("offline", updateOnlineStatus);
|
||
|
|
|
||
|
|
return () => {
|
||
|
|
window.removeEventListener("online", updateOnlineStatus);
|
||
|
|
window.removeEventListener("offline", updateOnlineStatus);
|
||
|
|
};
|
||
|
|
}, []);
|
||
|
|
|
||
|
|
return { isOnline };
|
||
|
|
};
|
||
|
|
|
||
|
|
export default useOnlineStatus;
|