27 lines
702 B
JavaScript
27 lines
702 B
JavaScript
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;
|
|
}
|
|
}
|