// // store.ts
// import { configureStore } from "@reduxjs/toolkit";
// import authSliceReducer from "./userAuth/loginSlice";
// import customerSliceReducer from "./CustomerInfo/customerInfoSlice";
// import addCustomerSliceReducer from "./AddCustomer/addCustomerSlice";
// import getEmployeeSliceReducer from "./AddCustomer/getResponsibleEmployeeSlice";
// import getShippingAddressSlice from "./AddCustomer/getShippingAddressSlice";
// import roomSliceReducer from "./AddProduct/roomSlice";
// import getCategoryAndProductSliceReducer from "./AddProduct/categoryAndProductSlice";
// import attributesSliceReducer from "./AddProduct/attributesSlice";
// import orderSliceReducer from "./Order/orderSlice";
// import getOrderReducer from "./Order/OrderReceipt/getOrderSlice";
// import listingSliceReducer from "./Order/listing";
// import listingFunctionalityReducer from "./Order/listingFunctionality";
// import editOrderItemSlice from "./Order/OrderReceipt/editOrderItemSlice";
// import editOrderSlice from "./Order/EditOrder/editOrderSlice";
// import detailsTableSlice from "./DetailsTable/detailsTableSlice";

// export const store = configureStore({
//   reducer: {
//     userAuth: authSliceReducer,
//     customerInfo: customerSliceReducer,
//     addCustomer: addCustomerSliceReducer,
//     responsibleEmployee: getEmployeeSliceReducer,
//     shippingAddress: getShippingAddressSlice,
//     roomData: roomSliceReducer,
//     categoryAndProduct: getCategoryAndProductSliceReducer,
//     attributes: attributesSliceReducer,
//     orderData: orderSliceReducer,
//     orderDataFetch: getOrderReducer,
//     listingFetch: listingSliceReducer,
//     ListingFunctions: listingFunctionalityReducer,
//     editOrderItem: editOrderItemSlice,
//     editOrder: editOrderSlice,
//     detailsTable: detailsTableSlice,
//   },
// });
// export type RootState = ReturnType<typeof store.getState>;
// export type AppDispatch = typeof store.dispatch;

