revert try to do better
This commit is contained in:
2026-01-29 12:43:22 +00:00
parent 75fa8bd4e2
commit c7b9a14ff6
60 changed files with 1255 additions and 5336 deletions

View File

@@ -7,18 +7,6 @@ const getStoredPreferences = () => {
return { theme, locale };
};
interface CacheEntry<T> {
data: T;
timestamp: number;
}
interface CacheState {
categories: Map<number, CacheEntry<Category[]>>;
members: Map<number, CacheEntry<FamilyMember[]>>;
}
const CACHE_TTL = 5 * 60 * 1000;
interface AppState {
user: User | null;
isAuthenticated: boolean;
@@ -28,7 +16,6 @@ interface AppState {
categories: Category[];
familyMembers: FamilyMember[];
preferences: { theme: Theme; locale: Locale };
cache: CacheState;
setUser: (user: User | null) => void;
setIsLoading: (loading: boolean) => void;
@@ -38,15 +25,9 @@ interface AppState {
setFamilyMembers: (members: FamilyMember[]) => void;
setPreferences: (prefs: Partial<{ theme: Theme; locale: Locale }>) => void;
logout: () => void;
getCachedCategories: (familyId: number) => Category[] | null;
setCachedCategories: (familyId: number, categories: Category[]) => void;
getCachedMembers: (familyId: number) => FamilyMember[] | null;
setCachedMembers: (familyId: number, members: FamilyMember[]) => void;
clearCache: () => void;
}
export const useStore = create<AppState>((set, get) => ({
export const useStore = create<AppState>((set) => ({
user: null,
isAuthenticated: false,
isLoading: true,
@@ -55,10 +36,6 @@ export const useStore = create<AppState>((set, get) => ({
categories: [],
familyMembers: [],
preferences: getStoredPreferences(),
cache: {
categories: new Map(),
members: new Map(),
},
setUser: (user) => set({ user, isAuthenticated: !!user }),
@@ -79,59 +56,6 @@ export const useStore = create<AppState>((set, get) => ({
return { preferences: newPrefs };
}),
getCachedCategories: (familyId: number) => {
const cached = get().cache.categories.get(familyId);
if (!cached) return null;
if (Date.now() - cached.timestamp > CACHE_TTL) {
set((state) => {
const newCache = { ...state.cache };
newCache.categories.delete(familyId);
return { cache: newCache };
});
return null;
}
return cached.data;
},
setCachedCategories: (familyId: number, categories: Category[]) => {
set((state) => {
const newCache = { ...state.cache };
newCache.categories.set(familyId, { data: categories, timestamp: Date.now() });
return { cache: newCache };
});
},
getCachedMembers: (familyId: number) => {
const cached = get().cache.members.get(familyId);
if (!cached) return null;
if (Date.now() - cached.timestamp > CACHE_TTL) {
set((state) => {
const newCache = { ...state.cache };
newCache.members.delete(familyId);
return { cache: newCache };
});
return null;
}
return cached.data;
},
setCachedMembers: (familyId: number, members: FamilyMember[]) => {
set((state) => {
const newCache = { ...state.cache };
newCache.members.set(familyId, { data: members, timestamp: Date.now() });
return { cache: newCache };
});
},
clearCache: () => {
set((state) => ({
cache: {
categories: new Map(),
members: new Map(),
},
}));
},
logout: () => set({
user: null,
isAuthenticated: false,
@@ -139,9 +63,5 @@ export const useStore = create<AppState>((set, get) => ({
families: [],
categories: [],
familyMembers: [],
cache: {
categories: new Map(),
members: new Map(),
},
}),
}));