Improved authentication; added fallbacks to 3D; cleaner dashboard charts

This commit is contained in:
iv_vuytsik
2025-10-22 21:28:10 +03:00
parent 34e84213c7
commit 932b16d4f4
18 changed files with 478 additions and 171 deletions

View File

@@ -1,5 +1,4 @@
import { create } from 'zustand'
import { persist } from 'zustand/middleware'
import { User, UserState } from '../types'
interface UserStore extends UserState {
@@ -16,28 +15,19 @@ interface UserStore extends UserState {
//! что пользователь может делать асинхронно?
}
const useUserStore = create<UserStore>()(
persist(
set => ({
// начальное состояние
isAuthenticated: false,
user: null,
favorites: [],
const useUserStore = create<UserStore>(set => ({
// начальное состояние
isAuthenticated: false,
user: null,
favorites: [],
// синхронные действия
setUser: user => set({ user }),
setAuthenticated: isAuthenticated => set({ isAuthenticated }),
logout: () =>
set({
isAuthenticated: false,
user: null,
}),
}),
//! асинхронщина?
{ name: 'user-store' }
)
)
// синхронные действия
setUser: user => set({ user }),
setAuthenticated: isAuthenticated => set({ isAuthenticated }),
logout: () => {
set({ isAuthenticated: false, user: null })
},
}))
export default useUserStore