update pause playback when timer completes

This commit is contained in:
Benard Mathu
2023-07-21 15:54:57 +03:00
committed by Lei Nelissen
parent 9cbc5a26ba
commit 85383f2447
9 changed files with 175 additions and 66 deletions

View File

@@ -63,7 +63,8 @@ const persistConfig: PersistConfig<Omit<AppState, '_persist'>> = {
...state.settings,
enableSleepTimer: false,
sleepTime: 0,
remainingSleepTime: 0
remainingSleepTime: 0,
enabledSleeper: false
}
};
},

View File

@@ -10,3 +10,4 @@ export const setColorScheme = createAction<ColorScheme>('SET_COLOR_SCHEME');
export const setSleepTime = createAction<number>('SET_SLEEP_TIME');
export const setEnableSleepTimer = createAction<boolean>('SET_ENABLE_SLEEP_TIMER');
export const setRemainingSleepTime = createAction<number>('SET_REMAINING_SLEEP_TIME');
export const setEnabledSleeper = createAction<boolean>('SET_ENABLE_SLEEPER');

View File

@@ -1,5 +1,5 @@
import { createReducer } from '@reduxjs/toolkit';
import { setReceivedErrorReportingAlert, setBitrate, setJellyfinCredentials, setOnboardingStatus, setEnablePlaybackReporting, setColorScheme, setSleepTime, setEnableSleepTimer, setRemainingSleepTime } from './actions';
import { setReceivedErrorReportingAlert, setBitrate, setJellyfinCredentials, setOnboardingStatus, setEnablePlaybackReporting, setColorScheme, setSleepTime, setEnableSleepTimer, setRemainingSleepTime, setEnabledSleeper } from './actions';
import { ColorScheme } from './types';
interface State {
@@ -15,6 +15,7 @@ interface State {
enablePlaybackReporting: boolean;
colorScheme: ColorScheme;
sleepTime: number;
enabledSleeper: boolean
}
const initialState: State = {
@@ -24,6 +25,7 @@ const initialState: State = {
enablePlaybackReporting: true,
colorScheme: ColorScheme.System,
sleepTime: 60,
enabledSleeper: false,
};
const settings = createReducer(initialState, builder => {
@@ -63,6 +65,10 @@ const settings = createReducer(initialState, builder => {
...state,
remainingSleepTime: action.payload,
}));
builder.addCase(setEnabledSleeper, (state, action) => ({
...state,
enabledSleeper: action.payload,
}));
});
export default settings;