focalxaiinspection
Version:
Focalx AI Inspection
32 lines (25 loc) • 773 B
JavaScript
import { useState, useEffect } from 'react';
import { useNavigate } from 'react-router-dom';
function useToken() {
const navigate = useNavigate();
const [token, setToken] = useState(sessionStorage.getItem('token'));
function updateToken(newToken) {
setToken(newToken);
sessionStorage.setItem('token', newToken);
}
useEffect(() => {
const storedToken = sessionStorage.getItem('token');
if (storedToken !== token) {
setToken(storedToken);
}
}, []);
function logout() {
console.log('logout called');
setToken(null);
sessionStorage.removeItem('token');
console.log("Navigating to /login");
navigate('/login');
}
return [token, updateToken, logout];
}
export default useToken;