native_convex_CRM/app/store/rootReducer.ts

47 lines
1.9 KiB
TypeScript

import { combineReducers } from '@reduxjs/toolkit';
import authReducer from './commonReducers/auth/reducers';
import statusListReducer from './commonReducers/statuslist/reducers';
import sourceListReducer from './commonReducers/sourcelist/reducers';
import countryListReducer from './commonReducers/countrylist/reducers';
import languageListReducer from './commonReducers/languagelist/reducers';
import currencyListReducer from './commonReducers/currencylist/reducers';
import fcmTokenReducer from './commonReducers/fcmToken/reducers';
import leadsReducer from '../features/leads/reducers';
import leadDetailsReducer from '../features/leadDetails/reducers';
import addLeadReducer from '../features/addLead/reducers';
import customersReducer from '../features/customers/reducers';
import customerDetailsReducer from '../features/customerDetails/reducers';
import addCustomerReducer from '../features/addCustomer/reducers';
import notificationReducer from '../features/notification/reducers';
import dashboardReducer from '../features/dashboard/reducers';
import editProfileReducer from '../features/editProfile/reducers';
const appReducer = combineReducers({
auth: authReducer,
statusList: statusListReducer,
sourceList: sourceListReducer,
countryList: countryListReducer,
languageList: languageListReducer,
currencyList: currencyListReducer,
fcmToken: fcmTokenReducer,
leads: leadsReducer,
leadDetails: leadDetailsReducer,
addLead: addLeadReducer,
customers: customersReducer,
customerDetails: customerDetailsReducer,
addCustomer: addCustomerReducer,
notifications: notificationReducer,
dashboard: dashboardReducer,
editProfile: editProfileReducer,
});
const rootReducer = (state: any, action: any) => {
if (action.type === 'USER_LOGOUT') {
state = undefined;
}
return appReducer(state, action);
};
export type RootState = ReturnType<typeof appReducer>;
export default rootReducer;