fix: error

This commit is contained in:
2024-03-20 18:04:16 +08:00
parent f9c6a2fb75
commit bbd0409f8b
2 changed files with 2 additions and 36 deletions

View File

@@ -2,7 +2,6 @@ import { configureStore, Middleware } from "@reduxjs/toolkit";
import { TypedUseSelectorHook, useDispatch, useSelector } from "react-redux";
import optionsReducer from "./reducer/options";
import preferenceReducer from "./reducer/preference";
const localStorageMiddleware: Middleware = ({ getState }) => {
return (next) => (action) => {
@@ -14,6 +13,7 @@ const localStorageMiddleware: Middleware = ({ getState }) => {
};
const reHydrateStore = () => {
console.log("123");
if (localStorage.getItem("applicationState") !== null) {
return JSON.parse(localStorage.getItem("applicationState") ?? "{}"); // re-hydrate the store
}
@@ -22,11 +22,10 @@ const reHydrateStore = () => {
const store = configureStore({
reducer: {
options: optionsReducer,
preference: preferenceReducer,
},
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware().concat(localStorageMiddleware),
preloadedState: reHydrateStore,
preloadedState: reHydrateStore() as () => any,
});
type AppState = ReturnType<typeof store.getState>;

View File

@@ -1,33 +0,0 @@
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
interface PreferenceState {
colorScheme: "light" | "dark";
}
const preferenceSlice = createSlice({
name: "preference",
initialState: {
colorScheme: localStorage.getItem("colorScheme") || "light",
} as PreferenceState,
reducers: {
setColorScheme(state, action: PayloadAction<"light" | "dark">) {
localStorage.setItem("colorScheme", action.payload);
return {
...state,
theme: action.payload,
};
},
toggleColorScheme(state) {
const colorScheme = state.colorScheme === "light" ? "dark" : "light";
localStorage.setItem("colorScheme", colorScheme);
return {
...state,
colorScheme,
};
},
},
});
export const { setColorScheme, toggleColorScheme } = preferenceSlice.actions;
export default preferenceSlice.reducer;