Newer
Older
import { useState, useEffect } from 'react'
import { BrowserRouter } from 'react-router-dom'
import Layout from './components/Layout/Layout'
import Routes from './components/Routes/Routes'
import { useAuth } from './hooks/useAuth'
import { UserContext } from './hooks/userContext'
const { loginUser, error, isUserLogged, getUser, logoutUser } = useAuth()
const [isLogged, setisLogged] = useState<boolean>(false)
const [user, setuser] = useState<User>()
useEffect(() => {
let subscribed = true
async function checkIsLogged() {
const userLogged = await isUserLogged()
if (userLogged) {
setisLogged(true)
setuser(getUser() as User)
} else setisLogged(false)
}
if (subscribed) checkIsLogged()
return () => {
subscribed = false
}
}, [isLogged])
<UserContext.Provider
value={{ user, loginUser, error, isLogged, logoutUser, setisLogged }}
>
<Layout>
<Routes />
</Layout>
</UserContext.Provider>