From c5f333d6479075c96322b0e3d189abff0f858145 Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 18 Sep 2023 11:20:09 +0200 Subject: [PATCH] [Glitch] Fix Web UI making duplicate search queries when scrolling Port c7d113e2d20f6c3a2be04aa8c9e4f5a771e91e34 to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/reducers/search.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/javascript/flavours/glitch/reducers/search.js b/app/javascript/flavours/glitch/reducers/search.js index a215282aa9..e4144db62e 100644 --- a/app/javascript/flavours/glitch/reducers/search.js +++ b/app/javascript/flavours/glitch/reducers/search.js @@ -14,6 +14,7 @@ import { SEARCH_SHOW, SEARCH_EXPAND_REQUEST, SEARCH_EXPAND_SUCCESS, + SEARCH_EXPAND_FAIL, SEARCH_HISTORY_UPDATE, } from 'flavours/glitch/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: