import { DrawerAction } from './actions' import { OPEN_DRAWER, CLOSE_DRAWER, TOGGLE_DRAWER, } from './constants' export interface DrawerState { [key: string]: boolean } export const initiaDrawerState: DrawerState = {} export const drawerReducer = (state = initiaDrawerState, action: DrawerAction): DrawerState => { switch (action.type) { case OPEN_DRAWER: { return { ...state, [action.key]: true } } case CLOSE_DRAWER: { return { ...state, [action.key]: false } } case TOGGLE_DRAWER: { return { ...state, [action.key]: !state[action.key] } } default: { return state } } }