From 4cc59742751cacce000297da793cc42ee5a06901 Mon Sep 17 00:00:00 2001 From: mohan Date: Thu, 12 Feb 2026 11:52:39 +0530 Subject: [PATCH 1/2] Image png to webp --- src/AuthContext.jsx | 23 +- src/Features/RetailDashboard/Dashboard.js | 32 +- src/Images/dashboard/Add.png | Bin 426 -> 0 bytes src/Images/dashboard/Add.webp | Bin 0 -> 256 bytes src/Images/dashboard/AddPurchase.png | Bin 3450 -> 0 bytes src/Images/dashboard/AddPurchase.webp | Bin 0 -> 958 bytes src/Images/dashboard/invoice.png | Bin 2895 -> 0 bytes src/Images/dashboard/invoice.webp | Bin 0 -> 652 bytes src/Images/dashboard/report.png | Bin 8942 -> 0 bytes src/Images/dashboard/report.webp | Bin 0 -> 3692 bytes src/Images/dashboard/user.webp | Bin 0 -> 193742 bytes src/Images/sandClock.webp | Bin 0 -> 570 bytes src/Pages/AppPage/AppPage.jsx | 482 ++++++++++-------- src/Pages/BookingScreen/BookingPage.jsx | 100 ++-- .../Components/BSCombo/BSC1NavBar.jsx | 2 +- .../Components/BSCombo/BSTimer.jsx | 61 +-- .../Components/BSNavbar/BSNavbar1.jsx | 49 +- src/Pages/BranchLogin/BranchLogin.jsx | 2 +- src/Pages/DashBoard/RetailDashboard.jsx | 279 +++++----- src/Pages/DashBoard/TabSwitcher.jsx | 27 + src/app/store.js | 10 +- 21 files changed, 536 insertions(+), 531 deletions(-) delete mode 100644 src/Images/dashboard/Add.png create mode 100644 src/Images/dashboard/Add.webp delete mode 100644 src/Images/dashboard/AddPurchase.png create mode 100644 src/Images/dashboard/AddPurchase.webp delete mode 100644 src/Images/dashboard/invoice.png create mode 100644 src/Images/dashboard/invoice.webp delete mode 100644 src/Images/dashboard/report.png create mode 100644 src/Images/dashboard/report.webp create mode 100644 src/Images/dashboard/user.webp create mode 100644 src/Images/sandClock.webp create mode 100644 src/Pages/DashBoard/TabSwitcher.jsx diff --git a/src/AuthContext.jsx b/src/AuthContext.jsx index 825ee8b..8639e99 100644 --- a/src/AuthContext.jsx +++ b/src/AuthContext.jsx @@ -8,7 +8,11 @@ import { PricingAppPricingName, } from './Features/BrachLogin/BranchLogin.js'; import { changePricingAppPricingName } from './Features/ThemeChange/ThemeChange.js'; -import { FeatureAddon } from './Features/BookingScreen/BookingData/BookingData.js'; +import { + FeatureAddon, + GlobalFeatAddOnData, +} from './Features/BookingScreen/BookingData/BookingData.js'; +import { useSelector } from 'react-redux'; export const AuthContext = createContext(); @@ -21,10 +25,10 @@ export const AuthProvider = ({ children }) => { const UserId = getSession('UserId'); const UserType = getSession('UserType'); const dispatch = useDispatch(); + const FeatureAddonData = useSelector(GlobalFeatAddOnData); const [Access, setAccess] = useState([]); const [SadminuserAccess, setSadminuserAccess] = useState([]); - const [FeatureAddonData, setFeatureAddonData] = useState([]); const [ProORAdvance, setProORAdvance] = useState(false); const [Advance, setAdvance] = useState(false); const [freeProductsCount, setFreeProductsCount] = useState(0); @@ -33,9 +37,6 @@ export const AuthProvider = ({ children }) => { useEffect(() => { getPricingName(); - if (UserType !== 'Super Admin' && UserType !== 'Super Admin User') { - getFeatureAddonData(); - } }, []); useEffect(() => { @@ -94,18 +95,6 @@ export const AuthProvider = ({ children }) => { setSadminuserAccess(response?.data?.data?.[0]?.AppMenuAccessDetails); } }; - const getFeatureAddonData = async () => { - let featureAddon = await dispatch( - FeatureAddon({ AppId: AppId, UserId: UserId }) - ).unwrap(); - if (featureAddon?.data?.statusCode === 1) { - await setFeatureAddonData( - featureAddon?.data?.data?.[0]?.FeatAddonHdr?.[0] - ); - } else { - await setFeatureAddonData([]); - } - }; return ( { + state.activeTab = action.payload; + }, + }, +}); export const getdashboard = createAsyncThunk('getdashboard', async (data) => { if ( data?.CompId != null && @@ -15,8 +28,7 @@ export const getdashboard = createAsyncThunk('getdashboard', async (data) => { return await axiosRetailInstanceData.get( `/DashBoardReport?AppId=${data?.AppId}&CompId=${data?.CompId}&BranchId=${data?.BranchId}&UserId=${data?.UserId}` ); - } - else if ( + } else if ( data?.CompId != null && data?.CompId != undefined && data?.BranchId != null && @@ -27,8 +39,7 @@ export const getdashboard = createAsyncThunk('getdashboard', async (data) => { return await axiosRetailInstanceData.get( `/DashBoardReport?AppId=${data?.AppId}&CompId=${data?.CompId}&BranchId=${data?.BranchId}` ); - } - else if ( + } else if ( data?.CompId != null && data?.CompId != undefined && data?.AppId != null && @@ -109,8 +120,7 @@ export const getpreOrderDashBoard = createAsyncThunk( return await axiosRetailInstanceData.get( `/PreOrder/DashboardReportDtl?appId=${data?.AppId}&compId=${data?.CompId}&branchId=${data?.BranchId}&fromDate=${data?.FromDate}&toDate=${data?.ToDate}` ); - } - else if ( + } else if ( data?.CompId != null && data?.CompId != undefined && data?.AppId != null && @@ -184,8 +194,7 @@ export const getSalesHdr = createAsyncThunk( return await axiosRetailInstanceData.get( `/SalesHdr/DashboardDtl?appId=${data?.AppId}&compId=${data?.CompId}&branchId=${data?.BranchId}&fromDate=${data?.FromDate}&toDate=${data?.ToDate}` ); - } - else if ( + } else if ( data?.CompId != null && data?.CompId != undefined && data?.AppId != null && @@ -198,8 +207,7 @@ export const getSalesHdr = createAsyncThunk( return await axiosRetailInstanceData.get( `/SalesHdr/DashboardDtl?appId=${data?.AppId}&compId=${data?.CompId}&fromDate=${data?.FromDate}&toDate=${data?.ToDate}` ); - } - else { + } else { return await axiosRetailInstanceData.get( `/SalesHdr/DashboardDtl?appId=${data?.AppId}&compId=${data?.CompId}` ); @@ -207,5 +215,5 @@ export const getSalesHdr = createAsyncThunk( } ); - - +export const { setActiveTab } = DashBoard.actions; +export default DashBoard.reducer; diff --git a/src/Images/dashboard/Add.png b/src/Images/dashboard/Add.png deleted file mode 100644 index 89801139e1b0169344ee234b2115291487798527..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 426 zcmV;b0agBqP)Px#1am@3R0s$N2z&@+hyVZqR7pfZR9J=Wn7xXFKoo_~omtSvqzeOfk~&rDG=ikq zyv?$ChAjISwl=0qnL5?JfxVQB5!xkh8lao7>INzL^>2A z9SV^S#U!N%Ke^lOcGdTN;h41nu(K^jQFQFO?(7nnB+03&s)xQZ*gg8bUjsP6tp)yi zZr61?0IyGn5pj|vR}7RaYhhyMG0KmZyh%ROA{~lJN?TtJ$(bU=hIuWD5YX4j4K51bCzZd8`Ri3<;CoE?kpJf}~g-9>- zaQASQJmgs{#(lO#_{_}cSx<~k{?`5}$0~L5f72WJ<9ityfc7io0B!rg!Z4RnOP4{H z!EUa{9M2s>UaMB=usn)#>|$U@mc8S_$|Z1NuKl6{r)_z6mZ*GbVEFgfTzA`osyq9g z4ofGi^5sp}G+enO(Zt*C00ZZ_l>W4m2*aKp{dBJ%8~ykDtbJizqki9Wp4g{cO9 Df7E1@ literal 0 HcmV?d00001 diff --git a/src/Images/dashboard/AddPurchase.png b/src/Images/dashboard/AddPurchase.png deleted file mode 100644 index 1be94dcca022f325e7436dd940c37a507f0a03bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3450 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 diff --git a/src/Images/dashboard/invoice.webp b/src/Images/dashboard/invoice.webp new file mode 100644 index 0000000000000000000000000000000000000000..3fefbcd38f6b346365c5764fba4e97b9a5270ae5 GIT binary patch literal 652 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 Lcb4vOKmGpzb;c*X diff --git a/src/Images/dashboard/report.webp b/src/Images/dashboard/report.webp new file mode 100644 index 0000000000000000000000000000000000000000..108da9af4a5821b61b4c74fa420021029fb03191 GIT binary patch literal 3692 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 as~V;^>+%2bf1@nJAprRV`PVxB+xQ2~7B*V| literal 0 HcmV?d00001 diff --git a/src/Images/dashboard/user.webp b/src/Images/dashboard/user.webp new file mode 100644 index 0000000000000000000000000000000000000000..9ac27a57346b9d77e4383294cd124b2b1ce1fc00 GIT binary patch literal 193742 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 { UserType, Access, SadminuserAccess, - Advance, ProORAdvance, featureaddDetails, } = useAuth(); // Retrieve user details const DineInStatus = useSelector(preferencechangeStatus); const iswarehouse = useSelector(globalBranchType); -console.log(iswarehouse,'iswarehouseiswarehouseiswarehouse'); + const CompBranchDataGlobal = useSelector(GlobalCompBranchData); + const SettingData = useSelector(PreferenceData); const appPreferences = useSelector(ApplicationPreferences); const defaultBookingType = useSelector(GlobalDefaultBookingType); @@ -91,11 +92,10 @@ console.log(iswarehouse,'iswarehouseiswarehouseiswarehouse'); type?.PreferredStatus === 'Y' ); - const [CompBranchData, setCompBranchData] = useState(); + const [CompBranchData, setCompBranchData] = useState(CompBranchDataGlobal); const [messageType, setMessageType] = useState(null); const [messageData, setMessageData] = useState(null); const [EmpSettingMenu, setEmpSettingMenu] = useState([]); - console.log(EmpSettingMenu, 'EmpSettingMenu'); const [EmpMaster, setEmpMaster] = useState([]); const [EmpPurshase, setEmpPurshase] = useState([]); const [EmpProduction, setEmpProduction] = useState([]); @@ -111,7 +111,6 @@ console.log(iswarehouse,'iswarehouseiswarehouseiswarehouse'); const [offemenu, setofferMenu] = useState([]); const [payMenu, setPayMenu] = useState([]); const [CancelMenu, setCancelMenu] = useState([]); - const [SalesMenu, setSalesMenu] = useState([]); const [AndroidApp, setAndroidApp] = useState([]); const [Empprodmenu, setEmpprodmenu] = useState([]); @@ -154,7 +153,6 @@ console.log(iswarehouse,'iswarehouseiswarehouseiswarehouse'); }, []); useEffect(() => { - fetchBranchData(); clearCustomerDisplay(); }, []); @@ -312,36 +310,57 @@ console.log(iswarehouse,'iswarehouseiswarehouseiswarehouse'); 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); - await sessionStore('BranchLength', response?.data?.data?.length); - if (response?.data?.data?.length == 1) { - await sessionStore('BranchId', response?.data?.data?.[0]?.BrId); - await dispatch( - changeSelectedBranchId(response?.data?.data?.[0]?.BrId) - ); + if (CompBranchData?.length > 0) { + await sessionStore('BranchLength', CompBranchData?.length); + if (CompBranchData?.length == 1) { + await sessionStore('BranchId', CompBranchData?.[0]?.BrId); + await dispatch(changeSelectedBranchId(CompBranchData?.[0]?.BrId)); + } + } else { + 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' - || getSession('UserType') === 'Employee' + getSession('UserType') === 'Admin User' || + getSession('UserType') === 'Employee' ) { - const response = await dispatch( - getCompBranchData({ AppId: AppId, UserId: UserId, CompId: CompId }) - ).unwrap(); - if (response?.data?.statusCode === 1) { - await sessionStore('BranchLength', response?.data?.data?.length); - setCompBranchData(response?.data?.data); - if (response?.data?.data?.length == 1) { - await sessionStore('BranchId', response?.data?.data?.[0]?.BrId); - if(response?.data?.data?.[0]?.LocationType == 'W') await dispatch(changeWarehouse(true)); - await dispatch( - changeSelectedBranchId(response?.data?.data?.[0]?.BrId) - ); + if (CompBranchData?.length > 0) { + await sessionStore('BranchLength', CompBranchData?.length); + if (CompBranchData?.length == 1) { + await sessionStore('BranchId', CompBranchData?.[0]?.BrId); + await dispatch(changeSelectedBranchId(CompBranchData?.[0]?.BrId)); + if (CompBranchData?.[0]?.LocationType == 'W') { + await dispatch(changeWarehouse(true)); + } + } + } else { + const response = await dispatch( + getCompBranchData({ AppId: AppId, UserId: UserId, CompId: CompId }) + ).unwrap(); + if (response?.data?.statusCode === 1) { + await sessionStore('BranchLength', response?.data?.data?.length); + setCompBranchData(response?.data?.data); + if (response?.data?.data?.length == 1) { + await sessionStore('BranchId', response?.data?.data?.[0]?.BrId); + if (response?.data?.data?.[0]?.LocationType == 'W') { + await dispatch(changeWarehouse(true)); + } + await dispatch( + changeSelectedBranchId(response?.data?.data?.[0]?.BrId) + ); + } } } } @@ -397,13 +416,13 @@ console.log(iswarehouse,'iswarehouseiswarehouseiswarehouse'); getsubItem('Add Rack', `${subDirectory}setting/rack-master`), ] ), - - getsubItem('Employee', `${subDirectory}employee`, null, [ - getsubItem('Add Employee', `${subDirectory}setting/employee-master`), - getsubItem('Employee Access', `${subDirectory}setting/employee-access`), - ]), - getsubItem('Common Master', `${subDirectory}setting/common-master`), - getsubItem('Tax', `${subDirectory}setting/admin-tax`), + + getsubItem('Employee', `${subDirectory}employee`, null, [ + getsubItem('Add Employee', `${subDirectory}setting/employee-master`), + getsubItem('Employee Access', `${subDirectory}setting/employee-access`), + ]), + getsubItem('Common Master', `${subDirectory}setting/common-master`), + getsubItem('Tax', `${subDirectory}setting/admin-tax`), !iswarehouse && getsubItem('Other Services', `${subDirectory}setting/other-services`), @@ -477,18 +496,24 @@ console.log(iswarehouse,'iswarehouseiswarehouseiswarehouse'); `${subDirectory}setting/supplierproductmapping-master` ), ]), - !sportsAppPreference && getsubItem('Stock Transfer', `${subDirectory}setting/stocktransfer`, null, [ + !sportsAppPreference && getsubItem( - 'Create Transfer', - `${subDirectory}setting/stock-transferlist` - ), - - getsubItem( - 'Stock Dispatch', - `${subDirectory}setting/stock-dispatch` - ), - getsubItem('Received Stocks', `${subDirectory}setting/receive-stocks`), - ]), + 'Stock Transfer', + `${subDirectory}setting/stocktransfer`, + null, + [ + getsubItem( + 'Create Transfer', + `${subDirectory}setting/stock-transferlist` + ), + + getsubItem('Stock Dispatch', `${subDirectory}setting/stock-dispatch`), + getsubItem( + 'Received Stocks', + `${subDirectory}setting/receive-stocks` + ), + ] + ), getsubItem('Price Change', `${subDirectory}setting/price-change`), !sportsAppPreference && !iswarehouse && @@ -580,38 +605,37 @@ console.log(iswarehouse,'iswarehouseiswarehouseiswarehouse'); 'GST Invoice Setup', `${subDirectory}setting/gst-invoice-setup` ), - (!iswarehouse) && - getsubItem('Customization', `${subDirectory}setting/Customize`, null, [ - - !iswarehouse - ? getsubItem( - 'Sales Screen', - `${subDirectory}saleslayouts/sales-selection` - ) - : '', - - !iswarehouse - ? getsubItem( - 'Print Forms', - `${subDirectory}saleslayouts/print-selection` - ) - : '', - featureaddDetails?.find( - (item) => item?.FeatureAddonName?.toLowerCase() === 'kiosk sales' - ) && !iswarehouse - ? getsubItem( - 'Kiosk Screen', - `${subDirectory}saleslayouts/kiosk-selection` - ) - : '', - - !iswarehouse - ? getsubItem( - 'Barcode / QR', - `${subDirectory}saleslayouts/barcode-qr-selection` - ) - : '', - ]), + !iswarehouse && + getsubItem('Customization', `${subDirectory}setting/Customize`, null, [ + !iswarehouse + ? getsubItem( + 'Sales Screen', + `${subDirectory}saleslayouts/sales-selection` + ) + : '', + + !iswarehouse + ? getsubItem( + 'Print Forms', + `${subDirectory}saleslayouts/print-selection` + ) + : '', + featureaddDetails?.find( + (item) => item?.FeatureAddonName?.toLowerCase() === 'kiosk sales' + ) && !iswarehouse + ? getsubItem( + 'Kiosk Screen', + `${subDirectory}saleslayouts/kiosk-selection` + ) + : '', + + !iswarehouse + ? getsubItem( + 'Barcode / QR', + `${subDirectory}saleslayouts/barcode-qr-selection` + ) + : '', + ]), //sree getsubItem('Shift', `${subDirectory}setting/shift-master`), getsubItem( @@ -1010,14 +1034,13 @@ console.log(iswarehouse,'iswarehouseiswarehouseiswarehouse'); sportsAppPreference && getsubItem('Membership', `${subDirectory}setting/membership-master/list`), - - getsubItem('Employee', `${subDirectory}employee`, null, [ - getsubItem('Add Employee', `${subDirectory}setting/employee-master`), - getsubItem('Employee Access', `${subDirectory}setting/employee-access`), - ]), - - getsubItem('Common Master', `${subDirectory}setting/common-master`), - getsubItem('Tax', `${subDirectory}setting/admin-tax`), + getsubItem('Employee', `${subDirectory}employee`, null, [ + getsubItem('Add Employee', `${subDirectory}setting/employee-master`), + getsubItem('Employee Access', `${subDirectory}setting/employee-access`), + ]), + + getsubItem('Common Master', `${subDirectory}setting/common-master`), + getsubItem('Tax', `${subDirectory}setting/admin-tax`), !iswarehouse && getsubItem('Other Services', `${subDirectory}setting/other-services`), @@ -1030,32 +1053,38 @@ console.log(iswarehouse,'iswarehouseiswarehouseiswarehouse'); ]; const Purchase = [ - getsubItem('Automated Reorder', `${subDirectory}setting/automated-reorder`), - getsubItem('Purchase Order', `${subDirectory}setting/purchase-order`), - getsubItem('Product Receipt', `${subDirectory}setting/purchase-entry`), - getsubItem('Product Return', `${subDirectory}setting/purchase-return/list`), - getsubItem( - 'Stock Adjustment', - `${subDirectory}setting/stock-adjustment-list` - ), - getsubItem('Supplier', `${subDirectory}setting/supplier`, null, [ - getsubItem('Add Supplier', `${subDirectory}setting/supplier-master`), + getsubItem('Automated Reorder', `${subDirectory}setting/automated-reorder`), + getsubItem('Purchase Order', `${subDirectory}setting/purchase-order`), + getsubItem('Product Receipt', `${subDirectory}setting/purchase-entry`), + getsubItem('Product Return', `${subDirectory}setting/purchase-return/list`), + getsubItem( + 'Stock Adjustment', + `${subDirectory}setting/stock-adjustment-list` + ), + getsubItem('Supplier', `${subDirectory}setting/supplier`, null, [ + getsubItem('Add Supplier', `${subDirectory}setting/supplier-master`), + getsubItem( + 'Product Mapping', + `${subDirectory}setting/supplierproductmapping-master` + ), + ]), + !sportsAppPreference && + getsubItem( + 'Stock Transfer', + `${subDirectory}setting/stocktransfer`, + null, + [ getsubItem( - 'Product Mapping', - `${subDirectory}setting/supplierproductmapping-master` + 'Create Transfer', + `${subDirectory}setting/stock-transferlist` ), - ]), - !sportsAppPreference && getsubItem('Stock Transfer', `${subDirectory}setting/stocktransfer`, null, [ + getsubItem('Stock Dispatch', `${subDirectory}setting/stock-dispatch`), getsubItem( - 'Create Transfer', - `${subDirectory}setting/stock-transferlist` - ), - getsubItem( - 'Stock Dispatch', - `${subDirectory}setting/stock-dispatch` - ), - getsubItem('Received Stocks', `${subDirectory}setting/receive-stocks`), - ]), + 'Received Stocks', + `${subDirectory}setting/receive-stocks` + ), + ] + ), ]; const productions = [ getsubItem('Bill Of Material', `${subDirectory}setting/custom-product`), @@ -1137,17 +1166,23 @@ console.log(iswarehouse,'iswarehouseiswarehouseiswarehouse'); `${subDirectory}setting/supplierproductmapping-master` ), ]), - !sportsAppPreference && getsubItem('Stock Transfer', `${subDirectory}setting/stocktransfer`, null, [ + !sportsAppPreference && getsubItem( - 'Create Transfer', - `${subDirectory}setting/stock-transferlist` - ), - getsubItem( - 'Stock Dispatch', - `${subDirectory}setting/stock-dispatch` - ), - getsubItem('Received Stocks', `${subDirectory}setting/receive-stocks`), - ]), + 'Stock Transfer', + `${subDirectory}setting/stocktransfer`, + null, + [ + getsubItem( + 'Create Transfer', + `${subDirectory}setting/stock-transferlist` + ), + getsubItem('Stock Dispatch', `${subDirectory}setting/stock-dispatch`), + getsubItem( + 'Received Stocks', + `${subDirectory}setting/receive-stocks` + ), + ] + ), ]; const prodMenu = [ @@ -1302,17 +1337,15 @@ console.log(iswarehouse,'iswarehouseiswarehouseiswarehouse'); 'GST Invoice Setup', `${subDirectory}setting/gst-invoice-setup` ), - ( - !iswarehouse) && + !iswarehouse && getsubItem('Customization', `${subDirectory}setting/Customize`, null, [ - !iswarehouse ? getsubItem( 'Sales Screen', `${subDirectory}saleslayouts/sales-selection` ) : '', - + !iswarehouse ? getsubItem( 'Print Forms', @@ -1327,7 +1360,7 @@ console.log(iswarehouse,'iswarehouseiswarehouseiswarehouse'); `${subDirectory}saleslayouts/kiosk-selection` ) : '', - + !iswarehouse ? getsubItem( 'Barcode / QR', @@ -1424,7 +1457,7 @@ console.log(iswarehouse,'iswarehouseiswarehouseiswarehouse'); ) : '', ]; -const customizedmenuitem = [] + const customizedmenuitem = []; const AndroidAppMenuItem = [ getItem( 'Download', @@ -1661,26 +1694,22 @@ const customizedmenuitem = [] `${subDirectory}setting/membership-master/list` ), - - getsubItem('Employee', `${subDirectory}employee`, null, [ - // getsubItem('Shift', `${subDirectory}setting/shift-master`), - getsubItem( - 'Add Employee', - `${subDirectory}setting/employee-master` - ), - getsubItem( - 'Employee Access', - `${subDirectory}setting/employee-access` - ), - // getsubItem( - // 'Commission / Incentive', - // `${subDirectory}setting/commission-or-incentive-master` - // ), - ]), + getsubItem('Employee', `${subDirectory}employee`, null, [ + // getsubItem('Shift', `${subDirectory}setting/shift-master`), + getsubItem('Add Employee', `${subDirectory}setting/employee-master`), + getsubItem( + 'Employee Access', + `${subDirectory}setting/employee-access` + ), + // getsubItem( + // 'Commission / Incentive', + // `${subDirectory}setting/commission-or-incentive-master` + // ), + ]), getsubItem('Config Type', `${subDirectory}setting/config-type`), - - getsubItem('Common Master', `${subDirectory}setting/common-master`), - getsubItem('Tax', `${subDirectory}setting/admin-tax`), + + getsubItem('Common Master', `${subDirectory}setting/common-master`), + getsubItem('Tax', `${subDirectory}setting/admin-tax`), !iswarehouse && getsubItem('Other Services', `${subDirectory}setting/other-services`), @@ -1718,22 +1747,26 @@ const customizedmenuitem = [] `${subDirectory}setting/supplierproductmapping-master` ), ]), - !sportsAppPreference && getsubItem( - 'Stock Transfer', - `${subDirectory}setting/stocktransfer`, - null, - [ - getsubItem( - 'Create Transfer', - `${subDirectory}setting/stock-transferlist` - ), + !sportsAppPreference && + getsubItem( + 'Stock Transfer', + `${subDirectory}setting/stocktransfer`, + null, + [ getsubItem( - 'Stock Dispatch', - `${subDirectory}setting/stock-dispatch` - ), - getsubItem('Received Stocks', `${subDirectory}setting/receive-stocks`), - ] - ), + 'Create Transfer', + `${subDirectory}setting/stock-transferlist` + ), + getsubItem( + 'Stock Dispatch', + `${subDirectory}setting/stock-dispatch` + ), + getsubItem( + 'Received Stocks', + `${subDirectory}setting/receive-stocks` + ), + ] + ), ]), // Production getsubItem( @@ -2220,30 +2253,25 @@ const customizedmenuitem = [] ] ), - - getsubItem('Employee', `${subDirectory}employee`, null, [ - // getsubItem('Shift', `${subDirectory}setting/shift-master`), - getsubItem( - 'Add Employee', - `${subDirectory}setting/employee-master` - ), - getsubItem( - 'Employee Access', - `${subDirectory}setting/employee-access` - ), - // getsubItem( - // 'Commission / Incentive', - // `${subDirectory}setting/commission-or-incentive-master` - // ), - ]), + getsubItem('Employee', `${subDirectory}employee`, null, [ + // getsubItem('Shift', `${subDirectory}setting/shift-master`), + getsubItem('Add Employee', `${subDirectory}setting/employee-master`), + getsubItem( + 'Employee Access', + `${subDirectory}setting/employee-access` + ), + // getsubItem( + // 'Commission / Incentive', + // `${subDirectory}setting/commission-or-incentive-master` + // ), + ]), sportsAppPreference && getsubItem( 'Membership', `${subDirectory}setting/membership-master/list` ), - - getsubItem('Common Master', `${subDirectory}setting/common-master`), + getsubItem('Common Master', `${subDirectory}setting/common-master`), getsubItem('Tax', `${subDirectory}setting/admin-tax`), !iswarehouse && @@ -2289,22 +2317,26 @@ const customizedmenuitem = [] `${subDirectory}setting/supplierproductmapping-master` ), ]), - !sportsAppPreference && getsubItem( - 'Stock Transfer', - `${subDirectory}setting/stocktransfer`, - null, - [ - getsubItem( - 'Create Transfer', - `${subDirectory}setting/stock-transferlist` - ), + !sportsAppPreference && + getsubItem( + 'Stock Transfer', + `${subDirectory}setting/stocktransfer`, + null, + [ getsubItem( - 'Stock Dispatch', - `${subDirectory}setting/stock-dispatch` - ), - getsubItem('Received Stocks', `${subDirectory}setting/receive-stocks`), - ] - ), + 'Create Transfer', + `${subDirectory}setting/stock-transferlist` + ), + getsubItem( + 'Stock Dispatch', + `${subDirectory}setting/stock-dispatch` + ), + getsubItem( + 'Received Stocks', + `${subDirectory}setting/receive-stocks` + ), + ] + ), ]), !iswarehouse && @@ -2531,22 +2563,20 @@ const customizedmenuitem = [] 'GST Invoice Setup', `${subDirectory}setting/gst-invoice-setup` ), - - !sportsAppPreference && + + !sportsAppPreference && getsubItem( 'Customization', `${subDirectory}setting/Customized`, null, [ - - !sportsAppPreference && - !iswarehouse + !sportsAppPreference && !iswarehouse ? getsubItem( 'Sales Screen', `${subDirectory}saleslayouts/sales-selection` ) : '', - + !iswarehouse ? getsubItem( 'Print Forms', @@ -2562,9 +2592,8 @@ const customizedmenuitem = [] `${subDirectory}saleslayouts/kiosk-selection` ) : '', - - !iswarehouse && - !sportsAppPreference + + !iswarehouse && !sportsAppPreference ? getsubItem( 'Barcode / QR', `${subDirectory}saleslayouts/barcode-qr-selection` @@ -2696,8 +2725,8 @@ const customizedmenuitem = [] , EmpProduction ), - (EmpSales?.length > 0 && - !iswarehouse) && + EmpSales?.length > 0 && + !iswarehouse && getItem( 'Sales', `${subDirectory}saleslist`, @@ -2706,26 +2735,27 @@ const customizedmenuitem = [] ), // EmpfilterReportMenu?.length > 0 && !iswarehouse && - getItem( - 'KOT', - `${subDirectory}kitchen`, - , - empFilteredKOTMenu - ), - (EmpfilterReportMenu ?.length > 0 ) && - getItem( - 'REPORTS', - `${subDirectory}reports`, - , - EmpfilterReportMenu - ), - (EmpSuport?.length > 0 && !iswarehouse) && - getsubItem( - 'Support', - `${subDirectory}setting/create-tickets`, - , - EmpSuport - ), + getItem( + 'KOT', + `${subDirectory}kitchen`, + , + empFilteredKOTMenu + ), + EmpfilterReportMenu?.length > 0 && + getItem( + 'REPORTS', + `${subDirectory}reports`, + , + EmpfilterReportMenu + ), + EmpSuport?.length > 0 && + !iswarehouse && + getsubItem( + 'Support', + `${subDirectory}setting/create-tickets`, + , + EmpSuport + ), EmpSettingMenu?.length > 0 && EmpSettingMenu?.[0]?.children?.length > 0 && getItem( diff --git a/src/Pages/BookingScreen/BookingPage.jsx b/src/Pages/BookingScreen/BookingPage.jsx index d2a461e..a467bdc 100644 --- a/src/Pages/BookingScreen/BookingPage.jsx +++ b/src/Pages/BookingScreen/BookingPage.jsx @@ -1,4 +1,4 @@ -import React, { useEffect, useState } from 'react'; +import { useEffect, useState } from 'react'; import { useSelector, useDispatch } from 'react-redux'; import BSLayout1 from '../../Pages/BookingScreen/Template/BSLayout1/BSLayout1.jsx'; import BSLayout2 from '../../Pages/BookingScreen/Template/BSLayout2/BSLayout2.jsx'; @@ -19,14 +19,11 @@ import { changeScanTemplate, } from '../../Features/ThemeChange/ThemeChange'; import { - ChangeBranchFinancialStatus, changeProductSubCategorie, ChangeScreenSize, - FeatureAddon, getConfigType, getLayoutCategories, getLayoutSubCategories, - getPreferenceData, getUnpaidData, GlobalFeatAddOnData, GlobalProductCategorie, @@ -35,36 +32,36 @@ import { getSession } from '../../Services/Others'; import { usePaymentOptions } from '../../Pages/BookingScreen/Template/PaymentOptions.js'; import { getCustomerDisplayWindow } from '../../Features/customerDisplayWindow/customerDisplayWindow.js'; import { ChangeRedirectStatus } from '../../Features/AppPage/CenterPage.js'; -import { WithoutSalesSetup } from './WithoutSalesSetup.jsx'; import { changeholddata, gettinghold, } from '../../Features/BookingScreen/HoldOption/HoldOption.js'; -import { getBranchDetail } from '../../Features/BrachLogin/BranchLogin.js'; import Loader from '../../Components/Loader/Loader.jsx'; const BookingPage = () => { const dispatch = useDispatch(); const templateData = useSelector(getTemplateData); const ProdCat = useSelector(GlobalProductCategorie); - console.log(templateData, "templateData") + console.log(templateData, 'templateData'); const BookingLayout = templateData?.BookingLayout?.[0]; - const [ismounted, setIsmounted] = useState(false) + const [ismounted, setIsmounted] = useState(false); const [templateLoaded, setTemplateLoaded] = useState(false); const PricingAppPricingName = useSelector(GlobalPricingAppPricingName); // const Advance = PricingAppPricingName?.some(item => item.PricingName === "Advance"); - const Pro = PricingAppPricingName?.some((item) => item.PricingName === 'Customized'); + // const Pro = PricingAppPricingName?.some( + // (item) => item.PricingName === 'Customized' + // ); const CompId = getSession('CompId'); const BranchId = getSession('BranchId'); const AppId = getSession('AppId'); const UserId = getSession('UserId'); const AppName = getSession('AppName'); const UserType = getSession('UserType'); - const AuthToken = sessionStorage.getItem("auth"); - const SessionMobileNo = getSession("MobileNo"); + const AuthToken = sessionStorage.getItem('auth'); + const SessionMobileNo = getSession('MobileNo'); // const [FeatureAddonData, setFeatureAddonData] = useState([]); - const FeatureAddonData = useSelector(GlobalFeatAddOnData) - const Scantemplatedata = useSelector(GlobalScanTemplate) + const FeatureAddonData = useSelector(GlobalFeatAddOnData); + const Scantemplatedata = useSelector(GlobalScanTemplate); // useEffect(() => { // dispatch( // getPreferenceData({ CompId: CompId, AppId: AppId, BranchId: BranchId }) @@ -166,7 +163,6 @@ const BookingPage = () => { UserId: UserId, }); - useEffect(() => { ProdCat && dispatch( @@ -180,7 +176,6 @@ const BookingPage = () => { }, [ProdCat]); useEffect(() => { - dispatch(getConfigType({ TypeName: 'Booking Type' })).unwrap(); dispatch(ChangeRedirectStatus(true)); dispatch(changeProductSubCategorie('NaN')); @@ -202,7 +197,7 @@ const BookingPage = () => { // getFeatureAddonData(); } // dispatch(getConfigType({ TypeName: 'Booking Type' })).unwrap(); - + dispatch(PricingAppPricingNameData(data)).unwrap(); }, []); @@ -215,15 +210,19 @@ const BookingPage = () => { useEffect(() => { const fetchData = async (Plan) => { - if (templateLoaded) return; // STOP duplicate calls + if (templateLoaded) return; // STOP duplicate calls - const Data = { AppId, CompId, BranchId }; - if (Scantemplatedata?.Scantemplate && (Scantemplatedata?.changetemp == 'Combo')) { - console.log("dont want any changes") - } else - if (Scantemplatedata?.changetemp == 'Layout' && (Scantemplatedata?.OldTemp == 'Combo1' || - Scantemplatedata?.OldTemp == 'Combo2')) { + if ( + Scantemplatedata?.Scantemplate && + Scantemplatedata?.changetemp == 'Combo' + ) { + console.log('dont want any changes'); + } else if ( + Scantemplatedata?.changetemp == 'Layout' && + (Scantemplatedata?.OldTemp == 'Combo1' || + Scantemplatedata?.OldTemp == 'Combo2') + ) { let tempdata = { BookingLayout: [ 'Layout2', @@ -397,13 +396,21 @@ const BookingPage = () => { ], ], }; - await dispatch(changeScanTemplate({ Scantemplate: false, changetemp: Scantemplatedata?.changetemp, Template: tempdata, OldTemp: Scantemplatedata?.OldTemp })) + await dispatch( + changeScanTemplate({ + Scantemplate: false, + changetemp: Scantemplatedata?.changetemp, + Template: tempdata, + OldTemp: Scantemplatedata?.OldTemp, + }) + ); // setIsmounted(false) - } - else { - const templateResponse = await dispatch(getTemplate({ CompId, BranchId, AppId })).unwrap(); + } else { + const templateResponse = await dispatch( + getTemplate({ CompId, BranchId, AppId }) + ).unwrap(); dispatch(getPrintSelectionComponentData(Data)).unwrap(); - setTemplateLoaded(true) + setTemplateLoaded(true); if ( !templateResponse?.data?.data || templateResponse.data.data.length === 0 @@ -417,7 +424,6 @@ const BookingPage = () => { // } } // Check if template data is empty or not - }; const Advance = PricingAppPricingName?.some( (item) => item.PricingName === 'Premium' @@ -428,8 +434,12 @@ const BookingPage = () => { const hasCustomizedTemplate = FeatureAddonData?.FeatureDtls?.some( (item) => item?.FeatureAddonName?.toLowerCase() === 'customized template' ); - if (PricingAppPricingName?.length === 0) return; - console.log(PricingAppPricingName,FeatureAddonData,"FeatureAddonDataFeatureAddonData") + if (PricingAppPricingName?.length === 0) return; + console.log( + PricingAppPricingName, + FeatureAddonData, + 'FeatureAddonDataFeatureAddonData' + ); if (PricingAppPricingName?.length > 0) { if (Advance) { fetchData('Advance'); @@ -445,8 +455,8 @@ const BookingPage = () => { // if (hasCustomizedTemplate) { // fetchData('Standard'); // } else { - fetchData('Standard'); - // Professional('Standard'); + fetchData('Standard'); + // Professional('Standard'); // } } // setIsmounted(false) @@ -493,19 +503,21 @@ const BookingPage = () => { // }; if (ismounted) return ( -
+
- ) + ); return (
{Object.keys(templateData)?.length > 0 ? ( diff --git a/src/Pages/BookingScreen/Components/BSCombo/BSC1NavBar.jsx b/src/Pages/BookingScreen/Components/BSCombo/BSC1NavBar.jsx index d1333f1..5c7f72a 100644 --- a/src/Pages/BookingScreen/Components/BSCombo/BSC1NavBar.jsx +++ b/src/Pages/BookingScreen/Components/BSCombo/BSC1NavBar.jsx @@ -361,7 +361,7 @@ const BSC1NavBar = (props) => { )} {!isMobile && ( -
+
)} diff --git a/src/Pages/BookingScreen/Components/BSCombo/BSTimer.jsx b/src/Pages/BookingScreen/Components/BSCombo/BSTimer.jsx index 4fce57a..0d7cabb 100644 --- a/src/Pages/BookingScreen/Components/BSCombo/BSTimer.jsx +++ b/src/Pages/BookingScreen/Components/BSCombo/BSTimer.jsx @@ -1,21 +1,19 @@ -import React, { useState, useEffect } from 'react'; +import { useState, useEffect } from 'react'; import './BSTImer.scss'; -import { FaCalendar } from "react-icons/fa"; -import { GoClockFill } from "react-icons/go"; + import { ExtractDateFormate } from '../../../../Services/Others'; const useCurrentTime = () => { - const [currentTime, setCurrentTime] = useState(new Date()); + const [currentTime, setCurrentTime] = useState(new Date()); - useEffect(() => { - const timer = setInterval(() => setCurrentTime(new Date()), 1000); - return () => clearInterval(timer); - }, []); + useEffect(() => { + const timer = setInterval(() => setCurrentTime(new Date()), 1000); + return () => clearInterval(timer); + }, []); - return currentTime; + return currentTime; }; - const LiveTimer = () => { // Initialize state for current time const [currentTime, setCurrentTime] = useState(new Date()); @@ -52,43 +50,22 @@ const LiveTimer = () => { export default LiveTimer; - export const TimeDisplay = () => { - const currentTime = useCurrentTime(); + const currentTime = useCurrentTime(); - const formatTime = (date) => - date.toLocaleTimeString("en-US", { - hour12: true, - hour: "2-digit", - minute: "2-digit", - second: "2-digit", - }); + const formatTime = (date) => + date.toLocaleTimeString('en-US', { + hour12: true, + hour: '2-digit', + minute: '2-digit', + second: '2-digit', + }); - return ( -
- {formatTime(currentTime)} -
- ); + return
{formatTime(currentTime)}
; }; export const DateDisplay = () => { - const currentDate = useCurrentTime(); + const currentDate = useCurrentTime(); - // const formatDate = (date) => { - // const days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; - // const months = [ - // "Jan", "Feb", "Mar", "Apr", "May", "Jun", - // "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" - // ]; - // return `${days[date.getDay()]} ${date.getDate()} ${months[date.getMonth()]}`; - // }; - - return ( -
- {ExtractDateFormate(currentDate)} -
- ); + return
{ExtractDateFormate(currentDate)}
; }; - - - diff --git a/src/Pages/BookingScreen/Components/BSNavbar/BSNavbar1.jsx b/src/Pages/BookingScreen/Components/BSNavbar/BSNavbar1.jsx index a763884..73cfcdb 100644 --- a/src/Pages/BookingScreen/Components/BSNavbar/BSNavbar1.jsx +++ b/src/Pages/BookingScreen/Components/BSNavbar/BSNavbar1.jsx @@ -108,7 +108,7 @@ import { BiSolidPhoneCall } from 'react-icons/bi'; import { PiSignOutLight } from 'react-icons/pi'; import PozoSwapIcon from '../UtillComponents/Pozo retail icons/PozoSwapIcon.jsx'; import { MdEdit } from 'react-icons/md'; -import { CgSearchLoading } from "react-icons/cg"; +import { CgSearchLoading } from 'react-icons/cg'; import UserRelieveManager from '../../Template/RealivingUser.jsx'; import user from '../../../../Images/dashboard/user.jpg'; import BSNavBarUserInfo from './BSNavBarUserInfo'; @@ -132,6 +132,7 @@ const BSNavbar1 = (props) => { const [Navmenu, setNavmenu] = useState(false); const [isAccOpen, setAccIsOpen] = useState(false); const [formattedDate, setFormattedDate] = useState(''); + // const [FeatureAddonData, setFeatureAddonData] = useState([]); const [paymentfeataddon, setpaymentfeataddon] = useState(false); const [addcustomer, setAddCustomer] = useState(false); @@ -314,11 +315,6 @@ const BSNavbar1 = (props) => { getFeatureAddonData(); } }, [FeatureAddonData]); - // useEffect(() => { - // if (BranchId) { - // Combodata(); - // } - // }, [BranchId, AppId, CompId]); const fetchBranchData = async () => { if (UserType === 'Super Admin' || UserType === 'Super Admin User') { @@ -390,7 +386,6 @@ const BSNavbar1 = (props) => { navigate(`${subDirectory}app-page/branch-login`); }; - const notificationView = () => {}; //mohan const Logout = async () => { const status = 'N'; // replace with your actual status @@ -456,14 +451,6 @@ const BSNavbar1 = (props) => { } }; - const handleClick = async () => { - if (Comboglobal == false) { - await dispatch(changeCombosearch(true)); - } else { - await dispatch(changeCombosearch(false)); - } - }; - // const Combodata = async () => { // let data = { // AppId: AppId, @@ -638,16 +625,13 @@ const BSNavbar1 = (props) => { position: 'relative', }} > - {/* Multiple search */} -
- setMultiple(true)} /> +
+ setMultiple(true)} />
- - {!OtherServicesglobal && ( <> {navbarOptions?.map((item) => ( @@ -672,27 +656,6 @@ const BSNavbar1 = (props) => {
)} - {/* {ComboDropDown?.length >= 1 && ( -
- -
- -
- -
-
- )} */} )}
@@ -1316,9 +1279,7 @@ const BSNavbar1 = (props) => { destroyOnClose={true} children={ <> - + } /> diff --git a/src/Pages/BranchLogin/BranchLogin.jsx b/src/Pages/BranchLogin/BranchLogin.jsx index addb88c..391244f 100644 --- a/src/Pages/BranchLogin/BranchLogin.jsx +++ b/src/Pages/BranchLogin/BranchLogin.jsx @@ -503,7 +503,7 @@ const BranchLogin = () => { value: option?.UserId, label: option?.UserName, }))} - label={} + label={} className="field-DropDown" onChangeFunction={(e) => UserDropDownChange(e)} isOnchanges={selectedUserData ? true : false} diff --git a/src/Pages/DashBoard/RetailDashboard.jsx b/src/Pages/DashBoard/RetailDashboard.jsx index b38fb69..c775bd4 100644 --- a/src/Pages/DashBoard/RetailDashboard.jsx +++ b/src/Pages/DashBoard/RetailDashboard.jsx @@ -1,4 +1,11 @@ -import { useCallback, useEffect, useRef, useState,lazy, Suspense } from 'react'; +import { + useCallback, + useEffect, + useRef, + useState, + lazy, + Suspense, +} from 'react'; import { useNavigate, useOutletContext } from 'react-router-dom'; import { shallowEqual, useDispatch } from 'react-redux'; import { useSelector } from 'react-redux'; @@ -13,12 +20,12 @@ const TopSellingProductsChart = lazy( () => import('./TopSellingProductsChart.jsx') ); -import sandClock from '../../Images/sandClock.png'; -import Add from '../../Images/dashboard/Add.png'; -import AddPurchase from '../../Images/dashboard/AddPurchase.png'; -import invoice from '../../Images/dashboard/invoice.png'; -import user from '../../Images/dashboard/user.jpg'; -import report from '../../Images/dashboard/report.png'; +import sandClock from '../../Images/sandClock.webp'; +import Add from '../../Images/dashboard/Add.webp'; +import AddPurchase from '../../Images/dashboard/AddPurchase.webp'; +import invoice from '../../Images/dashboard/invoice.webp'; +import user from '../../Images/dashboard/user.webp'; +import report from '../../Images/dashboard/report.webp'; import { GlobalPricingAppPricingName, @@ -55,6 +62,7 @@ import { GenerateLogout, getCompBranchData, getEmpAccesData, + GlobalCompBranchData, GLobalSadminUserData, GlobalSelectedBranchId, PostLoginSuser, @@ -62,9 +70,8 @@ import { } from '../../Features/BrachLogin/BranchLogin.js'; import { getPurchasedAppDetails } from '../../Features/BookingScreen/Pricing/Pricing.js'; - -const BSNavBarUserInfo = lazy(() => - import('../BookingScreen/Components/BSNavbar/BSNavBarUserInfo') +const BSNavBarUserInfo = lazy( + () => import('../BookingScreen/Components/BSNavbar/BSNavBarUserInfo') ); const DefaultModal = lazy(() => import('../../Components/Modal/DefaultModal').then((m) => ({ @@ -92,10 +99,12 @@ import { UserDataBasedOnBranchId } from '../../Features/Reports/Reports.js'; import Loader from '../../Components/Loader/Loader.jsx'; import { getUserProfile } from '../../Features/UserAccount/userData.js'; import { Messages } from '../../Components/Notifications/Messages.jsx'; +import TabSwitcher from './TabSwitcher.jsx'; const commonUrl = import.meta.env.ENV_COMMON_BASE_URL; const subDirectory = import.meta.env.ENV_BASE_URL; const RetailDashboard = () => { + const selection = useSelector((state) => state.DashBoard.activeTab); const today = new Date(); const year = today.getFullYear(); const month = today.getMonth(); @@ -107,11 +116,9 @@ const RetailDashboard = () => { const intialToDate = formatDate(today); const navigate = useNavigate(); const dispatch = useDispatch(); + const CompBranchDataGlobal = useSelector(GlobalCompBranchData); const { RangePicker } = DatePicker; - const tabs = [ - { value: 'dashboard', label: 'Dashboard' }, - { value: 'top-selling-products', label: 'Top Selling Products' }, - ]; + const { setCollapse } = useOutletContext(); const SessionData = useSelector(StoredSessionData, shallowEqual); const PricingAppPricingName = useSelector( @@ -138,7 +145,6 @@ const RetailDashboard = () => { const UserType = getSession('UserType'); const sessionId = getSession('SessionId'); const BrLength = getSession('BranchLength'); - const [selection, setSelection] = useState('dashboard'); const [page, setPage] = useState(1); const [totalPages, setTotalPages] = useState(0); const [loading, setLoading] = useState(false); @@ -244,7 +250,6 @@ const RetailDashboard = () => { date: item?.SalesDate, }; }) || []; - console.log(DineInData, 'DineInData'); useEffect(() => { dispatch(getUserProfile({ UserId: UserId, ActiveStatus: 'A' })).unwrap(); @@ -258,6 +263,7 @@ const RetailDashboard = () => { dates?.[1]?.format('DD-MM-YYYY'), ]); } else { + // alert setIsInitialLoad(false); initializeData(); getInitialdataForPendingBills(); @@ -294,7 +300,7 @@ const RetailDashboard = () => { // First fetch branch data as other calls depend on it await fetchBranchData(); - // Then fetch other data that doesn't depend on branch selection + // Then fetch other data that doesn't depend on branch await Promise.all([ fetchData(), getAllProdId(), @@ -560,7 +566,7 @@ const RetailDashboard = () => { ).unwrap(); setEmpAccess(EmpAcessRepsonse?.data?.data); } - + console.log(CompBranchDataGlobal, 'CompBranchDataGlobal', branchName); const response = await dispatch( getCompBranchData({ AppId: AppId, UserId: UserId, CompId: CompId }) ).unwrap(); @@ -980,6 +986,7 @@ const RetailDashboard = () => { setIsLoadingDashboard(false); } }; + const dateFormat = 'DD-MM-YYYY'; const onChangeBranchFilter = async (branchId) => { @@ -1370,9 +1377,9 @@ const RetailDashboard = () => {
); - const handleSelectChange = (value) => { - setSelection(value); - }; + // const handleSelectChange = (value) => { + // setSelection(value); + // }; return (
@@ -1421,16 +1428,16 @@ const RetailDashboard = () => {
{userprofile && ( - + )}
@@ -1442,35 +1449,27 @@ const RetailDashboard = () => { {/*
Dashboard
*/} {/* public Login dashboard*/}
- {tabs?.map((tab) => ( - - ))} +
{/* Branch Filter Dropdown */} {CompBranchData?.length > 1 && selection !== 'top-selling-products' && (
Loading...
}> - ({ - value: option.BrId, - label: option.BrName, - })), - ]} - className="branch-filter-select" - onChangeFunction={onChangeBranchFilter} - valueData={selectedBranchForFilter} - defaultValue="all" - placeholder="All Branches" - /> + ({ + value: option.BrId, + label: option.BrName, + })), + ]} + className="branch-filter-select" + onChangeFunction={onChangeBranchFilter} + valueData={selectedBranchForFilter} + defaultValue="all" + placeholder="All Branches" + /> )} @@ -2381,95 +2380,95 @@ const RetailDashboard = () => { )} - - - <> -
- ({ - value: option?.UserId, - label: option?.UserName, - }))} - label={} - className="field-DropDown" - onChangeFunction={(e) => UserDropDownChange(e)} - isOnchanges={selectedUserData ? true : false} - valueData={selectedUserData} - disabled={disabled} - /> -
-
- Loading...
}> - ChangeMethod(e)} - /> - -
-
- - {pinInput && ( -
- {[0, 1, 2, 3].map((i) => ( - (inputRefs.current[i] = el)} - className="inputNumber" - type="text" - inputMode="numeric" - pattern="[0-9]" - maxLength={1} - onChange={(e) => handleChange(i, e)} - onKeyDown={(e) => handleKeyDown(i, e)} - style={{ - textAlign: 'center', - width: '40px', - fontSize: '20px', - }} - /> - ))} -
- )} - -
- + +
- - -
+ +
); diff --git a/src/Pages/DashBoard/TabSwitcher.jsx b/src/Pages/DashBoard/TabSwitcher.jsx new file mode 100644 index 0000000..ddc9a95 --- /dev/null +++ b/src/Pages/DashBoard/TabSwitcher.jsx @@ -0,0 +1,27 @@ +import { useDispatch, useSelector } from 'react-redux'; +import { setActiveTab } from '../../Features/RetailDashboard/Dashboard'; + +const TabSwitcher = ({ className = '' }) => { + const dispatch = useDispatch(); + const activeTab = useSelector((state) => state.DashBoard.activeTab); + const tabs = [ + { value: 'dashboard', label: 'Dashboard' }, + { value: 'top-selling-products', label: 'Top Selling Products' }, + ]; + + return ( +
+ {tabs.map((tab) => ( + + ))} +
+ ); +}; + +export default TabSwitcher; diff --git a/src/app/store.js b/src/app/store.js index a45a701..ac19d9a 100644 --- a/src/app/store.js +++ b/src/app/store.js @@ -25,10 +25,11 @@ import Pricing from '../Features/BookingScreen/Pricing/Pricing'; import StockPriceUpdate from '../Features/StockPriceUpdate/StockPriceUpdateMaster'; import taxSlice from '../Features/Tax/Tax'; import Paymentoptions from '../Features/Payment/Paymentoptions/Paymentoptions'; -import userAccount from '../Features/UserAccount/userData.js'; -import OtherServices from "../Features/OtherServices/OtherServices.js" -import BookingOFferNew from '../Features/Offer/Offernew/BookingOffernew.js'; -import SlotManagement from '../Features/SlotManagement/SlotManagement.js'; +import userAccount from '../Features/UserAccount/userData'; +import OtherServices from '../Features/OtherServices/OtherServices'; +import BookingOFferNew from '../Features/Offer/Offernew/BookingOffernew'; +import SlotManagement from '../Features/SlotManagement/SlotManagement'; +import DashBoard from '../Features/RetailDashboard/Dashboard'; const store = configureStore({ reducer: { Paymentoptions: Paymentoptions, @@ -61,6 +62,7 @@ const store = configureStore({ OtherServices: OtherServices, BookingOFferNew: BookingOFferNew, SlotManagement: SlotManagement, + DashBoard:DashBoard, }, middleware: (getDefaultMiddleware) => getDefaultMiddleware({ From c23a96af6d5b4c49f9056b0e27966a8767ae7df1 Mon Sep 17 00:00:00 2001 From: mohan Date: Thu, 12 Feb 2026 11:53:28 +0530 Subject: [PATCH 2/2] Optimization dahsboard load --- src/routesConfig.jsx | 234 +++++++++++-------------------------------- 1 file changed, 59 insertions(+), 175 deletions(-) diff --git a/src/routesConfig.jsx b/src/routesConfig.jsx index 468c7ba..d90267a 100644 --- a/src/routesConfig.jsx +++ b/src/routesConfig.jsx @@ -672,193 +672,77 @@ const Productcatlogue = lazy( const subDirectory = import.meta.env.BASE_URL; const apiCommonUrl = import.meta.env.ENV_API_URL_COMMON; +const initSession = () => { + sessionStore('AppId', 1); + sessionStore('BranchId', 437); + sessionStore('AppName', 'Bakery'); + sessionStore('CompId', 281); + sessionStore('MobileNo', '9360642244'); + sessionStore('UserType', 'Admin'); + sessionStore('UserId', 3333); + sessionStore('userName', 'Karthiga'); + + sessionStorage.setItem( + 'auth', + 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiOTM2MDY0MjI0NCIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTIiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTQiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiXSwiZXhwIjoxNzcwOTIyMDEyLCJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMDEifQ.8iuEF8S7kW1OvVUda3YAx9v7ilp-uy9PVfbBvCPoq20' + ); +}; + +const getAppType = async () => { + // 🔥 If already stored, don't call API again + const storedType = getSession('AppType'); + if (storedType) { + return storedType === 'Wholesale'; + } + + const AppId = getSession('AppId'); + if (!AppId) return null; + + const response = await axios.get( + `${apiCommonUrl}/application?AppId=${AppId}` + ); + + const subCategoryName = + response?.data?.data?.[0]?.SubCategoryName?.toLowerCase(); + + const isWholesale = subCategoryName === 'wholesale'; + + sessionStore('AppType', isWholesale ? 'Wholesale' : 'Sale'); + + return isWholesale; +}; + const fetchComponent = async () => { try { - // sessionStore('AppId', 82); - // sessionStore('BranchId', 404); - // sessionStore('AppName', 'Sports'); - // sessionStore('CompId', 256); - // sessionStore('MobileNo', '9698838966'); - // sessionStore('UserType', 'Admin'); - // sessionStore('UserId', 3128); - // sessionStore('userName', 'Karthiga'); - // sessionStorage.setItem( - // 'auth', - // 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiOTY5ODgzODk2NiIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTIiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTQiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiXSwiZXhwIjoxNzY3OTg0OTk1LCJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMDEifQ.dbwbvmzkddUYIDrLif1jKC8n5ZiOUqpWdW1Xeq1tGuc' - // ); + initSession(); - // sessionStore('AppId', 1); - // sessionStore('BranchId', 121); - // sessionStore('AppName', 'Bakery'); - // sessionStore('CompId', 72); - // sessionStore('MobileNo', '8072329153'); - // sessionStore('UserType', 'Admin'); - // sessionStore('UserId', 39); - // sessionStore('userName', 'Karthiga'); - // sessionStorage.setItem( - // 'auth', - // 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiODA3MjMyOTE1MyIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTIiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTQiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiXSwiZXhwIjoxNzY3NzIzOTk0LCJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMDEifQ.Uyham6EJoEgXqhVQFyWPPcs1cclWpWT9jedyrxOzAI4' - // ); + const isWholesale = await getAppType(); + if (isWholesale === null) return null; - // sessionStore("AppId", 1) - // sessionStore("BranchId", 127) - // sessionStore("AppName", "Restaraunt") - // sessionStore("CompId", 77) - // sessionStore("MobileNo", "9972702376") - // sessionStore("UserType", "Admin") - // sessionStore("UserId", 1791) - // sessionStore("userName", "Karthiga") - // sessionStorage.setItem('auth', "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiOTk3MjcwMjM3NiIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTIiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTQiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiXSwiZXhwIjoxNzY1OTEyODgyLCJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMDEifQ.OxzLs_XOl61Rs-PgLdWAUiYscycnOcyckQ_QeviwpAY") - - // sessionStore('AppId', 1); - // sessionStore('BranchId', 435); - // sessionStore('AppName', 'Bakery'); - // sessionStore('CompId', 280); - // sessionStore('MobileNo', '9360642222'); - // sessionStore('UserType', 'Admin'); - // sessionStore('UserId', 3308); - // sessionStore('userName', 'Karthiga'); - // sessionStorage.setItem( - // 'auth', - // 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiOTM2MDY0MjIyMiIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTIiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTQiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiXSwiZXhwIjoxNzY3OTg2MDI1LCJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMDEifQ.bHBj3BFUflN62gdSlS6qFqL6cDlGZqOwcRBJTFB-Zy8' - // ); - sessionStore('AppId', 1); - sessionStore('BranchId', 437); - sessionStore('AppName', 'Bakery'); - sessionStore('CompId', 281); - sessionStore('MobileNo', '9360642244'); - sessionStore('UserType', 'Admin'); - sessionStore('UserId', 3333); - sessionStore('userName', 'Karthiga'); - sessionStorage.setItem( - 'auth', - 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiOTM2MDY0MjI0NCIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTIiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTQiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiXSwiZXhwIjoxNzcwNzQ5MjkxLCJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMDEifQ.aXnhbA3ReRVyt8denDX_LK_ecVBiG5KdeHsurVR7iwQ' - ); - - const AppId = getSession('AppId'); - if (AppId != null && AppId != undefined) { - const response = await axios.get( - `${apiCommonUrl}/application?AppId=${AppId}` - ); - const subCategoryName = response?.data?.data?.[0]?.SubCategoryName; - if (subCategoryName?.toLowerCase() == 'wholesale') { - sessionStore('AppType', 'Wholesale'); - return import('./Pages/AppPage/WholesaleAppPage.jsx'); - } else { - sessionStore('AppType', 'Sale'); - return import('./Pages/AppPage/AppPage.jsx'); - } - } - } catch (error) { - console.error('API call failed:', error); - return null; // Return null in case of error + return isWholesale + ? import('./Pages/AppPage/WholesaleAppPage.jsx') + : import('./Pages/AppPage/AppPage.jsx'); + } catch (err) { + console.error('API call failed:', err); + return null; } }; const fetchHomeComponent = async () => { try { - // sessionStore('AppId', 82); - // sessionStore('BranchId', 404); - // sessionStore('AppName', 'Sports'); - // sessionStore('CompId', 256); - // sessionStore('MobileNo', '9698838966'); - // sessionStore('UserType', 'Admin'); - // sessionStore('UserId', 3128); - // sessionStore('userName', 'Karthiga'); - // sessionStorage.setItem( - // 'auth', - // 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiOTY5ODgzODk2NiIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTIiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTQiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiXSwiZXhwIjoxNzY3OTg0OTk1LCJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMDEifQ.dbwbvmzkddUYIDrLif1jKC8n5ZiOUqpWdW1Xeq1tGuc' - // ); - // sessionStore('AppId', 104); - // sessionStore('BranchId', 817); - // sessionStore('AppName', 'Sports'); - // sessionStore('CompId', 678); - // sessionStore('MobileNo', '9698838966'); - // sessionStore('UserType', 'Admin'); - // sessionStore('UserId', 2257); - // sessionStore('userName', 'Karthiga'); - // sessionStorage.setItem( - // 'auth', - // 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiOTY5ODgzODk2NiIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwczovL2FwaS5wb3pvLmRldi9wb3pvLXJldGFpbC1hcGkiLCJodHRwczovL2FwaS5wb3pvLmRldi9wb3pvLWNvbW1vbi1hcGkiLCJodHRwczovL2FwaS5wb3pvLmRldi9wb3pvLXNtcy1lbWFpbC10ZW1wbGF0ZS1hcGkiLCJodHRwczovL2FwaS5wb3pvLmRldi9wb3pvLWNvbW1vbi1hcGkiXSwiZXhwIjoxNzY3MDQ4NjgwLCJpc3MiOiJodHRwczovL2FwaS5wb3pvLmRldi9Kd3RUb2tlbiJ9.Pi3XXzF1LmZLy8q2NDvjcK6BlUmJO4hHUAa1Rld7h6s' - // ); + initSession(); - // sessionStore('AppId', 26); - // sessionStore('BranchId', 85); - // sessionStore('AppName', 'Bakery'); - // sessionStore('CompId', 78); - // sessionStore('MobileNo', '9362311570'); - // sessionStore('UserType', 'Super Admin'); - // sessionStore('UserId', 1); - // sessionStore('userName', 'Karthiga'); - // sessionStorage.setItem( - // 'auth', - // 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiOTM2MjMxMTU3MCIsIlBhc3N3b3JkIjoiWkB6OTM3MCIsImF1ZCI6WyJodHRwczovL2FwaS5wb3pvLmFwcC9wb3pvLWNvbW1vbi1hcGkiLCJodHRwczovL2FwaS5wb3pvLmFwcC9wb3pvLWNvbW1vbi1hcGktdGVzdCIsImh0dHBzOi8vYXBpLnBvem8uYXBwL3Bvem8tcmV0YWlsLWFwaSIsImh0dHBzOi8vYXBpLnBvem8uYXBwL3Bvem8tc21zLWVtYWlsLXRlbXBsYXRlLWFwaSIsImh0dHBzOi8vYXBpLnBvem8uYXBwL3Bvem8tY29tbW9uLWFwaSJdLCJleHAiOjE3NjMxOTAxMTAsImlzcyI6Imh0dHBzOi8vYXBpLnBvem8uYXBwL0p3dFRva2VuIn0.nkx5p-533gEM7Dd8J8SiTzLJrnNEMcyLp4iBdz5s8LA' - // // ); - // sessionStore('AppId', 1); - // sessionStore('BranchId', 121); - // sessionStore('AppName', 'Bakery'); - // sessionStore('CompId', 72); - // sessionStore('MobileNo', '8072329153'); - // sessionStore('UserType', 'Admin'); - // sessionStore('UserId', 39); - // sessionStore('userName', 'Karthiga'); - // sessionStorage.setItem( - // 'auth', - // 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiODA3MjMyOTE1MyIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTIiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTQiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiXSwiZXhwIjoxNzY3NzIzOTk0LCJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMDEifQ.Uyham6EJoEgXqhVQFyWPPcs1cclWpWT9jedyrxOzAI4' - // ); + const isWholesale = await getAppType(); + if (isWholesale === null) return null; - // sessionStore('AppId', 1); - // sessionStore('BranchId', 435); - // sessionStore('AppName', 'Bakery'); - // sessionStore('CompId', 280); - // sessionStore('MobileNo', '9360642222'); - // sessionStore('UserType', 'Admin'); - // sessionStore('UserId', 3308); - // sessionStore('userName', 'Karthiga'); - // sessionStorage.setItem( - // 'auth', - // 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiOTM2MDY0MjIyMiIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTIiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTQiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiXSwiZXhwIjoxNzY3OTg2MDI1LCJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMDEifQ.bHBj3BFUflN62gdSlS6qFqL6cDlGZqOwcRBJTFB-Zy8' - // ); - // sessionStore("AppId", 1) - // sessionStore("BranchId", 127) - // sessionStore("AppName", "Restaraunt") - // sessionStore("CompId", 77) - // sessionStore("MobileNo", "9972702376") - // sessionStore("UserType", "Admin") - // sessionStore("UserId", 1791) - // sessionStore("userName", "Karthiga") - // sessionStorage.setItem('auth', "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiOTk3MjcwMjM3NiIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTIiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTQiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiXSwiZXhwIjoxNzY1OTEyODgyLCJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMDEifQ.OxzLs_XOl61Rs-PgLdWAUiYscycnOcyckQ_QeviwpAY") - sessionStore('AppId', 1); - sessionStore('BranchId', 437); - sessionStore('AppName', 'Bakery'); - sessionStore('CompId', 281); - sessionStore('MobileNo', '9360642244'); - sessionStore('UserType', 'Admin'); - sessionStore('UserId', 3333); - sessionStore('userName', 'Karthiga'); - sessionStorage.setItem( - 'auth', - 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiOTM2MDY0MjI0NCIsIlBhc3N3b3JkIjoiWkB6MTIzNCIsImF1ZCI6WyJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTIiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTQiLCJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMTMiXSwiZXhwIjoxNzcwNzQ5MjkxLCJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjM3OjgwMDEifQ.aXnhbA3ReRVyt8denDX_LK_ecVBiG5KdeHsurVR7iwQ' - ); - - const AppId = getSession('AppId'); - if (AppId) { - const response = await axios.get( - `${apiCommonUrl}/application?AppId=${AppId}` - ); - const subCategoryName = response?.data?.data?.[0]?.SubCategoryName; - if (subCategoryName?.toLowerCase() == 'wholesale') { - sessionStore('AppType', 'Wholesale'); - return import('./Pages/DashBoard/WholesaleDashboard.jsx'); - } else { - sessionStore('AppType', 'Sale'); - return import('./Pages/DashBoard/RetailDashboard.jsx'); - } - } - } catch (error) { - console.error('API call failed:', error); - return null; // Return null in case of error + return isWholesale + ? import('./Pages/DashBoard/WholesaleDashboard.jsx') + : import('./Pages/DashBoard/RetailDashboard.jsx'); + } catch (err) { + console.error('API call failed:', err); + return null; } }; + export const routesConfig = [ { path: `${subDirectory}customer-display`, component: CustomerDisplay }, { path: `${subDirectory}PricingPage`, component: PricingPage },