| 1 | import { configureStore } from '@reduxjs/toolkit'; |
| 2 | import { persistStore, persistReducer } from 'redux-persist'; |
| 3 | import storage from 'redux-persist/lib/storage'; |
| 4 | import roleReducer from './slices/roleSlice'; |
| 5 | import imageReducer from './slices/imageSlice'; |
| 6 | import userReducer from './slices/localSlice'; |
| 7 | import routeReducer from './slices/routeSlice'; |
| 8 | import advanceSearchSlice from './slices/advanceSearchSlice'; |
| 9 | import leadSlice from './slices/leadSlice' |
| 10 | import propertyCustomFiledSlice from './slices/propertyCustomFiledSlice'; |
| 11 | import propertySlice from './slices/propertySlice'; |
| 12 | import contactSlice from './slices/contactSlice'; |
| 13 | import contactCustomFiledSlice from './slices/contactCustomFiledSlice'; |
| 14 | import leadCustomFiledSlice from './slices/leadCustomFiledSlice'; |
| 15 | import taskSlice from './slices/taskSlice'; |
| 16 | import meetingSlice from './slices/meetingSlice'; |
| 17 | import emailsSlice from './slices/emailsSlice'; |
| 18 | import emailTempSlice from './slices/emailTempSlice'; |
| 19 | import opportunitySlice from './slices/opportunitySlice'; |
| 20 | import moduleSlice from './slices/moduleSlice'; |
| 21 | import accountSlice from './slices/accountSlice'; |
| 22 | import quotesSlice from './slices/quotesSlice'; |
| 23 | import invoicesSlice from './slices/invoicesSlice'; |
| 24 | |
| 25 | const middleware = (getDefaultMiddleware) => { |
| 26 | return getDefaultMiddleware({ |
| 27 | serializableCheck: false, |
| 28 | }); |
| 29 | }; |
| 30 | |
| 31 | const userPersistConfig = { |
| 32 | key: 'userDetails', |
| 33 | storage, |
| 34 | }; |
| 35 | const routePersistConfig = { |
| 36 | key: 'route', |
| 37 | storage, |
| 38 | }; |
| 39 | const imagesPersistConfig = { |
| 40 | key: 'image', |
| 41 | storage, |
| 42 | }; |
| 43 | const leadPersistConfig = { |
| 44 | key: 'lead', |
| 45 | storage, |
| 46 | }; |
| 47 | const contactPersistConfig = { |
| 48 | key: 'contact', |
| 49 | storage, |
| 50 | }; |
| 51 | |
| 52 | export const store = configureStore({ |
| 53 | reducer: { |
| 54 | roles: persistReducer(userPersistConfig, roleReducer), |
| 55 | modules: moduleSlice, |
| 56 | images: persistReducer(imagesPersistConfig, imageReducer), |
| 57 | user: userReducer, |
| 58 | route: persistReducer(routePersistConfig, routeReducer), |
| 59 | advanceSearchData: advanceSearchSlice, |
| 60 | leadData: persistReducer(leadPersistConfig, leadSlice), |
| 61 | contactData: persistReducer(contactPersistConfig, contactSlice), |
| 62 | propertyCustomFiled: propertyCustomFiledSlice, |
| 63 | contactCustomFiled: contactCustomFiledSlice, |
| 64 | leadCustomFiled: leadCustomFiledSlice, |
| 65 | propertyData: propertySlice, |
| 66 | taskData: taskSlice, |
| 67 | meetingData: meetingSlice, |
| 68 | emailsData: emailsSlice, |
| 69 | emailTempData: emailTempSlice, |
| 70 | opportunityData: opportunitySlice, |
| 71 | accountData: accountSlice, |
| 72 | quotesData: quotesSlice, |
| 73 | invoicesData: invoicesSlice, |
| 74 | }, |
| 75 | middleware, |
| 76 | }); |
| 77 | |
| 78 | export const persistor = persistStore(store); |