const tokenKey = "token"; export const setUser = (user) => { if (user && user.token) { window.localStorage.setItem(tokenKey, JSON.stringify(user)); } else { window.localStorage.removeItem(tokenKey); } } export const getAccessToken = () => { let result = window.localStorage.getItem(tokenKey); if (!result) { return ""; } const user = JSON.parse(result); return `Bearer ${user.token}`; } export const getRawToken = () => { let result = window.localStorage.getItem(tokenKey); if (!result) { return null; } return JSON.parse(result).token || null; } export const getUser = () => { let result = window.localStorage.getItem(tokenKey); if (!result) { return null; } return JSON.parse(result); } export const removeToken = () => { window.localStorage.removeItem(tokenKey); } export const isAuthenticated = () => { const token = getRawToken(); if (!token) return false; try { const payload = JSON.parse(atob(token.split(".")[1])); return new Date(payload.exp * 1000) > new Date(); } catch (e) { return false; } }