File size: 1,339 Bytes
c2efbe6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | import { toast } from 'react-toastify';
export const performLogout = async (dispatch, logoutAPI, logout, resetApiState) => {
try {
if (logoutAPI) {
await logoutAPI().unwrap();
}
localStorage.removeItem("userData");
localStorage.removeItem("userdata");
sessionStorage.clear();
if (dispatch && logout) {
dispatch(logout());
}
if (dispatch && resetApiState) {
dispatch(resetApiState());
}
window.location.href = "/";
toast.success("Logged out successfully!");
} catch (error) {
console.error('Logout error:', error);
localStorage.removeItem("userData");
localStorage.removeItem("userdata");
sessionStorage.clear();
if (dispatch && logout) {
dispatch(logout());
}
if (dispatch && resetApiState) {
dispatch(resetApiState());
}
window.location.href = "/";
toast.success("Logged out successfully!");
}
};
export const isAuthenticated = () => {
const userData = localStorage.getItem('userData');
return !!userData;
};
export const getUserData = () => {
const userData = localStorage.getItem('userData');
return userData ? JSON.parse(userData) : null;
};
export const clearAuthData = () => {
localStorage.removeItem("userData");
localStorage.removeItem("userdata");
sessionStorage.clear();
}; |