diff options
Diffstat (limited to 'web/source/settings/redux/index.js')
-rw-r--r-- | web/source/settings/redux/index.js | 46 |
1 files changed, 31 insertions, 15 deletions
diff --git a/web/source/settings/redux/index.js b/web/source/settings/redux/index.js index f18b8e452..43f5c007d 100644 --- a/web/source/settings/redux/index.js +++ b/web/source/settings/redux/index.js @@ -18,18 +18,20 @@ "use strict"; -const { createStore, combineReducers, applyMiddleware } = require("redux"); -const { persistStore, persistReducer } = require("redux-persist"); -const thunk = require("redux-thunk").default; -const { composeWithDevTools } = require("redux-devtools-extension"); +const { combineReducers } = require("redux"); +const { configureStore } = require("@reduxjs/toolkit"); +const { + persistStore, + persistReducer, + FLUSH, + REHYDRATE, + PAUSE, + PERSIST, + PURGE, + REGISTER, +} = require("redux-persist"); -const persistConfig = { - key: "gotosocial-settings", - storage: require("redux-persist/lib/storage").default, - stateReconciler: require("redux-persist/lib/stateReconciler/autoMergeLevel2").default, - whitelist: ["oauth"], - blacklist: ["temporary"] -}; +const query = require("../lib/query/base"); const combinedReducers = combineReducers({ oauth: require("./reducers/oauth").reducer, @@ -37,13 +39,27 @@ const combinedReducers = combineReducers({ temporary: require("./reducers/temporary").reducer, user: require("./reducers/user").reducer, admin: require("./reducers/admin").reducer, + [query.reducerPath]: query.reducer }); -const persistedReducer = persistReducer(persistConfig, combinedReducers); -const composedEnhancer = composeWithDevTools(applyMiddleware(thunk)); +const persistedReducer = persistReducer({ + key: "gotosocial-settings", + storage: require("redux-persist/lib/storage").default, + stateReconciler: require("redux-persist/lib/stateReconciler/autoMergeLevel2").default, + whitelist: ["oauth"], +}, combinedReducers); + +const store = configureStore({ + reducer: persistedReducer, + middleware: (getDefaultMiddleware) => { + return getDefaultMiddleware({ + serializableCheck: { + ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER, "temporary/setScrollElement"] + } + }).concat(query.middleware); + } +}); -// TODO: change to configureStore -const store = createStore(persistedReducer, composedEnhancer); const persistor = persistStore(store); module.exports = { store, persistor };
\ No newline at end of file |