mirror of
https://github.com/usememos/memos.git
synced 2025-06-05 22:09:59 +02:00
chore: fix filter initial state
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
import store, { useAppSelector } from "..";
|
import store, { useAppSelector } from "..";
|
||||||
import { Filter, setFilter } from "../reducer/filter";
|
import { setFilter } from "../reducer/filter";
|
||||||
|
|
||||||
export const useFilterStore = () => {
|
export const useFilterStore = () => {
|
||||||
const state = useAppSelector((state) => state.filter);
|
const state = useAppSelector((state) => state.filter);
|
||||||
@@ -9,9 +9,6 @@ export const useFilterStore = () => {
|
|||||||
getState: () => {
|
getState: () => {
|
||||||
return store.getState().filter;
|
return store.getState().filter;
|
||||||
},
|
},
|
||||||
setFilter: (filter: Filter) => {
|
|
||||||
store.dispatch(setFilter(filter));
|
|
||||||
},
|
|
||||||
clearFilter: () => {
|
clearFilter: () => {
|
||||||
store.dispatch(
|
store.dispatch(
|
||||||
setFilter({
|
setFilter({
|
||||||
|
@@ -8,9 +8,23 @@ interface State {
|
|||||||
|
|
||||||
export type Filter = State;
|
export type Filter = State;
|
||||||
|
|
||||||
|
const getInitialState = (): State => {
|
||||||
|
const state: State = {};
|
||||||
|
const urlParams = new URLSearchParams(location.search);
|
||||||
|
const tag = urlParams.get("tag");
|
||||||
|
const text = urlParams.get("text");
|
||||||
|
if (tag) {
|
||||||
|
state.tag = tag;
|
||||||
|
}
|
||||||
|
if (text) {
|
||||||
|
state.text = text;
|
||||||
|
}
|
||||||
|
return state;
|
||||||
|
};
|
||||||
|
|
||||||
const filterSlice = createSlice({
|
const filterSlice = createSlice({
|
||||||
name: "filter",
|
name: "filter",
|
||||||
initialState: {} as State,
|
initialState: getInitialState(),
|
||||||
reducers: {
|
reducers: {
|
||||||
setFilter: (state, action: PayloadAction<Partial<State>>) => {
|
setFilter: (state, action: PayloadAction<Partial<State>>) => {
|
||||||
if (JSON.stringify(action.payload) === state) {
|
if (JSON.stringify(action.payload) === state) {
|
||||||
|
Reference in New Issue
Block a user