refactor: timer update

This commit is contained in:
Carlos Valente
2024-07-16 21:29:31 +02:00
committed by Carlos Valente
parent cb773ded9f
commit edc7f20d7a
7 changed files with 195 additions and 397 deletions
@@ -7,18 +7,27 @@ export enum TimerPhase {
Warning = 'warning',
Danger = 'danger',
Overtime = 'overtime',
Pending = 'pending', // used for waiting to roll
/** used for waiting to roll */
Pending = 'pending',
}
export type TimerState = {
addedTime: number; // time added by user, can be negative
current: MaybeNumber; // running countdown
duration: MaybeNumber; // normalised duration of current event
elapsed: MaybeNumber; // elapsed time in current timer
expectedFinish: MaybeNumber; // time we expect timer to finish
finishedAt: MaybeNumber; // only if timer has already finished
/** time added by user, can be negative */
addedTime: number;
/** running countdown */
current: MaybeNumber;
/** normalised duration of current event */
duration: MaybeNumber;
/** elapsed time in current timer */
elapsed: MaybeNumber;
/** time we expect timer to finish */
expectedFinish: MaybeNumber;
/** only if timer has already finished */
finishedAt: MaybeNumber;
phase: TimerPhase;
playback: Playback;
secondaryTimer: MaybeNumber; // used for roll mode
startedAt: MaybeNumber; // only if timer has already started
/** used for roll mode */
secondaryTimer: MaybeNumber;
/** only if timer has already started */
startedAt: MaybeNumber;
};