//
// SPDX-License-Identifier: AGPL-3.0
-import { searchBarActions, SearchBarActions } from '~/store/search-bar/search-bar-actions';
+import { searchBarActions, SearchBarActions, saveQuery } from '~/store/search-bar/search-bar-actions';
import { GroupContentsResource } from '~/services/groups-service/groups-service';
+import { SearchBarAdvanceFormData } from '~/models/search-bar';
interface SearchBar {
currentView: string;
open: boolean;
searchResults: GroupContentsResource[];
searchValue: string;
+ savedQueries: SearchBarAdvanceFormData[];
}
export enum SearchView {
currentView: SearchView.BASIC,
open: false,
searchResults: [],
- searchValue: ''
+ searchValue: '',
+ savedQueries: []
};
export const searchBarReducer = (state = initialState, action: SearchBarActions): SearchBar =>
CLOSE_SEARCH_VIEW: () => ({ ...state, open: false }),
SET_SEARCH_RESULTS: (searchResults) => ({ ...state, searchResults }),
SET_SEARCH_VALUE: (searchValue) => ({ ...state, searchValue }),
+ SET_SAVED_QUERIES: savedQueries => ({ ...state, savedQueries }),
+ UPDATE_SAVED_QUERY: searchQuery => ({ ...state, savedQueries: searchQuery }),
default: () => state
});
\ No newline at end of file