refactor(lst): refactor to monolithic completed
This commit is contained in:
36
frontend/src/lib/store/sessionStore.ts
Normal file
36
frontend/src/lib/store/sessionStore.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import {create} from "zustand";
|
||||
|
||||
// type User = {
|
||||
// id: number;
|
||||
// username: string;
|
||||
// };
|
||||
|
||||
type SessionState = {
|
||||
//user: User | null;
|
||||
token: string | null;
|
||||
setSession: (token: string) => void;
|
||||
clearSession: () => void;
|
||||
};
|
||||
|
||||
export const useSessionStore = create<SessionState>((set) => {
|
||||
// Initialize from localStorage
|
||||
//const storedUser = localStorage.getItem("user");
|
||||
const storedToken = localStorage.getItem("auth_token");
|
||||
|
||||
return {
|
||||
//user: storedUser ? JSON.parse(storedUser) : null,
|
||||
token: storedToken || null,
|
||||
|
||||
setSession: (token) => {
|
||||
localStorage.setItem("auth_token", token);
|
||||
//localStorage.setItem("user", JSON.stringify(user));
|
||||
set({token});
|
||||
},
|
||||
|
||||
clearSession: () => {
|
||||
localStorage.removeItem("auth_token");
|
||||
//localStorage.removeItem("user");
|
||||
set({token: null});
|
||||
},
|
||||
};
|
||||
});
|
||||
Reference in New Issue
Block a user