irongit
78 lines2.5 KBJavaScript
1import { configureStore } from '@reduxjs/toolkit';
2import { persistStore, persistReducer } from 'redux-persist';
3import storage from 'redux-persist/lib/storage';
4import roleReducer from './slices/roleSlice';
5import imageReducer from './slices/imageSlice';
6import userReducer from './slices/localSlice';
7import routeReducer from './slices/routeSlice';
8import advanceSearchSlice from './slices/advanceSearchSlice';
9import leadSlice from './slices/leadSlice'
10import propertyCustomFiledSlice from './slices/propertyCustomFiledSlice';
11import propertySlice from './slices/propertySlice';
12import contactSlice from './slices/contactSlice';
13import contactCustomFiledSlice from './slices/contactCustomFiledSlice';
14import leadCustomFiledSlice from './slices/leadCustomFiledSlice';
15import taskSlice from './slices/taskSlice';
16import meetingSlice from './slices/meetingSlice';
17import emailsSlice from './slices/emailsSlice';
18import emailTempSlice from './slices/emailTempSlice';
19import opportunitySlice from './slices/opportunitySlice';
20import moduleSlice from './slices/moduleSlice';
21import accountSlice from './slices/accountSlice';
22import quotesSlice from './slices/quotesSlice';
23import invoicesSlice from './slices/invoicesSlice';
24
25const middleware = (getDefaultMiddleware) => {
26 return getDefaultMiddleware({
27 serializableCheck: false,
28 });
29};
30
31const userPersistConfig = {
32 key: 'userDetails',
33 storage,
34};
35const routePersistConfig = {
36 key: 'route',
37 storage,
38};
39const imagesPersistConfig = {
40 key: 'image',
41 storage,
42};
43const leadPersistConfig = {
44 key: 'lead',
45 storage,
46};
47const contactPersistConfig = {
48 key: 'contact',
49 storage,
50};
51
52export 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
78export const persistor = persistStore(store);