[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
@@ -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;
}
}
@@ -1,4 +1,5 @@
import { combineReducers } from 'redux-immutable';
import dropdown_menu from './dropdown_menu';
import timelines from './timelines';
import meta from './meta';
import alerts from './alerts';
@@ -27,6 +28,7 @@ import lists from './lists';
import listEditor from './list_editor';
const reducers = {
dropdown_menu,
timelines,
meta,
alerts,