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'; import notificationBarReducer from './slices/notificationBarSlice'; import productReducer from './slices/productSlice'; const authPersistConfig = { key: 'auth', storage: sessionStorage, }; const rootReducer = combineReducers({ creators: creatorsReducer, filters: filtersReducer, brands: brandsReducer, inbox: inboxReducer, discovery: discoveryReducer, auth: persistReducer(authPersistConfig, authReducer), notificationBar: notificationBarReducer, products: productReducer, }); const store = configureStore({ reducer: rootReducer, middleware: (getDefaultMiddleware) => getDefaultMiddleware({ serializableCheck: false, }), }); export const persistor = persistStore(store); export default store; export const dispatch = store.dispatch;