verdnatura-chat/app/reducers/rooms.js

83 lines
1.6 KiB
JavaScript
Raw Normal View History

2017-08-17 02:06:22 +00:00
import * as types from '../actions/actionsTypes';
const initialState = {
isFetching: false,
2020-02-19 19:43:47 +00:00
refreshing: false,
failure: false,
errorMessage: {},
searchText: '',
showServerDropdown: false,
closeServerDropdown: false,
showSortDropdown: false,
showSearchHeader: false
2017-08-17 02:06:22 +00:00
};
export default function login(state = initialState, action) {
switch (action.type) {
case types.ROOMS.REQUEST:
2017-11-13 12:58:35 +00:00
return {
...state,
isFetching: true,
failure: false,
errorMessage: {}
2017-08-17 02:06:22 +00:00
};
case types.ROOMS.SUCCESS:
2017-11-13 12:58:35 +00:00
return {
...state,
2020-02-19 19:43:47 +00:00
isFetching: false,
refreshing: false
2017-08-17 02:06:22 +00:00
};
2017-08-17 06:28:41 +00:00
case types.ROOMS.FAILURE:
2017-11-13 12:58:35 +00:00
return {
...state,
2017-08-17 02:06:22 +00:00
isFetching: false,
2020-02-19 19:43:47 +00:00
refreshing: false,
2017-08-17 02:06:22 +00:00
failure: true,
errorMessage: action.err
};
2020-02-19 19:43:47 +00:00
case types.ROOMS.REFRESH:
return {
...state,
isFetching: true,
refreshing: true
};
case types.ROOMS.SET_SEARCH:
return {
...state,
searchText: action.searchText
};
case types.ROOMS.CLOSE_SERVER_DROPDOWN:
return {
...state,
closeServerDropdown: !state.closeServerDropdown
};
case types.ROOMS.TOGGLE_SERVER_DROPDOWN:
return {
...state,
showServerDropdown: !state.showServerDropdown
};
case types.ROOMS.CLOSE_SORT_DROPDOWN:
return {
...state,
closeSortDropdown: !state.closeSortDropdown
};
case types.ROOMS.TOGGLE_SORT_DROPDOWN:
return {
...state,
showSortDropdown: !state.showSortDropdown
};
case types.ROOMS.OPEN_SEARCH_HEADER:
return {
...state,
showSearchHeader: true
};
case types.ROOMS.CLOSE_SEARCH_HEADER:
return {
...state,
showSearchHeader: false
};
2017-08-17 02:06:22 +00:00
default:
return state;
}
}