Skip to content

Commit

Permalink
[Glitch] Fix Web UI making duplicate search queries when scrolling
Browse files Browse the repository at this point in the history
Port 4c1518a to glitch-soc

Signed-off-by: Claire <[email protected]>
  • Loading branch information
ClearlyClaire committed Sep 18, 2023
1 parent f61e29c commit 31dedf4
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions app/javascript/flavours/glitch/reducers/search.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
SEARCH_SHOW,
SEARCH_EXPAND_REQUEST,
SEARCH_EXPAND_SUCCESS,
SEARCH_EXPAND_FAIL,
SEARCH_HISTORY_UPDATE,
} from 'flavours/glitch/actions/search';

Expand Down Expand Up @@ -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 => {
Expand All @@ -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:
Expand Down

0 comments on commit 31dedf4

Please sign in to comment.