Opzet businesslogica opzetten focus-stats
This commit is contained in:
@@ -1,7 +1,49 @@
|
||||
import {FocusState} from "./focus-state";
|
||||
import {state} from "@angular/animations";
|
||||
|
||||
export class FocusStats {
|
||||
focusCycles: number = 0;
|
||||
focusMinutes: number = 0;
|
||||
shortBreakCycles: number = 0;
|
||||
longBreakCycles: number = 0;
|
||||
breakMinutes: number = 0;
|
||||
private _focusCycles: number = 0;
|
||||
private _focusTimeInMs: number = 0;
|
||||
private _shortBreakCycles: number = 0;
|
||||
private _longBreakCycles: number = 0;
|
||||
private _breakTimeInMs: number = 0;
|
||||
|
||||
inc(state: FocusState, deltaInMs?: number): void {
|
||||
switch (state) {
|
||||
case FocusState.FOCUS:
|
||||
this._focusCycles++;
|
||||
this._focusTimeInMs += !!deltaInMs ? deltaInMs : 0;
|
||||
break;
|
||||
case FocusState.SHORT_BREAK:
|
||||
this._shortBreakCycles++;
|
||||
this._breakTimeInMs += !!deltaInMs ? deltaInMs : 0;
|
||||
break;
|
||||
case FocusState.LONG_BREAK:
|
||||
this._longBreakCycles++;
|
||||
this._breakTimeInMs += !!deltaInMs ? deltaInMs : 0;
|
||||
break;
|
||||
default:
|
||||
// nothing
|
||||
}
|
||||
}
|
||||
|
||||
get focusCycles(): number {
|
||||
return this._focusCycles;
|
||||
}
|
||||
|
||||
get focusTimeInMs(): number {
|
||||
return this._focusTimeInMs;
|
||||
}
|
||||
|
||||
get shortBreakCycles(): number {
|
||||
return this._shortBreakCycles;
|
||||
}
|
||||
|
||||
get longBreakCycles(): number {
|
||||
return this._longBreakCycles;
|
||||
}
|
||||
|
||||
get breakTimeInMs(): number {
|
||||
return this._breakTimeInMs;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user