mirror of
https://gitlab.com/megazordpobeda/DataRush.git
synced 2026-05-23 08:37:09 +00:00
Merge branch 'master' of gitlab.prodcontest.ru:team-15/project
This commit is contained in:
@@ -1,12 +1,14 @@
|
||||
import { create } from "zustand";
|
||||
import { User } from "../types/user";
|
||||
import { getCurrentUser } from "../api/user";
|
||||
import Cookies from "js-cookie";
|
||||
|
||||
interface UserState {
|
||||
user: User | null;
|
||||
loading: boolean;
|
||||
|
||||
fetchUser: () => Promise<void>;
|
||||
clearUser: () => void;
|
||||
}
|
||||
|
||||
const useUserStore = create<UserState>((set) => ({
|
||||
@@ -18,6 +20,16 @@ const useUserStore = create<UserState>((set) => ({
|
||||
const user = await getCurrentUser();
|
||||
set({ user, loading: false });
|
||||
},
|
||||
|
||||
clearUser: () => {
|
||||
set({ user: null });
|
||||
|
||||
const cookies = Cookies.get();
|
||||
Object.keys(cookies).forEach(cookieName => {
|
||||
Cookies.remove(cookieName, { path: '/' });
|
||||
Cookies.remove(cookieName);
|
||||
});
|
||||
},
|
||||
}));
|
||||
|
||||
export { useUserStore };
|
||||
export { useUserStore };
|
||||
Reference in New Issue
Block a user