import { DropdownAction } from './actions' import { OPEN_DROPDOWN, CLOSE_DROPDOWN, TOGGLE_DROPDOWN, } from './constants' export interface DropdownState { [key: string]: boolean } export const initiaDropdownState: DropdownState = {} export const dropdownReducer = (state = initiaDropdownState, action: DropdownAction): DropdownState => { switch (action.type) { case OPEN_DROPDOWN: { return { ...state, [action.key]: true } } case CLOSE_DROPDOWN: { return { ...state, [action.key]: false } } case TOGGLE_DROPDOWN: { return { ...state, [action.key]: !state[action.key] } } default: { return state } } }