import { configureStore } from "@reduxjs/toolkit";
import authSliceReducer from "./userAuth/loginSlice";
import retailerAuthSlice from "./(Retailer)/UserAuth/loginSlice";
import customerSliceReducer from "./CustomerInfo/customerInfoSlice";
import retailerCustomerSlice from "./(Retailer)/CustomerInfo/customerInfoSlice";
import addCustomerSliceReducer from "./AddCustomer/addCustomerSlice";
import getEmployeeSliceReducer from "./AddCustomer/getResponsibleEmployeeSlice";
import getShippingAddressSlice from "./AddCustomer/getShippingAddressSlice";
import roomSliceReducer from "./AddProduct/roomSlice";
import retailerRoomSlice from "./(Retailer)/AddProduct/roomSlice";
import getCategoryAndProductSliceReducer from "./AddProduct/categoryAndProductSlice";
import attributesSliceReducer from "./AddProduct/attributesSlice";
import orderSliceReducer from "./Order/orderSlice";
import getOrderReducer from "./Order/OrderReceipt/getOrderSlice";
import customerInfoEditSlice from "./Order/OrderReceipt/customerInfoEditSlice";
import listingSliceReducer from "./Order/listing";
import listingDeleteReducer from "./Order/listingDelete";
import editOrderItemSlice from "./Order/OrderReceipt/editOrderItemSlice";
import editOrderSlice from "./Order/EditOrder/editOrderSlice";
import orderStatusSlice from "./Order/orderStatusSlice";
import logOutSlice from "./userAuth/logoutSlice";
import pdfReceiptSlice from "./Order/OrderReceipt/pdfReceipt";
import getSearchAttributes from "./Order/listingSearch";
import getControllerData from "./AddProduct/controllerSlice";
import itemsDeleteSlice from "./Order/OrderReceipt/itemsDeleteSlice";
import receivePaymentSlice from "./Order/OrderReceipt/receivePaymentSlice";
import bulkReceivePaymentSlice from "./Order/OrderReceipt/bulkReceivePaymentSlice";
import checkCommercialInvoiceSlice from "./Order/CommercialInvoice/checkCommercialInvoiceSlice";
import commercialInvoiceDataSlice from "./Order/CommercialInvoice/commercialInvoiceDataSlice";
import storeCommercialInvoiceSlice from "./Order/CommercialInvoice/storeCommercialInvoiceSlice";
import sendEmailCommercialInvoiceSlice from "./Order/CommercialInvoice/sendEmailCommercialInvoiceSlice";
import checkPackageListSlice from "./Order/PackageList/checkPackageListSlice";
import packageListDataSlice from "./Order/PackageList/packageListDataSlice";
import storePackageListSlice from "./Order/PackageList/storePackageListSlice";
import sendEmailPackageListSlice from "./Order/PackageList/sendEmailPackageListSlice";
import splitOrderSlice from "./Order/OrderReceipt/splitOrderSlice";
import orderReset from "./Order/OrderReceipt/resetOrderSlice";
import detailsTableSlice from "./DetailsTable/detailsTableSlice";
//retailer
import retailerFractionSlice from "./(Retailer)/AddProduct/widthFractionSlice"
import retailerCategorySlice from "./(Retailer)/Category/categorySlice"
import retailerProductSlice from "./(Retailer)/Category/productSlices"
import retailerPatternSlice from "./(Retailer)/Category/patternSlice"
import retailerPriceCallSlice from "./(Retailer)/Category/priceCallSlice"
import retailerUpchargeSlice from "./(Retailer)/Category/getUpchargeSlice"
import retailerAddToCartSlice from "./(Retailer)/AddToCart/addToCartSlice"
import productDiscountSlice from "./(Retailer)/AddToCart/getProductDiscount"
import htWdFractionSlice from "./(Retailer)/AddProduct/getHeightWidthFraction"
import updatedQuotationSlice from "./(Retailer)/AddToCart/saveUpdatedQuotation"
import generateReceiptSlice from "./(Retailer)/AddToCart/generateReceipt"
import customerSidemarkSlice from "./(Retailer)/CustomerInfo/customerSidemark";
import quotationReceiptSlice from "./(Retailer)/QuotationView/quotationReceipt";
import getQuotationsSlice from "./(Retailer)/ManageQuotation/getQuotationsSlice";
import updateQuotationStatusSlice from "./(Retailer)/ManageQuotation/updateQuotationStatusSlice";
import deleteQuotationSlice from "./(Retailer)/ManageQuotation/deleteQuotationSlice";
import geteditQuotationSlice from "./(Retailer)/EditQuotaton/getEditQuotation";
import getUpchargesSlice from "./(Retailer)/QuotationUpcharges/getUpcharges";
import addUpchargesSlice from "./(Retailer)/QuotationUpcharges/addUpcharges";
import updateUpchargesSlice from "./(Retailer)/QuotationUpcharges/updateUpcharges";
import deleteUpchargesSlice from "./(Retailer)/QuotationUpcharges/deleteUpcharges";
import getProductDetEditSlice from "./(Retailer)/QuotationView/getProductEdit";
import newOrderFormSlice from "./(Retailer)/QuotationView/newOrderForm";
import getAttributeSlice from "./(Retailer)/OrderForm/getAttributesSlice";
import orderAddToCartSlice from "./(Retailer)/OrderForm/addToCart";
import getOrderDetailsSlice from "./(Retailer)/OrderForm/getOrderDetails";
import orderSidemarkSlice from "./(Retailer)/OrderDetails/getCustomerSideMark";
import getRetailOrdersSlice from "./(Retailer)/ManageOrders/getRetailerOrders";
import getManualInvoicesSlice from "./(Retailer)/ManageOrders/Invoice/getManualInvoices";
import getInvoiceForEditSlice from "./(Retailer)/ManageOrders/Invoice/getInvoiceForEdit";
import getInvoiceInitialDataSlice from "./(Retailer)/ManageOrders/Invoice/getInvoiceInitialData";
import createManualInvoiceSlice from "./(Retailer)/ManageOrders/Invoice/createManualInvoice";
import updateManualInvoiceSlice from "./(Retailer)/ManageOrders/Invoice/updateManualInvoice";
import getMyOrderListsSlice from "./(Retailer)/ManageOrders/getMyOrderLists";

export const store = configureStore({
  reducer: {
    userAuth: authSliceReducer,
    retailerAuth: retailerAuthSlice,
    customerInfo: customerSliceReducer,
    retailerCustomerInfo:retailerCustomerSlice,
    addCustomer: addCustomerSliceReducer,
    responsibleEmployee: getEmployeeSliceReducer,
    shippingAddress: getShippingAddressSlice,
    roomData: roomSliceReducer,
    retailerRoomData: retailerRoomSlice,
    categoryAndProduct: getCategoryAndProductSliceReducer,
    attributes: attributesSliceReducer,
    orderData: orderSliceReducer,
    orderDataFetch: getOrderReducer,
    customerInfoEdit: customerInfoEditSlice,
    listingFetch: listingSliceReducer,
    ListingFunctions: listingDeleteReducer,
    editOrderItem: editOrderItemSlice,
    editOrder: editOrderSlice,
    orderStatus: orderStatusSlice,
    logOut: logOutSlice,
    pdfReceipt: pdfReceiptSlice,
    getSeacrhAttributeSlice: getSearchAttributes,
    getControllerSlice: getControllerData,
    deleteItemslice: itemsDeleteSlice,
    receivePaymentLink: receivePaymentSlice,
    bulkReceivePayment: bulkReceivePaymentSlice,
    checkCommercialInvoice: checkCommercialInvoiceSlice,
    commercialInvoiceData: commercialInvoiceDataSlice,
    storeCommercialInvoice: storeCommercialInvoiceSlice,
    sendEmailCommercialInvoice: sendEmailCommercialInvoiceSlice,
    checkPackageList: checkPackageListSlice,
    packageListData: packageListDataSlice,
    storePackageList: storePackageListSlice,
    sendEmailPackageList: sendEmailPackageListSlice,
    splitorderSlice: splitOrderSlice,
    orderResetSlice: orderReset,
    detailsTable: detailsTableSlice,
    //retailer
    retailerFractions: retailerFractionSlice,
    retailerCategoryData: retailerCategorySlice,
    retailerProductData: retailerProductSlice,
    retailerPatternData: retailerPatternSlice,
    retailerPriceCall: retailerPriceCallSlice,
    retailerUpcharge: retailerUpchargeSlice,
    retailerAddToCart: retailerAddToCartSlice,
    productDiscount: productDiscountSlice,
    htWdFraction: htWdFractionSlice,
    updatedQuotationSlice: updatedQuotationSlice,
    generateReceipt: generateReceiptSlice,
    customerSidemark: customerSidemarkSlice,
    quotationReceipt: quotationReceiptSlice,
    quotations: getQuotationsSlice,
    updateQuotationStatus: updateQuotationStatusSlice,
    deleteQuotation: deleteQuotationSlice,
    getEditQuotation: geteditQuotationSlice,
    getUpcharges: getUpchargesSlice,
    addUpcharges: addUpchargesSlice,
    updateUpcharges: updateUpchargesSlice,
    deleteUpcharges: deleteUpchargesSlice,
    productDetailEdit: getProductDetEditSlice,
    newOrderForm: newOrderFormSlice,
    getAttributes: getAttributeSlice,
    orderAddToCart: orderAddToCartSlice,
    getOrderDetails: getOrderDetailsSlice,
    orderSidemark: orderSidemarkSlice,
    retailOrders: getRetailOrdersSlice,
    manualInvoices: getManualInvoicesSlice,
    invoiceForEdit: getInvoiceForEditSlice,
    invoiceInitialData: getInvoiceInitialDataSlice,
    createManualInvoice: createManualInvoiceSlice,
    updateManualInvoice: updateManualInvoiceSlice,
    myOrderLists: getMyOrderListsSlice,
  },
});
export type RootState = ReturnType<typeof store.getState>;
export type AppDispatch = typeof store.dispatch;
