remove token on remember
This commit is contained in:
parent
1d86086b7e
commit
bd7da9bed7
2 changed files with 18 additions and 4 deletions
|
|
@ -1,4 +1,5 @@
|
|||
import { createContext, useContext, useEffect, useState } from 'react';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
|
||||
import { remember } from 'services/userServices';
|
||||
|
||||
|
|
@ -7,12 +8,17 @@ const initialUserData = { loading: true };
|
|||
const UserContext = createContext();
|
||||
|
||||
export default function UserProvider({ children }) {
|
||||
const [userData, setUserData] = useState(initialUserData);
|
||||
const [userData, setUserData] = useState(initialUserData)
|
||||
const navigate = useNavigate();
|
||||
|
||||
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
const loadUserData = async () => {
|
||||
const { user } = await remember();
|
||||
setUserData(user || { loading: false });
|
||||
const { user, error } = await remember();
|
||||
if (error) navigate('/users/login')
|
||||
else setUserData(user || { loading: false });
|
||||
};
|
||||
if (userData.loading) loadUserData();
|
||||
}, [userData.loading]);
|
||||
|
|
|
|||
|
|
@ -53,7 +53,15 @@ const updateUser = async (data) => callUsersAPI('patch', ``, data);
|
|||
|
||||
const register = async (data) => callUsersAPI('post', ``, data);
|
||||
|
||||
const remember = async () => callUsersAPI('get', `/remember`);
|
||||
const remember = async () => {
|
||||
if (Cookies.get('token')) {
|
||||
const { user, error } = await callUsersAPI('get', `/remember`);
|
||||
if (user)
|
||||
return { user };
|
||||
Cookies.remove('token');
|
||||
return { error }
|
||||
}
|
||||
}
|
||||
|
||||
const requestReset = async (data) => callUsersAPI('post', `/reset`, data);
|
||||
|
||||
|
|
|
|||
Reference in a new issue