From 80d9af42b503b2a14962e43332d58e305ef7787a Mon Sep 17 00:00:00 2001 From: Andrii Arsenin Date: Tue, 14 Apr 2026 19:24:13 +0300 Subject: [PATCH] fix: add save session checkbox to run modal on scenarios list page - add saveSessionFlag state to ScenariosPage - pass saveSessionFlag to scenarios.run() call - render save session checkbox in run modal when envs are available - reset saveSessionFlag after scenario run completes --- client/src/pages/scenario/ScenariosPage.tsx | 27 +++++++++++++++------ 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/client/src/pages/scenario/ScenariosPage.tsx b/client/src/pages/scenario/ScenariosPage.tsx index 46b8533..e29f202 100644 --- a/client/src/pages/scenario/ScenariosPage.tsx +++ b/client/src/pages/scenario/ScenariosPage.tsx @@ -29,6 +29,7 @@ export function ScenariosPage() { const [deleting, setDeleting] = useState(false); const [runScenarioId, setRunScenarioId] = useState(null); const [running, setRunning] = useState(false); + const [saveSessionFlag, setSaveSessionFlag] = useState(false); const [envs, setEnvs] = useState([]); const [selectedEnvId, setSelectedEnvId] = useState(''); @@ -59,10 +60,11 @@ export function ScenariosPage() { if (!runScenarioId || !selectedEnvId) return; setRunning(true); try { - const run = await scenarios.run(runScenarioId, selectedEnvId); + const run = await scenarios.run(runScenarioId, selectedEnvId, saveSessionFlag); toast.success('Scenario run started'); navigate(`/scenarios/${runScenarioId}/runs/${run.id}`); setRunScenarioId(null); + setSaveSessionFlag(false); } catch (err) { toast.error((err as Error).message); } finally { @@ -208,12 +210,23 @@ export function ScenariosPage() { {envs.length === 0 ? (

{t('scenarios.run_modal_no_env')}

) : ( - setSelectedEnvId(e.target.value)} + options={envs.map((env) => ({ value: env.id, label: env.name }))} + /> + + )}