import { useCallback, useEffect, useState } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { BiHomeSmile, BiBookOpen } from 'react-icons/bi';
import { FcSelfServiceKiosk } from 'react-icons/fc';
import { FiSettings } from 'react-icons/fi';
import { GiExitDoor } from "react-icons/gi";
import { TbReportAnalytics } from 'react-icons/tb';
import { MdOutlineLogout, MdOutlineLogin } from 'react-icons/md';
import { AiOutlineLogin } from 'react-icons/ai';
import { TbAppsFilled } from 'react-icons/tb';
import { IoLogoAndroid } from 'react-icons/io5';
import SideMenu from '../../Components/Menu/SideMenu';
import SideMenuPozo from '../../Components/Menu/SideMenuPozo';
import CenterPage from './CenterPage';
import { getItem, getsubItem } from '../../Components/Menu/SideMenu';
import {
getSession,
sessionStore,
encryptedValuesUrlFun,
} from '../../Services/Others';
import '../../styles/AppPage/AppPage.scss';
import {
getCompBranchData,
changeSelectedBranchId,
GenerateLogout,
ApplicationPreferences,
globalBranchType,
} from '../../Features/BrachLogin/BranchLogin.js';
import { useLocation } from 'react-router-dom';
import { Messages } from '../../Components/Notifications/Messages.jsx';
import { getCustomerDisplayWindow } from '../../Features/customerDisplayWindow/customerDisplayWindow.js';
import { changepreOrder } from '../../Features/BookingScreen/PreOrder/PreOrder.js';
import { useAuth } from '../../AuthContext.jsx'; // Assuming you have an AuthContext
import {
gettableData,
preferencechangeStatus,
settingDataSelector,
} from '../../Features/PreferenceMaster/PreferenceMaster.js';
const subDirectory = import.meta.env.BASE_URL;
const commonDirectory = import.meta.env.COMMON_BASE_URL;
const AppPage = () => {
const dispatch = useDispatch();
const location = useLocation();
const AppId = getSession('AppId');
const CompId = getSession('CompId');
const BranchId = getSession('BranchId');
const UserId = getSession('UserId');
const [collapse, setCollapse] = useState(false);
const {
UserType,
Access,
SadminuserAccess,
Advance,
ProORAdvance,
featureaddDetails,
} = useAuth();
// Retrieve user details
const DineInStatus = useSelector(preferencechangeStatus);
const iswarehouse = useSelector(globalBranchType);
console.log(SadminuserAccess, 'SadminuserAccess');
const SettingData = useSelector(settingDataSelector);
const appPreferences = useSelector(ApplicationPreferences);
const bookingTypePreference = appPreferences?.find(
(preference) => preference?.PreferredCatName === 'Booking Type'
)?.PreferenceCatDetails;
const dinePreference = bookingTypePreference?.find(
(type) =>
type?.PreferredSubCatName?.toLowerCase() === 'dine in' &&
type?.PreferredStatus === 'Y'
);
console.log(dinePreference,"dinePreference")
const takeAwayPreference = bookingTypePreference?.find(
(type) =>
type?.PreferredSubCatName?.toLowerCase() === 'take away' &&
type?.PreferredStatus === 'Y'
);
const [CompBranchData, setCompBranchData] = useState();
const [messageType, setMessageType] = useState(null);
const [messageData, setMessageData] = useState(null);
const [EmpSettingMenu, setEmpSettingMenu] = useState([]);
const [EmpfilterReportMenu, setfilterReportMenu] = useState([]);
const [EmpBookingMenuItem, setEmpBookingMenuItem] = useState([]);
const [EmpKioskMenuItem, setEmpKioskMenuItem] = useState([]);
const [empinfoMenu, setempinfoMenu] = useState([]);
const [offemenu, setofferMenu] = useState([]);
const [payMenu, setPayMenu] = useState([]);
const [CancelMenu, setCancelMenu] = useState([]);
const [SalesMenu, setSalesMenu] = useState([]);
const [AndroidApp, setAndroidApp] = useState([]);
const [Empprodmenu, setEmpprodmenu] = useState([]);
const [SadminUserSettingMenu, setSadminUserEmpSettingMenu] = useState([]);
const [SadminUserfilterReportMenu, setSadminUserfilterReportMenu] = useState(
[]
);
const [SadminUserBookingMenuItem, setSadminUserBookingMenuItem] = useState(
[]
);
const [SadminUserKioskMenuItem, setSadminUserKioskMenuItem] = useState([]);
const [SadminUserinfoMenu, setSadminUserinfoMenu] = useState([]);
const [SadminUseroffemenu, setSadminUserofferMenu] = useState([]);
const [SadminUserpayMenu, setSadminUserPayMenu] = useState([]);
const [SadminUserCancelMenu, setSadminUserCancelMenu] = useState([]);
const [SadminUserSalesMenu, setSadminUserSalesMenu] = useState([]);
const [SadminUserAndroidApp, setSadminUserAndroidApp] = useState([]);
const [SadminUserprodmenu, setSadminUserEmpprodmenu] = useState([]);
const [DineinData, setDineinData] = useState(false);
const [EstimateData, setEstimateData] = useState(false);
useEffect(() => {
fetchBranchData();
clearCustomerDisplay();
}, []);
const onComplete = useCallback(() => {
setMessageData(null);
setMessageType(null);
}, []);
useEffect(() => {
fetchBranchData();
}, [CompId]);
useEffect(() => {
updateSelectedMenuItem();
}, [location.pathname]);
useEffect(() => {
if (Access?.length > 0) {
EmpAccesFilterFun(Access);
}
}, [Access, SettingData, SadminuserAccess]);
useEffect(() => {
if (SadminuserAccess?.length > 0) {
SAdminuserAccesFilterFun(SadminuserAccess);
}
}, [SadminuserAccess, SettingData, Access]);
useEffect(() => {
if (SettingData?.length === 0) {
Dinein();
} else {
const SettingValueData = SettingData?.find(
(e) => e.AppId === AppId
)?.SettingDtlDetails?.some(
(e) => e.SettingIdName === 'DineIn' && e.SettingValue === 'Y'
);
if (SettingValueData) {
setDineinData(true);
} else {
setDineinData(false);
}
const EstimateValueData = SettingData?.find(
(e) => e.AppId === AppId
)?.SettingDtlDetails?.some(
(e) => e.SettingIdName === 'Estimation' && e.SettingValue === 'Y'
);
if (EstimateValueData) {
setEstimateData(true);
} else {
setEstimateData(false);
}
}
}, [BranchId]);
useEffect(() => {
Dinein();
}, [DineInStatus]);
useEffect(() => {
const empdata =
empinfoMenu.length > 0
? [
getsubItem(
'Employee Info',
`${subDirectory}employee`,
null,
empinfoMenu
),
]
: [];
const prodata =
Empprodmenu.length > 0
? [
getsubItem(
'Product Info',
`${subDirectory}product`,
null,
Empprodmenu
),
]
: [];
const offermenu =
offemenu.length > 0
? [getsubItem('Offer', `${subDirectory}offer`, null, offemenu)]
: [];
const PaymentMenu =
payMenu.length > 0
? [getsubItem('Payment', `${subDirectory}Payment`, null, payMenu)]
: [];
const salesMenu =
SalesMenu.length > 0
? [
getsubItem(
'Sales Layout',
`${subDirectory}saleslayouts`,
null,
SalesMenu
),
]
: [];
const cancelMenus =
CancelMenu.length > 0
? [
getsubItem(
'Cancel / Reschedule',
`${subDirectory}cancelReschedule`,
null,
CancelMenu
),
]
: [];
const indexToSliceFirst = SuperAdminUserSettingmenuItems?.findIndex(
(item) => item.label === 'Preference'
);
const indexToSliceSecond = SuperAdminUserSettingmenuItems?.findIndex(
(item) => item.label === 'Extra Charges'
);
setEmpSettingMenu((prevMenu) => [
...prevMenu.slice(0, indexToSliceFirst),
...prodata,
...prevMenu.slice(indexToSliceFirst, indexToSliceSecond),
...empdata,
...offermenu,
...salesMenu,
...prevMenu.slice(indexToSliceSecond),
...PaymentMenu,
...cancelMenus,
]);
}, [empinfoMenu, Empprodmenu]);
useEffect(() => {
const Sdminuserdata =
SadminUserinfoMenu.length > 0
? [
getsubItem(
'Employee Info',
`${subDirectory}employee`,
null,
SadminUserinfoMenu
),
]
: [];
const Sdminuserprodata =
SadminUserprodmenu.length > 0
? [
getsubItem(
'Product Info',
`${subDirectory}product`,
null,
SadminUserprodmenu
),
]
: [];
const Sdminuseroffermenu =
SadminUseroffemenu.length > 0
? [
getsubItem(
'Offer',
`${subDirectory}offer`,
null,
SadminUseroffemenu
),
]
: [];
const SdminuserPaymentMenu =
SadminUserpayMenu.length > 0
? [
getsubItem(
'Payment',
`${subDirectory}Payment`,
null,
SadminUserpayMenu
),
]
: [];
const SdminusersalesMenu =
SadminUserSalesMenu.length > 0 && !iswarehouse
? [
getsubItem(
'Sales Layout',
`${subDirectory}saleslayouts`,
null,
SadminUserSalesMenu
),
]
: [];
const SdminusercancelMenus =
SadminUserCancelMenu.length > 0 && !iswarehouse
? [
getsubItem(
'Cancel / Reschedule',
`${subDirectory}cancelReschedule`,
null,
SadminUserCancelMenu
),
]
: [];
const indexToSliceFirst = SuperAdminUserSettingmenuItems?.findIndex(
(item) => item.label === 'Common Master'
);
const indexToSliceSecond = SuperAdminUserSettingmenuItems?.findIndex(
(item) => item.label === 'Extra Charges'
);
setSadminUserEmpSettingMenu((SdminuserprevMenu) => [
...SdminuserprevMenu.slice(0, indexToSliceFirst),
...Sdminuserprodata,
...SdminuserprevMenu.slice(indexToSliceFirst, indexToSliceSecond),
...Sdminuserdata,
...Sdminuseroffermenu,
...SdminusersalesMenu,
...SdminuserprevMenu.slice(indexToSliceSecond),
...SdminuserPaymentMenu,
...SdminusercancelMenus,
]);
}, [SadminUserinfoMenu, SadminUserprodmenu]);
const Dinein = async () => {
if (AppId && CompId && BranchId) {
let DineinData = {
AppId: AppId,
CompId: CompId,
BranchId: BranchId,
};
const response = await dispatch(gettableData(DineinData)).unwrap();
if (response?.data?.statusCode === 1) {
const SettingValueData = response?.data?.data
?.find((e) => e.AppId === AppId)
?.SettingDtlDetails?.some(
(e) => e.SettingIdName === 'DineIn' && e.SettingValue === 'Y'
);
if (SettingValueData) {
setDineinData(true);
} else {
setDineinData(false);
}
const EstimateValueData = response?.data?.data
?.find((e) => e.AppId === AppId)
?.SettingDtlDetails?.some(
(e) => e.SettingIdName === 'Estimation' && e.SettingValue === 'Y'
);
if (EstimateValueData) {
setEstimateData(true);
} else {
setEstimateData(false);
}
} else {
setDineinData(false);
setEstimateData(false);
}
}
};
const updateSelectedMenuItem = () => {
const path = location.pathname;
let key = 'home'; // Default key
if (path.includes('/home')) key = 'home';
else if (path.includes('/setting')) key = 'setting';
};
const clearCustomerDisplay = async () => {
await dispatch(changepreOrder(false));
const customerDisplayWindow = getCustomerDisplayWindow();
if (customerDisplayWindow && !customerDisplayWindow.closed) {
const updatedRemovedData = {
userData: [],
ExtraCharges: [],
paymentMethod: 'Cash',
type: 'remove',
keyValue: 'customer',
};
customerDisplayWindow.postMessage(updatedRemovedData, '*');
} else {
console.error(
'Customer display window is not available or has been closed.'
);
}
};
const fetchBranchData = async () => {
if (
getSession('UserType') === 'Super Admin' ||
getSession('UserType') === 'Super Admin User'
) {
const response = await dispatch(
getCompBranchData({ CompId: CompId, AppId: AppId })
).unwrap();
if (response?.data?.statusCode === 1) {
setCompBranchData(response?.data?.data);
if (response?.data?.data?.length == 1) {
await sessionStore('BranchId', response?.data?.data?.[0]?.BrId);
await dispatch(
changeSelectedBranchId(response?.data?.data?.[0]?.BrId)
);
}
}
} else if (
getSession('UserType') === 'Admin' ||
getSession('UserType') === 'Admin User'
) {
const response = await dispatch(
getCompBranchData({ AppId: AppId, UserId: UserId, CompId: CompId })
).unwrap();
if (response?.data?.statusCode === 1) {
setCompBranchData(response?.data?.data);
if (response?.data?.data?.length == 1) {
await sessionStore('BranchId', response?.data?.data?.[0]?.BrId);
await dispatch(
changeSelectedBranchId(response?.data?.data?.[0]?.BrId)
);
}
}
}
};
// Super Admin User Menu
//***************************** */
const SuperAdminUserInfoitem = !iswarehouse
? [
getsubItem('Shift', `${subDirectory}setting/shift-master`),
getsubItem('Employee', `${subDirectory}setting/employee-master`),
getsubItem(
'Commission / Incentive',
`${subDirectory}setting/commission-or-incentive-master`
),
getsubItem('Employee Access', `${subDirectory}setting/employee-access`),
getsubItem('TableMapping', `${subDirectory}setting/TableMapping`),
]
: [];
const SadminUserPurchaseMenuItem = [
getsubItem('Purchase Order', `${subDirectory}setting/purchase-order`),
getsubItem('Purchase Entry', `${subDirectory}setting/purchase-entry/new`),
getsubItem('Purchase Return', `${subDirectory}setting/purchase-return`),
];
const SadminUserprodMenu = [
getsubItem('Sales Quotation', `${subDirectory}setting/sales-quotation`),
getsubItem(
'Delivery Challan Info',
`${subDirectory}setting/delivery-challan`,
null,
[
getsubItem(
'Delivery Challan',
`${subDirectory}setting/delivery-challan`
),
getsubItem(
'DC to Invoice',
`${subDirectory}setting/delivery-challan-to-invoice`
),
]
),
getsubItem('Product', `${subDirectory}setting/product-master`),
getsubItem('Image Bulk Upload', `${subDirectory}setting/image-bulk-upload`),
getsubItem('Supplier', `${subDirectory}setting/supplier`, null, [
getsubItem('Supplier Master', `${subDirectory}setting/supplier-master`),
getsubItem(
'Supplier Product Mapping',
`${subDirectory}setting/supplierproductmapping-master`
),
]),
getsubItem('Price Change', `${subDirectory}setting/price-change`),
!iswarehouse &&
getsubItem(
'Product Catalogue',
`${subDirectory}setting/product-catalogue`
),
!iswarehouse &&
getsubItem(
'Counter Category Mapping',
`${subDirectory}setting/counter-category-mapping`
),
];
const SuperAdminUserpayMentMenu = !iswarehouse
? [
getsubItem('Payment Details', `${subDirectory}setting/payment-details`),
getsubItem('Payment Options', `${subDirectory}setting/payment-options`),
getsubItem(
'Payment Device Access',
`${subDirectory}setting/payment-device-access`
),
getsubItem(
'Payment Received',
`${subDirectory}setting/payment-received-retail`
),
]
: [];
const SuperAdminUsersalesMenuList = [
getsubItem('UI Component', `${subDirectory}saleslayouts/component-master`),
getsubItem(
'Barcode Component',
`${subDirectory}saleslayouts/barcode-master`
),
getsubItem(
'Kiosk Component',
`${subDirectory}saleslayouts/kiosk-component`
),
getsubItem('Theme Creation', `${subDirectory}saleslayouts/theme-creation`),
getsubItem('Sales Setup', `${subDirectory}saleslayouts/sales-selection`),
getsubItem('Print Setup', `${subDirectory}saleslayouts/print-selection`),
getsubItem('Kiosk Setup', `${subDirectory}saleslayouts/kiosk-selection`),
getsubItem(
'Barcode / Qr Setup',
`${subDirectory}saleslayouts/barcode-qr-selection`
),
];
const SuperAdminUserSettingmenuItems = !iswarehouse
? [
getsubItem('Config Type', `${subDirectory}setting/config-type`),
getsubItem('Common Master', `${subDirectory}setting/common-master`),
getsubItem('Preference', `${subDirectory}setting/preference`),
DineinData && dinePreference
? getsubItem('Dine In', `${subDirectory}setting/dinein-master`)
: '',
getsubItem('Tax', `${subDirectory}setting/admin-tax`),
getsubItem('Customer', `${subDirectory}setting/customer-master`),
getsubItem('Extra Charges', `${subDirectory}setting/extra-charges`),
getsubItem(
'Exchange and Return policy',
`${subDirectory}setting/Exchange-Return-policy`,
null,
[
getsubItem(
'Exchange and Return policy',
`${subDirectory}setting/Exchange-Return-policy`
),
getsubItem(
'Map Products',
`${subDirectory}setting/Exchange-Return-policy`
),
]
),
getsubItem('Create Ticket', `${subDirectory}setting/create-ticket`),
]
: [];
const ComboMenu = [
getsubItem('Combo Product', `${subDirectory}setting/combo-master`),
getsubItem('Combo Price', `${subDirectory}setting/combo-offer-master`),
];
const SuperAdminUserofferMenu = !iswarehouse
? [
getsubItem('Offer', `${subDirectory}setting/offer`),
getsubItem('Item Wise Offer', `${subDirectory}setting/item-wise`),
getsubItem('Sales Wise Offer', `${subDirectory}setting/sales-wise`),
getsubItem(
'Quantity Wise Offer',
`${subDirectory}setting/quantity-wise`
),
getsubItem(
'Buy X and Get X or Y',
`${subDirectory}setting/buyone-getone`
),
getsubItem('Loyalty Cards', `${subDirectory}setting/loyalty-point`),
getsubItem('Bundle Offer', `${subDirectory}setting/bundle-offer`),
getsubItem('Coupon Wise Offer', `${subDirectory}setting/coupon`),
getsubItem('Promo Code', `${subDirectory}setting/promo-code`),
getsubItem('Offer Code', `${subDirectory}setting/offer-code`),
getsubItem(
'Free Products/Purchase',
`${subDirectory}setting/free-product/purchase`,
null,
[
getsubItem(
'Free Product Info',
`${subDirectory}setting/free-product-master`
),
getsubItem(
'Free Purchase Info',
`${subDirectory}setting/free-purchase`,
null,
[
getsubItem(
'Free Purchase Order',
`${subDirectory}setting/free-purchase-order`
),
getsubItem(
'Free Purchase Entry',
`${subDirectory}setting/free-purchase-entry`
),
getsubItem(
'Free Purchase Return',
`${subDirectory}setting/free-purchase-return`
),
]
),
]
),
]
: [];
const SuperAdminUserCancelMenuList = !iswarehouse
? [
getsubItem(
'Cancel Applicable Products',
`${subDirectory}setting/cancel-applicable-product`
),
getsubItem(
'Cancellation and Reschedule Rules',
`${subDirectory}setting/cancel-reschedule-rules`
),
getsubItem(
'Cancel Payment Change',
`${subDirectory}setting/cancel-paymentchange`
),
getsubItem(
'Cancel Unpaid Device Orders',
`${subDirectory}setting/cancel-pendingpayment`
),
getsubItem(
'Sales Bill Cancel',
`${subDirectory}setting/sales-bill-cancel`
),
getsubItem(
'Sales Bill Product Return',
`${subDirectory}setting/sales-bill-product-return`
),
]
: [];
const SuperAdminUserReportMenu = !iswarehouse
? [
DineinData && dinePreference
? getsubItem('KOT', `${subDirectory}report/kot`)
: '',
getsubItem(
'Tip Amount Settlement',
`${subDirectory}report/tipamountsettlementlist`
),
getsubItem(
'PublicQrCode',
`${subDirectory}report/PublicQrCode`
),
getsubItem(
'Empoloyee Settlement',
`${subDirectory}report/EmployeeSettlement`
),
getsubItem(
'Date Wise Sales Report',
`${subDirectory}report/datewisereport`
),
getsubItem(
'Item Wise Sales Report',
`${subDirectory}report/itemwisereport`
),
EstimateData
? getsubItem('Estimate', `${subDirectory}report/`, null, [
getsubItem(
'Item Wise Report',
`${subDirectory}report/estimateitemwisereport`
),
getsubItem(
'Date Wise Report',
`${subDirectory}report/estimatedatewisereport`
),
])
: '',
getsubItem('Revenue', `${subDirectory}report/revenu`, null, [
// getsubItem('Revenue Date Wise Report', `${subDirectory}report/revenuedatewisereport`),
getsubItem(
'Revenue Item Wise Report',
`${subDirectory}report/revenueitemWisereport`
),
]),
getsubItem('Ledger', `${subDirectory}report/ledgerreport`),
getsubItem(
'Reprint',
`${subDirectory}report/reprintreasonreport`
),
]
: [];
const SuperAdminUserBookingMenuItem = !iswarehouse
? [
getItem(
'Sales',
`${subDirectory}sales`,
),
getItem(
'Kiosk Sales',
`${subDirectory}kiosksales`,
),
]
: [];
const SuperAdminUserkioskMenuItem = [
getItem(
'Kiosk Sales',
`${subDirectory}kiosksales`,
),
];
const SuperAdminUserAndroidAppMenuItem = !iswarehouse
? [
getItem(
'Android App',
`${subDirectory}android-app`,
),
]
: [];
const filterSadminUserMenuItems = (menu, configList) => {
return menu?.filter((item) => {
const config = configList?.find(
(config) => config.MenuName === item?.label && config.ReadAccess === 'Y'
);
return config;
});
};
const SAdminuserAccesFilterFun = async (Access) => {
const menuConfig = [
{
items: SuperAdminUserSettingmenuItems,
setter: setSadminUserEmpSettingMenu,
},
{ items: SuperAdminUsersalesMenuList, setter: setSadminUserSalesMenu },
{
items: SuperAdminUserReportMenu,
setter: setSadminUserfilterReportMenu,
},
{
items: SuperAdminUserBookingMenuItem,
setter: setSadminUserBookingMenuItem,
},
{
items: SuperAdminUserkioskMenuItem,
setter: setSadminUserKioskMenuItem,
},
{ items: SuperAdminUserInfoitem, setter: setSadminUserinfoMenu },
{ items: SuperAdminUserpayMentMenu, setter: setSadminUserPayMenu },
{ items: SuperAdminUserCancelMenuList, setter: setSadminUserCancelMenu },
{
items: SuperAdminUserAndroidAppMenuItem,
setter: setSadminUserAndroidApp,
},
];
menuConfig.forEach(({ items, setter }) => {
const filteredMenu = filterSadminUserMenuItems(items, Access);
setter(filteredMenu);
});
const filterComboMenuItem = filterSadminUserMenuItems(ComboMenu, Access);
const filterOfferMenuItem = filterSadminUserMenuItems(
SuperAdminUserofferMenu,
Access
);
const filterprodMenuItem = filterSadminUserMenuItems(
SadminUserprodMenu,
Access
);
const filterPurchaseinfoMenuItem = filterSadminUserMenuItems(
SadminUserPurchaseMenuItem,
Access
);
const indexToSliceFirst = SadminUserprodMenu?.findIndex(
(item) => item.label === 'Product'
);
setSadminUserEmpprodmenu([
...filterprodMenuItem.slice(0, indexToSliceFirst + 1),
...(filterPurchaseinfoMenuItem.length > 0
? [
getsubItem(
'Purchase',
`${subDirectory}purchase`,
null,
filterPurchaseinfoMenuItem
),
]
: []),
...filterprodMenuItem.slice(indexToSliceFirst + 1),
]);
setSadminUserofferMenu([
...filterOfferMenuItem.slice(0, indexToSliceFirst + 1),
...(filterComboMenuItem && filterComboMenuItem?.length > 0
? [
getsubItem(
'Combo Pack',
`${subDirectory}setting/combopack`,
null,
filterComboMenuItem
),
]
: []),
]);
};
//***************************** */
// Employee Menu
//***************************** */
const empinfoitem = [
getsubItem('Shift', `${subDirectory}setting/shift-master`),
getsubItem('Employee', `${subDirectory}setting/employee-master`),
getsubItem('Employee Access', `${subDirectory}setting/employee-access`),
getsubItem('TableMapping', `${subDirectory}setting/TableMapping`),
];
const PurchaseMenuItem = [
getsubItem('Purchase Order', `${subDirectory}setting/purchase-order`),
getsubItem('Purchase Entry', `${subDirectory}setting/purchase-entry/new`),
getsubItem('Purchase Return', `${subDirectory}setting/purchase-return`),
];
const prodMenu = [
getsubItem('Sales Quotation', `${subDirectory}setting/sales-quotation`),
getsubItem(
'Delivery Challan Info',
`${subDirectory}setting/delivery-challan`,
null,
[
getsubItem(
'Delivery Challan',
`${subDirectory}setting/delivery-challan`
),
getsubItem(
'DC to Invoice',
`${subDirectory}setting/delivery-challan-to-invoice`
),
]
),
getsubItem('Product', `${subDirectory}setting/product-master`),
getsubItem('Image Bulk Upload', `${subDirectory}setting/image-bulk-upload`),
getsubItem('Supplier', `${subDirectory}setting/supplier`, null, [
getsubItem('Supplier Master', `${subDirectory}setting/supplier-master`),
getsubItem(
'Supplier Product Mapping',
`${subDirectory}setting/supplierproductmapping-master`
),
]),
getsubItem('Price Change', `${subDirectory}setting/price-change`),
ProORAdvance ||
featureaddDetails?.find(
(item) => item?.FeatureAddonName?.toLowerCase() === 'catalog'
)
? getsubItem(
'Product Catalogue',
`${subDirectory}setting/product-catalogue`
)
: '',
getsubItem(
'Counter Category Mapping',
`${subDirectory}setting/counter-category-mapping`
),
];
const payMentMenu = [
getsubItem('Payment Details', `${subDirectory}setting/payment-details`),
getsubItem('Payment Options', `${subDirectory}setting/payment-options`),
getsubItem(
'Payment Device Access',
`${subDirectory}setting/payment-device-access`
),
getsubItem(
'Payment Received',
`${subDirectory}setting/payment-received-retail`
),
];
const salesMenuList = [
(Advance ||
Boolean(
featureaddDetails?.find(
(item) =>
item?.FeatureAddonName?.toLowerCase() === 'customized template'
)
)) &&
getsubItem('Sales Setup', `${subDirectory}saleslayouts/sales-selection`),
(Advance ||
Boolean(
featureaddDetails?.find(
(item) =>
item?.FeatureAddonName?.toLowerCase() === 'customized template'
)
)) &&
getsubItem('Print Setup', `${subDirectory}saleslayouts/print-selection`),
featureaddDetails?.find(
(item) => item?.FeatureAddonName?.toLowerCase() === 'kiosk sales'
) &&
getsubItem('Kiosk Setup', `${subDirectory}saleslayouts/kiosk-selection`),
Advance ||
featureaddDetails?.find(
(item) => item?.FeatureAddonName?.toLowerCase() === 'customized template'
)
? getsubItem(
'Barcode / Qr Setup',
`${subDirectory}saleslayouts/barcode-qr-selection`
)
: '',
];
const SettingmenuItems = [
getsubItem('Common Master', `${subDirectory}setting/common-master`),
getsubItem('Preference', `${subDirectory}setting/preference`),
DineinData && dinePreference
? getsubItem('Dine In', `${subDirectory}setting/dinein-master`)
: '',
getsubItem('Tax', `${subDirectory}setting/admin-tax`),
getsubItem('Customer', `${subDirectory}setting/customer-master`),
getsubItem('Extra Charges', `${subDirectory}setting/extra-charges`),
getsubItem(
'Exchange and Return policy',
`${subDirectory}setting/Exchange-Return-policy`,
null,
[
getsubItem(
'Exchange and Return policy',
`${subDirectory}setting/Exchange-Return-policy`
),
getsubItem(
'Map Products',
`${subDirectory}setting/Exchange-Return-policy`
),
]
),
getsubItem('Create Ticket', `${subDirectory}setting/create-ticket`),
];
const offerMenu = [
getsubItem('Offer', `${subDirectory}setting/offer`),
getsubItem('Item Wise Offer', `${subDirectory}setting/item-wise`),
getsubItem('Sales Wise Offer', `${subDirectory}setting/sales-wise`),
getsubItem('Quantity Wise Offer', `${subDirectory}setting/quantity-wise`),
getsubItem('Buy X and Get X or Y', `${subDirectory}setting/buyone-getone`),
getsubItem('Loyalty Cards', `${subDirectory}setting/loyalty-point`),
getsubItem('Bundle Offer', `${subDirectory}setting/bundle-offer`),
getsubItem('Coupon Wise Offer', `${subDirectory}setting/coupon`),
getsubItem('Promo Code', `${subDirectory}setting/promo-code`),
getsubItem('Offer Code', `${subDirectory}setting/offer-code`),
getsubItem(
'Free Products/Purchase',
`${subDirectory}setting/free-product/purchase`,
null,
[
getsubItem(
'Free Product Info',
`${subDirectory}setting/free-product-master`
),
getsubItem(
'Free Purchase Info',
`${subDirectory}setting/free-purchase`,
null,
[
getsubItem(
'Free Purchase Order',
`${subDirectory}setting/free-purchase-order`
),
getsubItem(
'Free Purchase Entry',
`${subDirectory}setting/free-purchase-entry`
),
getsubItem(
'Free Purchase Return',
`${subDirectory}setting/free-purchase-return`
),
]
),
]
),
];
const CancelMenuList = [
getsubItem(
'Cancel Applicable Products',
`${subDirectory}setting/cancel-applicable-product`
),
getsubItem(
'Cancellation and Reschedule Rules',
`${subDirectory}setting/cancel-reschedule-rules`
),
getsubItem(
'Cancel Payment Change',
`${subDirectory}setting/cancel-paymentchange`
),
getsubItem(
'Cancel Unpaid Device Orders',
`${subDirectory}setting/cancel-pendingpayment`
),
getsubItem('Sales Bill Cancel', `${subDirectory}setting/sales-bill-cancel`),
getsubItem(
'Sales Bill Product Return',
`${subDirectory}setting/sales-bill-product-return`
),
];
const ReportMenu = [
getsubItem(
'Tip Amount Settlement',
`${subDirectory}report/tipamountsettlementlist`
),
getsubItem(
'Empoloyee Settlement',
`${subDirectory}report/EmployeeSettlement`
),
getsubItem(
'PublicQrCode',
`${subDirectory}report/PublicQrCode`
),
DineinData && dinePreference
? getsubItem('KOT', `${subDirectory}report/kot`)
: '',
getsubItem(
'Date Wise Sales Report',
`${subDirectory}report/datewisereport`
),
getsubItem(
'Item Wise Sales Report',
`${subDirectory}report/itemwisereport`
),
EstimateData
? getsubItem('Estimate', `${subDirectory}report/`, null, [
getsubItem(
'Item Wise Report',
`${subDirectory}report/estimateitemwisereport`
),
getsubItem(
'Date Wise Report',
`${subDirectory}report/estimatedatewisereport`
),
])
: '',
getsubItem('Revenue', `${subDirectory}report/revenu`, null, [
// getsubItem('Revenue Date Wise Report', `${subDirectory}report/revenuedatewisereport`),
getsubItem(
'Revenue Item Wise Report',
`${subDirectory}report/revenueitemWisereport`
),
]),
getsubItem('Ledger', `${subDirectory}report/ledgerreport`),
getsubItem('Reprint', `${subDirectory}report/reprintreasonreport`),
];
const BookingMenuItem = [
getItem(
'Sales',
`${subDirectory}sales`,
),
featureaddDetails?.find(
(item) => item?.FeatureAddonName?.toLowerCase() === 'kiosk sales'
)
? getItem(
'Kiosk Sales',
`${subDirectory}kiosksales`,
)
: '',
];
const kioskMenuItem = [
featureaddDetails?.find(
(item) => item?.FeatureAddonName?.toLowerCase() === 'kiosk sales'
)
? getItem(
'Kiosk Sales',
`${subDirectory}kiosksales`,
)
: '',
];
const AndroidAppMenuItem = [
getItem(
'Android App',
`${subDirectory}android-app`,
),
];
const filterMenuItems = (menu, configList) => {
return menu?.filter((item) => {
const config = configList?.find(
(config) =>
config.ConfigName === item?.label && config.ReadAccess === 'Y'
);
return config;
});
};
const EmpAccesFilterFun = async (Access) => {
const menuConfig = [
{ items: SettingmenuItems, setter: setEmpSettingMenu },
{ items: salesMenuList, setter: setSalesMenu },
{ items: ReportMenu, setter: setfilterReportMenu },
{ items: BookingMenuItem, setter: setEmpBookingMenuItem },
{ items: kioskMenuItem, setter: setEmpKioskMenuItem },
{ items: empinfoitem, setter: setempinfoMenu },
// { items: offerMenu, setter: setofferMenu },
{ items: payMentMenu, setter: setPayMenu },
{ items: CancelMenuList, setter: setCancelMenu },
{ items: AndroidAppMenuItem, setter: setAndroidApp },
];
menuConfig.forEach(({ items, setter }) => {
const filteredMenu = filterMenuItems(items, Access);
setter(filteredMenu);
});
const filterEmpComboMenuItem = filterMenuItems(ComboMenu, Access);
const filterEmpOfferMenuItem = filterMenuItems(offerMenu, Access);
const filterprodMenuItem = filterMenuItems(prodMenu, Access);
const filterPurchaseinfoMenuItem = filterMenuItems(
PurchaseMenuItem,
Access
);
const indexToSliceFirst = SadminUserprodMenu?.findIndex(
(item) => item.label === 'Product'
);
setEmpprodmenu([
...filterprodMenuItem.slice(0, indexToSliceFirst + 1),
...(filterPurchaseinfoMenuItem.length > 0
? [
getsubItem(
'Purchase',
`${subDirectory}purchase`,
null,
filterPurchaseinfoMenuItem
),
]
: []),
...filterprodMenuItem.slice(indexToSliceFirst + 1),
]);
setofferMenu([
...filterEmpOfferMenuItem.slice(0, indexToSliceFirst + 1),
...(filterEmpComboMenuItem && filterEmpComboMenuItem?.length > 0
? [
getsubItem(
'Combo Pack',
`${subDirectory}setting/combopack`,
null,
filterEmpComboMenuItem
),
]
: []),
]);
};
//***************************** */
const items = [];
if (BranchId === null || BranchId === '' || BranchId === undefined) {
if (getSession('UserType') === 'Super Admin') {
items.push(
getItem(
'Apps',
`${subDirectory}app-page/redirect-apps`,
),
getItem(
'HOME',
`${subDirectory}app-page/home`,
),
getItem(
'Branch Signin',
`${subDirectory}app-page/branch-login`,
),
getItem(
'Back To Branches',
`${subDirectory}app-page/branch-all`,
),
getItem(
'Sign Out',
`${subDirectory}app-page/logout`,
)
);
} else if (getSession('UserType') === 'Super Admin User') {
items.push(
getItem(
'Apps',
`${subDirectory}app-page/redirect-apps`,
),
// getItem('HOME', `${subDirectory}app-page/home`, ),
getItem(
'Branch Signin',
`${subDirectory}app-page/branch-login`,
),
getItem(
'Sign Out',
`${subDirectory}app-page/logout`,
)
);
} else if (
getSession('UserType') === 'Admin' ||
getSession('UserType') === 'Admin User'
) {
items.push(
getItem(
'Apps',
`${subDirectory}app-page/redirect-apps`,
),
getItem(
'HOME',
`${subDirectory}app-page/home`,
),
getItem(
'Branch Signin',
`${subDirectory}app-page/branch-login`,
),
getItem(
'Sign Out',
`${subDirectory}app-page/logout`,
)
);
}
}
if (UserType === 'Super Admin' && BranchId) {
items.push(
getItem(
'APPS',
`${subDirectory}app-page/redirect-apps`,
),
getItem(
'HOME',
`${subDirectory}app-page/home`,
),
getItem('SETTINGS', `${subDirectory}setting`, , [
!iswarehouse &&
getsubItem('Config Type', `${subDirectory}setting/config-type`),
!iswarehouse &&
getsubItem('Common Master', `${subDirectory}setting/common-master`),
!iswarehouse &&
getsubItem('Preference', `${subDirectory}setting/preference`),
DineinData && dinePreference && !iswarehouse
? getsubItem('Dinein', `${subDirectory}setting/dinein-master`)
: '',
!iswarehouse && getsubItem('Tax', `${subDirectory}setting/admin-tax`),
getsubItem('Product Info', `${subDirectory}product`, null, [
getsubItem('Product', `${subDirectory}setting/product-master`),
getsubItem(
'Image Bulk Upload',
`${subDirectory}setting/image-bulk-upload`
),
getsubItem('Purchase', `${subDirectory}purchase`, null, [
getsubItem(
'Purchase Order',
`${subDirectory}setting/purchase-order/new`
),
getsubItem(
'Purchase Entry',
`${subDirectory}setting/purchase-entry/new`
),
getsubItem(
'Purchase Return',
`${subDirectory}setting/purchase-return`
),
]),
!iswarehouse &&
getsubItem(
'sales Quotation',
`${subDirectory}setting/sales-quotation`
),
getsubItem(
'Delivery Challan Info',
`${subDirectory}setting/delivery-challan`,
null,
[
getsubItem(
'Delivery Challan',
`${subDirectory}setting/delivery-challan`
),
getsubItem(
'DC to Invoice',
`${subDirectory}setting/delivery-challan-to-invoice`
),
]
),
getsubItem('Supplier', `${subDirectory}setting/supplier`, null, [
getsubItem(
'Supplier Master',
`${subDirectory}setting/supplier-master`
),
getsubItem(
'Supplier Product Mapping',
`${subDirectory}setting/supplierproductmapping-master`
),
]),
!iswarehouse &&
getsubItem('Price Change', `${subDirectory}setting/price-change`),
!iswarehouse &&
getsubItem(
'Product Catalogue',
`${subDirectory}setting/product-catalogue`
),
!iswarehouse &&
getsubItem(
'Counter Category Mapping',
`${subDirectory}setting/counter-category-mapping`
),
]),
!iswarehouse &&
getsubItem('Other Services', `${subDirectory}setting/other-services`),
!iswarehouse &&
getsubItem('Store', `${subDirectory}store`, null, [
!iswarehouse &&
getsubItem(
'Custom Product',
`${subDirectory}setting/custom-product`
),
!iswarehouse &&
getsubItem(
'Material Issue to Production',
`${subDirectory}setting/storeto-production`
),
!iswarehouse &&
getsubItem(
'Ready-For-Sale',
`${subDirectory}setting/readyfor-sale`
),
]),
!iswarehouse &&
getsubItem('Customer', `${subDirectory}setting/customer-master`),
!iswarehouse &&
getsubItem('Employee Info', `${subDirectory}employee`, null, [
getsubItem('Shift', `${subDirectory}setting/shift-master`),
getsubItem('Employee', `${subDirectory}setting/employee-master`),
getsubItem(
'Commission / Incentive',
`${subDirectory}setting/commission-or-incentive-master`
),
getsubItem(
'Employee Access',
`${subDirectory}setting/employee-access`
),
getsubItem('TableMapping', `${subDirectory}setting/TableMapping`),
]),
!iswarehouse &&
getsubItem('offer', `${subDirectory}offer`, null, [
getsubItem('Offer', `${subDirectory}setting/offer`),
getsubItem('Item Wise Offer', `${subDirectory}setting/item-wise`),
getsubItem('Sales Wise Offer', `${subDirectory}setting/sales-wise`),
getsubItem(
'Quantity Wise Offer',
`${subDirectory}setting/quantity-wise`
),
getsubItem(
'Buy X and Get X or Y',
`${subDirectory}setting/buyone-getone`
),
getsubItem('Loyalty Cards', `${subDirectory}setting/loyalty-point`),
getsubItem('Bundle Offer', `${subDirectory}setting/bundle-offer`),
getsubItem('Coupon Wise Offer', `${subDirectory}setting/coupon`),
getsubItem('Promo Code', `${subDirectory}setting/promo-code`),
getsubItem('Offer Code', `${subDirectory}setting/offer-code`),
getsubItem('Combo Pack', `${subDirectory}setting/combopack`, null, [
getsubItem(
'Combo Product',
`${subDirectory}setting/combo-master`
),
getsubItem(
'Combo Price',
`${subDirectory}setting/combo-offer-master`
),
]),
getsubItem(
'Free Products/Purchase',
`${subDirectory}setting/free-product/purchase`,
null,
[
getsubItem(
'Free Product Info',
`${subDirectory}setting/free-product-master`
),
getsubItem(
'Free Purchase Info',
`${subDirectory}setting/free-purchase`,
null,
[
getsubItem(
'Free Purchase Order',
`${subDirectory}setting/free-purchase-order`
),
getsubItem(
'Free Purchase Entry',
`${subDirectory}setting/free-purchase-entry`
),
getsubItem(
'Free Purchase Return',
`${subDirectory}setting/free-purchase-return`
),
]
),
]
),
]),
!iswarehouse &&
getsubItem('Sales Layout', `${subDirectory}saleslayouts`, null, [
getsubItem(
'UI Component',
`${subDirectory}saleslayouts/component-master`
),
getsubItem(
'Kiosk Component',
`${subDirectory}saleslayouts/kiosk-component`
),
getsubItem(
'Barcode Component',
`${subDirectory}saleslayouts/barcode-master`
),
getsubItem(
'Theme Creation',
`${subDirectory}saleslayouts/theme-creation`
),
getsubItem(
'Sales Setup',
`${subDirectory}saleslayouts/sales-selection`
),
getsubItem(
'Print Setup',
`${subDirectory}saleslayouts/print-selection`
),
getsubItem(
'Kiosk Setup',
`${subDirectory}saleslayouts/kiosk-selection`
),
getsubItem(
'Barcode / Qr Setup',
`${subDirectory}saleslayouts/barcode-qr-selection`
),
]),
!iswarehouse &&
getsubItem('Payment', '', null, [
getsubItem(
'Payment details',
`${subDirectory}setting/payment-details`
),
getsubItem(
'Payment options',
`${subDirectory}setting/payment-options`
),
getsubItem(
'Payment Device Access',
`${subDirectory}setting/payment-device-access`
),
getsubItem(
'Payment Received',
`${subDirectory}setting/payment-received-retail`
),
]),
!iswarehouse &&
getsubItem('Extra Charges', `${subDirectory}setting/extra-charges`),
!iswarehouse &&
getsubItem(
'Exchange and Return policy',
`${subDirectory}setting/Exchange-Return-policy`,
null,
[
getsubItem(
'Exchange and Return policy',
`${subDirectory}setting/Exchange-Return-policy`
),
getsubItem(
'Map Products',
`${subDirectory}setting/Exchange-Return-policy`
),
]
),
!iswarehouse &&
getsubItem(
'Cancel / Reschedule',
`${subDirectory}cancelReschedule`,
null,
[
getsubItem(
'Cancel Applicable Product',
`${subDirectory}setting/cancel-applicable-product`
),
getsubItem(
'Cancellation and Reschedule Rules',
`${subDirectory}setting/cancel-reschedule-rules`
),
getsubItem(
'Cancel / Payment Change',
`${subDirectory}setting/cancel-paymentchange`
),
getsubItem(
'Cancel Unpaid Device Orders',
`${subDirectory}setting/cancel-pendingpayment`
),
getsubItem(
'Sales Bill Cancel',
`${subDirectory}setting/sales-bill-cancel`
),
getsubItem(
'Sales Bill Product Return',
`${subDirectory}setting/sales-bill-product-return`
),
]
),
!iswarehouse &&
getsubItem('Create Ticket', `${subDirectory}setting/create-ticket`),
]),
!iswarehouse &&
getItem(
'Sales',
`${subDirectory}sales`,
),
!iswarehouse &&
getItem(
'Kiosk Sales',
`${subDirectory}kiosksales`,
),
!iswarehouse &&
getItem(
'REPORTS',
`${subDirectory}reports`,
,
[
getsubItem(
'Tip Amount Settlement',
`${subDirectory}report/tipamountsettlementlist`
),
getsubItem(
'Empoloyee Settlement',
`${subDirectory}report/EmployeeSettlement`
),
getsubItem(
'PublicQrCode',
`${subDirectory}report/PublicQrCode`
),
DineinData && dinePreference
? getsubItem('KOT', `${subDirectory}report/kot`)
: '',
getsubItem(
'Date Wise Sales Report',
`${subDirectory}report/datewisereport`
),
getsubItem(
'Item Wise Sales Report',
`${subDirectory}report/itemwisereport`
),
getsubItem('Ledger', `${subDirectory}report/ledgerreport`),
getsubItem(
'Reprint',
`${subDirectory}report/reprintreasonreport`
),
EstimateData
? getsubItem('Estimate', `${subDirectory}report/`, null, [
getsubItem(
'Item Wise Report',
`${subDirectory}report/estimateitemwisereport`
),
getsubItem(
'Date Wise Report',
`${subDirectory}report/estimatedatewisereport`
),
])
: '',
getsubItem('Revenue', `${subDirectory}report/revenu`, null, [
// getsubItem('Revenue Date Wise Report', `${subDirectory}report/revenuedatewisereport`),
getsubItem(
'Revenue Item Wise Report',
`${subDirectory}report/revenueitemWisereport`
),
]),
]
),
!iswarehouse &&
getItem(
'Android App',
`${subDirectory}android-app`,
),
CompBranchData?.length > 1 &&
getItem(
'Back to Signin',
`${subDirectory}app-page/back-to-login`,
),
getItem(
'Back To Branches',
`${subDirectory}app-page/branch-all`,
),
getItem('Sign Out', `${subDirectory}app-page/logout`, )
);
} else if (UserType === 'Super Admin User' && BranchId) {
items.push(
getItem(
'APPS',
`${subDirectory}app-page/redirect-apps`,
),
getItem(
'HOME',
`${subDirectory}app-page/home`,
),
SadminUserSettingMenu?.length > 0 &&
getItem(
'SETTINGS',
`${subDirectory}setting`,
,
SadminUserSettingMenu
),
!iswarehouse && SadminUserBookingMenuItem?.[0],
!iswarehouse && SadminUserKioskMenuItem?.[0],
SadminUserfilterReportMenu?.length > 0 &&
!iswarehouse &&
getItem(
'REPORTS',
`${subDirectory}reports`,
,
SadminUserfilterReportMenu
),
CompBranchData?.length > 1 &&
getItem(
'Back to Signin',
`${subDirectory}app-page/back-to-login`,
),
SadminUserAndroidApp?.[0],
getItem('Sign Out', `${subDirectory}app-page/logout`, )
);
} else if ((UserType === 'Admin' || UserType === 'Admin User') && BranchId) {
items.push(
getItem(
'APPS',
`${subDirectory}app-page/redirect-apps`,
),
getItem(
'HOME',
`${subDirectory}app-page/home`,
),
getItem('SETTINGS', `${subDirectory}setting`, , [
!iswarehouse &&
getsubItem('Common Master', `${subDirectory}setting/common-master`),
!iswarehouse &&
getsubItem('Preference', `${subDirectory}setting/preference`),
DineinData && dinePreference && !iswarehouse
? getsubItem('Dinein', `${subDirectory}setting/dinein-master`)
: '',
!iswarehouse && getsubItem('Tax', `${subDirectory}setting/admin-tax`),
getsubItem('Product Info', `${subDirectory}product`, null, [
getsubItem('Product', `${subDirectory}setting/product-master`),
getsubItem(
'Image Bulk Upload',
`${subDirectory}setting/image-bulk-upload`
),
getsubItem('Purchase', `${subDirectory}purchase`, null, [
getsubItem(
'Purchase Order',
`${subDirectory}setting/purchase-order/new`
),
getsubItem(
'Purchase Entry',
`${subDirectory}setting/purchase-entry/new`
),
getsubItem(
'Purchase Return',
`${subDirectory}setting/purchase-return`
),
]),
!iswarehouse &&
getsubItem(
'Sales Quotation',
`${subDirectory}setting/sales-quotation`
),
getsubItem(
'Delivery Challan Info',
`${subDirectory}setting/delivery-challan`,
null,
[
getsubItem(
'Delivery Challan',
`${subDirectory}setting/delivery-challan`
),
getsubItem(
'DC to Invoice',
`${subDirectory}setting/delivery-challan-to-invoice`
),
]
),
getsubItem('Supplier', `${subDirectory}setting/supplier`, null, [
getsubItem(
'Supplier Master',
`${subDirectory}setting/supplier-master`
),
getsubItem(
'Supplier Product Mapping',
`${subDirectory}setting/supplierproductmapping-master`
),
]),
!iswarehouse &&
getsubItem('Price Change', `${subDirectory}setting/price-change`),
(ProORAdvance ||
featureaddDetails?.find(
(item) => item?.FeatureAddonName?.toLowerCase() === 'catalog'
)) &&
!iswarehouse
? getsubItem(
'Product Catalogue',
`${subDirectory}setting/product-catalogue`
)
: '',
!iswarehouse &&
getsubItem(
'Counter Category Mapping',
`${subDirectory}setting/counter-category-mapping`
),
]),
!iswarehouse &&
getsubItem('Other Services', `${subDirectory}setting/other-services`),
!iswarehouse &&
getsubItem('Store', `${subDirectory}store`, null, [
getsubItem(
'Custom Product',
`${subDirectory}setting/custom-product`
),
getsubItem(
'Material Issue to Production',
`${subDirectory}setting/storeto-production`
),
getsubItem(
'Ready-For-Sale',
`${subDirectory}setting/readyfor-sale`
),
]),
!iswarehouse &&
getsubItem('Customer', `${subDirectory}setting/customer-master`),
!iswarehouse &&
getsubItem('Employee Info', `${subDirectory}employee`, null, [
getsubItem('Shift', `${subDirectory}setting/shift-master`),
getsubItem('Employee', `${subDirectory}setting/employee-master`),
getsubItem(
'Commission / Incentive',
`${subDirectory}setting/commission-or-incentive-master`
),
getsubItem(
'Employee Access',
`${subDirectory}setting/employee-access`
),
getsubItem('TableMapping', `${subDirectory}setting/TableMapping`),
]),
!iswarehouse &&
getsubItem('offer', `${subDirectory}offer`, null, [
getsubItem('Offer', `${subDirectory}setting/offer`),
getsubItem('Item Wise Offer', `${subDirectory}setting/item-wise`),
getsubItem('Sales Wise Offer', `${subDirectory}setting/sales-wise`),
getsubItem(
'Quantity Wise Offer',
`${subDirectory}setting/quantity-wise`
),
getsubItem(
'Buy X and Get X or Y',
`${subDirectory}setting/buyone-getone`
),
getsubItem('Loyalty Cards', `${subDirectory}setting/loyalty-point`),
getsubItem('Bundle Offer', `${subDirectory}setting/bundle-offer`),
getsubItem('Coupon Wise Offer', `${subDirectory}setting/coupon`),
getsubItem('Promo Code', `${subDirectory}setting/promo-code`),
getsubItem('Offer Code', `${subDirectory}setting/offer-code`),
getsubItem('Combo Pack', `${subDirectory}setting/combopack`, null, [
getsubItem('Combo Product', `${subDirectory}setting/combo-master`),
getsubItem(
'Combo Price ',
`${subDirectory}setting/combo-offer-master`
),
]),
getsubItem(
'Free Product/Purchase',
`${subDirectory}setting/free-product/purchase`,
null,
[
getsubItem(
'Free Product Info',
`${subDirectory}setting/free-product-master`
),
getsubItem(
'Free Purchase Info',
`${subDirectory}setting/free-purchase`,
null,
[
getsubItem(
'Free Purchase Order',
`${subDirectory}setting/free-purchase-order`
),
getsubItem(
'Free Purchase Entry',
`${subDirectory}setting/free-purchase-entry`
),
getsubItem(
'Free Purchase Return',
`${subDirectory}setting/free-purchase-return`
),
]
),
]
),
]),
(Advance ||
featureaddDetails?.find(
(item) =>
item?.FeatureAddonName?.toLowerCase() === 'customized template'
)) &&
!iswarehouse
? getsubItem(
'Sales Setup',
`${subDirectory}saleslayouts/sales-selection`
)
: '',
(Advance ||
featureaddDetails?.find(
(item) =>
item?.FeatureAddonName?.toLowerCase() === 'customized template'
)) &&
!iswarehouse
? getsubItem(
'Print Setup',
`${subDirectory}saleslayouts/print-selection`
)
: '',
featureaddDetails?.find(
(item) => item?.FeatureAddonName?.toLowerCase() === 'kiosk sales'
) &&
!iswarehouse
? getsubItem(
'Kiosk Setup',
`${subDirectory}saleslayouts/kiosk-selection`
)
: '',
(Advance ||
featureaddDetails?.find(
(item) =>
item?.FeatureAddonName?.toLowerCase() === 'customized template'
)) &&
!iswarehouse
? getsubItem(
'Barcode / Qr Setup',
`${subDirectory}saleslayouts/barcode-qr-selection`
)
: '',
!iswarehouse &&
getsubItem('Payment', '', null, [
getsubItem(
'Payment details',
`${subDirectory}setting/payment-details`
),
getsubItem(
'Payment options',
`${subDirectory}setting/payment-options`
),
// Writed by sree
featureaddDetails?.find(
(item) =>
item?.FeatureAddonName?.toLowerCase() ===
'payment device access'
) &&
getsubItem(
'Payment Device Access',
`${subDirectory}setting/payment-device-access`
),
getsubItem(
'Payment Received',
`${subDirectory}setting/payment-received-retail`
),
]),
!iswarehouse &&
getsubItem('Extra Charges', `${subDirectory}setting/extra-charges`),
!iswarehouse &&
getsubItem(
'Exchange and Return policy',
`${subDirectory}setting/Exchange-Return-policy`,
null,
[
getsubItem(
'Exchange and Return policy',
`${subDirectory}setting/Exchange-Return-policy`
),
getsubItem(
'Exchange Return Mapping',
`${subDirectory}setting/exchange-return-mapping`
),
]
),
!iswarehouse &&
getsubItem(
'Cancel / Reschedule',
`${subDirectory}cancelReschedule`,
null,
[
getsubItem(
'Cancel Applicable Product',
`${subDirectory}setting/cancel-applicable-product`
),
getsubItem(
'Cancellation and Reschedule Rules',
`${subDirectory}setting/cancel-reschedule-rules`
),
getsubItem(
'Cancel / Payment Change',
`${subDirectory}setting/cancel-paymentchange`
),
getsubItem(
'Cancel Unpaid Device Orders',
`${subDirectory}setting/cancel-pendingpayment`
),
getsubItem(
'Sales Bill Cancel',
`${subDirectory}setting/sales-bill-cancel`
),
getsubItem(
'Sales Bill Product Return',
`${subDirectory}setting/sales-bill-product-return`
),
]
),
!iswarehouse &&
getsubItem('Create Ticket', `${subDirectory}setting/create-ticket`),
]),
!iswarehouse &&
getItem(
'Sales',
`${subDirectory}sales`,
),
featureaddDetails?.find(
(item) => item?.FeatureAddonName?.toLowerCase() === 'kiosk sales'
) && !iswarehouse
? getItem(
'Kiosk Sales',
`${subDirectory}kiosksales`,
)
: '',
!iswarehouse &&
getItem(
'REPORTS',
`${subDirectory}reports`,
,
[
getsubItem(
'Tip Amount Settlement',
`${subDirectory}report/tipamountsettlementlist`
),
getsubItem(
'Empoloyee Settlement',
`${subDirectory}report/EmployeeSettlement`
),
getsubItem(
'PublicQrCode',
`${subDirectory}report/PublicQrCode`
),
DineinData && dinePreference
?
getsubItem('KOT', `${subDirectory}report/kot`)
: '',
getsubItem(
'Date Wise Sales Report',
`${subDirectory}report/datewisereport`
),
getsubItem(
'Item Wise Sales Report',
`${subDirectory}report/itemwisereport`
),
getsubItem('Ledger', `${subDirectory}report/ledgerreport`),
EstimateData
? getsubItem('Estimate', `${subDirectory}report/`, null, [
getsubItem(
'Item Wise Report',
`${subDirectory}report/estimateitemwisereport`
),
getsubItem(
'Date Wise Report',
`${subDirectory}report/estimatedatewisereport`
),
])
: '',
getsubItem('Revenue', `${subDirectory}report/revenu`, null, [
// getsubItem('Revenue Date Wise Report', `${subDirectory}report/revenuedatewisereport`),
getsubItem(
'Revenue Item Wise Report',
`${subDirectory}report/revenueitemWisereport`
),
]),
getsubItem(
'Reprint',
`${subDirectory}report/reprintreasonreport`
),
]
),
!iswarehouse &&
getItem(
'Android App',
`${subDirectory}android-app`,
),
CompBranchData?.length > 1 &&
getItem(
'Back to Signin',
`${subDirectory}app-page/back-to-login`,
),
getItem('Sign Out', `${subDirectory}app-page/logout`, )
);
} else if (UserType === 'Employee' && BranchId) {
items.push(
getItem(
'APPS',
`${subDirectory}app-page/redirect-apps`,
),
getItem(
'HOME',
`${subDirectory}app-page/home`,
),
getItem(
'Employee Relieve',
`${subDirectory}app-page/relieve-request`,
),
EmpSettingMenu?.length > 0 &&
getItem(
'SETTINGS',
`${subDirectory}setting`,
,
EmpSettingMenu
),
EmpBookingMenuItem?.[0],
EmpKioskMenuItem?.[0],
EmpfilterReportMenu?.length > 0 &&
getItem(
'REPORTS',
`${subDirectory}reports`,
,
EmpfilterReportMenu
),
AndroidApp?.[0],
CompBranchData?.length > 1 &&
getItem(
'Back to Signin',
`${subDirectory}app-page/back-to-login`,
),
getItem('Sign Out', `${subDirectory}app-page/logout`, )
);
}
const isCurrentPath = location.pathname === `${subDirectory}app-page/home`;
return (
{!isCurrentPath ? (
{items?.map((item) =>
item?.type === 'group' ? (
{item?.label}
) : null
)}
) : (
)}
);
};
export default AppPage;