diff --git a/app/javascript/mastodon/reducers/search.js b/app/javascript/mastodon/reducers/search.js index 904e351857..72835eb917 100644 --- a/app/javascript/mastodon/reducers/search.js +++ b/app/javascript/mastodon/reducers/search.js @@ -14,6 +14,7 @@ import { SEARCH_SHOW, SEARCH_EXPAND_REQUEST, SEARCH_EXPAND_SUCCESS, + SEARCH_EXPAND_FAIL, SEARCH_HISTORY_UPDATE, } from '../actions/search'; @@ -54,6 +55,7 @@ export default function search(state = initialState, action) { map.set('type', action.searchType); }); case SEARCH_FETCH_FAIL: + case SEARCH_EXPAND_FAIL: return state.set('isLoading', false); case SEARCH_FETCH_SUCCESS: return state.withMutations(map => { @@ -68,10 +70,10 @@ export default function search(state = initialState, action) { map.set('isLoading', false); }); case SEARCH_EXPAND_REQUEST: - return state.set('type', action.searchType); + return state.set('type', action.searchType).set('isLoading', true); case SEARCH_EXPAND_SUCCESS: const results = action.searchType === 'hashtags' ? ImmutableOrderedSet(fromJS(action.results.hashtags)) : action.results[action.searchType].map(item => item.id); - return state.updateIn(['results', action.searchType], list => list.union(results)); + return state.updateIn(['results', action.searchType], list => list.union(results)).set('isLoading', false); case SEARCH_HISTORY_UPDATE: return state.set('recent', ImmutableOrderedSet(fromJS(action.recent))); default: