remove token on remember

This commit is contained in:
“spicecat” 2022-08-17 20:44:21 -04:00
commit bd7da9bed7
2 changed files with 18 additions and 4 deletions

View file

@ -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]);

View file

@ -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);