verdnatura-chat/app/reducers/settings.ts

28 lines
617 B
TypeScript
Raw Normal View History

2022-01-14 21:00:04 +00:00
import { IActionSettings } from '../actions/settings';
import { SETTINGS } from '../actions/actionsTypes';
2022-01-20 17:41:04 +00:00
export type TSettings = string | number | boolean;
export type ISettings = Record<string, TSettings>;
2022-01-14 21:00:04 +00:00
export const initialState: ISettings = {};
export default (state = initialState, action: IActionSettings): ISettings => {
switch (action.type) {
case SETTINGS.ADD:
return {
...state,
...action.payload
};
case SETTINGS.UPDATE:
return {
...state,
[action.payload.id]: action.payload.value
};
case SETTINGS.CLEAR:
return initialState;
default:
return state;
}
};