Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | 540x 540x 272x 272x 28x 28x 1x 540x 540x 14249x | import { RootState } from "@redux/types/store";
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
import { SearchSliceState, SetSearchQueryPayload } from "./types";
const initialState: SearchSliceState = {
queries: {},
};
const searchSlice = createSlice({
name: "search",
initialState,
reducers: {
setSearchQueryByKey: (
state: SearchSliceState,
action: PayloadAction<SetSearchQueryPayload>,
) => {
const { queryKey, params } = action.payload;
state.queries[queryKey] = params;
},
resetSearchQueryByKey: (
state: SearchSliceState,
action: PayloadAction<string>,
) => {
const queryKey = action.payload;
if (state.queries[queryKey]) {
state.queries[queryKey].value = "";
}
},
},
});
export const { setSearchQueryByKey, resetSearchQueryByKey } =
searchSlice.actions;
export const selectQueryString = (state: RootState, queryKey: string) =>
state.search.queries[queryKey]?.value || "";
export default searchSlice.reducer;
|