diff --git a/client/src/store/authStore.ts b/client/src/store/authStore.ts new file mode 100644 index 0000000..4d586c2 --- /dev/null +++ b/client/src/store/authStore.ts @@ -0,0 +1,18 @@ +import { create } from 'zustand'; +import { devtools } from 'zustand/middleware'; + +type AuthState = { + accessToken: string | null; + setAccessToken: (token: string | null) => void; +}; + +export const useAuthStore = create()( + devtools((set) => ({ + accessToken: null, + setAccessToken: (token) => set({ accessToken: token }), + })) +); + +export const useAuthSelector = () => { + return useAuthStore((state) => state.accessToken); +}; diff --git a/client/src/store/user.ts b/client/src/store/userStore.ts similarity index 80% rename from client/src/store/user.ts rename to client/src/store/userStore.ts index 137d3e8..667d4aa 100644 --- a/client/src/store/user.ts +++ b/client/src/store/userStore.ts @@ -5,13 +5,12 @@ import { User } from '../types/user'; const userInfo = localStorage.getItem('userInfo'); type UserStoreState = { - user: User; + user: User | null; loading: boolean; }; type UserStoreActions = { - setUser: (user: User) => void; - removeUser: () => void; + setUser: (user: User | null) => void; }; type UserStore = UserStoreState & UserStoreActions; @@ -22,8 +21,7 @@ export const useUserStore = create()( (set, get) => ({ user: userInfo != null ? JSON.parse(userInfo) : ({} as User), loading: false, - setUser: (user: User) => set({ user }), - removeUser: () => set({ user: {} as User }), + setUser: (user: User | null) => set({ user }), }), { name: 'userInfo' } )