diff --git a/src/client/components/pomodoro-panel.tsx b/src/client/components/pomodoro-panel.tsx index c2d0635..f2e6979 100644 --- a/src/client/components/pomodoro-panel.tsx +++ b/src/client/components/pomodoro-panel.tsx @@ -58,15 +58,6 @@ export function PomodoroPanel() { // Flowtime uses a per-interval stopwatch; total elapsed work is displayed separately below. const stopwatchSeconds = state.flowtimeWorkSeconds - // Don't render when no session is active - if (state.status === 'idle' && state.taskId === null) return null - - const isFlowtime = state.mode === 'flowtime' - const isFlowtimeWork = isFlowtime && state.phase === 'work' - const showFlowtimeRestSelector = isFlowtimeWork && state.status === 'paused' - const showModeChangeResetHint = - state.status === 'paused' && modeAtPauseStart !== null && state.mode !== modeAtPauseStart - useEffect(() => { if (state.status !== 'paused') { setModeAtPauseStart(null) @@ -76,6 +67,15 @@ export function PomodoroPanel() { setModeAtPauseStart((prev) => prev ?? state.mode) }, [state.mode, state.status]) + // Don't render when no session is active + if (state.status === 'idle' && state.taskId === null) return null + + const isFlowtime = state.mode === 'flowtime' + const isFlowtimeWork = isFlowtime && state.phase === 'work' + const showFlowtimeRestSelector = isFlowtimeWork && state.status === 'paused' + const showModeChangeResetHint = + state.status === 'paused' && modeAtPauseStart !== null && state.mode !== modeAtPauseStart + const timeDisplay = isFlowtimeWork ? formatSeconds(stopwatchSeconds) // Stopwatch counts up : state.secondsRemaining !== null