22 lines
655 B
TypeScript
22 lines
655 B
TypeScript
import { create } from "zustand";
|
|
import { getToken, removeRefreshToken, removeToken } from "./func";
|
|
import { useAuthStore } from "@/pages/auth/store/AuthStore";
|
|
|
|
type SessionAuthStore = {
|
|
isAuthenticated: boolean;
|
|
setAuthenticated: (value: boolean) => void;
|
|
clearSession: () => void;
|
|
};
|
|
|
|
export const useSessionAuth = create<SessionAuthStore>((set) => ({
|
|
isAuthenticated: !!getToken(),
|
|
setAuthenticated: (value) => set({ isAuthenticated: value }),
|
|
clearSession: () => {
|
|
removeToken();
|
|
removeRefreshToken();
|
|
window.isRefreshTokenExpired = false;
|
|
useAuthStore.getState().reset();
|
|
set({ isAuthenticated: false });
|
|
},
|
|
}));
|