fix issue based on review

This commit is contained in:
Benard Mathu
2023-09-26 09:48:11 +03:00
committed by Lei Nelissen
parent 7d54f00811
commit 47d9995a8f
11 changed files with 75 additions and 98 deletions

View File

@@ -59,11 +59,9 @@ const persistConfig: PersistConfig<Omit<AppState, '_persist'>> = {
4: (state: AppState) => {
return {
...state,
settings: {
...state.settings,
enableSleepTime: false,
dateTime: Date,
remainingSleepTime: String
music: {
...state.music,
timerDate: Date
}
};
},

View File

@@ -1,4 +1,4 @@
import { createAsyncThunk, createEntityAdapter } from '@reduxjs/toolkit';
import { createAction, createAsyncThunk, createEntityAdapter } from '@reduxjs/toolkit';
import { Album, AlbumTrack, Playlist } from './types';
import { AsyncThunkAPI } from '..';
import { retrieveAllAlbums, retrieveAlbumTracks, retrieveRecentAlbums, searchItem, retrieveAlbum, retrieveAllPlaylists, retrievePlaylistTracks } from '@/utility/JellyfinApi';
@@ -111,4 +111,6 @@ export const fetchTracksByPlaylist = createAsyncThunk<AlbumTrack[], string, Asyn
const credentials = thunkAPI.getState().settings.jellyfin;
return retrievePlaylistTracks(ItemId, credentials) as Promise<AlbumTrack[]>;
}
);
);
export const setTimerDate = createAction<Date|null>('SET_TIMER_DATE');

View File

@@ -8,7 +8,8 @@ import {
playlistAdapter,
fetchAllPlaylists,
fetchTracksByPlaylist,
fetchAlbum
fetchAlbum,
setTimerDate
} from './actions';
import { createSlice, Dictionary, EntityId } from '@reduxjs/toolkit';
import { Album, AlbumTrack, Playlist } from './types';
@@ -33,7 +34,8 @@ export interface State {
entities: Dictionary<Playlist>;
ids: EntityId[];
lastRefreshed?: number,
}
},
timerDate?: Date | null;
}
export const initialState: State = {
@@ -50,7 +52,8 @@ export const initialState: State = {
playlists: {
...playlistAdapter.getInitialState(),
isLoading: false,
}
},
timerDate: null
};
const music = createSlice({
@@ -153,6 +156,11 @@ const music = createSlice({
// Reset any caches we have when a new server is set
builder.addCase(setJellyfinCredentials, () => initialState);
builder.addCase(setTimerDate, (state, action) => ({
...state,
timerDate: action.payload,
}));
}
});

View File

@@ -7,6 +7,3 @@ export const setOnboardingStatus = createAction<boolean>('SET_ONBOARDING_STATUS'
export const setReceivedErrorReportingAlert = createAction<void>('SET_RECEIVED_ERROR_REPORTING_ALERT');
export const setEnablePlaybackReporting = createAction<boolean>('SET_ENABLE_PLAYBACK_REPORTING');
export const setColorScheme = createAction<ColorScheme>('SET_COLOR_SCHEME');
export const setDateTime = createAction<Date>('SET_DATE_TIME');
export const setEnableSleepTime = createAction<boolean>('SET_ENABLE_SLEEP_TIME');
export const setRemainingSleepTime = createAction<String>('SET_REMAINING_SLEEP_TIME');

View File

@@ -1,5 +1,5 @@
import { createReducer } from '@reduxjs/toolkit';
import { setReceivedErrorReportingAlert, setBitrate, setJellyfinCredentials, setOnboardingStatus, setEnablePlaybackReporting, setColorScheme, setDateTime, setEnableSleepTime, setRemainingSleepTime } from './actions';
import { setReceivedErrorReportingAlert, setBitrate, setJellyfinCredentials, setOnboardingStatus, setEnablePlaybackReporting, setColorScheme } from './actions';
import { ColorScheme } from './types';
interface State {
@@ -14,8 +14,6 @@ interface State {
hasReceivedErrorReportingAlert: boolean;
enablePlaybackReporting: boolean;
colorScheme: ColorScheme;
dateTime?: Date;
remainingSleepTime: String
}
const initialState: State = {
@@ -23,8 +21,7 @@ const initialState: State = {
isOnboardingComplete: false,
hasReceivedErrorReportingAlert: false,
enablePlaybackReporting: true,
colorScheme: ColorScheme.System,
remainingSleepTime: ''
colorScheme: ColorScheme.System
};
const settings = createReducer(initialState, builder => {
@@ -52,18 +49,6 @@ const settings = createReducer(initialState, builder => {
...state,
colorScheme: action.payload,
}));
builder.addCase(setDateTime, (state, action) => ({
...state,
dateTime: action.payload,
}));
builder.addCase(setEnableSleepTime, (state, action) => ({
...state,
enableSleepTime: action.payload,
}));
builder.addCase(setRemainingSleepTime, (state, action) => ({
...state,
remainingSleepTime: action.payload,
}));
});
export default settings;