make removeSession flexible to clear local, session, or both

This commit is contained in:
pramod.mahajan 2025-10-05 00:21:19 +05:30
parent 638c033705
commit 0fec257354
3 changed files with 18 additions and 8 deletions

View File

@ -6,6 +6,7 @@ import { useForm } from "react-hook-form";
import { zodResolver } from "@hookform/resolvers/zod";
import { z } from "zod";
import { AuthWrapper } from "./AuthWrapper";
import { removeSession } from "../../utils/authUtils";
const LoginPage = () => {
const navigate = useNavigate();
@ -44,9 +45,11 @@ const LoginPage = () => {
if (data.rememberMe) {
localStorage.setItem("jwtToken", response.data.token);
localStorage.setItem("refreshToken", response.data.refreshToken);
removeSession("session")
} else {
sessionStorage.setItem("jwtToken", response.data.token);
sessionStorage.setItem("refreshToken", response.data.refreshToken);
removeSession("local")
}
setLoading(false);
navigate("/auth/switch/org");

View File

@ -59,7 +59,7 @@ const attemptTokenRefresh = async (storedRefreshToken) => {
return true;
} catch (error) {
removeSession()
return false;
}
};

View File

@ -1,7 +1,14 @@
export const removeSession = () => {
localStorage.removeItem("jwtToken");
localStorage.removeItem("refreshToken");
sessionStorage.removeItem("jwtToken");
sessionStorage.removeItem("refreshToken");
localStorage.removeItem("ctnt");
};
export const removeSession = (target = "all") => {
const keys = ["jwtToken", "refreshToken", "ctnt"];
if (target === "local") {
keys.forEach((key) => localStorage.removeItem(key));
} else if (target === "session") {
keys.forEach((key) => sessionStorage.removeItem(key));
} else if (target === "all") {
keys.forEach((key) => {
localStorage.removeItem(key);
sessionStorage.removeItem(key);
});
}
};