This commit is contained in:
arrelin
2026-01-17 10:15:44 +03:00
parent 564adac629
commit a4b06fb057
26 changed files with 1542 additions and 346 deletions

View File

@@ -1,13 +1,16 @@
import { create } from 'zustand';
import type { Family, Category } from '../types';
import type { Family, Category, User } from '../types';
interface AppState {
isAdmin: boolean;
user: User | null;
isAuthenticated: boolean;
isLoading: boolean;
selectedFamily: Family | null;
families: Family[];
categories: Category[];
setIsAdmin: (isAdmin: boolean) => void;
setUser: (user: User | null) => void;
setIsLoading: (loading: boolean) => void;
setSelectedFamily: (family: Family | null) => void;
setFamilies: (families: Family[]) => void;
setCategories: (categories: Category[]) => void;
@@ -15,12 +18,16 @@ interface AppState {
}
export const useStore = create<AppState>((set) => ({
isAdmin: false,
user: null,
isAuthenticated: false,
isLoading: true,
selectedFamily: null,
families: [],
categories: [],
setIsAdmin: (isAdmin) => set({ isAdmin }),
setUser: (user) => set({ user, isAuthenticated: !!user }),
setIsLoading: (isLoading) => set({ isLoading }),
setSelectedFamily: (family) => set({ selectedFamily: family }),
@@ -29,7 +36,8 @@ export const useStore = create<AppState>((set) => ({
setCategories: (categories) => set({ categories }),
logout: () => set({
isAdmin: false,
user: null,
isAuthenticated: false,
selectedFamily: null,
families: [],
categories: []