mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-07-30 11:10:04 +00:00
feat: get last focus mode mode from LS
This commit is contained in:
parent
9dcf154042
commit
67ef5c03fa
3 changed files with 21 additions and 2 deletions
|
|
@ -35,6 +35,8 @@ export enum LS {
|
|||
WEB_APP_INSTALL = 'WEB_APP_INSTALL',
|
||||
|
||||
IS_ADD_TO_BOTTOM = 'SUP_IS_ADD_TO_BOTTOM',
|
||||
|
||||
FOCUS_MODE_MODE = 'FOCUS_MODE_MODE',
|
||||
}
|
||||
|
||||
// SESSION STORAGE
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import { Actions, createEffect, ofType } from '@ngrx/effects';
|
|||
import {
|
||||
cancelFocusSession,
|
||||
focusSessionDone,
|
||||
setFocusModeMode,
|
||||
setFocusSessionActivePage,
|
||||
setFocusSessionTimeElapsed,
|
||||
setFocusSessionTimeToGo,
|
||||
|
|
@ -39,6 +40,7 @@ import { IS_ELECTRON } from '../../../app.constants';
|
|||
import { IdleService } from '../../idle/idle.service';
|
||||
import { FocusModeMode, FocusModePage } from '../focus-mode.const';
|
||||
import { selectFocusModeConfig } from '../../config/store/global-config.reducer';
|
||||
import { LS } from '../../../core/persistence/storage-keys.const';
|
||||
|
||||
const TICK_DURATION = 500;
|
||||
const SESSION_DONE_SOUND = 'positive.ogg';
|
||||
|
|
@ -191,4 +193,15 @@ export class FocusModeEffects {
|
|||
),
|
||||
{ dispatch: false },
|
||||
);
|
||||
|
||||
modeToLS$ = createEffect(
|
||||
() =>
|
||||
this._actions$.pipe(
|
||||
ofType(setFocusModeMode),
|
||||
tap(({ mode }) => {
|
||||
localStorage.setItem(LS.FOCUS_MODE_MODE, mode);
|
||||
}),
|
||||
),
|
||||
{ dispatch: false },
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import {
|
|||
startFocusSession,
|
||||
} from './focus-mode.actions';
|
||||
import { FocusModeMode, FocusModePage } from '../focus-mode.const';
|
||||
import { LS } from '../../../core/persistence/storage-keys.const';
|
||||
|
||||
const DEFAULT_FOCUS_SESSION_DURATION = 25 * 60 * 1000;
|
||||
const USE_REMAINING_SESSION_TIME_THRESHOLD = 60 * 1000;
|
||||
|
|
@ -28,6 +29,8 @@ export interface State {
|
|||
lastFocusSessionDuration: number;
|
||||
}
|
||||
|
||||
const focusModeModeFromLS = localStorage.getItem(LS.FOCUS_MODE_MODE);
|
||||
|
||||
export const initialState: State = {
|
||||
isFocusOverlayShown: false,
|
||||
isFocusSessionRunning: false,
|
||||
|
|
@ -36,8 +39,9 @@ export const initialState: State = {
|
|||
focusSessionTimeToGo: 0,
|
||||
focusSessionTimeElapsed: 0,
|
||||
focusSessionActivePage: FocusModePage.TaskSelection,
|
||||
// TODO get from LS if available
|
||||
mode: FocusModeMode.Flowtime,
|
||||
mode: Object.values(FocusModeMode).includes(focusModeModeFromLS as any)
|
||||
? (focusModeModeFromLS as any)
|
||||
: FocusModeMode.Flowtime,
|
||||
};
|
||||
|
||||
export const focusModeReducer = createReducer<State>(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue