CreatorCenter_OOIN/src/store/index.js
2025-05-26 11:43:09 -04:00

40 lines
1.3 KiB
JavaScript

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;