fix: error
This commit is contained in:
@@ -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>;
|
||||
|
||||
@@ -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;
|
||||
Reference in New Issue
Block a user