import { PROFILE_HOVER_CARD_OPEN, PROFILE_HOVER_CARD_CLOSE, PROFILE_HOVER_CARD_UPDATE, } from 'soapbox/actions/profile_hover_card'; import { Map as ImmutableMap } from 'immutable'; const initialState = ImmutableMap(); export default function profileHoverCard(state = initialState, action) { switch(action.type) { case PROFILE_HOVER_CARD_OPEN: return ImmutableMap({ ref: action.ref, accountId: action.accountId, }); case PROFILE_HOVER_CARD_UPDATE: return state.set('hovered', true); case PROFILE_HOVER_CARD_CLOSE: if (state.get('hovered') === true && !action.force) return state; else return ImmutableMap(); default: return state; } }