Skip to content

Commit 5cec347

Browse files
committed
Refactor session state management in SessionBar and streamline layout rendering in GenerativeContent
1 parent 9965e96 commit 5cec347

2 files changed

Lines changed: 21 additions & 25 deletions

File tree

DashAI/front/src/components/generative/SessionBar.jsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,16 @@ export default function SessionBar({ onToggle }) {
4747
),
4848
),
4949
];
50-
const initialOpenState = {};
51-
uniqueDisplayNames.forEach((displayName) => {
52-
initialOpenState[displayName] = false;
53-
});
5450
setOpenSections((prev) => {
55-
// Only update if display names have changed
5651
const prevKeys = Object.keys(prev).sort().join(",");
57-
const newKeys = Object.keys(initialOpenState).sort().join(",");
52+
const newKeys = uniqueDisplayNames.slice().sort().join(",");
5853
if (prevKeys === newKeys) return prev;
59-
return initialOpenState;
54+
// Preserve existing open/close state; initialize new keys as closed
55+
const merged = {};
56+
uniqueDisplayNames.forEach((displayName) => {
57+
merged[displayName] = displayName in prev ? prev[displayName] : false;
58+
});
59+
return merged;
6060
});
6161
}, [sessions, tasks]);
6262

DashAI/front/src/pages/generative/GenerativeContent.jsx

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -97,23 +97,19 @@ export default function GenerativeContent() {
9797
return <ParamsBar onToggle={threePanelLayout.handleToggleRight} />;
9898
};
9999

100-
const layout = (
101-
<ThreePanelLayoutContext.Provider value={threePanelLayout}>
102-
<ModuleContainer>
103-
<LeftPanel data-tour="sessions-left-panel">
104-
<SessionBar onToggle={threePanelLayout.handleToggleLeft} />
105-
</LeftPanel>
106-
<CenterPanel>{renderCenter()}</CenterPanel>
107-
<RightPanel toggleButtonTop="50%" data-tour="parameters-right-panel">
108-
{renderRight()}
109-
</RightPanel>
110-
</ModuleContainer>
111-
</ThreePanelLayoutContext.Provider>
112-
);
113-
114-
return isCreating ? (
115-
<CreateSessionProvider>{layout}</CreateSessionProvider>
116-
) : (
117-
layout
100+
return (
101+
<CreateSessionProvider>
102+
<ThreePanelLayoutContext.Provider value={threePanelLayout}>
103+
<ModuleContainer>
104+
<LeftPanel data-tour="sessions-left-panel">
105+
<SessionBar onToggle={threePanelLayout.handleToggleLeft} />
106+
</LeftPanel>
107+
<CenterPanel>{renderCenter()}</CenterPanel>
108+
<RightPanel toggleButtonTop="50%" data-tour="parameters-right-panel">
109+
{renderRight()}
110+
</RightPanel>
111+
</ModuleContainer>
112+
</ThreePanelLayoutContext.Provider>
113+
</CreateSessionProvider>
118114
);
119115
}

0 commit comments

Comments
 (0)