From adf730702d26cce63ffad864ddf68d0fe4e08967 Mon Sep 17 00:00:00 2001 From: ginnoir Date: Thu, 11 Jun 2026 21:14:04 -0500 Subject: [PATCH] refactor(state): address review recommendations for store and prefs --- src/state/__tests__/prefs.test.ts | 12 ++++++------ src/state/__tests__/store.test.ts | 6 ------ src/state/store.ts | 4 ++-- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/state/__tests__/prefs.test.ts b/src/state/__tests__/prefs.test.ts index fd26684..7771d94 100644 --- a/src/state/__tests__/prefs.test.ts +++ b/src/state/__tests__/prefs.test.ts @@ -67,12 +67,12 @@ describe('prefs', () => { expect(localStorage.getItem('idlegame:prefs:v2')).toBeNull(); }); -}); -describe('expanded prefs', () => { - it('defaults collapsedActionGroups and showEventLog', () => { - const prefs = getPrefs(); - expect(prefs.collapsedActionGroups).toEqual({}); - expect(prefs.showEventLog).toBe(true); + describe('expanded prefs', () => { + it('defaults collapsedActionGroups and showEventLog', () => { + const prefs = getPrefs(); + expect(prefs.collapsedActionGroups).toEqual({}); + expect(prefs.showEventLog).toBe(true); + }); }); }); diff --git a/src/state/__tests__/store.test.ts b/src/state/__tests__/store.test.ts index 9a52eca..cca2040 100644 --- a/src/state/__tests__/store.test.ts +++ b/src/state/__tests__/store.test.ts @@ -34,18 +34,12 @@ describe('game store nav and prefs', () => { const state = useGameStore.getState(); state.setActivePanel('story'); expect(useGameStore.getState().activePanel).toBe('story'); - - // Reset back - useGameStore.getState().setActivePanel('play'); }); it('updates selectedStoryNodeId via setSelectedStoryNodeId', () => { const state = useGameStore.getState(); state.setSelectedStoryNodeId('node-1'); expect(useGameStore.getState().selectedStoryNodeId).toBe('node-1'); - - state.setSelectedStoryNodeId(null); - expect(useGameStore.getState().selectedStoryNodeId).toBeNull(); }); it('toggles collapsed action groups in prefs', () => { diff --git a/src/state/store.ts b/src/state/store.ts index 96c155a..297d2c0 100644 --- a/src/state/store.ts +++ b/src/state/store.ts @@ -39,7 +39,7 @@ export interface GameStoreState extends GameView { toggleActionGroupCollapsed: (groupKey: string) => void; } -export const useGameStore = create((set) => ({ +export const useGameStore = create((set, get) => ({ resources: [], activeActionId: null, actionName: null, @@ -70,7 +70,7 @@ export const useGameStore = create((set) => ({ setActivePanel: (panel) => set({ activePanel: panel }), setSelectedStoryNodeId: (id) => set({ selectedStoryNodeId: id }), toggleActionGroupCollapsed: (groupKey) => { - const currentPrefs = useGameStore.getState().prefs; + const currentPrefs = get().prefs; const nextCollapsed = { ...currentPrefs.collapsedActionGroups, [groupKey]: !currentPrefs.collapsedActionGroups[groupKey],