Stockage persistent des requêtes
This commit is contained in:
@ -25,8 +25,23 @@ export default function LoginProvider({ loginRedirect, children }: Props) {
|
||||
}
|
||||
})
|
||||
|
||||
// Renouvellement auto du jeton d'authentification
|
||||
useEffect(() => {
|
||||
(async () => {
|
||||
const storedName = await SecureStore.getItemAsync('apiName')
|
||||
const storedToken = await SecureStore.getItemAsync('apiToken')
|
||||
if (!auth.loggedIn && storedName !== null && storedName !== auth.name && storedToken !== auth.token) {
|
||||
authLogin({ name: storedName, token: storedToken })
|
||||
return
|
||||
}
|
||||
|
||||
// Si on est pas connecté⋅e, on reste sur la fenêtre de connexion
|
||||
if (!auth.loggedIn && route.pathname !== loginRedirect)
|
||||
router.navigate(loginRedirect)
|
||||
})()
|
||||
}, [auth, authLogin, router, route])
|
||||
|
||||
useEffect(() => {
|
||||
// Renouvellement auto du jeton d'authentification
|
||||
const { name, token } = auth
|
||||
const password = SecureStore.getItem('apiPassword')
|
||||
if (name === null || (password === null && token === null))
|
||||
@ -45,13 +60,7 @@ export default function LoginProvider({ loginRedirect, children }: Props) {
|
||||
loginMutation.mutate({ name, password })
|
||||
}, waitTime)
|
||||
return () => clearTimeout(timeout)
|
||||
}, [auth])
|
||||
|
||||
// Si on est pas connecté⋅e, on reste sur la fenêtre de connexion
|
||||
useEffect(() => {
|
||||
if (!auth.loggedIn && route.pathname !== loginRedirect)
|
||||
router.navigate(loginRedirect)
|
||||
}, [auth, route, router])
|
||||
}, [auth, authLogin])
|
||||
|
||||
return <>
|
||||
{children}
|
||||
|
Reference in New Issue
Block a user