From 0c207fe187d00a9d055d168f250fdcfe0d636559 Mon Sep 17 00:00:00 2001 From: LlemonDuck Date: Mon, 8 Jul 2024 18:05:40 -0400 Subject: [PATCH] debug: store accordion toggle state in prefs --- src/app/components/results/DebugPanels.tsx | 17 ++++++++++++----- src/state.tsx | 2 +- src/types/State.ts | 7 +++++++ 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/app/components/results/DebugPanels.tsx b/src/app/components/results/DebugPanels.tsx index 0483f0dba..d1dd7a68e 100644 --- a/src/app/components/results/DebugPanels.tsx +++ b/src/app/components/results/DebugPanels.tsx @@ -11,7 +11,9 @@ const DebugPanels: React.FC = observer(() => { const store = useStore(); if (!store.debug) return null; - const { calc, player, selectedLoadout } = store; + const { + calc, player, selectedLoadout, prefs, + } = store; const details: DetailEntry[] = calc.loadouts[selectedLoadout]?.details || []; const specDetails: DetailEntry[] = calc.loadouts[selectedLoadout]?.specDetails || []; const npcDetails: DetailEntry[] = calc.loadouts[selectedLoadout]?.npcDetails || []; @@ -19,6 +21,8 @@ const DebugPanels: React.FC = observer(() => { return ( <> store.updatePreferences({ debug: { itemIdsExpanded: v } })} title={(
@@ -28,7 +32,7 @@ const DebugPanels: React.FC = observer(() => {
)} > - +
@@ -50,6 +54,8 @@ const DebugPanels: React.FC = observer(() => {
Slot
store.updatePreferences({ debug: { calcDetailsExpanded: v } })} title={(
@@ -58,7 +64,6 @@ const DebugPanels: React.FC = observer(() => {
)} - defaultIsOpen > @@ -78,6 +83,8 @@ const DebugPanels: React.FC = observer(() => {
store.updatePreferences({ debug: { specDetailsExpanded: v } })} title={(
@@ -86,7 +93,6 @@ const DebugPanels: React.FC = observer(() => {
)} - defaultIsOpen={false} > @@ -106,6 +112,8 @@ const DebugPanels: React.FC = observer(() => {
store.updatePreferences({ debug: { npcDetailsExpanded: v } })} title={(
@@ -114,7 +122,6 @@ const DebugPanels: React.FC = observer(() => {
)} - defaultIsOpen={false} > diff --git a/src/state.tsx b/src/state.tsx index d92745e21..2d3ccdef0 100644 --- a/src/state.tsx +++ b/src/state.tsx @@ -518,7 +518,7 @@ class GlobalState implements State { updatePreferences(pref: PartialDeep) { // Update local state store - this.prefs = Object.assign(this.prefs, pref); + this.prefs = merge(this.prefs, pref); if (pref && Object.prototype.hasOwnProperty.call(pref, 'manualMode')) { // Reset player bonuses to their worn equipment diff --git a/src/types/State.ts b/src/types/State.ts index b054f1ff2..99ec9d407 100644 --- a/src/types/State.ts +++ b/src/types/State.ts @@ -34,6 +34,13 @@ export interface Preferences { hitDistsHideZeros: boolean; // legacy name hitDistShowSpec: boolean; resultsExpanded: boolean; + + debug?: { + itemIdsExpanded?: boolean; + calcDetailsExpanded?: boolean; + specDetailsExpanded?: boolean; + npcDetailsExpanded?: boolean; + } } export interface ChartEntry {