Preserve stat block panel collapsed state on turn advance

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Lukas
2026-03-17 23:23:52 +01:00
parent 2971898f0c
commit 7f38cbab73
2 changed files with 8 additions and 2 deletions

View File

@@ -210,9 +210,9 @@ export function App() {
encounter.combatants[encounter.activeIndex]?.creatureId;
useEffect(() => {
if (activeCreatureId && sidePanel.panelView.mode === "creature") {
sidePanel.showCreature(activeCreatureId);
sidePanel.updateCreature(activeCreatureId);
}
}, [activeCreatureId, sidePanel.panelView.mode, sidePanel.showCreature]);
}, [activeCreatureId, sidePanel.panelView.mode, sidePanel.updateCreature]);
// Auto-scroll to the active combatant when the turn changes
const activeRowRef = useRef<HTMLDivElement>(null);

View File

@@ -19,6 +19,7 @@ interface SidePanelState {
interface SidePanelActions {
showCreature: (creatureId: CreatureId) => void;
updateCreature: (creatureId: CreatureId) => void;
showBulkImport: () => void;
showSourceManager: () => void;
dismissPanel: () => void;
@@ -52,6 +53,10 @@ export function useSidePanelState(): SidePanelState & SidePanelActions {
setIsRightPanelCollapsed(false);
}, []);
const updateCreature = useCallback((creatureId: CreatureId) => {
setPanelView({ mode: "creature", creatureId });
}, []);
const showBulkImport = useCallback(() => {
setPanelView({ mode: "bulk-import" });
setIsRightPanelCollapsed(false);
@@ -91,6 +96,7 @@ export function useSidePanelState(): SidePanelState & SidePanelActions {
pinnedCreatureId,
isWideDesktop,
showCreature,
updateCreature,
showBulkImport,
showSourceManager,
dismissPanel,