changed sequence of completion logic

This commit is contained in:
Chris Sanden
2026-05-05 21:54:32 +02:00
parent ac6bfa1022
commit 66efbecf2f
2 changed files with 45 additions and 6 deletions

View File

@@ -364,7 +364,7 @@ export default function TimerScreen() {
[pressedButtonAnimation]
);
const resetSessionValues = React.useCallback(() => {
const resetSessionValues = React.useCallback((options?: { preservePostSessionPrompt?: boolean }) => {
sessionStartedAtRef.current = null;
sessionDurationMsRef.current = 0;
cancelHoldActiveRef.current = false;
@@ -376,7 +376,9 @@ export default function TimerScreen() {
setTimerOverlayVisible(false);
setTimeRemaining(0);
setCurrentSessionType(selectedSessionType);
setPostSessionPrompt(null);
if (!options?.preservePostSessionPrompt) {
setPostSessionPrompt(null);
}
setIsRunning(false);
}, [cancelOverlayAnimation, selectedSessionType, timerAnimation, timerOverlayOffscreenY]);
@@ -484,20 +486,20 @@ export default function TimerScreen() {
completedReturnTaskId
);
setIsRunning(false);
resetSessionValues();
await finalizeSprintSession('completed', completedSession);
if (isOnboardingDemo && completedSessionType === 'focus') {
resetSessionValues();
void finalizeSprintSession('completed', completedSession);
router.replace('/');
return;
}
resetSessionValues({ preservePostSessionPrompt: true });
setPostSessionPrompt({
completedSessionType,
returnTaskId: completedReturnTaskId,
nextBreakType,
});
void finalizeSprintSession('completed', completedSession);
})();
});
});