diff --git a/src/pages/MonitoringPage/MonitoringPage.module.css b/src/pages/MonitoringPage/MonitoringPage.module.css index 5f23eea..183fe4b 100644 --- a/src/pages/MonitoringPage/MonitoringPage.module.css +++ b/src/pages/MonitoringPage/MonitoringPage.module.css @@ -77,11 +77,6 @@ color: white; } -.restartPhase{ - background-color: rgb(255, 123, 0); - color: white; -} - .restartExperiment{ background-color: red; color: white; diff --git a/src/pages/MonitoringPage/MonitoringPage.tsx b/src/pages/MonitoringPage/MonitoringPage.tsx index cd7f95e..3b79df9 100644 --- a/src/pages/MonitoringPage/MonitoringPage.tsx +++ b/src/pages/MonitoringPage/MonitoringPage.tsx @@ -1,4 +1,4 @@ -import React, { useCallback, useRef, useState } from 'react'; +import React, { useCallback, useState } from 'react'; import styles from './MonitoringPage.module.css'; // Store & API @@ -52,16 +52,12 @@ function useExperimentLogic() { const [phaseIndex, setPhaseIndex] = useState(0); const [isFinished, setIsFinished] = useState(false); - // Ref to suppress stream updates during the "Reset Phase" fast-forward sequence - const suppressUpdates = useRef(false); - const phaseIds = getPhaseIds(); const phaseNames = getPhaseNames(); // --- Stream Handlers --- const handleStreamUpdate = useCallback((data: ExperimentStreamData) => { - if (suppressUpdates.current) return; if (data.type === 'phase_update' && data.id) { const payload = data as PhaseUpdate; console.log(`${data.type} received, id : ${data.id}`); @@ -105,7 +101,6 @@ function useExperimentLogic() { }, [getPhaseIds, getGoalsInPhase, phaseIds, phaseIndex, phaseNames]); const handleStatusUpdate = useCallback((data: unknown) => { - if (suppressUpdates.current) return; const payload = data as CondNormsStateUpdate; if (payload.type !== 'cond_norms_state_update') return; @@ -145,7 +140,7 @@ function useExperimentLogic() { } }, [setProgramState]); - const handleControlAction = async (action: "pause" | "play" | "nextPhase" | "resetPhase") => { + const handleControlAction = async (action: "pause" | "play" | "nextPhase") => { try { setLoading(true); switch (action) { @@ -160,30 +155,6 @@ function useExperimentLogic() { case "nextPhase": await nextPhase(); break; - case "resetPhase": - //make sure you don't see the phases pass to arrive back at current phase - suppressUpdates.current = true; - - const targetIndex = phaseIndex; - console.log(`Resetting phase: Restarting and skipping to index ${targetIndex}`); - const phases = graphReducer(); - setProgramState({ phases }); - - setActiveIds({}); - setPhaseIndex(0); // Visually reset to start - setGoalIndex(0); - setIsFinished(false); - - // Restart backend - await runProgramm(); - for (let i = 0; i < targetIndex; i++) { - console.log(`Skipping phase ${i}...`); - await nextPhase(); - } - suppressUpdates.current = false; - setPhaseIndex(targetIndex); - setIsPlaying(true); //Maybe you pause and then reset - break; } } catch (err) { console.error(err); @@ -251,7 +222,7 @@ function ControlPanel({ }: { loading: boolean, isPlaying: boolean, - onAction: (a: "pause" | "play" | "nextPhase" | "resetPhase") => void, + onAction: (a: "pause" | "play" | "nextPhase") => void, onReset: () => void }) { return ( @@ -276,12 +247,6 @@ function ControlPanel({ disabled={loading} >⏭ - -