oauth2
This commit is contained in:
@@ -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: []
|
||||
|
||||
Reference in New Issue
Block a user