VORKOUT-6 #11

Merged
vlad.dev merged 15 commits from VORKOUT-6 into master 2025-06-16 16:34:25 +05:00
9 changed files with 941 additions and 4 deletions
Showing only changes of commit d7a5109d8e - Show all commits

36
client/src/store/user.ts Normal file
View File

@@ -0,0 +1,36 @@
import { create } from 'zustand';
import { devtools, persist } from 'zustand/middleware';
import { User } from '../types/user';
const userInfo = localStorage.getItem('userInfo');
type UserStoreState = {
user: User;
loading: boolean;
};
type UserStoreActions = {
setUser: (user: User) => void;
};
type UserStore = UserStoreState & UserStoreActions;
export const useUserStore = create<UserStore>()(
devtools(
persist(
(set, get) => ({
user: userInfo != null ? JSON.parse(userInfo) : ({} as User),
loading: false,
setUser: (user: User) => set({ user }),
}),
{ name: 'userInfo' }
)
)
);
export const useUserSelector = () => {
return useUserStore((state) => state.user);
};
export const useSetUserSelector = () => {
return useUserStore((state) => state.setUser);
};