import { combineReducers, configureStore } from '@reduxjs/toolkit'; import creatorsReducer from './slices/creatorsSlice'; import filtersReducer from './slices/filtersSlice'; import brandsReducer from './slices/brandsSlice'; import { persistReducer, persistStore } from 'redux-persist'; import sessionStorage from 'redux-persist/es/storage/session'; import inboxReducer from './slices/inboxSlice'; import authReducer from './slices/authSlice'; import discoveryReducer from './slices/discoverySlice'; const reducers = combineReducers({ creators: creatorsReducer, filters: filtersReducer, brands: brandsReducer, inbox: inboxReducer, auth: authReducer, discovery: discoveryReducer, }); const persistConfig = { key: 'root', storage: sessionStorage, }; const persistedReducer = persistReducer(persistConfig, reducers); const store = configureStore({ reducer: persistedReducer, middleware: (getDefaultMiddleware) => getDefaultMiddleware({ serializableCheck: false, }), }); export const persistor = persistStore(store); export default store; export const dispatch = store.dispatch;