@@ -3,8 +3,8 @@ import { Box, Button, Spinner, useToast } from '@chakra-ui/react'
33import { getAccessToken , saveAuthCode , handleInitialLogin , handleLoadFrom , handleLogin , handleLogout } from "./helpers/auth" ;
44import { loadContextmenu } from "./helpers/windowhelper" ;
55import TaskPage from "./components/TaskPage" ;
6- import { useRecoilState , useRecoilValue } from "recoil" ;
7- import { attemptLoginState , attemptLogoutState , authLoadingState , loggedInSelector , messageState } from "./config/states" ;
6+ import { useRecoilRefresher_UNSTABLE , useRecoilState , useRecoilValue , useSetRecoilState } from "recoil" ;
7+ import { attemptLoginState , attemptLogoutState , authLoadingState , isOnlineSelector , loggedInSelector , messageState } from "./config/states" ;
88import Header from "./components/ui/Header" ;
99import { listen_for_auth_code } from "./helpers/eventlistner" ;
1010
@@ -17,13 +17,16 @@ function App() {
1717 const [ attemptedLogin , setAttemptedLogin ] = useRecoilState < boolean > ( attemptLoginState ) ;
1818 const [ attemptedLogout , setAttemptedLogout ] = useRecoilState < boolean > ( attemptLogoutState ) ;
1919 const [ toastMessage , setToastMessage ] = useRecoilState ( messageState )
20+ const setIsOnline = useSetRecoilState ( isOnlineSelector )
21+ const refreshIsOnline = ( ) => setIsOnline ( ( ) => navigator . onLine )
2022
2123 // error message toast
2224 const toast = useToast ( )
2325
2426
2527 useEffect ( ( ) => {
2628 if ( toastMessage ) {
29+ toast . closeAll ( )
2730 toast ( {
2831 title : toastMessage . title ,
2932 description : toastMessage . body ,
@@ -98,6 +101,27 @@ function App() {
98101 } , [ ] )
99102
100103
104+ // updating the isonline value every 5 mins
105+ window . addEventListener ( 'online' , ( ) => {
106+ setToastMessage ( {
107+ title : "Network Changed" ,
108+ body : "Internet restored" ,
109+ type : "success" ,
110+ } )
111+ refreshIsOnline ( )
112+ } )
113+
114+ window . addEventListener ( 'offline' , ( ) => {
115+ setToastMessage ( {
116+ title : "Network Changed" ,
117+ body : "No internet" ,
118+ type : "error" ,
119+ } )
120+ refreshIsOnline ( )
121+ } )
122+
123+
124+
101125
102126
103127
0 commit comments