[Glitch] Remove pointer events on the entire UI when a dropdown menu is open

Port 913a38111f to glitch-soc
This commit is contained in:
Thibaut Girka
2018-03-30 12:45:23 +02:00
parent 2871a82fcc
commit 48bcf4d6e8
6 changed files with 66 additions and 36 deletions

View File

@@ -0,0 +1,18 @@
import Immutable from 'immutable';
import {
DROPDOWN_MENU_OPEN,
DROPDOWN_MENU_CLOSE,
} from '../actions/dropdown_menu';
const initialState = Immutable.Map({ openId: null, placement: null });
export default function dropdownMenu(state = initialState, action) {
switch (action.type) {
case DROPDOWN_MENU_OPEN:
return state.merge({ openId: action.id, placement: action.placement });
case DROPDOWN_MENU_CLOSE:
return state.get('openId') === action.id ? state.set('openId', null) : state;
default:
return state;
}
}