import * as actions from '../actions'; export interface State { enabled: boolean; newTab: boolean; background: boolean; keys: string, } const defaultState: State = { enabled: false, newTab: false, background: false, keys: '', }; export default function reducer( state: State = defaultState, action: actions.FollowAction, ): State { switch (action.type) { case actions.FOLLOW_CONTROLLER_ENABLE: return { ...state, enabled: true, newTab: action.newTab, background: action.background, keys: '', }; case actions.FOLLOW_CONTROLLER_DISABLE: return { ...state, enabled: false, }; case actions.FOLLOW_CONTROLLER_KEY_PRESS: return { ...state, keys: state.keys + action.key, }; case actions.FOLLOW_CONTROLLER_BACKSPACE: return { ...state, keys: state.keys.slice(0, -1), }; default: return state; } }