canape/frontend/js/reducers/torrents.js
Grégoire Delattre 83d1894a25 Fix torrent search on every keystroke
Cleanup the search results when leaving the page.
2020-04-10 17:09:43 +02:00

39 lines
839 B
JavaScript

import { produce } from "immer";
const defaultState = {
fetching: false,
searching: false,
torrents: [],
searchResults: [],
};
export default (state = defaultState, action) =>
produce(state, (draft) => {
switch (action.type) {
case "TORRENTS_FETCH_PENDING":
draft.fetching = true;
break;
case "TORRENTS_FETCH_FULFILLED":
draft.fetching = false;
draft.torrents = action.payload.response.data;
break;
case "TORRENTS_SEARCH_PENDING":
draft.searching = true;
break;
case "TORRENTS_SEARCH_FULFILLED":
draft.searching = false;
draft.searchResults = action.payload.response.data;
break;
case "TORRENTS_SEARCH_CLEAR":
draft.searchResults = [];
break;
default:
return draft;
}
});