From d5a92d3006561fd631279b68b23a1f8075b28bb8 Mon Sep 17 00:00:00 2001 From: Georgios Andreadis Date: Wed, 6 Sep 2017 22:07:16 +0200 Subject: Add a button to delete the currently viewed room --- src/reducers/modals.js | 54 +++++++++++++++++++------------------------------- 1 file changed, 20 insertions(+), 34 deletions(-) (limited to 'src/reducers') diff --git a/src/reducers/modals.js b/src/reducers/modals.js index 1786bb87..f6d1efea 100644 --- a/src/reducers/modals.js +++ b/src/reducers/modals.js @@ -1,43 +1,29 @@ import {combineReducers} from "redux"; import {CLOSE_DELETE_PROFILE_MODAL, OPEN_DELETE_PROFILE_MODAL} from "../actions/modals/profile"; import {CLOSE_NEW_SIMULATION_MODAL, OPEN_NEW_SIMULATION_MODAL} from "../actions/modals/simulations"; -import {CLOSE_EDIT_ROOM_NAME_MODAL, OPEN_EDIT_ROOM_NAME_MODAL} from "../actions/modals/topology"; +import { + CLOSE_DELETE_ROOM_MODAL, + CLOSE_EDIT_ROOM_NAME_MODAL, + OPEN_DELETE_ROOM_MODAL, + OPEN_EDIT_ROOM_NAME_MODAL +} from "../actions/modals/topology"; -function newSimulationModalVisible(state = false, action) { - switch (action.type) { - case OPEN_NEW_SIMULATION_MODAL: - return true; - case CLOSE_NEW_SIMULATION_MODAL: - return false; - default: - return state; - } -} - -function deleteProfileModalVisible(state = false, action) { - switch (action.type) { - case OPEN_DELETE_PROFILE_MODAL: - return true; - case CLOSE_DELETE_PROFILE_MODAL: - return false; - default: - return state; - } -} - -function editRoomNameModalVisible(state = false, action) { - switch (action.type) { - case OPEN_EDIT_ROOM_NAME_MODAL: - return true; - case CLOSE_EDIT_ROOM_NAME_MODAL: - return false; - default: - return state; +function modal(openAction, closeAction) { + return function (state = false, action) { + switch (action.type) { + case openAction: + return true; + case closeAction: + return false; + default: + return state; + } } } export const modals = combineReducers({ - newSimulationModalVisible, - deleteProfileModalVisible, - editRoomNameModalVisible, + newSimulationModalVisible: modal(OPEN_NEW_SIMULATION_MODAL, CLOSE_NEW_SIMULATION_MODAL), + deleteProfileModalVisible: modal(OPEN_DELETE_PROFILE_MODAL, CLOSE_DELETE_PROFILE_MODAL), + editRoomNameModalVisible: modal(OPEN_EDIT_ROOM_NAME_MODAL, CLOSE_EDIT_ROOM_NAME_MODAL), + deleteRoomModalVisible: modal(OPEN_DELETE_ROOM_MODAL, CLOSE_DELETE_ROOM_MODAL), }); -- cgit v1.2.3