From bebde59147d807b272e3a184c4a46050422f1dad Mon Sep 17 00:00:00 2001 From: Sidney Alcantara Date: Wed, 12 Oct 2022 10:45:41 +1100 Subject: [PATCH] =?UTF-8?q?fix=20useOffline=20having=20incorrect=20state?= =?UTF-8?q?=20when=20listener=20isn=E2=80=99t=20fired?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/useOffline.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/hooks/useOffline.ts b/src/hooks/useOffline.ts index f5f09ce3..ad5cb199 100644 --- a/src/hooks/useOffline.ts +++ b/src/hooks/useOffline.ts @@ -1,11 +1,14 @@ import { useState, useEffect } from "react"; export default function useOffline() { - const [isOffline, setIsOffline] = useState(true); + const [isOffline, setIsOffline] = useState(false); const handleOffline = () => setIsOffline(true); const handleOnline = () => setIsOffline(false); useEffect(() => { + // Need to set here because the listener doesn’t fire on initial load + setIsOffline(!window.navigator.onLine); + window.addEventListener("offline", handleOffline); window.addEventListener("online", handleOnline);