diff --git a/packages/react-radfish/Application/index.jsx b/packages/react-radfish/Application/index.jsx index a32dd9e6..3a12a32d 100644 --- a/packages/react-radfish/Application/index.jsx +++ b/packages/react-radfish/Application/index.jsx @@ -1,5 +1,5 @@ import { Toast } from "../alerts"; -import { createContext, useEffect, useContext } from "react"; +import { createContext, useEffect, useContext, useRef } from "react"; import { useOfflineStatus, useToasts, dispatchToast } from "../hooks"; const ApplicationContext = createContext(); @@ -7,11 +7,15 @@ const ApplicationContext = createContext(); function ApplicationComponent(props) { const { toasts } = useToasts(); const { isOffline } = useOfflineStatus(); + const prevIsOffline = useRef(null); useEffect(() => { - if (!isOffline) { + if (prevIsOffline.current === null) { + prevIsOffline.current = isOffline; + } else if (prevIsOffline.current && !isOffline) { dispatchToast({ message: "Application is online", status: "info", duration: 3000 }); } + prevIsOffline.current = isOffline; }, [isOffline]); return (