{"version":3,"sources":["components/PartnerConfiguration/PartnerConfiguration.module.scss","components/sales/components/registerCustomer/RegisterCustomer.module.scss","components/header/components/StatusPopup/StatusPopup.module.scss","components/orders/orderDetails/components/productsTable/ProductsTable.module.scss","components/provisioning & store setup/dataTable/DataTable.module.scss","components/orders/orderStatusUpdateButton/OrderStatusUpdateButton.module.scss","components/sales/components/ItemDiscount/ItemDiscount.module.scss","components/sales/components/ReceiptJournalModel/ReceiptJournal.module.scss","components/sales/components/HoldTransaction/HoldTransaction.module.scss","components/header/components/ConformationPopup/ConformationPopup.module.scss","components/sales/components/ItemCard/ItemCard.module.scss","components/sales/components/scrollMenu/ScrollMenu.module.scss","components/sales/components/previousSales/PreviousSales.module.scss","components/reports/Reports.module.scss","components/header/components/StatusButton/StatusButton.module.scss","components/header/Header.module.scss","components/sales/components/DiscountModel/DiscountModel.module.scss","components/sales/components/SuccessModel/SuccessModel.module.scss","components/orders/orderDetails/OrderDetails.module.scss","components/orders/ordersPage/components/searchBox/SearchBox.module.scss","components/basicModal/BasicModal.module.scss","components/PartnerConfiguration/components/storeDetails/StoreDetails.module.scss","components/sales/Sales.module.scss","components/loadingComponent/LoadingComponent.module.scss","components/orders/ordersPage/components/filterBox/FilterBox.module.scss","components/dashboard/Dashboard.module.scss","components/provisioning & store setup/provisionSetupPage/components/searchBox/SearchBox.module.scss","components/provisioning & store setup/provisionSetupPage/components/filterBox/FilterBox.module.scss","components/orders/orderDetails/components/patchCart/PatchCart.module.scss","components/menuPage/MenuPage.module.scss","components/orders/ordersPage/OrdersPage.module.scss","components/loginPage/LoginPage.module.scss","components/sales/components/checkout/Checkout.module.scss","config/enumApiResponseTypes.ts","reportWebVitals.ts","routers/PrivateRoute.tsx","routers/PublicRoute.tsx","config/globalMediaQueries.ts","config/toastNotification.ts","assets/images/logo.jpeg","api/apis.ts","config/index.ts","config/orderStatus.ts","api/apiRequestObjects.ts","components/orders/orderCount/OrderCount.tsx","components/loadingComponent/LoadingComponent.tsx","components/orders/cancelRejectReasonsDialog/cancelRejectReasonDialog.tsx","components/orders/orderStatusUpdateButton/OrderStatusUpdateButton.tsx","components/orders/paginationComponent/PaginationComponent.tsx","components/orders/dataTable/DataTable.tsx","components/orders/orderDetails/components/productsTable/ProductsTable.tsx","components/snackBar/SnackBar.tsx","components/orders/orderDetails/components/patchCart/PatchCart.tsx","components/orders/orderDetails/OrderDetails.tsx","components/orders/ordersPage/components/searchBox/SearchBox.tsx","components/basicModal/BasicModal.tsx","components/orders/ordersPage/components/filterBox/FilterBox.tsx","components/orders/ordersPage/OrdersPage.tsx","assets/images/banner.jpeg","redux/actions/types.ts","redux/actions/authentication/authentication.ts","components/loginPage/LoginPage.tsx","components/dashboard/Dashboard.tsx","assets/images/icon-user.png","config/navItems.ts","components/header/components/StatusButton/StatusButton.tsx","redux/actions/store/status.ts","config/uberStoreStatusCodes.ts","components/header/components/StatusPopup/StatusPopup.tsx","components/header/components/ConformationPopup/ConformationPopup.tsx","redux/actions/menu/menuActions.ts","components/header/components/sidebar/SideBar.tsx","components/header/Header.tsx","components/menuPage/MenuPage.tsx","components/provisioning & store setup/dataTable/components/SelectCombo.tsx","components/provisioning & store setup/dataTable/DataTable.tsx","components/provisioning & store setup/provisionSetupButton/ProvisionSetupButton.tsx","components/provisioning & store setup/provisionSetupPage/components/searchBox/SearchBox.tsx","components/provisioning & store setup/provisionSetupPage/components/filterBox/FilterBox.tsx","components/provisioning & store setup/provisionSetupPage/ProvisionSetupPage.tsx","components/sales/components/ItemCard/ItemCard.tsx","components/sales/components/registerCustomer/data.js","components/sales/components/registerCustomer/RegisterCustomer.tsx","redux/actions/tickets/tickets.ts","components/sales/components/scrollMenu/ScrollMenu.tsx","components/sales/components/previousSales/PreviousSales.tsx","components/sales/components/DiscountModel/DiscountModel.tsx","components/sales/components/ItemDiscount/ItemDiscount.tsx","components/sales/components/ReceiptJournalModel/data.js","components/sales/components/ReceiptJournalModel/ReceiptJournal.tsx","components/sales/components/HoldTransaction/HoldTransaction.tsx","components/sales/Sales.tsx","components/sales/components/SuccessModel/SuccessModel.tsx","components/sales/components/checkout/Checkout.tsx","redux/actions/sales/sales.ts","components/reports/Reports.tsx","components/PartnerConfiguration/PartnerConfiguration.tsx","components/PartnerConfiguration/components/storeDetails/StoreDetails.tsx","routers/AppRouter.tsx","serviceWorkerRegistration.ts","redux/reducers/authentication/authentication.ts","redux/reducers/orders/orders.ts","redux/reducers/store/storeStatus.ts","redux/reducers/ticket/ticket.ts","redux/reducers/index.ts","redux/reducers/menu/menuReduscers.ts","redux/reducers/sales/sales.ts","redux/store/configureStore.ts","index.tsx","components/header/components/sidebar/SideBar.module.scss","components/provisioning & store setup/provisionSetupPage/ProvisionSetupPage.module.scss","components/orders/dataTable/DataTable.module.scss"],"names":["module","exports","APIResponseType","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","PrivateRoute","Component","component","rest","useSelector","state","authentication","user","UserId","props","to","PublicRoute","GLOBAL_MEDIA_QUERIES","tab","notifyError","toast","error","position","POSITION","TOP_CENTER","notifyServerError","axios","defaults","baseURL","process","headers","common","post","responseBody","response","data","restApiCalls","url","body","Users","validateLogin","userRequestModel","Orders","fetchPartnerOrderList","partnerOrderListRequestModel","fetchPartnerOrder","partnerOrderRequestModel","getPrintBill","fetchOrderStatus","baseRequestModel","fetchOrderStatusForBtn","posOrderStatusRequestModel","fetchOrderCountByOrderStatus","posOrderCountRequestModel","updateOrderStatus","fetchCancelDenyReasonCodes","cancelDenyReasonRequestModel","patchCart","patchCartOrderItemRequestModel","searchByOrderReference","searchByOrderReferenceRequestModel","getXReport","partnerReportRequestModel","getPickMeOrders","orderRequestModel","Menus","getMenuItemList","uploadBulkMenuItemList","menuListRequestModel","syncShopifyMenu","updateItem","menuItemUpdateRequestModel","Stores","setStoreStatus","storeStatusRequestModel","getStoreStatus","Provisions","setupProvision","setupProvisionRequestModel","isUberProvisioned","getPartnerStoreList","provisionEnableDisble","configuration","getStorePartners","updateStorePartners","updateRequestModel","apis","SECRET_KEY","API_INTEGRATION_ID","orderStatus","all","orderListRequestModel","RequestId","IntegrationId","ApiKey","RequestingUser","Schema","ValidationMessages","IsApprovedStatus","IsActive","RequestingId","POSStatusKey","OrderDate","undefined","PageNo","UID","CompanyKey","LocationKey","UserKey","EnvironmentName","IsUrbanPiper","statusForBtnsRequestModel","OrderId","PartnerOrderId","OrderTypeKey","DenyOrCancelReasonCode","CurrentPOSStatusCode","DenyOrCancelReasonKey","OrderReference","PatchCartPartnerOrderItems","EmailAddress","PartnerStore","PartnerStoreId","PartnerStoreName","PartnerStoreCode","UserLocationInOurSystem","ContactEmails","AveragePreparationTime","IsProvisionEnabled","OrderCount","filteredDateValue","useState","count","setCount","componentMounted","useRef","useEffect","a","moment","ResponseType","Success","TotalRecordCount","console","log","fetchData","current","className","LoadingComponent","ref","styles","loading","Spinner","children","type","color","Transition","React","forwardRef","Slide","direction","CancelRejectReasonDialog","openReasonDialog","selectedReasonCode","isReasonForReject","selectedOrder","reasonStateKey","handleRadioBtnChange","handleClickOKReasonDialog","handleDialogClose","denyOrCancelReasons","setDenyReasons","fetchDenyOrCancelReasonData","OrderDelivery","TypeOfOrder","OrderTypeId","ResponseData","CancelOrDenyReasonList","localStorage","getItem","denyReasonsToken","JSON","parse","split","Dialog","open","TransitionComponent","keepMounted","onClose","DialogTitle","DialogContent","DialogContentText","id","FormControl","FormLabel","RadioGroup","name","onChange","filter","x","OrderStatusKey","map","reason","FormControlLabel","ReasonKey","toString","value","Code","control","Radio","label","ReasonName","DialogActions","Button","onClick","variant","disabled","CloseButton","closeToast","window","location","reload","OrderStatusUpdateButton","classNames","statusForBtn","updateOrder","posOrderStatus","isUpdateSuccess","setIsUpdateSuccess","isIncomingOrderTimeOut","setIsIncomingOrderTimeOut","latestUpdatedStatus","setLatestUpdatedStatus","isUpdatingAndLoading","setIsUpdatingAndLoading","setOpenReasonDialog","setReasonStateKey","setIsReasonForReject","setSelectedReasonCode","selectedReasonKey","setSelectedReasonKey","partnerOrder","setPartnerOrder","openSnackBar","msg","autoHideDuration","setSnackBarModel","setIsOrderDetailsLoading","PartnerOrder","handleKOTPrint","KOTReportSource","fetch","base64Response","blob","fileURL","URL","createObjectURL","printJS","setOrderStatusUpdate","updatingOrderStatus","OrderStatus","POSStatusCode","now","isSameOrAfter","add","info","autoClose","closeButton","Fade","in","tag","fade_msg","fade_msg2","cx","action_buttons","action_button","POSStatusName","UncontrolledDropdown","DropdownToggle","toggle_menu","caret","DropdownMenu","left","orderState","DropdownItem","IsShowVoidReasons","handleDropDownList","v4","event","target","parseInt","orderStatesKey","toast_notifier","PaginationComponent","orderCount","page","handlePageChange","Stack","spacing","Pagination","Math","trunc","DataTable","orders","selectedItem","selectedNavItem","selectItem","handleBillPrinting","isTablet","useMediaQuery","query","paginatedOrderList","setPaginatedOrderList","setPage","isDataTableLoading","setIsDataTableLoading","selectecOrder","setSelectedOrder","selectedID","setSelectedID","isLoading","setIsLoading","history","useHistory","useMemo","fetchOrderCountData","useCallback","ac","AbortController","AllOrders","catch","e","abort","handleOrderComplete","order","statusRequestModel","push","handleOrderReady","handleOrderDispatch","length","style","width","display","justifyContent","Table","size","hover","table_head","Switch","checked","newOrder","selected_row","row","find","singleOrder","newOrderList","filteredIDList","handleChange","includes","order_id","src","OrderTypeCode","alt","brandLogo","Customer","Address","placed_at","format","order_quantity","Quantity","toFixed","total_amount","Amount","quick_actions","fontSize","print_button","IsCompletedOrderStatus","innerWidth","ProductsTable","orderItems","responsive","quantity","item","IsPayment","orderItem","mb","OrderItem","ItemName","SpecialInstructions","sirow","ItemQuantity","TransactionPrice","PartnerOrderDetailsId","SnackBar","snackBarModel","vertical","horizontal","snackBarState","setSnackBarState","Snackbar","anchorOrigin","message","PatchCart","orderTypeCode","orderId","selectedItemsForPatch","setSelectedItemsForPatch","table","itemQty","setItemQty","visible","itemCounter","setItemCounter","handleNotify","alert","handleReduceItem","action","patchCartOrderItem","PartnerInstanceId","ItemCode","FullfillmentAction","FullfillmentIssue","AvailableItemCount","SubstituteItemId","SubstituteItemQuantity","prev","some","singleItem","popup_box","box","title_container","ArrowBackIosNewOutlined","desc","item_list_container","item_card","dropdown","dropbtn","dropdown_content","itemdetails","handleSoldOut","item_name","item_price","bottom_button_container","LoadingButton","sx","blueGrey","borderColor","notify_popup_container","notify_popup","notify_popup_header","ArrowBackIos","item_counter","Remove","available_quantity","Add","popup_button","popup_button_cancel","popup_button_confirm","OrderDetails","setStatusForBtn","isOrderDetailsLoading","snackBarmodel","togglePatchCart","setTogglePatchCart","OrderStatusList","fetchOrderStatusBtnData","order_details_container","row1","product_id","title","content","order_type","OrderTypeName","row3","customer_details","Name","Phone","order_comments","OrderNote","status_and_payment_container","order_status","payment_type","PickupTime","row4","OrderItemDetails","row5","col1","price_item","DiscountAmount","TaxAmount","ChargesAmount","col2","border","row6","patch","kot","print","item_next_status","partnerOrderId","SearchBox","toggle","searchValue","setSearchValue","initialValues","searchedOrderList","setSearchedOrderList","selectedSearchedOrder","setSelectedSearchedOrder","msgForUser","setMsgForUser","handleOnChangeInputField","SearchResultedOrderList","NotAvailable","Error","search_wrapper","onSubmit","values","autoComplete","placeholder","searchedOrder","List","bgcolor","ListItem","ListItemButton","searchedOrderObject","handleSelectedOrder","ListItemAvatar","Avatar","ListItemText","primary","secondary","Typography","gutterBottom","search_info","BasicModal","isOpen","closeIcon","Modal","close_icon","ModalBody","modal_body","FilterBox","handleFiltering","Date","filterDateValue","setFilterDateValue","filter_wrapper","LocalizationProvider","dateAdapter","AdapterDateFns","DatePicker","disableFuture","inputFormat","newValue","renderInput","params","TextField","startIcon","OrdersPage","orderList","setOrderList","navItems","setSelectedItem","setSelectedNavItem","incomingOrderCount","setIncomingOrderCount","isIncomingOrderArrive","setIsIncomingOrderArrive","isAudioPlaying","setIsAudioPlaying","forEach","fetchOrderListData","statusForTabsRequestModel","sort","b","SortingOrder","fetchStatusData","setIsOpen","toggleModal","isOpenSearch","setIsOpenSearch","toggleSearchModal","setFilteredDateValue","isFiltered","setIsFilterd","isOpenFilter","setIsOpenFilter","setPartnerList","toggleFilterModal","updatedOrderStatus","soundFile","Audio","addEventListener","this","currentTime","play","handlePlayAudio","loop","playPromise","requestNotificationPermission","Notification","requestPermission","showNotification","permission","permision","icon","blxLogo","setInterval","utc","Object","assign","pendingOrders","b64toBlob","base64","res","orderReference","BillReportSource","requestModel","Storepartners","notification_body","pause","notification_screen_text","notify_logo","notification_screen_small_text","main_wrapper","list_of_orders","Chip","onDelete","nav_header","nav_items","orderPosStatus","IsTabOrderStatus","nav_item","nav_item_selected","filter_menu","search_icon","filter_icon","data_table","view_order","no_order","no_order_text","LOGIN","LOGOUT","EMPTY_STATE","GET_ALL_ORDERS","SET_STATUS_LOAD","SET_STATUS_ERROR","SET_STATUS_SUCCESS","SET_STATUS_RESET","GET_STATUS_LOAD","GET_STATUS_ERROR","GET_STATUS_SUCCESS","GET_ALL_MENU_LOAD","GET_ALL_MENU_SUCCESS","GET_ALL_MENU_ERROR","BULK_UPLOAD_LOADING","BULK_UPLOAD_SUCCESS","BULK_UPLOAD_ERROR","BULK_UPLOAD_RESET","BULK_UPLOAD_LOADING_PARTNER","BULK_UPLOAD_SUCCESS_PARTNER","BULK_UPLOAD_ERROR_PARTNER","BULK_UPLOAD_RESET_PARTNER","UPDATE_ITEM_LOAD","UPDATE_ITEM_SUCCESS","UPDATE_ITEM_ERROR","UPDATE_ITEM_RESET","ADD_SALES_ITEM_LOAD","ADD_SALES_ITEM_SUCCESS","ADD_SALES_ITEM_ERROR","GET_SALES_ITEMS_LOAD","GET_SALES_ITEMS_SUCCESS","GET_SALES_ITEMS_ERROR","ADD_TO_TICKETS","REMOVE_FROM_TICKETS","RESET","DECREASE","ADD_TOTAL","ORDER_TYPE","DISCOUNT_TYPE","DISCOUNT_AMOUNT","userLogin","loginUser","dispatch","userData","User","UserCompanies","CompanyId","CompanyName","UserLocations","LocationId","jwtToken","jwt","sign","setItem","InvalidLogin","logoutUser","removeItem","LoginPage","useDispatch","faliedLogin","setFailedLogin","invalidLogin","setInvalidLogin","Username","Password","submitForm","actions","resetForm","Failed","ErrorMessages","loginSchema","Yup","shape","required","logo","company_logo","login_form_wrapper","Alert","invalid_login_alert","loading_spinner","validationSchema","errors","touched","input_group","input_field","input_error","form_submit_btn","banner","company_banner","Dashboard","dashboard","path","getPathName","result","status","StatusButton","click","storeState","container_close","container_open","PlayArrow","Pause","setStatus","uberStoreStatusCodes","StatusPopup","handleClose","timeContent","btnSubmit","reasonContent","pauseDuration","pauseReason","timeValidation","reasonValidation","popup_header","radio_button_container_reason","radio_button_container_two","btn__submit","ConformationPopup","getMenuList","payload","MenuItemList","uploadBulkMenu","SideBar","toggleSidebar","expanded","showPopup","setShowPopup","showconformation","setShowconformation","setReason","pauseUntil","setPauseUntil","timeValidator","setTimeValidator","reasonValidator","setReasonValidator","partnerList","getStoreStatusReducer","store","setStoreStatusReducer","StoreStatus","getStatus","isUpdated","storeStatusHandler","StoreStatusCode","timeHandler","oldDateObj","newDateObj","minutesToAdd","setTime","getTime","toISOString","reasonHandler","IsSpecialInstructionEnable","PartnerMenuItemList","FilteredMenuItemCount","sidebar","show","hide","header","partner","resume","StorePausedUntilTime","StorePauseReason","radio_button_container","htmlFor","btn_container","entries","textAlign","bottom_text_online","bottom_text","Header","pathname","useLocation","userId","userCompanyName","setExpanded","setIsOnline","anchorEl","setAnchorEl","Boolean","header_wrapper","navbar","nav_icon","header_title","currentTarget","avatar","userImg","Popover","MenuPage","updateItemList","setupdateItemList","isItemsLoading","setIsItemsLoading","isProcessing","setisProcessing","isAllSelected","setIsAllSelected","itemsToDisplay","setitemsToDisplay","getAllMenuReducer","isAllMenuLoading","menuItems","bulkUploadReducer","isMenuUploaded","isMenuUploading","isUploadFailed","updateMenuReducer","isMenuUpdated","isUpdating","updatedItem","updateFailed","filterMenuToUpload","setTimeout","uploadMenuHandler","modifiedItems","ItemImage","filteredMenuItemsList","IsPartnerItem","IsDiscontinued","dataToUpload","updateMenuItem","itemKey","itemCode","price","optionalprice","isDiscontinued","isPartner","updateModel","ItemKey","SalesPrice","OptionalSalesPrice","severity","menu_header","button_container","menu_upload","menu_box","columns","field","switch_on","switch","items","handleIsAllSeleted","rows","ItemImageUrl","CategoryName","height","ItemShortName","prevLists","handleDiscontinueChange","handlePartnerChange","UpgradeOutlined","setProducts","bordered","disableRetreatAfterSorting","searchLabel","entrieslabel","noBottomColumns","AlertTitle","SelectCombo","userLocationList","selectedLocationKey","handleComboChange","partnerStoreId","selectedStore","Box","minWidth","fullWidth","InputLabel","Select","labelId","MenuItem","LocationName","initialStore","partnerStoreList","setOpenSnack","setSelectedLocationKey","setSelectedStore","handleProvisionOff","partnerStore","success","handleProvisionOn","store_id","address","city","selectStore","provision_actions","ProvisionSetupButton","handleGetStores","isProvisioned","setIsProvisioned","urlCopied","setUrlCopied","openDialog","setOpenDialog","handleGeneratingLinkClick","navigator","clipboard","writeText","Messages","Message","fetchIsUberProvisionedData","loadingIndicator","filterValue","setFilterValue","orderType","orderTypeName","ProvisionSetupPage","setPartnerStoreList","setUserLocationList","PartnerStoreList","UserLocationList","provision_btn_with_filter_menu","ItemCard","onTap","item_card_container","image_container","item_details","item_title","cus_data","customer_code","customer_name","contact_no","email","door_no","street","postal_code","total_payable","RegisterCustomer","customerList","isToggled","customer","toggleRegister","settoggleRegister","setData","filterQuery","setfilterQuery","setcustomer","overlay_model","register_container","customer_container","customer_list","toLowerCase","first_name","last_name","register_customer","register_header","form_ontainer","addTicket","getState","stringify","ticketReducer","ticketItems","resetTickets","setDiscountType","discountType","setDiscountAmount","amount","discountAmount","ScrollMenu","category","handleCategoryFilter","handleSearch","selected","setselected","setview","setdropdown","setsize","useLayoutEffect","updateSize","innerHeight","removeEventListener","useWindowSize","slice","nav_bar","categoty_list","index","categoty_item","item_selected","item_not_selected","PreviousSales","success_model","filter_header","marginLeft","previous_sale_list","footer","DiscountModel","handleCancelDiscount","setAndClose","setdiscountType","setdiscountAmount","success_model_container","m","discountPercentage","handleDiscount","ItemDiscount","total","item_list","salesData","invoice_id","date","sales","ReceiptJournal","closeModel","currentDate","setDate","receipt_journal_model","journal_header","getMonth","yy","mm","join","journal_body","invoice_item","journal_footer","filteredSales","calculateTotal","holdItems","HoldTransaction","hold_model","hold_header","hold_body","hold_item","hold_footer","Sales","setcategory","searchQuery","setsearchQuery","categoryFilter","setcategoryFilter","selectOrderType","setSelectOrderType","showPreviousSales","setshowPreviousSales","showDiscount","setshowDiscount","showItemDiscount","setshowItemDiscount","showReceiptJournal","setShowReceiptJournal","showHoldSale","setShowHoldSale","isMenuLoaded","totalSum","categoryName","newCategory","Array","from","Set","addToTicket","newItem","ItemPrice","sum","sales_container","item_list_body","sales_ticket","PersonAddAlt","ticket_items","ticket_header","header_item","header_quantity","header_unit_price","header_total_price","ticket_item","counter","reduceQuantity","item_qty","unit_container","total_container","DeleteForever","cursor","ticket_total","sub_total","discount","Number","net_total","static_button","setTotal","scroll_buttons","SuccessModel","balanceAmount","paymentType","customerName","Checkout","totalPayable","settotalPayable","totalPaid","settotalPaid","inputValue","setinputValue","roundOffUK","setpaymentType","creditCustomerID","setcreditCustomerID","creditCustomerList","setcreditCustomerList","creditedCustomer","setcreditedCustomer","inputRef","getSalesItemReducer","itemList","loaded","list","checkout_container","itemlist_container","top_bar","ArrowBack","billing_container","top_bar_right","billing_header","billing_body","input_container","preventDefault","prevState","handlePay","customerID","cc","previousList","singleCustomer","round_off_btn","Reports","fromDate","setFromDate","toDate","setToDate","setloading","seterror","handleReports","SalesReportSource","report_container","date_container","from_date","DesktopDatePicker","to_date","PartnerConfiguration","partners","setpartners","setisUpdateSuccess","getPartners","saveSettings","storePartners","wrapper","table_header","IsOrderEnabled","StorePartnerId","hadnlePartner","button_wrapper","SaveAlt","details","StoreName","City","MinimumPickupTime","MinimumDeliveryTime","ContactNumber","NotificationNumber","NotificationEmail","DeliveryZIPCode","Longitude","Latitude","MinimumOrderValue","OpeningTime","CLosingTIme","StoreDetails","week","selectedDays","setSelectedDays","selectedOpenDays","setSelectedOpenDays","openingTIme","setOpeningTIme","closingTIme","setClosingTIme","handleStoreOpeningTImes","store_details_container","store_name","store_address","order_time","pickup","delivery","store_contact","contact","notification","store_email","store_location","longitude","latitude","store_order_zip","order_rate","zip","store_time_container","store_time","open_and_close","close","Checkbox","day","datatoSet","OpenDays","OpenTIme","ClosingTIme","datatable","days","single_day","Clear","splice","removeDate","Save","AppRouter","fetchMenu","basename","exact","isLocalhost","hostname","match","registerValidSW","swUrl","config","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","onSuccess","innitialState","initialState","rootReducer","combineReducers","bulkUploadPartnerReducer","isMenuUploadedPartner","isMenuUploadingPartner","addSalesReducer","isExist","itemToReduce","isItemExist","composeEnhancers","_REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","createStore","applyMiddleware","thunkMiddleware","isRendered","acess_token","verify","ReactDOM","render","StrictMode","document","getElementById","renderApp","href","origin","contentType","get","indexOf","ready","unregister","checkValidServiceWorker","serviceWorkerRegistration"],"mappings":"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,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,qBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,sBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,kBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,IAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,IAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,IAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,qBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,gBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,sBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,oBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,sBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,kBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,gBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,sBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,oBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,sBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,IAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,oBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,sBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,qBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,gBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,iBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MAAO,KAET,CACEF,WAAY,mBACZC,KAAM,aACNC,MA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","file":"static/js/main.9f958265.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"PartnerConfiguration_wrapper__wmKL7\",\"partners\":\"PartnerConfiguration_partners__1URQJ\",\"table_header\":\"PartnerConfiguration_table_header__1rpwz\",\"switch\":\"PartnerConfiguration_switch__1Lr6S\",\"switch_on\":\"PartnerConfiguration_switch_on__INJ0G\",\"button_wrapper\":\"PartnerConfiguration_button_wrapper__E8ZHi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overlay_model\":\"RegisterCustomer_overlay_model__2SD6o\",\"register_customer\":\"RegisterCustomer_register_customer__1yumD\",\"register_header\":\"RegisterCustomer_register_header__S8cCd\",\"form_ontainer\":\"RegisterCustomer_form_ontainer__3wEfq\",\"register_container\":\"RegisterCustomer_register_container__b1bIW\",\"customer_container\":\"RegisterCustomer_customer_container__65qHm\",\"customer_list\":\"RegisterCustomer_customer_list__31iN0\",\"customer\":\"RegisterCustomer_customer__2Z1IH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"popup_box\":\"StatusPopup_popup_box__xC_q6\",\"box\":\"StatusPopup_box__CTQNv\",\"btn__submit\":\"StatusPopup_btn__submit__3j7G1\",\"radio_button_container\":\"StatusPopup_radio_button_container__28lq2\",\"radio_button_container_two\":\"StatusPopup_radio_button_container_two__VowH7\",\"radio_button_container_reason\":\"StatusPopup_radio_button_container_reason__ODqHA\",\"close_icon\":\"StatusPopup_close_icon__3Kn2q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"table_head\":\"ProductsTable_table_head__1fv7k\",\"row\":\"ProductsTable_row__1TM3u\",\"sirow\":\"ProductsTable_sirow__35Kzs\",\"spiWord\":\"ProductsTable_spiWord__PgQ_a\",\"stockcount\":\"ProductsTable_stockcount__2Dzva\",\"quantity\":\"ProductsTable_quantity__12ihT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"table_head\":\"DataTable_table_head__2cfNJ\",\"row\":\"DataTable_row__evu2b\",\"selected_row\":\"DataTable_selected_row__1KsOe\",\"toast_notifier\":\"DataTable_toast_notifier__2eRlr\",\"address\":\"DataTable_address__igDFP\",\"city\":\"DataTable_city__28V8_\",\"store_id\":\"DataTable_store_id__JxLcM\",\"provision_actions\":\"DataTable_provision_actions__3YU5U\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"action_buttons\":\"OrderStatusUpdateButton_action_buttons__Q7Jvz\",\"fade_msg\":\"OrderStatusUpdateButton_fade_msg__subTC\",\"fade_msg2\":\"OrderStatusUpdateButton_fade_msg2__1ZPhG\",\"action_button\":\"OrderStatusUpdateButton_action_button__20-Sf\",\"toggle_menu\":\"OrderStatusUpdateButton_toggle_menu__1y4l-\",\"toast_notifier\":\"OrderStatusUpdateButton_toast_notifier__3zFU0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overlay_model\":\"ItemDiscount_overlay_model__2lwXy\",\"success_model\":\"ItemDiscount_success_model__2WBN5\",\"success_model_container\":\"ItemDiscount_success_model_container__3-W9z\",\"item_list\":\"ItemDiscount_item_list__IKgAR\",\"item\":\"ItemDiscount_item__3a-Gl\",\"btn_container\":\"ItemDiscount_btn_container__1sXh-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overlay_model\":\"ReceiptJournal_overlay_model__gbzWh\",\"receipt_journal_model\":\"ReceiptJournal_receipt_journal_model__27dBW\",\"journal_header\":\"ReceiptJournal_journal_header__D6fVr\",\"journal_body\":\"ReceiptJournal_journal_body__2WywC\",\"invoice_item\":\"ReceiptJournal_invoice_item__3F6ca\",\"journal_footer\":\"ReceiptJournal_journal_footer__esChG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overlay_model\":\"HoldTransaction_overlay_model__2IVSL\",\"hold_model\":\"HoldTransaction_hold_model__3BEZa\",\"hold_header\":\"HoldTransaction_hold_header__12XhG\",\"hold_body\":\"HoldTransaction_hold_body__2N9EX\",\"hold_item\":\"HoldTransaction_hold_item__3CjNO\",\"hold_footer\":\"HoldTransaction_hold_footer__1hr11\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"popup_box\":\"ConformationPopup_popup_box__2_Uqp\",\"box\":\"ConformationPopup_box__1lPTC\",\"btn__submit\":\"ConformationPopup_btn__submit__1o9oN\",\"close_icon\":\"ConformationPopup_close_icon__1ylmZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"item_card_container\":\"ItemCard_item_card_container__2Rt9h\",\"image_container\":\"ItemCard_image_container__1C026\",\"item_details\":\"ItemCard_item_details__2tFsb\",\"item_title\":\"ItemCard_item_title__3vuUS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"nav_bar\":\"ScrollMenu_nav_bar__2EgiT\",\"categoty_list\":\"ScrollMenu_categoty_list___weIc\",\"categoty_item\":\"ScrollMenu_categoty_item__2wdK0\",\"item_not_selected\":\"ScrollMenu_item_not_selected__3A7oR\",\"item_selected\":\"ScrollMenu_item_selected__2ENbV\",\"dropdown\":\"ScrollMenu_dropdown__3KmuP\",\"dropdown_list\":\"ScrollMenu_dropdown_list__272a4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overlay_model\":\"PreviousSales_overlay_model__3OPGh\",\"success_model\":\"PreviousSales_success_model__26lW0\",\"filter_header\":\"PreviousSales_filter_header__2sIoo\",\"previous_sale_list\":\"PreviousSales_previous_sale_list__3EltO\",\"footer\":\"PreviousSales_footer__V3oO7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"report_container\":\"Reports_report_container__2kjGP\",\"date_container\":\"Reports_date_container__18yFp\",\"from_date\":\"Reports_from_date__1cICV\",\"to_date\":\"Reports_to_date__2qq5t\",\"btn_container\":\"Reports_btn_container__1XESA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container_open\":\"StatusButton_container_open__2wIL7\",\"btn__open\":\"StatusButton_btn__open__2CuTG\",\"container_close\":\"StatusButton_container_close__DTEL1\",\"play\":\"StatusButton_play__2tv2I\",\"pause\":\"StatusButton_pause__1G3Co\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header_wrapper\":\"Header_header_wrapper__2tNP9\",\"navbar\":\"Header_navbar__1EmEH\",\"nav_icon\":\"Header_nav_icon__1tRSK\",\"header_title\":\"Header_header_title__14PSa\",\"user_profile\":\"Header_user_profile__1uAP5\",\"img\":\"Header_img__1MgTB\",\"btn-secondary\":\"Header_btn-secondary__3uOT1\",\"user_profile_pic\":\"Header_user_profile_pic__2S2o8\",\"user_name\":\"Header_user_name__5_5ua\",\"chip\":\"Header_chip__2ESBb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overlay_model\":\"DiscountModel_overlay_model__3_m8H\",\"success_model\":\"DiscountModel_success_model__oEqpz\",\"success_model_container\":\"DiscountModel_success_model_container__3eBc0\",\"btn_container\":\"DiscountModel_btn_container__1_sRJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overlay_model\":\"SuccessModel_overlay_model__3ULUm\",\"success_model\":\"SuccessModel_success_model__3owNH\",\"success_model_container\":\"SuccessModel_success_model_container__1fNmN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"order_details_container\":\"OrderDetails_order_details_container__1cy6i\",\"title\":\"OrderDetails_title__3vzkL\",\"content\":\"OrderDetails_content__2UZ_x\",\"row1\":\"OrderDetails_row1__1UY1v\",\"row3\":\"OrderDetails_row3__3eEnV\",\"row5\":\"OrderDetails_row5__1KZSN\",\"product_id\":\"OrderDetails_product_id__3CnUl\",\"order_type\":\"OrderDetails_order_type__3gtUZ\",\"placed_at\":\"OrderDetails_placed_at__u3jZ0\",\"order_status\":\"OrderDetails_order_status__ps1an\",\"customer_details\":\"OrderDetails_customer_details__245Yp\",\"order_comments\":\"OrderDetails_order_comments__19yfL\",\"payment_type\":\"OrderDetails_payment_type__1k4Wo\",\"status_and_payment_container\":\"OrderDetails_status_and_payment_container__1ATvH\",\"delivery_details\":\"OrderDetails_delivery_details__3ADT4\",\"row4\":\"OrderDetails_row4__E-AZW\",\"col1\":\"OrderDetails_col1__3U3b-\",\"col2\":\"OrderDetails_col2__1vnBX\",\"price_item\":\"OrderDetails_price_item__1IorO\",\"border\":\"OrderDetails_border__3JzWg\",\"row6\":\"OrderDetails_row6__1RWiM\",\"patch\":\"OrderDetails_patch__2130X\",\"print\":\"OrderDetails_print__Hp39K\",\"kot\":\"OrderDetails_kot__2x3Ww\",\"food_next_status\":\"OrderDetails_food_next_status__1d2wN\",\"item_next_status\":\"OrderDetails_item_next_status__3vwZs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search_wrapper\":\"SearchBox_search_wrapper__1Mhph\",\"search_info\":\"SearchBox_search_info__1vZ4k\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal_body\":\"BasicModal_modal_body__3viGF\",\"close_icon\":\"BasicModal_close_icon__8AEw2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"StoreDetails_wrapper__2nwaW\",\"store_details_container\":\"StoreDetails_store_details_container__2tzGP\",\"store_name\":\"StoreDetails_store_name__3X_mn\",\"store_address\":\"StoreDetails_store_address__2fwo5\",\"address\":\"StoreDetails_address__T6xjD\",\"city\":\"StoreDetails_city__1_LNx\",\"order_time\":\"StoreDetails_order_time__3MbR3\",\"pickup\":\"StoreDetails_pickup__N5IWG\",\"delivery\":\"StoreDetails_delivery__1-TOF\",\"store_contact\":\"StoreDetails_store_contact__2OSUG\",\"contact\":\"StoreDetails_contact__-c_xk\",\"notification\":\"StoreDetails_notification__1kgAZ\",\"store_email\":\"StoreDetails_store_email__Qfn9n\",\"store_location\":\"StoreDetails_store_location__3n49P\",\"longitude\":\"StoreDetails_longitude__3MZod\",\"latitude\":\"StoreDetails_latitude__2GnXw\",\"store_order_zip\":\"StoreDetails_store_order_zip__cFvw4\",\"order_rate\":\"StoreDetails_order_rate__2G55l\",\"zip\":\"StoreDetails_zip__1qVce\",\"store_time_container\":\"StoreDetails_store_time_container__2brlR\",\"store_time\":\"StoreDetails_store_time__1twWz\",\"open_and_close\":\"StoreDetails_open_and_close__2MjlT\",\"open\":\"StoreDetails_open__3sJP0\",\"close\":\"StoreDetails_close__1FM2u\",\"date_container\":\"StoreDetails_date_container__2JASP\",\"not_selected_btn\":\"StoreDetails_not_selected_btn__GK_pH\",\"selected_btn\":\"StoreDetails_selected_btn__2zam2\",\"btn_container\":\"StoreDetails_btn_container__2t7Kh\",\"datatable\":\"StoreDetails_datatable__3QZeb\",\"single_day\":\"StoreDetails_single_day__2NAw9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sales_container\":\"Sales_sales_container__3yydx\",\"item_list\":\"Sales_item_list__29VG-\",\"item_list_body\":\"Sales_item_list_body__2uWCV\",\"item_card\":\"Sales_item_card__3Bhji\",\"button_options\":\"Sales_button_options__3CmgQ\",\"sales_ticket\":\"Sales_sales_ticket__31Iul\",\"customer\":\"Sales_customer__2Xptl\",\"ticket_items\":\"Sales_ticket_items__2YTgx\",\"ticket_header\":\"Sales_ticket_header__tkPZi\",\"header_item\":\"Sales_header_item__7PHIY\",\"header_quantity\":\"Sales_header_quantity__22kZ8\",\"header_unit_price\":\"Sales_header_unit_price__1SMIB\",\"header_total_price\":\"Sales_header_total_price__3AG1l\",\"ticket_item\":\"Sales_ticket_item__21SzA\",\"item_name\":\"Sales_item_name__cEGXd\",\"counter\":\"Sales_counter__tqbKM\",\"item_qty\":\"Sales_item_qty__2orRu\",\"unit_container\":\"Sales_unit_container__1tvdY\",\"total_container\":\"Sales_total_container__1Ctvk\",\"ticket_total\":\"Sales_ticket_total__rSd0f\",\"sub_total\":\"Sales_sub_total__1IwaE\",\"discount\":\"Sales_discount__2cCBP\",\"net_total\":\"Sales_net_total__3SaMy\",\"button_container\":\"Sales_button_container__2bi4J\",\"static_button\":\"Sales_static_button__3X4lM\",\"scroll_buttons\":\"Sales_scroll_buttons__2ky5B\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loading\":\"LoadingComponent_loading__9wPQ0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"filter_wrapper\":\"FilterBox_filter_wrapper__EAr-T\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dashboard\":\"Dashboard_dashboard__1H44Q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search_wrapper\":\"SearchBox_search_wrapper__17TV0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"filter_wrapper\":\"FilterBox_filter_wrapper__vPh4I\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"notify_popup_container\":\"PatchCart_notify_popup_container__1g2jB\",\"notify_popup\":\"PatchCart_notify_popup__e857r\",\"notify_popup_header\":\"PatchCart_notify_popup_header__1WNxv\",\"notify_popup_label\":\"PatchCart_notify_popup_label__2gRYy\",\"item_counter\":\"PatchCart_item_counter__1gTfK\",\"available_quantity\":\"PatchCart_available_quantity__hX-Rq\",\"popup_button\":\"PatchCart_popup_button__3Gi_G\",\"popup_button_confirm\":\"PatchCart_popup_button_confirm__2vi4C\",\"popup_button_cancel\":\"PatchCart_popup_button_cancel__2pLli\",\"popup_box\":\"PatchCart_popup_box__1y6GQ\",\"box\":\"PatchCart_box__zYL9R\",\"title_container\":\"PatchCart_title_container__2Xe29\",\"desc\":\"PatchCart_desc__1xJlA\",\"item_list_container\":\"PatchCart_item_list_container__1ZpSL\",\"item_card\":\"PatchCart_item_card__2DZPR\",\"dropbtn\":\"PatchCart_dropbtn__1E9rC\",\"dropdown\":\"PatchCart_dropdown__2MpE-\",\"dropdown_content\":\"PatchCart_dropdown_content__1A4x5\",\"bottom_button_container\":\"PatchCart_bottom_button_container__2Uznm\",\"bottom_button\":\"PatchCart_bottom_button__2WIDK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main_wrapper\":\"MenuPage_main_wrapper__1iuvE\",\"data_table\":\"MenuPage_data_table__-LFvn\",\"menu_header\":\"MenuPage_menu_header__27h28\",\"button_container\":\"MenuPage_button_container__1chUh\",\"menu_upload\":\"MenuPage_menu_upload__3GdxE\",\"select_all_checkbox\":\"MenuPage_select_all_checkbox__fUd_A\",\"padding_div\":\"MenuPage_padding_div__3nGNo\",\"menu_box\":\"MenuPage_menu_box__C7dYz\",\"popup_box\":\"MenuPage_popup_box__2Hqck\",\"box\":\"MenuPage_box__1j02K\",\"btn__submit\":\"MenuPage_btn__submit__3gS-K\",\"close_icon\":\"MenuPage_close_icon__3_GNi\",\"center_items\":\"MenuPage_center_items__Vn3M3\",\"switch\":\"MenuPage_switch__2dr_9\",\"switch_on\":\"MenuPage_switch_on__UrZYB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main_wrapper\":\"OrdersPage_main_wrapper__2RRdF\",\"list_of_orders\":\"OrdersPage_list_of_orders__2hKqr\",\"view_order\":\"OrdersPage_view_order__n17HM\",\"no_order\":\"OrdersPage_no_order__38Gs7\",\"no_order_text\":\"OrdersPage_no_order_text__LbZbE\",\"nav_header\":\"OrdersPage_nav_header__ckRAe\",\"nav_items\":\"OrdersPage_nav_items__2sOgx\",\"nav_item\":\"OrdersPage_nav_item__3uhpU\",\"nav_item_selected\":\"OrdersPage_nav_item_selected__3hW-0\",\"filter_menu\":\"OrdersPage_filter_menu__3woZ6\",\"filter_icon\":\"OrdersPage_filter_icon__2Khrc\",\"data_table\":\"OrdersPage_data_table__36Yua\",\"notification_screen\":\"OrdersPage_notification_screen__1mMBL\",\"notification_body\":\"OrdersPage_notification_body__LMeja\",\"colorOpacityAnimation\":\"OrdersPage_colorOpacityAnimation__Ef6h-\",\"notification_screen_text\":\"OrdersPage_notification_screen_text__3aF1n\",\"notification_screen_small_text\":\"OrdersPage_notification_screen_small_text__Yr39b\",\"notify_logo\":\"OrdersPage_notify_logo__WGXWT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main_wrapper\":\"LoginPage_main_wrapper__1CAQp\",\"company_logo\":\"LoginPage_company_logo__2QeXH\",\"login_form_wrapper\":\"LoginPage_login_form_wrapper__2zF60\",\"input_group\":\"LoginPage_input_group__1XbbS\",\"input_field\":\"LoginPage_input_field__1uFKv\",\"input_error\":\"LoginPage_input_error__3CDaf\",\"form_submit_btn\":\"LoginPage_form_submit_btn__2Xvr6\",\"company_banner\":\"LoginPage_company_banner__2TBce\",\"invalid_login_alert\":\"LoginPage_invalid_login_alert__F8SIa\",\"loading_spinner\":\"LoginPage_loading_spinner__3bTrO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkout_container\":\"Checkout_checkout_container__DIUGW\",\"itemlist_container\":\"Checkout_itemlist_container__2R97n\",\"top_bar\":\"Checkout_top_bar__3dMEZ\",\"item_list\":\"Checkout_item_list__q8m-y\",\"total_sum\":\"Checkout_total_sum__1wwDK\",\"net_total\":\"Checkout_net_total__1lXfg\",\"ticket_total\":\"Checkout_ticket_total__2ImcF\",\"sub_total\":\"Checkout_sub_total__2cWGS\",\"discount\":\"Checkout_discount__l_Xbz\",\"billing_container\":\"Checkout_billing_container___O_4q\",\"top_bar_right\":\"Checkout_top_bar_right__2r8x4\",\"billing_header\":\"Checkout_billing_header__3TUf2\",\"billing_body\":\"Checkout_billing_body__358G8\",\"input_container\":\"Checkout_input_container__mIGTL\",\"round_off_btn\":\"Checkout_round_off_btn__2LqJJ\"};","export enum APIResponseType {\r\n Success = 1,\r\n Error = 2,\r\n Failed = 3,\r\n InvalidLogin = 4,\r\n NotAvailable = 5,\r\n}\r\n","import { ReportHandler } from 'web-vitals';\r\n\r\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import React, { FC } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Redirect, Route } from \"react-router-dom\";\r\n\r\ninterface IProps {\r\n component: () => JSX.Element;\r\n exact: boolean;\r\n path: string;\r\n}\r\n\r\nconst PrivateRoute: FC = ({ component: Component, ...rest }) => {\r\n //const state = useSelector((state: any) => state);\r\n\r\n //console.log(state);\r\n\r\n const isAuthenticated = useSelector(\r\n (state: any) =>\r\n state.authentication.user && !!state.authentication.user.UserId\r\n );\r\n\r\n /* const isAuthenticated =\r\n state.authentication !== null\r\n ? !!state.authentication.user.UserId\r\n : localStorage.getItem(\"User_AccessToken\"); */\r\n\r\n //console.log(isAuthenticated);\r\n\r\n return isAuthenticated ? (\r\n <>\r\n } />\r\n \r\n ) : (\r\n \r\n );\r\n};\r\n\r\nexport default PrivateRoute;\r\n","import React, { FC } from 'react';\r\nimport { Route } from 'react-router-dom';\r\n\r\ninterface IProps {\r\n component: () => JSX.Element;\r\n exact: boolean;\r\n path: string;\r\n}\r\n\r\nconst PublicRoute: FC = ({ component: Component, ...rest }) => {\r\n return (\r\n <>\r\n } />\r\n \r\n );\r\n};\r\n\r\nexport default PublicRoute;\r\n","const GLOBAL_MEDIA_QUERIES = {\r\n tab: '(max-width: 1280px)',\r\n};\r\n\r\nexport default GLOBAL_MEDIA_QUERIES;\r\n","import { toast } from \"react-toastify\";\r\n\r\n//toast notification for errors\r\nexport const notifyError = () => {\r\n toast.error(\"Something Went Wrong !\", {\r\n position: toast.POSITION.TOP_CENTER,\r\n });\r\n};\r\n\r\n//toast notification for server errors\r\nexport const notifyServerError = () => {\r\n toast.error(\"Server Error !\", {\r\n position: toast.POSITION.TOP_CENTER,\r\n });\r\n};\r\n\r\n//toast notification for status update errors\r\nexport const notifyStatusUpdateError = () => {\r\n toast.info(\"Order Status Updated By Partner Side !\", {\r\n position: toast.POSITION.TOP_CENTER,\r\n autoClose: 11000,\r\n closeButton: true,\r\n });\r\n};\r\n\r\n//toast notification for successful provisioning\r\nexport const notifySuccessfulProvison = () => {\r\n toast.success(\"Partner Store Provision Updated Successfully !\", {\r\n position: toast.POSITION.TOP_CENTER,\r\n });\r\n};\r\n\r\n//toast notification for successful provisioning\r\nexport const notifyPendingIncomingOrders = () => {\r\n toast.info(\"There are pending incoming order, hurry make some action !\", {\r\n position: toast.POSITION.TOP_CENTER,\r\n autoClose: false,\r\n });\r\n};\r\n","export default __webpack_public_path__ + \"static/media/logo.720c7fd4.jpeg\";","import axios, { AxiosResponse } from \"axios\";\r\nimport { IBaseModel } from \"../interfaces/base\";\r\nimport {\r\n IPartnerStorePartnerRequestModel,\r\n IPartnerStoreUpdateResponseModel,\r\n IStorePartner,\r\n IStorePartnerResponseModel,\r\n} from \"../interfaces/configuration\";\r\nimport {\r\n IPartnerMenuCommonResponseModel,\r\n IPartnerMenuItemListResponseModel,\r\n IPartnerMenuItemRequestModel,\r\n IPartnerMenuItemUpdateRequestModel,\r\n} from \"../interfaces/menu\";\r\nimport {\r\n IPartnerOrderRequestModel,\r\n IPartnerOrderListResponseModel,\r\n IPartnerOrderResponseModel,\r\n IPOSOrderStatusResponseModel,\r\n IPartnerOrderListRequestModel,\r\n ICancelOrDenyReasonResponseModel,\r\n IPartnerOrderSearchByReferenceResponseModel,\r\n IPartnerReportRequestModel,\r\n} from \"../interfaces/order\";\r\nimport {\r\n IPatchCartOrderItemRequestModel,\r\n IPatchCartResponseModel,\r\n} from \"../interfaces/patchCart\";\r\nimport {\r\n IGetPartnerStoreListResponseModel,\r\n IPartnerProvisionCommonResponseModel,\r\n IPartnerProvisonRequestModel,\r\n} from \"../interfaces/provision\";\r\nimport {\r\n IGetStoreStatusResponseModel,\r\n IPartnerStoreCommonResponseModel,\r\n IPartnerStoreRequestModel,\r\n} from \"../interfaces/store\";\r\nimport { IUserRequestModel, IUserResponseModel } from \"../interfaces/user\";\r\n\r\naxios.defaults.baseURL = process.env.REACT_APP_API_URL; //from .env\r\naxios.defaults.headers.common[\"Authorization\"] =\r\n \"Bearer \" + process.env.REACT_APP_AUTH_TOKEN; //from .env\r\naxios.defaults.headers.common[\"TimeStamp\"] = \"125635753\";\r\naxios.defaults.headers.post[\"Content-Type\"] = \"application/json\";\r\n\r\nconst responseBody = (response: AxiosResponse) => response.data;\r\n\r\n//creating generic types for rest API calls\r\n\r\nconst restApiCalls = {\r\n get: (url: string) => axios.get(url).then(responseBody),\r\n post: (url: string, body: {}) =>\r\n axios.post(url, body).then(responseBody),\r\n put: (url: string, body: {}) => axios.put(url, body).then(responseBody),\r\n};\r\n\r\n//user related api calls\r\nconst Users = {\r\n validateLogin: (userRequestModel: IUserRequestModel) =>\r\n restApiCalls.post(\r\n \"/Login/ValidateLogin\",\r\n userRequestModel\r\n ),\r\n};\r\n\r\n//order related api calls\r\nconst Orders = {\r\n fetchPartnerOrderList: (\r\n partnerOrderListRequestModel: IPartnerOrderListRequestModel\r\n ) =>\r\n restApiCalls.post(\r\n \"PartnerOrder/GetPartnerOrderList\",\r\n partnerOrderListRequestModel\r\n ),\r\n fetchPartnerOrder: (partnerOrderRequestModel: IPartnerOrderRequestModel) =>\r\n restApiCalls.post(\r\n \"PartnerOrder/GetPartnerOrder\",\r\n partnerOrderRequestModel\r\n ),\r\n getPrintBill: (partnerOrderRequestModel: IPartnerOrderRequestModel) =>\r\n restApiCalls.post(\r\n \"PartnerOrder/GetPrints\",\r\n partnerOrderRequestModel\r\n ),\r\n fetchOrderStatus: (baseRequestModel: IBaseModel) =>\r\n restApiCalls.post(\r\n \"PartnerOrder/GetPOSOrderStatus\",\r\n baseRequestModel\r\n ),\r\n fetchOrderStatusForBtn: (\r\n posOrderStatusRequestModel: IPartnerOrderRequestModel\r\n ) =>\r\n restApiCalls.post(\r\n \"PartnerOrder/GetRelevantPOSOrderStatusByOrderStatusID\",\r\n posOrderStatusRequestModel\r\n ),\r\n fetchOrderCountByOrderStatus: (\r\n posOrderCountRequestModel: IPartnerOrderRequestModel\r\n ) =>\r\n restApiCalls.post(\r\n \"PartnerOrder/GetPartnerOrderCountByPOSStatus\",\r\n posOrderCountRequestModel\r\n ),\r\n updateOrderStatus: (posOrderStatusRequestModel: IPartnerOrderRequestModel) =>\r\n restApiCalls.post(\r\n \"PartnerOrder/UpdatePartnerOrderStatus\",\r\n posOrderStatusRequestModel\r\n ),\r\n fetchCancelDenyReasonCodes: (\r\n cancelDenyReasonRequestModel: IPartnerOrderRequestModel\r\n ) =>\r\n restApiCalls.post(\r\n \"PartnerOrder/GetReasonCodesForCancelOrDeny\",\r\n cancelDenyReasonRequestModel\r\n ),\r\n patchCart: (\r\n patchCartOrderItemRequestModel: IPatchCartOrderItemRequestModel\r\n ) =>\r\n restApiCalls.post(\r\n \"PartnerOrder/PatchCart\",\r\n patchCartOrderItemRequestModel\r\n ),\r\n searchByOrderReference: (\r\n searchByOrderReferenceRequestModel: IPartnerOrderRequestModel\r\n ) =>\r\n restApiCalls.post(\r\n \"PartnerOrder/SearchPartnerOrdersByOrderReference\",\r\n searchByOrderReferenceRequestModel\r\n ),\r\n getXReport: (partnerReportRequestModel: IPartnerReportRequestModel) =>\r\n restApiCalls.post(\r\n \"PartnerOrder/GetSalesReport\",\r\n partnerReportRequestModel\r\n ),\r\n\r\n getPickMeOrders: (orderRequestModel: IPartnerOrderRequestModel) =>\r\n restApiCalls.post(\r\n \"PartnerOrder/GetPickmeOrderList\",\r\n orderRequestModel\r\n ),\r\n};\r\n\r\n//menu related api calls\r\nconst Menus = {\r\n getMenuItemList: (baseRequestModel: IBaseModel) =>\r\n restApiCalls.post(\r\n \"PartnerMenu/GetPartnerItemListToUpload\",\r\n baseRequestModel\r\n ),\r\n /* uploadBulkMenuItemList: (\r\n menuListRequestModel: IPartnerMenuItemRequestModel\r\n ) =>\r\n restApiCalls.post(\r\n \"PartnerMenu/UploadBulkMenuItemsInPartnerSide\",\r\n menuListRequestModel\r\n ), */\r\n uploadBulkMenuItemList: (\r\n menuListRequestModel: IPartnerMenuItemRequestModel\r\n ) =>\r\n restApiCalls.post(\r\n \"PartnerMenuBulkUpload/UploadBulkMenuItemsInPartnerSide\",\r\n menuListRequestModel\r\n ),\r\n syncShopifyMenu: (menuListRequestModel: IPartnerMenuItemRequestModel) =>\r\n restApiCalls.post(\r\n \"PartnermenubulkUpload/GetShopifyItemsToUpdate\",\r\n menuListRequestModel\r\n ),\r\n /* uploadToPartnerSide: (menuListRequestModel: IBaseModel) =>\r\n restApiCalls.post(\r\n \"PartnerMenu/UploadMenuItemsPartnerSide\",\r\n menuListRequestModel\r\n ), */\r\n updateItem: (\r\n menuItemUpdateRequestModel: IPartnerMenuItemUpdateRequestModel\r\n ) =>\r\n restApiCalls.post(\r\n \"PartnerMenu/UpdateMenuItemInPartnerSide\",\r\n menuItemUpdateRequestModel\r\n ),\r\n};\r\n\r\n//store related api calls\r\nconst Stores = {\r\n setStoreStatus: (storeStatusRequestModel: IPartnerStoreRequestModel) =>\r\n restApiCalls.post(\r\n \"PartnerStore/SetPartnerStoreStatus\",\r\n storeStatusRequestModel\r\n ),\r\n getStoreStatus: (baseRequestModel: IBaseModel) =>\r\n restApiCalls.post(\r\n \"PartnerStore/GetPartnerStoreStatus\",\r\n baseRequestModel\r\n ),\r\n};\r\n\r\n//provision related api calls\r\nconst Provisions = {\r\n setupProvision: (setupProvisionRequestModel: IPartnerProvisonRequestModel) =>\r\n restApiCalls.post(\r\n \"PartnerProvision/SetupPartnerProvision\",\r\n setupProvisionRequestModel\r\n ),\r\n isUberProvisioned: (\r\n setupProvisionRequestModel: IPartnerProvisonRequestModel\r\n ) =>\r\n restApiCalls.post(\r\n \"PartnerProvision/CheckIsUberProvisioned\",\r\n setupProvisionRequestModel\r\n ),\r\n getPartnerStoreList: (baseRequestModel: IBaseModel) =>\r\n restApiCalls.post(\r\n \"PartnerProvision/GetPartnerStoreList\",\r\n baseRequestModel\r\n ),\r\n provisionEnableDisble: (\r\n setupProvisionRequestModel: IPartnerProvisonRequestModel\r\n ) =>\r\n restApiCalls.post(\r\n \"PartnerProvision/HandleStoreProvisioning\",\r\n setupProvisionRequestModel\r\n ),\r\n};\r\n\r\nconst configuration = {\r\n getStorePartners: (baseRequestModel: IBaseModel) =>\r\n restApiCalls.post(\r\n \"PartnerStore/GetStorePartners\",\r\n baseRequestModel\r\n ),\r\n\r\n updateStorePartners: (updateRequestModel: IPartnerStorePartnerRequestModel) =>\r\n restApiCalls.post(\r\n \"PartnerStore/UpdateStorePartnersStatus\",\r\n updateRequestModel\r\n ),\r\n};\r\n\r\nconst apis = {\r\n Users,\r\n Orders,\r\n Menus,\r\n Stores,\r\n Provisions,\r\n configuration,\r\n};\r\n\r\nexport default apis;\r\n","export const SECRET_KEY = process.env.REACT_APP_SECRET_KEY || \"secret\";\r\nexport const API_INTEGRATION_ID = process.env.REACT_APP_INTEGRATION_ID || \"\";\r\n","const orderStatus = {\r\n /* incoming: 117198, */\r\n all: 1,\r\n /* incoming: 117198,\r\n confirmed: \"confirmed\",\r\n ready: \"ready\",\r\n dispatched: \"dispatched\",\r\n completed: \"completed\",*/\r\n /* cancelled: \"Cancelled\",\r\n reject: \"Rejected\", */\r\n};\r\n\r\nexport default orderStatus;\r\n","//config\r\nimport { API_INTEGRATION_ID } from \"../config\";\r\nimport orderStatus from \"../config/orderStatus\";\r\n\r\n//interface\r\nimport { IBaseModel } from \"../interfaces/base\";\r\nimport {\r\n IPartnerMenuItemRequestModel,\r\n IPartnerMenuItemUpdateRequestModel,\r\n IPartnerMenuUploadRequestModel,\r\n} from \"../interfaces/menu\";\r\nimport {\r\n IPartnerOrderListRequestModel,\r\n IPartnerOrderRequestModel,\r\n IPartnerReportRequestModel,\r\n} from \"../interfaces/order\";\r\nimport { IPatchCartOrderItemRequestModel } from \"../interfaces/patchCart\";\r\nimport { IPartnerProvisonRequestModel } from \"../interfaces/provision\";\r\nimport { IPartnerStoreRequestModel } from \"../interfaces/store\";\r\n\r\n//API Request Object Models for Orders\r\n\r\nexport const orderListRequestModel: IPartnerOrderListRequestModel = {\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n RequestingUser: 0,\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n RequestingId: \"\",\r\n POSStatusKey: orderStatus.all,\r\n OrderDate: undefined,\r\n PageNo: 1,\r\n UID: {\r\n CompanyKey: 0,\r\n LocationKey: 0,\r\n UserKey: 0,\r\n EnvironmentName: \"\",\r\n IsUrbanPiper: false,\r\n },\r\n};\r\n\r\nexport const baseRequestModel: IBaseModel = {\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n RequestingUser: 0,\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n RequestingId: \"\",\r\n UID: {\r\n CompanyKey: 0,\r\n LocationKey: 0,\r\n UserKey: 0,\r\n EnvironmentName: \"\",\r\n IsUrbanPiper: false,\r\n },\r\n};\r\n\r\nexport const statusForBtnsRequestModel: IPartnerOrderRequestModel = {\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n RequestingUser: 0,\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n RequestingId: \"\",\r\n OrderId: \"\",\r\n PartnerOrderId: 0,\r\n POSStatusKey: 0,\r\n OrderDate: undefined,\r\n OrderTypeKey: 0,\r\n DenyOrCancelReasonCode: \"\",\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: 0,\r\n LocationKey: 0,\r\n UserKey: 0,\r\n EnvironmentName: \"\",\r\n IsUrbanPiper: false,\r\n },\r\n CurrentPOSStatusCode: \"\",\r\n DenyOrCancelReasonKey: 1,\r\n OrderReference: \"\",\r\n};\r\n\r\nexport const orderRequestModel: IPartnerOrderRequestModel = {\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n RequestingUser: 0,\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n RequestingId: \"\",\r\n OrderId: \"\",\r\n PartnerOrderId: 0,\r\n POSStatusKey: 0,\r\n OrderDate: undefined,\r\n OrderTypeKey: 0,\r\n DenyOrCancelReasonCode: \"\",\r\n UID: {\r\n CompanyKey: 0,\r\n LocationKey: 0,\r\n UserKey: 0,\r\n EnvironmentName: \"\",\r\n IsUrbanPiper: false,\r\n },\r\n CurrentPOSStatusCode: \"\",\r\n DenyOrCancelReasonKey: 1,\r\n OrderReference: \"\",\r\n};\r\n\r\nexport const patchCartOrderItemRequestModel: IPatchCartOrderItemRequestModel = {\r\n OrderId: \"\",\r\n PatchCartPartnerOrderItems: [],\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: 0,\r\n LocationKey: 0,\r\n UserKey: 0,\r\n EnvironmentName: \"\",\r\n IsUrbanPiper: false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n};\r\n\r\nexport const reportRequestModel: IPartnerReportRequestModel = {\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n RequestingUser: 0,\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n RequestingId: \"\",\r\n OrderId: \"\",\r\n PartnerOrderId: 0,\r\n POSStatusKey: 0,\r\n OrderDate: undefined,\r\n fromDate: undefined,\r\n toDate: undefined,\r\n OrderTypeKey: 0,\r\n DenyOrCancelReasonCode: \"\",\r\n UID: {\r\n CompanyKey: 0,\r\n LocationKey: 0,\r\n UserKey: 0,\r\n EnvironmentName: \"\",\r\n IsUrbanPiper: false,\r\n },\r\n CurrentPOSStatusCode: \"\",\r\n DenyOrCancelReasonKey: 1,\r\n OrderReference: \"\",\r\n};\r\n\r\n//API Request Object Models for Menus\r\n\r\nexport const menuUploadRequestModel: IPartnerMenuUploadRequestModel = {\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n RequestingUser: 0,\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n RequestingId: \"\",\r\n IsSpecialInstructionEnable: false,\r\n UID: {\r\n CompanyKey: 0,\r\n LocationKey: 0,\r\n UserKey: 0,\r\n EnvironmentName: \"\",\r\n IsUrbanPiper: false,\r\n },\r\n};\r\n\r\nexport const menuListRequestModel: IPartnerMenuItemRequestModel = {\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n RequestingUser: 0,\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n RequestingId: \"\",\r\n IsSpecialInstructionEnable: false,\r\n UID: {\r\n CompanyKey: 0,\r\n LocationKey: 0,\r\n UserKey: 0,\r\n EnvironmentName: \"\",\r\n IsUrbanPiper: false,\r\n },\r\n PartnerMenuItemList: [],\r\n FilteredMenuItemCount: 0,\r\n};\r\n\r\nexport const menuItemUpdateRequestModel: IPartnerMenuItemUpdateRequestModel = {\r\n ItemKey: 0,\r\n ItemCode: \"\",\r\n IsDiscontinued: false,\r\n IsPartnerItem: false,\r\n SalesPrice: 0,\r\n OptionalSalesPrice: 0,\r\n RequestId: \"\",\r\n IntegrationId: \"\",\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: 0,\r\n LocationKey: 0,\r\n UserKey: 0,\r\n EnvironmentName: \"\",\r\n IsUrbanPiper: false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n};\r\n\r\n//API Request Object Models for Store\r\nexport const partnerStoreStatusSetRequestModel: IPartnerStoreRequestModel = {\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n RequestingUser: 0,\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n RequestingId: \"\",\r\n UID: {\r\n CompanyKey: 0,\r\n LocationKey: 0,\r\n UserKey: 0,\r\n EnvironmentName: \"\",\r\n IsUrbanPiper: false,\r\n },\r\n StoreStatusCode: \"\",\r\n StorePausedUntilTime: \"\",\r\n StorePauseReason: \"\",\r\n};\r\n\r\n//API Request Object Models for Provison\r\n\r\nexport const setupProvisionRequestModel: IPartnerProvisonRequestModel = {\r\n EmailAddress: \"\",\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: 0,\r\n LocationKey: 0,\r\n UserKey: 0,\r\n EnvironmentName: \"\",\r\n IsUrbanPiper: false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n PartnerStore: {\r\n PartnerStoreId: \"\",\r\n PartnerStoreName: \"\",\r\n PartnerStoreCode: \"\",\r\n UserLocationInOurSystem: null,\r\n ContactEmails: [],\r\n AveragePreparationTime: 0,\r\n IsProvisionEnabled: false,\r\n },\r\n};\r\n","import moment from \"moment\";\r\nimport React, { FC, useEffect, useRef, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { orderRequestModel } from \"../../../api/apiRequestObjects\";\r\nimport apis from \"../../../api/apis\";\r\nimport { APIResponseType } from \"../../../config/enumApiResponseTypes\";\r\nimport { notifyError } from \"../../../config/toastNotification\";\r\nimport \"./OrderCount.styles.scss\";\r\n\r\ninterface IProps {\r\n POSStatusKey: number;\r\n filteredDateValue: Date | null;\r\n}\r\n\r\nconst OrderCount: FC = ({ POSStatusKey, filteredDateValue }) => {\r\n const [count, setCount] = useState(0);\r\n const componentMounted = useRef(true);\r\n\r\n //get redux state\r\n const { user } = useSelector((state: any) => state.authentication);\r\n\r\n //fetch OrderCountByPOSStatusKey\r\n useEffect(() => {\r\n //const ac = new AbortController();\r\n const fetchData = async () => {\r\n try {\r\n orderRequestModel.UID.UserKey = user.UserKey;\r\n orderRequestModel.UID.LocationKey = user.LocationKey;\r\n orderRequestModel.UID.CompanyKey = user.CompanyKey;\r\n orderRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n\r\n orderRequestModel.POSStatusKey = POSStatusKey;\r\n orderRequestModel.OrderDate = filteredDateValue ?? moment();\r\n\r\n const response = await apis.Orders.fetchOrderCountByOrderStatus(\r\n orderRequestModel\r\n );\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n setCount(response.TotalRecordCount);\r\n } else {\r\n console.log(\"api fetching error\");\r\n }\r\n } catch (e) {\r\n //notifyError();\r\n console.log(e);\r\n }\r\n };\r\n\r\n fetchData();\r\n\r\n //return () => ac.abort(); // Abort both fetches on unmount\r\n\r\n return () => {\r\n // This code runs when component is unmounted\r\n componentMounted.current = false;\r\n };\r\n }, [\r\n POSStatusKey,\r\n user.CompanyKey,\r\n user.EnvironmentName,\r\n user.LocationKey,\r\n user.UserKey,\r\n filteredDateValue,\r\n ]);\r\n\r\n return
{count > 99 ? \"99+\" : count}
;\r\n};\r\n\r\nexport default OrderCount;\r\n","import React from \"react\";\r\nimport { Spinner, SpinnerProps } from \"reactstrap\";\r\n\r\n// styles\r\nimport styles from \"./LoadingComponent.module.scss\";\r\n\r\ninterface SpinnerAProps extends SpinnerProps {}\r\n\r\nconst LoadingComponent = ({ ref, ...rest }: SpinnerAProps) => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default LoadingComponent;\r\n","import Button from \"@mui/material/Button\";\r\nimport Dialog from \"@mui/material/Dialog\";\r\nimport DialogActions from \"@mui/material/DialogActions\";\r\nimport DialogContent from \"@mui/material/DialogContent\";\r\nimport DialogContentText from \"@mui/material/DialogContentText\";\r\nimport DialogTitle from \"@mui/material/DialogTitle\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport FormLabel from \"@mui/material/FormLabel\";\r\nimport Radio from \"@mui/material/Radio\";\r\nimport RadioGroup from \"@mui/material/RadioGroup\";\r\nimport Slide from \"@mui/material/Slide\";\r\nimport { TransitionProps } from \"@mui/material/transitions\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { statusForBtnsRequestModel } from \"../../../api/apiRequestObjects\";\r\nimport apis from \"../../../api/apis\";\r\nimport { APIResponseType } from \"../../../config/enumApiResponseTypes\";\r\nimport {\r\n ICancelOrDenyReasonForOrder,\r\n IPartnerOrder,\r\n} from \"../../../interfaces/order\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\ninterface IProps {\r\n openReasonDialog: boolean;\r\n isReasonForReject: boolean;\r\n selectedReasonCode: string;\r\n reasonStateKey: number;\r\n selectedOrder: IPartnerOrder;\r\n handleRadioBtnChange: (event: React.ChangeEvent) => void;\r\n handleClickOKReasonDialog: (orderStatesKey: number) => void;\r\n handleDialogClose: () => void;\r\n}\r\n\r\n//mui transition function for reason dialog\r\nconst Transition = React.forwardRef(function Transition(\r\n props: TransitionProps & {\r\n children: React.ReactElement;\r\n },\r\n ref: React.Ref\r\n) {\r\n return ;\r\n});\r\n\r\nconst CancelRejectReasonDialog: React.FC = ({\r\n openReasonDialog,\r\n isReasonForReject,\r\n selectedReasonCode,\r\n selectedOrder,\r\n reasonStateKey,\r\n handleRadioBtnChange,\r\n handleClickOKReasonDialog,\r\n handleDialogClose,\r\n}) => {\r\n /* const [cancelReasons, setCancelReasons] = useState<\r\n ICancelOrDenyReasonForOrder[]\r\n >([]); */\r\n const [denyOrCancelReasons, setDenyReasons] = useState<\r\n ICancelOrDenyReasonForOrder[]\r\n >([]);\r\n //const [isReasonForReject, setIsReasonForReject] = useState(false);\r\n const componentMounted = useRef(true);\r\n //get redux state\r\n const { user } = useSelector((state: any) => state.authentication);\r\n\r\n //fetch Deny or Cancel Reasons for Dialog\r\n useEffect(() => {\r\n const fetchDenyOrCancelReasonData = async () => {\r\n try {\r\n statusForBtnsRequestModel.UID.UserKey = user.UserKey;\r\n statusForBtnsRequestModel.UID.LocationKey = user.LocationKey;\r\n statusForBtnsRequestModel.UID.CompanyKey = user.CompanyKey;\r\n statusForBtnsRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n statusForBtnsRequestModel.UID.IsUrbanPiper = user.IsUrbanPiper;\r\n\r\n statusForBtnsRequestModel.OrderTypeKey =\r\n selectedOrder.OrderDelivery.TypeOfOrder.OrderTypeId;\r\n\r\n if (statusForBtnsRequestModel.OrderTypeKey > 0) {\r\n const response = await apis.Orders.fetchCancelDenyReasonCodes(\r\n statusForBtnsRequestModel\r\n );\r\n if (response.ResponseType === APIResponseType.Success) {\r\n const rejectReasons = {};\r\n\r\n /* const jwtToken = jwt.sign(\r\n response.ResponseData.CancelOrDenyReasonList,\r\n SECRET_KEY\r\n ); */\r\n\r\n /* localStorage.setItem(\"Deny_Reasons\", jwtToken); */\r\n setDenyReasons(response.ResponseData.CancelOrDenyReasonList);\r\n } else {\r\n console.log(\"api fetching error\");\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n };\r\n\r\n if (localStorage.getItem(\"Deny_Reasons\")) {\r\n const denyReasonsToken = localStorage.getItem(\"Deny_Reasons\");\r\n //console.log(JSON.parse(denyReasonsToken!.split(\".\")[1]));\r\n setDenyReasons(JSON.parse(denyReasonsToken!.split(\".\")[1]));\r\n } else {\r\n fetchDenyOrCancelReasonData();\r\n //console.log(\"fetching run\");\r\n }\r\n return () => {\r\n // This code runs when component is unmounted\r\n componentMounted.current = false;\r\n };\r\n }, [\r\n selectedOrder.OrderDelivery.TypeOfOrder.OrderTypeId,\r\n user.CompanyKey,\r\n user.EnvironmentName,\r\n user.LocationKey,\r\n user.UserKey,\r\n ]);\r\n\r\n return (\r\n <>\r\n \r\n {\"Choose a Reason to Cancel/Reject Order :\"}\r\n \r\n \r\n \r\n Reasons\r\n \r\n {denyOrCancelReasons &&\r\n denyOrCancelReasons\r\n .filter((x) => x.OrderStatusKey === reasonStateKey)\r\n .map((reason) => (\r\n }\r\n label={reason.ReasonName}\r\n />\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n handleClickOKReasonDialog(reasonStateKey)}\r\n disabled={selectedReasonCode !== \"\" ? false : true}\r\n >\r\n Ok\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CancelRejectReasonDialog;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport cx from \"classnames\";\r\nimport {\r\n UncontrolledDropdown,\r\n DropdownToggle,\r\n DropdownItem,\r\n DropdownMenu,\r\n Fade,\r\n} from \"reactstrap\";\r\nimport { v4 } from \"uuid\";\r\nimport { ToastContainer } from \"react-toastify\";\r\n\r\n// styles\r\nimport styles from \"./OrderStatusUpdateButton.module.scss\";\r\n\r\n//interfaces\r\nimport { IOrderStatus, IPartnerOrder } from \"../../../interfaces/order\";\r\n\r\n//api\r\nimport apis from \"../../../api/apis\";\r\nimport {\r\n orderRequestModel,\r\n statusForBtnsRequestModel,\r\n} from \"../../../api/apiRequestObjects\";\r\n\r\n//config\r\nimport { APIResponseType } from \"../../../config/enumApiResponseTypes\";\r\nimport orderStatus from \"../../../config/orderStatus\";\r\nimport {\r\n notifyError,\r\n notifyServerError,\r\n notifyStatusUpdateError,\r\n} from \"../../../config/toastNotification\";\r\n\r\n//component\r\nimport LoadingComponent from \"../../loadingComponent/LoadingComponent\";\r\nimport CancelRejectReasonDialog from \"../cancelRejectReasonsDialog/cancelRejectReasonDialog\";\r\nimport { useSelector } from \"react-redux\";\r\nimport moment from \"moment\";\r\nimport printJS from \"print-js\";\r\nimport { SnackBarModel } from \"../../snackBar/SnackBar\";\r\n\r\n//manual close button for toast notifications\r\nconst CloseButton = ({ closeToast }: any) => (\r\n \r\n);\r\n\r\ninterface IProps {\r\n classNames?: string;\r\n statusForBtn: IOrderStatus[];\r\n posOrderStatus: IOrderStatus[];\r\n selectedOrder: IPartnerOrder;\r\n partnerOrderId?: number | undefined;\r\n\r\n updateOrder: (\r\n updatedOrderStatus: IOrderStatus,\r\n selectedOrder: IPartnerOrder\r\n ) => void;\r\n}\r\n\r\nconst OrderStatusUpdateButton: React.FC = ({\r\n classNames,\r\n statusForBtn,\r\n selectedOrder,\r\n updateOrder,\r\n posOrderStatus,\r\n}) => {\r\n // console.log(selectedOrder);\r\n const [isUpdateSuccess, setIsUpdateSuccess] = useState(false);\r\n const [isIncomingOrderTimeOut, setIsIncomingOrderTimeOut] = useState(false);\r\n const [latestUpdatedStatus, setLatestUpdatedStatus] = useState(\"\");\r\n const [isUpdatingAndLoading, setIsUpdatingAndLoading] = useState(false);\r\n const [openReasonDialog, setOpenReasonDialog] = useState(false);\r\n const [reasonStateKey, setReasonStateKey] = useState(0);\r\n const [isReasonForReject, setIsReasonForReject] = useState(false);\r\n const [selectedReasonCode, setSelectedReasonCode] = useState(\"\");\r\n const [selectedReasonKey, setSelectedReasonKey] = useState(1);\r\n\r\n //new\r\n const [partnerOrder, setPartnerOrder] = useState();\r\n const [snackBarmodel, setSnackBarModel] = useState({\r\n openSnackBar: false,\r\n msg: \"\",\r\n autoHideDuration: 6000,\r\n });\r\n const [isOrderDetailsLoading, setIsOrderDetailsLoading] = useState(false);\r\n\r\n //get redux state\r\n const { user } = useSelector((state: any) => state.authentication);\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n try {\r\n //setIsOrderDetailsLoading(true);\r\n orderRequestModel.UID.UserKey = user.UserKey;\r\n orderRequestModel.UID.LocationKey = user.LocationKey;\r\n orderRequestModel.UID.CompanyKey = user.CompanyKey;\r\n orderRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n\r\n orderRequestModel.PartnerOrderId = selectedOrder.PartnerOrderId;\r\n const response = await apis.Orders.fetchPartnerOrder(orderRequestModel);\r\n //console.log(response);\r\n if (response.ResponseType === APIResponseType.Success) {\r\n //console.log(response.ResponseData.AllOrders);\r\n setPartnerOrder(response.ResponseData.PartnerOrder);\r\n //console.log(setOrderList(response.ResponseData.AllOrders));\r\n setIsOrderDetailsLoading(false);\r\n // console.log(partnerOrder);\r\n //console.log(selectedItem);\r\n } else {\r\n console.log(\"api fetching error\");\r\n setIsOrderDetailsLoading(false);\r\n }\r\n } catch (e) {\r\n notifyError();\r\n console.log(e);\r\n }\r\n };\r\n\r\n fetchData();\r\n }, [selectedOrder]);\r\n\r\n //handling reason selecting and set the reason code in state\r\n const handleRadioBtnChange = (event: React.ChangeEvent) => {\r\n setSelectedReasonCode((event.target as HTMLInputElement).value);\r\n setSelectedReasonKey(parseInt((event.target as HTMLInputElement).name));\r\n };\r\n\r\n //handle reason dialog ok button\r\n const handleClickOKReasonDialog = (orderStatesKey: number) => {\r\n if (isReasonForReject) {\r\n statusForBtn &&\r\n statusForBtn.map((OrderStatus) => {\r\n if (OrderStatus.POSStatusKey === orderStatesKey) {\r\n setOrderStatusUpdate(OrderStatus, selectedOrder);\r\n }\r\n });\r\n setOpenReasonDialog(false);\r\n } else {\r\n statusForBtn &&\r\n statusForBtn.map((OrderStatus) => {\r\n if (OrderStatus.POSStatusKey === orderStatesKey) {\r\n setOrderStatusUpdate(OrderStatus, selectedOrder);\r\n }\r\n });\r\n setOpenReasonDialog(false);\r\n }\r\n };\r\n\r\n //handle dialog close\r\n const handleDialogClose = () => {\r\n setOpenReasonDialog(false);\r\n setSelectedReasonCode(\"\");\r\n };\r\n\r\n //handle drop down list for filter reject and cancel status for reasoning\r\n const handleDropDownList = (\r\n orderState: IOrderStatus,\r\n selectedOrder: IPartnerOrder\r\n ) => {\r\n if (orderState.IsShowVoidReasons) {\r\n //cancel & reject\r\n //console.log(\"orderstatusKey\", orderState.POSStatusKey);\r\n //console.log(orderState.IsShowVoidReasons);\r\n setReasonStateKey(orderState.POSStatusKey);\r\n setIsReasonForReject(true);\r\n //setSelectedReasonCode(\"STORE_CLOSED\");\r\n setOpenReasonDialog(true);\r\n /* } else if (orderState.POSStatusCode === orderStatus.cancelled) {\r\n setReasonStateKey(orderState.POSStatusKey);\r\n setIsReasonForReject(false);\r\n setSelectedReasonCode(\"OUT_OF_ITEMS\");\r\n setOpenReasonDialog(true); */\r\n } else {\r\n setOpenReasonDialog(false);\r\n setIsReasonForReject(false);\r\n setOrderStatusUpdate(orderState, selectedOrder);\r\n }\r\n };\r\n\r\n //KOT when confirmed\r\n const handleKOTPrint = async (KOTReportSource: string | undefined) => {\r\n //Build a URL from the file\r\n // console.log(\"inside KOT\");\r\n if (KOTReportSource !== undefined) {\r\n //console.log(KOTReportSource);\r\n //const res = await window.fetch(KOTReportSource);\r\n //const base64 = await fetch(KOTReportSource);\r\n try {\r\n const base64Response = await fetch(\r\n `data:application/pdf;base64,${KOTReportSource}`\r\n );\r\n const blob = await base64Response.blob();\r\n //const blob = await res.blob();\r\n const fileURL = URL.createObjectURL(blob);\r\n //console.log(b64toBlob(KOTReportSource));\r\n printJS(fileURL);\r\n } catch (e) {\r\n console.log(\"fetch error\", e);\r\n //show error msg\r\n setSnackBarModel({\r\n openSnackBar: true,\r\n msg: \"Error: Report Source Not Found !\",\r\n autoHideDuration: 6000,\r\n });\r\n }\r\n } else {\r\n //show error msg\r\n setSnackBarModel({\r\n openSnackBar: true,\r\n msg: \"Error: Report Source Not Found !\",\r\n autoHideDuration: 6000,\r\n });\r\n }\r\n };\r\n\r\n //update order status through api\r\n const setOrderStatusUpdate = async (\r\n updatingOrderStatus: IOrderStatus,\r\n selectedOrder: IPartnerOrder\r\n ) => {\r\n console.log(\"CLICKED\");\r\n // window.print();\r\n //window.location.reload();\r\n try {\r\n setIsUpdatingAndLoading(true);\r\n\r\n //incoming order timeout check\r\n if (\r\n selectedOrder.OrderDelivery.OrderStatus.POSStatusCode ===\r\n posOrderStatus[0].POSStatusCode &&\r\n moment(moment.now()).isSameOrAfter(\r\n moment(selectedOrder.OrderDate).add(10.5, \"minutes\")\r\n )\r\n ) {\r\n updatingOrderStatus.POSStatusKey = statusForBtn[1].POSStatusKey;\r\n updatingOrderStatus.POSStatusCode = statusForBtn[1].POSStatusCode;\r\n setSelectedReasonCode(\"TimeOut\");\r\n setIsIncomingOrderTimeOut(true);\r\n //notifyStatusUpdateError();\r\n }\r\n\r\n //order status updating\r\n statusForBtnsRequestModel.UID.UserKey = user.UserKey;\r\n statusForBtnsRequestModel.UID.LocationKey = user.LocationKey;\r\n statusForBtnsRequestModel.UID.CompanyKey = user.CompanyKey;\r\n statusForBtnsRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n\r\n statusForBtnsRequestModel.POSStatusKey = updatingOrderStatus.POSStatusKey;\r\n statusForBtnsRequestModel.PartnerOrderId = selectedOrder.PartnerOrderId;\r\n statusForBtnsRequestModel.OrderId = selectedOrder.OrderId;\r\n statusForBtnsRequestModel.OrderTypeKey =\r\n selectedOrder.OrderDelivery.TypeOfOrder.OrderTypeId;\r\n statusForBtnsRequestModel.CurrentPOSStatusCode =\r\n selectedOrder.OrderDelivery.OrderStatus.POSStatusCode;\r\n statusForBtnsRequestModel.DenyOrCancelReasonCode = selectedReasonCode;\r\n statusForBtnsRequestModel.DenyOrCancelReasonKey = selectedReasonKey;\r\n\r\n //console.log(statusForBtnsRequestModel);\r\n\r\n const response = await apis.Orders.updateOrderStatus(\r\n statusForBtnsRequestModel\r\n );\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n setIsUpdateSuccess(true);\r\n setLatestUpdatedStatus(updatingOrderStatus.POSStatusCode);\r\n // window.alert(updatingOrderStatus.POSStatusCode);\r\n if (updatingOrderStatus.POSStatusCode === \"Confirmed\") {\r\n //window.alert(KOTSource);\r\n // window.print();\r\n await handleKOTPrint(partnerOrder?.KOTReportSource);\r\n }\r\n\r\n updateOrder(updatingOrderStatus, selectedOrder);\r\n //console.log(response);\r\n setIsUpdatingAndLoading(false);\r\n setIsIncomingOrderTimeOut(false);\r\n setSelectedReasonCode(\"\");\r\n } else {\r\n setIsUpdatingAndLoading(false);\r\n setIsUpdateSuccess(false);\r\n setIsIncomingOrderTimeOut(false);\r\n setSelectedReasonCode(\"\");\r\n notifyStatusUpdateError();\r\n //console.log(response);\r\n }\r\n } catch (e) {\r\n notifyServerError();\r\n console.log(\"Error: Order status not updated\", e);\r\n setIsUpdatingAndLoading(false);\r\n setIsIncomingOrderTimeOut(false);\r\n setSelectedReasonCode(\"\");\r\n }\r\n };\r\n\r\n if (isUpdateSuccess)\r\n return (\r\n \r\n {latestUpdatedStatus} ✅\r\n \r\n );\r\n\r\n if (isIncomingOrderTimeOut)\r\n return (\r\n \r\n Time Out 🗑\r\n \r\n );\r\n\r\n if (isUpdatingAndLoading) return ;\r\n\r\n if (statusForBtn === null) return null;\r\n\r\n return (\r\n
\r\n {statusForBtn[0] && (\r\n setOrderStatusUpdate(statusForBtn[0], selectedOrder)}\r\n className={cx(styles.action_button, classNames)}\r\n >\r\n {statusForBtn[0].POSStatusName}\r\n \r\n )}\r\n \r\n \r\n {\"\"}\r\n \r\n \r\n {statusForBtn &&\r\n statusForBtn.map(\r\n (orderState) =>\r\n orderState.POSStatusKey !== statusForBtn[0].POSStatusKey && (\r\n \r\n handleDropDownList(orderState, selectedOrder)\r\n }\r\n key={v4()}\r\n id={orderState.POSStatusCode}\r\n >\r\n {orderState.POSStatusName}\r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default OrderStatusUpdateButton;\r\n","import * as React from \"react\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport Pagination from \"@mui/material/Pagination\";\r\nimport Stack from \"@mui/material/Stack\";\r\nimport { FC } from \"react\";\r\n\r\ninterface IProps {\r\n orderCount: number;\r\n page: number;\r\n handlePageChange: (event: React.ChangeEvent, value: number) => void;\r\n}\r\n\r\nconst PaginationComponent: FC = ({\r\n orderCount = 1,\r\n page,\r\n handlePageChange,\r\n}) => {\r\n /* const setPageCount = () => {\r\n let x = orderCount / 15;\r\n return Math.trunc(x) + 1;\r\n } */\r\n\r\n return (\r\n \r\n {/* Page: {page} */}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default PaginationComponent;\r\n","import React, { FC, useCallback, useEffect, useMemo, useState } from \"react\";\r\nimport { Spinner, Table } from \"reactstrap\";\r\nimport { useMediaQuery } from \"react-responsive\";\r\nimport moment from \"moment\";\r\n\r\n// styles\r\nimport styles from \"./DataTable.module.scss\";\r\n\r\n// icons\r\nimport PrintIcon from \"@material-ui/icons/Print\";\r\n\r\n//component\r\nimport OrderStatusUpdateButton from \"../orderStatusUpdateButton/OrderStatusUpdateButton\";\r\nimport PaginationComponent from \"../paginationComponent/PaginationComponent\";\r\nimport LoadingComponent from \"../../loadingComponent/LoadingComponent\";\r\n\r\n//interface\r\nimport {\r\n IOrderStatus,\r\n IPartnerOrder,\r\n IPartnerOrderRequestModel,\r\n} from \"../../../interfaces/order\";\r\n\r\n//api\r\nimport {\r\n orderListRequestModel,\r\n orderRequestModel,\r\n} from \"../../../api/apiRequestObjects\";\r\nimport apis from \"../../../api/apis\";\r\n\r\n//config\r\nimport GLOBAL_MEDIA_QUERIES from \"../../../config/globalMediaQueries\";\r\nimport { APIResponseType } from \"../../../config/enumApiResponseTypes\";\r\nimport { notifyError } from \"../../../config/toastNotification\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Button, Checkbox, FormControlLabel, Switch } from \"@mui/material\";\r\nimport { API_INTEGRATION_ID } from \"../../../config\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\ninterface IProps {\r\n orders: IPartnerOrder[];\r\n filteredDateValue: Date | null;\r\n selectedItem: IPartnerOrder;\r\n posOrderStatus: IOrderStatus[];\r\n selectedNavItem: IOrderStatus;\r\n statusForBtn: IOrderStatus[];\r\n selectItem: (order: IPartnerOrder) => void;\r\n updateOrder: (\r\n updatedOrderStatus: IOrderStatus,\r\n selectedOrder: IPartnerOrder\r\n ) => void;\r\n handleBillPrinting: (\r\n partnerOrderId: number | undefined,\r\n orderReference: string | undefined\r\n ) => void;\r\n}\r\n\r\nconst DataTable: FC = ({\r\n orders,\r\n filteredDateValue,\r\n selectedItem,\r\n selectedNavItem,\r\n selectItem,\r\n posOrderStatus,\r\n statusForBtn,\r\n updateOrder,\r\n handleBillPrinting,\r\n}): JSX.Element => {\r\n //console.log(selectedNavItem.POSStatusCode);\r\n // console.log(statusForBtn);\r\n const isTablet = useMediaQuery({ query: GLOBAL_MEDIA_QUERIES.tab });\r\n\r\n /* useEffect(() => {\r\n const timer = setTimeout(() => {\r\n console.log(\"This will run after 1 second!\");\r\n }, 2000);\r\n //return () => clearTimeout(timer);\r\n }, []); */\r\n\r\n const [count, setCount] = useState(0);\r\n const [paginatedOrderList, setPaginatedOrderList] = useState(\r\n []\r\n );\r\n const [page, setPage] = useState(1);\r\n const [isDataTableLoading, setIsDataTableLoading] = useState(false);\r\n\r\n const [selectecOrder, setSelectedOrder] = useState([]);\r\n //console.log(selectecOrder);\r\n const [selectedID, setSelectedID] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const history = useHistory();\r\n\r\n //get redux state\r\n const { user } = useSelector((state: any) => state.authentication);\r\n\r\n //set loaded orders to paginatedOrders\r\n useMemo(() => {\r\n setPaginatedOrderList(orders);\r\n }, [orders]);\r\n\r\n // useEffect(() => {\r\n // window.alert(\"alert\");\r\n // });\r\n\r\n //fetch OrderCountByPOSStatusKey\r\n useEffect(() => {\r\n const fetchOrderCountData = async () => {\r\n try {\r\n orderRequestModel.UID.UserKey = user.UserKey;\r\n orderRequestModel.UID.LocationKey = user.LocationKey;\r\n orderRequestModel.UID.CompanyKey = user.CompanyKey;\r\n orderRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n orderRequestModel.UID.IsUrbanPiper = user.IsUrbanPiper;\r\n\r\n orderRequestModel.POSStatusKey = selectedNavItem.POSStatusKey;\r\n //orderRequestModel.POSStatusKey = selectedNavItem.POSStatusKey ?? 1;\r\n orderRequestModel.OrderDate = moment();\r\n\r\n //if (orderRequestModel.POSStatusKey > 1) {\r\n const response = await apis.Orders.fetchOrderCountByOrderStatus(\r\n orderRequestModel\r\n );\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n setCount(response.TotalRecordCount);\r\n } else {\r\n // console.log(\"api fetching error\");\r\n }\r\n //}\r\n } catch (e) {\r\n //notifyError();\r\n // console.log(e);\r\n }\r\n };\r\n\r\n fetchOrderCountData();\r\n }, []);\r\n\r\n //handle Pagination\r\n const handlePageChange = useCallback(\r\n (event: React.ChangeEvent, value: number) => {\r\n setPage(value);\r\n\r\n setIsDataTableLoading(true);\r\n orderListRequestModel.UID.UserKey = user.UserKey;\r\n orderListRequestModel.UID.LocationKey = user.LocationKey;\r\n orderListRequestModel.UID.CompanyKey = user.CompanyKey;\r\n orderListRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n orderListRequestModel.OrderDate = filteredDateValue ?? moment();\r\n orderListRequestModel.POSStatusKey = selectedNavItem.POSStatusKey;\r\n\r\n orderListRequestModel.PageNo = value;\r\n\r\n //console.log(\"oedr\", orderListRequestModel);\r\n\r\n const ac = new AbortController();\r\n\r\n apis.Orders.fetchPartnerOrderList(orderListRequestModel)\r\n .then((response) => {\r\n if (response.ResponseType === APIResponseType.Success) {\r\n setPaginatedOrderList(response.ResponseData.AllOrders);\r\n setIsDataTableLoading(false);\r\n } else {\r\n console.log(\"api fetching error\");\r\n setIsDataTableLoading(false);\r\n }\r\n })\r\n .catch((e) => {\r\n //notifyError();\r\n // console.log(e);\r\n setIsDataTableLoading(false);\r\n });\r\n\r\n return () => ac.abort();\r\n },\r\n [paginatedOrderList]\r\n );\r\n\r\n const handleCheckAll = (e: any) => {\r\n const { checked } = e.target;\r\n\r\n if (checked) {\r\n //setIsAllSelected(true);\r\n const newOrder = orders.filter(\r\n (order: IPartnerOrder) =>\r\n order.OrderDelivery.OrderStatus.POSStatusKey ===\r\n selectedNavItem.POSStatusKey\r\n );\r\n setSelectedOrder(newOrder);\r\n newOrder.map(\r\n (order: IPartnerOrder) => {\r\n // console.log(order.OrderReference);\r\n // setSelectedID([...selectedID, order.OrderReference]);\r\n selectedID.push(order.PartnerOrderId);\r\n }\r\n //setSelectedID([...selectedID, order.OrderReference])\r\n );\r\n setSelectedID([...selectedID]);\r\n // const newID = newOrder.filter(\r\n // (order: IPartnerOrder) => order.OrderReference\r\n // );\r\n //setSelectedID(newID);\r\n\r\n //console.log(newOrder);\r\n } else {\r\n // setIsAllSelected(false);\r\n setSelectedOrder([]);\r\n setSelectedID([]);\r\n }\r\n };\r\n\r\n const handleChange = (e: any, order: IPartnerOrder) => {\r\n const { checked } = e.target;\r\n\r\n if (checked) {\r\n const isExist = selectecOrder.find(\r\n (singleOrder) => singleOrder.PartnerOrderId === order.PartnerOrderId\r\n );\r\n if (!isExist) {\r\n setSelectedOrder([...selectecOrder, order]);\r\n setSelectedID([...selectedID, order.PartnerOrderId]);\r\n }\r\n } else {\r\n const newOrderList = selectecOrder.filter(\r\n (singleOrder: IPartnerOrder) => singleOrder.OrderId !== order.OrderId\r\n );\r\n setSelectedOrder(newOrderList);\r\n const filteredIDList = selectedID.filter(\r\n (id: number) => id !== order.PartnerOrderId\r\n );\r\n setSelectedID(filteredIDList);\r\n // setIsAllSelected(false);\r\n // setSelectedOrder((prev:IPartnerOrder[])=>prev.map((singleOrder:IPartnerOrder)=> singleOrder.OrderId !== order.OrderDelivery))\r\n }\r\n };\r\n\r\n const handleOrderCancel = async () => {\r\n setIsLoading(true);\r\n for (const order of selectecOrder) {\r\n const statusRequestModel: IPartnerOrderRequestModel = {\r\n PartnerOrderId: order.PartnerOrderId,\r\n OrderId: order.OrderId,\r\n POSStatusKey: 117201,\r\n OrderDate: undefined,\r\n OrderTypeKey: order.OrderDelivery.TypeOfOrder.OrderTypeId,\r\n DenyOrCancelReasonCode: \"STORE_CLOSED\",\r\n DenyOrCancelReasonKey: 1,\r\n CurrentPOSStatusCode: order.OrderDelivery.OrderStatus.POSStatusCode,\r\n OrderReference: \"\",\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n // console.log(statusForBtn[0].POSStatusCode);\r\n const response = await apis.Orders.updateOrderStatus(statusRequestModel);\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n //console.log(\" success\");\r\n }\r\n }\r\n\r\n setIsLoading(false);\r\n };\r\n\r\n const handleOrderComplete = async () => {\r\n // cancel 117201\r\n\r\n setIsLoading(true);\r\n for (const order of selectecOrder) {\r\n const statusRequestModel: IPartnerOrderRequestModel = {\r\n PartnerOrderId: order.PartnerOrderId,\r\n OrderId: order.OrderId,\r\n POSStatusKey: 117199,\r\n OrderDate: undefined,\r\n OrderTypeKey: order.OrderDelivery.TypeOfOrder.OrderTypeId,\r\n DenyOrCancelReasonCode: \"\",\r\n DenyOrCancelReasonKey: 0,\r\n CurrentPOSStatusCode: order.OrderDelivery.OrderStatus.POSStatusCode,\r\n OrderReference: \"\",\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n // console.log(statusForBtn[0].POSStatusCode);\r\n const response = await apis.Orders.updateOrderStatus(statusRequestModel);\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n //console.log(\" success\");\r\n }\r\n }\r\n\r\n setIsLoading(false);\r\n //console.log(\" All completed\");\r\n history.push(\"/orders\");\r\n // window.location.reload();\r\n };\r\n\r\n const handleOrderReady = async () => {\r\n // cancel 117201\r\n\r\n setIsLoading(true);\r\n for (const order of selectecOrder) {\r\n const statusRequestModel: IPartnerOrderRequestModel = {\r\n PartnerOrderId: order.PartnerOrderId,\r\n OrderId: order.OrderId,\r\n POSStatusKey: 117195,\r\n OrderDate: undefined,\r\n OrderTypeKey: order.OrderDelivery.TypeOfOrder.OrderTypeId,\r\n DenyOrCancelReasonCode: \"\",\r\n DenyOrCancelReasonKey: 0,\r\n CurrentPOSStatusCode: order.OrderDelivery.OrderStatus.POSStatusCode,\r\n OrderReference: \"\",\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n // console.log(statusForBtn[0].POSStatusCode);\r\n const response = await apis.Orders.updateOrderStatus(statusRequestModel);\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n // console.log(\" success\");\r\n }\r\n }\r\n\r\n setIsLoading(false);\r\n //console.log(\" All completed\");\r\n history.push(\"/orders\");\r\n // window.location.reload();\r\n };\r\n\r\n const handleOrderDispatch = async () => {\r\n // cancel 117201\r\n\r\n setIsLoading(true);\r\n for (const order of selectecOrder) {\r\n const statusRequestModel: IPartnerOrderRequestModel = {\r\n PartnerOrderId: order.PartnerOrderId,\r\n OrderId: order.OrderId,\r\n POSStatusKey: 117196,\r\n OrderDate: undefined,\r\n OrderTypeKey: order.OrderDelivery.TypeOfOrder.OrderTypeId,\r\n DenyOrCancelReasonCode: \"\",\r\n DenyOrCancelReasonKey: 0,\r\n CurrentPOSStatusCode: order.OrderDelivery.OrderStatus.POSStatusCode,\r\n OrderReference: \"\",\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n // console.log(statusForBtn[0].POSStatusCode);\r\n const response = await apis.Orders.updateOrderStatus(statusRequestModel);\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n // console.log(\" success\");\r\n }\r\n }\r\n\r\n setIsLoading(false);\r\n //console.log(\" All completed\");\r\n history.push(\"/orders\");\r\n // window.location.reload();\r\n };\r\n\r\n if (isLoading === true) {\r\n return ;\r\n }\r\n return (\r\n
\r\n {/* */}\r\n {selectecOrder.length > 0 && (\r\n <>\r\n {selectedNavItem?.POSStatusCode === \"Confirmed\" && (\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n )}\r\n\r\n {selectedNavItem?.POSStatusCode === \"Ready\" && (\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n )}\r\n\r\n {selectedNavItem?.POSStatusCode === \"Dispatched\" && (\r\n \r\n \r\n\r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n {(selectedNavItem?.POSStatusCode === \"Ready\" ||\r\n selectedNavItem?.POSStatusCode === \"Confirmed\" ||\r\n selectedNavItem?.POSStatusCode === \"Dispatched\") && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* {console.log(\"Selected Item :\" + selectedItem)} */}\r\n \r\n {isDataTableLoading && (\r\n \r\n )}\r\n {!isDataTableLoading &&\r\n orders &&\r\n posOrderStatus &&\r\n selectedNavItem &&\r\n orders.map(\r\n (order: IPartnerOrder) =>\r\n order.OrderDelivery.OrderStatus.POSStatusKey ===\r\n selectedNavItem.POSStatusKey && (\r\n \r\n {(selectedNavItem.POSStatusCode === \"Ready\" ||\r\n selectedNavItem.POSStatusCode === \"Confirmed\" ||\r\n selectedNavItem.POSStatusCode === \"Dispatched\") && (\r\n \r\n )}\r\n\r\n \r\n \r\n selectItem(order)}\r\n >\r\n {moment(order.OrderDate).format(\"DD-MM-YYYY, h:mm:ss a\")}\r\n \r\n selectItem(order)}\r\n >\r\n {order.Quantity.toFixed(3)}\r\n \r\n selectItem(order)}\r\n >\r\n {order.Amount.toFixed(2)}\r\n \r\n\r\n \r\n \r\n )\r\n )}\r\n \r\n
\r\n }\r\n label=\"\"\r\n // checked={isAllSelected}\r\n />\r\n Order IDLocationPlaced AtQuantityAmountQuick Actions
\r\n handleChange(e, order)}\r\n checked={selectedID.includes(\r\n order.PartnerOrderId\r\n )}\r\n />\r\n }\r\n label=\"\"\r\n />\r\n selectItem(order)}>\r\n
\r\n \r\n #{order.OrderReference}\r\n
\r\n
selectItem(order)}>\r\n {order.Customer.Address}\r\n \r\n \r\n handleBillPrinting(\r\n order.PartnerOrderId,\r\n order.OrderReference\r\n )\r\n }\r\n className={styles.print_button}\r\n />\r\n {order &&\r\n statusForBtn &&\r\n !selectedNavItem.IsCompletedOrderStatus && (\r\n /* selectedNavItem.POSStatusCode !== \"Cancelled\" && */ \r\n )}\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default DataTable;\r\n","import React, { FC, useState } from \"react\";\r\nimport { Table } from \"reactstrap\";\r\nimport { v4 } from \"uuid\";\r\nimport { IPartnerOrderDetail } from \"../../../../../interfaces/order\";\r\n\r\n// styles\r\nimport styles from \"./ProductsTable.module.scss\";\r\nimport Paper from \"@mui/material/Paper\";\r\nimport Stack from \"@mui/material/Stack\";\r\nimport { styled } from \"@mui/system\";\r\nimport Chip from \"@mui/material/Chip\";\r\nimport Button from \"@mui/material/Button\";\r\nimport { MoreVert } from \"@material-ui/icons\";\r\n\r\ninterface IProps {\r\n orderItems: IPartnerOrderDetail[] | undefined;\r\n}\r\n\r\nconst ProductsTable: FC = ({ orderItems }) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n\r\n \r\n {orderItems &&\r\n orderItems\r\n .filter((item: IPartnerOrderDetail) => item.IsPayment === false)\r\n .map((orderItem: IPartnerOrderDetail) => (\r\n <>\r\n \r\n \r\n {/* */}\r\n \r\n \r\n\r\n {/* */}\r\n \r\n {/* \r\n \r\n */}\r\n \r\n ))}\r\n \r\n
ProductAvailable Stock CountQuantityTotal
\r\n \r\n {orderItem.OrderItem.ItemName}\r\n {orderItem.SpecialInstructions && (\r\n

\r\n \r\n {orderItem.SpecialInstructions}\r\n \r\n

\r\n )}\r\n
\r\n
\r\n \r\n \r\n \r\n {orderItem.ItemQuantity.toFixed(3)}\r\n \r\n {(\r\n orderItem.TransactionPrice * orderItem.ItemQuantity\r\n ).toFixed(2)}\r\n \r\n \r\n
\r\n \r\n Special Instructions for {orderItem.OrderItem.ItemName} :\r\n {\" \"}\r\n {orderItem.SpecialInstructions}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ProductsTable;\r\n","import * as React from \"react\";\r\nimport Snackbar, { SnackbarOrigin } from \"@mui/material/Snackbar\";\r\nimport { useEffect } from \"react\";\r\n\r\nexport interface State extends SnackbarOrigin {\r\n open: boolean;\r\n}\r\n\r\nexport interface SnackBarModel {\r\n openSnackBar: boolean;\r\n msg: string;\r\n autoHideDuration: number | null;\r\n}\r\n\r\ninterface IProps {\r\n snackBarModel: SnackBarModel;\r\n}\r\n\r\nconst SnackBar: React.FC = ({ snackBarModel }) => {\r\n const [snackBarState, setSnackBarState] = React.useState({\r\n open: false,\r\n vertical: \"top\",\r\n horizontal: \"center\",\r\n });\r\n const { vertical, horizontal, open } = snackBarState;\r\n\r\n useEffect(() => {\r\n setSnackBarState({\r\n open: snackBarModel.openSnackBar,\r\n vertical: \"top\",\r\n horizontal: \"center\",\r\n });\r\n }, [snackBarModel.openSnackBar]);\r\n\r\n const handleClose = () => {\r\n setSnackBarState({ ...snackBarState, open: false });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default SnackBar;\r\n","import { ArrowBackIosNewOutlined } from \"@mui/icons-material\";\r\nimport KeyboardArrowDownIcon from \"@mui/icons-material/KeyboardArrowDown\";\r\nimport LoadingButton from \"@mui/lab/LoadingButton\";\r\nimport Radio from \"@mui/material/Radio\";\r\nimport RadioGroup from \"@mui/material/RadioGroup\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport FormLabel from \"@mui/material/FormLabel\";\r\nimport React, { FC, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { patchCartOrderItemRequestModel } from \"../../../../../api/apiRequestObjects\";\r\nimport apis from \"../../../../../api/apis\";\r\nimport { APIResponseType } from \"../../../../../config/enumApiResponseTypes\";\r\nimport { notifyError } from \"../../../../../config/toastNotification\";\r\nimport { IPartnerOrderDetail } from \"../../../../../interfaces/order\";\r\nimport {\r\n FullfillmentAction,\r\n FullfillmentIssue,\r\n IPatchCartOrderItem,\r\n} from \"../../../../../interfaces/patchCart\";\r\nimport styles from \"./PatchCart.module.scss\";\r\nimport { blueGrey } from \"@mui/material/colors\";\r\nimport { Add, ArrowBackIos, Remove } from \"@material-ui/icons\";\r\n\r\ninterface IProps {\r\n orderId: string | undefined;\r\n orderTypeCode: string | undefined;\r\n orderItems: IPartnerOrderDetail[] | undefined;\r\n onClick: any;\r\n}\r\n\r\nconst PatchCart: FC = ({\r\n orderTypeCode,\r\n orderId,\r\n orderItems,\r\n onClick,\r\n}) => {\r\n const [selectedItemsForPatch, setSelectedItemsForPatch] = useState<\r\n IPatchCartOrderItem[]\r\n >([]);\r\n\r\n console.table(selectedItemsForPatch);\r\n const [itemQty, setItemQty] = useState(0);\r\n const [itemCounter, setItemCounter] = useState({\r\n visible: false,\r\n item: null,\r\n });\r\n console.log(\"itemCounter \" + itemQty);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [fulfillmentIssue, setfulfillmentIssue] = useState(\"\");\r\n // console.log(orderItems);\r\n\r\n //get redux state\r\n const { user } = useSelector((state: any) => state.authentication);\r\n //console.log(user);\r\n\r\n const handlePatchCartItems = (e: any, itemdetails: IPartnerOrderDetail) => {\r\n const { checked } = e.target;\r\n //console.log(itemdetails.OrderItem.ItemCode);\r\n\r\n let patchCartOrderItem: IPatchCartOrderItem = {\r\n PartnerInstanceId: \"\",\r\n ItemCode: itemdetails.OrderItem.ItemCode,\r\n FullfillmentAction: \"\",\r\n FullfillmentIssue: \"\",\r\n AvailableItemCount: 0,\r\n SubstituteItemId: \"\",\r\n SubstituteItemQuantity: 0,\r\n OrderTypeCode: orderTypeCode ?? \"\",\r\n };\r\n\r\n if (checked === true) {\r\n /* if (selectedItemsForPatch.length === 0) {\r\n selectedItemsForPatch.push(patchCartOrderItem);\r\n } else { */\r\n setSelectedItemsForPatch((prev: IPatchCartOrderItem[]) => [\r\n ...prev,\r\n patchCartOrderItem,\r\n ]);\r\n /* } */\r\n }\r\n if (checked === false) {\r\n const filteredItems = selectedItemsForPatch.filter(\r\n (x) => x.ItemCode !== patchCartOrderItem.ItemCode\r\n );\r\n setSelectedItemsForPatch(filteredItems);\r\n setfulfillmentIssue(\"\");\r\n //console.log(index);\r\n // setselectedCount((prev: any) => [\r\n // ...prev,\r\n // selectedCount.splice(index, 1),\r\n // ]);\r\n\r\n //selectedItemsForPatch.splice(index, 1);\r\n }\r\n //console.log(selectedItemsForPatch);\r\n };\r\n\r\n //HANDLE FULFILMENT ISSUE\r\n const handlefulfillmentIssue = (e: any, itemdetails: IPartnerOrderDetail) => {\r\n const { value, checked } = e.target;\r\n //console.log(value);\r\n\r\n setfulfillmentIssue(value);\r\n\r\n setSelectedItemsForPatch((prev: IPatchCartOrderItem[]) =>\r\n prev.map((x) =>\r\n x.ItemCode === itemdetails.OrderItem.ItemCode\r\n ? { ...x, FullfillmentIssue: value }\r\n : x\r\n )\r\n );\r\n };\r\n\r\n //HANDLE FULFILMENT ACTION\r\n const handleFullfillmentAction = (\r\n e: any,\r\n itemdetails: IPartnerOrderDetail\r\n ) => {\r\n const { value, checked } = e.target;\r\n //console.log(value);\r\n setSelectedItemsForPatch((prev: IPatchCartOrderItem[]) =>\r\n prev.map((x) =>\r\n x.ItemCode === itemdetails.OrderItem.ItemCode\r\n ? { ...x, FullfillmentAction: value }\r\n : x\r\n )\r\n );\r\n };\r\n\r\n //partial available count setup\r\n const handlePartialAvailableCount = (\r\n e: any,\r\n itemdetails: IPartnerOrderDetail\r\n ) => {\r\n const { value, checked } = e.target;\r\n //console.log(value);\r\n setSelectedItemsForPatch((prev: IPatchCartOrderItem[]) =>\r\n prev.map((x) =>\r\n x.ItemCode === itemdetails.OrderItem.ItemCode\r\n ? { ...x, FullfillmentAction: \"\", AvailableItemCount: value }\r\n : x\r\n )\r\n );\r\n };\r\n\r\n const handleNotify = async () => {\r\n //setcall(!call);\r\n //console.log(selectedItemsForPatch);\r\n\r\n setIsLoading(true);\r\n\r\n try {\r\n patchCartOrderItemRequestModel.OrderId = orderId ?? \"\";\r\n patchCartOrderItemRequestModel.PatchCartPartnerOrderItems =\r\n selectedItemsForPatch;\r\n patchCartOrderItemRequestModel.UID.UserKey = user.UserKey;\r\n patchCartOrderItemRequestModel.UID.LocationKey = user.LocationKey;\r\n patchCartOrderItemRequestModel.UID.CompanyKey = user.CompanyKey;\r\n patchCartOrderItemRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n\r\n const response = await apis.Orders.patchCart(\r\n patchCartOrderItemRequestModel\r\n );\r\n //console.log(response);\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n setIsLoading(false);\r\n alert(\"Successfully patched cart\");\r\n } else {\r\n setIsLoading(false);\r\n alert(\"Failed to patch cart\");\r\n }\r\n } catch (e) {\r\n setIsLoading(false);\r\n\r\n notifyError();\r\n //console.log(e);\r\n }\r\n };\r\n\r\n //handle sold out\r\n const handleSoldOut = (itemdetails: IPartnerOrderDetail) => {\r\n console.log(itemdetails.OrderItem.ItemCode);\r\n let patchCartOrderItem: IPatchCartOrderItem = {\r\n PartnerInstanceId: \"\",\r\n ItemCode: itemdetails.OrderItem.ItemCode,\r\n FullfillmentAction: \"REMOVE_ITEM\",\r\n FullfillmentIssue: \"OUT_OF_ITEM\",\r\n AvailableItemCount: 0,\r\n SubstituteItemId: \"\",\r\n SubstituteItemQuantity: 0,\r\n OrderTypeCode: orderTypeCode ?? \"\",\r\n };\r\n if (selectedItemsForPatch.length === 0) {\r\n setSelectedItemsForPatch((prev: IPatchCartOrderItem[]) => [\r\n ...prev,\r\n patchCartOrderItem,\r\n ]);\r\n } else {\r\n selectedItemsForPatch.some(\r\n (singleItem) => singleItem.ItemCode === itemdetails.OrderItem.ItemCode\r\n )\r\n ? setSelectedItemsForPatch((prev: IPatchCartOrderItem[]) =>\r\n prev.map((singleItem) =>\r\n singleItem.ItemCode === itemdetails.OrderItem.ItemCode\r\n ? {\r\n ...singleItem,\r\n FullfillmentAction: \"REMOVE_ITEM\",\r\n FullfillmentIssue: \"OUT_OF_ITEM\",\r\n AvailableItemCount: 0,\r\n }\r\n : singleItem\r\n )\r\n )\r\n : setSelectedItemsForPatch((prev: IPatchCartOrderItem[]) => [\r\n ...prev,\r\n patchCartOrderItem,\r\n ]);\r\n }\r\n };\r\n\r\n //handle partial available count\r\n const handlePartialAvailable = () => {\r\n // const { OrderItem } = itemCounter;\r\n //const { itemCode } = item;\r\n\r\n setItemCounter({ visible: false, item: null });\r\n setItemQty(0);\r\n };\r\n\r\n const handleReduceItem = (action: string) => {\r\n let patchCartOrderItem: IPatchCartOrderItem = {\r\n PartnerInstanceId: \"\",\r\n ItemCode: itemCounter.item.OrderItem.ItemCode,\r\n FullfillmentAction: \"\",\r\n FullfillmentIssue: \"PARTIAL_AVAILABILITY\",\r\n AvailableItemCount: 1,\r\n SubstituteItemId: \"\",\r\n SubstituteItemQuantity: 0,\r\n OrderTypeCode: orderTypeCode ?? \"\",\r\n };\r\n if (action === \"add\") {\r\n setItemQty(itemQty + 1);\r\n if (selectedItemsForPatch.length === 0) {\r\n setSelectedItemsForPatch((prev: IPatchCartOrderItem[]) => [\r\n ...prev,\r\n patchCartOrderItem,\r\n ]);\r\n } else {\r\n selectedItemsForPatch.some(\r\n (singleItem) =>\r\n singleItem.ItemCode === itemCounter.item.OrderItem.ItemCode\r\n )\r\n ? setSelectedItemsForPatch((prev: IPatchCartOrderItem[]) =>\r\n prev.map((singleItem) =>\r\n singleItem.ItemCode === itemCounter.item.OrderItem.ItemCode\r\n ? {\r\n ...singleItem,\r\n FullfillmentAction: \"\",\r\n\r\n FullfillmentIssue: \"PARTIAL_AVAILABILITY\",\r\n AvailableItemCount: singleItem.AvailableItemCount + 1,\r\n }\r\n : singleItem\r\n )\r\n )\r\n : setSelectedItemsForPatch((prev: IPatchCartOrderItem[]) => [\r\n ...prev,\r\n patchCartOrderItem,\r\n ]);\r\n }\r\n } else if (action === \"reduce\") {\r\n setItemQty(itemQty - 1);\r\n if (selectedItemsForPatch.length === 0) {\r\n setSelectedItemsForPatch((prev: IPatchCartOrderItem[]) => [\r\n ...prev,\r\n patchCartOrderItem,\r\n ]);\r\n } else {\r\n selectedItemsForPatch.some(\r\n (singleItem) =>\r\n singleItem.ItemCode === itemCounter.item.OrderItem.ItemCode\r\n )\r\n ? setSelectedItemsForPatch((prev: IPatchCartOrderItem[]) =>\r\n prev.map((singleItem) =>\r\n singleItem.ItemCode === itemCounter.item.OrderItem.ItemCode\r\n ? {\r\n ...singleItem,\r\n FullfillmentAction: \"\",\r\n\r\n FullfillmentIssue: \"PARTIAL_AVAILABILITY\",\r\n AvailableItemCount: singleItem.AvailableItemCount - 1,\r\n }\r\n : singleItem\r\n )\r\n )\r\n : setSelectedItemsForPatch((prev: IPatchCartOrderItem[]) => [\r\n ...prev,\r\n patchCartOrderItem,\r\n ]);\r\n }\r\n }\r\n };\r\n const handleCancel = () => {\r\n setItemCounter({ visible: false, item: null });\r\n setItemQty(0);\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n \r\n

Edit - Patch Cart

\r\n
\r\n
\r\n \r\n Select any item that are out of stock or partial available, and\r\n we'll notify customer. They'll have 10 minutes decide whether they\r\n want to continue with this order or change it.\r\n \r\n
\r\n
\r\n {orderItems?.map((orderItem: IPartnerOrderDetail) => (\r\n
\r\n {/* {itemdetails.OrderItem.ItemCode} */}\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n setItemCounter({ visible: true, item: orderItem })\r\n }\r\n >\r\n Reduce Quantity\r\n \r\n
\r\n
\r\n
\r\n {orderItem.OrderItem.ItemName}\r\n
\r\n
\r\n {(\r\n orderItem.TransactionPrice * orderItem.ItemQuantity\r\n ).toFixed(2)}\r\n
\r\n
\r\n ))}\r\n\r\n {/* {orderItems?.map((orderItem: IPartnerOrderDetail) => (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n {orderItem.ItemQuantity}\r\n
\r\n
\r\n \r\n {(\r\n orderItem.TransactionPrice * orderItem.ItemQuantity\r\n ).toFixed(2)}\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n {selectedItemsForPatch.length > 0 ? (\r\n <>\r\n {selectedItemsForPatch.map(\r\n (singleItem: IPatchCartOrderItem) =>\r\n singleItem.ItemCode === orderItem.OrderItem.ItemCode ? (\r\n <>\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n {selectedItemsForPatch.map((singleItem) =>\r\n singleItem.ItemCode ===\r\n orderItem.OrderItem.ItemCode &&\r\n singleItem.FullfillmentIssue ===\r\n \"OUT_OF_ITEM\" ? (\r\n <>\r\n {\" \"}\r\n \r\n
\r\n \r\n Remove Item\r\n \r\n handleFullfillmentAction(\r\n e,\r\n orderItem\r\n )\r\n }\r\n />\r\n \r\n \r\n\r\n \r\n Replace Item\r\n \r\n handleFullfillmentAction(\r\n e,\r\n orderItem\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n
\r\n \r\n ) : null\r\n )}\r\n\r\n {selectedItemsForPatch.map((singleItem) =>\r\n singleItem.ItemCode ===\r\n orderItem.OrderItem.ItemCode &&\r\n singleItem.FullfillmentIssue ===\r\n \"PARTIAL_AVAILABILITY\" ? (\r\n <>\r\n {\" \"}\r\n
\r\n \r\n \r\n \r\n handlePartialAvailableCount(\r\n e,\r\n orderItem\r\n )\r\n }\r\n />\r\n
\r\n
\r\n \r\n ) : null\r\n )}\r\n
\r\n \r\n ) : null\r\n )}\r\n \r\n ) : null}\r\n\r\n
\r\n \r\n ))} */}\r\n \r\n
\r\n 0 ? false : true}\r\n >\r\n Notify customer\r\n \r\n {/* 0 ? false : true}\r\n >\r\n Notify customer\r\n */}\r\n
\r\n \r\n \r\n {itemCounter.visible && (\r\n
\r\n
\r\n
\r\n \r\n Reduce item quantity\r\n
\r\n {/*
\r\n

How many can you provide?

\r\n
*/}\r\n\r\n
\r\n handleReduceItem(\"reduce\")}\r\n >\r\n \r\n \r\n
\r\n

{itemQty}

\r\n

Available

\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Confirm\r\n \r\n
\r\n
\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default PatchCart;\r\n","import React, { FC, useEffect, useState } from \"react\";\r\nimport cx from \"classnames\";\r\nimport moment from \"moment\";\r\nimport { jsPDF } from \"jspdf\";\r\nimport printJS from \"print-js\";\r\n\r\n// icons\r\nimport PrintIcon from \"@material-ui/icons/Print\";\r\nimport EventAvailableIcon from \"@material-ui/icons/EventAvailable\";\r\nimport ModeEditIcon from \"@mui/icons-material/ModeEdit\";\r\n\r\n// styles\r\nimport styles from \"./OrderDetails.module.scss\";\r\n\r\n// components\r\nimport ProductsTable from \"./components/productsTable/ProductsTable\";\r\nimport OrderStatusUpdateButton from \"../orderStatusUpdateButton/OrderStatusUpdateButton\";\r\nimport LoadingComponent from \"../../loadingComponent/LoadingComponent\";\r\n\r\n//api\r\nimport apis from \"../../../api/apis\";\r\nimport {\r\n orderRequestModel,\r\n statusForBtnsRequestModel,\r\n} from \"../../../api/apiRequestObjects\";\r\n\r\n//config\r\nimport { APIResponseType } from \"../../../config/enumApiResponseTypes\";\r\nimport { notifyError } from \"../../../config/toastNotification\";\r\n\r\n//interface\r\nimport {\r\n IOrderStatus,\r\n IPartnerOrder,\r\n IPartnerOrderDetail,\r\n} from \"../../../interfaces/order\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Button } from \"@material-ui/core\";\r\nimport { Stack } from \"@mui/material\";\r\nimport { ArrowBack } from \"@material-ui/icons\";\r\nimport { ArrowBackIosNewOutlined } from \"@mui/icons-material\";\r\nimport SnackBar, { SnackBarModel } from \"../../snackBar/SnackBar\";\r\nimport PatchCart from \"./components/patchCart/PatchCart\";\r\n\r\n//sample data\r\nconst sampleItems = [\r\n {\r\n name: \"Item 1\",\r\n quantity: 5,\r\n price: 10,\r\n id: \"1\",\r\n },\r\n\r\n {\r\n name: \"Item 2\",\r\n quantity: 4,\r\n price: 40,\r\n id: \"2\",\r\n },\r\n // {\r\n // name: \"Item 3\",\r\n // quantity: 2,\r\n // price: 100,\r\n // id: \"3\",\r\n // },\r\n // {\r\n // name: \"Item 4\",\r\n // quantity: 2,\r\n // price: 10,\r\n // id: \"4\",\r\n // },\r\n];\r\n\r\ninterface IProps {\r\n posOrderStatus: IOrderStatus[];\r\n selectedItem: IPartnerOrder;\r\n updateOrder: (\r\n updatedOrderStatus: IOrderStatus,\r\n selectedOrder: IPartnerOrder\r\n ) => void;\r\n handleBillPrinting: (\r\n partnerOrderId: number | undefined,\r\n orderReference: string | undefined\r\n ) => void;\r\n}\r\n\r\nconst OrderDetails: FC = ({\r\n selectedItem,\r\n posOrderStatus,\r\n updateOrder,\r\n handleBillPrinting,\r\n}) => {\r\n //console.log(selectedItem);\r\n const [partnerOrder, setPartnerOrder] = useState();\r\n const [statusForBtn, setStatusForBtn] = useState();\r\n //console.log(partnerOrder);\r\n const [isOrderDetailsLoading, setIsOrderDetailsLoading] = useState(false);\r\n //snack bar model\r\n const [snackBarmodel, setSnackBarModel] = useState({\r\n openSnackBar: false,\r\n msg: \"\",\r\n autoHideDuration: 6000,\r\n });\r\n\r\n //patch related states\r\n const [togglePatchCart, setTogglePatchCart] = useState(false);\r\n const handlePatchCartSetup = (orderItem: IPartnerOrderDetail) => {\r\n setTogglePatchCart(true);\r\n };\r\n //const [showDispatch, setshowDispatch] = useState(false);\r\n /* const [expand, setexpand] = useState(false);\r\n const [rowId, setrowId] = useState(\"\");\r\n const [stock, setstock] = useState(\"\");\r\n const [fulfilmentType, setfulfilmentType] = useState(\"\");\r\n const [selectedCount, setselectedCount] = useState([]); */\r\n\r\n //get redux state\r\n const { user } = useSelector((state: any) => state.authentication);\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n try {\r\n //setIsOrderDetailsLoading(true);\r\n orderRequestModel.UID.UserKey = user.UserKey;\r\n orderRequestModel.UID.LocationKey = user.LocationKey;\r\n orderRequestModel.UID.CompanyKey = user.CompanyKey;\r\n orderRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n\r\n orderRequestModel.PartnerOrderId = selectedItem.PartnerOrderId;\r\n const response = await apis.Orders.fetchPartnerOrder(orderRequestModel);\r\n //console.log(response);\r\n if (response.ResponseType === APIResponseType.Success) {\r\n //console.log(response.ResponseData.AllOrders);\r\n setPartnerOrder(response.ResponseData.PartnerOrder);\r\n //console.log(setOrderList(response.ResponseData.AllOrders));\r\n setIsOrderDetailsLoading(false);\r\n // console.log(partnerOrder);\r\n //console.log(selectedItem);\r\n } else {\r\n console.log(\"api fetching error\");\r\n setIsOrderDetailsLoading(false);\r\n }\r\n } catch (e) {\r\n notifyError();\r\n console.log(e);\r\n }\r\n };\r\n\r\n fetchData();\r\n }, [selectedItem.PartnerOrderId]);\r\n\r\n //fetch Order Status for Button\r\n useEffect(() => {\r\n const fetchOrderStatusBtnData = async () => {\r\n try {\r\n setIsOrderDetailsLoading(true);\r\n statusForBtnsRequestModel.UID.UserKey = user.UserKey;\r\n statusForBtnsRequestModel.UID.LocationKey = user.LocationKey;\r\n statusForBtnsRequestModel.UID.CompanyKey = user.CompanyKey;\r\n statusForBtnsRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n\r\n statusForBtnsRequestModel.POSStatusKey =\r\n partnerOrder?.OrderDelivery.OrderStatus.POSStatusKey ??\r\n selectedItem.OrderDelivery.OrderStatus.POSStatusKey;\r\n //if (prevSelectedNavItemRef.current !== selectedNavItem) {\r\n if (statusForBtnsRequestModel.POSStatusKey > 0) {\r\n const response = await apis.Orders.fetchOrderStatusForBtn(\r\n statusForBtnsRequestModel\r\n );\r\n //console.log(response);\r\n if (response.ResponseType === APIResponseType.Success) {\r\n setStatusForBtn(response.ResponseData.OrderStatusList);\r\n setIsOrderDetailsLoading(false);\r\n\r\n /* response.ResponseData.OrderStatusList.forEach((orderStatus) => {\r\n statusForBtn.find(\r\n (e) => e.POSStatusKey === orderStatus.POSStatusKey\r\n ) === undefined && statusForBtn.push(orderStatus);\r\n });\r\n console.log(statusForBtn); */\r\n //prevSelectedNavItemRef.current = selectedNavItem;\r\n //setStatusForBtn(...statusForBtn, orde);\r\n } else {\r\n console.log(\"api fetching error\");\r\n setIsOrderDetailsLoading(false);\r\n }\r\n //}\r\n }\r\n } catch (e) {\r\n notifyError();\r\n console.log(e);\r\n }\r\n };\r\n\r\n fetchOrderStatusBtnData();\r\n }, [partnerOrder, selectedItem]);\r\n\r\n //method to convert base64string to blob\r\n /* const base64ToBlob = async (encoded: string) => {\r\n let url = `data:application/pdf;base64,${encoded}`;\r\n let res = await fetch(url);\r\n let blob = await res?.blob();\r\n return blob;\r\n }; */\r\n\r\n const handleKOTPrint = async (KOTReportSource: string | undefined) => {\r\n //var imgData = \"data:image/jpeg;base64,\" + KOTReportSource;\r\n //var doc = new jsPDF();\r\n\r\n //doc.addImage(imgData, \"JPEG\", 15, 40, 180, 160);\r\n\r\n //window.open(doc.output(\"datauristring\"));\r\n //doc.output(\"dataurlnewwindow\");\r\n\r\n /* setSnackBarModel({\r\n openSnackBar: true,\r\n msg: \"Loading for Printing Please Wait !\",\r\n }); */\r\n\r\n //Build a URL from the file\r\n if (KOTReportSource !== undefined) {\r\n //console.log(KOTReportSource);\r\n //const res = await window.fetch(KOTReportSource);\r\n //const base64 = await fetch(KOTReportSource);\r\n try {\r\n const base64Response = await fetch(\r\n `data:application/pdf;base64,${KOTReportSource}`\r\n );\r\n const blob = await base64Response.blob();\r\n //const blob = await res.blob();\r\n const fileURL = URL.createObjectURL(blob);\r\n //console.log(b64toBlob(KOTReportSource));\r\n printJS(fileURL);\r\n } catch (e) {\r\n console.log(\"fetch error\", e);\r\n //show error msg\r\n setSnackBarModel({\r\n openSnackBar: true,\r\n msg: \"Error: Report Source Not Found !\",\r\n autoHideDuration: 6000,\r\n });\r\n }\r\n } else {\r\n //show error msg\r\n setSnackBarModel({\r\n openSnackBar: true,\r\n msg: \"Error: Report Source Not Found !\",\r\n autoHideDuration: 6000,\r\n });\r\n }\r\n };\r\n\r\n //console.log(\"selectedItemOrderDetails\", selectedItem);\r\n\r\n //if (isOrderDetailsLoading) return ;\r\n\r\n /* const stockAvailability = (e: any) => {\r\n const { value } = e.target;\r\n setstock(value);\r\n };\r\n\r\n const handleFulfilment = (e: any) => {\r\n const { value } = e.target;\r\n setfulfilmentType(value);\r\n };\r\n\r\n const stockChange = (e: any, itemdetails: any) => {\r\n const { checked } = e.target;\r\n console.log(itemdetails.OrderItem.ItemCode);\r\n if (checked === true) {\r\n setselectedCount((prev: any) => [\r\n ...prev,\r\n itemdetails.OrderItem.ItemCode,\r\n ]);\r\n }\r\n if (checked === false) {\r\n const index = selectedCount.indexOf(itemdetails.OrderItem.ItemCode);\r\n console.log(index);\r\n // setselectedCount((prev: any) => [\r\n // ...prev,\r\n // selectedCount.splice(index, 1),\r\n // ]);\r\n\r\n selectedCount.splice(index, 1);\r\n }\r\n }; */\r\n\r\n // useEffect(() => {\r\n // if (partnerOrder?.OrderDelivery.OrderStatus.POSStatusName === \"Confirmed\") {\r\n // //window.alert(\"print KOT\");\r\n // console.log(partnerOrder?.KOTReportSource);\r\n // handleKOTPrint(partnerOrder?.KOTReportSource);\r\n // }\r\n // }, [\r\n // partnerOrder?.OrderDelivery.OrderStatus.POSStatusName,\r\n // partnerOrder?.KOTReportSource,\r\n // ]);\r\n\r\n return (\r\n <>\r\n
\r\n {/* row 1 */}\r\n
\r\n
\r\n
Order Id
\r\n
\r\n {\"#\" + partnerOrder?.OrderReference}\r\n
\r\n
\r\n
\r\n
Order Type
\r\n
\r\n {partnerOrder?.OrderDelivery?.TypeOfOrder.OrderTypeName}\r\n
\r\n
\r\n
\r\n
Placed At
\r\n
\r\n {moment(partnerOrder?.OrderDate).format(\"DD-MM-YYYY, h:mm:ss a\")}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Customer
\r\n
\r\n
{partnerOrder?.Customer.Name}
\r\n
{partnerOrder?.Customer.Phone}
\r\n
{partnerOrder?.Customer.Address}
\r\n
\r\n
\r\n
\r\n
Order Comment
\r\n
{partnerOrder?.OrderNote}
\r\n
\r\n
\r\n
\r\n
Current Order Status
\r\n
\r\n {partnerOrder?.OrderDelivery.OrderStatus.POSStatusName}\r\n
\r\n
\r\n
\r\n
Delivery time
\r\n
\r\n {moment(partnerOrder?.PickupTime).format(\r\n \"DD-MM-YYYY, h:mm:ss a\"\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n Sub Total\r\n {partnerOrder && partnerOrder.Amount.toFixed(2)}\r\n
\r\n
\r\n Discount\r\n {partnerOrder?.DiscountAmount.toFixed(2)}\r\n
\r\n
\r\n Taxes\r\n {partnerOrder?.TaxAmount.toFixed(2)}\r\n
\r\n
\r\n Charges\r\n {partnerOrder?.ChargesAmount.toFixed(2)}\r\n
\r\n
\r\n
\r\n
\r\n Total\r\n \r\n {partnerOrder &&\r\n (\r\n partnerOrder.Amount +\r\n partnerOrder.ChargesAmount +\r\n partnerOrder.TaxAmount -\r\n partnerOrder.DiscountAmount\r\n ).toFixed(2)}\r\n \r\n
\r\n {partnerOrder?.OrderItemDetails.filter(\r\n (item: IPartnerOrderDetail) => item.IsPayment === true\r\n ).map((order: IPartnerOrderDetail) => (\r\n
\r\n {order.OrderItem.ItemName}\r\n \r\n {(order.TransactionPrice * order.ItemQuantity).toFixed(2)}\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n\r\n
\r\n {selectedItem &&\r\n statusForBtn !== undefined &&\r\n statusForBtn.length > 0 &&\r\n !selectedItem.OrderDelivery.OrderStatus.IsCompletedOrderStatus && (\r\n
\r\n {/* setTogglePatchCart(true)}\r\n /> */}\r\n {/*
PATCH
*/}\r\n
\r\n )}\r\n
\r\n handleKOTPrint(partnerOrder?.KOTReportSource)}\r\n />\r\n
KOT
\r\n
\r\n
\r\n \r\n handleBillPrinting(\r\n partnerOrder?.PartnerOrderId,\r\n partnerOrder?.OrderReference\r\n )\r\n }\r\n />\r\n
Print
\r\n\r\n {/* */}\r\n
\r\n
\r\n {isOrderDetailsLoading ? (\r\n \r\n ) : (\r\n selectedItem &&\r\n statusForBtn !== undefined &&\r\n statusForBtn.length > 0 &&\r\n !selectedItem.OrderDelivery.OrderStatus\r\n .IsCompletedOrderStatus && (\r\n \r\n )\r\n )}\r\n
\r\n
\r\n
\r\n {/*patch cart toggle*/}\r\n {togglePatchCart && (\r\n setTogglePatchCart(false)}\r\n />\r\n )}\r\n {snackBarmodel.openSnackBar && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderDetails;\r\n","import * as React from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport List from \"@mui/material/List\";\r\nimport ListItem from \"@mui/material/ListItem\";\r\nimport ListItemText from \"@mui/material/ListItemText\";\r\nimport ListItemAvatar from \"@mui/material/ListItemAvatar\";\r\nimport Avatar from \"@mui/material/Avatar\";\r\nimport { IOrderStatus, IPartnerOrder } from \"../../../../../interfaces/order\";\r\nimport ListItemButton from \"@mui/material/ListItemButton\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport moment from \"moment\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { orderRequestModel } from \"../../../../../api/apiRequestObjects\";\r\nimport apis from \"../../../../../api/apis\";\r\nimport { notifyError } from \"../../../../../config/toastNotification\";\r\nimport { APIResponseType } from \"../../../../../config/enumApiResponseTypes\";\r\nimport OrderDetails from \"../../../orderDetails/OrderDetails\";\r\n\r\n// styles\r\nimport styles from \"./SearchBox.module.scss\";\r\n\r\n// icons\r\nimport SearchIcon from \"@material-ui/icons/Search\";\r\n\r\ninterface IProps {\r\n toggle: () => void;\r\n searchValue: string;\r\n setSearchValue: React.Dispatch>;\r\n posOrderStatus: IOrderStatus[];\r\n updateOrder: (\r\n updatedOrderStatus: IOrderStatus,\r\n selectedOrder: IPartnerOrder\r\n ) => void;\r\n handleBillPrinting: (\r\n partnerOrderId: number | undefined,\r\n orderReference: string | undefined\r\n ) => void;\r\n}\r\n\r\nconst SearchBox: React.FC = ({\r\n toggle,\r\n searchValue,\r\n setSearchValue,\r\n posOrderStatus,\r\n updateOrder,\r\n handleBillPrinting,\r\n}) => {\r\n const initialValues = { searchValue };\r\n const [searchedOrderList, setSearchedOrderList] = React.useState<\r\n IPartnerOrder[]\r\n >([]);\r\n const [selectedSearchedOrder, setSelectedSearchedOrder] =\r\n React.useState(null);\r\n const [msgForUser, setMsgForUser] = React.useState(\"\");\r\n\r\n //get redux state\r\n const { user } = useSelector((state: any) => state.authentication);\r\n\r\n const onSubmit = (values: { searchValue: string }) => {\r\n setSearchValue(values.searchValue);\r\n toggle();\r\n };\r\n\r\n //handle search when user typing\r\n const handleOnChangeInputField = async (\r\n e: React.ChangeEvent\r\n ) => {\r\n const { value } = e.target;\r\n\r\n setSelectedSearchedOrder(null);\r\n\r\n if (value.length > 1) {\r\n setMsgForUser(\"Searching...\");\r\n try {\r\n orderRequestModel.UID.UserKey = user.UserKey;\r\n orderRequestModel.UID.LocationKey = user.LocationKey;\r\n orderRequestModel.UID.CompanyKey = user.CompanyKey;\r\n orderRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n\r\n orderRequestModel.OrderReference = value;\r\n\r\n const response = await apis.Orders.searchByOrderReference(\r\n orderRequestModel\r\n );\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n setMsgForUser(\"\");\r\n setSearchedOrderList(response.ResponseData.SearchResultedOrderList);\r\n } else if (response.ResponseType === APIResponseType.NotAvailable) {\r\n setMsgForUser(\"No Result Found !\");\r\n } else if (response.ResponseType === APIResponseType.Error) {\r\n setMsgForUser(\"Internal Server Error Detected !!!\");\r\n }\r\n } catch (err) {\r\n setMsgForUser(\"\");\r\n notifyError();\r\n }\r\n } else {\r\n setMsgForUser(\"Please enter 2 or more characters to begin the search\");\r\n }\r\n };\r\n\r\n // handle when user click searched order\r\n const handleSelectedOrder = (searchedOrder: IPartnerOrder) => {\r\n setMsgForUser(\"\");\r\n\r\n let searchedOrderObject = searchedOrder;\r\n\r\n setSearchedOrderList([]);\r\n\r\n setSelectedSearchedOrder(searchedOrderObject);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n ) =>\r\n handleOnChangeInputField(e)\r\n }\r\n />\r\n \r\n \r\n
\r\n {msgForUser === \"\" &&\r\n searchedOrderList &&\r\n searchedOrderList.length > 0 &&\r\n searchedOrderList.map((searchedOrder) => (\r\n \r\n \r\n handleSelectedOrder(searchedOrder)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {`QTY: ${searchedOrder.Quantity.toFixed(\r\n 3\r\n )} AMT: ${searchedOrder.Amount.toFixed(2)} `}\r\n {\"\\n\"}\r\n \r\n \r\n {moment(searchedOrder.OrderDate).format(\r\n \"DD-MM-YYYY, h:mm:ss a\"\r\n )}\r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n ))}\r\n {msgForUser === \"\" &&\r\n selectedSearchedOrder &&\r\n selectedSearchedOrder !== null && (\r\n \r\n )}\r\n {msgForUser !== \"\" && (\r\n
{msgForUser}
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default SearchBox;\r\n","import * as React from 'react';\r\nimport { Modal, ModalBody } from 'reactstrap';\r\n\r\n// icons\r\nimport CloseIcon from '@material-ui/icons/Close';\r\n\r\n// styles\r\nimport styles from './BasicModal.module.scss';\r\n\r\ninterface IProps {\r\n children: JSX.Element;\r\n isOpen: boolean;\r\n toggle: () => void;\r\n size: string;\r\n closeIcon?: boolean;\r\n}\r\n\r\nconst BasicModal: React.FC = ({\r\n children,\r\n isOpen,\r\n toggle,\r\n size,\r\n closeIcon = true,\r\n}) => {\r\n return (\r\n \r\n {closeIcon && (\r\n \r\n )}\r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default BasicModal;\r\n","import * as React from \"react\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport AdapterDateFns from \"@mui/lab/AdapterDateFns\";\r\nimport LocalizationProvider from \"@mui/lab/LocalizationProvider\";\r\nimport MobileDatePicker from \"@mui/lab/MobileDatePicker\";\r\nimport DatePicker from \"@mui/lab/DatePicker\";\r\nimport Stack from \"@mui/material/Stack\";\r\nimport TextField from \"@mui/material/TextField\";\r\n\r\n// styles\r\nimport styles from \"./FilterBox.module.scss\";\r\n\r\n// icons\r\nimport DoneAllIcon from \"@material-ui/icons/DoneAll\";\r\nimport FilterListIcon from \"@material-ui/icons/FilterList\";\r\nimport { Button } from \"@mui/material\";\r\n\r\ninterface IProps {\r\n toggle: () => void;\r\n handleFiltering: (filterDateValue: Date | null) => void;\r\n}\r\n\r\nconst FilterBox: React.FC = ({ toggle, handleFiltering }) => {\r\n const [filterDateValue, setFilterDateValue] = React.useState(\r\n new Date()\r\n );\r\n\r\n const handleDateFilterChange = (newValue: Date | null) => {\r\n setFilterDateValue(newValue);\r\n };\r\n\r\n /* const initialValues = { filterValue };\r\n\r\n const onSubmit = (values: { filterValue: string }) => {\r\n setFilterValue(values.filterValue);\r\n toggle();\r\n }; */\r\n\r\n return (\r\n
\r\n {/* \r\n
*/}\r\n {/* */}\r\n \r\n \r\n }\r\n />\r\n }\r\n onClick={() => handleFiltering(filterDateValue)}\r\n >\r\n Filter\r\n \r\n \r\n \r\n {/* \r\n \r\n
*/}\r\n
\r\n );\r\n};\r\n\r\nexport default FilterBox;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport cx from \"classnames\";\r\nimport { useMediaQuery } from \"react-responsive\";\r\nimport { jsPDF } from \"jspdf\";\r\nimport printJS from \"print-js\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\n//redux\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n\r\n// styles\r\nimport styles from \"./OrdersPage.module.scss\";\r\n\r\n// config\r\nimport GLOBAL_MEDIA_QUERIES from \"../../../config/globalMediaQueries\";\r\nimport { APIResponseType } from \"../../../config/enumApiResponseTypes\";\r\nimport {\r\n notifyError,\r\n notifyPendingIncomingOrders,\r\n notifyServerError,\r\n} from \"../../../config/toastNotification\";\r\n\r\n// icons\r\nimport SearchIcon from \"@material-ui/icons/Search\";\r\nimport FilterListIcon from \"@material-ui/icons/FilterList\";\r\nimport blxLogo from \"../../../assets/images/logo.jpeg\";\r\n\r\n//interfaces\r\nimport {\r\n IOrderStatus,\r\n IPartnerOrder,\r\n IPartnerOrderRequestModel,\r\n} from \"../../../interfaces/order\";\r\n\r\n//api\r\nimport apis from \"../../../api/apis\";\r\nimport {\r\n orderListRequestModel,\r\n statusForBtnsRequestModel,\r\n baseRequestModel as statusForTabsRequestModel,\r\n orderRequestModel,\r\n} from \"../../../api/apiRequestObjects\";\r\n\r\n// components\r\nimport OrderCount from \"../orderCount/OrderCount\";\r\nimport DataTable from \"../dataTable/DataTable\";\r\nimport SearchBox from \"./components/searchBox/SearchBox\";\r\nimport OrderDetails from \"../orderDetails/OrderDetails\";\r\nimport BasicModal from \"../../basicModal/BasicModal\";\r\nimport FilterBox from \"./components/filterBox/FilterBox\";\r\nimport LoadingComponent from \"../../loadingComponent/LoadingComponent\";\r\nimport orderStatus from \"../../../config/orderStatus\";\r\nimport moment from \"moment\";\r\nimport { Button, Chip, Stack } from \"@mui/material\";\r\nimport SnackBar, { SnackBarModel } from \"../../snackBar/SnackBar\";\r\nimport { API_INTEGRATION_ID } from \"../../../config\";\r\nimport axios from \"axios\";\r\nimport { IBaseModel } from \"../../../interfaces/base\";\r\nimport { IPartnerStore } from \"../../../interfaces/store\";\r\nimport { IStorePartner } from \"../../../interfaces/configuration\";\r\n/* import { IBaseModel } from \"../../../interfaces/base\";\r\nimport { API_INTEGRATION_ID } from \"../../../config\";\r\nimport { getStatus } from \"../../redux/actions/store/status\"; */\r\n\r\nconst OrdersPage = (): JSX.Element => {\r\n const isTablet = useMediaQuery({ query: GLOBAL_MEDIA_QUERIES.tab });\r\n\r\n const [orderList, setOrderList] = useState([]);\r\n const [navItems] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [selectedItem, setSelectedItem] = useState(orderList[0]);\r\n const [selectedNavItem, setSelectedNavItem] = useState(\r\n navItems[0]\r\n );\r\n //console.log(selectedItem);\r\n //console.log(selectedNavItem);\r\n const [statusForBtn, setStatusForBtn] = useState([]);\r\n const [incomingOrderCount, setIncomingOrderCount] = useState(0);\r\n const [isIncomingOrderArrive, setIsIncomingOrderArrive] = useState(false);\r\n const [isAudioPlaying, setIsAudioPlaying] = useState(false);\r\n /* const [opacityValue, setOpacityValue] = useState(1); */\r\n const componentMounted = useRef(true);\r\n //const prevSelectedNavItemRef = useRef();\r\n\r\n /* const dispatch = useDispatch();\r\n const { loading, status } = useSelector(\r\n (state: any) => state.getStoreStatusReducer\r\n ); */\r\n //get redux state\r\n const { user } = useSelector((state: any) => state.authentication);\r\n //console.log(\"userN\", user);\r\n const history = useHistory();\r\n\r\n //fetch OrderList\r\n useEffect(() => {\r\n // const data:IBaseModel={\r\n // RequestId: API_INTEGRATION_ID,\r\n // IntegrationId: API_INTEGRATION_ID,\r\n // ApiKey: '',\r\n // ApplicationId: '',\r\n // LocationApiKey: '',\r\n // RequestingUser: 0,\r\n // RequestingId: '',\r\n // Schema: '',\r\n // ValidationMessages: [],\r\n // IsApprovedStatus: 0,\r\n // IsActive: 0\r\n // }\r\n\r\n // dispatch(getStatus(data))\r\n\r\n const fetchOrderListData = async () => {\r\n try {\r\n setIsLoading(true);\r\n\r\n orderListRequestModel.UID.UserKey = user.UserKey;\r\n orderListRequestModel.UID.LocationKey = user.LocationKey;\r\n orderListRequestModel.UID.CompanyKey = user.CompanyKey;\r\n orderListRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n //console.log(orderListRequestModel);\r\n //if (selectedNavItem)\r\n orderListRequestModel.POSStatusKey = selectedNavItem\r\n ? selectedNavItem.POSStatusKey\r\n : orderStatus.all;\r\n orderListRequestModel.OrderDate = filteredDateValue ?? moment();\r\n orderListRequestModel.PageNo = 1;\r\n\r\n const response = await apis.Orders.fetchPartnerOrderList(\r\n orderListRequestModel\r\n );\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n response.ResponseData.AllOrders.forEach((order) => {\r\n let x = orderList.find(\r\n (e) => e.PartnerOrderId === order.PartnerOrderId\r\n );\r\n\r\n if (x === undefined) {\r\n orderList.push(order);\r\n //orderList.sort((a, b) => (a.OrderDate > b.OrderDate ? 1 : -1));\r\n }\r\n });\r\n //console.log(\"ordelist\", orderList);\r\n setSelectedItem(orderList[0]);\r\n\r\n setIsLoading(false);\r\n } else {\r\n //notifyError();\r\n //setIsLoading(false);\r\n //console.log(\"api fetching error\");\r\n }\r\n } catch (e) {\r\n //setIsLoading(false);\r\n notifyServerError();\r\n //console.log(e);\r\n }\r\n };\r\n\r\n fetchOrderListData();\r\n }, [selectedNavItem]);\r\n\r\n //fetch OrderStatus for Tabs\r\n useEffect(() => {\r\n const fetchStatusData = async () => {\r\n try {\r\n setIsLoading(true);\r\n statusForTabsRequestModel.UID.UserKey = user.UserKey;\r\n statusForTabsRequestModel.UID.LocationKey = user.LocationKey;\r\n statusForTabsRequestModel.UID.CompanyKey = user.CompanyKey;\r\n statusForTabsRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n\r\n const response = await apis.Orders.fetchOrderStatus(\r\n statusForTabsRequestModel\r\n );\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n response.ResponseData.OrderStatusList.sort((a, b) =>\r\n a.SortingOrder > b.SortingOrder ? 1 : -1\r\n ).forEach((orderStatus) => {\r\n navItems.find(\r\n (e) => e.POSStatusKey === orderStatus.POSStatusKey\r\n ) === undefined && navItems.push(orderStatus);\r\n });\r\n setSelectedNavItem(navItems[0]);\r\n\r\n setIsLoading(false);\r\n } else {\r\n //notifyError();\r\n //setIsLoading(false);\r\n //console.log(\"api fetching error\");\r\n }\r\n } catch (e) {\r\n //notifyServerError();\r\n //setIsLoading(false);\r\n //console.log(e);\r\n }\r\n };\r\n\r\n fetchStatusData();\r\n return () => {\r\n // This code runs when component is unmounted\r\n componentMounted.current = false;\r\n };\r\n }, []);\r\n\r\n //fetch Order Status for Button\r\n useEffect(() => {\r\n const fetchOrderStatusBtnData = async () => {\r\n try {\r\n statusForBtnsRequestModel.UID.UserKey = user.UserKey;\r\n statusForBtnsRequestModel.UID.LocationKey = user.LocationKey;\r\n statusForBtnsRequestModel.UID.CompanyKey = user.CompanyKey;\r\n statusForBtnsRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n\r\n statusForBtnsRequestModel.POSStatusKey = selectedNavItem.POSStatusKey;\r\n\r\n if (statusForBtnsRequestModel.POSStatusKey > 0) {\r\n const response = await apis.Orders.fetchOrderStatusForBtn(\r\n statusForBtnsRequestModel\r\n );\r\n if (response.ResponseType === APIResponseType.Success) {\r\n //console.log(response.ResponseData.OrderStatusList);\r\n setStatusForBtn(response.ResponseData.OrderStatusList);\r\n } else {\r\n //notifyError();\r\n //setIsLoading(false);\r\n //console.log(\"api fetching error\");\r\n }\r\n }\r\n } catch (e) {\r\n //notifyServerError();\r\n //setIsLoading(false);\r\n //console.log(e);\r\n }\r\n };\r\n\r\n fetchOrderStatusBtnData();\r\n return () => {\r\n // This code runs when component is unmounted\r\n componentMounted.current = false;\r\n };\r\n }, [selectedNavItem]);\r\n\r\n // order details modal\r\n const [isOpen, setIsOpen] = useState(false);\r\n const toggleModal = () => setIsOpen(!isOpen);\r\n\r\n // search modal\r\n const [searchValue, setSearchValue] = useState(\"\");\r\n const [isOpenSearch, setIsOpenSearch] = useState(false);\r\n const toggleSearchModal = () => setIsOpenSearch(!isOpenSearch);\r\n\r\n // filter modal\r\n const [filteredDateValue, setFilteredDateValue] = React.useState(\r\n new Date()\r\n );\r\n const [isFiltered, setIsFilterd] = useState(false);\r\n const [isOpenFilter, setIsOpenFilter] = useState(false);\r\n const [partnerList, setPartnerList] = useState([]);\r\n //console.log(partnerList);\r\n const toggleFilterModal = () => setIsOpenFilter(!isOpenFilter);\r\n\r\n //set selected order\r\n const selectItem = (order: IPartnerOrder) => {\r\n setSelectedItem(order);\r\n\r\n if (isTablet) {\r\n toggleModal();\r\n }\r\n };\r\n\r\n //snack bar model\r\n const [snackBarmodel, setSnackBarModel] = useState({\r\n openSnackBar: false,\r\n msg: \"\",\r\n autoHideDuration: 6000,\r\n });\r\n\r\n // set Orders Count\r\n /* const setCount = (\r\n oderPosStatus: IOrderStatus,\r\n orderList: IPartnerOrder[]\r\n ) => {\r\n let orderCount = 0;\r\n {\r\n orderList &&\r\n orderList.map((order) => {\r\n if (\r\n order.OrderDelivery.OrderStatus.POSStatusKey ===\r\n oderPosStatus.POSStatusKey\r\n ) {\r\n orderCount++;\r\n }\r\n });\r\n }\r\n\r\n return orderCount;\r\n }; */\r\n\r\n //update Order status in list\r\n const updateOrder = (\r\n updatedOrderStatus: IOrderStatus,\r\n selectedOrder: IPartnerOrder\r\n ) => {\r\n orderList.forEach((order) => {\r\n if (order.PartnerOrderId === selectedOrder.PartnerOrderId) {\r\n order.OrderDelivery.OrderStatus.POSStatusKey =\r\n updatedOrderStatus.POSStatusKey;\r\n order.OrderDelivery.OrderStatus.POSStatusCode =\r\n updatedOrderStatus.POSStatusCode;\r\n order.OrderDelivery.OrderStatus.POSStatusName =\r\n updatedOrderStatus.POSStatusName;\r\n }\r\n });\r\n //setTimeout and setup orderlist ??\r\n //setOrderList(orderList);\r\n //setCount(updatedOrderStatus, orderList);\r\n //window.location.reload();\r\n // setOrderList([...orderList]);\r\n history.push(\"/orders\");\r\n window.location.reload();\r\n };\r\n\r\n //audio playing in notification\r\n const soundFile = new Audio(process.env.PUBLIC_URL + \"/sound/MILANO.mp3\");\r\n\r\n //audio event listeners\r\n soundFile.addEventListener(\r\n \"ended\",\r\n function () {\r\n this.currentTime = 0;\r\n if (isIncomingOrderArrive) {\r\n this.play();\r\n }\r\n //this.play();\r\n },\r\n false\r\n );\r\n\r\n //handle play audio\r\n const handlePlayAudio = () => {\r\n soundFile.loop = true;\r\n if (!isAudioPlaying) {\r\n setIsAudioPlaying(true);\r\n const playPromise = soundFile.play();\r\n if (playPromise !== undefined) {\r\n playPromise\r\n .then(function () {\r\n // Automatic playback started!\r\n //console.log(\"play ok\");\r\n })\r\n .catch(function (error) {\r\n // Automatic playback failed.\r\n // Show a UI element to let the user manually start playback.\r\n //console.log(\"play notOk\", error);\r\n });\r\n //setSelectedNavItem(navItems[0]);\r\n } else {\r\n //console.log(\"play undefined\");\r\n }\r\n }\r\n };\r\n\r\n //showing desktop notification\r\n const requestNotificationPermission = (order: any) => {\r\n Notification.requestPermission().then(() =>\r\n showNotification(Notification.permission, order)\r\n );\r\n };\r\n const showNotification = (permision: any, order: any) => {\r\n // console.log(order);\r\n if (permision !== \"granted\") {\r\n return;\r\n }\r\n let notification = new Notification(\" New Order: \" + order.OrderReference, {\r\n body:\r\n \"You have a new order for Rs. \" +\r\n order.Amount.toFixed(2) +\r\n \". \\n Reference: \" +\r\n order.OrderReference,\r\n data: \"Reference: \" + order.OrderReference,\r\n icon: blxLogo,\r\n // renotify: true,\r\n });\r\n //handlePlayAudio();\r\n // console.log(notification);\r\n //const notificationAudio = new Audio(process.env.PUBLIC_URL + \"/sound/MILANO.mp3\");\r\n };\r\n\r\n //set interval for getting order real time\r\n useEffect(() => {\r\n setInterval(async () => {\r\n try {\r\n //setIsLoading(true);\r\n orderListRequestModel.UID.UserKey = user.UserKey;\r\n orderListRequestModel.UID.LocationKey = user.LocationKey;\r\n orderListRequestModel.UID.CompanyKey = user.CompanyKey;\r\n orderListRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n\r\n orderListRequestModel.OrderDate = moment();\r\n orderListRequestModel.POSStatusKey = orderStatus.all;\r\n const response = await apis.Orders.fetchPartnerOrderList(\r\n orderListRequestModel\r\n );\r\n if (response.ResponseType === APIResponseType.Success) {\r\n response.ResponseData.AllOrders.forEach((order) => {\r\n let x = orderList.find(\r\n (e) => e.PartnerOrderId === order.PartnerOrderId\r\n );\r\n\r\n // console.log(\r\n // moment(moment.now()).isSameOrAfter(\r\n // moment(order.OrderDate).add(10.5, \"minutes\")\r\n // )\r\n // );\r\n\r\n if (x === undefined) {\r\n //orderList.push(order);\r\n // console.log(\r\n // moment\r\n // .utc(moment.now())\r\n // .isSameOrAfter(\r\n // moment.utc(moment(order.OrderDate).add(10.5, \"minutes\"))\r\n // )\r\n // );\r\n //incoming order timeout check\r\n if (\r\n order.OrderDelivery.OrderStatus.POSStatusCode ===\r\n navItems[0].POSStatusCode &&\r\n moment\r\n .utc(moment.now())\r\n .isSameOrAfter(\r\n moment.utc(moment(order.OrderDate).add(10.5, \"minutes\"))\r\n )\r\n ) {\r\n setOrderList(\r\n orderList.filter(\r\n (x) => x.PartnerOrderId !== order.PartnerOrderId\r\n )\r\n );\r\n } else {\r\n Object.assign(orderList, order);\r\n requestNotificationPermission(order);\r\n //console.log(returnedTarget);\r\n //console.log(\"ol\", orderList);\r\n //setOrderList(returnedTarget);\r\n if (\r\n order.OrderDelivery.OrderStatus.POSStatusCode ===\r\n navItems[0].POSStatusCode\r\n ) {\r\n //let count = incomingOrderCount;\r\n setIncomingOrderCount(incomingOrderCount + 1);\r\n\r\n if (!isIncomingOrderArrive) {\r\n handlePlayAudio();\r\n setIsIncomingOrderArrive(true);\r\n }\r\n //console.log(\"yep\");\r\n //console.log(soundFile);\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n //console.log(\"api fetching error\");\r\n }\r\n } catch (e) {\r\n // console.log(e);\r\n }\r\n }, 10000);\r\n\r\n //to check whether there are any pending orders every 2 min\r\n setInterval(async () => {\r\n if (!isIncomingOrderArrive && !isAudioPlaying) {\r\n const pendingOrders = orderList.find(\r\n (x) =>\r\n x.OrderDelivery.OrderStatus.POSStatusCode ===\r\n navItems[0].POSStatusCode\r\n );\r\n if (pendingOrders !== undefined && pendingOrders !== null) {\r\n handlePlayAudio();\r\n setSnackBarModel({\r\n openSnackBar: true,\r\n msg: \"There are incoming orders waiting for action !\",\r\n autoHideDuration: 8000,\r\n });\r\n //notifyPendingIncomingOrders();\r\n }\r\n }\r\n }, 120000);\r\n }, []);\r\n\r\n //get partner stolre list\r\n useEffect(() => {\r\n getPartnerStoreList();\r\n }, []);\r\n\r\n //handle incoming order notification screen\r\n const handleNotificationScreen = () => {\r\n //console.log(\"notyScreen\", orderList);\r\n window.location.reload();\r\n soundFile.pause();\r\n setIsAudioPlaying(false);\r\n setIsIncomingOrderArrive(false);\r\n //setSelectedNavItem(navItems[0]);\r\n //setOrderList(orderList);\r\n };\r\n\r\n //for setting dynmic opacity\r\n /* useEffect(() => {\r\n setInterval(() => {\r\n setOpacityValue(Math.random());\r\n }, 1000);\r\n }, []); */\r\n\r\n //filterbyOrderDate\r\n const handleFiltering = (filteredDateValue: Date | null) => {\r\n setIsFilterd(true);\r\n setFilteredDateValue(filteredDateValue);\r\n const fetchOrderListData = async () => {\r\n try {\r\n setIsLoading(true);\r\n\r\n orderListRequestModel.UID.UserKey = user.UserKey;\r\n orderListRequestModel.UID.LocationKey = user.LocationKey;\r\n orderListRequestModel.UID.CompanyKey = user.CompanyKey;\r\n orderListRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n //console.log(orderListRequestModel);\r\n //if (selectedNavItem)\r\n orderListRequestModel.POSStatusKey = selectedNavItem\r\n ? selectedNavItem.POSStatusKey\r\n : orderStatus.all;\r\n orderListRequestModel.OrderDate = filteredDateValue;\r\n orderListRequestModel.PageNo = 1;\r\n\r\n const response = await apis.Orders.fetchPartnerOrderList(\r\n orderListRequestModel\r\n );\r\n //console.log(response);\r\n if (response.ResponseType === APIResponseType.Success) {\r\n /* setOrderList(\r\n response.ResponseData.AllOrders.sort((a, b) =>\r\n a.OrderDate > b.OrderDate ? 1 : -1\r\n ).filter(\r\n (order, i) => order.PartnerOrderId !== orderList[i].PartnerOrderId\r\n )\r\n ); */\r\n setOrderList(\r\n response.ResponseData.AllOrders.sort((a, b) =>\r\n a.OrderDate > b.OrderDate ? 1 : -1\r\n )\r\n );\r\n /* response.ResponseData.AllOrders.forEach((order) => {\r\n let x = orderList.find(\r\n (e) => e.PartnerOrderId === order.PartnerOrderId\r\n );\r\n\r\n if (x === undefined) {\r\n orderList.push(order);\r\n //orderList.sort((a, b) => (a.OrderDate > b.OrderDate ? 1 : -1));\r\n }\r\n }); */\r\n //console.log(\"ordelist\", orderList);\r\n setSelectedItem(orderList[0]);\r\n\r\n setIsLoading(false);\r\n } else {\r\n //notifyError();\r\n setIsLoading(false);\r\n console.log(\"api fetching error\");\r\n }\r\n } catch (e) {\r\n //setIsLoading(false);\r\n notifyServerError();\r\n //console.log(e);\r\n }\r\n };\r\n\r\n fetchOrderListData();\r\n toggleFilterModal();\r\n };\r\n\r\n //remove Filtering by date\r\n const removeFiltering = () => {\r\n setIsFilterd(false);\r\n setFilteredDateValue(null);\r\n window.location.reload();\r\n };\r\n\r\n //method to convert base64string to blob\r\n const b64toBlob = (base64: string, type = \"application/pdf\") =>\r\n fetch(`data:${type};base64,${base64}`).then((res) => res.blob());\r\n\r\n //handle bill printing\r\n const handleBillPrinting = async (\r\n partnerOrderId: number | undefined,\r\n orderReference: string | undefined\r\n ) => {\r\n if (partnerOrderId !== undefined) {\r\n orderRequestModel.UID.UserKey = user.UserKey;\r\n orderRequestModel.UID.LocationKey = user.LocationKey;\r\n orderRequestModel.UID.CompanyKey = user.CompanyKey;\r\n orderRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n\r\n orderRequestModel.PartnerOrderId = partnerOrderId;\r\n\r\n const response = await apis.Orders.getPrintBill(orderRequestModel);\r\n\r\n /* var imgData =\r\n \"data:application/pdf;base64,\" +\r\n response.ResponseData.PartnerOrder.BillReportSource; */\r\n /* var pdfData =\r\n \"data:application/pdf;base64,\" +\r\n response.ResponseData.PartnerOrder.BillReportSource; */\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n if (response.ResponseData.PartnerOrder.BillReportSource !== null) {\r\n //Build a URL from the file\r\n const fileURL = URL.createObjectURL(\r\n await b64toBlob(response.ResponseData.PartnerOrder.BillReportSource)\r\n );\r\n\r\n //Open the URL on new Window\r\n //window.open(fileURL);\r\n printJS(fileURL);\r\n } else {\r\n //show error msg\r\n setSnackBarModel({\r\n openSnackBar: true,\r\n msg: \"Error: Report Source Not Found !\",\r\n autoHideDuration: 6000,\r\n });\r\n }\r\n } else {\r\n notifyServerError();\r\n }\r\n\r\n /* var doc = new jsPDF({\r\n orientation: 'p',\r\n unit: 'mm',\r\n format: 'a4',\r\n putOnlyUsedFonts:true\r\n }); */\r\n //var doc = new jsPDF({ unit: \"px\" });\r\n //const imgProps = doc.getImageProperties(imgData);\r\n /* const imgProps = doc.getImageProperties(imgData);\r\n const docWidth = 303;\r\n const docHeight = (imgProps.height * docWidth) / imgProps.width; */\r\n //const docWidth = 303;\r\n //const docHeight = (imgProps.height * docWidth) / imgProps.width;\r\n //doc.addImage(imgData, \"JPEG\", 0, 0, docWidth, docHeight);\r\n\r\n //doc.autoPrint({ variant: \"non-conform\" });\r\n //window.open(doc.output(\"datauristring\"));\r\n //doc.save();\r\n /* doc.addPage(pdfData);\r\n doc.output(\"datauristring\", { filename: orderReference });\r\n doc.autoPrint(); */\r\n //doc.output();\r\n //window.print(pdfData);\r\n }\r\n };\r\n //console.log(isLoading);\r\n const getPickMeOrders = async () => {\r\n //\r\n\r\n try {\r\n setIsLoading(true);\r\n const pickmeOrderModel: IPartnerOrderRequestModel = {\r\n PartnerOrderId: 0,\r\n OrderId: \"\",\r\n POSStatusKey: 0,\r\n OrderDate: undefined,\r\n OrderTypeKey: 0,\r\n DenyOrCancelReasonCode: \"\",\r\n DenyOrCancelReasonKey: 0,\r\n CurrentPOSStatusCode: \"\",\r\n OrderReference: \"\",\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user.CompanyKey,\r\n LocationKey: user.LocationKey,\r\n UserKey: user.UserKey,\r\n EnvironmentName: user.EnvironmentName,\r\n IsUrbanPiper: user.IsUrbanPiper,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n\r\n const response = await apis.Orders.getPickMeOrders(pickmeOrderModel);\r\n //const responst = await axios.get(\"\")\r\n console.log(response);\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(\"error\");\r\n console.log(error);\r\n setIsLoading(false);\r\n }\r\n\r\n //\r\n };\r\n\r\n const getPartnerStoreList = async () => {\r\n try {\r\n setIsLoading(true);\r\n const requestModel: IBaseModel = {\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n const response = await apis.configuration.getStorePartners(requestModel);\r\n\r\n setPartnerList(response.ResponseData.Storepartners);\r\n\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(error);\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n if (isLoading) return ;\r\n\r\n if (isIncomingOrderArrive)\r\n return (\r\n \r\n
\r\n \r\n {/*

\r\n New {incomingOrderCount}{\" \"}\r\n Incoming Order Arrived\r\n

*/}\r\n

New Incoming Order Arrived

\r\n \r\n Tap Anywhere To Continue...\r\n \r\n
\r\n
\r\n \r\n );\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n {isFiltered ? (\r\n \r\n \r\n \r\n ) : null}\r\n {/* {partnerList.length > 0 &&\r\n \r\n partnerList.map((partner: IStorePartner) =>\r\n partner.OrderTypeName === \"pickme\" ? (\r\n \r\n \r\n
\r\n ) : null\r\n )} */}\r\n\r\n
\r\n
\r\n {navItems.length > 0 &&\r\n navItems.map(\r\n (orderPosStatus: IOrderStatus) =>\r\n orderPosStatus.IsTabOrderStatus && (\r\n setSelectedNavItem(orderPosStatus)}\r\n >\r\n {orderPosStatus && (\r\n \r\n )}\r\n\r\n {orderPosStatus.POSStatusName}\r\n
\r\n )\r\n )}\r\n
\r\n
\r\n \r\n \r\n {/*

\r\n {isFiltered\r\n ? moment(filteredDateValue).format(\"DD-MM-YYYY\")\r\n : null}\r\n

*/}\r\n
\r\n
\r\n
\r\n {selectedItem && (\r\n \r\n )}\r\n
\r\n \r\n {!isTablet && (\r\n
\r\n {selectedItem && selectedNavItem ? (\r\n \r\n ) : (\r\n
\r\n

\r\n No selected orders to display\r\n

\r\n
\r\n )}\r\n
\r\n )}\r\n\r\n {/* order details modal */}\r\n {selectedItem &&\r\n selectedNavItem &&\r\n selectedItem.OrderDelivery.OrderStatus.POSStatusCode !== \"Rejected\" ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n
\r\n

\r\n No selected orders to display\r\n

\r\n
\r\n
\r\n )}\r\n\r\n {/* search modal */}\r\n \r\n \r\n \r\n\r\n {/* filter modal */}\r\n \r\n \r\n \r\n {snackBarmodel.openSnackBar && }\r\n \r\n );\r\n};\r\n\r\nexport default OrdersPage;\r\n/* function useSound(audio: any): [any] {\r\n throw new Error(\"Function not implemented.\");\r\n} */\r\n","export default __webpack_public_path__ + \"static/media/banner.0b0e7ed4.jpeg\";","//all action types goes here\r\n\r\n//action types for authentication\r\nexport const LOGIN = \"LOGIN\";\r\nexport const LOGOUT = \"LOGOUT\";\r\nexport const EMPTY_STATE = \"EMPTY_STATE\";\r\n\r\n//action types for orders\r\nexport const GET_ALL_ORDERS = \"GET_ALL_ORDERS\";\r\n\r\n//store status\r\n\r\nexport const SET_STATUS_LOAD = \"SET_STATUS_LOAD\";\r\nexport const SET_STATUS_ERROR = \"SET_STATUS_ERROR\";\r\nexport const SET_STATUS_SUCCESS = \"SET_STATUS_SUCCESS\";\r\nexport const SET_STATUS_RESET = \"SET_STATUS_RESET\";\r\n\r\nexport const GET_STATUS_LOAD = \"GET_STATUS_LOAD\";\r\nexport const GET_STATUS_ERROR = \"GET_STATUS_ERROR\";\r\nexport const GET_STATUS_SUCCESS = \"GET_STATUS_SUCCESS\";\r\n\r\n//menu constants\r\n\r\n//get all menu from POS\r\nexport const GET_ALL_MENU_LOAD = \"GET_ALL_MENU_LOAD\";\r\nexport const GET_ALL_MENU_SUCCESS = \"GET_ALL_MENU_SUCCESS\";\r\nexport const GET_ALL_MENU_ERROR = \"GET_ALL_MENU_ERROR\";\r\n\r\n//bulk upload\r\n\r\nexport const BULK_UPLOAD_LOADING = \"BULL_UPLOAD_LOADING\";\r\nexport const BULK_UPLOAD_SUCCESS = \"BULL_UPLOAD_SUCCESS\";\r\nexport const BULK_UPLOAD_ERROR = \"BULL_UPLOAD_ERROR\";\r\nexport const BULK_UPLOAD_RESET = \"BULL_UPLOAD_RESET\";\r\n\r\n//bulk upload partner\r\n\r\nexport const BULK_UPLOAD_LOADING_PARTNER = \"BULL_UPLOAD_LOADING_PARTNER\";\r\nexport const BULK_UPLOAD_SUCCESS_PARTNER = \"BULL_UPLOAD_SUCCESS_PARTNER\";\r\nexport const BULK_UPLOAD_ERROR_PARTNER = \"BULL_UPLOAD_ERROR_PARTNER\";\r\nexport const BULK_UPLOAD_RESET_PARTNER = \"BULL_UPLOAD_RESET_PARTNER\";\r\n\r\n//update menu item\r\n\r\nexport const UPDATE_ITEM_LOAD = \"UPDATE_ITEM_LOAD\";\r\nexport const UPDATE_ITEM_SUCCESS = \"UPDATE_ITEM_SUCCESS\";\r\nexport const UPDATE_ITEM_ERROR = \"UPDATE_ITEM_ERROR\";\r\nexport const UPDATE_ITEM_RESET = \"UPDATE_ITEM_RESET\";\r\n\r\n//sales items\r\n\r\nexport const ADD_SALES_ITEM_LOAD = \"ADD_SALES_ITEM_LOAD\";\r\nexport const ADD_SALES_ITEM_SUCCESS = \"ADD_SALES_ITEM_SUCCESS\";\r\nexport const ADD_SALES_ITEM_ERROR = \"ADD_SALES_ITEM_ERROR\";\r\n\r\nexport const GET_SALES_ITEMS_LOAD = \"GET_SALES_ITEMS_LOAD\";\r\nexport const GET_SALES_ITEMS_SUCCESS = \"GET_SALES_ITEMS_SUCCESS\";\r\nexport const GET_SALES_ITEMS_ERROR = \"GET_SALES_ITEMS_ERROR\";\r\n\r\nexport const ADD_TO_TICKETS = \"ADD_TO_TICKETS\";\r\nexport const REMOVE_FROM_TICKETS = \"REMOVE_FROM_TICKETS\";\r\n\r\n//sales new\r\nexport const ADD = \"ADD\";\r\nexport const REMOVE = \"REMOVE\";\r\nexport const RESET = \"RESET\";\r\n\r\nexport const INCREASE = \"INCREASE\";\r\nexport const DECREASE = \"DECREASE\";\r\n\r\nexport const ADD_TOTAL = \"ADD_TOTAL\";\r\nexport const ORDER_TYPE = \"ORDER_TYPE\";\r\n\r\nexport const DISCOUNT_TYPE = \"DISCOUNT_TYPE\";\r\nexport const DISCOUNT_AMOUNT = \"DISCOUNT AMOUNT\";\r\n","import jwt from \"jsonwebtoken\";\r\nimport apis from \"../../../api/apis\";\r\nimport { SECRET_KEY } from \"../../../config\";\r\nimport { APIResponseType } from \"../../../config/enumApiResponseTypes\";\r\nimport { IUserRequestModel } from \"../../../interfaces/user\";\r\nimport { LOGIN, LOGOUT } from \"../types\";\r\nimport { notifyServerError } from \"../../../config/toastNotification\";\r\n\r\n//action creators for authentication\r\n\r\nexport const userLogin = (\r\n data: string | jwt.JwtPayload\r\n): { type: string; data: string | jwt.JwtPayload } => ({\r\n type: LOGIN,\r\n data,\r\n});\r\n\r\nexport const loginUser =\r\n (data: IUserRequestModel) =>\r\n async (dispatch: any): Promise => {\r\n try {\r\n const response = await apis.Users.validateLogin(data);\r\n //console.log(response);\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n const userData = {\r\n UserKey: response.ResponseData.User.UserKey,\r\n UserId: response.ResponseData.User.UserId,\r\n IntegrationId: response.ResponseData.User.IntegrationId,\r\n ApiKey: response.ResponseData.User.ApiKey,\r\n RequestingId: response.ResponseData.User.RequestingId,\r\n CompanyKey: response.ResponseData.User.UserCompanies[0].CompanyId,\r\n CompanyName: response.ResponseData.User.UserCompanies[0].CompanyName,\r\n LocationKey: response.ResponseData.User.UserLocations[0].LocationId,\r\n EnvironmentName: response.ResponseData.User.EnvironmentName,\r\n IsUrbanPiper:\r\n response.ResponseData.User.UserLocations[0].IsUrbanPiper,\r\n };\r\n\r\n /* const userDataForJWT = {\r\n UserId: response.ResponseData.User.UserId,\r\n CompanyName: response.ResponseData.User.UserCompanies[0].CompanyName,\r\n IsUrbanPiper:\r\n response.ResponseData.User.UserLocations[0].IsUrbanPiper,\r\n EnvironmentName: response.ResponseData.User.EnvironmentName,\r\n }; */\r\n\r\n //console.log(userData);\r\n\r\n //const jwtToken = jwt.sign(userDataForJWT, SECRET_KEY);\r\n const jwtToken = jwt.sign(userData, SECRET_KEY);\r\n\r\n localStorage.setItem(\"User_AccessToken\", jwtToken);\r\n dispatch(userLogin(userData));\r\n\r\n return true;\r\n } else if (response.ResponseType === APIResponseType.InvalidLogin) {\r\n return false;\r\n } else {\r\n notifyServerError();\r\n return false;\r\n }\r\n } catch (err) {\r\n notifyServerError();\r\n console.log(err);\r\n return false;\r\n }\r\n };\r\n\r\n/* export const loginUser =\r\n (data: IUserRequestModel) =>\r\n async (dispatch: any): Promise => {\r\n try {\r\n const response = await apis.Users.validateLogin(data);\r\n console.log(response);\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n const jwtToken = jwt.sign(\r\n response.ResponseData.User.UserId,\r\n SECRET_KEY\r\n );\r\n \r\n localStorage.setItem(\"User_AccessToken\", jwtToken);\r\n dispatch(userLogin(jwt.verify(jwtToken, SECRET_KEY)));\r\n\r\n return response.ResponseType;\r\n } else if (response.ResponseType === APIResponseType.InvalidLogin) {\r\n return response.ResponseType;\r\n } else {\r\n return response.ResponseType;\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n return APIResponseType.Error;\r\n }\r\n }; */\r\n\r\nexport const logoutUser = () => (dispatch: any) => {\r\n if (localStorage.getItem(\"User_AccessToken\")) {\r\n localStorage.removeItem(\"User_AccessToken\");\r\n if (localStorage.getItem(\"Cancel_Reasons\")) {\r\n localStorage.removeItem(\"Cancel_Reasons\");\r\n }\r\n dispatch({\r\n type: LOGOUT,\r\n });\r\n }\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { Formik, Form, Field, FormikHelpers } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport cx from \"classnames\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Alert, Spinner } from \"reactstrap\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { ToastContainer } from \"react-toastify\";\r\n\r\n// images\r\nimport logo from \"../../assets/images/logo.jpeg\";\r\nimport banner from \"../../assets/images/banner.jpeg\";\r\n\r\n// styles\r\nimport styles from \"./LoginPage.module.scss\";\r\nimport { IUserRequestModel } from \"../../interfaces/user\";\r\nimport { loginUser } from \"../../redux/actions/authentication/authentication\";\r\n\r\n//config\r\nimport { API_INTEGRATION_ID } from \"../../config\";\r\nimport { notifyError } from \"../../config/toastNotification\";\r\nimport apis from \"../../api/apis\";\r\nimport { APIResponseType } from \"../../config/enumApiResponseTypes\";\r\n\r\nconst LoginPage = (): JSX.Element => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const [faliedLogin, setFailedLogin] = useState(\"\");\r\n const [invalidLogin, setInvalidLogin] = useState(false);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const initialValues: IUserRequestModel = {\r\n Username: \"\",\r\n Password: \"\",\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n RequestingUser: 0,\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n RequestingId: \"\",\r\n UID: {\r\n CompanyKey: 0,\r\n LocationKey: 0,\r\n UserKey: 0,\r\n EnvironmentName: \"\",\r\n IsUrbanPiper:false,\r\n },\r\n EnvironmentName: \"\",\r\n };\r\n\r\n //handle submit login form\r\n const submitForm = async (\r\n values: IUserRequestModel,\r\n actions: FormikHelpers\r\n ): Promise => {\r\n values.IntegrationId = API_INTEGRATION_ID;\r\n values.RequestId = API_INTEGRATION_ID;\r\n //values.UID.EnvironmentName = values.EnvironmentName;\r\n //console.log(values);\r\n //const response = dispatch(loginUser(values));\r\n //console.log(response);\r\n try {\r\n setInvalidLogin(false);\r\n setFailedLogin(\"\");\r\n setIsLoading(true);\r\n if (await dispatch(loginUser(values))) {\r\n setInvalidLogin(false);\r\n actions.resetForm();\r\n history.push(\"/orders\");\r\n setIsLoading(false);\r\n } else {\r\n const response = await apis.Users.validateLogin(values);\r\n if (\r\n response.ResponseType === APIResponseType.Failed ||\r\n response.ResponseType === APIResponseType.InvalidLogin\r\n ) {\r\n setFailedLogin(response.ErrorMessages[0]);\r\n }\r\n //setInvalidLogin(true);\r\n setIsLoading(false);\r\n }\r\n } catch (e) {\r\n setIsLoading(false);\r\n setInvalidLogin(false);\r\n //notifyError();\r\n console.log(e);\r\n }\r\n };\r\n\r\n const loginSchema = Yup.object().shape({\r\n Username: Yup.string().required(),\r\n Password: Yup.string().required(),\r\n });\r\n\r\n if (localStorage.getItem(\"User_AccessToken\")) {\r\n history.push(\"/orders\");\r\n }\r\n\r\n return (\r\n
\r\n \"Blue\r\n\r\n
\r\n {faliedLogin !== \"\" && (\r\n \r\n {faliedLogin}\r\n \r\n )}\r\n {invalidLogin && (\r\n \r\n You have entered an invalid username or password\r\n \r\n )}\r\n {isLoading && (\r\n \r\n )}\r\n\r\n \r\n {({ errors, touched }) => (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n )}\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default LoginPage;\r\n","import * as React from \"react\";\r\nimport styles from \"./Dashboard.module.scss\";\r\n\r\nconst Dashboard = (): JSX.Element => {\r\n return (\r\n
\r\n

DASHBOARD

\r\n

This section is under development 🙂

\r\n
\r\n );\r\n};\r\n\r\nexport default Dashboard;\r\n","export default __webpack_public_path__ + \"static/media/icon-user.b89021c6.png\";","interface INavItem {\r\n path: string;\r\n name: string;\r\n}\r\n\r\nexport const navItems = [\r\n /* {\r\n path: \"/dashboard\",\r\n name: \"Dashboard\",\r\n }, */\r\n {\r\n path: \"/orders\",\r\n name: \"Orders\",\r\n },\r\n {\r\n path: \"/menus\",\r\n name: \"Menus\",\r\n },\r\n {\r\n path: \"/reports\",\r\n name: \"X-Report\",\r\n },\r\n {\r\n path: \"/provision\",\r\n name: \"Provision & Store Setup\",\r\n },\r\n // {\r\n // path: \"/sales\",\r\n // name: \"Sales\",\r\n // },\r\n /* {\r\n path: '/customers',\r\n name: 'Customers',\r\n },\r\n {\r\n path: '/z-report',\r\n name: 'Z-Report',\r\n },\r\n {\r\n path: '/settings',\r\n name: 'Settings',\r\n }, */\r\n];\r\n\r\nexport const getPathName = (\r\n path: string\r\n): { status: boolean; data?: INavItem } => {\r\n const result = navItems.find((item) => item.path === path);\r\n return result && result.name\r\n ? { status: true, data: result }\r\n : { status: false };\r\n};\r\n","import React from 'react'\r\nimport { Pause, PlayArrow } from '@material-ui/icons'\r\nimport style from './StatusButton.module.scss'\r\n\r\n\r\nfunction StatusButton(props:any) {\r\n \r\n return (\r\n
\r\n
\r\n {props.storeState === \"PAUSED\" ? ( ) : ()}\r\n \r\n
\r\n {/* */}\r\n {props.title}\r\n
\r\n )\r\n}\r\n\r\nexport default StatusButton\r\n","import apis from \"../../../api/apis\";\r\nimport { APIResponseType } from \"../../../config/enumApiResponseTypes\";\r\nimport { IBaseModel } from \"../../../interfaces/base\";\r\nimport { IPartnerStoreRequestModel } from \"../../../interfaces/store\";\r\nimport {\r\n GET_STATUS_ERROR,\r\n GET_STATUS_LOAD,\r\n GET_STATUS_SUCCESS,\r\n SET_STATUS_ERROR,\r\n SET_STATUS_LOAD,\r\n SET_STATUS_SUCCESS,\r\n} from \"../types\";\r\n\r\n//get status\r\nexport const getStatus = (data: IBaseModel) => async (dispatch: any) => {\r\n try {\r\n dispatch({\r\n type: GET_STATUS_LOAD,\r\n });\r\n\r\n const res = await apis.Stores.getStoreStatus(data);\r\n //console.log(\"data\")\r\n\r\n //console.log(res.ResponseData.StoreStatus)\r\n\r\n if (res.ResponseType === APIResponseType.Success) {\r\n dispatch({\r\n type: GET_STATUS_SUCCESS,\r\n data: res.ResponseData.StoreStatus,\r\n });\r\n } else {\r\n dispatch({\r\n type: GET_STATUS_ERROR,\r\n data: null,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n dispatch({\r\n type: GET_STATUS_ERROR,\r\n data: error,\r\n });\r\n }\r\n};\r\n\r\n//set status\r\nexport const setStatus =\r\n (data: IPartnerStoreRequestModel) => async (dispatch: any) => {\r\n try {\r\n dispatch({\r\n type: SET_STATUS_LOAD,\r\n });\r\n\r\n const res = await apis.Stores.setStoreStatus(data);\r\n //console.log(\"data\")\r\n\r\n //console.log(data)\r\n dispatch({\r\n type: SET_STATUS_SUCCESS,\r\n data: res,\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n dispatch({\r\n type: SET_STATUS_ERROR,\r\n data: error,\r\n });\r\n }\r\n };\r\n","export const uberStoreStatusCodes = {\r\n storeOnline: \"ONLINE\",\r\n storePaused: \"PAUSED\",\r\n};\r\n","\r\nimport { Close } from '@material-ui/icons'\r\nimport React from 'react'\r\n\r\nimport styles from './StatusPopup.module.scss'\r\ninterface Props {\r\n handleClose: any;\r\ntimeContent:any;\r\nreasonContent:any;\r\nbtnSubmit:any;\r\npauseReason:any;\r\npauseDuration:any;\r\ntimeValidation?:boolean,\r\nreasonValidation?:boolean\r\n\r\n}\r\n\r\n\r\nconst StatusPopup: React.FC = ({handleClose,timeContent,btnSubmit,reasonContent,pauseDuration,pauseReason,timeValidation,reasonValidation})=> {\r\n\r\n\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n Pause your store for: {pauseDuration}\r\n
\r\n
\r\n {timeContent} \r\n
\r\n
\r\n Reason for pause: {pauseReason}\r\n
\r\n
\r\n {reasonContent} \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default StatusPopup\r\n","import Close from '@material-ui/icons/Close'\r\nimport React from 'react'\r\nimport { CloseButton } from 'react-toastify/dist/components'\r\nimport styles from './ConformationPopup.module.scss'\r\n\r\ninterface Props {\r\n handleClose: any;\r\n\r\nbtnSubmit:any;\r\n\r\n}\r\n\r\nconst ConformationPopup: React.FC =({handleClose,btnSubmit})=> {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n\r\n
Are you sure? You will be accepting orders!
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ConformationPopup\r\n","import apis from \"../../../api/apis\";\r\nimport { APIResponseType } from \"../../../config/enumApiResponseTypes\";\r\nimport { IBaseModel } from \"../../../interfaces/base\";\r\nimport {\r\n IPartnerMenuItemListResponseModel,\r\n IPartnerMenuItemRequestModel,\r\n IPartnerMenuItemUpdateRequestModel,\r\n} from \"../../../interfaces/menu\";\r\nimport {\r\n BULK_UPLOAD_ERROR,\r\n // BULK_UPLOAD_ERROR_PARTNER,\r\n BULK_UPLOAD_LOADING,\r\n //BULK_UPLOAD_LOADING_PARTNER,\r\n BULK_UPLOAD_SUCCESS,\r\n //BULK_UPLOAD_SUCCESS_PARTNER,\r\n GET_ALL_MENU_ERROR,\r\n GET_ALL_MENU_LOAD,\r\n GET_ALL_MENU_SUCCESS,\r\n UPDATE_ITEM_ERROR,\r\n UPDATE_ITEM_LOAD,\r\n UPDATE_ITEM_SUCCESS,\r\n} from \"../types\";\r\n\r\nexport const getMenuList = (data: IBaseModel) => async (dispatch: any) => {\r\n try {\r\n dispatch({\r\n type: GET_ALL_MENU_LOAD,\r\n });\r\n\r\n const response = await apis.Menus.getMenuItemList(data);\r\n // console.log(\"response\")\r\n // console.log(response.ResponseData.MenuItemList)\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n dispatch({\r\n type: GET_ALL_MENU_SUCCESS,\r\n payload: response.ResponseData.MenuItemList,\r\n });\r\n } else {\r\n dispatch({\r\n type: GET_ALL_MENU_ERROR,\r\n payload: null,\r\n });\r\n }\r\n } catch (error) {\r\n dispatch({\r\n type: GET_ALL_MENU_ERROR,\r\n payload: error,\r\n });\r\n }\r\n};\r\n\r\nexport const uploadBulkMenu =\r\n (data: IPartnerMenuItemRequestModel) => async (dispatch: any) => {\r\n try {\r\n dispatch({\r\n type: BULK_UPLOAD_LOADING,\r\n });\r\n\r\n //let successResponseCount = 0;\r\n //console.log(data)\r\n const res = await apis.Menus.uploadBulkMenuItemList(data);\r\n // console.log(\"res\")\r\n // console.log(res)\r\n //console.log(\"res\", res);\r\n if (res.ResponseType === APIResponseType.Success) {\r\n dispatch({\r\n type: BULK_UPLOAD_SUCCESS,\r\n payload: res,\r\n });\r\n /* successResponseCount++;\r\n console.log(\"success\", successResponseCount);\r\n if (loopCount > 0 && loopCount === successResponseCount) {\r\n const res = await apis.Menus.uploadToPartnerSide(dataSignal);\r\n if (res.ResponseType === APIResponseType.Success) {\r\n dispatch({\r\n type: BULK_UPLOAD_SUCCESS,\r\n payload: res,\r\n });\r\n successResponseCount = 0;\r\n } else {\r\n dispatch({\r\n type: BULK_UPLOAD_ERROR,\r\n payload: res,\r\n });\r\n successResponseCount = 0;\r\n }\r\n } */\r\n } else if (res.ResponseType === APIResponseType.Error) {\r\n dispatch({\r\n type: BULK_UPLOAD_ERROR,\r\n payload: res,\r\n });\r\n } else {\r\n dispatch({\r\n type: BULK_UPLOAD_ERROR,\r\n payload: res,\r\n });\r\n }\r\n\r\n // if (res.ResponseType === APIResponseType.Success) {\r\n // dispatch({\r\n // type:BULK_UPLOAD_SUCCESS,\r\n // payload:res\r\n // })\r\n // }else{\r\n // dispatch({\r\n // type:BULK_UPLOAD_ERROR,\r\n // payload:res\r\n // })\r\n // }\r\n } catch (error) {\r\n dispatch({\r\n type: BULK_UPLOAD_ERROR,\r\n payload: error,\r\n });\r\n }\r\n };\r\n\r\n/* export const uploadBulkMenuToPartner =\r\n (data: IPartnerMenuItemRequestModel) => async (dispatch: any) => {\r\n try {\r\n dispatch({\r\n type: BULK_UPLOAD_LOADING_PARTNER,\r\n });\r\n //console.log(data)\r\n const res = await apis.Menus.uploadToPartnerSide(data);\r\n // console.log(\"res\")\r\n // console.log(res)\r\n // console.log(\"res\")\r\n dispatch({\r\n type: BULK_UPLOAD_SUCCESS_PARTNER,\r\n payload: res,\r\n });\r\n\r\n // if (res.ResponseType === APIResponseType.Success) {\r\n // dispatch({\r\n // type:BULK_UPLOAD_SUCCESS,\r\n // payload:res\r\n // })\r\n // }else{\r\n // dispatch({\r\n // type:BULK_UPLOAD_ERROR,\r\n // payload:res\r\n // })\r\n // }\r\n } catch (error) {\r\n dispatch({\r\n type: BULK_UPLOAD_ERROR_PARTNER,\r\n payload: error,\r\n });\r\n }\r\n }; */\r\n\r\nexport const updateMenu =\r\n (data: IPartnerMenuItemUpdateRequestModel) => async (dispatch: any) => {\r\n try {\r\n dispatch({\r\n type: UPDATE_ITEM_LOAD,\r\n });\r\n\r\n // console.log(\"data\")\r\n // console.log(data)\r\n const response = await apis.Menus.updateItem(data);\r\n // console.log(\"response\")\r\n // console.log(response)\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n dispatch({\r\n type: UPDATE_ITEM_SUCCESS,\r\n payload: response,\r\n });\r\n } else {\r\n dispatch({\r\n type: UPDATE_ITEM_ERROR,\r\n payload: response,\r\n });\r\n }\r\n } catch (error) {\r\n dispatch({\r\n type: UPDATE_ITEM_ERROR,\r\n });\r\n }\r\n };\r\n","import * as React from \"react\";\r\n\r\nimport { useState, useEffect } from \"react\";\r\nimport cx from \"classnames\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport { v4 } from \"uuid\";\r\n\r\n// icons and logos\r\nimport logo from \"../../../../assets/images/logo.jpeg\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\n\r\n// sidebar content\r\nimport { navItems } from \"../../../../config/navItems\";\r\n\r\n// styles\r\nimport styles from \"./SideBar.module.scss\";\r\nimport StatusButton from \"../StatusButton/StatusButton\";\r\n\r\n//redux\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { getStatus, setStatus } from \"../../../../redux/actions/store/status\";\r\nimport { IBaseModel } from \"../../../../interfaces/base\";\r\nimport { API_INTEGRATION_ID } from \"../../../../config\";\r\n\r\nimport { IPartnerStoreRequestModel } from \"../../../../interfaces/store\";\r\nimport { uberStoreStatusCodes } from \"../../../../config/uberStoreStatusCodes\";\r\nimport StatusPopup from \"../StatusPopup/StatusPopup\";\r\nimport { SET_STATUS_RESET } from \"../../../../redux/actions/types\";\r\nimport ConformationPopup from \"../ConformationPopup/ConformationPopup\";\r\nimport { Spinner } from \"reactstrap\";\r\nimport { getMenuList } from \"../../../../redux/actions/menu/menuActions\";\r\nimport { spawn } from \"child_process\";\r\nimport { IStorePartner } from \"../../../../interfaces/configuration\";\r\nimport apis from \"../../../../api/apis\";\r\n\r\nimport { Button } from \"@mui/material\";\r\nimport { IPartnerMenuItemRequestModel } from \"../../../../interfaces/menu\";\r\nimport { APIResponseType } from \"../../../../config/enumApiResponseTypes\";\r\nimport LoadingComponent from \"../../../loadingComponent/LoadingComponent\";\r\n\r\ninterface IProps {\r\n toggleSidebar: () => void;\r\n expanded: boolean;\r\n}\r\n\r\nconst SideBar: React.FC = ({ toggleSidebar, expanded }) => {\r\n const [showPopup, setShowPopup] = useState(false);\r\n const [showconformation, setShowconformation] = useState(false);\r\n const [reason, setReason] = useState(\"\");\r\n const [pauseUntil, setPauseUntil] = useState(\"\");\r\n const [timeValidator, setTimeValidator] = useState(false);\r\n const [reasonValidator, setReasonValidator] = useState(false);\r\n\r\n const [partnerList, setPartnerList] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n //console.log(partnerList);\r\n\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n const { loading, status } = useSelector(\r\n (state: any) => state.getStoreStatusReducer\r\n );\r\n // console.log(\"current status\");\r\n // console.log(status);\r\n\r\n const store = useSelector((state: any) => state.setStoreStatusReducer);\r\n const { user } = useSelector((state: any) => state.authentication);\r\n //const auth = useSelector((state: any) => state.authentication);\r\n\r\n //console.log(auth);\r\n const getPartnerStoreList = async () => {\r\n try {\r\n // setIsLoading(true);\r\n const requestModel: IBaseModel = {\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n const response = await apis.configuration.getStorePartners(requestModel);\r\n\r\n setPartnerList(response.ResponseData.Storepartners);\r\n\r\n //setIsLoading(false);\r\n } catch (error) {\r\n console.log(error);\r\n //setIsLoading(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getPartnerStoreList();\r\n }, []);\r\n\r\n useEffect(() => {}, []);\r\n\r\n useEffect(() => {\r\n const data: IBaseModel = {\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n\r\n //console.log(\"before\")\r\n dispatch(getStatus(data));\r\n //console.log(\"After\")\r\n if (store.isUpdated) {\r\n history.push(\"/BLXOrderHub/orders\");\r\n dispatch({ type: SET_STATUS_RESET });\r\n }\r\n }, [\r\n dispatch,\r\n history,\r\n store.isUpdated,\r\n user?.CompanyKey,\r\n user?.LocationKey,\r\n user?.UserKey,\r\n user?.EnvironmentName,\r\n ]);\r\n\r\n const storeStatusHandler = async () => {\r\n if (status.StoreStatusCode === \"PAUSED\") {\r\n // console.log(\"resume store\");\r\n setShowconformation(true);\r\n } else {\r\n setShowPopup(true);\r\n }\r\n };\r\n\r\n const submitResume = () => {\r\n let resume: IPartnerStoreRequestModel = {\r\n StoreStatusCode: uberStoreStatusCodes.storeOnline,\r\n StorePausedUntilTime: \"\",\r\n StorePauseReason: \"\",\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n dispatch(setStatus(resume));\r\n setShowconformation(false);\r\n };\r\n\r\n //close popup\r\n const handleClosePopup = () => {\r\n setPauseUntil(\"\");\r\n setReason(\"\");\r\n setShowPopup(false);\r\n setTimeValidator(false);\r\n setReasonValidator(false);\r\n };\r\n\r\n //pause store\r\n const pauseStore = () => {\r\n //console.log(\"pause clicked\");\r\n let pause: IPartnerStoreRequestModel = {\r\n StoreStatusCode: uberStoreStatusCodes.storePaused,\r\n StorePausedUntilTime: pauseUntil,\r\n StorePauseReason: reason,\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n dispatch(setStatus(pause));\r\n setShowPopup(false);\r\n };\r\n\r\n //time and reason\r\n const timeHandler = (e: any) => {\r\n //console.log(newDateObj.toISOString());\r\n if (e.target.value === \"60\") {\r\n setPauseUntil(\"\");\r\n //console.log(\"60\");\r\n // console.log(pauseUntil);\r\n } else {\r\n //setting pause time\r\n var oldDateObj = new Date();\r\n var newDateObj = new Date();\r\n let minutesToAdd = e.target.value * 60 * 1000;\r\n newDateObj.setTime(oldDateObj.getTime() + minutesToAdd);\r\n\r\n setPauseUntil(newDateObj.toISOString());\r\n }\r\n\r\n setTimeValidator(true);\r\n };\r\n\r\n const reasonHandler = (e: any) => {\r\n //console.log(e.target.value);\r\n setReason(e.target.value);\r\n setReasonValidator(true);\r\n };\r\n\r\n const handleMenuSync = () => {\r\n const data: IBaseModel = {\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n dispatch(getMenuList(data));\r\n };\r\n\r\n const syncShopifyMenu = async () => {\r\n try {\r\n setIsLoading(true);\r\n const data: IPartnerMenuItemRequestModel = {\r\n IsSpecialInstructionEnable: false,\r\n PartnerMenuItemList: [],\r\n FilteredMenuItemCount: 0,\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n\r\n const response = await apis.Menus.syncShopifyMenu(data);\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n window.location.reload();\r\n }\r\n setIsLoading(false);\r\n } catch (error) {\r\n setIsLoading(false);\r\n }\r\n };\r\n if (isLoading) {\r\n return ;\r\n }\r\n return (\r\n
\r\n
\r\n \"Company\r\n \r\n
\r\n
\r\n {navItems.map((item) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n {/* X-report */}\r\n {/* \r\n Sales\r\n */}\r\n\r\n {user !== undefined ? (\r\n user && user.IsUrbanPiper === true ? (\r\n <>\r\n \r\n Enable/Disable Store\r\n \r\n \r\n ) : null\r\n ) : null}\r\n\r\n {/* sync menu button */}\r\n {partnerList.length > 0 && (\r\n <>\r\n {partnerList.map((partner: IStorePartner) =>\r\n partner.OrderTypeName === \"Shopify\" ? (\r\n \r\n ) : null\r\n )}\r\n \r\n )}\r\n\r\n {/* {user !== undefined && user.IsUrbanPiper === true ? (\r\n <>\r\n \r\n Enable/Disable Store\r\n \r\n \r\n ) : null} */}\r\n\r\n {/* store status button */}\r\n\r\n
\r\n {showconformation && (\r\n <>\r\n setShowconformation(false)}\r\n />\r\n \r\n )}\r\n\r\n {showPopup && (\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n }\r\n reasonContent={\r\n <>\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n }\r\n />\r\n )}\r\n
\r\n
\r\n\r\n
\r\n {loading ? (\r\n \r\n ) : status === undefined ||\r\n (status && status.StoreStatusCode === null) ||\r\n (status && status.StoreStatusCode === undefined) ||\r\n Object.entries(status).length === 0 ? (\r\n

Unable To Locate Store

\r\n ) : (\r\n <>\r\n \r\n \r\n )}\r\n
\r\n\r\n {!loading && status.StoreStatusCode === \"PAUSED\" ? (\r\n <>\r\n
\r\n STORE IS PAUSED \r\n
\r\n \r\n ) : (\r\n <>\r\n
\r\n ACCEPTING ORDERS \r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default SideBar;\r\nfunction state(\r\n state: any,\r\n arg1: (rootReducer: unknown) => any\r\n): { authentication: any } {\r\n throw new Error(\"Function not implemented.\");\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport userImg from \"../../assets/images/icon-user.png\";\r\nimport { getPathName } from \"../../config/navItems\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { logoutUser } from \"../../redux/actions/authentication/authentication\";\r\nimport Chip from \"@mui/material/Chip\";\r\nimport Avatar from \"@mui/material/Avatar\";\r\nimport Button from \"@mui/material/Button\";\r\n\r\nimport Popover from \"@mui/material/Popover\";\r\n\r\n// components\r\nimport SideBar from \"./components/sidebar/SideBar\";\r\n\r\n// icons\r\nimport MenuIcon from \"@material-ui/icons/Menu\";\r\n\r\n// styles\r\nimport styles from \"./Header.module.scss\";\r\n\r\nconst Header: React.FC = () => {\r\n const { pathname } = useLocation();\r\n\r\n const dispatch = useDispatch();\r\n\r\n const userId = useSelector((state: any) => state.authentication.user?.UserId);\r\n /* const environmentName = useSelector(\r\n (state: any) => state.authentication.user?.EnvironmentName\r\n ); */\r\n const userCompanyName = useSelector(\r\n (state: any) => state.authentication.user?.CompanyName\r\n );\r\n\r\n //console.log(\"User Id: \" + userId);\r\n\r\n const [expanded, setExpanded] = useState(false);\r\n const [isOnline, setIsOnline] = useState(true);\r\n\r\n const [anchorEl, setAnchorEl] = React.useState(\r\n null\r\n );\r\n\r\n const handleClick = (event: React.MouseEvent) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n const handleLogout = () => {\r\n setAnchorEl(null);\r\n dispatch(logoutUser());\r\n };\r\n\r\n const open = Boolean(anchorEl);\r\n const id = open ? \"simple-popover\" : undefined;\r\n\r\n const toggleSidebar = () => setExpanded(!expanded);\r\n\r\n window.addEventListener(\r\n \"offline\",\r\n function (e) {\r\n setIsOnline(false);\r\n },\r\n false\r\n );\r\n\r\n window.addEventListener(\r\n \"online\",\r\n function (e) {\r\n setIsOnline(true);\r\n },\r\n false\r\n );\r\n\r\n return pathname === \"/login\" ? null : (\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n {getPathName(pathname).data?.name} - {userCompanyName}\r\n \r\n {/*
\r\n \r\n {isOnline ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
*/}\r\n \r\n\r\n \r\n \r\n \r\n {/* \r\n \r\n {userId}\r\n \r\n \r\n \r\n dispatch(logoutUser())}>\r\n Logout\r\n \r\n \r\n */}\r\n
\r\n );\r\n};\r\n\r\nexport default Header;\r\n","import * as React from \"react\";\r\n\r\nimport styles from \"./MenuPage.module.scss\";\r\n\r\nimport { useState, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n\r\nimport { Alert, AlertTitle, Button } from \"@mui/material\";\r\n\r\n//data table\r\nimport { MDBDataTable } from \"mdbreact\";\r\nimport { IBaseModel } from \"../../interfaces/base\";\r\nimport { API_INTEGRATION_ID } from \"../../config\";\r\nimport {\r\n getMenuList,\r\n updateMenu,\r\n uploadBulkMenu,\r\n //uploadBulkMenuToPartner,\r\n} from \"../../redux/actions/menu/menuActions\";\r\nimport {\r\n IPartnerMenuItem,\r\n IPartnerMenuItemRequestModel,\r\n IPartnerMenuItemUpdateRequestModel,\r\n} from \"../../interfaces/menu\";\r\n\r\nimport LoadingComponent from \"../loadingComponent/LoadingComponent\";\r\n//import PartnerMenu from \"./components/partnerMenuPopup/PartnerMenu\";\r\nimport { useHistory } from \"react-router\";\r\nimport {\r\n BULK_UPLOAD_RESET,\r\n UPDATE_ITEM_RESET,\r\n} from \"../../redux/actions/types\";\r\n\r\nimport { UpgradeOutlined } from \"@mui/icons-material\";\r\n//import { borderRadius } from \"@mui/system\";\r\n//import { CircularProgress, FormGroup } from \"@material-ui/core\";\r\n//import ToggleSwitch from \"./components/toggleSwitch/ToggleSwitch\";\r\nimport { Spinner } from \"reactstrap\";\r\n//import axios from \"axios\";\r\nimport apis from \"../../api/apis\";\r\n//import { start } from \"repl\";\r\n//import { APIResponseType } from \"../../config/enumApiResponseTypes\";\r\n\r\n/* const navItems = [\r\n {\r\n orderType: \"UberEats\",\r\n orderTypeName: \"Uber Eats\",\r\n },\r\n {\r\n orderType: \"PickMeFood\",\r\n orderTypeName: \"Pickme Food\",\r\n },\r\n {\r\n orderType: \"BLXECommerce\",\r\n orderTypeName: \"BLX ECommerce\",\r\n },\r\n]; */\r\n\r\nlet initialLoaded = true;\r\n\r\nconst MenuPage = (): JSX.Element => {\r\n //const [toggleUberMenu, settoggleUberMenu] = useState(false)\r\n //const [newMenuList, setnewMenuList] = useState([])\r\n // const [isPartnerAvailable, setisPartnerAvailable] = useState(false)\r\n // const [isDiscontinuedItem, setisDiscontinuedItem] = useState(false)\r\n\r\n //let updateItemList: any = [];\r\n const [updateItemList, setupdateItemList] = useState([]);\r\n const [isItemsLoading, setIsItemsLoading] = useState(false);\r\n //console.log(\"updateItemList\");\r\n // console.log(\"updateItemList \" + isItemsLoading);\r\n\r\n //const [discontinueChanged, setdiscontinueChanged] = useState(false);\r\n //const [partnerChanged, setpartnerChanged] = useState(false);\r\n\r\n //const [itemCode, setItemCode] = useState(\"\");\r\n const [itemCodeDiscontinue, setItemCodeDiscontinue] = useState(\"\");\r\n\r\n const [isProcessing, setisProcessing] = useState(false);\r\n\r\n const [isAllSelected, setIsAllSelected] = useState(false);\r\n // const [isDisabled, setisDisabled] = useState();\r\n //console.log(isAllSelected)\r\n\r\n const [itemsToDisplay, setitemsToDisplay] = useState<\r\n IPartnerMenuItem[] | undefined\r\n >();\r\n //const [itemsToUpload, setitemsToUpload] = useState();\r\n //console.log(\"itemsToDisplay\");\r\n // console.table(itemsToDisplay);\r\n\r\n //const [bulkUploadAll, setBulkUploadAll] = useState([]);\r\n\r\n // console.log(\"bulkUploadAll\")\r\n // console.log(bulkUploadAll)\r\n\r\n const history = useHistory();\r\n\r\n const dispatch = useDispatch();\r\n const { isAllMenuLoading, menuItems } = useSelector(\r\n (state: any) => state.getAllMenuReducer\r\n );\r\n //console.log(menuItems);\r\n // console.log(\"menuItems\")\r\n // console.log(menuItems.length)\r\n\r\n // const filterItems = ()=>{\r\n\r\n // setallItems((items:any)=>\r\n // items.map((item:any)=>({\r\n // ...item,\r\n // ItemImage:null\r\n // })))\r\n // }bulkUploadPartnerReducer\r\n\r\n const { isMenuUploaded, isMenuUploading, isUploadFailed } = useSelector(\r\n (state: any) => state.bulkUploadReducer\r\n );\r\n\r\n // const { isMenuUploadedPartner, isMenuUploadingPartner } = useSelector(\r\n // (state: any) => state.bulkUploadPartnerReducer\r\n // );\r\n //console.log(\"bulkUploaded\");\r\n //console.log(isMenuUploaded);\r\n\r\n const { isMenuUpdated, updatedItem, isUpdating, updateFailed } = useSelector(\r\n (state: any) => state.updateMenuReducer\r\n );\r\n const { user } = useSelector((state: any) => state.authentication);\r\n\r\n // const getMenuHandler = () => {\r\n // const data: IBaseModel = {\r\n // RequestId: API_INTEGRATION_ID,\r\n // IntegrationId: API_INTEGRATION_ID,\r\n // ApiKey: \"\",\r\n // UID: {\r\n // CompanyKey: user?.CompanyKey ?? 0,\r\n // LocationKey: user?.LocationKey ?? 0,\r\n // UserKey: user?.UserKey ?? 0,\r\n // },\r\n // RequestingUser: 0,\r\n // RequestingId: \"\",\r\n // Schema: \"\",\r\n // ValidationMessages: [],\r\n // IsApprovedStatus: 0,\r\n // IsActive: 0,\r\n // };\r\n // dispatch(getMenuList(data));\r\n // };\r\n\r\n const filterMenuToUpload = async () => {\r\n // console.log(\"1\");\r\n setIsItemsLoading(true);\r\n\r\n //let newFilteredList: any = [];\r\n const data: IBaseModel = {\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n\r\n const { ResponseData } = await apis.Menus.getMenuItemList(data);\r\n\r\n //const newList = ResponseData.MenuItemList.forEach((x)=>x.ItemImage === null)\r\n setitemsToDisplay(ResponseData.MenuItemList);\r\n\r\n setIsItemsLoading(false);\r\n\r\n // if (ResponseData.MenuItemList.length > 0) {\r\n // for (let index = 0; index < ResponseData.MenuItemList.length; index++) {\r\n // let newItem: IPartnerMenuItem = {\r\n // ItemKey: ResponseData.MenuItemList[index].ItemKey,\r\n // ItemName: ResponseData.MenuItemList[index].ItemName,\r\n // ItemCode: ResponseData.MenuItemList[index].ItemCode,\r\n // ItemShortName: ResponseData.MenuItemList[index].ItemShortName,\r\n // CategoryName: ResponseData.MenuItemList[index].CategoryName,\r\n // CategoryCode: ResponseData.MenuItemList[index].CategoryCode,\r\n // ItemImageUrl: ResponseData.MenuItemList[index].ItemImageUrl,\r\n // ItemImage: ResponseData.MenuItemList[index].ItemImage,\r\n // // ItemImage: null,\r\n // Description: ResponseData.MenuItemList[index].Description,\r\n // SalesPrice: ResponseData.MenuItemList[index].SalesPrice,\r\n // IsDiscontinued: ResponseData.MenuItemList[index].IsDiscontinued,\r\n // IsAgeVerification: ResponseData.MenuItemList[index].IsAgeVerification,\r\n // IsPartnerItem: ResponseData.MenuItemList[index].IsPartnerItem,\r\n // };\r\n\r\n // newFilteredList.push(newItem);\r\n\r\n // // console.log(\"pushed\")\r\n // }\r\n\r\n // //console.log(\"newList\")\r\n\r\n // // setBulkUpload(newFilteredList);\r\n // setitemsToDisplay(newFilteredList);\r\n // // console.log(\"display length\")\r\n // // console.log(itemsToDisplay.length)\r\n // }\r\n\r\n //console.log(bulkUpload)\r\n // menuItemArray.push(filterMenuToUpload)\r\n };\r\n\r\n //upload all menu\r\n // const bulkUploadAllMenu = async () => {\r\n // let allMenuList: any = [];\r\n // const data: IBaseModel = {\r\n // RequestId: API_INTEGRATION_ID,\r\n // IntegrationId: API_INTEGRATION_ID,\r\n // ApiKey: \"\",\r\n // UID: {\r\n // CompanyKey: user?.CompanyKey ?? 0,\r\n // LocationKey: user?.LocationKey ?? 0,\r\n // UserKey: user?.UserKey ?? 0,\r\n // },\r\n // RequestingUser: 0,\r\n // RequestingId: \"\",\r\n // Schema: \"\",\r\n // ValidationMessages: [],\r\n // IsApprovedStatus: 0,\r\n // IsActive: 0,\r\n // };\r\n\r\n // const { ResponseData } = await apis.Menus.getMenuItemList(data);\r\n\r\n // if (ResponseData.MenuItemList.length > 0) {\r\n // for (let index = 0; index < ResponseData.MenuItemList.length; index++) {\r\n // let newItem: IPartnerMenuItem = {\r\n // ItemKey: ResponseData.MenuItemList[index].ItemKey,\r\n // ItemName: ResponseData.MenuItemList[index].ItemName,\r\n // ItemCode: ResponseData.MenuItemList[index].ItemCode,\r\n // ItemShortName: ResponseData.MenuItemList[index].ItemShortName,\r\n // CategoryName: ResponseData.MenuItemList[index].CategoryName,\r\n // CategoryCode: ResponseData.MenuItemList[index].CategoryCode,\r\n // ItemImageUrl: ResponseData.MenuItemList[index].ItemImageUrl,\r\n // ItemImage: null,\r\n // Description: ResponseData.MenuItemList[index].Description,\r\n // SalesPrice: ResponseData.MenuItemList[index].SalesPrice,\r\n // IsDiscontinued: ResponseData.MenuItemList[index].IsDiscontinued,\r\n // IsAgeVerification: ResponseData.MenuItemList[index].IsAgeVerification,\r\n // IsPartnerItem: true,\r\n // };\r\n\r\n // allMenuList.push(newItem);\r\n\r\n // //console.log(\"pushed\")\r\n // }\r\n // }\r\n // //console.log(allMenuList)\r\n // };\r\n\r\n // useEffect(() => {\r\n // if (initialLoaded) {\r\n // const data: IBaseModel = {\r\n // RequestId: API_INTEGRATION_ID,\r\n // IntegrationId: API_INTEGRATION_ID,\r\n // ApiKey: \"\",\r\n // UID: {\r\n // CompanyKey: user?.CompanyKey ?? 0,\r\n // LocationKey: user?.LocationKey ?? 0,\r\n // UserKey: user?.UserKey ?? 0,\r\n // EnvironmentName: user?.EnvironmentName ?? 0,\r\n // IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n // },\r\n // RequestingUser: 0,\r\n // RequestingId: \"\",\r\n // Schema: \"\",\r\n // ValidationMessages: [],\r\n // IsApprovedStatus: 0,\r\n // IsActive: 0,\r\n // };\r\n // dispatch(getMenuList(data));\r\n\r\n // initialLoaded = false;\r\n // }\r\n // }, [\r\n // dispatch,\r\n // user?.CompanyKey,\r\n // user?.EnvironmentName,\r\n // user?.LocationKey,\r\n // user?.UserKey,\r\n // ]);\r\n\r\n useEffect(() => {\r\n if (isMenuUploaded) {\r\n setTimeout(() => {\r\n dispatch({ type: BULK_UPLOAD_RESET });\r\n window.location.reload();\r\n }, 3000);\r\n // console.log(\"BULK MENU UPLOADED\");\r\n //Menu Uploaded\r\n\r\n // dispatch({ type: BULK_UPLOAD_RESET_PARTNER });\r\n // history.push(\"/BLXOrderHub/menus\");\r\n //window.location.reload();\r\n // return ;\r\n }\r\n\r\n if (isMenuUpdated) {\r\n // console.log(\"redirecting to menu page\");\r\n // history.push(\"/BLXOrderHub/menus\")\r\n\r\n setTimeout(() => {\r\n dispatch({ type: UPDATE_ITEM_RESET });\r\n window.location.reload();\r\n }, 3000);\r\n\r\n // return ;\r\n }\r\n\r\n if (updateFailed) {\r\n setTimeout(() => {\r\n dispatch({ type: UPDATE_ITEM_RESET });\r\n }, 5000);\r\n }\r\n\r\n if (isUploadFailed) {\r\n setTimeout(() => {\r\n dispatch({ type: BULK_UPLOAD_RESET });\r\n }, 5000);\r\n }\r\n }, [\r\n isMenuUploaded,\r\n isMenuUpdated,\r\n dispatch,\r\n history,\r\n isMenuUploading,\r\n isUploadFailed,\r\n updateFailed,\r\n ]);\r\n //useeffect start\r\n useEffect(() => {\r\n filterMenuToUpload();\r\n }, []);\r\n\r\n // const menuItems:{ id: string, name: string,price:string,image:string,inStock:any }[] = [\r\n // {\r\n // id:\"1\",\r\n // name: \"Burger\",\r\n // price:\"200\",\r\n // image:\"https://img.traveltriangle.com/blog/wp-content/uploads/2018/12/cover-for-street-food-in-sydney.jpg\",\r\n // inStock: 0\r\n // },\r\n // {\r\n // id:\"2\",\r\n // name: \"Fried rice\",\r\n // price:\"200\",\r\n // image:\"https://img.traveltriangle.com/blog/wp-content/uploads/2018/12/cover-for-street-food-in-sydney.jpg\",\r\n // inStock: 1\r\n // },\r\n // {\r\n // id:\"3\",\r\n // name: \"Noodles\",\r\n // price:\"200\",\r\n // image:\"https://img.traveltriangle.com/blog/wp-content/uploads/2018/12/cover-for-street-food-in-sydney.jpg\",\r\n // inStock:1\r\n // },\r\n // {\r\n // id:\"4\",\r\n // name: \"Soup\",\r\n // price:\"200\",\r\n // image:\"https://img.traveltriangle.com/blog/wp-content/uploads/2018/12/cover-for-street-food-in-sydney.jpg\",\r\n // inStock: 0\r\n // },{\r\n // id:\"5\",\r\n // name: \"Desert\",\r\n // price:\"200\",\r\n // image:\"https://img.traveltriangle.com/blog/wp-content/uploads/2018/12/cover-for-street-food-in-sydney.jpg\",\r\n // inStock:0\r\n // }\r\n\r\n // ]\r\n\r\n // const [selectedNavItem, setSelectedNavItem] = useState(navItems[0]);\r\n // const [checked, setChecked] = React.useState([\"wifi\"]);\r\n\r\n // const handleToggle = (value: string) => () => {\r\n // const currentIndex = checked.indexOf(value);\r\n // const newChecked = [...checked];\r\n\r\n // if (currentIndex === -1) {\r\n // newChecked.push(value);\r\n // } else {\r\n // newChecked.splice(currentIndex, 1);\r\n // }\r\n\r\n // setChecked(newChecked);\r\n // };\r\n\r\n const handleIsAllSeleted = (e: any) => {\r\n // let val = e.target.checked;\r\n //console.log(\"all select clicked\")\r\n //let allMenuList: any = [];\r\n const { checked } = e.target;\r\n setIsAllSelected(checked);\r\n // console.log(checked);\r\n\r\n // setTodo((todos) =>\r\n // todos.map((todo) => ({\r\n // ...todo,\r\n // completed: checked,\r\n // }))\r\n // );\r\n\r\n setitemsToDisplay((items: IPartnerMenuItem[] | undefined) =>\r\n items?.map((item: IPartnerMenuItem) => ({\r\n ...item,\r\n IsPartnerItem: checked,\r\n }))\r\n );\r\n\r\n // if (val === true) {\r\n\r\n // //const element = array[index];\r\n // if (itemsToDisplay.length > 0) {\r\n // for (let index = 0; index < itemsToDisplay.length; index++) {\r\n // let newItem: IPartnerMenuItem = {\r\n // ItemKey: itemsToDisplay[index].ItemKey,\r\n // ItemName: itemsToDisplay[index].ItemName,\r\n // ItemCode: itemsToDisplay[index].ItemCode,\r\n // ItemShortName: itemsToDisplay[index].ItemShortName,\r\n // CategoryName: itemsToDisplay[index].CategoryName,\r\n // CategoryCode: itemsToDisplay[index].CategoryCode,\r\n // ItemImageUrl: itemsToDisplay[index].ItemImageUrl,\r\n // ItemImage: null,\r\n // Description: itemsToDisplay[index].Description,\r\n // SalesPrice: itemsToDisplay[index].SalesPrice,\r\n // IsDiscontinued: itemsToDisplay[index].IsDiscontinued,\r\n // IsAgeVerification: itemsToDisplay[index].IsAgeVerification,\r\n // IsPartnerItem: true,\r\n // };\r\n\r\n // allMenuList.push(newItem);\r\n\r\n // //console.log(\"pushed\")\r\n // }\r\n // setitemsToDisplay(allMenuList)\r\n // console.log(\"all true\")\r\n // console.log(allMenuList)\r\n // console.log(itemsToDisplay)\r\n\r\n // }\r\n // }else if(val === false){\r\n // if (itemsToDisplay.length > 0) {\r\n // for (let index = 0; index < itemsToDisplay.length; index++) {\r\n // let newItem: IPartnerMenuItem = {\r\n // ItemKey: itemsToDisplay[index].ItemKey,\r\n // ItemName: itemsToDisplay[index].ItemName,\r\n // ItemCode: itemsToDisplay[index].ItemCode,\r\n // ItemShortName: itemsToDisplay[index].ItemShortName,\r\n // CategoryName: itemsToDisplay[index].CategoryName,\r\n // CategoryCode: itemsToDisplay[index].CategoryCode,\r\n // ItemImageUrl: itemsToDisplay[index].ItemImageUrl,\r\n // ItemImage: null,\r\n // Description: itemsToDisplay[index].Description,\r\n // SalesPrice: itemsToDisplay[index].SalesPrice,\r\n // IsDiscontinued: itemsToDisplay[index].IsDiscontinued,\r\n // IsAgeVerification: itemsToDisplay[index].IsAgeVerification,\r\n // IsPartnerItem: false,\r\n // };\r\n\r\n // allMenuList.push(newItem);\r\n\r\n // //console.log(\"pushed\")\r\n // }\r\n // setitemsToDisplay(allMenuList)\r\n // console.log(\"all false\")\r\n // console.log(allMenuList)\r\n // console.log(itemsToDisplay)\r\n\r\n // }\r\n\r\n // }\r\n //console.log(val)\r\n // setIsAllSelected(val);\r\n // if (val === false) {\r\n // window.location.reload();\r\n // }\r\n\r\n // if (val === true) {\r\n // setIsAllSelected(true)\r\n // console.log(isAllSelected)\r\n // }else{\r\n // setIsAllSelected(false)\r\n // console.log(isAllSelected)\r\n\r\n // }\r\n };\r\n\r\n const handleDiscontinueChange = (\r\n e: any,\r\n item: IPartnerMenuItem,\r\n itemCode: any\r\n ) => {\r\n const { checked } = e.target;\r\n\r\n if (updateItemList.includes(item.ItemCode)) {\r\n //console.log(\"has\");\r\n setupdateItemList(\r\n updateItemList.filter((singleItem: any) => singleItem !== item.ItemCode)\r\n );\r\n } else {\r\n //console.log(\"add\");\r\n setupdateItemList((prevLists: any) => [...prevLists, item.ItemCode]);\r\n }\r\n\r\n // let filteredMenu = menuItems.filter((items: IPartnerMenuItem) => {\r\n // return items.ItemCode === item.ItemCode;\r\n // });\r\n\r\n // if (filteredMenu[0].IsDiscontinued !== checked) {\r\n\r\n // setItemCodeDiscontinue(item.ItemCode);\r\n // setupdateItemList((prevLists: any) => [...prevLists, itemCode]);\r\n\r\n // } else {\r\n\r\n // setItemCodeDiscontinue(\"\");\r\n\r\n // let targetIndex = updateItemList.indexOf(itemCode);\r\n // updateItemList.splice(targetIndex, 1);\r\n\r\n // }\r\n\r\n // if (item.IsDiscontinued === checked) {\r\n // setItemCodeDiscontinue(item.ItemCode);\r\n // } else {\r\n // setItemCodeDiscontinue(\"\");\r\n // }\r\n // console.log(checked);\r\n // console.log(item.ItemCode);\r\n setitemsToDisplay((items: any) =>\r\n items.map((singleItem: any) =>\r\n singleItem.ItemCode === item.ItemCode\r\n ? {\r\n ...singleItem,\r\n IsDiscontinued: checked,\r\n }\r\n : singleItem\r\n )\r\n );\r\n\r\n //setItemCodeDiscontinue(item.ItemCode);\r\n // if (checked) {\r\n // setItemCodeDiscontinue(item.ItemCode);\r\n // } else if (!checked) {\r\n // setItemCodeDiscontinue(\"\");\r\n // }\r\n // setItemCodeDiscontinue(item.ItemCode);\r\n // if (discontinueChanged === false) {\r\n // setdiscontinueChanged(true);\r\n // setItemCodeDiscontinue(item.ItemCode);\r\n // console.log(itemsToDisplay);\r\n // } else {\r\n // setdiscontinueChanged(false);\r\n // setItemCodeDiscontinue(\"\");\r\n // }\r\n // console.log(\"change\")\r\n // let value = e.target.checked\r\n //console.log(value)\r\n // setdiscontinueChanged(!discontinueChanged);\r\n // console.log(discontinueChanged);\r\n\r\n //console.log(discontinueChanged)\r\n };\r\n\r\n const handlePartnerChange = (\r\n e: any,\r\n itemCode: string,\r\n item: IPartnerMenuItem\r\n ) => {\r\n // console.log(\"change\");\r\n // let value = e.target.checked;\r\n // console.log(value)\r\n\r\n const { checked } = e.target;\r\n // console.log(checked);\r\n\r\n setitemsToDisplay((items: IPartnerMenuItem[] | undefined) =>\r\n items?.map((singleItem: IPartnerMenuItem) =>\r\n singleItem.ItemCode === item.ItemCode\r\n ? {\r\n ...singleItem,\r\n IsPartnerItem: checked,\r\n }\r\n : singleItem\r\n )\r\n );\r\n\r\n // if (value) {\r\n // for (let index = 0; index < itemsToDisplay.length; index++) {\r\n // if (itemsToDisplay[index].ItemCode === item.ItemCode) {\r\n\r\n // console.log(itemsToDisplay[index].ItemCode)\r\n // console.log(item.ItemCode)\r\n // console.log(\"deleting\")\r\n // itemsToDisplay.splice(index, 1);\r\n\r\n // console.log(\"making item false\")\r\n // let newItem: IPartnerMenuItem = {\r\n // ItemKey: item.ItemKey,\r\n // ItemName: item.ItemName,\r\n // ItemCode: item.ItemCode,\r\n // ItemShortName: item.ItemShortName,\r\n // CategoryName: item.CategoryName,\r\n // CategoryCode: item.CategoryCode,\r\n // ItemImageUrl: item.ItemImageUrl,\r\n // ItemImage: null,\r\n // Description: item.Description,\r\n // SalesPrice: item.SalesPrice,\r\n // IsDiscontinued: item.IsDiscontinued,\r\n // IsAgeVerification: item.IsAgeVerification,\r\n // IsPartnerItem: true,\r\n // };\r\n // console.log(\"adding false item\")\r\n // itemsToDisplay.splice(index, 0, newItem);\r\n // console.log(\"added false item\")\r\n // }\r\n\r\n // }\r\n\r\n // } else {\r\n\r\n // for (let index = 0; index < itemsToDisplay.length; index++) {\r\n // if (itemsToDisplay[index].ItemCode === item.ItemCode) {\r\n\r\n // console.log(itemsToDisplay[index].ItemCode)\r\n // console.log(item.ItemCode)\r\n // console.log(\"deleting\")\r\n // itemsToDisplay.splice(index, 1);\r\n\r\n // console.log(\"making item true\")\r\n // let newItem: IPartnerMenuItem = {\r\n // ItemKey: item.ItemKey,\r\n // ItemName: item.ItemName,\r\n // ItemCode: item.ItemCode,\r\n // ItemShortName: item.ItemShortName,\r\n // CategoryName: item.CategoryName,\r\n // CategoryCode: item.CategoryCode,\r\n // ItemImageUrl: item.ItemImageUrl,\r\n // ItemImage: null,\r\n // Description: item.Description,\r\n // SalesPrice: item.SalesPrice,\r\n // IsDiscontinued: item.IsDiscontinued,\r\n // IsAgeVerification: item.IsAgeVerification,\r\n // IsPartnerItem: false,\r\n // };\r\n // console.log(\"adding true item\")\r\n // itemsToDisplay.splice(index, 0, newItem);\r\n // console.log(\"added true item\")\r\n // }\r\n\r\n // }\r\n\r\n // }\r\n\r\n // if (partnerChanged === false) {\r\n // setItemCode(itemCode)\r\n // setpartnerChanged(true)\r\n // }else{\r\n // setpartnerChanged(false);\r\n\r\n // setItemCode(\"\")\r\n // }\r\n\r\n // console.log(partnerChanged)\r\n // if (partnerChanged) {\r\n // console.log(\"changed\")\r\n // setItemCode(itemCode)\r\n // }else{\r\n // console.log(\"notchanged\")\r\n // setItemCode(\"\")\r\n // }\r\n\r\n // console.log(itemCode)\r\n };\r\n const setProducts = () => {\r\n const data: { columns: any; rows: any } = {\r\n columns: [\r\n {\r\n label: \"Item Image\",\r\n field: \"ItemImage\",\r\n sort: \"asc\",\r\n width: 50,\r\n },\r\n {\r\n label: \"Item Code\",\r\n field: \"ItemCode\",\r\n sort: \"asc\",\r\n width: 50,\r\n },\r\n {\r\n label: \"Item Name\",\r\n field: \"ItemShortName\",\r\n sort: \"asc\",\r\n width: 50,\r\n },\r\n {\r\n label: \"Category\",\r\n field: \"CategoryName\",\r\n sort: \"asc\",\r\n width: 50,\r\n },\r\n\r\n {\r\n label: \"Sales Price\",\r\n field: \"SalesPrice\",\r\n sort: \"asc\",\r\n width: 50,\r\n },\r\n {\r\n label: \"Sold Out\",\r\n field: \"IsDiscontinued\",\r\n sort: \"asc\",\r\n width: 50,\r\n },\r\n {\r\n label: (\r\n <>\r\n

Is Partner Item

\r\n \r\n handleIsAllSeleted(e)}\r\n className={isAllSelected ? styles.switch_on : styles.switch}\r\n />\r\n
\r\n \r\n \r\n ),\r\n field: \"IsPartnerItem\",\r\n sort: \"asc\",\r\n width: 50,\r\n },\r\n {\r\n label: \"Action\",\r\n field: \"action\",\r\n width: 50,\r\n },\r\n ],\r\n rows: [],\r\n };\r\n\r\n itemsToDisplay !== undefined &&\r\n itemsToDisplay.forEach((item: IPartnerMenuItem) => {\r\n //setisPartnerAvailable(item.IsPartnerItem)\r\n //setisDiscontinuedItem(item.IsDiscontinued)\r\n // if (item.ItemImageUrl !== null) {\r\n // console.log(item.ItemImageUrl);\r\n // }\r\n // console.log(item.ItemImageUrl);\r\n //const price = item.SalesPrice.toFixed(2)\r\n // console.log(price)\r\n data.rows.push({\r\n ItemImage:\r\n item.ItemImageUrl === null ? (\r\n

No Image

\r\n ) : (\r\n \r\n //

{item.ItemImageUrl}

\r\n ),\r\n ItemCode: item.ItemCode,\r\n CategoryName:\r\n item.CategoryName === null ?

No Data

: item.CategoryName,\r\n ItemShortName:\r\n item.ItemShortName === null ?

No Data

: item.ItemShortName,\r\n // IsDiscontinued: item.IsDiscontinued ? (\r\n //
\r\n // handleDiscontinueChange(e, item.ItemCode)}\r\n // />{\" \"}\r\n // \r\n // ) : (\r\n //
\r\n // handleDiscontinueChange(e, item.ItemCode)}\r\n // />{\" \"}\r\n // \r\n // ),\r\n IsDiscontinued: (\r\n \r\n \r\n handleDiscontinueChange(e, item, item.ItemCode)\r\n }\r\n />\r\n
\r\n \r\n ),\r\n IsPartnerItem: (\r\n \r\n handlePartnerChange(e, item.ItemCode, item)}\r\n />\r\n
\r\n \r\n ),\r\n // item.IsPartnerItem ? (\r\n // handlePartnerChange(e, item.ItemCode, item)}\r\n // />\r\n // ) : (\r\n // handlePartnerChange(e, item.ItemCode, item)}\r\n // />\r\n // ),\r\n SalesPrice:\r\n item.OptionalSalesPrice === null ? (\r\n

No Data

\r\n ) : (\r\n item.OptionalSalesPrice.toFixed(2)\r\n ),\r\n action: (\r\n <>\r\n {updateItemList.includes(item.ItemCode) ? (\r\n <>\r\n }\r\n onClick={() =>\r\n updateMenuItem(\r\n item.ItemKey,\r\n item.ItemCode,\r\n item.SalesPrice,\r\n item.OptionalSalesPrice,\r\n item.IsDiscontinued,\r\n item.IsPartnerItem\r\n )\r\n }\r\n >\r\n Update\r\n \r\n \r\n ) : (\r\n <>\r\n }\r\n disabled\r\n onClick={() =>\r\n updateMenuItem(\r\n item.ItemKey,\r\n item.ItemCode,\r\n item.SalesPrice,\r\n item.OptionalSalesPrice,\r\n item.IsDiscontinued,\r\n item.IsPartnerItem\r\n )\r\n }\r\n >\r\n Update\r\n \r\n \r\n )}\r\n \r\n ),\r\n // IsDiscontinued: item.IsDiscontinued ? updateMenuItem(item.ItemKey,item.ItemCode,item.SalesPrice)}/> : updateMenuItem(item.ItemKey,item.ItemCode,item.SalesPrice)}/>,\r\n // IsPartnerItem: item.IsPartnerItem ? console.log(item.ItemCode)}/> :{console.log(item.ItemCode)}}/>,\r\n // IsDiscontinued : item.IsDiscontinued ?\r\n //
\r\n // <>\r\n // \r\n // \r\n //
\r\n // :
\r\n // <>\r\n // \r\n // \r\n //
,\r\n // IsDiscontinued : <>\r\n // \r\n // ,\r\n });\r\n });\r\n\r\n return data;\r\n };\r\n\r\n const uploadMenuHandler = async () => {\r\n setisProcessing(true);\r\n\r\n const modifiedItems = itemsToDisplay?.map((item: IPartnerMenuItem) => ({\r\n ...item,\r\n ItemImage: \"\",\r\n }));\r\n\r\n const filteredMenuItemsList = modifiedItems?.filter(\r\n (x) => x.IsPartnerItem && !x.IsDiscontinued\r\n );\r\n //const loopCount = filteredMenuItemsList?.length ?? 0;\r\n\r\n /*const dataSignal: IBaseModel = {\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };*/\r\n\r\n setisProcessing(false);\r\n //let newList = [];\r\n //console.log(modifiedItems);\r\n\r\n /* if (modifiedItems !== undefined && modifiedItems.length > 100) {\r\n while (modifiedItems.length !== 0) {\r\n const firstNItems = modifiedItems.splice(0, 100);\r\n //console.log(firstNItems);\r\n const dataToUpload: IPartnerMenuItemRequestModel = {\r\n IsSpecialInstructionEnable: false,\r\n PartnerMenuItemList: firstNItems ?? undefined,\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n FilteredMenuItemCount: filteredMenuItemsList?.length ?? 0,\r\n };\r\n\r\n dispatch(\r\n uploadBulkMenu(dataToUpload, Math.ceil(loopCount / 100), dataSignal)\r\n );\r\n }\r\n } else { */\r\n if (modifiedItems !== undefined) {\r\n const dataToUpload: IPartnerMenuItemRequestModel = {\r\n IsSpecialInstructionEnable: false,\r\n PartnerMenuItemList: modifiedItems ?? undefined,\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n FilteredMenuItemCount: filteredMenuItemsList?.length ?? 0,\r\n };\r\n\r\n dispatch(uploadBulkMenu(dataToUpload));\r\n }\r\n //}\r\n\r\n // setitemsToDisplay((items:any)=>\r\n // items.map((item:any)=>({\r\n // ...item,\r\n // ItemImage:null\r\n // })))\r\n\r\n // await itemsToDisplay.forEach((x:any)=>{x.ItemImage = null\r\n // console.log(x.ItemImage)\r\n // })\r\n //setitemsToUpload(itemsToDisplay)\r\n\r\n // console.log(\"itemsToUpload after making null\")\r\n // console.log(modifiedItems)\r\n\r\n /* const partnerUpload: IPartnerMenuItemRequestModel = {\r\n IsSpecialInstructionEnable: false,\r\n PartnerMenuItemList: [],\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n }; */\r\n //console.log(\"dataToUpload\");\r\n //console.log(modifiedItems);\r\n //dispatch(uploadBulkMenuToPartner(partnerUpload));\r\n\r\n // if (isAllSelected === true) {\r\n // setisUploading(true);\r\n // let allMenuList: any = [];\r\n // const baseModel: IBaseModel = {\r\n // RequestId: API_INTEGRATION_ID,\r\n // IntegrationId: API_INTEGRATION_ID,\r\n // ApiKey: \"\",\r\n // UID: {\r\n // CompanyKey: user?.CompanyKey ?? 0,\r\n // LocationKey: user?.LocationKey ?? 0,\r\n // UserKey: user?.UserKey ?? 0,\r\n // },\r\n // RequestingUser: 0,\r\n // RequestingId: \"\",\r\n // Schema: \"\",\r\n // ValidationMessages: [],\r\n // IsApprovedStatus: 0,\r\n // IsActive: 0,\r\n // };\r\n\r\n // const { ResponseData } = await apis.Menus.getMenuItemList(baseModel);\r\n\r\n // if (ResponseData.MenuItemList.length > 0) {\r\n // for (let index = 0; index < ResponseData.MenuItemList.length; index++) {\r\n // let newItem: IPartnerMenuItem = {\r\n // ItemKey: ResponseData.MenuItemList[index].ItemKey,\r\n // ItemName: ResponseData.MenuItemList[index].ItemName,\r\n // ItemCode: ResponseData.MenuItemList[index].ItemCode,\r\n // ItemShortName: ResponseData.MenuItemList[index].ItemShortName,\r\n // CategoryName: ResponseData.MenuItemList[index].CategoryName,\r\n // CategoryCode: ResponseData.MenuItemList[index].CategoryCode,\r\n // ItemImageUrl: ResponseData.MenuItemList[index].ItemImageUrl,\r\n // ItemImage: null,\r\n // Description: ResponseData.MenuItemList[index].Description,\r\n // SalesPrice: ResponseData.MenuItemList[index].SalesPrice,\r\n // IsDiscontinued: ResponseData.MenuItemList[index].IsDiscontinued,\r\n // IsAgeVerification:\r\n // ResponseData.MenuItemList[index].IsAgeVerification,\r\n // IsPartnerItem: true,\r\n // };\r\n\r\n // allMenuList.push(newItem);\r\n // }\r\n // }\r\n\r\n // setisUploading(false);\r\n\r\n // const data: IPartnerMenuItemRequestModel = {\r\n // IsSpecialInstructionEnable: false,\r\n // PartnerMenuItemList: allMenuList,\r\n // RequestId: API_INTEGRATION_ID,\r\n // IntegrationId: API_INTEGRATION_ID,\r\n // ApiKey: \"\",\r\n // UID: {\r\n // CompanyKey: user?.CompanyKey ?? 0,\r\n // LocationKey: user?.LocationKey ?? 0,\r\n // UserKey: user?.UserKey ?? 0,\r\n // },\r\n // RequestingUser: 0,\r\n // RequestingId: \"\",\r\n // Schema: \"\",\r\n // ValidationMessages: [],\r\n // IsApprovedStatus: 0,\r\n // IsActive: 0,\r\n // };\r\n // //console.log(\"allMenuList\");\r\n // //console.log(data);\r\n // dispatch(uploadBulkMenu(data));\r\n // } else {\r\n // const data: IPartnerMenuItemRequestModel = {\r\n // IsSpecialInstructionEnable: false,\r\n // PartnerMenuItemList: bulkUpload,\r\n // RequestId: API_INTEGRATION_ID,\r\n // IntegrationId: API_INTEGRATION_ID,\r\n // ApiKey: \"\",\r\n // UID: {\r\n // CompanyKey: user?.CompanyKey ?? 0,\r\n // LocationKey: user?.LocationKey ?? 0,\r\n // UserKey: user?.UserKey ?? 0,\r\n // },\r\n // RequestingUser: 0,\r\n // RequestingId: \"\",\r\n // Schema: \"\",\r\n // ValidationMessages: [],\r\n // IsApprovedStatus: 0,\r\n // IsActive: 0,\r\n // };\r\n // // console.log(data);\r\n // dispatch(uploadBulkMenu(data));\r\n // // setisUploading(true);\r\n // }\r\n };\r\n\r\n const updateMenuItem = (\r\n itemKey: number,\r\n itemCode: string,\r\n price: number,\r\n optionalprice: number,\r\n isDiscontinued: boolean,\r\n isPartner: boolean\r\n ) => {\r\n // if (discontinueChanged) {\r\n // // console.log(isDiscontinued);\r\n\r\n // }\r\n\r\n const updateModel: IPartnerMenuItemUpdateRequestModel = {\r\n ItemKey: itemKey,\r\n ItemCode: itemCode,\r\n IsDiscontinued: isDiscontinued,\r\n IsPartnerItem: isPartner,\r\n SalesPrice: price,\r\n OptionalSalesPrice: optionalprice,\r\n\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n //console.log(updateModel);\r\n dispatch(updateMenu(updateModel));\r\n //console.log(isDiscontinued)\r\n //console.log(isPartner)\r\n // console.log(\"discontinueChanged\")\r\n // console.log(discontinueChanged)\r\n\r\n // console.log(\"partnerChanged\")\r\n // console.log(partnerChanged)\r\n\r\n // console.log(\"--------------------------------\")\r\n\r\n // if (partnerChanged && discontinueChanged) {\r\n // console.log(\"both true\");\r\n // console.log(discontinueChanged);\r\n // console.log(partnerChanged);\r\n\r\n // const updateModel: IPartnerMenuItemUpdateRequestModel = {\r\n // ItemKey: itemKey,\r\n // ItemCode: itemCode,\r\n // IsDiscontinued: !isDiscontinued,\r\n // IsPartnerItem: !isPartner,\r\n // SalesPrice: price,\r\n // RequestId: API_INTEGRATION_ID,\r\n // IntegrationId: API_INTEGRATION_ID,\r\n // ApiKey: \"\",\r\n // ApplicationId: \"\",\r\n // LocationApiKey: \"\",\r\n // RequestingUser: 0,\r\n // RequestingId: \"\",\r\n // Schema: \"\",\r\n // ValidationMessages: [],\r\n // IsApprovedStatus: 0,\r\n // IsActive: 0,\r\n // };\r\n // console.log(updateModel);\r\n // dispatch(updateMenu(updateModel));\r\n // } else if (partnerChanged && !discontinueChanged) {\r\n // console.log(\"partner change true, discon false\");\r\n // console.log(discontinueChanged);\r\n // console.log(partnerChanged);\r\n\r\n // const updateModel: IPartnerMenuItemUpdateRequestModel = {\r\n // ItemKey: itemKey,\r\n // ItemCode: itemCode,\r\n // IsDiscontinued: isDiscontinued,\r\n // IsPartnerItem: !isPartner,\r\n // SalesPrice: price,\r\n // RequestId: API_INTEGRATION_ID,\r\n // IntegrationId: API_INTEGRATION_ID,\r\n // ApiKey: \"\",\r\n // ApplicationId: \"\",\r\n // LocationApiKey: \"\",\r\n // RequestingUser: 0,\r\n // RequestingId: \"\",\r\n // Schema: \"\",\r\n // ValidationMessages: [],\r\n // IsApprovedStatus: 0,\r\n // IsActive: 0,\r\n // };\r\n // console.log(updateModel);\r\n // dispatch(updateMenu(updateModel));\r\n // } else if (!partnerChanged && discontinueChanged) {\r\n // console.log(\"partner change false, discon true\");\r\n // console.log(discontinueChanged);\r\n // console.log(partnerChanged);\r\n\r\n // const updateModel: IPartnerMenuItemUpdateRequestModel = {\r\n // ItemKey: itemKey,\r\n // ItemCode: itemCode,\r\n // IsDiscontinued: !isDiscontinued,\r\n // IsPartnerItem: isPartner,\r\n // SalesPrice: price,\r\n // RequestId: API_INTEGRATION_ID,\r\n // IntegrationId: API_INTEGRATION_ID,\r\n // ApiKey: \"\",\r\n // ApplicationId: \"\",\r\n // LocationApiKey: \"\",\r\n // RequestingUser: 0,\r\n // RequestingId: \"\",\r\n // Schema: \"\",\r\n // ValidationMessages: [],\r\n // IsApprovedStatus: 0,\r\n // IsActive: 0,\r\n // };\r\n // console.log(updateModel);\r\n // dispatch(updateMenu(updateModel));\r\n // } else {\r\n // console.log(\"both false\");\r\n // console.log(discontinueChanged);\r\n // console.log(partnerChanged);\r\n // const updateModel: IPartnerMenuItemUpdateRequestModel = {\r\n // ItemKey: itemKey,\r\n // ItemCode: itemCode,\r\n // IsDiscontinued: isDiscontinued,\r\n // IsPartnerItem: isPartner,\r\n // SalesPrice: price,\r\n // RequestId: API_INTEGRATION_ID,\r\n // IntegrationId: API_INTEGRATION_ID,\r\n // ApiKey: \"\",\r\n // ApplicationId: \"\",\r\n // LocationApiKey: \"\",\r\n // RequestingUser: 0,\r\n // RequestingId: \"\",\r\n // Schema: \"\",\r\n // ValidationMessages: [],\r\n // IsApprovedStatus: 0,\r\n // IsActive: 0,\r\n // };\r\n // console.log(updateModel);\r\n // dispatch(updateMenu(updateModel));\r\n // }\r\n\r\n // console.log(itemCode)\r\n // console.log(itemKey)\r\n // console.log(price)\r\n // console.log(\"isDiscontinuedItem\")\r\n // console.log(isDiscontinuedItem)\r\n // console.log(\"isPartnerAvailable\")\r\n // console.log(isPartnerAvailable)\r\n\r\n // const updateModel:IPartnerMenuItemUpdateRequestModel={\r\n // ItemKey: itemKey,\r\n // ItemCode: itemCode,\r\n // IsDiscontinued: isDiscontinued === isDiscontinuedItem ? isDiscontinued : isDiscontinuedItem,\r\n // IsPartnerItem: isPartner === isPartnerAvailable ? isPartner : isPartnerAvailable,\r\n // SalesPrice: price,\r\n // RequestId: API_INTEGRATION_ID,\r\n // IntegrationId: API_INTEGRATION_ID,\r\n // ApiKey: \"\",\r\n // ApplicationId: \"\",\r\n // LocationApiKey: \"\",\r\n // RequestingUser: 0,\r\n // RequestingId: \"\",\r\n // Schema: \"\",\r\n // ValidationMessages: [],\r\n // IsApprovedStatus: 0,\r\n // IsActive: 0\r\n // }\r\n\r\n // dispatch(updateMenu(updateModel))\r\n };\r\n\r\n return (\r\n
\r\n {/* update related responses */}\r\n {updateFailed && Update failed}\r\n {isMenuUpdated && (\r\n Menu updated successfully\r\n )}\r\n\r\n {/* upload related responses */}\r\n {isMenuUploaded && (\r\n Menu uploaded successfully\r\n )}\r\n {isUploadFailed && Menu upload failed}\r\n\r\n
\r\n Menu Items\r\n
\r\n {isItemsLoading === false && (\r\n \r\n )}\r\n
\r\n
\r\n {/*
\r\n handleIsAllSeleted(e)}/>\r\n
\r\n
*/}\r\n
\r\n {/*
\r\n
\r\n {navItems !== [] &&\r\n navItems.map((orderType: any) => (\r\n setSelectedNavItem(orderType)}\r\n >\r\n {orderType.orderTypeName}\r\n
\r\n ))}\r\n
\r\n
*/}\r\n {/*
*/}\r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n {/* */}\r\n\r\n {/* {isUploading && (\r\n <>\r\n \r\n \r\n )} */}\r\n {isItemsLoading ? (\r\n <>\r\n \r\n {isItemsLoading}\r\n \r\n ) : (\r\n <>\r\n {\" \"}\r\n \r\n \r\n )}\r\n\r\n {isProcessing && (\r\n <>\r\n
\r\n
\r\n {/* */}\r\n \r\n

Processing menu upload. Please wait!!!

\r\n
\r\n
\r\n \r\n )}\r\n {isMenuUploading && (\r\n <>\r\n
\r\n
\r\n {/* */}\r\n \r\n

Uploading menu. Please wait!!!

\r\n
\r\n
\r\n \r\n )}\r\n\r\n {\r\n // isMenuUploadingPartner && (\r\n // <>\r\n //
\r\n //
\r\n // {/* */}\r\n // \r\n //

Uploading menu. Please wait!!!

\r\n //
\r\n //
\r\n // \r\n // )\r\n }\r\n\r\n {isUpdating && (\r\n <>\r\n
\r\n
\r\n {/* */}\r\n \r\n

Updating menu. Please wait!!!

\r\n
\r\n
\r\n \r\n )}\r\n\r\n {isMenuUploaded && (\r\n \r\n Uploaded\r\n \r\n )}\r\n\r\n {/* {\r\n toggleUberMenu && (<>\r\n settoggleUberMenu(false)}/>\r\n \r\n )\r\n } */}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default MenuPage;\r\n","import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport InputLabel from \"@mui/material/InputLabel\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport Select, { SelectChangeEvent } from \"@mui/material/Select\";\r\nimport { ILocation } from \"../../../../interfaces/user\";\r\nimport { IPartnerStore } from \"../../../../interfaces/store\";\r\n\r\ninterface IProps {\r\n userLocationList?: ILocation[];\r\n selectedStore: IPartnerStore;\r\n selectedLocationKey: number;\r\n handleComboChange: (event: SelectChangeEvent) => void;\r\n partnerStoreId: string;\r\n}\r\n\r\nconst SelectCombo: React.FC = ({\r\n userLocationList,\r\n selectedLocationKey,\r\n handleComboChange,\r\n partnerStoreId,\r\n selectedStore,\r\n}): JSX.Element => {\r\n return (\r\n \r\n \r\n Select Location\r\n \r\n {userLocationList &&\r\n userLocationList.map((location: ILocation) => (\r\n \r\n {location.LocationName}\r\n \r\n ))}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SelectCombo;\r\n","import React, { FC, useState } from \"react\";\r\nimport { Button, Table } from \"reactstrap\";\r\nimport { useMediaQuery } from \"react-responsive\";\r\n\r\n// styles\r\nimport styles from \"./DataTable.module.scss\";\r\n\r\n// icons\r\n\r\n//component\r\n\r\n//interface\r\n\r\n//api\r\nimport { setupProvisionRequestModel } from \"../../../api/apiRequestObjects\";\r\nimport apis from \"../../../api/apis\";\r\n\r\n//config\r\nimport GLOBAL_MEDIA_QUERIES from \"../../../config/globalMediaQueries\";\r\nimport { APIResponseType } from \"../../../config/enumApiResponseTypes\";\r\nimport {\r\n notifyServerError,\r\n notifySuccessfulProvison,\r\n} from \"../../../config/toastNotification\";\r\nimport { IPartnerStore } from \"../../../interfaces/store\";\r\nimport { ILocation } from \"../../../interfaces/user\";\r\nimport SelectCombo from \"./components/SelectCombo\";\r\nimport { SelectChangeEvent } from \"@mui/material/Select\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { ToastContainer } from \"react-toastify\";\r\n\r\ninterface IProps {\r\n partnerStoreList: IPartnerStore[];\r\n userLocationList?: ILocation[];\r\n}\r\n\r\n//manual close button for toast notifications\r\nconst CloseButton = ({ closeToast }: any) => (\r\n \r\n);\r\n\r\nconst initialStore: IPartnerStore = {\r\n PartnerStoreId: \"\",\r\n PartnerStoreName: \"\",\r\n PartnerStoreCode: \"\",\r\n UserLocationInOurSystem: null,\r\n ContactEmails: [],\r\n AveragePreparationTime: 0,\r\n IsProvisionEnabled: false,\r\n};\r\n\r\nconst DataTable: FC = ({\r\n partnerStoreList,\r\n userLocationList,\r\n}): JSX.Element => {\r\n const isTablet = useMediaQuery({ query: GLOBAL_MEDIA_QUERIES.tab });\r\n\r\n //get redux state\r\n const { user } = useSelector((state: any) => state.authentication);\r\n\r\n setupProvisionRequestModel.UID.UserKey = user.UserKey;\r\n setupProvisionRequestModel.UID.LocationKey = user.LocationKey;\r\n setupProvisionRequestModel.UID.CompanyKey = user.CompanyKey;\r\n setupProvisionRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n\r\n const [openSnack, setOpenSnack] = useState(false);\r\n const [selectedLocationKey, setSelectedLocationKey] = React.useState(0);\r\n const [selectedStore, setSelectedStore] =\r\n React.useState(initialStore);\r\n\r\n /* const handleSnackClose = (\r\n event?: React.SyntheticEvent | Event,\r\n reason?: string\r\n ) => {\r\n if (reason === \"clickaway\") {\r\n return;\r\n }\r\n\r\n setOpenSnack(false);\r\n }; */\r\n\r\n const handleComboChange = (event: SelectChangeEvent) => {\r\n setSelectedLocationKey(parseInt(event.target.value));\r\n };\r\n\r\n const selectStore = (partnerStore: IPartnerStore) => {\r\n setSelectedStore(partnerStore);\r\n };\r\n\r\n const handleProvisionOff = async (partnerStore: IPartnerStore) => {\r\n setupProvisionRequestModel.PartnerStore = partnerStore;\r\n setupProvisionRequestModel.PartnerStore.IsProvisionEnabled = false;\r\n\r\n //console.log(partnerStore);\r\n /* setupProvisionRequestModel.PartnerStore.UserLocationInOurSystem =\r\n userLocationList?.filter(\r\n (x) => x.LocationId === selectedLocationKey\r\n )[0] ?? null; */\r\n\r\n const response = await apis.Provisions.provisionEnableDisble(\r\n setupProvisionRequestModel\r\n );\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n //setOpenSnack(true);\r\n notifySuccessfulProvison();\r\n //window.location.reload();\r\n } else {\r\n notifyServerError();\r\n }\r\n };\r\n\r\n const handleProvisionOn = async () => {\r\n setupProvisionRequestModel.PartnerStore = selectedStore;\r\n setupProvisionRequestModel.PartnerStore.UserLocationInOurSystem =\r\n userLocationList?.filter(\r\n (x) => x.LocationId === selectedLocationKey\r\n )[0] ?? null;\r\n setupProvisionRequestModel.PartnerStore.IsProvisionEnabled = true;\r\n\r\n const response = await apis.Provisions.provisionEnableDisble(\r\n setupProvisionRequestModel\r\n );\r\n\r\n //console.log();\r\n if (response.ResponseType === APIResponseType.Success) {\r\n setOpenSnack(true);\r\n window.location.reload();\r\n } else {\r\n //notifyServerError();\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {partnerStoreList &&\r\n partnerStoreList.map((partnerStore: IPartnerStore) => (\r\n \r\n \r\n \r\n selectStore(partnerStore)}\r\n >\r\n {partnerStore.IsProvisionEnabled &&\r\n partnerStore?.UserLocationInOurSystem?.LocationName !==\r\n null ? (\r\n partnerStore?.UserLocationInOurSystem?.LocationName\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Store IDPartner Store NameLocationIs ProvisionedProvision On/Off
\r\n {partnerStore.PartnerStoreCode}\r\n \r\n {partnerStore.PartnerStoreName}\r\n \r\n {partnerStore.IsProvisionEnabled ? (\r\n

Yes

\r\n ) : (\r\n

No

\r\n )}\r\n
\r\n {partnerStore.IsProvisionEnabled ? (\r\n \r\n ) : (\r\n 1 &&\r\n partnerStore.PartnerStoreId ===\r\n selectedStore.PartnerStoreId\r\n ? false\r\n : true\r\n }\r\n >\r\n On\r\n \r\n )}\r\n
\r\n \r\n {/* \r\n \r\n Provision State Update Successfully\r\n \r\n */}\r\n
\r\n );\r\n};\r\n\r\nexport default DataTable;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Button from \"@mui/material/Button\";\r\nimport BusinessCenterOutlinedIcon from \"@mui/icons-material/BusinessCenterOutlined\";\r\nimport StorefrontIcon from \"@mui/icons-material/Storefront\";\r\nimport { useLocation } from \"react-router\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Dialog from \"@mui/material/Dialog\";\r\nimport DialogActions from \"@mui/material/DialogActions\";\r\nimport DialogContent from \"@mui/material/DialogContent\";\r\nimport DialogContentText from \"@mui/material/DialogContentText\";\r\nimport DialogTitle from \"@mui/material/DialogTitle\";\r\nimport { setupProvisionRequestModel } from \"../../../api/apiRequestObjects\";\r\nimport { useSelector } from \"react-redux\";\r\nimport apis from \"../../../api/apis\";\r\nimport { APIResponseType } from \"../../../config/enumApiResponseTypes\";\r\nimport {\r\n notifyError,\r\n notifyServerError,\r\n} from \"../../../config/toastNotification\";\r\nimport LoadingComponent from \"../../loadingComponent/LoadingComponent\";\r\nimport { Fade, Spinner } from \"reactstrap\";\r\nimport LoadingButton from \"@mui/lab/LoadingButton\";\r\n\r\n// styles\r\nimport styles from \"./ProvisionSetupButton.module.scss\";\r\nimport { ToastContainer } from \"react-toastify\";\r\n\r\n//manual close button for toast notifications\r\nconst CloseButton = ({ closeToast }: any) => (\r\n \r\n);\r\n\r\ninterface IProps {\r\n handleGetStores: () => void;\r\n}\r\n\r\nlet initialLoaded = false;\r\n\r\nconst ProvisionSetupButton: React.FC = ({ handleGetStores }) => {\r\n //const [isCodeAvailable, setIsCodeAvailable] = useState(false);\r\n const [isProvisioned, setIsProvisioned] = useState(false);\r\n //const [singleAuthCode, setSingleAuthCode] = useState(\"\");\r\n //const [typedValue, setTypedValue] = useState(\"\");\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [urlCopied, setUrlCopied] = useState(\"\");\r\n //const [isValidEmail, setIsValidEmail] = useState(true);\r\n //const [mailSent, setMailSent] = useState(true);\r\n\r\n const [openDialog, setOpenDialog] = React.useState(false);\r\n\r\n //get redux state\r\n const { user } = useSelector((state: any) => state.authentication);\r\n\r\n /* const handleProvisioning = async () => {\r\n let emailValidatingRegExp =\r\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n if (emailValidatingRegExp.test(typedValue)) {\r\n setIsValidEmail(true);\r\n setIsLoading(true);\r\n setupProvisionRequestModel.UID.UserKey = user.UserKey;\r\n setupProvisionRequestModel.UID.LocationKey = user.LocationKey;\r\n setupProvisionRequestModel.UID.CompanyKey = user.CompanyKey;\r\n setupProvisionRequestModel.EmailAddress = typedValue;\r\n\r\n const response = await apis.Provisions.setupProvision(\r\n setupProvisionRequestModel\r\n );\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n setIsLoading(false);\r\n setMailSent(true);\r\n } else {\r\n setIsLoading(false);\r\n notifyError();\r\n //console.log(response);\r\n }\r\n } else {\r\n setIsValidEmail(false);\r\n }\r\n }; */\r\n\r\n /* const handleTypedEmail = (e: any) => {\r\n setTypedValue(e.target.value);\r\n }; */\r\n\r\n const handleGeneratingLinkClick = async () => {\r\n setIsLoading(true);\r\n setupProvisionRequestModel.UID.UserKey = user.UserKey;\r\n setupProvisionRequestModel.UID.LocationKey = user.LocationKey;\r\n setupProvisionRequestModel.UID.CompanyKey = user.CompanyKey;\r\n setupProvisionRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n\r\n const response = await apis.Provisions.setupProvision(\r\n setupProvisionRequestModel\r\n );\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n setIsLoading(false);\r\n navigator.clipboard.writeText(response.Messages[0].Message);\r\n setUrlCopied(response.Messages[0].Message);\r\n } else {\r\n setIsLoading(false);\r\n //console.log(response);\r\n }\r\n };\r\n\r\n const handleClickDialogOpen = () => {\r\n setOpenDialog(true);\r\n };\r\n\r\n const handleDialogClose = () => {\r\n setOpenDialog(false);\r\n };\r\n\r\n //const currentUri = useLocation();\r\n\r\n useEffect(() => {\r\n const fetchIsUberProvisionedData = async () => {\r\n try {\r\n setIsLoading(true);\r\n setupProvisionRequestModel.UID.UserKey = user.UserKey;\r\n setupProvisionRequestModel.UID.LocationKey = user.LocationKey;\r\n setupProvisionRequestModel.UID.CompanyKey = user.CompanyKey;\r\n setupProvisionRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n\r\n const response = await apis.Provisions.isUberProvisioned(\r\n setupProvisionRequestModel\r\n );\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n setIsLoading(false);\r\n setIsProvisioned(true);\r\n } else {\r\n setIsLoading(false);\r\n setIsProvisioned(false);\r\n //notifyError();\r\n //console.log(response);\r\n }\r\n } catch (e) {\r\n setIsLoading(false);\r\n notifyServerError();\r\n console.log(e);\r\n }\r\n };\r\n\r\n if (!isProvisioned) {\r\n fetchIsUberProvisionedData();\r\n }\r\n //fetchIsUberProvisionedData();\r\n }, [isProvisioned, user?.CompanyKey, user?.LocationKey, user?.UserKey]);\r\n\r\n if (!isProvisioned)\r\n return (\r\n <>\r\n }\r\n onClick={handleClickDialogOpen}\r\n >\r\n Setup Provisioning\r\n \r\n \r\n Copy Provision Setup Link\r\n {/* \r\n \r\n To integrate your uber stores to our BLX OrderHub, please enter\r\n your email address here. We will send you a link to follow the\r\n integration process.\r\n */}\r\n {/* \r\n */}\r\n \r\n \r\n \r\n {urlCopied !== \"\" ? \"Link Copied to Clipboard\" : \"Copy Link\"}\r\n \r\n {/* {!isLoading && !mailSent && (\r\n \r\n Send\r\n \r\n )} */}\r\n {/* {mailSent && (\r\n \r\n Success ✅\r\n \r\n )} */}\r\n {isLoading && }\r\n \r\n \r\n {/* */}\r\n \r\n );\r\n\r\n if (isProvisioned)\r\n return (\r\n }\r\n onClick={() => handleGetStores()}\r\n >\r\n Get Stores\r\n \r\n );\r\n\r\n if (isLoading) return ;\r\n\r\n return null;\r\n};\r\n\r\nexport default ProvisionSetupButton;\r\n","import * as React from 'react';\r\nimport { Formik, Form, Field } from 'formik';\r\n\r\n// styles\r\nimport styles from './SearchBox.module.scss';\r\n\r\n// icons\r\nimport SearchIcon from '@material-ui/icons/Search';\r\n\r\ninterface IProps {\r\n toggle: () => void;\r\n searchValue: string;\r\n setSearchValue: React.Dispatch>;\r\n}\r\n\r\nconst SearchBox: React.FC = ({\r\n toggle,\r\n searchValue,\r\n setSearchValue,\r\n}) => {\r\n const initialValues = { searchValue };\r\n\r\n const onSubmit = (values: { searchValue: string }) => {\r\n setSearchValue(values.searchValue);\r\n toggle();\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default SearchBox;\r\n","import * as React from 'react';\r\nimport { Formik, Form, Field } from 'formik';\r\n\r\n// styles\r\nimport styles from './FilterBox.module.scss';\r\n\r\n// icons\r\nimport DoneAllIcon from '@material-ui/icons/DoneAll';\r\n\r\ninterface IProps {\r\n toggle: () => void;\r\n filterValue: string;\r\n setFilterValue: React.Dispatch>;\r\n}\r\n\r\nconst FilterBox: React.FC = ({\r\n toggle,\r\n filterValue,\r\n setFilterValue,\r\n}) => {\r\n const initialValues = { filterValue };\r\n\r\n const onSubmit = (values: { filterValue: string }) => {\r\n setFilterValue(values.filterValue);\r\n toggle();\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default FilterBox;\r\n","import * as React from \"react\";\r\nimport cx from \"classnames\";\r\nimport styles from \"./ProvisionSetupPage.module.scss\";\r\nimport { v4 } from \"uuid\";\r\nimport { useState } from \"react\";\r\nimport DataTable from \"../dataTable/DataTable\";\r\nimport ProvisionSetupButton from \"../provisionSetupButton/ProvisionSetupButton\";\r\n\r\n// icons\r\nimport SearchIcon from \"@material-ui/icons/Search\";\r\nimport FilterListIcon from \"@material-ui/icons/FilterList\";\r\nimport BasicModal from \"../../basicModal/BasicModal\";\r\nimport SearchBox from \"./components/searchBox/SearchBox\";\r\nimport FilterBox from \"./components/filterBox/FilterBox\";\r\nimport apis from \"../../../api/apis\";\r\nimport { baseRequestModel } from \"../../../api/apiRequestObjects\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { IPartnerStore } from \"../../../interfaces/store\";\r\nimport { notifyError } from \"../../../config/toastNotification\";\r\nimport { APIResponseType } from \"../../../config/enumApiResponseTypes\";\r\nimport { ToastContainer } from \"react-toastify\";\r\nimport LoadingComponent from \"../../loadingComponent/LoadingComponent\";\r\nimport { ILocation } from \"../../../interfaces/user\";\r\n\r\n//manual close button for toast notifications\r\nconst CloseButton = ({ closeToast }: any) => (\r\n \r\n);\r\n\r\nconst navItems = [\r\n {\r\n orderType: \"UberEats\",\r\n orderTypeName: \"Uber Eats Provision\",\r\n },\r\n /* {\r\n orderType: \"PickMeFood\",\r\n orderTypeName: \"Pickme Food Provision\",\r\n },\r\n {\r\n orderType: \"BLXECommerce\",\r\n orderTypeName: \"BLX ECommerce Provision\",\r\n }, */\r\n];\r\n\r\nconst ProvisionSetupPage = (): JSX.Element => {\r\n const [selectedNavItem, setSelectedNavItem] = useState(navItems[0]);\r\n const [partnerStoreList, setPartnerStoreList] = useState([]);\r\n const [userLocationList, setUserLocationList] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n //get redux state\r\n const { user } = useSelector((state: any) => state.authentication);\r\n\r\n // search modal\r\n const [searchValue, setSearchValue] = useState(\"\");\r\n const [isOpenSearch, setIsOpenSearch] = useState(false);\r\n const toggleSearchModal = () => setIsOpenSearch(!isOpenSearch);\r\n\r\n // filter modal\r\n const [filterValue, setFilterValue] = useState(\"\");\r\n const [isOpenFilter, setIsOpenFilter] = useState(false);\r\n const toggleFilterModal = () => setIsOpenFilter(!isOpenFilter);\r\n\r\n const handleGetStores = async () => {\r\n try {\r\n setIsLoading(true);\r\n baseRequestModel.UID.UserKey = user.UserKey;\r\n baseRequestModel.UID.LocationKey = user.LocationKey;\r\n baseRequestModel.UID.CompanyKey = user.CompanyKey;\r\n baseRequestModel.UID.EnvironmentName = user.EnvironmentName;\r\n baseRequestModel.UID.IsUrbanPiper=user.IsUrbanPiper;\r\n\r\n const response = await apis.Provisions.getPartnerStoreList(\r\n baseRequestModel\r\n );\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n setPartnerStoreList(response.ResponseData.PartnerStoreList);\r\n setUserLocationList(response.ResponseData.UserLocationList);\r\n setIsLoading(false);\r\n } else {\r\n setPartnerStoreList([]);\r\n setIsLoading(false);\r\n notifyError();\r\n }\r\n } catch (e) {\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n if (isLoading) return ;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {navItems !== [] &&\r\n navItems.map((orderType: any) => (\r\n setSelectedNavItem(orderType)}\r\n >\r\n {orderType.orderTypeName}\r\n
\r\n ))}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {partnerStoreList && (\r\n \r\n )}\r\n
\r\n
\r\n {/* search modal */}\r\n \r\n \r\n \r\n\r\n {/* filter modal */}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ProvisionSetupPage;\r\n","import React from \"react\";\r\nimport { IPartnerMenuItem } from \"../../../../interfaces/menu\";\r\nimport styles from \"./ItemCard.module.scss\";\r\n\r\ninterface IProps {\r\n item: IPartnerMenuItem;\r\n onTap: React.MouseEventHandler;\r\n}\r\n\r\nconst ItemCard: React.FC = ({ item, onTap }) => {\r\n // console.log(item);\r\n return (\r\n
\r\n {/* {item.ItemImageUrl && (\r\n
\r\n {item.ItemName}\r\n
\r\n )} */}\r\n\r\n
\r\n \r\n
\r\n
\r\n {item.ItemName}\r\n
\r\n
\r\n Rs.{item.SalesPrice.toFixed(2)}\r\n
\r\n
\r\n
\r\n\r\n {/*
\r\n
\r\n {item.ItemName}\r\n
\r\n
\r\n Rs.{item.SalesPrice.toFixed(2)}\r\n
\r\n
*/}\r\n
\r\n );\r\n};\r\n\r\nexport default ItemCard;\r\n","export const cus_data = [\r\n {\r\n customer_code: 1,\r\n customer_name: \"Chantal\",\r\n contact_no: \"89-247-3345\",\r\n email: \"cchstney0@ft.com\",\r\n door_no: \"Drive\",\r\n street: \"Jenifer\",\r\n city: \"Ivouani\",\r\n postal_code: \"KM\",\r\n total_payable: 0.0,\r\n },\r\n {\r\n customer_code: 2,\r\n customer_name: \"Dana\",\r\n contact_no: \"78-076-4337\",\r\n email: \"dgelly1@google.cn\",\r\n door_no: \"Way\",\r\n street: \"Center\",\r\n city: \"Wangzuizi\",\r\n postal_code: \"CN\",\r\n total_payable: 0.0,\r\n },\r\n {\r\n customer_code: 3,\r\n customer_name: \"Margaretta\",\r\n contact_no: \"12-148-8738\",\r\n email: \"mbelliveau2@istockphoto.com\",\r\n door_no: \"Way\",\r\n street: \"Ruskin\",\r\n city: \"Munkfors\",\r\n postal_code: \"SE\",\r\n total_payable: 0.0,\r\n },\r\n {\r\n customer_code: 4,\r\n customer_name: \"Julienne\",\r\n contact_no: \"22-298-1004\",\r\n email: \"jmashro3@china.com.cn\",\r\n door_no: \"Crossing\",\r\n street: \"Hallows\",\r\n city: \"Tlogotunggal\",\r\n postal_code: \"ID\",\r\n total_payable: 0.0,\r\n },\r\n {\r\n customer_code: 5,\r\n customer_name: \"Lee\",\r\n contact_no: \"05-578-7634\",\r\n email: \"lzanutti4@alexa.com\",\r\n door_no: \"Crossing\",\r\n street: \"Sunnyside\",\r\n city: \"Babice\",\r\n postal_code: \"PL\",\r\n total_payable: 0.0,\r\n },\r\n {\r\n customer_code: 6,\r\n customer_name: \"Dar\",\r\n contact_no: \"62-028-8799\",\r\n email: \"dmonier5@ted.com\",\r\n door_no: \"Hill\",\r\n street: \"Moulton\",\r\n city: \"Esperanza\",\r\n postal_code: \"AR\",\r\n total_payable: 0.0,\r\n },\r\n {\r\n customer_code: 7,\r\n customer_name: \"Hollie\",\r\n contact_no: \"50-855-0091\",\r\n email: \"hbartosik6@slashdot.org\",\r\n door_no: \"Avenue\",\r\n street: \"7th\",\r\n city: \"Xiaotang\",\r\n postal_code: \"CN\",\r\n total_payable: 0.0,\r\n },\r\n {\r\n customer_code: 8,\r\n customer_name: \"Georgia\",\r\n contact_no: \"94-992-6779\",\r\n email: \"gkeeton7@yelp.com\",\r\n door_no: \"Point\",\r\n street: \"Westerfield\",\r\n city: \"Jiatou\",\r\n postal_code: \"CN\",\r\n total_payable: 0.0,\r\n },\r\n {\r\n customer_code: 9,\r\n customer_name: \"Diena\",\r\n contact_no: \"35-765-2792\",\r\n email: \"ddragon8@ft.com\",\r\n door_no: \"Parkway\",\r\n street: \"Iowa\",\r\n city: \"Beima\",\r\n postal_code: \"CN\",\r\n total_payable: 0.0,\r\n },\r\n];\r\n","import { ArrowBackIos } from \"@material-ui/icons\";\r\nimport React, { FC, useState, useEffect } from \"react\";\r\nimport ItemCard from \"../ItemCard/ItemCard\";\r\nimport styles from \"./RegisterCustomer.module.scss\";\r\nimport { cus_data } from \"./data\";\r\n\r\ninterface IProps {\r\n onClick: any;\r\n customerList: any;\r\n}\r\n\r\nconst RegisterCustomer: FC = ({ onClick, customerList }) => {\r\n const [toggleRegister, settoggleRegister] = useState({\r\n isToggled: false,\r\n customer: null,\r\n });\r\n const [data, setData] = useState(cus_data);\r\n console.table(data);\r\n const [filterQuery, setfilterQuery] = useState(\"\");\r\n const [customer, setcustomer] = useState({\r\n customer_code: 1234,\r\n customer_name: \"\",\r\n contact_no: \"\",\r\n email: \"\",\r\n door_no: \"\",\r\n street: \"\",\r\n city: \"\",\r\n postal_code: \"\",\r\n });\r\n //console.log(customer);\r\n\r\n const hadnleInput = (e: any, field: String) => {\r\n const value = e.target.value;\r\n // setcustomer({...customer,[field]:value});\r\n if (field === \"first_name\") {\r\n setcustomer({ ...customer, first_name: value });\r\n }\r\n };\r\n\r\n const handleCreateCustomer = () => {\r\n // setcustomer({\r\n // ...customer,\r\n // id: Math.floor(Math.random() * 100),\r\n // gender: \"Male\",\r\n // });\r\n\r\n // setData([...data, customer]);\r\n setData([...data, customer]);\r\n settoggleRegister({\r\n isToggled: false,\r\n customer: null,\r\n });\r\n };\r\n\r\n useEffect(() => {}, []);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n settoggleRegister({\r\n isToggled: true,\r\n customer: null,\r\n })\r\n }\r\n >\r\n ADD +{\" \"}\r\n \r\n setfilterQuery(e.target.value)}\r\n />\r\n {customerList.length > 0 ? (\r\n
\r\n {filterQuery === \"\"\r\n ? customerList.map((item: any) => (\r\n \r\n settoggleRegister({\r\n isToggled: true,\r\n customer: item,\r\n })\r\n }\r\n >\r\n {item.customer_name}\r\n {/* {item.last_name} */}\r\n
\r\n ))\r\n : customerList\r\n .filter((item: any) =>\r\n item.customer_name\r\n .toLowerCase()\r\n .includes(filterQuery.toLowerCase())\r\n )\r\n .map((item: any) => (\r\n \r\n settoggleRegister({\r\n isToggled: true,\r\n customer: item,\r\n })\r\n }\r\n >\r\n {item.first_name}\r\n {item.last_name}\r\n
\r\n ))}\r\n
\r\n ) : (\r\n

No Customers

\r\n )}\r\n
\r\n \r\n \r\n\r\n {toggleRegister.isToggled === true && (\r\n
\r\n {toggleRegister.customer === null ? \"Add Customer\" : \"Edit Customer\"}\r\n
\r\n settoggleRegister(false)} />\r\n
\r\n\r\n
\r\n {toggleRegister.customer !== null && (\r\n \r\n Total payable: {\" \" + toggleRegister.customer.total_payable}\r\n \r\n )}\r\n hadnleInput(e, \"last_name\")}\r\n // onChange={(e) =>\r\n // // setcustomer({ ...customer, customer_name: e.target.value })\r\n // }\r\n />\r\n hadnleInput(e, \"first_name\")}\r\n onChange={(e) =>\r\n setcustomer({ ...customer, customer_name: e.target.value })\r\n }\r\n value={\r\n toggleRegister.customer !== null\r\n ? toggleRegister.customer.customer_name\r\n : null\r\n }\r\n />\r\n hadnleInput(e, \"contact\")}\r\n onChange={(e) =>\r\n setcustomer({ ...customer, contact_no: e.target.value })\r\n }\r\n value={\r\n toggleRegister.customer !== null\r\n ? toggleRegister.customer.contact_no\r\n : null\r\n }\r\n />\r\n\r\n hadnleInput(e, \"email\")}\r\n onChange={(e) =>\r\n setcustomer({ ...customer, email: e.target.value })\r\n }\r\n value={\r\n toggleRegister.customer !== null\r\n ? toggleRegister.customer.email\r\n : null\r\n }\r\n />\r\n hadnleInput(e, \"last_name\")}\r\n onChange={(e) =>\r\n setcustomer({ ...customer, door_no: e.target.value })\r\n }\r\n value={\r\n toggleRegister.customer !== null\r\n ? toggleRegister.customer.door_no\r\n : null\r\n }\r\n />\r\n hadnleInput(e, \"last_name\")}\r\n onChange={(e) =>\r\n setcustomer({ ...customer, street: e.target.value })\r\n }\r\n value={\r\n toggleRegister.customer !== null\r\n ? toggleRegister.customer.street\r\n : null\r\n }\r\n />\r\n hadnleInput(e, \"last_name\")}\r\n onChange={(e) =>\r\n setcustomer({ ...customer, city: e.target.value })\r\n }\r\n value={\r\n toggleRegister.customer !== null\r\n ? toggleRegister.customer.city\r\n : null\r\n }\r\n />\r\n hadnleInput(e, \"last_name\")}\r\n onChange={(e) =>\r\n setcustomer({ ...customer, postal_code: e.target.value })\r\n }\r\n value={\r\n toggleRegister.customer !== null\r\n ? toggleRegister.customer.postal_code\r\n : null\r\n }\r\n />\r\n {toggleRegister.customer === null ? (\r\n \r\n Create\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default RegisterCustomer;\r\n","import {\r\n ADD_TOTAL,\r\n ADD_TO_TICKETS,\r\n DECREASE,\r\n RESET,\r\n ORDER_TYPE,\r\n REMOVE_FROM_TICKETS,\r\n DISCOUNT_AMOUNT,\r\n DISCOUNT_TYPE,\r\n} from \"../types\";\r\n\r\nexport const addTicket = (item: any) => (dispatch: any, getState: any) => {\r\n dispatch({\r\n type: ADD_TO_TICKETS,\r\n payload: item,\r\n });\r\n\r\n localStorage.setItem(\r\n \"tickets\",\r\n JSON.stringify(getState().ticketReducer.ticketItems)\r\n );\r\n};\r\n\r\nexport const reduceQuantity = (item: any) => (dispatch: any, getState: any) => {\r\n // console.log(\"item\", item);\r\n dispatch({\r\n type: DECREASE,\r\n payload: item,\r\n });\r\n\r\n localStorage.setItem(\r\n \"tickets\",\r\n JSON.stringify(getState().ticketReducer.ticketItems)\r\n );\r\n};\r\n\r\nexport const setTotal = (total: any) => (dispatch: any, getState: any) => {\r\n dispatch({\r\n type: ADD_TOTAL,\r\n payload: total,\r\n });\r\n // const tot = getState().ticketReducer.total;\r\n localStorage.setItem(\"total\", getState().ticketReducer.total);\r\n};\r\n\r\nexport const resetTickets = () => (dispatch: any, getState: any) => {\r\n dispatch({\r\n type: RESET,\r\n });\r\n localStorage.removeItem(\"tickets\");\r\n};\r\n\r\nexport const setOrderType =\r\n (orderType: string) => (dispatch: any, getState: any) => {\r\n dispatch({\r\n type: ORDER_TYPE,\r\n payload: orderType,\r\n });\r\n localStorage.setItem(\"orderType\", getState().ticketReducer.orderType);\r\n };\r\n\r\nexport const setDiscountType =\r\n (discountType: String) => (dispatch: any, getState: any) => {\r\n dispatch({\r\n type: DISCOUNT_TYPE,\r\n payload: discountType,\r\n });\r\n localStorage.setItem(\"discountType\", getState().ticketReducer.discountType);\r\n };\r\n\r\nexport const setDiscountAmount =\r\n (amount: number) => (dispatch: any, getState: any) => {\r\n dispatch({\r\n type: DISCOUNT_AMOUNT,\r\n payload: amount,\r\n });\r\n localStorage.setItem(\r\n \"discountAmount\",\r\n getState().ticketReducer.discountAmount\r\n );\r\n };\r\n\r\nexport const removeItem = (itemCode: any) => (dispatch: any, getState: any) => {\r\n dispatch({\r\n type: REMOVE_FROM_TICKETS,\r\n payload: itemCode,\r\n });\r\n};\r\n","import { MoreHoriz, MoreVert } from \"@material-ui/icons\";\r\n\r\nimport React, { useState, useEffect, useLayoutEffect } from \"react\";\r\nimport styles from \"./ScrollMenu.module.scss\";\r\n\r\ninterface IProps {\r\n category: any;\r\n handleCategoryFilter: (category: any) => void;\r\n handleSearch: (search: any) => void;\r\n loading: boolean;\r\n}\r\n\r\nconst ScrollMenu: React.FC = ({\r\n category,\r\n handleCategoryFilter,\r\n loading,\r\n handleSearch,\r\n}) => {\r\n const [selected, setselected] = useState(0);\r\n const [view, setview] = useState(category);\r\n const [dropdown, setdropdown] = useState(category);\r\n //console.log(view);\r\n //console.log(dropdown);\r\n\r\n const [width, height] = useWindowSize();\r\n // console.log(width, height);\r\n\r\n const handleNavigation = () => {\r\n if (width > 1400) {\r\n setview(category.slice(0, 8));\r\n setdropdown(category.slice(8, category.length));\r\n } else if (width > 1200) {\r\n // console.log(\"disp;ay 5\");\r\n setview(category.slice(0, 5));\r\n setdropdown(category.slice(5, category.length));\r\n } else if (width > 1000) {\r\n // console.log(\"display 4\");\r\n setview(category.slice(0, 4));\r\n setdropdown(category.slice(4, category.length));\r\n } else if (width > 800) {\r\n // console.log(\"display 3\");\r\n setview(category.slice(0, 3));\r\n setdropdown(category.slice(3, category.length));\r\n } else if (width > 600) {\r\n // console.log(\"display 2\");\r\n setview(category.slice(0, 2));\r\n setdropdown(category.slice(2, category.length));\r\n } else {\r\n // console.log(\"display 1\");\r\n setview(category.slice(0, 1));\r\n setdropdown(category.slice(1, category.length));\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n handleNavigation();\r\n }, [width]);\r\n\r\n return (\r\n
\r\n
\r\n {/*
\r\n \r\n
*/}\r\n\r\n {loading === false &&\r\n category?.map((item: string, index: any) => (\r\n
\r\n {\r\n setselected(index);\r\n handleCategoryFilter(e);\r\n }}\r\n className={\r\n selected === index\r\n ? styles.item_selected\r\n : styles.item_not_selected\r\n }\r\n >\r\n {item}\r\n \r\n
\r\n ))}\r\n\r\n {/* {loading === false &&\r\n view?.map((item: string, index: any) => (\r\n
\r\n {\r\n setselected(index);\r\n handleCategoryFilter(e);\r\n }}\r\n className={\r\n selected === index\r\n ? styles.item_selected\r\n : styles.item_not_selected\r\n }\r\n >\r\n {item}\r\n \r\n
\r\n ))} */}\r\n
\r\n\r\n {/*
\r\n \r\n
\r\n {dropdown?.map((item: string, index: any) => (\r\n {\r\n setselected(-1);\r\n handleCategoryFilter(e);\r\n }}\r\n >\r\n {item}\r\n \r\n ))}\r\n
\r\n
*/}\r\n handleSearch(e)} />\r\n
\r\n );\r\n};\r\n\r\nexport default ScrollMenu;\r\n\r\nfunction useWindowSize() {\r\n const [size, setsize] = useState([0, 0]);\r\n\r\n useLayoutEffect(() => {\r\n function updateSize() {\r\n setsize([window.innerWidth, window.innerHeight]);\r\n }\r\n window.addEventListener(\"resize\", updateSize);\r\n updateSize();\r\n return () => window.removeEventListener(\"resize\", updateSize);\r\n }, []);\r\n return size;\r\n}\r\n","import { CalendarPicker } from \"@mui/lab\";\r\nimport React from \"react\";\r\nimport styles from \"./PreviousSales.module.scss\";\r\n// import { Calendar } from \"react-date-range\";\r\n\r\nimport AdapterDateFns from \"@mui/lab/AdapterDateFns\";\r\nimport LocalizationProvider from \"@mui/lab/LocalizationProvider\";\r\n\r\nimport DatePicker from \"@mui/lab/DatePicker\";\r\nimport Stack from \"@mui/material/Stack\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport { Button } from \"@mui/material\";\r\nimport FilterListIcon from \"@material-ui/icons/FilterList\";\r\n\r\ninterface IProps {\r\n onClose: () => void;\r\n}\r\n\r\nconst PreviousSales: React.FC = ({ onClose }) => {\r\n const [filterDateValue, setFilterDateValue] = React.useState(\r\n new Date()\r\n );\r\n\r\n const handleDateFilterChange = (newValue: Date | null) => {\r\n setFilterDateValue(newValue);\r\n };\r\n\r\n const handleFiltering = () => {\r\n console.log(\"filterDateValue\");\r\n window.alert(filterDateValue);\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n {/* Select from:\r\n */}\r\n \r\n {/* */}\r\n }\r\n />\r\n {/* */}\r\n }\r\n onClick={handleFiltering}\r\n >\r\n Filter\r\n \r\n \r\n
\r\n\r\n {/*
\r\n \r\n
*/}\r\n
\r\n {/* #1111\r\n #1111\r\n #1111\r\n #1111\r\n #1111\r\n #1111\r\n #1111\r\n #1111\r\n #1111\r\n #1111 */}\r\n \r\n previous sales should be fetched from the backend and displayed\r\n here.\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default PreviousSales;\r\n","import React, { useState } from \"react\";\r\nimport styles from \"./DiscountModel.module.scss\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\n\r\nimport InputLabel from \"@mui/material/InputLabel\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport Select, { SelectChangeEvent } from \"@mui/material/Select\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport {\r\n setDiscountType,\r\n setDiscountAmount,\r\n} from \"../../../../redux/actions/tickets/tickets\";\r\n\r\ninterface IProps {\r\n handleCancelDiscount: any;\r\n setAndClose: any;\r\n}\r\nconst DiscountModel: React.FC = ({\r\n handleCancelDiscount,\r\n setAndClose,\r\n}) => {\r\n const [discountType, setdiscountType] = useState(\"\");\r\n const [discountAmount, setdiscountAmount] = useState(0);\r\n console.log(discountAmount);\r\n\r\n const dispatch = useDispatch();\r\n const state = useSelector((state: any) => state.ticketReducer);\r\n console.log(state);\r\n\r\n const handleDiscount = () => {\r\n dispatch(setDiscountType(discountType));\r\n\r\n const discountPercentage = discountAmount / 100;\r\n console.log(discountPercentage);\r\n\r\n discountType === \"Percentage\"\r\n ? dispatch(setDiscountAmount(discountPercentage))\r\n : dispatch(setDiscountAmount(discountAmount));\r\n // dispatch(setDiscountAmount(discountAmount));\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n {/*

{ticketItems.length}

*/}\r\n \r\n \r\n Discount Type\r\n \r\n setdiscountType(e.target.value)}\r\n >\r\n Percentage\r\n\r\n Amount\r\n\r\n {/* Thirty */}\r\n \r\n \r\n\r\n {discountType === \"Percentage\" ? (\r\n <>\r\n \r\n ) =>\r\n setdiscountAmount(parseInt(e.target.value))\r\n }\r\n />\r\n \r\n ) : discountType === \"Amount\" ? (\r\n <>\r\n \r\n ) =>\r\n setdiscountAmount(parseInt(e.target.value))\r\n }\r\n />\r\n \r\n ) : (\r\n

Please select a discount type

\r\n )}\r\n
\r\n {\r\n handleDiscount();\r\n setAndClose();\r\n }}\r\n >\r\n SET DISCOUNT\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default DiscountModel;\r\n","import React from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport styles from \"./ItemDiscount.module.scss\";\r\n\r\ninterface IProps {\r\n handleCancelDiscount: any;\r\n setAndClose: any;\r\n}\r\nconst ItemDiscount: React.FC = ({\r\n handleCancelDiscount,\r\n setAndClose,\r\n}) => {\r\n const { ticketItems, total, orderType, discountAmount, discountType } =\r\n useSelector((state: any) => state.ticketReducer);\r\n\r\n const handleDiscount = () => {};\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {ticketItems.map((item: any) => (\r\n
\r\n {item.ItemName}\r\n \r\n
\r\n ))}\r\n
\r\n\r\n
\r\n {\r\n handleDiscount();\r\n setAndClose();\r\n }}\r\n >\r\n SET DISCOUNT\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ItemDiscount;\r\n","export const salesData = [\r\n {\r\n invoice_id: \"5602213870380292\",\r\n date: \"2022-06-02\",\r\n sales: 558,\r\n },\r\n {\r\n invoice_id: \"3581521800776789\",\r\n date: \"2022-06-02\",\r\n sales: 562,\r\n },\r\n {\r\n invoice_id: \"6380593731474293\",\r\n date: \"2022-06-10\",\r\n sales: 561,\r\n },\r\n {\r\n invoice_id: \"5010127616589519\",\r\n date: \"2022-06-10\",\r\n sales: 622,\r\n },\r\n {\r\n invoice_id: \"5100174240181124\",\r\n date: \"2022-06-09\",\r\n sales: 177,\r\n },\r\n {\r\n invoice_id: \"3573912377552044\",\r\n date: \"2022-06-02\",\r\n sales: 954,\r\n },\r\n {\r\n invoice_id: \"372301478763545\",\r\n date: \"2022-06-05\",\r\n sales: 289,\r\n },\r\n {\r\n invoice_id: \"6331107102159233\",\r\n date: \"2022-06-11\",\r\n sales: 901,\r\n },\r\n {\r\n invoice_id: \"4026044936337997\",\r\n date: \"2022-06-07\",\r\n sales: 761,\r\n },\r\n {\r\n invoice_id: \"30459383119833\",\r\n date: \"2022-06-05\",\r\n sales: 972,\r\n },\r\n {\r\n invoice_id: \"3575003264838205\",\r\n date: \"2022-06-13\",\r\n sales: 107,\r\n },\r\n {\r\n invoice_id: \"201991337700345\",\r\n date: \"2022-06-07\",\r\n sales: 402,\r\n },\r\n {\r\n invoice_id: \"5291210319996999\",\r\n date: \"2022-06-11\",\r\n sales: 98,\r\n },\r\n {\r\n invoice_id: \"3544332379261294\",\r\n date: \"2022-06-10\",\r\n sales: 653,\r\n },\r\n {\r\n invoice_id: \"490367652809482092\",\r\n date: \"2022-06-13\",\r\n sales: 552,\r\n },\r\n {\r\n invoice_id: \"5602236269789963\",\r\n date: \"2022-06-06\",\r\n sales: 603,\r\n },\r\n {\r\n invoice_id: \"3532921490095492\",\r\n date: \"2022-06-03\",\r\n sales: 861,\r\n },\r\n {\r\n invoice_id: \"5602241934161986\",\r\n date: \"2022-06-13\",\r\n sales: 81,\r\n },\r\n {\r\n invoice_id: \"3580673474393812\",\r\n date: \"2022-06-12\",\r\n sales: 249,\r\n },\r\n {\r\n invoice_id: \"5602218962303625476\",\r\n date: \"2022-06-02\",\r\n sales: 262,\r\n },\r\n {\r\n invoice_id: \"3581662440337580\",\r\n date: \"2022-06-14\",\r\n sales: 977,\r\n },\r\n {\r\n invoice_id: \"3579331675761690\",\r\n date: \"2022-06-11\",\r\n sales: 742,\r\n },\r\n {\r\n invoice_id: \"670641491389768678\",\r\n date: \"2022-06-11\",\r\n sales: 866,\r\n },\r\n {\r\n invoice_id: \"3560663932659205\",\r\n date: \"2022-06-11\",\r\n sales: 346,\r\n },\r\n {\r\n invoice_id: \"3585943580070850\",\r\n date: \"2022-06-12\",\r\n sales: 171,\r\n },\r\n {\r\n invoice_id: \"5108752635212810\",\r\n date: \"2022-06-02\",\r\n sales: 875,\r\n },\r\n {\r\n invoice_id: \"3546375894799593\",\r\n date: \"2022-06-11\",\r\n sales: 429,\r\n },\r\n {\r\n invoice_id: \"3573026263505188\",\r\n date: \"2022-06-14\",\r\n sales: 793,\r\n },\r\n {\r\n invoice_id: \"3556852285949943\",\r\n date: \"2022-06-08\",\r\n sales: 134,\r\n },\r\n {\r\n invoice_id: \"3575734822555838\",\r\n date: \"2022-06-08\",\r\n sales: 203,\r\n },\r\n {\r\n invoice_id: \"6762558785356793\",\r\n date: \"2022-06-03\",\r\n sales: 574,\r\n },\r\n {\r\n invoice_id: \"3569259527141369\",\r\n date: \"2022-06-16\",\r\n sales: 676,\r\n },\r\n {\r\n invoice_id: \"4026605722032164\",\r\n date: \"2022-06-06\",\r\n sales: 301,\r\n },\r\n {\r\n invoice_id: \"6759097039372599131\",\r\n date: \"2022-06-01\",\r\n sales: 537,\r\n },\r\n {\r\n invoice_id: \"374622409294641\",\r\n date: \"2022-06-14\",\r\n sales: 543,\r\n },\r\n {\r\n invoice_id: \"3568014768847633\",\r\n date: \"2022-06-02\",\r\n sales: 367,\r\n },\r\n {\r\n invoice_id: \"3570535952336666\",\r\n date: \"2022-06-12\",\r\n sales: 88,\r\n },\r\n {\r\n invoice_id: \"3557077620664333\",\r\n date: \"2022-06-07\",\r\n sales: 792,\r\n },\r\n {\r\n invoice_id: \"3557443064363750\",\r\n date: \"2022-06-14\",\r\n sales: 66,\r\n },\r\n {\r\n invoice_id: \"3544321011138416\",\r\n date: \"2022-06-04\",\r\n sales: 43,\r\n },\r\n {\r\n invoice_id: \"4936306941347132\",\r\n date: \"2022-06-04\",\r\n sales: 225,\r\n },\r\n {\r\n invoice_id: \"490572803429778408\",\r\n date: \"2022-06-07\",\r\n sales: 934,\r\n },\r\n {\r\n invoice_id: \"5235782784062571\",\r\n date: \"2022-06-06\",\r\n sales: 182,\r\n },\r\n {\r\n invoice_id: \"5494750522058959\",\r\n date: \"2022-06-16\",\r\n sales: 465,\r\n },\r\n {\r\n invoice_id: \"4017959389982\",\r\n date: \"2022-06-11\",\r\n sales: 792,\r\n },\r\n {\r\n invoice_id: \"3533762327116088\",\r\n date: \"2022-06-14\",\r\n sales: 629,\r\n },\r\n {\r\n invoice_id: \"5018895178696396182\",\r\n date: \"2022-06-16\",\r\n sales: 759,\r\n },\r\n {\r\n invoice_id: \"5100170510754582\",\r\n date: \"2022-06-15\",\r\n sales: 351,\r\n },\r\n {\r\n invoice_id: \"3572515213013807\",\r\n date: \"2022-06-13\",\r\n sales: 100,\r\n },\r\n {\r\n invoice_id: \"67060959058460737\",\r\n date: \"2022-06-10\",\r\n sales: 754,\r\n },\r\n {\r\n invoice_id: \"4903371688499984528\",\r\n date: \"2022-06-14\",\r\n sales: 347,\r\n },\r\n {\r\n invoice_id: \"4405181131435456\",\r\n date: \"2022-06-15\",\r\n sales: 404,\r\n },\r\n {\r\n invoice_id: \"372301898239084\",\r\n date: \"2022-06-04\",\r\n sales: 294,\r\n },\r\n {\r\n invoice_id: \"3577782048209910\",\r\n date: \"2022-06-15\",\r\n sales: 692,\r\n },\r\n {\r\n invoice_id: \"3566843754878901\",\r\n date: \"2022-06-11\",\r\n sales: 360,\r\n },\r\n {\r\n invoice_id: \"4041371839457\",\r\n date: \"2022-06-13\",\r\n sales: 730,\r\n },\r\n {\r\n invoice_id: \"6331109544359911336\",\r\n date: \"2022-06-02\",\r\n sales: 480,\r\n },\r\n {\r\n invoice_id: \"5557010398168869\",\r\n date: \"2022-06-14\",\r\n sales: 168,\r\n },\r\n {\r\n invoice_id: \"67623893339484234\",\r\n date: \"2022-06-05\",\r\n sales: 328,\r\n },\r\n {\r\n invoice_id: \"4905075741583135483\",\r\n date: \"2022-06-13\",\r\n sales: 868,\r\n },\r\n {\r\n invoice_id: \"5048375305363474\",\r\n date: \"2022-06-04\",\r\n sales: 43,\r\n },\r\n {\r\n invoice_id: \"5602248257396842\",\r\n date: \"2022-06-10\",\r\n sales: 384,\r\n },\r\n {\r\n invoice_id: \"5100135651970297\",\r\n date: \"2022-06-07\",\r\n sales: 713,\r\n },\r\n {\r\n invoice_id: \"67713894000895527\",\r\n date: \"2022-06-16\",\r\n sales: 209,\r\n },\r\n {\r\n invoice_id: \"3570140013288814\",\r\n date: \"2022-06-15\",\r\n sales: 510,\r\n },\r\n {\r\n invoice_id: \"3563968683031752\",\r\n date: \"2022-06-02\",\r\n sales: 621,\r\n },\r\n {\r\n invoice_id: \"4917631391473267\",\r\n date: \"2022-06-10\",\r\n sales: 952,\r\n },\r\n {\r\n invoice_id: \"3528769966836485\",\r\n date: \"2022-06-11\",\r\n sales: 790,\r\n },\r\n {\r\n invoice_id: \"3552549259466797\",\r\n date: \"2022-06-14\",\r\n sales: 871,\r\n },\r\n {\r\n invoice_id: \"3569192853666537\",\r\n date: \"2022-06-02\",\r\n sales: 673,\r\n },\r\n {\r\n invoice_id: \"4913934864078314\",\r\n date: \"2022-06-16\",\r\n sales: 652,\r\n },\r\n {\r\n invoice_id: \"5018943471416756385\",\r\n date: \"2022-06-05\",\r\n sales: 242,\r\n },\r\n {\r\n invoice_id: \"3576480657954055\",\r\n date: \"2022-06-04\",\r\n sales: 822,\r\n },\r\n {\r\n invoice_id: \"060489794559933082\",\r\n date: \"2022-06-06\",\r\n sales: 669,\r\n },\r\n {\r\n invoice_id: \"3545460380399560\",\r\n date: \"2022-06-11\",\r\n sales: 181,\r\n },\r\n {\r\n invoice_id: \"4041595989773\",\r\n date: \"2022-06-01\",\r\n sales: 218,\r\n },\r\n {\r\n invoice_id: \"30144116875600\",\r\n date: \"2022-06-11\",\r\n sales: 898,\r\n },\r\n {\r\n invoice_id: \"3553752357801563\",\r\n date: \"2022-06-10\",\r\n sales: 671,\r\n },\r\n {\r\n invoice_id: \"6331100502007847\",\r\n date: \"2022-06-13\",\r\n sales: 777,\r\n },\r\n {\r\n invoice_id: \"3543170734608218\",\r\n date: \"2022-06-09\",\r\n sales: 194,\r\n },\r\n {\r\n invoice_id: \"5108759990722796\",\r\n date: \"2022-06-02\",\r\n sales: 358,\r\n },\r\n {\r\n invoice_id: \"3532323602744945\",\r\n date: \"2022-06-11\",\r\n sales: 656,\r\n },\r\n {\r\n invoice_id: \"5602211475909945\",\r\n date: \"2022-06-03\",\r\n sales: 968,\r\n },\r\n {\r\n invoice_id: \"3559544590000697\",\r\n date: \"2022-06-10\",\r\n sales: 508,\r\n },\r\n {\r\n invoice_id: \"6761994932783343\",\r\n date: \"2022-06-06\",\r\n sales: 101,\r\n },\r\n {\r\n invoice_id: \"5100140853290536\",\r\n date: \"2022-06-10\",\r\n sales: 173,\r\n },\r\n {\r\n invoice_id: \"5100173867422597\",\r\n date: \"2022-06-07\",\r\n sales: 641,\r\n },\r\n {\r\n invoice_id: \"3548550850790590\",\r\n date: \"2022-06-16\",\r\n sales: 33,\r\n },\r\n {\r\n invoice_id: \"3581607666275055\",\r\n date: \"2022-06-12\",\r\n sales: 374,\r\n },\r\n {\r\n invoice_id: \"3547843493402009\",\r\n date: \"2022-06-07\",\r\n sales: 761,\r\n },\r\n {\r\n invoice_id: \"5610117441769577419\",\r\n date: \"2022-06-07\",\r\n sales: 539,\r\n },\r\n {\r\n invoice_id: \"67623480640775771\",\r\n date: \"2022-06-13\",\r\n sales: 438,\r\n },\r\n {\r\n invoice_id: \"3541407191582748\",\r\n date: \"2022-06-10\",\r\n sales: 21,\r\n },\r\n {\r\n invoice_id: \"3541792993149402\",\r\n date: \"2022-06-01\",\r\n sales: 688,\r\n },\r\n {\r\n invoice_id: \"3575147340176047\",\r\n date: \"2022-06-10\",\r\n sales: 463,\r\n },\r\n {\r\n invoice_id: \"3532632698910461\",\r\n date: \"2022-06-17\",\r\n sales: 717,\r\n },\r\n {\r\n invoice_id: \"3543405559767115\",\r\n date: \"2022-06-17\",\r\n sales: 792,\r\n },\r\n {\r\n invoice_id: \"67638188328386745\",\r\n date: \"2022-06-01\",\r\n sales: 360,\r\n },\r\n {\r\n invoice_id: \"633110345653946149\",\r\n date: \"2022-06-17\",\r\n sales: 178,\r\n },\r\n {\r\n invoice_id: \"5602218735372038\",\r\n date: \"2022-06-17\",\r\n sales: 893,\r\n },\r\n];\r\n","import React, { useState } from \"react\";\r\nimport styles from \"./ReceiptJournal.module.scss\";\r\nimport { salesData } from \"./data.js\";\r\n\r\ninterface IProps {\r\n closeModel: any;\r\n // saveAndClose:any\r\n}\r\n\r\nconst ReceiptJournal: React.FC = ({ closeModel }) => {\r\n let currentDate = new Date();\r\n const [date, setDate] = useState(\"2022-06-17\");\r\n\r\n // `${currentDate.getFullYear()}-${\r\n // currentDate.getMonth() + 1\r\n // }-${currentDate.getDate()}`;\r\n const filterDate = () => {\r\n //console.log(date);\r\n window.alert(currentDate.getMonth());\r\n const ddmmyy = date;\r\n const [yy, mm, dd] = ddmmyy.split(\"-\");\r\n const dateFilter = [dd, mm, yy].join(\"/\");\r\n // window.alert(dateFilter);\r\n // setDate(dateFilter);\r\n };\r\n\r\n const calculateTotal = () => {\r\n let total = 0;\r\n const filteredSales = salesData.filter((item: any) => item.date === date);\r\n console.log(filteredSales.length);\r\n // return filteredSales.length;\r\n filteredSales.forEach(function (item: any) {\r\n total = total + item.sales;\r\n });\r\n return total;\r\n };\r\n return (\r\n
\r\n
\r\n Receipt Journal\r\n
\r\n \r\n {\r\n setDate(e.target.value);\r\n }}\r\n />\r\n \r\n {\" Showing for: \" + date}\r\n
\r\n
\r\n {/* {salesData.map((item: any, index: number) => (\r\n
\r\n {item.invoice_id}\r\n {item.date}\r\n {item.sales}\r\n
\r\n ))} */}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {salesData\r\n .filter((item: any) => item.date === date)\r\n .map((item: any, index: number) => (\r\n \r\n \r\n \r\n \r\n Rs. {item.sales.toFixed(2)}\r\n \r\n {/* \r\n \r\n Rs. {item.sales.toFixed(2)}\r\n */}\r\n \r\n ))}\r\n
Invoice NoDateSales
{item.invoice_id}{item.date}
\r\n {item.date}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {/*
\r\n Total sales: \r\n Rs. {calculateTotal().toFixed(2)}\r\n
*/}\r\n Total sales:\r\n\r\n Rs. {calculateTotal().toFixed(2)}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ReceiptJournal;\r\n","import React from \"react\";\r\nimport styles from \"./HoldTransaction.module.scss\";\r\n\r\nconst holdItems = [\r\n {\r\n invoice_id: \"6331109544359911336\",\r\n date: \"2022-06-17\",\r\n sales: 480,\r\n },\r\n {\r\n invoice_id: \"5557010398168869\",\r\n date: \"2022-06-17\",\r\n sales: 168,\r\n },\r\n {\r\n invoice_id: \"67623893339484234\",\r\n date: \"2022-06-17\",\r\n sales: 328,\r\n },\r\n];\r\n\r\ninterface IProps {\r\n closeModel: any;\r\n}\r\nconst HoldTransaction: React.FC = ({ closeModel }) => {\r\n return (\r\n
\r\n
\r\n
\r\n Hold Transaction\r\n
\r\n
\r\n {holdItems.map((item: any, index: number) => (\r\n
\r\n {item.invoice_id}\r\n {item.date}\r\n Rs. {item.sales}\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default HoldTransaction;\r\n","import {\r\n ArrowDownward,\r\n DeleteForever,\r\n More,\r\n MoreHoriz,\r\n RemoveCircle,\r\n} from \"@material-ui/icons\";\r\nimport React, { useState, useEffect, ChangeEvent } from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport apis from \"../../api/apis\";\r\nimport { API_INTEGRATION_ID } from \"../../config\";\r\nimport { IBaseModel } from \"../../interfaces/base\";\r\nimport { IPartnerMenuItem } from \"../../interfaces/menu\";\r\nimport ItemCard from \"./components/ItemCard/ItemCard\";\r\nimport styles from \"./Sales.module.scss\";\r\nimport { Add, Remove } from \"@material-ui/icons\";\r\nimport LoadingComponent from \"../loadingComponent/LoadingComponent\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport { addSalesItems } from \"../../redux/actions/sales/sales\";\r\nimport { PersonAddAlt, Preview } from \"@mui/icons-material\";\r\nimport RegisterCustomer from \"./components/registerCustomer/RegisterCustomer\";\r\nimport {\r\n addTicket,\r\n reduceQuantity,\r\n removeItem,\r\n resetTickets,\r\n setTotal,\r\n setDiscountType,\r\n setDiscountAmount,\r\n} from \"../../redux/actions/tickets/tickets\";\r\nimport { cus_data } from \"./components/registerCustomer/data\";\r\nimport ScrollMenu from \"./components/scrollMenu/ScrollMenu\";\r\nimport PreviousSales from \"./components/previousSales/PreviousSales\";\r\nimport InputLabel from \"@mui/material/InputLabel\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport Select, { SelectChangeEvent } from \"@mui/material/Select\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport DiscountModel from \"./components/DiscountModel/DiscountModel\";\r\nimport ItemDiscount from \"./components/ItemDiscount/ItemDiscount\";\r\nimport ReceiptJournal from \"./components/ReceiptJournalModel/ReceiptJournal\";\r\nimport HoldTransaction from \"./components/HoldTransaction/HoldTransaction\";\r\n\r\nconst Sales = () => {\r\n const [loading, setloading] = useState(false);\r\n const [toggleRegister, settoggleRegister] = useState(false);\r\n //const [items, setitems] = useState();\r\n const [category, setcategory] = useState([]);\r\n\r\n const [searchQuery, setsearchQuery] = useState(\"\");\r\n const [categoryFilter, setcategoryFilter] = useState();\r\n\r\n const [selected, setselected] = useState(-1);\r\n const [selectOrderType, setSelectOrderType] = useState(\"\");\r\n\r\n //model states\r\n const [showPreviousSales, setshowPreviousSales] = useState(false);\r\n const [showDiscount, setshowDiscount] = useState(false);\r\n const [showItemDiscount, setshowItemDiscount] = useState(false);\r\n const [showReceiptJournal, setShowReceiptJournal] = useState(false);\r\n const [showHoldSale, setShowHoldSale] = useState(false);\r\n\r\n //dispatch\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n //user\r\n const { user } = useSelector((state: any) => state.authentication);\r\n //console.log(user);\r\n const { isAllMenuLoading, menuItems, isMenuLoaded, error } = useSelector(\r\n (state: any) => state.getAllMenuReducer\r\n );\r\n //console.log(menuItems);\r\n //console.log(isAllMenuLoading);\r\n // console.log(isMenuLoaded);\r\n // console.log(error);\r\n\r\n const { ticketItems, total, orderType, discountAmount, discountType } =\r\n useSelector((state: any) => state.ticketReducer);\r\n\r\n //console.log(ticketItems);\r\n\r\n const getItems = async () => {\r\n setloading(true);\r\n const data: IBaseModel = {\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n\r\n const { ResponseData } = await apis.Menus.getMenuItemList(data);\r\n // setitems(ResponseData.MenuItemList.slice(0, 20));\r\n\r\n //CategoryName\r\n\r\n const categoryName = ResponseData.MenuItemList.map(\r\n (item: IPartnerMenuItem) => item.CategoryName\r\n );\r\n //console.log(categoryName);\r\n\r\n const newCategory = Array.from(new Set(categoryName));\r\n setcategory(newCategory);\r\n //console.log(newCategory);\r\n\r\n setloading(false);\r\n setcategoryFilter(category[0]);\r\n };\r\n\r\n useEffect(() => {\r\n // getItems();\r\n // history.push(\"/sales\");\r\n }, []);\r\n\r\n useEffect(() => {\r\n // console.log(\"rendered\");\r\n totalSum();\r\n }, [ticketItems]);\r\n\r\n useEffect(() => {\r\n if (category.length > 0) {\r\n setcategoryFilter(category[0]);\r\n setselected(0);\r\n }\r\n }, [category]);\r\n\r\n useEffect(() => {\r\n if (isMenuLoaded) {\r\n const categoryName = menuItems.map(\r\n (item: IPartnerMenuItem) => item.CategoryName\r\n );\r\n //console.log(categoryName);\r\n\r\n const newCategory = Array.from(new Set(categoryName));\r\n setcategory(newCategory);\r\n }\r\n }, [isMenuLoaded, menuItems]);\r\n\r\n const addToTicket = (item: IPartnerMenuItem) => {\r\n const newItem = {\r\n ItemName: item.ItemName,\r\n ItemCode: item.ItemCode,\r\n ItemPrice: item.SalesPrice,\r\n // ItemQuantity: 1,\r\n };\r\n\r\n dispatch(addTicket(newItem));\r\n\r\n // if (tickets.length === 0) {\r\n\r\n // settickets([...tickets, newItem]);\r\n // } else {\r\n\r\n // tickets.some((prevState: any) => prevState.ItemCode === item.ItemCode)\r\n // ? settickets((prevTickets: any) =>\r\n // prevTickets.map((singleItem: any) =>\r\n // singleItem.ItemCode === item.ItemCode\r\n // ? { ...singleItem, ItemQuantity: singleItem.ItemQuantity + 1 }\r\n // : singleItem\r\n // )\r\n // )\r\n // : settickets([...tickets, newItem]);\r\n // }\r\n };\r\n\r\n // const handleQuantity = (action: string, item: any) => {\r\n // console.log(\"item\");\r\n // console.log(item);\r\n // if (action === \"add\") {\r\n // console.log(\"add\");\r\n // settickets((prevTickets: any) =>\r\n // prevTickets.map((singleItem: any) =>\r\n // singleItem.ItemCode === item.ItemCode\r\n // ? { ...singleItem, ItemQuantity: singleItem.ItemQuantity + 1 }\r\n // : singleItem\r\n // )\r\n // );\r\n // } else if (action === \"remove\") {\r\n // console.log(\"remove\");\r\n // settickets([...tickets]);\r\n // if (item.ItemQuantity <= 1) {\r\n // console.log(\"remove: \" + item.ItemQuantity);\r\n // const filtered = tickets.filter(\r\n // (singleItem: any) => singleItem.ItemCode !== item.ItemCode\r\n // );\r\n\r\n // settickets(filtered);\r\n // } else {\r\n // settickets((prevTickets: any) =>\r\n // prevTickets.map((singleItem: any) =>\r\n // singleItem.ItemCode === item.ItemCode\r\n // ? { ...singleItem, ItemQuantity: singleItem.ItemQuantity - 1 }\r\n // : singleItem\r\n // )\r\n // );\r\n // }\r\n // }\r\n // };\r\n\r\n //search filter\r\n const handleSearch = (event: any) => {\r\n const { value } = event.target;\r\n setsearchQuery(value);\r\n };\r\n\r\n const handleCategoryFilter = (event: any) => {\r\n const { value } = event.target;\r\n setcategoryFilter(value);\r\n };\r\n\r\n const totalSum = () => {\r\n var sum = 0;\r\n ticketItems &&\r\n ticketItems.forEach(function (item: any) {\r\n sum += item.ItemPrice * item.ItemQuantity;\r\n });\r\n return sum.toFixed(2);\r\n };\r\n\r\n const proceedToPaymentHandler = () => {\r\n // dispatch(addSalesItems(tickets));\r\n dispatch(setTotal(totalSum()));\r\n };\r\n\r\n if (isAllMenuLoading) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n // console.log(parseInt(totalSum()));\r\n return (\r\n
\r\n {showDiscount && (\r\n {\r\n setshowDiscount(false);\r\n dispatch(setDiscountType(\"\"));\r\n }}\r\n setAndClose={() => setshowDiscount(false)}\r\n />\r\n )}\r\n {showItemDiscount && (\r\n {\r\n //dispatch\r\n\r\n setshowItemDiscount(false);\r\n }}\r\n setAndClose={() => setshowItemDiscount(false)}\r\n />\r\n )}\r\n\r\n {showReceiptJournal && (\r\n setShowReceiptJournal(false)} />\r\n )}\r\n {showHoldSale && (\r\n setShowHoldSale(false)} />\r\n )}\r\n
\r\n \r\n\r\n
\r\n {/*
\r\n \r\n \r\n {\r\n setshowDiscount(true);\r\n }}\r\n >\r\n Total discount\r\n \r\n {\r\n setshowItemDiscount(true);\r\n }}\r\n >\r\n Item discount\r\n \r\n \r\n \r\n {\r\n setShowReceiptJournal(true);\r\n }}\r\n >\r\n Recipt journal\r\n \r\n \r\n
*/}\r\n\r\n
\r\n {isAllMenuLoading === false &&\r\n searchQuery === \"\" &&\r\n categoryFilter === \"all\"\r\n ? menuItems?.map((item: IPartnerMenuItem) => (\r\n addToTicket(item)} />\r\n ))\r\n : categoryFilter !== \"all\" && searchQuery === \"\"\r\n ? menuItems\r\n ?.filter(\r\n (singleItem: any) =>\r\n singleItem.CategoryName === categoryFilter\r\n )\r\n .map((item: IPartnerMenuItem) => (\r\n addToTicket(item)} />\r\n ))\r\n : menuItems\r\n ?.filter(\r\n (singleItem: any) =>\r\n singleItem.ItemName.toLowerCase().includes(searchQuery) ||\r\n singleItem.ItemCode === searchQuery\r\n )\r\n .map((item: IPartnerMenuItem) => (\r\n addToTicket(item)} />\r\n ))}\r\n
\r\n
\r\n
\r\n\r\n {/* right section */}\r\n
\r\n
\r\n \r\n \r\n Order Type\r\n \r\n setSelectOrderType(e.target.value)}\r\n >\r\n Walk in/Pick up\r\n\r\n Delivery\r\n Phone Order\r\n {/* Thirty */}\r\n \r\n \r\n settoggleRegister(true)} />\r\n
\r\n
\r\n
\r\n
\r\n Item\r\n
\r\n\r\n
\r\n Quantity\r\n
\r\n\r\n
\r\n Unit price\r\n
\r\n\r\n
\r\n Total price\r\n
\r\n
\r\n {ticketItems.length > 0 ? (\r\n ticketItems.map((item: any) => (\r\n
\r\n
\r\n {item.ItemName}\r\n
\r\n\r\n
\r\n \r\n {item.ItemQuantity}\r\n \r\n
\r\n
\r\n {item.ItemPrice.toFixed(2)}\r\n
\r\n
\r\n {(item.ItemQuantity * item.ItemPrice).toFixed(2)}\r\n {\r\n dispatch(removeItem(item.ItemCode));\r\n // window.alert(item.ItemCode);\r\n }}\r\n />\r\n
\r\n
\r\n ))\r\n ) : (\r\n Please add items\r\n )}\r\n
\r\n\r\n {ticketItems.length > 0 && (\r\n <>\r\n
\r\n {/* Rs.10000 */}\r\n
\r\n Sub Total :\r\n Rs. {totalSum()}\r\n
\r\n {discountType !== \"\" ? (\r\n
\r\n Discount :\r\n {discountType === \"Amount\" ? (\r\n {discountAmount.toFixed(2)}\r\n ) : (\r\n \r\n {(Number(totalSum()) * discountAmount).toFixed(2)}\r\n \r\n )}\r\n {/* {discountAmount} */}\r\n
\r\n ) : (\r\n
\r\n Discount :\r\n -\r\n
\r\n )}\r\n\r\n
\r\n {discountType === \"\" ? (\r\n <>\r\n Net Total :\r\n {totalSum()}\r\n \r\n ) : (\r\n <>\r\n Net Total :\r\n {discountType === \"Amount\" ? (\r\n \r\n {(\r\n Number(totalSum()) - discountAmount.toFixed(2)\r\n ).toFixed(2)}\r\n \r\n ) : (\r\n \r\n {(\r\n Number(totalSum()) -\r\n Number(totalSum()) * discountAmount\r\n ).toFixed(2)}\r\n \r\n )}\r\n {/* {parseInt(totalSum()) - discountAmount} */}\r\n \r\n )}\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {\r\n setshowDiscount(true);\r\n }}\r\n >\r\n Total discount\r\n \r\n {\r\n setshowItemDiscount(true);\r\n }}\r\n >\r\n Item discount\r\n \r\n \r\n {/* {\" \"}\r\n {\" \"} */}\r\n {\r\n setShowReceiptJournal(true);\r\n }}\r\n >\r\n Recipt journal\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n {toggleRegister && (\r\n settoggleRegister(false)}\r\n customerList={cus_data}\r\n />\r\n )}\r\n\r\n {showPreviousSales && (\r\n setshowPreviousSales(false)} />\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default Sales;\r\n","import React, { FC } from \"react\";\r\nimport styles from \"./SuccessModel.module.scss\";\r\n\r\ninterface IProps {\r\n onClick: any;\r\n balanceAmount: any;\r\n paymentType: String;\r\n customerName?: String;\r\n}\r\n\r\nconst SuccessModel: FC = ({\r\n balanceAmount,\r\n onClick,\r\n paymentType,\r\n customerName,\r\n}) => {\r\n console.log(balanceAmount);\r\n return (\r\n
\r\n
\r\n
\r\n

Sales completed

\r\n {paymentType === \"cash\" ? (\r\n
\r\n Balance Amount: \r\n {balanceAmount}\r\n
\r\n ) : (\r\n
\r\n

\r\n Credit purchase has been approved to {customerName}'s account{\" \"}\r\n

\r\n
\r\n )}\r\n\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default SuccessModel;\r\n","import { MenuItem, Select } from \"@material-ui/core\";\r\nimport { ArrowBack } from \"@material-ui/icons\";\r\nimport { Paid, PersonAddAlt } from \"@mui/icons-material\";\r\nimport React, {\r\n ChangeEvent,\r\n ChangeEventHandler,\r\n useEffect,\r\n useState,\r\n useRef,\r\n} from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport { getSalesItems } from \"../../../../redux/actions/sales/sales\";\r\nimport {\r\n resetTickets,\r\n setOrderType,\r\n} from \"../../../../redux/actions/tickets/tickets\";\r\nimport LoadingComponent from \"../../../loadingComponent/LoadingComponent\";\r\nimport ItemCard from \"../ItemCard/ItemCard\";\r\nimport { cus_data } from \"../registerCustomer/data\";\r\nimport RegisterCustomer from \"../registerCustomer/RegisterCustomer\";\r\nimport SuccessModel from \"../SuccessModel/SuccessModel\";\r\n\r\n//\r\n\r\n//scss\r\nimport styles from \"./Checkout.module.scss\";\r\n\r\nconst Checkout = () => {\r\n const { ticketItems, total, orderType, discountType, discountAmount } =\r\n useSelector((state: any) => state.ticketReducer);\r\n\r\n const [totalPayable, settotalPayable] = useState(total);\r\n const [totalPaid, settotalPaid] = useState(0);\r\n const [inputValue, setinputValue] = useState(totalPayable);\r\n const [roundOff, setRoundOff] = useState([\r\n 100, 200, 300, 400, 500, 1000, 5000, 10000,\r\n ]);\r\n const [roundOffUK, setRoundOffUK] = useState([\r\n 1, 2, 3, 4, 5, 10, 20, 50, 100,\r\n ]);\r\n const [paymentType, setpaymentType] = useState(\"cash\");\r\n const [creditCustomerID, setcreditCustomerID] = useState(-1);\r\n const [creditCustomerList, setcreditCustomerList] = useState(cus_data);\r\n const [creditedCustomer, setcreditedCustomer] = useState();\r\n //console.log(inputValue);\r\n const [toggleRegister, settoggleRegister] = useState(false);\r\n\r\n const inputRef = useRef(null);\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const { itemList, loading, loaded } = useSelector(\r\n (state: any) => state.getSalesItemReducer\r\n );\r\n\r\n //const { user } = useSelector((state: any) => state.authentication);\r\n //console.log(user);\r\n\r\n // console.log(\"ticketReducer\");\r\n // console.log(ticketItems);\r\n // console.log(\"total\");\r\n // console.log(parseInt(total));\r\n // settotalPayable(parseInt(total));\r\n // console.log(\"orderType :\", orderType);\r\n // console.log(\"inputValue :\", inputValue);\r\n // console.log(\"totalPayable :\", totalPayable);\r\n // console.log(\"totalPaid :\", totalPaid);\r\n\r\n const totalSum = () => {\r\n var sum = 0;\r\n\r\n ticketItems.forEach(function (item: any) {\r\n sum += item.ItemPrice * item.ItemQuantity;\r\n });\r\n\r\n //settotalPayable(sum);\r\n return sum.toFixed(2);\r\n };\r\n\r\n useEffect(() => {\r\n dispatch(getSalesItems());\r\n }, [dispatch]);\r\n\r\n const closeSales = () => {\r\n //localStorage.removeItem(\"tickets\");\r\n localStorage.setItem(\"tickets\", JSON.stringify([]));\r\n localStorage.removeItem(\"total\");\r\n dispatch(resetTickets());\r\n\r\n history.push(\"/sales\");\r\n };\r\n\r\n const handlePay = (e: any) => {\r\n e.preventDefault();\r\n //console.log(e.target);\r\n console.log(\"value\");\r\n console.log(inputValue);\r\n if (inputValue === totalPayable) {\r\n console.log(\"equal\");\r\n settotalPaid(inputValue);\r\n\r\n // closeSales();\r\n } else {\r\n console.log(\"not equal\");\r\n settotalPaid((prevState: number) => prevState + parseInt(inputValue));\r\n }\r\n //settotalPaid((prevState: number) => prevState + parseInt(inputValue));\r\n };\r\n\r\n const handleCreditPay = () => {\r\n const customerID = parseInt(creditCustomerID);\r\n // console.log(customerID);\r\n\r\n const cc = creditCustomerList.find(\r\n (item: any) => item.customer_code === customerID\r\n );\r\n //console.log(cc);\r\n setcreditedCustomer(cc);\r\n setcreditCustomerList((previousList: any) =>\r\n previousList.map((singleCustomer: any) =>\r\n singleCustomer.customer_code === customerID\r\n ? {\r\n ...singleCustomer,\r\n total_payable: totalPayable - totalPaid,\r\n }\r\n : singleCustomer\r\n )\r\n );\r\n\r\n settotalPaid(totalPayable);\r\n //console.table(creditCustomerList);\r\n\r\n // setcreditCustomerList((prevState: any) =>\r\n // prevState.map((item: any) =>\r\n // item.customer_code === customerID\r\n // ? console.log(item.customer_name)\r\n // : console.log(\"not found\")\r\n // )\r\n // );\r\n };\r\n\r\n const handleToggleRegister = () => {\r\n settoggleRegister(true);\r\n };\r\n // if (loading) {\r\n // return ;\r\n // }\r\n useEffect(() => {\r\n settotalPayable(\r\n orderType === \"pickup\" ? total : ((total * 110) / 100).toFixed(2)\r\n );\r\n //setinputValue(totalPayable);\r\n if (orderType === \"delivery\") {\r\n // setDefaultSelected(true);\r\n setinputValue(((total * 110) / 100).toFixed(2));\r\n }\r\n if (orderType === \"pickup\") {\r\n // setDefaultSelected(true);\r\n setinputValue(total);\r\n }\r\n }, [orderType, total]);\r\n\r\n return (\r\n
\r\n {totalPaid >= totalPayable && (\r\n \r\n )}\r\n
\r\n
\r\n {/* Billing Items: */}\r\n \r\n \r\n \r\n {/* Add */}\r\n {/* dispatch(setOrderType(e.target.value))}\r\n >\r\n \r\n \r\n \r\n \r\n */}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {ticketItems &&\r\n ticketItems.map((item: any) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n
ItemUnit priceQuantityTotal
{item.ItemName}{item.ItemPrice.toFixed(2)}{item.ItemQuantity}{(item.ItemPrice * item.ItemQuantity).toFixed(2)}
\r\n
\r\n\r\n {ticketItems.length > 0 && (\r\n <>\r\n
\r\n {/* Rs.10000 */}\r\n
\r\n Sub Total :\r\n Rs. {totalSum()}\r\n
\r\n {discountType !== \"\" ? (\r\n
\r\n Discount :\r\n {discountType === \"Amount\" ? (\r\n {discountAmount.toFixed(2)}\r\n ) : (\r\n \r\n {(Number(totalSum()) * discountAmount).toFixed(2)}\r\n \r\n )}\r\n {/* {discountAmount} */}\r\n
\r\n ) : (\r\n
\r\n Discount :\r\n -\r\n
\r\n )}\r\n\r\n
\r\n {discountType === \"\" ? (\r\n <>\r\n Net Total :\r\n {total}\r\n \r\n ) : (\r\n <>\r\n Net Total :\r\n {discountType === \"Amount\" ? (\r\n \r\n {(Number(total) - discountAmount.toFixed(2)).toFixed(2)}\r\n \r\n ) : (\r\n \r\n {(\r\n Number(total) -\r\n Number(total) * discountAmount\r\n ).toFixed(2)}\r\n \r\n )}\r\n {/* {parseInt(totalSum()) - discountAmount} */}\r\n \r\n )}\r\n
\r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n setpaymentType(e.target.value)}\r\n >\r\n \r\n \r\n \r\n
\r\n\r\n {/* hello */}\r\n\r\n
\r\n {totalPaid > totalPayable ? (\r\n {(totalPaid - totalPayable).toFixed(2)}\r\n ) : (\r\n \r\n {(totalPayable - totalPaid - discountAmount).toFixed(2)}\r\n \r\n )}\r\n\r\n {totalPaid > totalPayable ? (\r\n

Change amount

\r\n ) : (\r\n

Total amount due

\r\n )}\r\n
\r\n
\r\n {paymentType === \"cash\" ? (\r\n
\r\n {/* */}\r\n Cash recieved : \r\n\r\n ) => {\r\n // setDefaultSelected(false);\r\n setinputValue(e.target.value);\r\n console.log(e.target.value);\r\n }}\r\n />\r\n handlePay(e)}\r\n disabled={totalPaid >= totalPayable ? true : false}\r\n >\r\n Pay\r\n \r\n
\r\n ) : (\r\n
\r\n {\r\n // console.log(e.target.value);\r\n setcreditCustomerID(e.target.value);\r\n }}\r\n >\r\n \r\n {creditCustomerList &&\r\n creditCustomerList.map((item: any) => (\r\n \r\n ))}\r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n {totalPayable - totalPaid > 0 &&\r\n roundOffUK.map(\r\n (item: number) =>\r\n item > totalPayable - totalPaid && (\r\n {\r\n setinputValue(item);\r\n settotalPaid(item);\r\n }}\r\n >\r\n {item.toFixed(2)}\r\n \r\n )\r\n )}\r\n
\r\n {/*
\r\n totalPaid ? true : false}\r\n >\r\n Start new sale\r\n \r\n
*/}\r\n
\r\n {toggleRegister && (\r\n settoggleRegister(false)}\r\n customerList={creditCustomerList}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default Checkout;\r\n","import { Dispatch } from \"react\";\r\nimport {\r\n ADD_SALES_ITEM_ERROR,\r\n ADD_SALES_ITEM_LOAD,\r\n ADD_SALES_ITEM_SUCCESS,\r\n GET_SALES_ITEMS_LOAD,\r\n GET_SALES_ITEMS_SUCCESS,\r\n GET_SALES_ITEMS_ERROR,\r\n} from \"../types\";\r\n\r\nexport const addSalesItems = (list: any[]) => async (dispatch: any) => {\r\n try {\r\n dispatch({\r\n type: ADD_SALES_ITEM_LOAD,\r\n });\r\n\r\n dispatch({\r\n type: ADD_SALES_ITEM_SUCCESS,\r\n payload: list,\r\n });\r\n\r\n localStorage.setItem(\"salesItems\", JSON.stringify(list));\r\n } catch (error) {\r\n dispatch({\r\n type: ADD_SALES_ITEM_ERROR,\r\n payload: error,\r\n });\r\n }\r\n};\r\n\r\nexport const getSalesItems = () => async (dispatch: any) => {\r\n try {\r\n dispatch({\r\n type: GET_SALES_ITEMS_LOAD,\r\n });\r\n\r\n const list = localStorage.getItem(\"salesItems\");\r\n\r\n if (list) {\r\n dispatch({\r\n type: GET_SALES_ITEMS_SUCCESS,\r\n payload: JSON.parse(list),\r\n });\r\n }\r\n } catch (error) {\r\n dispatch({\r\n type: GET_SALES_ITEMS_ERROR,\r\n payload: error,\r\n });\r\n }\r\n};\r\n","import React, { useState } from \"react\";\r\nimport styles from \"./Reports.module.scss\";\r\nimport { useSelector } from \"react-redux\";\r\nimport printJS from \"print-js\";\r\n\r\nimport AdapterDateFns from \"@mui/lab/AdapterDateFns\";\r\nimport LocalizationProvider from \"@mui/lab/LocalizationProvider\";\r\n\r\nimport DatePicker from \"@mui/lab/DatePicker\";\r\nimport Stack from \"@mui/material/Stack\";\r\nimport { Alert, AlertTitle, Button } from \"@mui/material\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport {\r\n IPartnerOrderRequestModel,\r\n IPartnerReportRequestModel,\r\n} from \"../../interfaces/order\";\r\nimport apis from \"../../api/apis\";\r\nimport { APIResponseType } from \"../../config/enumApiResponseTypes\";\r\nimport SnackBar, { SnackBarModel } from \"../snackBar/SnackBar\";\r\nimport { notifyServerError } from \"../../config/toastNotification\";\r\nimport LoadingComponent from \"../loadingComponent/LoadingComponent\";\r\nimport { API_INTEGRATION_ID } from \"../../config\";\r\nimport moment from \"moment\";\r\nimport { DesktopDatePicker } from \"@mui/lab\";\r\nimport { Print } from \"@material-ui/icons\";\r\n\r\nconst Reports = () => {\r\n // let currentDate = moment(moment.now()).format(\"DD-MM-YYYY\");\r\n\r\n const [fromDate, setFromDate] = useState(\r\n moment(moment.now()).format()\r\n );\r\n const [toDate, setToDate] = useState(\r\n moment(moment.now()).format()\r\n );\r\n const [loading, setloading] = useState(false);\r\n const [error, seterror] = useState(false);\r\n\r\n //snack bar model\r\n const [snackBarmodel, setSnackBarModel] = useState({\r\n openSnackBar: false,\r\n msg: \"\",\r\n autoHideDuration: 6000,\r\n });\r\n\r\n const { user } = useSelector((state: any) => state.authentication);\r\n\r\n const handleFromDateFilter = (newValue: Date | null) => {\r\n setFromDate(newValue);\r\n };\r\n\r\n const handleToDateFilter = (newValue: Date | null) => {\r\n setToDate(newValue);\r\n };\r\n\r\n const b64toBlob = (base64: string, type = \"application/pdf\") =>\r\n fetch(`data:${type};base64,${base64}`).then((res) => res.blob());\r\n\r\n const handleReports = async () => {\r\n // window.alert(\"from\" + fromDate + \"to\" + toDate);\r\n // alert(fromDate);\r\n // return;\r\n if (fromDate === null || toDate === null) {\r\n seterror(true);\r\n return;\r\n } else {\r\n seterror(false);\r\n const requestModel: IPartnerReportRequestModel = {\r\n PartnerOrderId: 1,\r\n OrderId: \"\",\r\n POSStatusKey: 0,\r\n OrderDate: undefined,\r\n OrderTypeKey: 0,\r\n DenyOrCancelReasonCode: \"\",\r\n DenyOrCancelReasonKey: 0,\r\n CurrentPOSStatusCode: \"\",\r\n OrderReference: \"\",\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user.CompanyKey,\r\n LocationKey: user.LocationKey,\r\n UserKey: user.UserKey,\r\n EnvironmentName: user.EnvironmentName,\r\n IsUrbanPiper: false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n fromDate: fromDate,\r\n toDate: toDate,\r\n };\r\n\r\n setloading(true);\r\n const response = await apis.Orders.getXReport(requestModel);\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n if (response.ResponseData.PartnerOrder.SalesReportSource !== null) {\r\n //Build a URL from the file\r\n const fileURL = URL.createObjectURL(\r\n await b64toBlob(\r\n response.ResponseData.PartnerOrder.SalesReportSource\r\n )\r\n );\r\n console.log(fileURL);\r\n\r\n //Open the URL on new Window\r\n //window.open(fileURL);\r\n setloading(false);\r\n printJS(fileURL);\r\n } else {\r\n //show error msg\r\n setloading(false);\r\n setSnackBarModel({\r\n openSnackBar: true,\r\n msg: \"Error: Report Source Not Found !\",\r\n autoHideDuration: 6000,\r\n });\r\n }\r\n } else {\r\n setloading(false);\r\n notifyServerError();\r\n }\r\n }\r\n // const requestModel: IPartnerReportRequestModel = {\r\n // PartnerOrderId: 1,\r\n // OrderId: \"\",\r\n // POSStatusKey: 0,\r\n // OrderDate: undefined,\r\n // OrderTypeKey: 0,\r\n // DenyOrCancelReasonCode: \"\",\r\n // DenyOrCancelReasonKey: 0,\r\n // CurrentPOSStatusCode: \"\",\r\n // OrderReference: \"\",\r\n // RequestId: \"\",\r\n // IntegrationId: \"\",\r\n // ApiKey: \"\",\r\n // UID: {\r\n // CompanyKey: user.CompanyKey,\r\n // LocationKey: user.LocationKey,\r\n // UserKey: user.UserKey,\r\n // EnvironmentName: user.EnvironmentName,\r\n // IsUrbanPiper: false,\r\n // },\r\n // RequestingUser: 0,\r\n // RequestingId: \"\",\r\n // Schema: \"\",\r\n // ValidationMessages: [],\r\n // IsApprovedStatus: 0,\r\n // IsActive: 0,\r\n // fromDate: fromDate,\r\n // toDate: toDate,\r\n // };\r\n\r\n // setloading(true);\r\n // const response = await apis.Orders.getXReport(requestModel);\r\n\r\n // if (response.ResponseType === APIResponseType.Success) {\r\n // if (response.ResponseData.PartnerOrder.BillReportSource !== null) {\r\n // //Build a URL from the file\r\n // const fileURL = URL.createObjectURL(\r\n // await b64toBlob(response.ResponseData.PartnerOrder.BillReportSource)\r\n // );\r\n\r\n // //Open the URL on new Window\r\n // //window.open(fileURL);\r\n // setloading(false);\r\n // printJS(fileURL);\r\n // } else {\r\n // //show error msg\r\n // setloading(false);\r\n // setSnackBarModel({\r\n // openSnackBar: true,\r\n // msg: \"Error: Report Source Not Found !\",\r\n // autoHideDuration: 6000,\r\n // });\r\n // }\r\n // } else {\r\n // setloading(false);\r\n // notifyServerError();\r\n // }\r\n };\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n
\r\n {error && Please select a date range}\r\n
\r\n
\r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n
\r\n
\r\n
\r\n {/* */}\r\n }\r\n onClick={handleReports}\r\n >\r\n Generate\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Reports;\r\n","import Button from \"@mui/material/Button\";\r\nimport { SaveAlt } from \"@material-ui/icons\";\r\n\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport styles from \"./PartnerConfiguration.module.scss\";\r\nimport apis from \"../../api/apis\";\r\nimport { IBaseModel } from \"../../interfaces/base\";\r\nimport { API_INTEGRATION_ID } from \"../../config\";\r\nimport {\r\n IPartnerStorePartnerRequestModel,\r\n IStorePartner,\r\n} from \"../../interfaces/configuration\";\r\nimport LoadingComponent from \"../loadingComponent/LoadingComponent\";\r\nimport axios from \"axios\";\r\nimport { APIResponseType } from \"../../config/enumApiResponseTypes\";\r\nimport { Alert } from \"@mui/material\";\r\n\r\ninterface DeliveryPartner {\r\n id: number;\r\n partner: String;\r\n isEnabled: boolean;\r\n}\r\n\r\nconst sampleData: DeliveryPartner[] = [\r\n {\r\n id: 1,\r\n partner: \"Pick Me\",\r\n isEnabled: false,\r\n },\r\n {\r\n id: 2,\r\n partner: \"Uber\",\r\n isEnabled: true,\r\n },\r\n {\r\n id: 3,\r\n partner: \"Deliveroo\",\r\n isEnabled: true,\r\n },\r\n {\r\n id: 4,\r\n partner: \"Just eat\",\r\n isEnabled: false,\r\n },\r\n {\r\n id: 5,\r\n partner: \"Ecommerce\",\r\n isEnabled: false,\r\n },\r\n];\r\n\r\nconst PartnerConfiguration = () => {\r\n const [partners, setpartners] = useState([]);\r\n const [isAllSelected, setIsAllSelected] = useState(false);\r\n const [loading, setloading] = useState(false);\r\n const [error, seterror] = useState();\r\n const [isUpdateSuccess, setisUpdateSuccess] = useState(false);\r\n //console.table(partners);\r\n\r\n const { user } = useSelector((state: any) => state.authentication);\r\n\r\n const history = useHistory();\r\n\r\n useEffect(() => {\r\n getPartners();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (isUpdateSuccess) {\r\n setTimeout(() => {\r\n setisUpdateSuccess(false);\r\n // history.push()\r\n history.push(\"/configuration\");\r\n }, 5000);\r\n }\r\n\r\n if (error) {\r\n setTimeout(() => {\r\n //setisUpdateSuccess(false);\r\n seterror(false);\r\n // history.push()\r\n history.push(\"/configuration\");\r\n }, 5000);\r\n }\r\n }, [isUpdateSuccess, error]);\r\n\r\n const hadnlePartner = (e: any, id: number) => {\r\n const { checked } = e.target;\r\n\r\n //console.log(id);\r\n setIsAllSelected(false);\r\n\r\n setpartners((prevState: IStorePartner[]) =>\r\n prevState.map((partner: IStorePartner) =>\r\n partner.StorePartnerId === id\r\n ? {\r\n ...partner,\r\n IsOrderEnabled: checked,\r\n }\r\n : partner\r\n )\r\n );\r\n };\r\n\r\n const handleIsAllSeleted = (e: any) => {\r\n const { checked } = e.target;\r\n setIsAllSelected(checked);\r\n\r\n setpartners((prevState: IStorePartner[]) =>\r\n prevState.map((partner: IStorePartner) => ({\r\n ...partner,\r\n IsOrderEnabled: checked,\r\n }))\r\n );\r\n };\r\n\r\n const getPartners = async () => {\r\n setloading(true);\r\n const requestModel: IBaseModel = {\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n const response = await apis.configuration.getStorePartners(requestModel);\r\n\r\n //console.log(response.ResponseData.Storepartners);\r\n setpartners(response.ResponseData.Storepartners);\r\n setloading(false);\r\n };\r\n\r\n const saveSettings = async () => {\r\n // console.log(\"clicked\");\r\n\r\n try {\r\n // const requestModel: IBaseModel = {\r\n // RequestId: API_INTEGRATION_ID,\r\n // IntegrationId: API_INTEGRATION_ID,\r\n // ApiKey: \"\",\r\n // UID: {\r\n // CompanyKey: user?.CompanyKey ?? 0,\r\n // LocationKey: user?.LocationKey ?? 0,\r\n // UserKey: user?.UserKey ?? 0,\r\n // EnvironmentName: user?.EnvironmentName ?? 0,\r\n // IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n // },\r\n // RequestingUser: 0,\r\n // RequestingId: \"\",\r\n // Schema: \"\",\r\n // ValidationMessages: [],\r\n // IsApprovedStatus: 0,\r\n // IsActive: 0,\r\n // };\r\n\r\n setloading(true);\r\n const updateRequestModel: IPartnerStorePartnerRequestModel = {\r\n storePartners: partners,\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n\r\n const response = await apis.configuration.updateStorePartners(\r\n updateRequestModel\r\n );\r\n setloading(false);\r\n\r\n if (response.ResponseType === APIResponseType.Success) {\r\n seterror(false);\r\n setisUpdateSuccess(true);\r\n // history.push(\"/configuration\");\r\n }\r\n if (response.ResponseType === APIResponseType.Error) {\r\n seterror(true);\r\n setisUpdateSuccess(false);\r\n }\r\n // const response = await axios.post(\r\n // \"PartnerStore/UpdateStorePartnersStatus\",\r\n // updateRequestModel\r\n // );\r\n\r\n // console.log(response);\r\n // history.push(\"/configuration\");\r\n } catch (error) {\r\n seterror(true);\r\n // console.log(error);\r\n }\r\n };\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n return (\r\n
\r\n {isUpdateSuccess && Update successfull}\r\n {error && Update failed}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {partners.length > 0 &&\r\n partners.map((partner: IStorePartner) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Partner\r\n
\r\n Enable for ordering\r\n\r\n \r\n handleIsAllSeleted(e)}\r\n className={\r\n isAllSelected ? styles.switch_on : styles.switch\r\n }\r\n checked={isAllSelected === true ? true : false}\r\n />\r\n
\r\n \r\n
\r\n
{partner.OrderTypeName}\r\n \r\n \r\n hadnlePartner(e, partner.StorePartnerId)\r\n }\r\n />\r\n
\r\n \r\n
\r\n\r\n
\r\n }\r\n onClick={saveSettings}\r\n >\r\n Update\r\n \r\n\r\n \r\n }\r\n onClick={() => {}}\r\n >\r\n Store details\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default PartnerConfiguration;\r\n","import React, { useState } from \"react\";\r\n\r\nimport styles from \"./StoreDetails.module.scss\";\r\nimport { DeleteForever, Save } from \"@mui/icons-material\";\r\nimport { Button, Checkbox, FormControlLabel } from \"@mui/material\";\r\nimport { Close, Remove, Clear } from \"@material-ui/icons\";\r\n\r\ninterface IStoreDetails {\r\n StoreName: string;\r\n City: string;\r\n Address: string;\r\n MinimumPickupTime: string;\r\n MinimumDeliveryTime: string;\r\n ContactNumber: number;\r\n NotificationNumber: number;\r\n NotificationEmail: String;\r\n DeliveryZIPCode: number;\r\n Longitude: number;\r\n Latitude: number;\r\n MinimumOrderValue: number;\r\n OpeningTime: string;\r\n CLosingTIme: string;\r\n}\r\n\r\nconst details: IStoreDetails = {\r\n StoreName: \"BLX\",\r\n City: \"Colombo\",\r\n Address: \"Colombo fort\",\r\n MinimumPickupTime: \"10 minutes\",\r\n MinimumDeliveryTime: \"20 minutes\",\r\n ContactNumber: 7776666666,\r\n NotificationNumber: 7776666666,\r\n NotificationEmail: \"BLX@test.com\",\r\n DeliveryZIPCode: 11123,\r\n Longitude: 185.888,\r\n Latitude: 190.1234,\r\n MinimumOrderValue: 1000,\r\n OpeningTime: \"10 AM\",\r\n CLosingTIme: \"12 PM\",\r\n};\r\nconst StoreDetails = () => {\r\n const [store, setStore] = useState(details);\r\n const [days, setdays] = useState(1);\r\n const [openDays, setopenDays] = useState([0]);\r\n const [week, setWeek] = useState([\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\",\r\n \"Sunday\",\r\n ]);\r\n const [selectedDays, setSelectedDays] = useState([]);\r\n const [selectedOpenDays, setSelectedOpenDays] = useState([]);\r\n //console.log(selectedOpenDays);\r\n const [openingTIme, setOpeningTIme] = useState();\r\n const [closingTIme, setClosingTIme] = useState();\r\n\r\n const handleStoreOpeningTImes = (value: any) => {\r\n selectedDays.includes(value)\r\n ? setSelectedDays((prev: any) =>\r\n prev.filter((item: any) => item !== value)\r\n )\r\n : setSelectedDays((prev: any) => [...prev, value]);\r\n };\r\n\r\n const handleStoreTimes = () => {\r\n const datatoSet = {\r\n OpenDays: selectedDays,\r\n OpenTIme: openingTIme,\r\n ClosingTIme: closingTIme,\r\n };\r\n\r\n setSelectedOpenDays([...selectedOpenDays, datatoSet]);\r\n setOpeningTIme(null);\r\n setClosingTIme(null);\r\n setSelectedDays([]);\r\n };\r\n\r\n const handleAllDayChange = (e: React.ChangeEvent) => {\r\n const { checked } = e.target;\r\n\r\n if (checked) {\r\n setSelectedDays(week);\r\n } else {\r\n setSelectedDays([]);\r\n }\r\n };\r\n\r\n const removeDate = (index: any) => {\r\n selectedOpenDays.splice(index, 1);\r\n setSelectedOpenDays([...selectedOpenDays]);\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {/* {openDays.map((open: any) => (\r\n \r\n ))} */}\r\n
\r\n
\r\n {\r\n setOpeningTIme(e.target.value);\r\n }}\r\n />\r\n {\r\n setClosingTIme(e.target.value);\r\n }}\r\n />\r\n
\r\n }\r\n label=\"Select all day\"\r\n />\r\n
\r\n {week.map((day: any) => (\r\n <>\r\n {selectedDays.includes(day) ? (\r\n handleStoreOpeningTImes(day)}\r\n variant=\"contained\"\r\n >\r\n {day}\r\n \r\n ) : (\r\n handleStoreOpeningTImes(day)}\r\n >\r\n {day}\r\n \r\n )}\r\n {/* */}\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {selectedOpenDays.map((days: any, index: any) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
DaysOpening timeClosing timeRemove
\r\n
\r\n {days.OpenDays.map((day: any) => (\r\n {day}\r\n ))}\r\n
\r\n
{days.OpenTIme}{days.ClosingTIme}\r\n removeDate(index)} />{\" \"}\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default StoreDetails;\r\n","import React, { useEffect } from \"react\";\r\nimport { BrowserRouter as Router, Switch, Redirect } from \"react-router-dom\";\r\n\r\n// routers\r\nimport PrivateRoute from \"./PrivateRoute\";\r\nimport PublicRoute from \"./PublicRoute\";\r\n\r\n// components\r\nimport OrdersPage from \"../components/orders/ordersPage/OrdersPage\";\r\nimport LoginPage from \"../components/loginPage/LoginPage\";\r\nimport Dashboard from \"../components/dashboard/Dashboard\";\r\nimport Header from \"../components/header/Header\";\r\nimport MenuPage from \"../components/menuPage/MenuPage\";\r\nimport ProvisionSetupPage from \"../components/provisioning & store setup/provisionSetupPage/ProvisionSetupPage\";\r\nimport Sales from \"../components/sales/Sales\";\r\nimport Checkout from \"../components/sales/components/checkout/Checkout\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { getMenuList } from \"../redux/actions/menu/menuActions\";\r\nimport { IBaseModel } from \"../interfaces/base\";\r\nimport { API_INTEGRATION_ID } from \"../config\";\r\nimport Reports from \"../components/reports/Reports\";\r\nimport PartnerConfiguration from \"../components/PartnerConfiguration/PartnerConfiguration\";\r\nimport StoreDetails from \"../components/PartnerConfiguration/components/storeDetails/StoreDetails\";\r\n\r\nconst AppRouter = (): JSX.Element => {\r\n const dispatch = useDispatch();\r\n const { user } = useSelector((state: any) => state.authentication);\r\n //console.log(\"user\");\r\n //console.log(user);\r\n const { isAllMenuLoading, menuItems, isMenuLoaded, error } = useSelector(\r\n (state: any) => state.getAllMenuReducer\r\n );\r\n //console.log(menuItems);\r\n //console.log(isAllMenuLoading);\r\n // console.log(isMenuLoaded);\r\n //console.log(error);\r\n\r\n const fetchMenu = async () => {\r\n console.log(\"menu fetching\");\r\n const data: IBaseModel = {\r\n RequestId: API_INTEGRATION_ID,\r\n IntegrationId: API_INTEGRATION_ID,\r\n ApiKey: \"\",\r\n UID: {\r\n CompanyKey: user?.CompanyKey ?? 0,\r\n LocationKey: user?.LocationKey ?? 0,\r\n UserKey: user?.UserKey ?? 0,\r\n EnvironmentName: user?.EnvironmentName ?? 0,\r\n IsUrbanPiper: user?.IsUrbanPiper ?? false,\r\n },\r\n RequestingUser: 0,\r\n RequestingId: \"\",\r\n Schema: \"\",\r\n ValidationMessages: [],\r\n IsApprovedStatus: 0,\r\n IsActive: 0,\r\n };\r\n dispatch(getMenuList(data));\r\n };\r\n\r\n useEffect(() => {\r\n if (user !== undefined) {\r\n fetchMenu();\r\n }\r\n }, [dispatch, user]);\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AppRouter;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://cra.link/PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === \"localhost\" ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === \"[::1]\" ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: Config) {\r\n //production mode\r\n if (process.env.NODE_ENV === \"production\" && \"serviceWorker\" in navigator) {\r\n //development mode\r\n //if (\"serviceWorker\" in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n //for production mode\r\n window.addEventListener(\"load\", () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n \"This web app is being served cache-first by a service \" +\r\n \"worker. To learn more, visit https://cra.link/PWA\"\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n\r\n //for development mode\r\n /*window.addEventListener(\"load\", () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n console.log(\"file location\" + swUrl);\r\n\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n });*/\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then((registration) => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === \"installed\") {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n \"New content is available and will be used when all \" +\r\n \"tabs for this page are closed. See https://cra.link/PWA.\"\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log(\"Content is cached for offline use.\");\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error during service worker registration:\", error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { \"Service-Worker\": \"script\" },\r\n })\r\n .then((response) => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf(\"javascript\") === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then((registration) => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n \"No internet connection found. App is running in offline mode.\"\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if (\"serviceWorker\" in navigator) {\r\n navigator.serviceWorker.ready\r\n .then((registration) => {\r\n registration.unregister();\r\n })\r\n .catch((error) => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import { EMPTY_STATE, LOGIN, LOGOUT } from \"../../actions/types\";\r\n\r\nconst authentication = (state = {}, action: any) => {\r\n switch (action.type) {\r\n case LOGIN:\r\n return {\r\n user: action.data,\r\n };\r\n case LOGOUT:\r\n return {\r\n user: undefined,\r\n };\r\n case EMPTY_STATE:\r\n return {};\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default authentication;\r\n","import { GET_ALL_ORDERS } from \"../../actions/types\";\r\n\r\nconst orders = (state = {}, action: any) => {\r\n switch (action.type) {\r\n case GET_ALL_ORDERS:\r\n return {\r\n orders: action.data,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default orders;\r\n","import { GET_STATUS_ERROR, GET_STATUS_LOAD, GET_STATUS_SUCCESS, SET_STATUS_ERROR, SET_STATUS_LOAD, SET_STATUS_RESET, SET_STATUS_SUCCESS } from \"../../actions/types\";\r\n\r\nconst innitialState = {\r\nisUpdated:false\r\n}\r\n//set store status\r\nexport const setStoreStatusReducer = (state = innitialState,action:any)=>{\r\n\r\n switch (action.type) {\r\n case SET_STATUS_LOAD:\r\n return{\r\n isUpdated:false,\r\n status:{}\r\n \r\n }\r\n case SET_STATUS_SUCCESS:\r\n return{\r\n isUpdated:true,\r\n status:action.data\r\n }\r\n \r\n case SET_STATUS_ERROR:\r\n return{\r\n error:action.error,\r\n isUpdated:false,\r\n status:{}\r\n \r\n }\r\n case SET_STATUS_RESET:\r\n return {\r\n status:{},\r\n isUpdated:false\r\n }\r\n \r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n//get store status\r\nexport const getStoreStatusReducer = (state = {loading:true},action:any)=>{\r\n\r\n switch (action.type) {\r\n case GET_STATUS_LOAD:\r\n return{\r\n loading:true,\r\n status:{}\r\n }\r\n case GET_STATUS_SUCCESS:\r\n return{\r\n loading:false,\r\n status:action.data\r\n }\r\n \r\n case GET_STATUS_ERROR:\r\n return{\r\n error:action.error,\r\n loading:false,\r\n status:{}\r\n }\r\n \r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n ADD_TO_TICKETS,\r\n REMOVE_FROM_TICKETS,\r\n INCREASE,\r\n DECREASE,\r\n ADD_TOTAL,\r\n ORDER_TYPE,\r\n RESET,\r\n DISCOUNT_AMOUNT,\r\n DISCOUNT_TYPE,\r\n} from \"../../actions/types\";\r\nconst items = localStorage.getItem(\"tickets\");\r\nconst total = localStorage.getItem(\"total\");\r\nconst initialState = {\r\n orderType: \"pickup\",\r\n discountType: \"\",\r\n discountAmount: 0,\r\n total: total ? parseInt(total).toFixed(2) : 0,\r\n ticketItems: items ? JSON.parse(items) : [],\r\n};\r\n\r\nexport const ticketReducer = (state = initialState, action: any) => {\r\n switch (action.type) {\r\n case ADD_TO_TICKETS:\r\n const item = action.payload;\r\n // console.log(\"item\", item);\r\n\r\n const isExist = state.ticketItems.find(\r\n (singleItem: any) => singleItem.ItemCode === item.ItemCode\r\n );\r\n\r\n if (isExist) {\r\n //console.log(\"item already exist\");\r\n return {\r\n ...state,\r\n\r\n ticketItems: state.ticketItems.map((singleItem: any) =>\r\n singleItem.ItemCode === item.ItemCode\r\n ? { ...singleItem, ItemQuantity: singleItem.ItemQuantity + 1 }\r\n : singleItem\r\n ),\r\n };\r\n } else {\r\n // console.log(\"item not exist\");\r\n const newItem = { ...item, ItemQuantity: 1 };\r\n return {\r\n ...state,\r\n ticketItems: [...state.ticketItems, newItem],\r\n };\r\n }\r\n\r\n case REMOVE_FROM_TICKETS:\r\n return {\r\n ...state,\r\n ticketItems: state.ticketItems.filter(\r\n (singleItem: any) => singleItem.ItemCode !== action.payload\r\n ),\r\n };\r\n\r\n case DECREASE:\r\n const itemToReduce = action.payload;\r\n const isItemExist = state.ticketItems.find(\r\n (item: any) => item.ItemCode === itemToReduce.ItemCode\r\n );\r\n // console.log(\"isItemExist\", isItemExist);\r\n // console.log(\"itemToReduce\", itemToReduce);\r\n\r\n if (isItemExist) {\r\n // console.log(\"item already exist\");\r\n if (itemToReduce.ItemQuantity > 1) {\r\n // console.log(\"reduce quantity\");\r\n return {\r\n ...state,\r\n ticketItems: state.ticketItems.map((singleItem: any) =>\r\n singleItem.ItemCode === itemToReduce.ItemCode\r\n ? { ...singleItem, ItemQuantity: singleItem.ItemQuantity - 1 }\r\n : singleItem\r\n ),\r\n };\r\n } else {\r\n // console.log(\"remove item\");\r\n return {\r\n ...state,\r\n ticketItems: state.ticketItems.filter(\r\n (item: any) => item.ItemCode !== itemToReduce.ItemCode\r\n ),\r\n };\r\n }\r\n }\r\n break;\r\n\r\n case ADD_TOTAL:\r\n return {\r\n ...state,\r\n total: action.payload,\r\n };\r\n case ORDER_TYPE:\r\n return {\r\n ...state,\r\n orderType: action.payload,\r\n };\r\n\r\n case DISCOUNT_TYPE:\r\n return {\r\n ...state,\r\n discountType: action.payload,\r\n };\r\n case DISCOUNT_AMOUNT:\r\n return {\r\n ...state,\r\n discountAmount: action.payload,\r\n };\r\n\r\n case RESET:\r\n return {\r\n ...state,\r\n ticketItems: [],\r\n total: 0,\r\n orderType: \"pickup\",\r\n discountType: \"\",\r\n discountAmount: 0,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { combineReducers } from \"redux\";\r\n\r\n//types\r\nimport { EMPTY_STATE } from \"../actions/types\";\r\n\r\n//reducers\r\nimport authentication from \"./authentication/authentication\";\r\nimport orders from \"./orders/orders\";\r\nimport {\r\n getStoreStatusReducer,\r\n setStoreStatusReducer,\r\n} from \"./store/storeStatus\";\r\nimport {\r\n getAllMenuReducer,\r\n bulkUploadReducer,\r\n updateMenuReducer,\r\n bulkUploadPartnerReducer,\r\n} from \"./menu/menuReduscers\";\r\nimport { addSalesReducer, getSalesItemReducer } from \"./sales/sales\";\r\nimport { ticketReducer } from \"./ticket/ticket\";\r\n\r\nconst rootReducer = combineReducers({\r\n authentication,\r\n orders,\r\n getStoreStatusReducer,\r\n setStoreStatusReducer,\r\n getAllMenuReducer,\r\n bulkUploadReducer,\r\n updateMenuReducer,\r\n bulkUploadPartnerReducer,\r\n addSalesReducer,\r\n getSalesItemReducer,\r\n ticketReducer,\r\n});\r\n\r\nexport default (state: any, action: any) =>\r\n rootReducer(action.type === EMPTY_STATE ? undefined : state, action);\r\n","import {\r\n GET_ALL_MENU_LOAD,\r\n GET_ALL_MENU_SUCCESS,\r\n GET_ALL_MENU_ERROR,\r\n BULK_UPLOAD_LOADING,\r\n BULK_UPLOAD_SUCCESS,\r\n BULK_UPLOAD_ERROR,\r\n BULK_UPLOAD_RESET,\r\n UPDATE_ITEM_LOAD,\r\n UPDATE_ITEM_SUCCESS,\r\n UPDATE_ITEM_ERROR,\r\n UPDATE_ITEM_RESET,\r\n BULK_UPLOAD_LOADING_PARTNER,\r\n BULK_UPLOAD_SUCCESS_PARTNER,\r\n BULK_UPLOAD_ERROR_PARTNER,\r\n BULK_UPLOAD_RESET_PARTNER,\r\n} from \"../../actions/types\";\r\n\r\nexport const getAllMenuReducer = (\r\n state = { isAllMenuLoading: true, isMenuLoaded: false },\r\n action: any\r\n) => {\r\n switch (action.type) {\r\n case GET_ALL_MENU_LOAD:\r\n return {\r\n isAllMenuLoading: true,\r\n isMenuLoaded: false,\r\n menuItems: [],\r\n };\r\n case GET_ALL_MENU_SUCCESS:\r\n return {\r\n isAllMenuLoading: false,\r\n isMenuLoaded: true,\r\n menuItems: action.payload,\r\n };\r\n case GET_ALL_MENU_ERROR:\r\n return {\r\n isAllMenuLoading: false,\r\n error: action.payload,\r\n menuItems: [],\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport const bulkUploadReducer = (\r\n state = {\r\n isMenuUploaded: false,\r\n isMenuUploading: false,\r\n isUploadFailed: false,\r\n },\r\n action: any\r\n) => {\r\n switch (action.type) {\r\n case BULK_UPLOAD_LOADING:\r\n return {\r\n isMenuUploaded: false,\r\n isMenuUploading: true,\r\n isUploadFailed: false,\r\n };\r\n case BULK_UPLOAD_SUCCESS:\r\n return {\r\n isMenuUploaded: true,\r\n isMenuUploading: false,\r\n status: action.payload,\r\n isUploadFailed: false,\r\n };\r\n case BULK_UPLOAD_ERROR:\r\n return {\r\n isMenuUploaded: false,\r\n isMenuUploading: false,\r\n isUploadFailed: true,\r\n error: action.payload,\r\n };\r\n case BULK_UPLOAD_RESET:\r\n return {\r\n isMenuUploaded: false,\r\n isMenuUploading: false,\r\n isUploadFailed: false,\r\n error: {},\r\n status: {},\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport const bulkUploadPartnerReducer = (\r\n state = { isMenuUploaded: false, isMenuUploading: false },\r\n action: any\r\n) => {\r\n switch (action.type) {\r\n case BULK_UPLOAD_LOADING_PARTNER:\r\n return {\r\n isMenuUploadedPartner: false,\r\n isMenuUploadingPartner: true,\r\n };\r\n case BULK_UPLOAD_SUCCESS_PARTNER:\r\n return {\r\n isMenuUploadedPartner: true,\r\n isMenuUploadingPartner: false,\r\n status: action.payload,\r\n };\r\n case BULK_UPLOAD_ERROR_PARTNER:\r\n return {\r\n isMenuUploadedPartner: false,\r\n isMenuUploadingPartner: false,\r\n error: action.payload,\r\n };\r\n case BULK_UPLOAD_RESET_PARTNER:\r\n return {\r\n isMenuUploadedPartner: false,\r\n isMenuUploadingPartner: false,\r\n error: {},\r\n status: {},\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport const updateMenuReducer = (\r\n state = { isMenuUpdated: false, isUpdating: false, updateFailed: false },\r\n action: any\r\n) => {\r\n switch (action.type) {\r\n case UPDATE_ITEM_LOAD:\r\n return {\r\n isMenuUpdated: false,\r\n isUpdating: true,\r\n updateFailed: false,\r\n };\r\n case UPDATE_ITEM_SUCCESS:\r\n return {\r\n updatedItem: action.payload,\r\n isMenuUpdated: true,\r\n isUpdating: false,\r\n updateFailed: false,\r\n };\r\n case UPDATE_ITEM_ERROR:\r\n return {\r\n error: action.payload,\r\n isMenuUpdated: false,\r\n isUpdating: false,\r\n updateFailed: true,\r\n };\r\n case UPDATE_ITEM_RESET:\r\n return {\r\n isMenuUpdated: false,\r\n isUpdating: false,\r\n updateFailed: false,\r\n error: {},\r\n updatedItem: {},\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","import {\r\n ADD_SALES_ITEM_ERROR,\r\n ADD_SALES_ITEM_LOAD,\r\n ADD_SALES_ITEM_SUCCESS,\r\n GET_SALES_ITEMS_LOAD,\r\n GET_SALES_ITEMS_SUCCESS,\r\n GET_SALES_ITEMS_ERROR,\r\n} from \"../../actions/types\";\r\n\r\nexport const addSalesReducer = (state = { items: [] }, action: any) => {\r\n switch (action.type) {\r\n case ADD_SALES_ITEM_LOAD:\r\n return {\r\n loading: true,\r\n };\r\n case ADD_SALES_ITEM_SUCCESS:\r\n return {\r\n loading: false,\r\n items: action.payload,\r\n };\r\n case ADD_SALES_ITEM_ERROR:\r\n return {\r\n loading: false,\r\n error: action.payload,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport const getSalesItemReducer = (state = { loaded: false }, action: any) => {\r\n switch (action.type) {\r\n case GET_SALES_ITEMS_LOAD:\r\n return {\r\n loading: true,\r\n loaded: false,\r\n };\r\n case GET_SALES_ITEMS_SUCCESS:\r\n return {\r\n loading: false,\r\n itemList: action.payload,\r\n loaded: true,\r\n };\r\n case GET_SALES_ITEMS_ERROR:\r\n return {\r\n loading: false,\r\n loaded: false,\r\n error: action.payload,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { applyMiddleware, compose, createStore } from \"redux\";\r\nimport thunkMiddleware from \"redux-thunk\";\r\nimport rootReducer from \"../reducers\";\r\n\r\ndeclare global {\r\n interface Window {\r\n _REDUX_DEVTOOLS_EXTENSION_COMPOSE__?: typeof compose;\r\n }\r\n}\r\n\r\nconst composeEnhancers = window._REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\r\n\r\nexport default () => {\r\n const store = createStore(\r\n rootReducer,\r\n composeEnhancers(applyMiddleware(thunkMiddleware))\r\n );\r\n\r\n return store;\r\n};\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport reportWebVitals from \"./reportWebVitals\";\r\nimport AppRouter from \"./routers/AppRouter\";\r\nimport \"dotenv/config\";\r\nimport * as serviceWorkerRegistration from \"./serviceWorkerRegistration\";\r\nimport configureStore from \"./redux/store/configureStore\";\r\nimport {\r\n logoutUser,\r\n userLogin,\r\n} from \"./redux/actions/authentication/authentication\";\r\nimport { SECRET_KEY } from \"./config\";\r\nimport jwt from \"jsonwebtoken\";\r\nimport { ToastContainer } from \"react-toastify\";\r\n\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { Provider } from \"react-redux\";\r\n//import swDevRegister from \"./swDev\";\r\n\r\n// styles\r\nimport \"./index.scss\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\n\r\nconst store = configureStore();\r\n\r\nlet isRendered = false;\r\n\r\nconst renderApp = (): void => {\r\n if (!isRendered) {\r\n const acess_token = localStorage.getItem(\"User_AccessToken\");\r\n if (acess_token) {\r\n store.dispatch(userLogin(jwt.verify(acess_token, SECRET_KEY)));\r\n } else {\r\n store.dispatch(logoutUser());\r\n }\r\n\r\n ReactDOM.render(\r\n \r\n \r\n \r\n {/* */}\r\n \r\n ,\r\n document.getElementById(\"root\")\r\n );\r\n\r\n isRendered = true;\r\n }\r\n};\r\n\r\nrenderApp();\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://cra.link/PWA\r\n//serviceWorkerRegistration.unregister();\r\nserviceWorkerRegistration.register();\r\n//swDevRegister();\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sidebar\":\"SideBar_sidebar__3N-I6\",\"show\":\"SideBar_show__3lNpc\",\"hide\":\"SideBar_hide__20rQI\",\"header\":\"SideBar_header__2BtLQ\",\"logo\":\"SideBar_logo__3iKAl\",\"close_icon\":\"SideBar_close_icon__2iwYW\",\"content\":\"SideBar_content__1EYsm\",\"btn_container\":\"SideBar_btn_container__26kyR\",\"bottom_text\":\"SideBar_bottom_text__3i8AT\",\"bottom_text_online\":\"SideBar_bottom_text_online__iyOms\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main_wrapper\":\"ProvisionSetupPage_main_wrapper__MJE9k\",\"menu_box\":\"ProvisionSetupPage_menu_box__HGXy1\",\"nav_header\":\"ProvisionSetupPage_nav_header__ZxPTH\",\"nav_items\":\"ProvisionSetupPage_nav_items__11naP\",\"nav_item\":\"ProvisionSetupPage_nav_item__3exoB\",\"nav_item_selected\":\"ProvisionSetupPage_nav_item_selected__1HHyG\",\"provision_btn_with_filter_menu\":\"ProvisionSetupPage_provision_btn_with_filter_menu__3jNfQ\",\"data_table\":\"ProvisionSetupPage_data_table__36f1v\",\"filter_icon\":\"ProvisionSetupPage_filter_icon__3CUhV\",\"toast_notifier\":\"ProvisionSetupPage_toast_notifier__rBp4x\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"table_head\":\"DataTable_table_head__1UaI2\",\"row\":\"DataTable_row__1Uxkd\",\"selected_row\":\"DataTable_selected_row__2RfOR\",\"order_id\":\"DataTable_order_id__3QSmr\",\"placed_at\":\"DataTable_placed_at__1RPoY\",\"order_quantity\":\"DataTable_order_quantity__1ASxr\",\"total_amount\":\"DataTable_total_amount__36O22\",\"quick_actions\":\"DataTable_quick_actions__3no1u\",\"brandLogo\":\"DataTable_brandLogo__1-sb_\",\"print_button\":\"DataTable_print_button__2kGbN\"};"],"sourceRoot":""}