refactor(state): address review recommendations for store and prefs

This commit is contained in:
ginnoir
2026-06-11 21:14:04 -05:00
parent 09e2d06b87
commit adf730702d
3 changed files with 8 additions and 14 deletions
+6 -6
View File
@@ -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);
});
});
});
-6
View File
@@ -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', () => {
+2 -2
View File
@@ -39,7 +39,7 @@ export interface GameStoreState extends GameView {
toggleActionGroupCollapsed: (groupKey: string) => void;
}
export const useGameStore = create<GameStoreState>((set) => ({
export const useGameStore = create<GameStoreState>((set, get) => ({
resources: [],
activeActionId: null,
actionName: null,
@@ -70,7 +70,7 @@ export const useGameStore = create<GameStoreState>((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],