{"version":3,"sources":["logo.svg","App.js","constants/baseConstants.js","Utils/utils.js","serviceWorker.js","Redux/actions/ActionTypes.js","Redux/reducers/BasicApiReducers.js","Redux/reducers/index.js","Redux/store/index.js","Utils/API.js","Redux/actions/ActionCB.js","Redux/actions/HGActions.js","constants/Localization.js","Components/AlertDialog.js","Components/HeaderWhiteMenuHalf.js","Components/HeaderSignin.js","Components/FooterMenu.js","Screens/SignIn.js","Components/CMS.js","Screens/SignUp.js","Screens/MobileVerification.js","Components/AddAddressPopup.js","Components/LinkCompany.js","Screens/MyAccount.js","Components/Pagination.js","Screens/MyOrders.js","Screens/Categories.js","Screens/Logout.js","Components/ItemPopup.js","Components/AddressPopup.js","Components/PaymentMethod.js","Components/LoginForm.js","Components/SignUpForm.js","Components/ForgetForm.js","Screens/CheckoutDelivery.js","Screens/MenuItems.js","Components/HeaderMenu.js","Screens/CheckoutTakeaway.js","Screens/OrderDetails.js","Screens/SavedCards.js","Screens/UserFeedback.js","Components/HeaderWhiteMenu.js","Screens/CardListing.js","Screens/CardDetails.js","Screens/WaiterListing.js","Screens/WaiterDetails.js","Screens/PaymentCardList.js","Screens/cancelOrder.js","Screens/ResetPassword.js","Screens/OfficeRegistration.js","Screens/Offers.js","Screens/Home.js","Screens/LoyaltyRewards.js","Screens/Myfav.js","Components/PaymentComplete.js","index.js"],"names":["module","exports","App","mainURL","iconURL","baseURL","currencyIcon","locationId","OrderType","USEROBJECT","USERCART","CATEGORIESDATA","LOCATIONOBJECT","LOCATIONLISTOBJECT","ORDERTYPE","ORDERTYPEID","GETRESTOINFO","CHECKINFO","PRE_CARD_LIST","PRE_WAITER_ITEM","PRE_CAT_ID","PLACEDORDEROBJECT","MEMBEROFFERS","PRE_ORDER_ID","strYes","strNo","strOk","msgEraseItem","msgErasedItem","msgItemAdded","msgItemUpdated","PRE_MESSAGE_LIST","PRE_LANGUAGE_TYPE","ISCANCEL","ENCRYPTKEY","currencyFormatter","require","CryptoJS","getPriceFormat","value","format","locale","setSecureData","keyName","objData","ciphertext","AES","encrypt","JSON","stringify","Constants","toString","localStorage","setItem","getSecureData","hasOwnProperty","bytes","decrypt","getItem","parse","enc","Utf8","bindhttps","replace","Boolean","window","location","hostname","match","CHECKAPPVERSION_L","CHECKAPPVERSION_S","CHECKAPPVERSION_F","LOGIN_A","LOGIN_S","LOGIN_F","FORGET_PASSWORD_A","FORGET_PASSWORD_S","FORGET_PASSWORD_F","REGISTRATION_A","REGISTRATION_S","REGISTRATION_F","VERIFY_CUSTOMER_A","VERIFY_CUSTOMER_S","VERIFY_CUSTOMER_F","RESEND_VERIFICATION_CODE_A","RESEND_VERIFICATION_CODE_S","RESEND_VERIFICATION_CODE_F","SOCIAL_SIGNUP_A","SOCIAL_SIGNUP_S","SOCIAL_SIGNUP_F","ADDUPDATE_SOCIAL_CUSTOMER_A","ADDUPDATE_SOCIAL_CUSTOMER_S","ADDUPDATE_SOCIAL_CUSTOMER_F","GET_CATEGORIES_A","GET_CATEGORIES_S","GET_CATEGORIES_F","GET_CATEGORIES_MENUITEMS_A","GET_CATEGORIES_MENUITEMS_S","GET_CATEGORIES_MENUITEMS_F","DELETE_ACCOUNT_A","DELETE_ACCOUNT_S","DELETE_ACCOUNT_F","LINK_ACCOUNT_A","LINK_ACCOUNT_S","LINK_ACCOUNT_F","ORDERS_LIST_A","ORDERS_LIST_S","ORDERS_LIST_F","ORDER_DETAILS_A","ORDER_DETAILS_S","ORDER_DETAILS_F","LOCATION_A","LOCATION_S","LOCATION_F","CHECK_SPECIAL_OFFERS_A","CHECK_SPECIAL_OFFERS_S","CHECK_SPECIAL_OFFERS_F","CHECK_COMPANY_CREDIT_SCORE_A","CHECK_COMPANY_CREDIT_SCORE_S","CHECK_COMPANY_CREDIT_SCORE_F","ADD_COMPNAY_ADDRESS_A","ADD_COMPNAY_ADDRESS_S","ADD_COMPNAY_ADDRESS_F","GET_DELIVERY_ADDRESS_A","GET_DELIVERY_ADDRESS_S","GET_DELIVERY_ADDRESS_F","DELETE_DELIVERY_ADDRESS_A","DELETE_DELIVERY_ADDRESS_S","DELETE_DELIVERY_ADDRESS_F","ADD_DELIVERY_ADDRESS_A","ADD_DELIVERY_ADDRESS_S","ADD_DELIVERY_ADDRESS_F","APP_MESSAGE_A","APP_MESSAGE_S","APP_MESSAGE_F","ADD_ORDERS_A","ADD_ORDERS_S","ADD_ORDERS_F","CHECK_ITEM_TIME_A","CHECK_ITEM_TIME_S","CHECK_ITEM_TIME_F","GET_SAVED_CARD_A","GET_SAVED_CARD_S","GET_SAVED_CARD_F","GET_REORDER_INFO_A","GET_REORDER_INFO_S","GET_REORDER_INFO_F","GET_ITEM_DETAILS_A","GET_ITEM_DETAILS_S","GET_ITEM_DETAILS_F","ADD_FEEDBACK_A","ADD_FEEDBACK_S","ADD_FEEDBACK_F","GET_CARD_LIST_A","GET_CARD_LIST_S","GET_CARD_LIST_F","ADD_CARD_DETAILS_A","ADD_CARD_DETAILS_S","ADD_CARD_DETAILS_F","DELETE_CARD_DETAILS_A","DELETE_CARD_DETAILS_S","DELETE_CARD_DETAILS_F","WAITER_LIST_A","WAITER_LIST_S","WAITER_LIST_F","WAITER_DETAIL_A","WAITER_DETAIL_S","WAITER_DETAIL_F","GET_AVOCADO_DETAILS_A","GET_AVOCADO_DETAILS_S","GET_AVOCADO_DETAILS_F","CHECK_DELIVERY_ADDRESS_A","CHECK_DELIVERY_ADDRESS_S","CHECK_DELIVERY_ADDRESS_F","CANCEL_ORDER_A","CANCEL_ORDER_S","CANCEL_ORDER_F","GET_RESTO_INFO_A","GET_RESTO_INFO_S","GET_RESTO_INFO_F","APPLY_VOUCHER_CODE_A","APPLY_VOUCHER_CODE_S","APPLY_VOUCHER_CODE_F","RESET_PASSWORD_A","RESET_PASSWORD_S","OFFICE_REGISTER_A","OFFICE_REGISTER_S","OFFICE_REGISTER_F","DELIVERY_CHARGE_A","DELIVERY_CHARGE_S","DELIVERY_CHARGE_F","CHECK_NEXTDAY_ORDER_A","CHECK_NEXTDAY_ORDER_S","CHECK_NEXTDAY_ORDER_F","GET_COMPANY_LIST_A","GET_COMPANY_LIST_S","GET_COMPANY_LIST_F","REMOVE_LINKED_COMPANY_A","REMOVE_LINKED_COMPANY_S","REMOVE_LINKED_COMPANY_F","GET_BEST_OFFERS_A","GET_BEST_OFFERS_S","GET_BEST_OFFERS_F","GET_TABLE_BOOKIG_SLOAT_A","GET_TABLE_BOOKIG_SLOAT_S","GET_TABLE_BOOKIG_SLOAT_F","ADD_TABLE_RESERVATION_A","ADD_TABLE_RESERVATION_S","ADD_TABLE_RESERVATION_F","GET_TABLE_BOOKING_HISTORY_BY_CUSTOMER_A","GET_TABLE_BOOKING_HISTORY_BY_CUSTOMER_S","GET_TABLE_BOOKING_HISTORY_BY_CUSTOMER_F","UPDATE_TABLE_RES_BOOKING_REQUEST_A","UPDATE_TABLE_RES_BOOKING_REQUEST_S","UPDATE_TABLE_RES_BOOKING_REQUEST_F","GET_CUSTOMER_DETAIL_A","GET_CUSTOMER_DETAIL_S","GET_CUSTOMER_DETAIL_F","GET_VIRTUAL_QUEUE_LIST_A","GET_VIRTUAL_QUEUE_LIST_S","GET_VIRTUAL_QUEUE_LIST_F","ADD_VIRTUAL_QUEUE_A","ADD_VIRTUAL_QUEUE_S","ADD_VIRTUAL_QUEUE_F","CANCEL_VIRTUAL_QUEUE_A","CANCEL_VIRTUAL_QUEUE_S","CANCEL_VIRTUAL_QUEUE_F","GET_MEMBER_OFFER_LIST_A","GET_MEMBER_OFFER_LIST_S","GET_MEMBER_OFFER_LIST_F","GET_LOYALTY_REWARD_LIST_A","GET_LOYALTY_REWARD_LIST_S","GET_LOYALTY_REWARD_LIST_F","GET_LOYALTY_REWARD_HISTORY_LIST_A","GET_LOYALTY_REWARD_HISTORY_LIST_S","GET_LOYALTY_REWARD_HISTORY_LIST_F","GET_BEST_OFFER_LIST_A","GET_BEST_OFFER_LIST_S","GET_BEST_OFFER_LIST_F","GET_MEMBER_OFFER_DISCOUNT_A","GET_MEMBER_OFFER_DISCOUNT_S","GET_MEMBER_OFFER_DISCOUNT_F","ADD_REMOVE_FAV_ITEM_A","ADD_REMOVE_FAV_ITEM_S","ADD_REMOVE_FAV_ITEM_F","GET_FAV_ITEM_A","GET_FAV_ITEM_S","GET_FAV_ITEM_F","GET_LOYALTY_POINT_LIST_A","GET_LOYALTY_POINT_LIST_S","GET_LOYALTY_POINT_LIST_F","INITIAL_STATE","isLoading","data","error","undefined","getRestAllInfo","getLocationInfo","getDeliveryAddress","getMenuItemList","rootReducer","combineReducers","HGReducers","state","action","console","log","type","actionType","RESET_PASSWORD_F","configureStore","createStore","applyMiddleware","thunk","axios","create","baseConstants","responseType","timeout","headers","CheckAppVersionF","LoginSuccess","ForgetPasswordF","RegistrationSuccess","VerifyCustomerSuccess","ResendMobileVerificationCodeSuccess","SocialSignUpSuccess","addUpdateSocialCustomerSuccess","GetCategoriesAttempt","bool","GetCategoriesSuccess","GetCategoriesFailed","GetCategoriesMenuItemsSuccess","DeleteAccountSuccess","CompanyAccountLinkS","OrderSListF","OrderDetailsF","GetLocationF","CheckSpecialOfferS","CheckCompanyCreditScoreS","AddCompanyAddressS","GetDeliveryAddressS","DeleteDeliveryAddressS","AddDeliveryAddressS","GetAppMessageF","AddOrdersA","AddOrdersS","AddOrdersF","CheckMenuItemTimesS","GetSavedCardsS","GetReOrderInfoS","GetItemDetailsS","AddFeedbackF","GetCardListF","AddCardDetailsF","DeleteCardDetailF","WaiterListS","WaiterDetailsF","GetAvocadoDetailsS","CheckDeliveryAddressS","CancelOrderS","GetRestoInfoS","ApplyVoucherCodeS","ResetPasswordS","OfficeRegistrationSuccess","DeliveryChargeSuccess","CheckNextDayOrderSuccess","GetCompanyListSuccess","RemoveLinkedCompanySuccess","applyCouponCodeByMemberOfferCodeSuccess","addRemoveFavItemSuccess","getFavItemAttempt","getFavItemSuccess","getFavItemFailed","callApiCheckVersionAPI","customerId","languageType","dispatch","postData","restaurantId","languageId","API","post","then","response","stringResponse","d","jsonResponse","status","message","actionCb","catch","err","initLoginCall","phone","countryCode","password","username","deviceType","appName","deviceName","deviceToken","appType","deviceModel","appVersion","CallForgetPasswordApi","phoneno","CallCompanyAccountLinkApi","addressId","companyId","initRegistrationCall","name","countrycode","email","gender","birthDate","firstName","emailId","pass","loyaltynumber","initVerifyCustomerCall","verificationCode","initResendVerificationCode","phoneNumber","initSocialSignUpCall","sMediaFlag","smediaId","SocialMediaFlag","SocialMediaId","initAddUpdateSocialCustomerCall","initGetAllCategoriesCall","orderType","initGetCategoriesMenuItemsCall","categories","initDeleteUserAccountCall","GetOrderListApi","parentLoacationId","GetOrderDetailsApi","OrderId","GetLocationListApi","latitude","longitude","initCheckSpecialOffersAPI","amount","initCompanyCreditScoreAPI","initAddCompanyAddressAPI","locationid","address","DeliveryAddressInfo","initGetDeliveryAddressAPI","initDeleteDeliveryAddressAPI","deliveryaddressId","initAddDeliveryAddressAPI","GetAppMessageListApi","initCheckMenuItemTimeAPI","contactTime","orderDate","catId","contacttime","orderdate","isCompanyLinked","initGetSavedCardsAPI","initGetReOrderInfoAPI","isLinkToCompany","initGetItemDetailsAPI","menuitemId","callAddFeedbackApi","request","callGetCardListApi","AddCardDetailsApi","callCardDeleteApi","callGetWaiterListApi","callAddRatingApi","initGetAvocadoDetailsAPI","initCheckDeliveryAddressAPI","initCancelOrderAPI","TransactionInfo","initGetRestoInfoAPI","initApplyVoucherCode","totalAmount","offerCode","OrderedItems","initResetPasswordAPI","confirmPassword","initOfficeRegistrationAPI","comment","city","zipcode","regName","regEmail","regMobile","regCountryCode","regAddress","regComment","regCity","regZipcode","initDeliveryChargeAPI","initCheckNextDayOrderAPI","comapanyId","time","initGetCompanyListAPI","initRemoveLinkedCompanyAPI","initGetBestOfferListAPI","getTableReservationTimeSlotList","bookingDate","BookingTime","totalPerson","date","noOfPeople","addTableReservation","fromTime","toTime","tableNoOfPeople","getCustomerDetails","addTableVirtualWaiting","deleteTableVirtualWaiting","Id","getMemberofferList","applyCouponCodeByMemberOfferCode","addRemoveFavItem","menuItemId","url","getLoyaltyPointList","LocationId","Strings","LocalizedStrings","en","yes","str_no","msg_erase_item","msg_item_erased","str_order_now","str_order_later","sub_total","str_packaging_costs","Checkout_web","str_erase","str_add_drink","str_add_more_product","time_select","change_add_web","select_address","str_add_new_address","str_add_address","str_edit_address","str_company_discount","str_booking_deposit","cart_empty","btn_save_card","empty_cart_message","btn_confirm","btn_cancel","payment_type","pay_by_cash","pay_by_card","past_time","select_add_delivery_address","enter_address","address_comment","address_line_1","address_line_2","postal_code","address_postal_code","str_loading","comments_web","str_reorder","str_trackorder","btn_change_location","str_locationname","rate_a_waiter","msg_delete_account","cart_from_different_location","please_select_location","msg_delete_card","str_your_order_is","str_redeem_avocado_discount","card_name_web","ExpiryDate_web","str_mm","str_yyyy","str_cvv","str_january","str_february","str_march","str_april","str_may","str_june","str_july","str_august","str_september","str_october","str_november","str_december","str_new_card","str_card_name_error","entercardnumber_web","Validcreditcardnumber_web","selectexpirymonth_web","expiryyear_web","str_card_cvv_error","error_no_data","delete_delivery_address","delete_address","no_record_address","str_redeemed_avocados","remove_cart_item_message","lbl_waiter_title_react","lbl_no_waiter_react","lbl_comment_react","str_post_comment_web","select_rating_react","btn_signin_react","btn_signup_react","lbl_phone_number_react","lbl_password_react_sign_in","lbl_no_account_react","btn_google_plus_react","btn_facebook_react","lbl_forget_password_react","lbl_forget_phone_number_react","Submit_web","error_msg_country_code_react","error_msg_phone_no_react","error_msg_password_react","error_msg_birth_react","lbl_name_react","lbl_email_react","lbl_or_sign_up_react","error_msg_name_react","error_msg_email_react","error_msg_valid_email_react","txtFeedback","lbl_verification_code_react","btn_verify","btn_resend","btn_edit","edit_profile_web","lbl_link_company_react","btn_save_changes_react","str_delete_account_web","lbl_change_password_react","btn_edit_details_react","btn_delete_card_react","error_msg_company_account_react","lbl_select_location_react","btn_continue_react","lbl_select_order_type_react","Delivery_web","lbl_takeaway_react","str_sitDown","str_collect_drink","error_msg_no_order_type_react","lbl_choose_react","lbl_a_product_react","str_takeaway_now","str_takeaway_later","lbl_edit_add_react","lbl_quantity_react","str_btn_update_react","btn_add_to_cart_react","Total_web","error_msg_item_added_react","error_msg_item_update_react","Ok_web","str_pending","str_complete","lbl_part_group_react","lbl_more_info_react","lbl_newslatter_react","lbl_subscribe_react","lbl_stay_connected_react","lbl_contact_us_react","lbl_career_react","lbl_privacy_policy_react","lbl_honest_react","lbl_honest_green_footer_react","lbl_all_right_react","lbl_apply_office_catering","lbl_offers","lbl_view_order_react","lbl_order_react","lbl_date_react","lbl_location_react","lbl_order_status_react","lbl_order_type_react","lbl_price_react","support_web","btn_view_order_react","lbl_no_order_react","lbl_credit_card_details_react","lbl_credit_card_name_react","lbl_details_react","DeliveryAddress_web","lbl_title_product_react","lbl_title_cart_react","lbl_my_account_react","EditAccount_Web","lbl_title_my_order_react","lbl_title_logout_react","sub_total_order_amount_web","str_offer_discount","lbl_delivery_charge_react","total_order_amount_web","lbl_discount_react","packaging_charge_web","lbl_user_feedback_react","error_msg_feedback_react","CardNumber_web","card_brand_web","card_type_web","card_cat_web","view_card_details_web","delete_card_details_web","error_msg_no_card_react","card_details_web","Save_web","msg_card_type_category_react","msg_cancel_order","btn_apply","str_remove","str_voucher_title","str_voucher_discount","hint_voucher_code","errorMsgVoucherCode","errorMsgVoucherCodeApply","clear","reset_pass_web","new_password_web","str_old_password","enter_new_pass_web","msg_error_old_password","confPassword_web","enter_confirm_pass_web","confPassNotMatch_web","str_company_registration","lable_compnayname_web","str_address","str_msg_enter_company","error_msg_address","error_msg_postal_code","error_msg_comment_text","str_link","str_enter_company_code","manager_linked_company","btn_request_pending","str_msg_next_day_order_confirm","company_link_delete_web","strHeaderOrderOnline","strHeaderMenu","strHeaderSignIn","strHeaderSignUp","btnLogout","lbl_my_reward_web","lbl_my_reward_point_web","strHeaderCheckout","msgLogin","msgDeliverylabel","msgSelectlabel","lblTandC","lblConsent","msgTandC","msgConsent","check_table_availability","booking_history","select_booking_date","select_booking_time","strPayNow","lbl_tblbooking_date","lbl_tblbooking_time","lbl_tblbooking_person","lbl_tblbooking_status","lbl_tblbooking_amount","order_later","pre_order","es","AlertDialog","props","Modal","show","this","isAlertVisible","size","animation","aria-labelledby","centered","Body","className","msgTitle","isMultibutton","onClick","btnLeftClick","tabIndex","btnLeftTitle","btnRightClick","btnRightTitle","orderDetailId","history","push","pathname","Component","ordType","HeaderWhiteMenuHalf","renderCartBadge","loggedInUserId","href","renderBadge","renderCartMenu","alertMessage","alertType","selectedLocationObject","lType","Constant","setState","length","cId","class","locationObject","arry","isDelivery","title","isSelect","isTakeAway","isOrderExtras","arrReturn","map","order","index","key","onChangeOrderType","changeLanguageEvent","logoType","src","alt","setTimeout","onChangeLocation","ord","removeItem","locationList","locationName","isMenu","target","renderAccountMenu","withRouter","HeaderSignin","renderProductMenu","renderFoodDrinkMenu","renderCocktailDrinkMenu","renderStreetFoodMenu","renderLiveMusicMenu","renderHappyHoursMenu","renderFindUSMenu","headerLbl","FooterMenu","SignIn","languageChangeClickEvent","AppMessageApi","messageListArray","result","localMessage","setLanguage","languageTypeCode","setContent","reload","alert","onSignInClick","ccodeerror","phError","passError","errors","countryCodeError","phoneNumberError","passwordError","SignInAPICall","validateForgetPassword","forgetCountryCode","forgetPhoneNo","forgetCountryCodeError","forgetPhoneNumberError","forgetPasswordApi","socialId","loginType","isGoogleSignedIn","googleUserName","mLanguageType","event","str","React","forwardRef","ref","children","e","preventDefault","style","labeledBy","Children","toArray","filter","child","display","isHideOrderType","id","role","data-dismiss","aria-label","aria-hidden","marginTop","textTransform","color","placeholder","maxLength","onKeyPress","onEnterForgotPassword","onChange","onMobileEnter","readonly","pointerEvents","onEnterPassword","data-toggle","data-target","data-backdrop","data-keyboard","connect","callCheckVersion","HGActions","googleSignUpCall","CMS","isShow","onHide","onDisable","Header","closeButton","overflow","position","paddingTop","width","height","top","border","validEmailRegex","RegExp","CustomToggle","CustomMenu","SignUp","onSignUpClick","nmError","emlError","terror","isTandCSelect","cerror","isConsentCSelect","birthDateError","test","locationError","nameError","emailError","tAndCError","consentError","info","SignUpAPICall","userName","isFromSocialMedia","isSocialSignUp","locationArray","locationIndex","isShowCMS","cmsHref","AOS","init","duration","session","locationListApi","Dropdown","Item","eventKey","onSelect","onSelectLocation","Toggle","as","Menu","i","selected","dateFormat","checked","for","onTandC","open","focus","socialCustomerAddUpdate","MobileVerification","onVerifyClick","codeError","verificationCodeError","verifyCustomerAPI","isProfileUpdate","goBack","verificationMessage","minutes","seconds","startTimer","clearInterval","myInterval","setInterval","resendCodeAPI","isCategory","data-aos","onResendCodeClick","postalCode","AddAddressPopup","handleChange","findAddress","addressError","zipcodeError","txtCommentError","handleChange2","handleSelect","geocodeByAddress","results","googleAddress","houseNo","address_components","add","types","includes","element","join","find","c","addressWithoutHouseAndZip","long_name","addressLine1","showForm","getLatLng","latLng","lat","long","lng","isEdit","addressObj","address1","address2","adderr","ziparr","comerr","objAddress","addDeliveryAddressAPI","onHideAddAddress","searchOptions","componentRestrictions","country","getInputProps","suggestions","getSuggestionItemProps","loading","suggestion","active","backgroundColor","cursor","margin","borderBottom","marginBottom","description","textAlign","onAddAddress","LinkCompany","arrayAddress","addressList","AddressLists","selectedIndex","arr","checkDeliveryAddressID","delivery","onHideAddressView","onAddNewAddress","renderAddressList","onSelectAddressClick","deleteAddressAPI","MyAccount","convertDate","birthdate","Date","year","getFullYear","month","getMonth","getDate","checkDate","birthDateConvert","bDate","moment","onSaveClick","userObject","UpdateCustomerAPI","isRequestedToLink","linkedCompanyName","dialogType","isMultiButton","btnLeft","onDeleteClick","btnRight","errorLinkedCompanyName","arrayCards","objCard","arrayAddressList","objAvocadoDetails","selectedAddressIndex","isLinkVisible","arrCompanyList","arrSearchedCompany","objSelectedCompany","isShowEditAddress","firstname","getCustomerDetailById","getAvocadoDetailsAPI","callAddressAPI","customerDetails","customer","getDeliveryAddressAPI","CRC","CompanyAccountLinkApi","companyName","cards","onDeleteDeliveryAddress","icon","faTrashAlt","cardNo","cardType","onEditCard","onDeleteCard","DeleteAccountAPI","mainObj","CardId","cardDeleteApi","tempArray","cardArray","indexOf","splice","objAdd","removeLinkedAPI","company","onSelectCompany","val","obj","toLowerCase","callCompanyLink","onRightClick","onEditAddress","objDeliveryAddresses","onCloseAddress","onDeleteAddress","renderCardView","renderDeliveryAddress","getSavedCards","getCompanyAPI","Pagination","currentPage","pageNumbers","renderPageNumbers","number","callChangePage","MyOrders","checkUserLogin","getOrderList","orderListApi","orderrList","orderArray","mainOrderList","errorMessage","pageChange","Number","orderPerPage","orderStatusType","filterArray","params","queryString","search","isRemove","orderstatusValue","Math","ceil","indexOfLastOrder","indexOfFirstOrder","orderListData","slice","onfilter","alignSelf","float","setOrderListView","num","item","data-column","orderNo","contactDatetime","orderstatus","ordertype","totalamount","orderId","colspan","Categories","callLocationListingAPI","onContinue","isVisible","selectIndex","locationObj","isMultiButtom","setLocationData","arrayCategories","takeaway","selectedCategoryIndex","isOrderTypeVisible","arrayOrderTypes","Categorieslist","isChangeLocation","fetchLocationList","callGetCategoryListApi","getCategoriesAPICall","setLocationList","onContinueOrder","onSelectTypes","renderOrderType","renderButton","itemData","distance","arrayData","fullimgurl","catName","onLeftClick","showLocationListDialog","renderOrderSelectionView","renderCategoriesData","Logout","ItemPopup","getNumberOfOptionsSelections","counter","k","countPrice","PriceListFilter","itemObject","PriceList","price","optionPrice","toppoingPrice","optionlist","OptionList","subOption","j","sum","getSelectedItems","isAnySingleItemSelecte","localSelectedItemObject","minselection","minValue","optionParamName","labelText","minCounter","msg","getSelectedItems1","objItem","itemQty","allPrice","totalQty","totalPrice","editIndex","objOptions","isSelectAll","isCompulsory","qty","setPriceListActiveKey","optData","l","options","o","typeid","isMultiselect","maxselection","no","filrt","arrOpt","onOptClick","faCheckCircle","toFixed","lst","priceOptions","onPriceClick","arrayTitle","renderOptions","q","iconurl","cartData","isReOrderedItem","onClose","isHide","shouldUpdate","updateAt","cartObject","cartPriceType","itemPriceType","cartOptions","opt","itemOptions","arrayCartOpt","cartopt","arrayItemOpt","itemopt","isNewItem","imgurl","isFavShow","isFavoriteMenu","onAddDlt","menuItemName","renderMenuStatus","MenuStausList","renderPriceOption","renderOptionMenu","onQtyChanged","onAddToCart","AddressPopup","PaymentMethod","paymentType","isCash","isCard","LoginForm","onResponse","isShowForm","onForget","onSignUp","SignUpForm","ForgetForm","billamountWithoutDeliveryCharge","voucherDiscount","finalTotalCheck","memberOfferDiscountVoucher","CheckoutDelivery","getRestInfo","getRestoInfo","uktime","ukdatetime","extra","ordersubmittime","takeawayextratime","bookingTimeLimit","currentTime","customTime","isPayByCash","objRestaurant","payByCash","isPayByCard","payByCard","callGetDeliveryAddress","objOptList","arrayCartData","arrData","subOptionFlt","flt","callchecknextday","a","checkNextDayOrder","objCompanyCredit","objScoreDetails","orderTimeType","isNextDayOrder","oType","callAddOrder","errro","checkVocherData","memberOfferDiscount","trim","onOrderTypeSelectionSet","callDeliveryCharge","uktime1","tableNo","OrderTypeID","objDeliveryCharge","deliveryCharges","setOrderTypeData","checkTimeApi","getRestInfo1","getMemberofferData","MemberOfferList","offerLevelPoint","level","offerListModal","showOfferModal","MemberOfferRewardTitle","MemberOfferCode","isMemebrDiscountVoucherApplied","onApplyVoucher","checkOfferList","offerType","likedData","arrayMenuItems","isItemPopupVisible","editItem","editAt","eraseItem","isAddressVisible","isAddAddressVisible","objCompanyAddress","isCompanyChecked","selectedAddress","isPaymentMethodVisible","isPayPal","paymentMode","objCheckInfo","objOffers","isAvocadoChecked","isVoucherApplied","strVoucher","strNotes","objVoucher","deliveryChargeResult","isLoginEnabled","isSignUpEnabled","isForgetEnabled","orderExtraTime","tablePreBookingObj","offerDetails","isMemberVoucherApplied","discountString","isAlertVisibleForReorder","onOrderTypeSelection","onOrderTypeClearCart","specialOfferId","isAlertVisibleTable","orderTypePro","componentRefreshFun","userLoginCheck","cartUpdate","componentWillMountRenderFunction","getCompanyCreditAPI","isLinked","geoCodeAdress","labaltext","addCompnayAddressAPI","onOffers","itemSum","getOffersAPI","getAvocado","calculateFinalPrice","finalTotal","itemTotal","discount","discountValue","isfirstOrder","firstOrder","discountType","discountPercentage","arrStr","split","temp","objLocation","cmpDiscount","compy","perDayCredit","discout","avocadoDiscount","useAvocadoPoint","minredemptionrequired","discountof1avocado","pCharge","packagingCharge","dCharge","offerText","bookingDepositAmount","renderUserAddress","quantity","singlePrice","tempPrice","rewardpoints","round","getItemDetailsAPI","cartItem","menuDetails","cartPriceList","menuPriceList","optList","arrayOption","arrayItem","items","onEditClick","onEraseClick","isLoyaltyOfferItem","renderPriceList","readOnly","onQtyChangedLoyalty","popup","isTableDepositDiscount","cartItems","deliveryObject","landmark","arrCustomer","cartdetail","dict","arrOrderItems","selectedPrice","priceData","customeOfferDiscount","flag","istoppings","menuitemid","parameterId","selectallmsg","showIn","showinblock","sizepid","sortorder","subparsortorder","thumbimgurl","tDate","OrderInfo","discountVal","bookingId","contactDate","MenuTimeCheckingBeforeOrderPlace","addOrderAPI","hrs","mns","arrMM","arrHH","onCheckOutClicked","uk","custom","diff","onPaymentSelection","dChrge","addid","customerid","calculateDeliveryCharge","option","Ddata","ApplyVoucherCode","cartClr","onReorderClick","renderOrderTypes","lbl_location_react_web","renderAddressView","text","onCheckOutClickedEstimatedTimePop","noItemView","renderBoxCartItems","drinksCatId","drinksSubCatIds","ids","userCartData","onPopupClose","onLogin","renderRightView","appOrderId","callCancelAPI","MenuItems","getCountMenuItemByCatID","catID","allSubCategoryIds","arrayMainCategories","subCategory","count","forEach","renderMenuItemWithSubCategory","renderSubCategoryView","noProFound","rerenderParentCallback","bind","arrayWholeMenuItems","arraySubCategory","arrayFilterTypes","isFilter","objectAt","isNo","subCatActiveId","componentDidMountCustFun","MenuCategoryList","MenuItemList","myCatData","getCategoriesMenuItemsAPICall","filterTitle","menuData","fObj","iconurlDark","isSelected","screen","scrollTo","subCatId","ukdate","checkItemTimeAPI","optlist","menuItem","onAddClick","subCat","itemDiv","filterData","newArrList","arrList1","arrList2","isAdded","onFilterClick","category","catArray","onSelectCategory","catObjects","catData","filt","catTitle","categotytime","menuItems","objFinal","minOpeningTime1","reduce","prev","curr","openingtime","maxClosingTime1","closingtime","trigger","renderMenuItemsUlLi","minOpeningTime","maxClosingTime","bannerfullimgurl","reverse","renderDeliveryMsg","forceUpdate","onViewOrderClick","renderCategoryView","renderCategoryTitle","mOrderId","OrderDetails","renderAddress","historyObject","deliveryaddress","setSubTotalView","mSubTotal","orderDetailArray","totalprice","setDiscount","setOffersDiscount","offerCodeDiscount","setOptionListView","subArray","myOptionList","orderStatusHistory","shouldMove","isReorderCartEmpty","orderDetailsApi","orderedItems","reorderConfirm","callReOrderInfoAPI","maxWidth","setOrderDetailsTableView","trckURL","setOrderDetailsView","setCompanyDiscountView","setDeliveryCharges","setPackagingCharges","bookingDipositAmount","setTotalAmount","note","companyDiscount","payAmountByCompany","disc","avacadoRedeemDiscount","packgingCharges","offerDiscount","orderitemId","imageurl","itemname","justifyContent","alignItems","loyaltyPoints","ordertypeValue","SavedCards","onSelectCards","renderCardsList","HeaderHomeMenu","toLocaleUpperCase","renderBookTableMenu","isOffer","UserFeedBack","isValidate","commentErrors","commentError","prepareRequest","requestParam","feedback","OrderReviewInfo","userFeedbackApi","HeaderWhiteMenu","CardListing","callCardListApi","getCardListApi","cardList","cardId","setCardListView","cardBrand","cardCategory","cardItem","CardDetails","mCageoryError","categoryError","cardNumber","cardDetailsApi","disabled","WaiterListing","waiterArray","fetchWaiterList","callWaiterListApi","waiterList","setWaiterListView","waiterName","waiterItem","WaiterDetails","waiterId","waiterImage","ratingValue","ratingArray","imagePath","defaultRating","rating","waiterDetailApi","itemClickEvent","itemViewRender","object","renderRatingBar","PaymentCardList","cardName","mm","yyyy","cvv","cardNameError","cardNumberError","cardMMError","cardYYYYError","cardCVVError","errName","errNumber","errMm","errYYYY","errCVV","card","paymenturl","cancelOrder","isCancelOrder","ResetPassword","onResetPassword","newError","strNewPassword","confirmErr","strConfirmPassword","errStrNewPassword","errStrConfirmPassword","forgotPassword","OfficeRegistration","formatted_address","addComp","flt1","short_name","cityname","comments","initOfficeRegister","fontSize","Offers","offersArray","getOffersList","offerList","offerTitle","offerDescription","renderTitle","renderDescription","offerImg","Home","LoyaltyRewards","avocadoPoint","levelName","MemberOfferPointAmount","checkPoint","res","LoyaltyPoint","tempQuantity","tempRewardpoints","tPoint","tableBookingPerPersonCharge","CheckCartEmptyOrNot","offerDetail","addToCart","loyaltyPoint","image","activeCardID","errBookingDate","errBookingTime","errBookingSlotTime","minBookingDate","minBookingTime","bookingTime","componentLoadStep","bookingTimeSloat","bckBtnTable","payNowResponse","virtualQueData","today","toISOString","getHours","getMinutes","getSeconds","memberOfferImage","MemberOfferName","Myfav","getFavItem","favMenuItem","favItem","some","renderFilter","PaymentComplete","useParams","useEffect","to","store","ReactDOM","render","StrictMode","exact","path","component","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kBAACF,GAAA,EAASC,KAAV,CAAeC,SAAS,QAAxB,QACA,kB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","file":"static/js/main.acc9778b.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo.ee7cd8ed.svg\";","import React from 'react';\r\nimport logo from './logo.svg';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport './App.css';\r\n\r\nfunction App() {\r\n return (\r\n
\r\n
\r\n \"logo\"\r\n

\r\n Edit src/App.js and save to reload.\r\n

\r\n \r\n Learn React\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default App;\r\n","export default\r\n {\r\n \r\n \r\n /*\r\n needs to change bindhttps method to \r\n replace https from http for live of utils.js class \r\n */\r\n \r\n // mainURL : 'https://lazy-jacks.uk/',\r\n // iconURL: 'https://lazy-jacks.uk/',\r\n // baseURL: 'https://lazy-jacks.uk/RestaurantAPIOnlineV1.asmx/',//LIVE\r\n\r\n mainURL: 'https://culto.smartrestaurants.com/',//DEMO\r\n iconURL: 'https://culto.smartrestaurants.com/',//LIVE\r\n baseURL: 'https://culto.smartrestaurants.com/RestaurantAPIOnlineV1.asmx/',//DEMO\r\n\r\n // mainURL : 'https://www.jimmyssportsbar.co.uk/',\r\n // iconURL: 'https://www.jimmyssportsbar.co.uk/',\r\n // baseURL: 'https://www.jimmyssportsbar.co.uk/RestaurantAPIOnlineV1.asmx',//LIVE\r\n\r\n currencyIcon : '€',\r\n locationId: 0,\r\n OrderType: 'Delivery',\r\n \r\n // Setting Default Value\r\n USEROBJECT : 'userObject',\r\n USERCART: 'UserCart',\r\n CATEGORIESDATA: 'CategoryData',\r\n LOCATIONOBJECT: 'locationObject',\r\n LOCATIONLISTOBJECT: 'locationListObject',\r\n ORDERTYPE: 'OrderType',\r\n ORDERTYPEID: 'ORDERTYPEID',\r\n GETRESTOINFO : '',\r\n CHECKINFO: 'CheckInfo',\r\n PRE_CARD_LIST: 'CardList',\r\n PRE_WAITER_ITEM:'WaiterItem',\r\n PRE_CAT_ID: 'PreCatID',\r\n PLACEDORDEROBJECT: 'ord',\r\n MEMBEROFFERS : 'memberOffers',\r\n PRE_ORDER_ID : 'PRE_ORDER_ID',\r\n\r\n //BTN TITLE\r\n strYes: 'YES',\r\n strNo: 'NO',\r\n strOk: 'OK',\r\n\r\n //MSG\r\n msgEraseItem: 'Do you want to delete item?',\r\n msgErasedItem: 'Item erased successfully',\r\n msgItemAdded: 'Item added successfully',\r\n msgItemUpdated: 'Item updated successfully',\r\n\r\n PRE_MESSAGE_LIST: 'MessageList',\r\n PRE_LANGUAGE_TYPE:'LanguageType',\r\n // PRE_LANGUAGE_CODE:'LanguageTypeCode',\r\n\r\n ISCANCEL: 'isCancel',\r\n\r\n ENCRYPTKEY: 'HgW@bEncK3y',\r\n\r\n }","import Constants from '../constants/baseConstants';\r\nvar currencyFormatter = require('currency-formatter');\r\nvar CryptoJS = require(\"crypto-js\");\r\n\r\nexport let getPriceFormat=(value)=>{\r\n // return currencyFormatter.format(value, { locale: localStorage.getItem(Constants.PRE_LANGUAGE_CODE) });\r\n // return currencyFormatter.format(value, { locale: 'gb' });\r\n return currencyFormatter.format(value, { locale: 'en-GB' });\r\n}\r\nexport let getCurrencySign=()=>{\r\n return '\\u00A3';\r\n}\r\n\r\n//set encrypted data in local storage\r\nexport const setSecureData = (keyName, objData) => {\r\n var ciphertext = CryptoJS.AES.encrypt(JSON.stringify(objData), Constants.ENCRYPTKEY).toString();\r\n localStorage.setItem(keyName, ciphertext)\r\n return\r\n}\r\n\r\nexport const getSecureData = (keyName) => {\r\n if (localStorage.hasOwnProperty(keyName)) {\r\n var bytes = CryptoJS.AES.decrypt(localStorage.getItem(keyName), Constants.ENCRYPTKEY);\r\n var decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\r\n // console.log(,bytes,decryptedData)\r\n return decryptedData\r\n }\r\n \r\n}\r\n\r\nexport let bindhttps=(value)=>{\r\n return value.replace('http','http');\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://bit.ly/CRA-PWA\r\n\r\nimport Constant from \"./constants/baseConstants\";\r\nimport {setSecureData, getSecureData} from './Utils/utils';\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\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && '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 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://bit.ly/CRA-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}\r\n\r\nfunction registerValidSW(swUrl, 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://bit.ly/CRA-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, 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\r\n","/**\r\n * A - Attempt or loading for progress dialog\r\n * S - success\r\n * F- failed\r\n */\r\n\r\nexport default {\r\n\r\n /*CHECK version*/\r\n CHECKAPPVERSION_L: 'CHECKAPPVERSION_L',\r\n CHECKAPPVERSION_S: 'CHECKAPPVERSION_S',\r\n CHECKAPPVERSION_F: 'CHECKAPPVERSION_F',\r\n\r\n \r\n // LOGIN TYPES\r\n LOGIN_A: 'LOGIN_A',\r\n LOGIN_S: 'LOGIN_S',\r\n LOGIN_F: 'LOGIN_F',\r\n\r\n //FORGET PASSWORD \r\n FORGET_PASSWORD_A: 'FORGET_PASSWORD_A',\r\n FORGET_PASSWORD_S: 'FORGET_PASSWORD_S',\r\n FORGET_PASSWORD_F: 'FORGET_PASSWORD_F',\r\n\r\n // REGISTRATION TYPES\r\n REGISTRATION_A: 'REGISTRATION_A',\r\n REGISTRATION_S: 'REGISTRATION_S',\r\n REGISTRATION_F: 'REGISTRATION_F',\r\n\r\n // VERIFY CUSTOMER TYPES\r\n VERIFY_CUSTOMER_A: 'VERIFY_CUSTOMER_A',\r\n VERIFY_CUSTOMER_S: 'VERIFY_CUSTOMER_S',\r\n VERIFY_CUSTOMER_F: 'VERIFY_CUSTOMER_F',\r\n\r\n // RESEND VERIFICATION CODE\r\n RESEND_VERIFICATION_CODE_A: 'RESEND_VERIFICATION_CODE_A',\r\n RESEND_VERIFICATION_CODE_S: 'RESEND_VERIFICATION_CODE_S',\r\n RESEND_VERIFICATION_CODE_F: 'RESEND_VERIFICATION_CODE_F',\r\n\r\n // SOCIAL LOGIN/REGISTRATION TYPES\r\n SOCIAL_SIGNUP_A: 'SOCIAL_SIGNUP_A',\r\n SOCIAL_SIGNUP_S: 'SOCIAL_SIGNUP_S',\r\n SOCIAL_SIGNUP_F: 'SOCIAL_SIGNUP_F',\r\n\r\n // ADD UPDATE SOCIAL CUSTOMER TYPES\r\n ADDUPDATE_SOCIAL_CUSTOMER_A: 'ADDUPDATE_SOCIAL_CUSTOMER_A',\r\n ADDUPDATE_SOCIAL_CUSTOMER_S: 'ADDUPDATE_SOCIAL_CUSTOMER_S',\r\n ADDUPDATE_SOCIAL_CUSTOMER_F: 'ADDUPDATE_SOCIAL_CUSTOMER_F',\r\n\r\n //GET ALL CATEGORIES\r\n GET_CATEGORIES_A: 'GET_CATEGORIES_A',\r\n GET_CATEGORIES_S: 'GET_CATEGORIES_S',\r\n GET_CATEGORIES_F: 'GET_CATEGORIES_F',\r\n\r\n //GET CATEGORIES MENU ITEMS\r\n GET_CATEGORIES_MENUITEMS_A: 'GET_CATEGORIES_MENUITEMS_A',\r\n GET_CATEGORIES_MENUITEMS_S: 'GET_CATEGORIES_MENUITEMS_S',\r\n GET_CATEGORIES_MENUITEMS_F: 'GET_CATEGORIES_MENUITEMS_F',\r\n\r\n\r\n //DELETE USER ACCOUNT \r\n DELETE_ACCOUNT_A: 'DELETE_ACCOUNT_A',\r\n DELETE_ACCOUNT_S: 'DELETE_ACCOUNT_S',\r\n DELETE_ACCOUNT_F: 'DELETE_ACCOUNT_F', \r\n\r\n\r\n //LINK COMPANY ACCOUNT \r\n LINK_ACCOUNT_A: 'LINK_ACCOUNT_A',\r\n LINK_ACCOUNT_S: 'LINK_ACCOUNT_S',\r\n LINK_ACCOUNT_F: 'LINK_ACCOUNT_F',\r\n\r\n\r\n //ORDER LISTING\r\n ORDERS_LIST_A: 'ORDERS_LIST_A',\r\n ORDERS_LIST_S: 'ORDERS_LIST_S',\r\n ORDERS_LIST_F: 'ORDERS_LIST_F',\r\n\r\n //ORDER DETAILS LISTING\r\n ORDER_DETAILS_A: 'ORDER_DETAILS_A',\r\n ORDER_DETAILS_S: 'ORDER_DETAILS_S',\r\n ORDER_DETAILS_F: 'ORDER_DETAILS_F',\r\n\r\n //SELECT LOCATION LISTING\r\n LOCATION_A: 'LOCATION_A',\r\n LOCATION_S: 'LOCATION_S',\r\n LOCATION_F: 'LOCATION_F',\r\n\r\n //SPECIAL OFFERS\r\n CHECK_SPECIAL_OFFERS_A: 'CHECK_SPECIAL_OFFERS_A',\r\n CHECK_SPECIAL_OFFERS_S: 'CHECK_SPECIAL_OFFERS_S',\r\n CHECK_SPECIAL_OFFERS_F: 'CHECK_SPECIAL_OFFERS_F',\r\n\r\n //COMPANY CREDIT SCORE TYPE\r\n CHECK_COMPANY_CREDIT_SCORE_A: 'CHECK_COMPANY_CREDIT_SCORE_A',\r\n CHECK_COMPANY_CREDIT_SCORE_S: 'CHECK_COMPANY_CREDIT_SCORE_S',\r\n CHECK_COMPANY_CREDIT_SCORE_F: 'CHECK_COMPANY_CREDIT_SCORE_F',\r\n\r\n //ADD COMPANY ADDRESS\r\n ADD_COMPNAY_ADDRESS_A: 'ADD_COMPNAY_ADDRESS_A',\r\n ADD_COMPNAY_ADDRESS_S: 'ADD_COMPNAY_ADDRESS_S',\r\n ADD_COMPNAY_ADDRESS_F: 'ADD_COMPNAY_ADDRESS_F',\r\n\r\n //GET DELIVERY ADDRESS\r\n GET_DELIVERY_ADDRESS_A: 'GET_DELIVERY_ADDRESS_A',\r\n GET_DELIVERY_ADDRESS_S: 'GET_DELIVERY_ADDRESS_S',\r\n GET_DELIVERY_ADDRESS_F: 'GET_DELIVERY_ADDRESS_F',\r\n\r\n //DELETE DELIVERY ADDRESS\r\n DELETE_DELIVERY_ADDRESS_A: 'DELETE_DELIVERY_ADDRESS_A',\r\n DELETE_DELIVERY_ADDRESS_S: 'DELETE_DELIVERY_ADDRESS_S',\r\n DELETE_DELIVERY_ADDRESS_F: 'DELETE_DELIVERY_ADDRESS_F',\r\n\r\n //ADD COMPANY ADDRESS\r\n ADD_DELIVERY_ADDRESS_A: 'ADD_DELIVERY_ADDRESS_A',\r\n ADD_DELIVERY_ADDRESS_S: 'ADD_DELIVERY_ADDRESS_S',\r\n ADD_DELIVERY_ADDRESS_F: 'ADD_DELIVERY_ADDRESS_F',\r\n\r\n //SELECT APP MESSAGE LISTING\r\n APP_MESSAGE_A: 'APP_MESSAGE_A',\r\n APP_MESSAGE_S: 'APP_MESSAGE_S',\r\n APP_MESSAGE_F: 'APP_MESSAGE_F',\r\n\r\n //ADD ORDERS\r\n ADD_ORDERS_A: 'ADD_ORDERS_A',\r\n ADD_ORDERS_S: 'ADD_ORDERS_S',\r\n ADD_ORDERS_F: 'ADD_ORDERS_F',\r\n\r\n //CHECK ITEM TIME\r\n CHECK_ITEM_TIME_A: 'CHECK_ITEM_TIME_A',\r\n CHECK_ITEM_TIME_S: 'CHECK_ITEM_TIME_S',\r\n CHECK_ITEM_TIME_F: 'CHECK_ITEM_TIME_F',\r\n\r\n //GET SAVED CARDS\r\n GET_SAVED_CARD_A: 'GET_SAVED_CARD_A',\r\n GET_SAVED_CARD_S: 'GET_SAVED_CARD_S',\r\n GET_SAVED_CARD_F: 'GET_SAVED_CARD_F',\r\n\r\n //GET REORDER INFO\r\n GET_REORDER_INFO_A: 'GET_REORDER_INFO_A',\r\n GET_REORDER_INFO_S: 'GET_REORDER_INFO_S',\r\n GET_REORDER_INFO_F: 'GET_REORDER_INFO_F',\r\n\r\n //GET ITEMS DETAILS\r\n GET_ITEM_DETAILS_A: 'GET_ITEM_DETAILS_A',\r\n GET_ITEM_DETAILS_S: 'GET_ITEM_DETAILS_S',\r\n GET_ITEM_DETAILS_F: 'GET_ITEM_DETAILS_F',\r\n\r\n //ADD USER FEEDBACK\r\n ADD_FEEDBACK_A: 'ADD_FEEDBACK_A',\r\n ADD_FEEDBACK_S: 'ADD_FEEDBACK_S',\r\n ADD_FEEDBACK_F: 'ADD_FEEDBACK_F',\r\n\r\n //GET CARD LIST LISTING\r\n GET_CARD_LIST_A: 'GET_CARD_LIST_A',\r\n GET_CARD_LIST_S: 'GET_CARD_LIST_S',\r\n GET_CARD_LIST_F: 'GET_CARD_LIST_F',\r\n\r\n //ADD CARD DETAILS LISTING\r\n ADD_CARD_DETAILS_A: 'ADD_CARD_DETAILS_A',\r\n ADD_CARD_DETAILS_S: 'ADD_CARD_DETAILS_S',\r\n ADD_CARD_DETAILS_F: 'ADD_CARD_DETAILS_F',\r\n\r\n //DELETE CARD LISTING\r\n DELETE_CARD_DETAILS_A: 'DELETE_CARD_DETAILS_A',\r\n DELETE_CARD_DETAILS_S: 'DELETE_CARD_DETAILS_S',\r\n DELETE_CARD_DETAILS_F: 'DELETE_CARD_DETAILS_F',\r\n\r\n //WAITER LIST LISTING\r\n WAITER_LIST_A: 'WAITER_LIST_A',\r\n WAITER_LIST_S: 'WAITER_LIST_S',\r\n WAITER_LIST_F: 'WAITER_LIST_F',\r\n\r\n //WAITER DETAILS\r\n WAITER_DETAIL_A: 'WAITER_DETAIL_A',\r\n WAITER_DETAIL_S: 'WAITER_DETAIL_S',\r\n WAITER_DETAIL_F: 'WAITER_DETAIL_F',\r\n\r\n\r\n //GET AVOCADO DETAILS\r\n GET_AVOCADO_DETAILS_A: 'GET_AVOCADO_DETAILS_A',\r\n GET_AVOCADO_DETAILS_S: 'GET_AVOCADO_DETAILS_S',\r\n GET_AVOCADO_DETAILS_F: 'GET_AVOCADO_DETAILS_F',\r\n\r\n //CHECK DELIVERY ADDRESS\r\n CHECK_DELIVERY_ADDRESS_A: 'CHECK_DELIVERY_ADDRESS_A',\r\n CHECK_DELIVERY_ADDRESS_S: 'CHECK_DELIVERY_ADDRESS_S',\r\n CHECK_DELIVERY_ADDRESS_F: 'CHECK_DELIVERY_ADDRESS_F',\r\n\r\n //Cancel order \r\n CANCEL_ORDER_A: 'CANCEL_ORDER_A',\r\n CANCEL_ORDER_S: 'CANCEL_ORDER_S',\r\n CANCEL_ORDER_F: 'CANCEL_ORDER_F',\r\n \r\n //RESTAURANT INFO \r\n GET_RESTO_INFO_A: 'GET_RESTO_INFO_A',\r\n GET_RESTO_INFO_S: 'GET_RESTO_INFO_S',\r\n GET_RESTO_INFO_F: 'GET_RESTO_INFO_F',\r\n\r\n //VOUCHER CODE\r\n APPLY_VOUCHER_CODE_A: 'APPLY_VOUCHER_CODE_A',\r\n APPLY_VOUCHER_CODE_S: 'APPLY_VOUCHER_CODE_S',\r\n APPLY_VOUCHER_CODE_F: 'APPLY_VOUCHER_CODE_F',\r\n\r\n //RESSET PASSWORD\r\n RESET_PASSWORD_A: 'RESET_PASSWORD_A',\r\n RESET_PASSWORD_S: 'RESET_PASSWORD_S',\r\n\r\n //OFFICE REGISTRATION\r\n OFFICE_REGISTER_A: 'OFFICE_REGISTER_A',\r\n OFFICE_REGISTER_S: 'OFFICE_REGISTER_S',\r\n OFFICE_REGISTER_F: 'OFFICE_REGISTER_F',\r\n\r\n //Calculate Delivery Charges\r\n DELIVERY_CHARGE_A: 'DELIVERY_CHARGE_A',\r\n DELIVERY_CHARGE_S: 'DELIVERY_CHARGE_S',\r\n DELIVERY_CHARGE_F: 'DELIVERY_CHARGE_F',\r\n \r\n //Check next day order\r\n CHECK_NEXTDAY_ORDER_A: 'CHECK_NEXTDAY_ORDER_A',\r\n CHECK_NEXTDAY_ORDER_S: 'CHECK_NEXTDAY_ORDER_S',\r\n CHECK_NEXTDAY_ORDER_F: 'CHECK_NEXTDAY_ORDER_F',\r\n \r\n //Get Company List\r\n GET_COMPANY_LIST_A: 'GET_COMPANY_LIST_A',\r\n GET_COMPANY_LIST_S: 'GET_COMPANY_LIST_S',\r\n GET_COMPANY_LIST_F: 'GET_COMPANY_LIST_F',\r\n \r\n //REMOVE LINKED COMPANY\r\n REMOVE_LINKED_COMPANY_A: 'REMOVE_LINKED_COMPANY_A',\r\n REMOVE_LINKED_COMPANY_S: 'REMOVE_LINKED_COMPANY_S',\r\n REMOVE_LINKED_COMPANY_F: 'REMOVE_LINKED_COMPANY_F',\r\n \r\n //REMOVE LINKED COMPANY\r\n GET_BEST_OFFERS_A: 'GET_BEST_OFFERS_A',\r\n GET_BEST_OFFERS_S: 'GET_BEST_OFFERS_S',\r\n GET_BEST_OFFERS_F: 'GET_BEST_OFFERS_F',\r\n\r\n //REMOVE LINKED COMPANY\r\n GET_TABLE_BOOKIG_SLOAT_A: 'GET_TABLE_BOOKIG_SLOAT_A',\r\n GET_TABLE_BOOKIG_SLOAT_S: 'GET_TABLE_BOOKIG_SLOAT_S',\r\n GET_TABLE_BOOKIG_SLOAT_F: 'GET_TABLE_BOOKIG_SLOAT_F',\r\n\r\n //REMOVE LINKED COMPANY\r\n ADD_TABLE_RESERVATION_A: 'ADD_TABLE_RESERVATION_A',\r\n ADD_TABLE_RESERVATION_S: 'ADD_TABLE_RESERVATION_S',\r\n ADD_TABLE_RESERVATION_F: 'ADD_TABLE_RESERVATION_F',\r\n\r\n //REMOVE LINKED COMPANY\r\n GET_TABLE_BOOKING_HISTORY_BY_CUSTOMER_A: 'GET_TABLE_BOOKING_HISTORY_BY_CUSTOMER_A',\r\n GET_TABLE_BOOKING_HISTORY_BY_CUSTOMER_S: 'GET_TABLE_BOOKING_HISTORY_BY_CUSTOMER_S',\r\n GET_TABLE_BOOKING_HISTORY_BY_CUSTOMER_F: 'GET_TABLE_BOOKING_HISTORY_BY_CUSTOMER_F',\r\n\r\n //REMOVE LINKED COMPANY\r\n UPDATE_TABLE_RES_BOOKING_REQUEST_A: 'UPDATE_TABLE_RES_BOOKING_REQUEST_A',\r\n UPDATE_TABLE_RES_BOOKING_REQUEST_S: 'UPDATE_TABLE_RES_BOOKING_REQUEST_S',\r\n UPDATE_TABLE_RES_BOOKING_REQUEST_F: 'UPDATE_TABLE_RES_BOOKING_REQUEST_F',\r\n\r\n //GET CUSTOMER DETAILS\r\n GET_CUSTOMER_DETAIL_A: 'GET_CUSTOMER_DETAIL_A',\r\n GET_CUSTOMER_DETAIL_S: 'GET_CUSTOMER_DETAIL_S',\r\n GET_CUSTOMER_DETAIL_F: 'GET_CUSTOMER_DETAIL_F',\r\n \r\n\r\n //GET CUSTOMER DETAILS\r\n GET_VIRTUAL_QUEUE_LIST_A: 'GET_VIRTUAL_QUEUE_LIST_A',\r\n GET_VIRTUAL_QUEUE_LIST_S: 'GET_VIRTUAL_QUEUE_LIST_S',\r\n GET_VIRTUAL_QUEUE_LIST_F: 'GET_VIRTUAL_QUEUE_LIST_F',\r\n\r\n //GET CUSTOMER DETAILS\r\n ADD_VIRTUAL_QUEUE_A: 'ADD_VIRTUAL_QUEUE_A',\r\n ADD_VIRTUAL_QUEUE_S: 'ADD_VIRTUAL_QUEUE_S',\r\n ADD_VIRTUAL_QUEUE_F: 'ADD_VIRTUAL_QUEUE_F',\r\n\r\n //GET CUSTOMER DETAILS\r\n CANCEL_VIRTUAL_QUEUE_A: 'CANCEL_VIRTUAL_QUEUE_A',\r\n CANCEL_VIRTUAL_QUEUE_S: 'CANCEL_VIRTUAL_QUEUE_S',\r\n CANCEL_VIRTUAL_QUEUE_F: 'CANCEL_VIRTUAL_QUEUE_F',\r\n\r\n\r\n //GET Member offers list\r\n GET_MEMBER_OFFER_LIST_A: 'GET_MEMBER_OFFER_LIST_A',\r\n GET_MEMBER_OFFER_LIST_S: 'GET_MEMBER_OFFER_LIST_S',\r\n GET_MEMBER_OFFER_LIST_F: 'GET_MEMBER_OFFER_LIST_F',\r\n\r\n //GET Member offers list\r\n GET_LOYALTY_REWARD_LIST_A: 'GET_LOYALTY_REWARD_LIST_A',\r\n GET_LOYALTY_REWARD_LIST_S: 'GET_LOYALTY_REWARD_LIST_S',\r\n GET_LOYALTY_REWARD_LIST_F: 'GET_LOYALTY_REWARD_LIST_F',\r\n\r\n\r\n //GET Member offers list\r\n GET_LOYALTY_REWARD_HISTORY_LIST_A: 'GET_LOYALTY_REWARD_HISTORY_LIST_A',\r\n GET_LOYALTY_REWARD_HISTORY_LIST_S: 'GET_LOYALTY_REWARD_HISTORY_LIST_S',\r\n GET_LOYALTY_REWARD_HISTORY_LIST_F: 'GET_LOYALTY_REWARD_HISTORY_LIST_F',\r\n\r\n //GET Member offers list\r\n GET_BEST_OFFER_LIST_A: 'GET_BEST_OFFER_LIST_A',\r\n GET_BEST_OFFER_LIST_S: 'GET_BEST_OFFER_LIST_S',\r\n GET_BEST_OFFER_LIST_F: 'GET_BEST_OFFER_LIST_F',\r\n\r\n //GET Member offers list\r\n GET_MEMBER_OFFER_DISCOUNT_A: 'GET_MEMBER_OFFER_DISCOUNT_A',\r\n GET_MEMBER_OFFER_DISCOUNT_S: 'GET_MEMBER_OFFER_DISCOUNT_S',\r\n GET_MEMBER_OFFER_DISCOUNT_F: 'GET_MEMBER_OFFER_DISCOUNT_F',\r\n\r\n //addRemoveFavItem\r\n ADD_REMOVE_FAV_ITEM_A: 'ADD_REMOVE_FAV_ITEM_A',\r\n ADD_REMOVE_FAV_ITEM_S: 'ADD_REMOVE_FAV_ITEM_S',\r\n ADD_REMOVE_FAV_ITEM_F: 'ADD_REMOVE_FAV_ITEM_F',\r\n\r\n //addRemoveFavItem\r\n GET_FAV_ITEM_A: 'GET_FAV_ITEM_A',\r\n GET_FAV_ITEM_S: 'GET_FAV_ITEM_S',\r\n GET_FAV_ITEM_F: 'GET_FAV_ITEM_F',\r\n\r\n // getLoyaltyPointList\r\n GET_LOYALTY_POINT_LIST_A : 'GET_LOYALTY_POINT_LIST_A',\r\n GET_LOYALTY_POINT_LIST_S : 'GET_LOYALTY_POINT_LIST_S',\r\n GET_LOYALTY_POINT_LIST_F : 'GET_LOYALTY_POINT_LIST_F',\r\n};\r\n\r\n","import actionType from '../actions/ActionTypes';\r\n\r\nconst INITIAL_STATE = {\r\n isLoading: false,\r\n data: {},\r\n error: undefined,\r\n getRestAllInfo : {},\r\n getLocationInfo : {},\r\n getDeliveryAddress : {},\r\n getMenuItemList : {},\r\n}\r\n\r\nexport default function HGReducers(state = INITIAL_STATE, action) {\r\n console.log(' HGReducers - ' + action.type);\r\n \r\n switch (action.type) {\r\n\r\n case actionType.CHECKAPPVERSION_L:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.CHECKAPPVERSION_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.CHECKAPPVERSION_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n case actionType.LOGIN_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.LOGIN_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.LOGIN_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //FORGET PASSWORD\r\n case actionType.FORGET_PASSWORD_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.FORGET_PASSWORD_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.FORGET_PASSWORD_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //COMPANY ACCOUNT LINK\r\n case actionType.LINK_ACCOUNT_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.LINK_ACCOUNT_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.LINK_ACCOUNT_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //SIGNUP\r\n case actionType.REGISTRATION_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.REGISTRATION_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.REGISTRATION_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //VERIFY CUSTOMER\r\n case actionType.VERIFY_CUSTOMER_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.VERIFY_CUSTOMER_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.VERIFY_CUSTOMER_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //RESEND VERIFICATION CODE\r\n case actionType.RESEND_VERIFICATION_CODE_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.RESEND_VERIFICATION_CODE_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.RESEND_VERIFICATION_CODE_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //GET ALL CATEGORIES\r\n case actionType.GET_CATEGORIES_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_CATEGORIES_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_CATEGORIES_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //GET CATEGORIES MENU ITEMS\r\n case actionType.GET_CATEGORIES_MENUITEMS_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_CATEGORIES_MENUITEMS_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_CATEGORIES_MENUITEMS_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //DELETE ACCOUNT \r\n case actionType.DELETE_ACCOUNT_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.DELETE_ACCOUNT_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.DELETE_ACCOUNT_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //GET ORDER LIST\r\n case actionType.ORDERS_LIST_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.ORDERS_LIST_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.ORDERS_LIST_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //ORDER DETAILS LIST\r\n case actionType.ORDER_DETAILS_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.ORDER_DETAILS_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.ORDER_DETAILS_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n \r\n //Check Social media exist\r\n case actionType.SOCIAL_SIGNUP_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.SOCIAL_SIGNUP_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.SOCIAL_SIGNUP_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n \r\n //Get Location\r\n case actionType.LOCATION_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.LOCATION_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n getLocationInfo : action.data,\r\n error: undefined\r\n }\r\n case actionType.LOCATION_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //CHECK SPECIAL OFFERS\r\n case actionType.CHECK_SPECIAL_OFFERS_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.CHECK_SPECIAL_OFFERS_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.CHECK_SPECIAL_OFFERS_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //GET COMPANY CREDIT \r\n case actionType.CHECK_COMPANY_CREDIT_SCORE_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.CHECK_COMPANY_CREDIT_SCORE_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.CHECK_COMPANY_CREDIT_SCORE_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //ADD COMPANY ADDRESS\r\n case actionType.ADD_COMPNAY_ADDRESS_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.ADD_COMPNAY_ADDRESS_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.ADD_COMPNAY_ADDRESS_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //GET DELIVERY ADDRESS\r\n case actionType.GET_DELIVERY_ADDRESS_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_DELIVERY_ADDRESS_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n getDeliveryAddress : action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_DELIVERY_ADDRESS_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n \r\n //DELETE DELIVERY ADDRESS\r\n case actionType.DELETE_DELIVERY_ADDRESS_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.DELETE_DELIVERY_ADDRESS_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.DELETE_DELIVERY_ADDRESS_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //ADD DELIVERY ADDRESS\r\n case actionType.ADD_DELIVERY_ADDRESS_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.ADD_DELIVERY_ADDRESS_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.ADD_DELIVERY_ADDRESS_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //Get App Message\r\n case actionType.APP_MESSAGE_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.APP_MESSAGE_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.APP_MESSAGE_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n \r\n //Add Orders\r\n case actionType.ADD_ORDERS_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.ADD_ORDERS_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.ADD_ORDERS_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //CHECK MENU ITEMS TIMES\r\n case actionType.CHECK_ITEM_TIME_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.CHECK_ITEM_TIME_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.CHECK_ITEM_TIME_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //GET SAVED CARDS\r\n case actionType.GET_SAVED_CARD_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_SAVED_CARD_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_SAVED_CARD_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //GET RE ORDER INFO\r\n case actionType.GET_REORDER_INFO_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_REORDER_INFO_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_REORDER_INFO_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //GET ITEM DETAILS \r\n case actionType.GET_ITEM_DETAILS_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_ITEM_DETAILS_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_ITEM_DETAILS_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //Add User Feedback\r\n case actionType.ADD_FEEDBACK_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.ADD_FEEDBACK_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.ADD_FEEDBACK_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //Get Card List\r\n case actionType.GET_CARD_LIST_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_CARD_LIST_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_CARD_LIST_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //Add Card Details \r\n case actionType.ADD_CARD_DETAILS_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.ADD_CARD_DETAILS_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.ADD_CARD_DETAILS_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //Delete Card Details \r\n case actionType.DELETE_CARD_DETAILS_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.DELETE_CARD_DETAILS_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.DELETE_CARD_DETAILS_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //Waiter List \r\n case actionType.WAITER_LIST_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.WAITER_LIST_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.WAITER_LIST_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //Waiter List \r\n case actionType.WAITER_DETAIL_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.WAITER_DETAIL_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.WAITER_DETAIL_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //Get avocado details \r\n case actionType.GET_AVOCADO_DETAILS_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_AVOCADO_DETAILS_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_AVOCADO_DETAILS_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n // CHECK DELIVERY ADDRESS\r\n case actionType.CHECK_DELIVERY_ADDRESS_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.CHECK_DELIVERY_ADDRESS_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.CHECK_DELIVERY_ADDRESS_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n\r\n // CANCEL ORDER \r\n case actionType.CANCEL_ORDER_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.CANCEL_ORDER_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.CANCEL_ORDER_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n // RESTO INFO \r\n case actionType.GET_RESTO_INFO_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_RESTO_INFO_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n getRestAllInfo : action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_RESTO_INFO_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n \r\n \r\n // VOUCHER CODE \r\n case actionType.APPLY_VOUCHER_CODE_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.APPLY_VOUCHER_CODE_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.APPLY_VOUCHER_CODE_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n // RESET PASSWORD \r\n case actionType.RESET_PASSWORD_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.RESET_PASSWORD_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.RESET_PASSWORD_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n // Office Register\r\n case actionType.OFFICE_REGISTER_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.OFFICE_REGISTER_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.OFFICE_REGISTER_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n // DELIVERY CHARGE\r\n case actionType.DELIVERY_CHARGE_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.DELIVERY_CHARGE_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.DELIVERY_CHARGE_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n // NEXT DAY ORDER \r\n case actionType.CHECK_NEXTDAY_ORDER_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.CHECK_NEXTDAY_ORDER_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.CHECK_NEXTDAY_ORDER_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n // GET COMPANY LIST\r\n case actionType.GET_COMPANY_LIST_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_COMPANY_LIST_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_COMPANY_LIST_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n // REMOVE LINKED COMPANY\r\n case actionType.REMOVE_LINKED_COMPANY_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.REMOVE_LINKED_COMPANY_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.REMOVE_LINKED_COMPANY_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n \r\n // GET BEST OFFERS\r\n case actionType.GET_BEST_OFFERS_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_BEST_OFFERS_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_BEST_OFFERS_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n\r\n // GET Tbale Booking Sloat \r\n case actionType.GET_TABLE_BOOKIG_SLOAT_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_TABLE_BOOKIG_SLOAT_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_TABLE_BOOKIG_SLOAT_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n\r\n // GET Tbale Booking Reservation \r\n case actionType.ADD_TABLE_RESERVATION_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.ADD_TABLE_RESERVATION_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.ADD_TABLE_RESERVATION_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n\r\n // GET Tbale Booking Reservation \r\n case actionType.GET_TABLE_BOOKING_HISTORY_BY_CUSTOMER_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_TABLE_BOOKING_HISTORY_BY_CUSTOMER_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_TABLE_BOOKING_HISTORY_BY_CUSTOMER_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n // Cancel Tbale Booking Reservation \r\n case actionType.UPDATE_TABLE_RES_BOOKING_REQUEST_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.UPDATE_TABLE_RES_BOOKING_REQUEST_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.UPDATE_TABLE_RES_BOOKING_REQUEST_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n // Cancel Tbale Booking Reservation \r\n case actionType.GET_CUSTOMER_DETAIL_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_CUSTOMER_DETAIL_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_CUSTOMER_DETAIL_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n // get virtual queue \r\n case actionType.GET_VIRTUAL_QUEUE_LIST_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_VIRTUAL_QUEUE_LIST_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_VIRTUAL_QUEUE_LIST_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n\r\n // ADD virtual queue \r\n case actionType.ADD_VIRTUAL_QUEUE_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.ADD_VIRTUAL_QUEUE_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.ADD_VIRTUAL_QUEUE_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n // cancel virtual queue \r\n case actionType.CANCEL_VIRTUAL_QUEUE_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.CANCEL_VIRTUAL_QUEUE_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.CANCEL_VIRTUAL_QUEUE_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n // get member offer list\r\n case actionType.GET_MEMBER_OFFER_LIST_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_MEMBER_OFFER_LIST_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_MEMBER_OFFER_LIST_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n // get member offer list\r\n case actionType.GET_LOYALTY_REWARD_LIST_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_LOYALTY_REWARD_LIST_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_LOYALTY_REWARD_LIST_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n // get loyalty history list\r\n case actionType.GET_LOYALTY_REWARD_HISTORY_LIST_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_LOYALTY_REWARD_HISTORY_LIST_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_LOYALTY_REWARD_HISTORY_LIST_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n // get special offer offer list\r\n case actionType.GET_BEST_OFFER_LIST_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_BEST_OFFER_LIST_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_BEST_OFFER_LIST_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n\r\n // get member offer discount apply\r\n case actionType.GET_MEMBER_OFFER_DISCOUNT_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_MEMBER_OFFER_DISCOUNT_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_MEMBER_OFFER_DISCOUNT_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n\r\n //add Remove fav item\r\n case actionType.ADD_REMOVE_FAV_ITEM_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.ADD_REMOVE_FAV_ITEM_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.ADD_REMOVE_FAV_ITEM_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n\r\n //get fav item\r\n case actionType.GET_FAV_ITEM_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_FAV_ITEM_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_FAV_ITEM_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n \r\n //Get Loyalty Point list\r\n case actionType.GET_LOYALTY_POINT_LIST_A:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n }\r\n case actionType.GET_LOYALTY_POINT_LIST_S:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.data,\r\n error: undefined\r\n }\r\n case actionType.GET_LOYALTY_POINT_LIST_F:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n error: action.error\r\n }\r\n \r\n default:\r\n return state\r\n }\r\n\r\n}\r\n\r\n\r\n","import { combineReducers } from 'redux'\r\nimport HGReducers from './BasicApiReducers';\r\n\r\nconst rootReducer = combineReducers({\r\n HGReducers,\r\n})\r\nexport default rootReducer;\r\n\r\n\r\n","\r\nimport { createStore, applyMiddleware } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport rootReducer from '../reducers';\r\n\r\nconst configureStore = () => {\r\n return createStore(rootReducer,applyMiddleware(thunk));\r\n}\r\n\r\nexport default configureStore;\r\n","import axios from 'axios';\r\n// import apiPath from '../Constants/APIPath';\r\nimport baseConstants from '../../src/constants/baseConstants';\r\n\r\nexport default axios.create({\r\n // baseURL: 'http://honestgreens.mgtdemo.co.uk/RestaurantAPIOnlineV1.asmx/',//DEMO\r\n // baseURL: 'https://honestgreens.smartrestaurants.com/RestaurantAPIOnlineV1.asmx/',//LIVE\r\n\r\n baseURL: baseConstants.mainURL + 'RestaurantAPIOnlineV1.asmx/',\r\n responseType: 'json',\r\n timeout: 60 * 1000,\r\n headers: {\r\n 'Content-Type': 'application/json; charset=UTF-8',\r\n 'Authorization': 'fd559f719645be483bc941f7ef3ab5be',\r\n // 'Access-Control-Allow-Origin': 'http://localhost:3002',\r\n // 'Access-Control-Allow-Origin': '*',\r\n // 'Access-Control-Allow-Headers': '*',\r\n },\r\n});\r\n\r\n\r\n\r\n","import actionType from './ActionTypes'\r\n\r\n// L -loading\r\n// S- success\r\n// F- fail\r\n\r\n//[---- CHECK VERSION-----]\r\nexport function CheckAppVersionL(bool) {\r\n return {\r\n type: actionType.CHECKAPPVERSION_L,\r\n isLoading: bool\r\n }\r\n}\r\n\r\nexport function CheckAppVersionS(data) {\r\n return {\r\n type: actionType.CHECKAPPVERSION_S,\r\n data\r\n }\r\n}\r\n\r\nexport function CheckAppVersionF(error,data) {\r\n return {\r\n type: actionType.CHECKAPPVERSION_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n\r\n// LOGIN FUNCTIONS\r\nexport function LoginAttempt(bool) {\r\n return {\r\n type: actionType.LOGIN_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function LoginSuccess(data) {\r\n return {\r\n type: actionType.LOGIN_S,\r\n data\r\n }\r\n}\r\nexport function LoginFailed(error,data) {\r\n return {\r\n type: actionType.LOGIN_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// FORGET PASSWORD FUNCTIONS\r\nexport function ForgetPasswordA(bool) {\r\n return {\r\n type: actionType.FORGET_PASSWORD_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function ForgetPasswordS(data) {\r\n return {\r\n type: actionType.FORGET_PASSWORD_S,\r\n data\r\n }\r\n}\r\nexport function ForgetPasswordF(error,data) {\r\n return {\r\n type: actionType.FORGET_PASSWORD_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// REGISTRAION FUNCTIONS\r\nexport function RegistrationAttempt(bool) {\r\n return {\r\n type: actionType.REGISTRATION_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function RegistrationSuccess(data) {\r\n return {\r\n type: actionType.REGISTRATION_S,\r\n data\r\n }\r\n}\r\nexport function RegistrationFailed(error,data) {\r\n return {\r\n type: actionType.REGISTRATION_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// MOBILE VERIFICATION FUNCTIONS\r\nexport function VerifyCustomerAttempt(bool) {\r\n return {\r\n type: actionType.VERIFY_CUSTOMER_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function VerifyCustomerSuccess(data) {\r\n return {\r\n type: actionType.VERIFY_CUSTOMER_S,\r\n data\r\n }\r\n}\r\nexport function VerifyCustomerFailed(error,data) {\r\n return {\r\n type: actionType.VERIFY_CUSTOMER_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// RESEND MOBILE VERIFICATION FUNCTIONS\r\nexport function ResendMobileVerificationCodeAttempt(bool) {\r\n return {\r\n type: actionType.RESEND_VERIFICATION_CODE_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function ResendMobileVerificationCodeSuccess(data) {\r\n return {\r\n type: actionType.RESEND_VERIFICATION_CODE_S,\r\n data\r\n }\r\n}\r\nexport function ResendMobileVerificationCodeFailed(error,data) {\r\n return {\r\n type: actionType.RESEND_VERIFICATION_CODE_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// SOCIAL LOGIN/REGISTRAION FUNCTIONS\r\nexport function SocialSignUpAttempt(bool) {\r\n return {\r\n type: actionType.SOCIAL_SIGNUP_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function SocialSignUpSuccess(data) {\r\n return {\r\n type: actionType.SOCIAL_SIGNUP_S,\r\n data\r\n }\r\n}\r\nexport function SocialSignUpFailed(error,data) {\r\n return {\r\n type: actionType.SOCIAL_SIGNUP_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// ADD UPDATE SOCIAL CUSTOMER FUNCTIONS\r\nexport function addUpdateSocialCustomerAttempt(bool) {\r\n return {\r\n type: actionType.ADDUPDATE_SOCIAL_CUSTOMER_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function addUpdateSocialCustomerSuccess(data) {\r\n return {\r\n type: actionType.ADDUPDATE_SOCIAL_CUSTOMER_S,\r\n data\r\n }\r\n}\r\nexport function addUpdateSocialCustomerFailed(error,data) {\r\n return {\r\n type: actionType.ADDUPDATE_SOCIAL_CUSTOMER_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// GET ALL CATEGORIES FUNCTIONS\r\nexport function GetCategoriesAttempt(bool) {\r\n return {\r\n type: actionType.GET_CATEGORIES_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function GetCategoriesSuccess(data) {\r\n return {\r\n type: actionType.GET_CATEGORIES_S,\r\n data\r\n }\r\n}\r\nexport function GetCategoriesFailed(error,data) {\r\n return {\r\n type: actionType.GET_CATEGORIES_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// GET CATEGORIES MENU ITEMS FUNCTIONS\r\nexport function GetCategoriesMenuItemsAttempt(bool) {\r\n return {\r\n type: actionType.GET_CATEGORIES_MENUITEMS_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function GetCategoriesMenuItemsSuccess(data) {\r\n return {\r\n type: actionType.GET_CATEGORIES_MENUITEMS_S,\r\n data\r\n }\r\n}\r\nexport function GetCategoriesMenuItemsFailed(error,data) {\r\n return {\r\n type: actionType.GET_CATEGORIES_MENUITEMS_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n\r\n// DELETE USER ACCOUNT FUNCTIONS\r\nexport function DeleteAccountAttempt(bool) {\r\n return {\r\n type: actionType.DELETE_ACCOUNT_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function DeleteAccountSuccess(data) {\r\n return {\r\n type: actionType.DELETE_ACCOUNT_S,\r\n data\r\n }\r\n}\r\nexport function DeleteAccountFailed(error,data) {\r\n return {\r\n type: actionType.DELETE_ACCOUNT_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// COMPANY LINK ACCOUNT FUNCTIONS\r\nexport function CompanyAccountLinkA(bool) {\r\n return {\r\n type: actionType.LINK_ACCOUNT_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function CompanyAccountLinkS(data) {\r\n return {\r\n type: actionType.LINK_ACCOUNT_S,\r\n data\r\n }\r\n}\r\nexport function CompanyAccountLinkF(error,data) {\r\n return {\r\n type: actionType.LINK_ACCOUNT_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// ORDER LIST FUNCTIONS\r\nexport function OrderSListA(bool) {\r\n return {\r\n type: actionType.ORDERS_LIST_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function OrderSListS(data) {\r\n return {\r\n type: actionType.ORDERS_LIST_S,\r\n data\r\n }\r\n}\r\nexport function OrderSListF(error,data) {\r\n return {\r\n type: actionType.ORDERS_LIST_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// ORDER DETAILS FUNCTIONS\r\nexport function OrderDetailsA(bool) {\r\n return {\r\n type: actionType.ORDER_DETAILS_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function OrderDetailsS(data) {\r\n return {\r\n type: actionType.ORDER_DETAILS_S,\r\n data\r\n }\r\n}\r\nexport function OrderDetailsF(error,data) {\r\n return {\r\n type: actionType.ORDER_DETAILS_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// LOCATION FUNCTIONS\r\nexport function GetLocationA(bool) {\r\n return {\r\n type: actionType.LOCATION_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function GetLocationS(data) {\r\n return {\r\n type: actionType.LOCATION_S,\r\n data\r\n }\r\n}\r\nexport function GetLocationF(error,data) {\r\n return {\r\n type: actionType.LOCATION_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// CHECK SPECIAL OFFERS FUNCTIONS\r\nexport function CheckSpecialOfferA(bool) {\r\n return {\r\n type: actionType.CHECK_SPECIAL_OFFERS_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function CheckSpecialOfferS(data) {\r\n return {\r\n type: actionType.CHECK_SPECIAL_OFFERS_S,\r\n data\r\n }\r\n}\r\nexport function CheckSpecialOfferF(error,data) {\r\n return {\r\n type: actionType.CHECK_SPECIAL_OFFERS_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// COMPANY CREDIT SCORE FUNCTIONS\r\nexport function CheckCompanyCreditScoreA(bool) {\r\n return {\r\n type: actionType.CHECK_COMPANY_CREDIT_SCORE_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function CheckCompanyCreditScoreS(data) {\r\n return {\r\n type: actionType.CHECK_COMPANY_CREDIT_SCORE_S,\r\n data\r\n }\r\n}\r\nexport function CheckCompanyCreditScoreF(error,data) {\r\n return {\r\n type: actionType.CHECK_COMPANY_CREDIT_SCORE_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// COMPANY CREDIT SCORE FUNCTIONS\r\nexport function AddCompanyAddressA(bool) {\r\n return {\r\n type: actionType.ADD_COMPNAY_ADDRESS_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function AddCompanyAddressS(data) {\r\n return {\r\n type: actionType.ADD_COMPNAY_ADDRESS_S,\r\n data\r\n }\r\n}\r\nexport function AddCompanyAddressF(error,data) {\r\n return {\r\n type: actionType.ADD_COMPNAY_ADDRESS_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// GET DELIVERY ADDRESS FUNCTIONS\r\nexport function GetDeliveryAddressA(bool) {\r\n return {\r\n type: actionType.GET_DELIVERY_ADDRESS_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function GetDeliveryAddressS(data) {\r\n return {\r\n type: actionType.GET_DELIVERY_ADDRESS_S,\r\n data\r\n }\r\n}\r\nexport function GetDeliveryAddressF(error,data) {\r\n return {\r\n type: actionType.GET_DELIVERY_ADDRESS_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// DELETE ADDRESS FUNCTIONS\r\nexport function DeleteDeliveryAddressA(bool) {\r\n return {\r\n type: actionType.DELETE_DELIVERY_ADDRESS_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function DeleteDeliveryAddressS(data) {\r\n return {\r\n type: actionType.DELETE_DELIVERY_ADDRESS_S,\r\n data\r\n }\r\n}\r\nexport function DeleteDeliveryAddressF(error,data) {\r\n return {\r\n type: actionType.DELETE_DELIVERY_ADDRESS_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n\r\n// ADD DELIVERY ADDRESS FUNCTIONS\r\nexport function AddDeliveryAddressA(bool) {\r\n return {\r\n type: actionType.ADD_DELIVERY_ADDRESS_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function AddDeliveryAddressS(data) {\r\n return {\r\n type: actionType.ADD_DELIVERY_ADDRESS_S,\r\n data\r\n }\r\n}\r\nexport function AddDeliveryAddressF(error,data) {\r\n return {\r\n type: actionType.ADD_DELIVERY_ADDRESS_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// GET APP MESSAGE FUNCTIONS\r\nexport function GetAppMessageA(bool) {\r\n return {\r\n type: actionType.APP_MESSAGE_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function GetAppMessageS(data) {\r\n return {\r\n type: actionType.APP_MESSAGE_S,\r\n data\r\n }\r\n}\r\nexport function GetAppMessageF(error,data) {\r\n return {\r\n type: actionType.APP_MESSAGE_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// ADD ORDERS FUNCTIONS\r\nexport function AddOrdersA(bool) {\r\n return {\r\n type: actionType.ADD_ORDERS_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function AddOrdersS(data) {\r\n return {\r\n type: actionType.ADD_ORDERS_S,\r\n data\r\n }\r\n}\r\nexport function AddOrdersF(error,data) {\r\n return {\r\n type: actionType.ADD_ORDERS_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n\r\n// CHECK MENU ITEMS TIMES FUNCTIONS\r\nexport function CheckMenuItemTimesA(bool) {\r\n return {\r\n type: actionType.CHECK_ITEM_TIME_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function CheckMenuItemTimesS(data) {\r\n return {\r\n type: actionType.CHECK_ITEM_TIME_S,\r\n data\r\n }\r\n}\r\nexport function CheckMenuItemTimesF(error,data) {\r\n return {\r\n type: actionType.CHECK_ITEM_TIME_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n\r\n// GET SAVED CARDS FUNCTIONS\r\nexport function GetSavedCardsA(bool) {\r\n return {\r\n type: actionType.GET_SAVED_CARD_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function GetSavedCardsS(data) {\r\n return {\r\n type: actionType.GET_SAVED_CARD_S,\r\n data\r\n }\r\n}\r\nexport function GetSavedCardsF(error,data) {\r\n return {\r\n type: actionType.GET_SAVED_CARD_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// GET REORDER INFO FUNCTIONS\r\nexport function GetReOrderInfoA(bool) {\r\n return {\r\n type: actionType.GET_REORDER_INFO_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function GetReOrderInfoS(data) {\r\n return {\r\n type: actionType.GET_REORDER_INFO_S,\r\n data\r\n }\r\n}\r\nexport function GetReOrderInfoF(error,data) {\r\n return {\r\n type: actionType.GET_REORDER_INFO_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// GET ITEM DETAILS FUNCTIONS\r\nexport function GetItemDetailsA(bool) {\r\n return {\r\n type: actionType.GET_ITEM_DETAILS_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function GetItemDetailsS(data) {\r\n return {\r\n type: actionType.GET_ITEM_DETAILS_S,\r\n data\r\n }\r\n}\r\nexport function GetItemDetailsF(error,data) {\r\n return {\r\n type: actionType.GET_ITEM_DETAILS_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n\r\n// ADD USER FEEDBACK FUNCTIONS\r\nexport function AddFeedbackA(bool) {\r\n return {\r\n type: actionType.ADD_FEEDBACK_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function AddFeedbackS(data) {\r\n return {\r\n type: actionType.ADD_FEEDBACK_S,\r\n data\r\n }\r\n}\r\nexport function AddFeedbackF(error,data) {\r\n return {\r\n type: actionType.ADD_FEEDBACK_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// GET CARD LIST FUNCTIONS\r\nexport function GetCardListA(bool) {\r\n return {\r\n type: actionType.GET_CARD_LIST_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function GetCardListS(data) {\r\n return {\r\n type: actionType.GET_CARD_LIST_S,\r\n data\r\n }\r\n}\r\nexport function GetCardListF(error,data) {\r\n return {\r\n type: actionType.GET_CARD_LIST_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n\r\n// ADD CARD DETAILS FUNCTIONS\r\nexport function AddCardDetailsA(bool) {\r\n return {\r\n type: actionType.ADD_CARD_DETAILS_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function AddCardDetailsS(data) {\r\n return {\r\n type: actionType.ADD_CARD_DETAILS_S,\r\n data\r\n }\r\n}\r\nexport function AddCardDetailsF(error,data) {\r\n return {\r\n type: actionType.ADD_CARD_DETAILS_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// DELETE CARD DETAILS FUNCTIONS\r\nexport function DeleteCardDetailA(bool) {\r\n return {\r\n type: actionType.DELETE_CARD_DETAILS_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function DeleteCardDetailS(data) {\r\n return {\r\n type: actionType.DELETE_CARD_DETAILS_S,\r\n data\r\n }\r\n}\r\nexport function DeleteCardDetailF(error,data) {\r\n return {\r\n type: actionType.DELETE_CARD_DETAILS_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// GET WAITER LISTING FUNCTIONS\r\nexport function WaiterListA(bool) {\r\n return {\r\n type: actionType.WAITER_LIST_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function WaiterListS(data) {\r\n return {\r\n type: actionType.WAITER_LIST_S,\r\n data\r\n }\r\n}\r\nexport function WaiterListF(error,data) {\r\n return {\r\n type: actionType.WAITER_LIST_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n\r\n// GET WAITER DETAILS FUNCTIONS\r\nexport function WaiterDetailsA(bool) {\r\n return {\r\n type: actionType.WAITER_DETAIL_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function WaiterDetailsS(data) {\r\n return {\r\n type: actionType.WAITER_DETAIL_S,\r\n data\r\n }\r\n}\r\nexport function WaiterDetailsF(error,data) {\r\n return {\r\n type: actionType.WAITER_DETAIL_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n\r\n\r\n// GET AVOCADO DETAILS FUNCTIONS\r\nexport function GetAvocadoDetailsA(bool) {\r\n return {\r\n type: actionType.GET_AVOCADO_DETAILS_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function GetAvocadoDetailsS(data) {\r\n return {\r\n type: actionType.GET_AVOCADO_DETAILS_S,\r\n data\r\n }\r\n}\r\nexport function GetAvocadoDetailsF(error,data) {\r\n return {\r\n type: actionType.GET_AVOCADO_DETAILS_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n\r\n// CHECK VALID DELIVERY ADDRESS\r\nexport function CheckDeliveryAddressA(bool) {\r\n return {\r\n type: actionType.CHECK_DELIVERY_ADDRESS_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function CheckDeliveryAddressS(data) {\r\n return {\r\n type: actionType.CHECK_DELIVERY_ADDRESS_S,\r\n data\r\n }\r\n}\r\nexport function CheckDeliveryAddressF(error,data) {\r\n return {\r\n type: actionType.CHECK_DELIVERY_ADDRESS_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n\r\n// CANCEL ORDER\r\nexport function CancelOrderA(bool) {\r\n return {\r\n type: actionType.CANCEL_ORDER_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function CancelOrderS(data) {\r\n return {\r\n type: actionType.CANCEL_ORDER_S,\r\n data\r\n }\r\n}\r\nexport function CancelOrderF(error,data) {\r\n return {\r\n type: actionType.CANCEL_ORDER_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// RESTAURANT INFO \r\nexport function GetRestoInfoA(bool) {\r\n return {\r\n type: actionType.GET_RESTO_INFO_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function GetRestoInfoS(data) {\r\n return {\r\n type: actionType.GET_RESTO_INFO_S,\r\n data\r\n }\r\n}\r\nexport function GetRestoInfoF(error,data) {\r\n return {\r\n type: actionType.GET_RESTO_INFO_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n\r\n\r\n// APPLY VOUCHER FUNCTION\r\nexport function ApplyVoucherCodeA(bool) {\r\n return {\r\n type: actionType.APPLY_VOUCHER_CODE_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function ApplyVoucherCodeS(data) {\r\n return {\r\n type: actionType.APPLY_VOUCHER_CODE_S,\r\n data\r\n }\r\n}\r\nexport function ApplyVoucherCodeF(error,data) {\r\n return {\r\n type: actionType.APPLY_VOUCHER_CODE_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n\r\n// RESET PASSWORD FUNCTION\r\nexport function ResetPasswordA(bool) {\r\n return {\r\n type: actionType.RESET_PASSWORD_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function ResetPasswordS(data) {\r\n return {\r\n type: actionType.RESET_PASSWORD_S,\r\n data\r\n }\r\n}\r\nexport function ResetPasswordF(error,data) {\r\n return {\r\n type: actionType.RESET_PASSWORD_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// OFFICE REGISTRATION FUNCTIONS\r\nexport function OfficeRegistrationAttempt(bool) {\r\n return {\r\n type: actionType.OFFICE_REGISTER_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function OfficeRegistrationSuccess(data) {\r\n return {\r\n type: actionType.OFFICE_REGISTER_S,\r\n data\r\n }\r\n}\r\nexport function OfficeRegistrationFailed(error,data) {\r\n return {\r\n type: actionType.OFFICE_REGISTER_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// DELIVERY CHARGE FUNCTIONS\r\nexport function DeliveryChargeAttempt(bool) {\r\n return {\r\n type: actionType.DELIVERY_CHARGE_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function DeliveryChargeSuccess(data) {\r\n return {\r\n type: actionType.DELIVERY_CHARGE_S,\r\n data\r\n }\r\n}\r\nexport function DeliveryChargeFailed(error,data) {\r\n return {\r\n type: actionType.DELIVERY_CHARGE_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// CHECK NEXT DAY ORDER FUNCTIONS\r\nexport function CheckNextDayOrderAttempt(bool) {\r\n return {\r\n type: actionType.CHECK_NEXTDAY_ORDER_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function CheckNextDayOrderSuccess(data) {\r\n return {\r\n type: actionType.CHECK_NEXTDAY_ORDER_S,\r\n data\r\n }\r\n}\r\nexport function CheckNextDayOrderFailed(error,data) {\r\n return {\r\n type: actionType.CHECK_NEXTDAY_ORDER_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// GET COMPANY LIST FUNCTIONS\r\nexport function GetCompanyListAttempt(bool) {\r\n return {\r\n type: actionType.GET_COMPANY_LIST_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function GetCompanyListSuccess(data) {\r\n return {\r\n type: actionType.GET_COMPANY_LIST_S,\r\n data\r\n }\r\n}\r\nexport function GetCompanyListFailed(error,data) {\r\n return {\r\n type: actionType.GET_COMPANY_LIST_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// REMOVE LINKED COMPANY FUNCTIONS\r\nexport function RemoveLinkedCompanyAttempt(bool) {\r\n return {\r\n type: actionType.REMOVE_LINKED_COMPANY_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function RemoveLinkedCompanySuccess(data) {\r\n return {\r\n type: actionType.REMOVE_LINKED_COMPANY_S,\r\n data\r\n }\r\n}\r\nexport function RemoveLinkedCompanyFailed(error,data) {\r\n return {\r\n type: actionType.REMOVE_LINKED_COMPANY_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// GET BEST OFFERS FUNCTIONS\r\nexport function GetBestOffersAttempt(bool) {\r\n return {\r\n type: actionType.GET_BEST_OFFERS_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function GetBestOffersSuccess(data) {\r\n return {\r\n type: actionType.GET_BEST_OFFERS_S,\r\n data\r\n }\r\n}\r\nexport function GetBestOffersFailed(error,data) {\r\n return {\r\n type: actionType.GET_BEST_OFFERS_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n\r\n// GET Table Booking sloat\r\nexport function GetTableBookingSloatAttempt(bool) {\r\n return {\r\n type: actionType.GET_TABLE_BOOKIG_SLOAT_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function GetTableBookingSloatSuccess(data) {\r\n return {\r\n type: actionType.GET_TABLE_BOOKIG_SLOAT_S,\r\n data\r\n }\r\n}\r\nexport function GetTableBookingSloatFailed(error,data) {\r\n return {\r\n type: actionType.GET_TABLE_BOOKIG_SLOAT_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// Add Table Booking sloat with paynow\r\nexport function addTableReservationAttempt(bool) {\r\n return {\r\n type: actionType.ADD_TABLE_RESERVATION_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function addTableReservationSuccess(data) {\r\n return {\r\n type: actionType.ADD_TABLE_RESERVATION_S,\r\n data\r\n }\r\n}\r\nexport function addTableReservationFailed(error,data) {\r\n return {\r\n type: actionType.ADD_TABLE_RESERVATION_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// get Table Booking History\r\nexport function getTableBookingHistoryByCustomerAttempt(bool) {\r\n return {\r\n type: actionType.GET_TABLE_BOOKING_HISTORY_BY_CUSTOMER_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function getTableBookingHistoryByCustomerSuccess(data) {\r\n return {\r\n type: actionType.GET_TABLE_BOOKING_HISTORY_BY_CUSTOMER_S,\r\n data\r\n }\r\n}\r\nexport function getTableBookingHistoryByCustomerFailed(error,data) {\r\n return {\r\n type: actionType.GET_TABLE_BOOKING_HISTORY_BY_CUSTOMER_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// Cancel Reservation Table Booking\r\nexport function updateTableReservationBookingRequestAttempt(bool) {\r\n return {\r\n type: actionType.UPDATE_TABLE_RES_BOOKING_REQUEST_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function updateTableReservationBookingRequestSuccess(data) {\r\n return {\r\n type: actionType.UPDATE_TABLE_RES_BOOKING_REQUEST_S,\r\n data\r\n }\r\n}\r\nexport function updateTableReservationBookingRequestFailed(error,data) {\r\n return {\r\n type: actionType.UPDATE_TABLE_RES_BOOKING_REQUEST_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n\r\n// Cancel Reservation Table Booking\r\nexport function getCustomerDetailsAttempt(bool) {\r\n return {\r\n type: actionType.GET_CUSTOMER_DETAIL_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function getCustomerDetailsSuccess(data) {\r\n return {\r\n type: actionType.GET_CUSTOMER_DETAIL_S,\r\n data\r\n }\r\n}\r\nexport function getCustomerDetailsFailed(error,data) {\r\n return {\r\n type: actionType.GET_CUSTOMER_DETAIL_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// get virtual waiting\r\nexport function getTableVirtualWaitingByCustomerAttempt(bool) {\r\n return {\r\n type: actionType.GET_VIRTUAL_QUEUE_LIST_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function getTableVirtualWaitingByCustomerSuccess(data) {\r\n return {\r\n type: actionType.GET_VIRTUAL_QUEUE_LIST_S,\r\n data\r\n }\r\n}\r\nexport function getTableVirtualWaitingByCustomerFailed(error,data) {\r\n return {\r\n type: actionType.GET_VIRTUAL_QUEUE_LIST_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// Add virtual waiting\r\nexport function addTableVirtualWaitingAttempt(bool) {\r\n return {\r\n type: actionType.ADD_VIRTUAL_QUEUE_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function addTableVirtualWaitingSuccess(data) {\r\n return {\r\n type: actionType.ADD_VIRTUAL_QUEUE_S,\r\n data\r\n }\r\n}\r\nexport function addTableVirtualWaitingFailed(error,data) {\r\n return {\r\n type: actionType.ADD_VIRTUAL_QUEUE_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// Cancel virtual waiting\r\nexport function deleteTableVirtualWaitingAttempt(bool) {\r\n return {\r\n type: actionType.CANCEL_VIRTUAL_QUEUE_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function deleteTableVirtualWaitingSuccess(data) {\r\n return {\r\n type: actionType.CANCEL_VIRTUAL_QUEUE_S,\r\n data\r\n }\r\n}\r\nexport function deleteTableVirtualWaitingFailed(error,data) {\r\n return {\r\n type: actionType.CANCEL_VIRTUAL_QUEUE_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n\r\n// get member offer list\r\nexport function getMemberofferListAttempt(bool) {\r\n return {\r\n type: actionType.GET_MEMBER_OFFER_LIST_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function getMemberofferListSuccess(data) {\r\n return {\r\n type: actionType.GET_MEMBER_OFFER_LIST_S,\r\n data\r\n }\r\n}\r\nexport function getMemberofferListFailed(error,data) {\r\n return {\r\n type: actionType.GET_MEMBER_OFFER_LIST_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// get getLoyaltyRewardLevelList\r\nexport function getLoyaltyRewardLevelListAttempt(bool) {\r\n return {\r\n type: actionType.GET_LOYALTY_REWARD_LIST_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function getLoyaltyRewardLevelListSuccess(data) {\r\n return {\r\n type: actionType.GET_LOYALTY_REWARD_LIST_S,\r\n data\r\n }\r\n}\r\nexport function getLoyaltyRewardLevelListFailed(error,data) {\r\n return {\r\n type: actionType.GET_LOYALTY_REWARD_LIST_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// get getLoyaltyRewardLevel hiostory List\r\nexport function getMemberOfferTransactionListAttempt(bool) {\r\n return {\r\n type: actionType.GET_LOYALTY_REWARD_HISTORY_LIST_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function getMemberOfferTransactionListSuccess(data) {\r\n return {\r\n type: actionType.GET_LOYALTY_REWARD_HISTORY_LIST_S,\r\n data\r\n }\r\n}\r\nexport function getMemberOfferTransactionListFailed(error,data) {\r\n return {\r\n type: actionType.GET_LOYALTY_REWARD_HISTORY_LIST_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// get special offer list\r\nexport function getBestOfferListAttempt(bool) {\r\n return {\r\n type: actionType.GET_BEST_OFFER_LIST_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function getBestOfferListSuccess(data) {\r\n return {\r\n type: actionType.GET_BEST_OFFER_LIST_S,\r\n data\r\n }\r\n}\r\nexport function getBestOfferListFailed(error,data) {\r\n return {\r\n type: actionType.GET_BEST_OFFER_LIST_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n\r\n// get special offer list\r\nexport function applyCouponCodeByMemberOfferCodeAttempt(bool) {\r\n return {\r\n type: actionType.GET_MEMBER_OFFER_DISCOUNT_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function applyCouponCodeByMemberOfferCodeSuccess(data) {\r\n return {\r\n type: actionType.GET_MEMBER_OFFER_DISCOUNT_S,\r\n data\r\n }\r\n}\r\nexport function applyCouponCodeByMemberOfferCodeFailed(error,data) {\r\n return {\r\n type: actionType.GET_MEMBER_OFFER_DISCOUNT_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// get special offer list\r\nexport function addRemoveFavItemAttempt(bool) {\r\n return {\r\n type: actionType.ADD_REMOVE_FAV_ITEM_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function addRemoveFavItemSuccess(data) {\r\n return {\r\n type: actionType.ADD_REMOVE_FAV_ITEM_S,\r\n data\r\n }\r\n}\r\nexport function addRemoveFavItemFailed(error,data) {\r\n return {\r\n type: actionType.ADD_REMOVE_FAV_ITEM_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// get fav item\r\nexport function getFavItemAttempt(bool) {\r\n return {\r\n type: actionType.GET_FAV_ITEM_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function getFavItemSuccess(data) {\r\n return {\r\n type: actionType.GET_FAV_ITEM_S,\r\n data\r\n }\r\n}\r\nexport function getFavItemFailed(error,data) {\r\n return {\r\n type: actionType.GET_FAV_ITEM_F,\r\n data,\r\n error\r\n }\r\n}\r\n\r\n// getLoyaltyPointList\r\nexport function getLoyaltyPointListAttempt(bool) {\r\n return {\r\n type: actionType.GET_LOYALTY_POINT_LIST_A,\r\n isLoading: bool\r\n }\r\n}\r\nexport function getLoyaltyPointListSuccess(data) {\r\n return {\r\n type: actionType.GET_LOYALTY_POINT_LIST_S,\r\n data\r\n }\r\n}\r\nexport function getLoyaltyPointListFailed(error,data) {\r\n return {\r\n type: actionType.GET_LOYALTY_POINT_LIST_F,\r\n data,\r\n error\r\n }\r\n}","import React, { Component } from \"react\";\r\n// import apiPath from '../../Constants/APIPath';\r\nimport API from \"../../Utils/API\";\r\nimport * as actionCb from \"./ActionCB\";\r\nimport Constants from \"../../constants/baseConstants\";\r\nimport { getSecureData } from \"../../Utils/utils\";\r\n\r\n/*public enum AppType\r\n {\r\n Customer = 1,\r\n Vendor = 2,\r\n Driver = 3\r\n }*/\r\n\r\n/**\r\n * call CheckVersion API\r\n */\r\n// Below Website Use Get Device Info\r\n// https://www.npmjs.com/package/react-native-device-info\r\nexport function callApiCheckVersionAPI(customerId, languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.CheckAppVersionL(true));\r\n var postData = {\r\n restaurantId: 147,\r\n languageId: languageType,\r\n customerId: customerId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"CheckAppVersion_Front\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.CheckAppVersionS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(\r\n actionCb.CheckAppVersionF(jsonResponse.message, jsonResponse)\r\n );\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.CheckAppVersionF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//INIT LOGIN API CALL\r\nexport function initLoginCall(phone, countryCode, password, languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.LoginAttempt(true));\r\n var postData = {\r\n username: phone,\r\n deviceType: 0,\r\n password: password,\r\n appName: 147,\r\n deviceName: \"WEB\",\r\n restaurantId: 147,\r\n deviceToken: \"\",\r\n languageId: languageType,\r\n locationId: Constants.locationId,\r\n appType: 1,\r\n countryCode: countryCode,\r\n deviceModel: \"WEB\", //\"deviceModel\":\"iPhone 12.1 x86_64\",\r\n appVersion: \"0\",\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"LoginVerification\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.LoginSuccess(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.LoginSuccess(jsonResponse));\r\n // dispatch(actionCb.LoginFailed(jsonResponse.message, jsonResponse))\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.LoginFailed(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//Call Forget Password Api\r\nexport function CallForgetPasswordApi(phoneno, countryCode, languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.ForgetPasswordA(true));\r\n var postData = {\r\n username: phoneno,\r\n restaurantId: 147,\r\n languageId: languageType,\r\n countryCode: countryCode,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"ForgottPassword\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.ForgetPasswordS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(\r\n actionCb.ForgetPasswordF(jsonResponse.message, jsonResponse)\r\n );\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.ForgetPasswordF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//Call Company Account Link Api\r\nexport function CallCompanyAccountLinkApi(\r\n customerId,\r\n addressId,\r\n companyId,\r\n languageType\r\n) {\r\n return (dispatch) => {\r\n dispatch(actionCb.CompanyAccountLinkA(true));\r\n var postData = {\r\n customerId: customerId,\r\n restaurantId: 147,\r\n languageId: languageType,\r\n companyId: companyId,\r\n addressId: addressId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"linkAccountToCompanyV1\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.CompanyAccountLinkS(jsonResponse));\r\n } else {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.CompanyAccountLinkS(jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.CompanyAccountLinkF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//INIT REGISTRATION API CALL\r\nexport function initRegistrationCall(\r\n locationId,\r\n customerId,\r\n name,\r\n countrycode,\r\n phone,\r\n email,\r\n password,\r\n languageType,\r\n gender,\r\n birthDate\r\n) {\r\n return (dispatch) => {\r\n dispatch(actionCb.RegistrationAttempt(true));\r\n\r\n var postData = {\r\n firstName: name,\r\n emailId: email,\r\n phone: phone,\r\n countryCode: countrycode,\r\n pass: password,\r\n customerId: customerId,\r\n locationId: locationId,\r\n restaurantId: 147,\r\n deviceToken: \"\",\r\n appVersion: \"0\",\r\n deviceModel: \"\", //\"deviceModel\":\"iPhone 12.1 x86_64\",\r\n deviceType: \"0\",\r\n deviceName: \"WEB\",\r\n loyaltynumber: \"0\",\r\n languageId: languageType,\r\n birthDate: birthDate,\r\n gender: gender,\r\n };\r\n\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"addUpdateCustomer\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.RegistrationSuccess(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.RegistrationSuccess(jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.RegistrationFailed(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//INIT VERIFY CUSTOMER API CALL\r\nexport function initVerifyCustomerCall(\r\n customerId,\r\n verificationCode,\r\n languageType\r\n) {\r\n return (dispatch) => {\r\n dispatch(actionCb.VerifyCustomerAttempt(true));\r\n var postData = {\r\n customerId: customerId,\r\n verificationCode: verificationCode,\r\n locationId: Constants.locationId,\r\n restaurantId: 147,\r\n languageId: languageType,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"verifyCustomer\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.VerifyCustomerSuccess(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.VerifyCustomerSuccess(jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.VerifyCustomerFailed(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//INIT RESEND MOBILE VERIFICATION CODE API CALL\r\nexport function initResendVerificationCode(\r\n customerId,\r\n phoneNumber,\r\n languageType\r\n) {\r\n return (dispatch) => {\r\n dispatch(actionCb.ResendMobileVerificationCodeAttempt(true));\r\n var postData = {\r\n customerId: customerId,\r\n locationId: Constants.locationId,\r\n restaurantId: 147,\r\n languageId: languageType,\r\n phone: phoneNumber,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"resendCustomerVerificationCode\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.ResendMobileVerificationCodeSuccess(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.ResendMobileVerificationCodeSuccess(jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR Mobile Verification : \", err);\r\n dispatch(\r\n actionCb.ResendMobileVerificationCodeFailed(\r\n \"somethings went wrong...\"\r\n )\r\n );\r\n });\r\n };\r\n}\r\n\r\n//INIT SOCIAL LOGIN/REGISTRATION API CALL\r\nexport function initSocialSignUpCall(\r\n email,\r\n sMediaFlag,\r\n smediaId,\r\n languageType\r\n) {\r\n return (dispatch) => {\r\n dispatch(actionCb.SocialSignUpAttempt(true));\r\n var postData = {\r\n emailId: email,\r\n SocialMediaFlag: sMediaFlag,\r\n SocialMediaId: smediaId,\r\n locationId: Constants.locationId,\r\n restaurantId: 147,\r\n languageId: languageType,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"checkCustomerDetailsBySocialMediaV1\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.SocialSignUpSuccess(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.SocialSignUpSuccess(jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.SocialSignUpFailed(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//INIT REGISTRATION API CALL\r\nexport function initAddUpdateSocialCustomerCall(\r\n name,\r\n countrycode,\r\n phone,\r\n email,\r\n password,\r\n sMediaFlag,\r\n smediaId,\r\n languageType\r\n) {\r\n return (dispatch) => {\r\n dispatch(actionCb.addUpdateSocialCustomerAttempt(true));\r\n var postData = {\r\n firstName: name,\r\n emailId: email,\r\n phone: phone,\r\n countryCode: countrycode,\r\n pass: password,\r\n SocialMediaFlag: sMediaFlag,\r\n SocialMediaId: smediaId,\r\n locationId: Constants.locationId,\r\n restaurantId: 147,\r\n deviceToken: \"\",\r\n appVersion: \"0\",\r\n deviceModel: \"WEB\", //\"deviceModel\":\"iPhone 12.1 x86_64\",\r\n deviceType: 0,\r\n deviceName: \"iPhone X\",\r\n loyaltynumber: 0,\r\n languageId: languageType,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"addUpdateCustomerSocialMedia\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.addUpdateSocialCustomerSuccess(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.addUpdateSocialCustomerSuccess(jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(\r\n actionCb.addUpdateSocialCustomerFailed(\"somethings went wrong...\")\r\n );\r\n });\r\n };\r\n}\r\n\r\n//INIT GET ALL CATEGORIES API CALL\r\nexport function initGetAllCategoriesCall__old(languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.GetCategoriesAttempt(true));\r\n var postData = {\r\n // \"locationId\":JSON.parse(localStorage.getItem(Constants.LOCATIONOBJECT)).locationId,\r\n locationId: getSecureData(Constants.LOCATIONOBJECT).locationId,\r\n restaurantId: 147,\r\n languageId: languageType,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getMenuCategoryWIthPos_Version1\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.GetCategoriesSuccess(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.GetCategoriesSuccess(jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(\r\n actionCb.GetCategoriesFailed(\"Fetch Categories error : \", err)\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport function initGetAllCategoriesCall(languageType, customerId = 0) {\r\n return (dispatch) => {\r\n dispatch(actionCb.GetCategoriesAttempt(true));\r\n var postData = {\r\n // \"locationId\":JSON.parse(localStorage.getItem(Constants.LOCATIONOBJECT)).locationId,\r\n locationId: getSecureData(Constants.LOCATIONOBJECT).locationId,\r\n customerId: customerId,\r\n restaurantId: 147,\r\n languageId: languageType,\r\n appVersion: \"0\",\r\n appType: 1,\r\n orderType: getSecureData(Constants.ORDERTYPEID)\r\n ? getSecureData(Constants.ORDERTYPEID)\r\n : 2,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getMenuCategoryWithMenuItem\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.GetCategoriesSuccess(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.GetCategoriesSuccess(jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(\r\n actionCb.GetCategoriesFailed(\"Fetch Categories error : \", err)\r\n );\r\n });\r\n };\r\n}\r\n\r\n//INIT GET CATEGORIES MENU ITEMS API CALL\r\nexport function initGetCategoriesMenuItemsCall(categories, languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.GetCategoriesMenuItemsAttempt(true));\r\n var postData = {\r\n customerId: 0,\r\n locationId: getSecureData(Constants.LOCATIONOBJECT).locationId,\r\n restaurantId: 147,\r\n languageId: languageType,\r\n categories: categories,\r\n /* comment for order type */\r\n orderType:\r\n getSecureData(Constants.ORDERTYPE) == \"TakeAway\"\r\n ? 1\r\n : getSecureData(Constants.ORDERTYPE) == \"Delivery\"\r\n ? 2\r\n : 3,\r\n // \"orderType\":(getSecureData(Constants.ORDERTYPE) == 'TakeAway') ? 1 : 2\r\n };\r\n console.log(\"request of menus :\" + JSON.stringify(postData));\r\n return API.post(\r\n \"getAllMenuItemsWithPos_Version2_honestgreen_Front\",\r\n postData\r\n )\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.GetCategoriesMenuItemsSuccess(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.GetCategoriesMenuItemsSuccess(jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n // dispatch(actionCb.GetCategoriesFailed('somethings went wrong...'))\r\n dispatch(\r\n actionCb.GetCategoriesMenuItemsFailed(\"somethings went wrong...\")\r\n );\r\n });\r\n };\r\n}\r\n\r\n//INIT DELETE USER ACCOUNT API CALL\r\nexport function initDeleteUserAccountCall(customerId, languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.DeleteAccountAttempt(true));\r\n var postData = {\r\n customerId: customerId,\r\n restaurantId: 147,\r\n languageId: languageType,\r\n deviceToken: \"\",\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"deleteCustomerAccount\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.DeleteAccountSuccess(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.DeleteAccountSuccess(jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.DeleteAccountFailed(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//Call Get Order List Api\r\nexport function GetOrderListApi(customerId, languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.OrderSListA(true));\r\n var postData = {\r\n customerId: customerId,\r\n restaurantId: 147,\r\n languageId: languageType,\r\n parentLoacationId: 1,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getOrdersV2\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.OrderSListS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.OrderSListF(jsonResponse.message, jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.OrderSListF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//Call Get Order Details Api\r\nexport function GetOrderDetailsApi(OrderId, languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.OrderDetailsA(true));\r\n var postData = {\r\n OrderId: OrderId,\r\n restaurantId: 147,\r\n languageId: languageType,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getOrdersInfoV1\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.OrderDetailsS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.OrderDetailsF(jsonResponse.message, jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.OrderDetailsF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//Call Get Location List Api\r\nexport function GetLocationListApi(languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.GetLocationA(false));\r\n var postData = {\r\n restaurantId: 147,\r\n languageId: languageType,\r\n latitude: 0,\r\n longitude: 0,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getLocationInfoV2\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.GetLocationS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.GetLocationF(jsonResponse.message, jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.GetLocationF(\"Fetch location error : \", err));\r\n });\r\n };\r\n}\r\n\r\n//CHECK SPECIAL OFFERS\r\nexport function initCheckSpecialOffersAPI(amount, customerId, languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.CheckSpecialOfferA(false));\r\n var postData = {\r\n // \"locationId\": JSON.parse(localStorage.getItem(Constants.LOCATIONOBJECT)).locationId,\r\n locationId: getSecureData(Constants.LOCATIONOBJECT).locationId,\r\n amount: amount,\r\n restaurantId: 147,\r\n languageId: languageType,\r\n customerId: customerId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"checkSpecialOfferNewVersion\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.CheckSpecialOfferS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.CheckSpecialOfferS(jsonResponse, jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.CheckSpecialOfferF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//CHECK COMPANY DISCOUNT\r\nexport function initCompanyCreditScoreAPI(customerId, languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.CheckCompanyCreditScoreA(false));\r\n var postData = {\r\n restaurantId: 147,\r\n languageId: languageType,\r\n customerId: customerId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"checkCustomerCompanyCreditScoreV1\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.CheckCompanyCreditScoreS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(\r\n actionCb.CheckCompanyCreditScoreS(jsonResponse, jsonResponse)\r\n );\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.CheckCompanyCreditScoreF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//CHECK COMPANY DISCOUNT\r\nexport function initAddCompanyAddressAPI(locationid, address, languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.AddCompanyAddressA(false));\r\n var postData = {\r\n restaurantId: 147,\r\n languageId: languageType,\r\n locationId: locationid,\r\n DeliveryAddressInfo: address,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"addDeliveryAddresss\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\r\n \"addDeliveryAddresssV1 response :\" + JSON.stringify(jsonResponse)\r\n );\r\n dispatch(actionCb.AddCompanyAddressS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.AddCompanyAddressS(jsonResponse, jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.AddCompanyAddressF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//GET DELIVERY ADDRESS API\r\nexport function initGetDeliveryAddressAPI(locationId, customerId) {\r\n return (dispatch) => {\r\n dispatch(actionCb.GetDeliveryAddressA(false));\r\n var postData = {\r\n restaurantId: 147,\r\n languageId: 1,\r\n locationId: locationId,\r\n customerId: customerId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getDeliveryAddress_Version1\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\r\n \"getDeliveryAddress_Version1 response :\" +\r\n JSON.stringify(jsonResponse)\r\n );\r\n dispatch(actionCb.GetDeliveryAddressS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.GetDeliveryAddressS(jsonResponse, jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.GetDeliveryAddressF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//DELETE DELIVERY ADDRESS API\r\nexport function initDeleteDeliveryAddressAPI(addressId) {\r\n return (dispatch) => {\r\n dispatch(actionCb.DeleteDeliveryAddressA(false));\r\n var postData = {\r\n restaurantId: 147,\r\n languageId: 1,\r\n deliveryaddressId: addressId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"deleteDeliveryAddress\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\r\n \"deleteDeliveryAddress response :\" + JSON.stringify(jsonResponse)\r\n );\r\n dispatch(actionCb.DeleteDeliveryAddressS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.DeleteDeliveryAddressS(jsonResponse, jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.DeleteDeliveryAddressF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//ADD DELIVERY ADDRESS API\r\nexport function initAddDeliveryAddressAPI(\r\n // googleAddress,\r\n locationId,\r\n DeliveryAddressInfo,\r\n languageType\r\n) {\r\n return (dispatch) => {\r\n dispatch(actionCb.AddDeliveryAddressA(false));\r\n var postData = {\r\n // googleAddress: googleAddress,\r\n restaurantId: 147,\r\n locationId: locationId,\r\n languageId: languageType,\r\n DeliveryAddressInfo: DeliveryAddressInfo,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"addDeliveryAddresss_GeoTracker\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\r\n \"addDeliveryAddresssV1 response :\" + JSON.stringify(jsonResponse)\r\n );\r\n dispatch(actionCb.AddDeliveryAddressS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(\r\n actionCb.AddDeliveryAddressS(jsonResponse, jsonResponse.message)\r\n );\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.AddDeliveryAddressF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//Call Get App Message Api\r\nexport function GetAppMessageListApi(languageId) {\r\n return (dispatch) => {\r\n dispatch(actionCb.GetAppMessageA(false));\r\n var postData = {\r\n restaurantId: 147,\r\n languageId: languageId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getAppMessages\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.GetAppMessageS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.GetAppMessageF(jsonResponse.message, jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.GetAppMessageF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//ADD ORDER API\r\nexport function initAddOrdersAPI(OrderInfo, languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.AddOrdersA(false));\r\n var postData = {\r\n restaurantId: 147,\r\n loyaltynumber: 0,\r\n languageId: languageType,\r\n OrderInfo: OrderInfo,\r\n appOrderId: 0,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n // return API.post('addOrdersV2_Website ', postData)\r\n return API.post(\"addOrdersV2\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"addOrdersV1 response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.AddOrdersS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.AddOrdersS(jsonResponse, jsonResponse.message));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.AddOrdersF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//CHECK MENU ITEMS TIMES API CALL\r\nexport function initCheckMenuItemTimeAPI(\r\n contactTime,\r\n orderDate,\r\n catId,\r\n languageType\r\n) {\r\n return (dispatch) => {\r\n dispatch(actionCb.CheckMenuItemTimesA(false));\r\n var postData = {\r\n restaurantId: 147,\r\n contacttime: contactTime,\r\n orderdate: orderDate,\r\n locationId: getSecureData(Constants.LOCATIONOBJECT).locationId,\r\n languageId: languageType,\r\n catId: catId,\r\n isCompanyLinked: false, //getSecureData(Constants.USEROBJECT).isLinkToCompany\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"checkMenuItemTime\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\r\n \"checkMenuItemTime response :\" + JSON.stringify(jsonResponse)\r\n );\r\n dispatch(actionCb.CheckMenuItemTimesS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(\r\n actionCb.CheckMenuItemTimesS(jsonResponse, jsonResponse.message)\r\n );\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.CheckMenuItemTimesF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//GET SAVED CARDS API CALL\r\nexport function initGetSavedCardsAPI(customerId) {\r\n return (dispatch) => {\r\n dispatch(actionCb.GetSavedCardsA(false));\r\n var postData = {\r\n restaurantId: 147,\r\n customerId: customerId,\r\n // \"locationId\": JSON.parse(localStorage.getItem(Constants.LOCATIONOBJECT)).locationId,\r\n locationId: getSecureData(Constants.LOCATIONOBJECT).locationId,\r\n languageId: 1,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getCustomerSavedCardDetails\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\r\n \"getCustomerSavedCardDetails response :\" +\r\n JSON.stringify(jsonResponse)\r\n );\r\n dispatch(actionCb.GetSavedCardsS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.GetSavedCardsS(jsonResponse, jsonResponse.message));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.GetSavedCardsF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//GET RE ORDER INFO API CALL\r\nexport function initGetReOrderInfoAPI(OrderId, languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.GetReOrderInfoA(false));\r\n var postData = {\r\n restaurantId: 147,\r\n OrderId: OrderId,\r\n // \"isCompanyLinked\": JSON.parse(localStorage.getItem(Constants.USEROBJECT)).isLinkToCompany,\r\n isCompanyLinked: getSecureData(Constants.USEROBJECT).isLinkToCompany,\r\n // \"locationId\": JSON.parse(localStorage.getItem(Constants.LOCATIONOBJECT)).locationId,\r\n locationId: getSecureData(Constants.LOCATIONOBJECT).locationId,\r\n languageId: languageType,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getReOrdersInfoV1\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\r\n \"getReOrdersInfoV1 response :\" + JSON.stringify(jsonResponse)\r\n );\r\n dispatch(actionCb.GetReOrderInfoS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(\r\n actionCb.GetReOrderInfoS(jsonResponse, jsonResponse.message)\r\n );\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.GetReOrderInfoF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//GET RE ORDER INFO API CALL\r\nexport function initGetItemDetailsAPI(menuitemId, languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.GetItemDetailsA(false));\r\n var postData = {\r\n restaurantId: 147,\r\n menuitemId: menuitemId,\r\n // \"customerId\": JSON.parse(localStorage.getItem(Constants.USEROBJECT)).customerId,\r\n // \"locationId\": JSON.parse(localStorage.getItem(Constants.LOCATIONOBJECT)).locationId,\r\n customerId: getSecureData(Constants.USEROBJECT).customerId,\r\n locationId: getSecureData(Constants.LOCATIONOBJECT).locationId,\r\n languageId: languageType,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getMenuItemDetails_Version2\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\r\n \"getMenuItemDetails_Version2 response :\" +\r\n JSON.stringify(jsonResponse)\r\n );\r\n dispatch(actionCb.GetItemDetailsS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(\r\n actionCb.GetItemDetailsS(jsonResponse, jsonResponse.message)\r\n );\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.GetItemDetailsF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//Call add feedback point api\r\nexport function callAddFeedbackApi(request) {\r\n return (dispatch) => {\r\n dispatch(actionCb.AddFeedbackA(true));\r\n console.log(\"request :\" + JSON.stringify(request));\r\n return API.post(\"addFeedback\", request)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.AddFeedbackS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.AddFeedbackF(jsonResponse.message, jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.AddFeedbackF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//Call get card listing api\r\nexport function callGetCardListApi(customerId, languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.GetCardListA(true));\r\n var postData = {\r\n restaurantId: 147,\r\n customerId: customerId,\r\n languageId: languageType,\r\n // locationId: JSON.parse(localStorage.getItem(Constants.LOCATIONOBJECT)).locationId,\r\n locationId: getSecureData(Constants.LOCATIONOBJECT).locationId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getCustomerSavedCardDetails\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.GetCardListS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.GetCardListF(jsonResponse.message, jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.GetCardListF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//Call get card details api\r\nexport function AddCardDetailsApi(request) {\r\n return (dispatch) => {\r\n dispatch(actionCb.AddCardDetailsA(true));\r\n console.log(\"request :\" + JSON.stringify(request));\r\n return API.post(\"UpdateCustomerSavedCardDetails\", request)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.AddCardDetailsS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(\r\n actionCb.AddCardDetailsF(jsonResponse.message, jsonResponse)\r\n );\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.AddCardDetailsF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//Delete card detail api\r\nexport function callCardDeleteApi(request) {\r\n return (dispatch) => {\r\n dispatch(actionCb.DeleteCardDetailA(true));\r\n console.log(\"request :\" + JSON.stringify(request));\r\n return API.post(\"deleteCustomerSavedCardDetails\", request)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.DeleteCardDetailS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(\r\n actionCb.DeleteCardDetailF(jsonResponse.message, jsonResponse)\r\n );\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.DeleteCardDetailF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//Call Get Waiter Listing Api\r\nexport function callGetWaiterListApi(languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.WaiterListA(true));\r\n var postData = {\r\n restaurantId: 147,\r\n languageId: languageType,\r\n // locationId: JSON.parse(localStorage.getItem(Constants.LOCATIONOBJECT)).locationId,\r\n locationId: getSecureData(Constants.LOCATIONOBJECT).locationId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getWaiterDetails\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.WaiterListS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.WaiterListS(jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.WaiterListF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//Call Get Waiter Details Api\r\nexport function callAddRatingApi(request) {\r\n return (dispatch) => {\r\n dispatch(actionCb.WaiterDetailsA(true));\r\n console.log(\"request :\" + JSON.stringify(request));\r\n return API.post(\"addWaiterRating\", request)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.WaiterDetailsS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.WaiterDetailsF(jsonResponse.message, jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.WaiterDetailsF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//CALL AVOCADOS API\r\nexport function initGetAvocadoDetailsAPI(languageType, customerId) {\r\n return (dispatch) => {\r\n dispatch(actionCb.GetAvocadoDetailsA(false));\r\n var postData = {\r\n restaurantId: 147,\r\n customerId: customerId,\r\n locationId: getSecureData(Constants.LOCATIONOBJECT).locationId,\r\n languageId: languageType,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getAvocadoDetailsByCustomerId\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\r\n \"getAvocadoDetailsByCustomerId response :\" +\r\n JSON.stringify(jsonResponse)\r\n );\r\n dispatch(actionCb.GetAvocadoDetailsS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(\r\n actionCb.GetAvocadoDetailsS(jsonResponse, jsonResponse.message)\r\n );\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.GetAvocadoDetailsF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//CALL CHECK DELIVERY ADDRESS API\r\nexport function initCheckDeliveryAddressAPI(languageType, deliveryaddressId) {\r\n return (dispatch) => {\r\n dispatch(actionCb.CheckDeliveryAddressA(false));\r\n var postData = {\r\n restaurantId: 147,\r\n customerId: getSecureData(Constants.USEROBJECT).customerId,\r\n locationId: getSecureData(Constants.LOCATIONOBJECT).locationId,\r\n deliveryaddressId: deliveryaddressId,\r\n languageId: languageType,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"isValidDeliveryAddress\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\r\n \"isValidDeliveryAddress response :\" + JSON.stringify(jsonResponse)\r\n );\r\n dispatch(actionCb.CheckDeliveryAddressS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(\r\n actionCb.CheckDeliveryAddressS(jsonResponse, jsonResponse.message)\r\n );\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.CheckDeliveryAddressF(err));\r\n });\r\n };\r\n}\r\n\r\n//CANCEL ORDER API\r\nexport function initCancelOrderAPI(TransactionInfo, languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.CancelOrderA(false));\r\n var postData = {\r\n TransactionInfo: TransactionInfo,\r\n restaurantId: 147,\r\n languageId: languageType,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"addPaymentDetail\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\r\n \"addPaymentDetail response :\" + JSON.stringify(jsonResponse)\r\n );\r\n dispatch(actionCb.CancelOrderS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.CancelOrderS(jsonResponse, jsonResponse.message));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.CancelOrderF(err));\r\n });\r\n };\r\n}\r\n\r\n//RESTAURANT INFO API\r\nexport function initGetRestoInfoAPI(languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.GetRestoInfoA(false));\r\n var postData = {\r\n restaurantId: 147,\r\n languageId: languageType,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getRestaurantAllInfoV1\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\r\n \"getRestaurantAllInfo response :\" + JSON.stringify(jsonResponse)\r\n );\r\n dispatch(actionCb.GetRestoInfoS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.GetRestoInfoS(jsonResponse, jsonResponse.message));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.GetRestoInfoF(err));\r\n });\r\n };\r\n}\r\n\r\n//APPLY VOUCHER CODE API\r\nexport function initApplyVoucherCode(\r\n customerId,\r\n totalAmount,\r\n offerCode,\r\n orderType,\r\n OrderedItems,\r\n languageType\r\n) {\r\n return (dispatch) => {\r\n dispatch(actionCb.ApplyVoucherCodeA(false));\r\n var postData = {\r\n restaurantId: 147,\r\n languageId: languageType,\r\n customerId: customerId,\r\n locationId: getSecureData(Constants.LOCATIONOBJECT).locationId,\r\n totalAmount: totalAmount,\r\n offerCode: offerCode,\r\n orderType: orderType,\r\n OrderedItems: OrderedItems,\r\n };\r\n\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"applyCouponCode\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\r\n \"applyCouponCode response :\" + JSON.stringify(jsonResponse)\r\n );\r\n dispatch(actionCb.ApplyVoucherCodeS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(\r\n actionCb.ApplyVoucherCodeS(jsonResponse, jsonResponse.message)\r\n );\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.ApplyVoucherCodeF(err));\r\n });\r\n };\r\n}\r\n\r\n//RESET PASSWORD API\r\nexport function initResetPasswordAPI(customerId, password, confirmPassword) {\r\n return (dispatch) => {\r\n dispatch(actionCb.ResetPasswordA(false));\r\n var postData = {\r\n customerId: customerId,\r\n password: password,\r\n confirmPassword: confirmPassword,\r\n restaurantId: 147,\r\n languageId: 1,\r\n };\r\n\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"resetPassword\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\r\n \"resetPassword response :\" + JSON.stringify(jsonResponse)\r\n );\r\n dispatch(actionCb.ResetPasswordS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.ResetPasswordS(jsonResponse, jsonResponse.message));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.ResetPasswordF(err));\r\n });\r\n };\r\n}\r\n\r\n//INIT OFFICE REGISTRATION API CALL\r\nexport function initOfficeRegistrationAPI(\r\n name,\r\n countrycode,\r\n phone,\r\n email,\r\n address,\r\n comment,\r\n city,\r\n zipcode,\r\n languageType\r\n) {\r\n return (dispatch) => {\r\n dispatch(actionCb.OfficeRegistrationAttempt(true));\r\n var postData = {\r\n regName: name,\r\n regEmail: email,\r\n regMobile: phone,\r\n regCountryCode: countrycode,\r\n restaurantId: 147,\r\n regAddress: address,\r\n regComment: comment,\r\n regCity: city,\r\n regZipcode: zipcode,\r\n languageId: languageType,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"companyRegister\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.OfficeRegistrationSuccess(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.OfficeRegistrationSuccess(jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.OfficeRegistrationFailed(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//INIT CALCULATE DELIVERY CHARGE API CALL\r\nexport function initDeliveryChargeAPI(\r\n addressId,\r\n customerId,\r\n locationId,\r\n totalAmount,\r\n languageId\r\n) {\r\n return (dispatch) => {\r\n dispatch(actionCb.DeliveryChargeAttempt(true));\r\n var postData = {\r\n addressId: addressId,\r\n customerId: customerId,\r\n restaurantId: 147,\r\n locationId: locationId,\r\n totalAmount: totalAmount,\r\n languageId: languageId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"calculateDeliveryCharges\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.DeliveryChargeSuccess(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.DeliveryChargeSuccess(jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.DeliveryChargeFailed(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//INIT CHECK NEXT DAY ORDER API CALL\r\nexport function initCheckNextDayOrderAPI(\r\n customerId,\r\n comapanyId,\r\n locationId,\r\n time,\r\n languageId\r\n) {\r\n return (dispatch) => {\r\n dispatch(actionCb.CheckNextDayOrderAttempt(true));\r\n var postData = {\r\n customerId: customerId,\r\n restaurantId: 147,\r\n comapanyId: comapanyId,\r\n locationId: locationId,\r\n time: time,\r\n languageId: languageId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"checkNextDayComanyOrder\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.CheckNextDayOrderSuccess(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.CheckNextDayOrderSuccess(jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.CheckNextDayOrderFailed(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//INIT GET COMPANY LIST API CALL\r\nexport function initGetCompanyListAPI(languageId) {\r\n return (dispatch) => {\r\n dispatch(actionCb.GetCompanyListAttempt(true));\r\n var postData = {\r\n restaurantId: 147,\r\n languageId: languageId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getCompanyList\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.GetCompanyListSuccess(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.GetCompanyListSuccess(jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.GetCompanyListFailed(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//INIT REMOVE LINKED COMPANY API CALL\r\nexport function initRemoveLinkedCompanyAPI(companyId, customerId, languageId) {\r\n return (dispatch) => {\r\n dispatch(actionCb.RemoveLinkedCompanyAttempt(true));\r\n var postData = {\r\n restaurantId: 147,\r\n companyId: companyId,\r\n customerId: customerId,\r\n languageId: languageId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"removeAccountToCompany\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.RemoveLinkedCompanySuccess(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse.message));\r\n dispatch(actionCb.RemoveLinkedCompanySuccess(jsonResponse));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(\r\n actionCb.RemoveLinkedCompanyFailed(\"somethings went wrong...\")\r\n );\r\n });\r\n };\r\n}\r\n\r\n//INIT GET OFFERS API CALL\r\nexport function initGetBestOfferListAPI(customerId, locationId, languageId) {\r\n return (dispatch) => {\r\n dispatch(actionCb.GetBestOffersAttempt(true));\r\n var postData = {\r\n restaurantId: 147,\r\n customerId: customerId,\r\n locationId: locationId,\r\n languageId: languageId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getBestOfferList\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n console.log(\"response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.GetBestOffersSuccess(jsonResponse));\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.GetBestOffersFailed(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//table Booking Get Time Sloat\r\nexport function getTableReservationTimeSlotList(\r\n customerId,\r\n locationId,\r\n languageId,\r\n bookingDate,\r\n BookingTime,\r\n totalPerson\r\n) {\r\n return (dispatch) => {\r\n dispatch(actionCb.GetTableBookingSloatAttempt(true));\r\n var postData = {\r\n restaurantId: 147,\r\n customerId: customerId,\r\n locationId: locationId,\r\n languageId: languageId,\r\n date: bookingDate,\r\n time: BookingTime,\r\n noOfPeople: totalPerson,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getTableReservationTimeSlotList\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n console.log(\"response :\" + jsonResponse);\r\n dispatch(actionCb.GetTableBookingSloatSuccess(jsonResponse));\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(\r\n actionCb.GetTableBookingSloatFailed(\"somethings went wrong...\")\r\n );\r\n });\r\n };\r\n}\r\n\r\n//table booking pay now\r\nexport function addTableReservation(data) {\r\n return (dispatch) => {\r\n dispatch(actionCb.addTableReservationAttempt(true));\r\n var postData = {\r\n restaurantId: 147,\r\n customerId: data.customerId,\r\n locationId: data.locationId,\r\n languageId: data.languageId,\r\n date: data.bookingDate,\r\n fromTime: data.fromTime,\r\n toTime: data.toTime,\r\n noOfPeople: data.noOfPeople,\r\n tableNoOfPeople: data.tableNoOfPeople,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"addTableReservation\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n console.log(\"response :\" + jsonResponse);\r\n dispatch(actionCb.addTableReservationSuccess(jsonResponse));\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(\r\n actionCb.addTableReservationFailed(\"somethings went wrong...\")\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport function getTableBookingHistoryByCustomer(data) {\r\n return (dispatch) => {\r\n dispatch(actionCb.getTableBookingHistoryByCustomerAttempt(true));\r\n var postData = {\r\n restaurantId: 147,\r\n customerId: data.customerId,\r\n locationId: data.locationId,\r\n languageId: data.languageId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getTableBookingHistoryByCustomer\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n console.log(\"response :\" + jsonResponse);\r\n dispatch(\r\n actionCb.getTableBookingHistoryByCustomerSuccess(jsonResponse)\r\n );\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(\r\n actionCb.getTableBookingHistoryByCustomerFailed(\r\n \"somethings went wrong...\"\r\n )\r\n );\r\n });\r\n };\r\n}\r\n\r\n//Table Booking Cancel reservation\r\n\r\nexport function updateTableReservationBookingRequest(data) {\r\n return (dispatch) => {\r\n dispatch(actionCb.updateTableReservationBookingRequestAttempt(true));\r\n var postData = {\r\n restaurantId: 147,\r\n customerId: data.customerId,\r\n locationId: data.locationId,\r\n languageId: data.languageId,\r\n bookingId: data.bookingId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"updateTableReservationBookingRequest\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n console.log(\"response :\" + jsonResponse);\r\n dispatch(\r\n actionCb.updateTableReservationBookingRequestSuccess(jsonResponse)\r\n );\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(\r\n actionCb.updateTableReservationBookingRequestFailed(\r\n \"somethings went wrong...\"\r\n )\r\n );\r\n });\r\n };\r\n}\r\n\r\n//GET CUSTOMER dETAILS\r\nexport function getCustomerDetails(customerId, locationId) {\r\n return (dispatch) => {\r\n dispatch(actionCb.getCustomerDetailsAttempt(true));\r\n var postData = {\r\n restaurantId: 147,\r\n customerId: customerId,\r\n locationId: locationId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getCustomerDetailsV1\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n console.log(\"response :\" + jsonResponse);\r\n dispatch(actionCb.getCustomerDetailsSuccess(jsonResponse));\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.getCustomerDetailsFailed(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//Get virtual queue\r\nexport function getTableVirtualWaitingByCustomer(data) {\r\n return (dispatch) => {\r\n dispatch(actionCb.getTableVirtualWaitingByCustomerAttempt(true));\r\n var postData = {\r\n restaurantId: 147,\r\n customerId: data.customerId,\r\n locationId: data.locationId,\r\n languageId: data.languageId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getTableVirtualWaitingByCustomer\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n console.log(\"response :\" + jsonResponse);\r\n dispatch(\r\n actionCb.getTableVirtualWaitingByCustomerSuccess(jsonResponse)\r\n );\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(\r\n actionCb.getTableVirtualWaitingByCustomerFailed(\r\n \"somethings went wrong...\"\r\n )\r\n );\r\n });\r\n };\r\n}\r\n\r\n//Add addTableVirtualWaiting\r\nexport function addTableVirtualWaiting(data) {\r\n return (dispatch) => {\r\n dispatch(actionCb.addTableVirtualWaitingAttempt(true));\r\n var postData = {\r\n restaurantId: 147,\r\n customerId: data.customerId,\r\n locationId: data.locationId,\r\n languageId: data.languageId,\r\n noOfPeople: data.noOfPeople,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"addTableVirtualWaiting\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n console.log(\"response :\" + jsonResponse);\r\n dispatch(actionCb.addTableVirtualWaitingSuccess(jsonResponse));\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(\r\n actionCb.addTableVirtualWaitingFailed(\"somethings went wrong...\")\r\n );\r\n });\r\n };\r\n}\r\n\r\n//delete deleteTableVirtualWaiting\r\nexport function deleteTableVirtualWaiting(data) {\r\n return (dispatch) => {\r\n dispatch(actionCb.deleteTableVirtualWaitingAttempt(true));\r\n var postData = {\r\n restaurantId: 147,\r\n customerId: data.customerId,\r\n locationId: data.locationId,\r\n languageId: data.languageId,\r\n Id: data.Id,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"deleteTableVirtualWaiting\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n console.log(\"response :\" + jsonResponse);\r\n dispatch(actionCb.deleteTableVirtualWaitingSuccess(jsonResponse));\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(\r\n actionCb.deleteTableVirtualWaitingFailed(\"somethings went wrong...\")\r\n );\r\n });\r\n };\r\n}\r\n\r\n//get getMemberofferList\r\nexport function getMemberofferList(data) {\r\n return (dispatch) => {\r\n dispatch(actionCb.getMemberofferListAttempt(true));\r\n var postData = {\r\n restaurantId: 147,\r\n customerId: data.customerId,\r\n locationId: data.locationId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getMemberofferList\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n console.log(\"response :\" + jsonResponse);\r\n dispatch(actionCb.getMemberofferListSuccess(jsonResponse));\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.getMemberofferListFailed(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//get getLoyaltyRewardLevelList\r\nexport function getLoyaltyRewardLevelList(locationId) {\r\n return (dispatch) => {\r\n dispatch(actionCb.getLoyaltyRewardLevelListAttempt(true));\r\n var postData = {\r\n restaurantId: 147,\r\n locationId: locationId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getLoyaltyRewardLevelList\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n console.log(\"response :\" + jsonResponse);\r\n dispatch(actionCb.getLoyaltyRewardLevelListSuccess(jsonResponse));\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(\r\n actionCb.getLoyaltyRewardLevelListFailed(\"somethings went wrong...\")\r\n );\r\n });\r\n };\r\n}\r\n\r\n//get getMemberOfferTransactionList loyalty history\r\nexport function getMemberOfferTransactionList(locationId, customerId) {\r\n return (dispatch) => {\r\n dispatch(actionCb.getMemberOfferTransactionListAttempt(true));\r\n var postData = {\r\n restaurantId: 147,\r\n locationId: locationId,\r\n customerId: customerId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getMemberOfferTransactionList\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n console.log(\"response :\" + jsonResponse);\r\n dispatch(actionCb.getMemberOfferTransactionListSuccess(jsonResponse));\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(\r\n actionCb.getMemberOfferTransactionListFailed(\r\n \"somethings went wrong...\"\r\n )\r\n );\r\n });\r\n };\r\n}\r\n\r\n//get special getBestOfferList\r\nexport function getBestOfferList(data) {\r\n return (dispatch) => {\r\n dispatch(actionCb.getBestOfferListAttempt(true));\r\n var postData = {\r\n restaurantId: 147,\r\n customerId: data.customerId,\r\n locationId: data.locationId,\r\n offerType: data.offerType,\r\n languageId: 1,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getBestOfferList\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n console.log(\"response :\" + jsonResponse);\r\n dispatch(actionCb.getBestOfferListSuccess(jsonResponse));\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.getBestOfferListFailed(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n//applyCouponCodeByMemberOfferCode\r\nexport function applyCouponCodeByMemberOfferCode(\r\n customerId,\r\n totalAmount,\r\n offerCode,\r\n orderType,\r\n OrderedItems,\r\n languageType\r\n) {\r\n return (dispatch) => {\r\n dispatch(actionCb.applyCouponCodeByMemberOfferCodeAttempt(false));\r\n var postData = {\r\n restaurantId: 147,\r\n languageId: languageType,\r\n customerId: customerId,\r\n locationId: getSecureData(Constants.LOCATIONOBJECT).locationId,\r\n totalAmount: totalAmount,\r\n offerCode: offerCode,\r\n orderType: orderType,\r\n OrderedItems: OrderedItems,\r\n };\r\n\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"applyCouponCodeByMemberOfferCode\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\r\n \"applyCouponCode response :\" + JSON.stringify(jsonResponse)\r\n );\r\n dispatch(\r\n actionCb.applyCouponCodeByMemberOfferCodeSuccess(jsonResponse)\r\n );\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(\r\n actionCb.applyCouponCodeByMemberOfferCodeSuccess(\r\n jsonResponse,\r\n jsonResponse.message\r\n )\r\n );\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.applyCouponCodeByMemberOfferCodeFailed(err));\r\n });\r\n };\r\n}\r\n\r\n//get add/delete fav item\r\nexport function addRemoveFavItem(data) {\r\n return (dispatch) => {\r\n dispatch(actionCb.addRemoveFavItemAttempt(false));\r\n var postData = {\r\n restaurantId: 147,\r\n languageId: 1,\r\n customerId:\r\n getSecureData(Constants.USEROBJECT) != undefined\r\n ? getSecureData(Constants.USEROBJECT).customerId\r\n : 0,\r\n menuItemId: data.menuitemId,\r\n menuitemId: data.menuitemId,\r\n };\r\n\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(data.url, postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\r\n \"applyCouponCode response :\" + JSON.stringify(jsonResponse)\r\n );\r\n dispatch(actionCb.addRemoveFavItemSuccess(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(\r\n actionCb.addRemoveFavItemSuccess(jsonResponse, jsonResponse.message)\r\n );\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.addRemoveFavItemFailed(err));\r\n });\r\n };\r\n}\r\n\r\n//get fav items\r\nexport function getFavItem(data = {}) {\r\n return (dispatch) => {\r\n dispatch(actionCb.getFavItemAttempt(false));\r\n var postData = {\r\n restaurantId: 147,\r\n languageId: 1,\r\n customerId:\r\n getSecureData(Constants.USEROBJECT) != undefined\r\n ? getSecureData(Constants.USEROBJECT).customerId\r\n : 0,\r\n locationId:\r\n getSecureData(Constants.LOCATIONOBJECT) != undefined\r\n ? getSecureData(Constants.LOCATIONOBJECT).locationId\r\n : 1,\r\n };\r\n\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getMenuItemFavorite\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\r\n \"applyCouponCode response :\" + JSON.stringify(jsonResponse)\r\n );\r\n dispatch(actionCb.getFavItemSuccess(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(\r\n actionCb.getFavItemSuccess(jsonResponse, jsonResponse.message)\r\n );\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.getFavItemFailed(err));\r\n });\r\n };\r\n}\r\n\r\n//ADD ORDER Before Check\r\nexport function MenuTimeCheckingBeforeOrderPlace(OrderInfo, languageType) {\r\n return (dispatch) => {\r\n dispatch(actionCb.AddOrdersA(false));\r\n var postData = {\r\n restaurantId: 147,\r\n loyaltynumber: 0,\r\n languageId: languageType,\r\n OrderInfo: OrderInfo,\r\n appOrderId: 0,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n // return API.post('addOrdersV1', postData)\r\n return API.post(\"MenuTimeCheckingBeforeOrderPlace\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n if (jsonResponse.status == 1) {\r\n console.log(\"addOrdersV1 response :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.AddOrdersS(jsonResponse));\r\n } else {\r\n console.log(\"error :\" + JSON.stringify(jsonResponse));\r\n dispatch(actionCb.AddOrdersS(jsonResponse, jsonResponse.message));\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(actionCb.AddOrdersF(\"somethings went wrong...\"));\r\n });\r\n };\r\n}\r\n\r\n// getLoyaltyPointList\r\nexport function getLoyaltyPointList(data) {\r\n return (dispatch) => {\r\n dispatch(actionCb.getLoyaltyPointListAttempt(true));\r\n var postData = {\r\n restaurantId: 147,\r\n customerId: data.customerId,\r\n LocationId: data.locationId,\r\n languageId: data.languageId,\r\n };\r\n console.log(\"request :\" + JSON.stringify(postData));\r\n return API.post(\"getLoyaltyPointListV1\", postData)\r\n .then((response) => {\r\n var stringResponse = response.data.d;\r\n var jsonResponse = JSON.parse(stringResponse);\r\n console.log(\"response :\" + jsonResponse);\r\n dispatch(actionCb.getLoyaltyPointListSuccess(jsonResponse));\r\n })\r\n .catch((err) => {\r\n console.log(\"AXIOS ERROR: \", err);\r\n dispatch(\r\n actionCb.getLoyaltyPointListFailed(\"somethings went wrong...\")\r\n );\r\n });\r\n };\r\n}\r\n","import LocalizedStrings from \"react-localization\";\r\n\r\nexport let Strings = new LocalizedStrings({\r\n //English language code and message\r\n en: {\r\n yes: \"YES\",\r\n str_no: \"NO\",\r\n\r\n msg_erase_item: \"Do you want to erase item?\",\r\n msg_item_erased: \"Item erased successfully\",\r\n str_order_now: \"Estimated Delivery Time\",\r\n str_order_later: \"Order Later\",\r\n sub_total: \"Sub Total\",\r\n str_packaging_costs: \"Biodegradable Packaging\",\r\n Checkout_web: \"CHECKOUT\",\r\n str_erase: \"Erase\",\r\n str_add_drink: \"Add Drink\",\r\n str_add_more_product: \"Add more products\",\r\n time_select: \"Select Time\",\r\n change_add_web: \"Change Address\",\r\n select_address: \"SELECT ADDRESS\",\r\n str_add_new_address: \"Add New Address\",\r\n str_add_address: \"ADD ADDRESS\",\r\n str_edit_address: \"EDIT ADDRESS\",\r\n str_company_discount: \"Company discount\",\r\n str_booking_deposit: \"Booking Deposit\",\r\n cart_empty:\r\n \"Your shopping basket is empty. Please add an item to your basket to place your order.\",\r\n btn_save_card: \"Saved Cards\",\r\n empty_cart_message:\r\n \"By changing your location it will reset your order. Do you want to remove your items and continue with your order at your new chosen location?\",\r\n btn_confirm: \"Confirm\",\r\n btn_cancel: \"Cancel\",\r\n payment_type: \"PAYMENT TYPE\",\r\n pay_by_cash: \"PAY BY CASH\",\r\n pay_by_card: \"PAY BY CARD/WALLET\",\r\n past_time: \"This time is no longer available, please select another time.\",\r\n select_add_delivery_address: \"Please select or add delivery address\",\r\n enter_address: \"Please enter address\",\r\n address_comment: \"Comment (House no., Street, Landmark)\",\r\n address_line_1: \"Address Line 1\",\r\n address_line_2: \"Address Line 2\",\r\n postal_code: \"Postal Code\",\r\n address_postal_code: \"Please enter postal code\",\r\n str_loading: \"Loading...\",\r\n comments_web:\r\n \"Please write here if you have any allergies or delivery instructions\",\r\n\r\n str_reorder: \"Reorder\",\r\n str_trackorder: \"Track Order\",\r\n\r\n btn_change_location: \"Change Location\",\r\n str_locationname: \"Location Name\",\r\n\r\n rate_a_waiter: \"Rate A Waiter\",\r\n msg_delete_account: \"Are you sure you want to delete account?\",\r\n\r\n cart_from_different_location:\r\n \"Can't order from this location as your cart already have item(s) from different location. Do you want to remove all the items from the previous location and continue with your order?\",\r\n\r\n please_select_location: \"Please select location\",\r\n msg_delete_card: \"Are you sure you want to delete card?\",\r\n\r\n str_your_order_is: \"Your order number is\",\r\n str_redeem_avocado_discount:\r\n \"Redeem #point# reward points for #value# discount\",\r\n\r\n card_name_web: \"Full name (on the card)\",\r\n ExpiryDate_web: \"Expiry Date\",\r\n str_mm: \"MM\",\r\n str_yyyy: \"YYYY\",\r\n str_cvv: \"CVV\",\r\n str_january: \"January\",\r\n str_february: \"February\",\r\n str_march: \"March\",\r\n str_april: \"April\",\r\n str_may: \"May\",\r\n str_june: \"June\",\r\n str_july: \"July\",\r\n str_august: \"August\",\r\n str_september: \"September\",\r\n str_october: \"October\",\r\n str_november: \"November\",\r\n str_december: \"December\",\r\n\r\n str_new_card: \"New Card\",\r\n str_card_name_error: \"Please enter card name\",\r\n entercardnumber_web: \"Please enter card number\",\r\n Validcreditcardnumber_web: \"Please enter valid card number\",\r\n selectexpirymonth_web: \"Please select expiry month\",\r\n expiryyear_web: \"Please select expiry year\",\r\n str_card_cvv_error: \"Please enter card cvv number\",\r\n\r\n error_no_data: \"No data found! Please refresh browser or come back again\",\r\n\r\n delete_delivery_address:\r\n \"Are you sure you want to delete delivery address?\",\r\n delete_address: \"Address deleted successfully\",\r\n no_record_address: \"No Address Available\",\r\n // str_redeemed_avocados:'Redeemed Avocados',\r\n str_redeemed_avocados: \"Reward points discount\",\r\n remove_cart_item_message:\r\n \"Do you want to change your current order to #, then your cart items will be removed.\",\r\n\r\n //Waiter listing page\r\n lbl_waiter_title_react: \"Waiter Details\",\r\n lbl_no_waiter_react: \"No Record Found\",\r\n\r\n //Waiter details page\r\n lbl_comment_react: \"Comment\",\r\n str_post_comment_web: \"Send Evaluation\",\r\n select_rating_react: \"Please select rating\",\r\n\r\n // Sign in page\r\n btn_signin_react: \"Sign in\",\r\n btn_signup_react: \"Sign up\",\r\n lbl_phone_number_react: \"Phone Number\",\r\n lbl_password_react_sign_in: \"Password\",\r\n lbl_no_account_react: \"Don’t have an account?\",\r\n btn_google_plus_react: \"Sign in with Google\",\r\n btn_facebook_react: \"Sign in with Facebook\",\r\n\r\n //Forget password dialog\r\n lbl_forget_password_react: \"Forgot password?\",\r\n lbl_forget_phone_number_react: \"Phone Number\",\r\n Submit_web: \"Submit\",\r\n\r\n //Validation error message in sign in page\r\n error_msg_country_code_react: \"Please select country code!\",\r\n error_msg_phone_no_react: \"Phone number must be 10 digits long!\",\r\n error_msg_password_react: \"Please enter password!\",\r\n error_msg_birth_react: \"Please select BirthDate!\",\r\n\r\n //Sign up page\r\n lbl_name_react: \"Name\",\r\n lbl_email_react: \"E-mail\",\r\n lbl_or_sign_up_react: \"OR SIGN UP WITH\",\r\n\r\n //Validation error message in sign up page\r\n error_msg_name_react: \"Please enter name!\",\r\n error_msg_email_react: \"Please enter email address!\",\r\n error_msg_valid_email_react: \"Please enter valid email address!\",\r\n\r\n txtFeedback: \"Feedback\",\r\n\r\n // Phone verification page\r\n lbl_verification_code_react: \"Mobile Verification Code:*\",\r\n btn_verify: \"Verify\",\r\n btn_resend: \"Resend\",\r\n btn_edit: \"Edit\",\r\n\r\n //My account page\r\n edit_profile_web: \"Edit Profile\",\r\n lbl_link_company_react: \"Link to Company:\",\r\n btn_save_changes_react: \"save changes\",\r\n str_delete_account_web: \"Delete Account\",\r\n lbl_change_password_react: \"Change password?\",\r\n btn_edit_details_react: \"Edit details\",\r\n btn_delete_card_react: \"delete card\",\r\n\r\n //Validation message in my account page\r\n error_msg_company_account_react: \"Please enter company account!\",\r\n\r\n // Category listing page\r\n lbl_select_location_react: \"Select location\",\r\n btn_continue_react: \"Continue\",\r\n lbl_select_order_type_react: \"Select Order Type\",\r\n Delivery_web: \"Delivery Order\",\r\n lbl_takeaway_react: \"TakeAway Order\",\r\n str_sitDown: \"SitDown\",\r\n str_collect_drink: \"Table Order\",\r\n error_msg_no_order_type_react:\r\n \"Order types not available, please reselect location\",\r\n lbl_choose_react: \"CHOOSE\",\r\n lbl_a_product_react: \"A PRODUCT\",\r\n str_takeaway_now: \"Estimated Collection Time\",\r\n str_takeaway_later: \"Takeaway Later\",\r\n\r\n //Menu listing page\r\n lbl_edit_add_react: \"Add\",\r\n lbl_quantity_react: \"Quantity\",\r\n str_btn_update_react: \"Update\",\r\n btn_add_to_cart_react: \"Add to cart\",\r\n Total_web: \"Total\",\r\n error_msg_item_added_react: \"Item added successfully\",\r\n error_msg_item_update_react: \"Item updated successfully\",\r\n Ok_web: \"OK\",\r\n\r\n str_pending: \"Pending\",\r\n str_complete: \"Completed\",\r\n\r\n // Footer\r\n lbl_part_group_react: \"part of the group\",\r\n lbl_more_info_react: \"more info\",\r\n lbl_newslatter_react: \"Join our newsletter\",\r\n lbl_subscribe_react: \"SUBSCRIBE\",\r\n lbl_stay_connected_react: \"stay connected\",\r\n lbl_contact_us_react: \"Contact Us\",\r\n lbl_career_react: \"Careers\",\r\n lbl_privacy_policy_react: \"Privacy Policy\",\r\n lbl_honest_react: \"hello@honestgreens.com\",\r\n lbl_honest_green_footer_react: \"honest greens © 2020\",\r\n lbl_all_right_react: \"all rights reserved\",\r\n lbl_apply_office_catering: \"Apply for office catering\",\r\n\r\n lbl_offers: \"Offers\",\r\n\r\n //My order listing page\r\n lbl_view_order_react: \"VIEW ALL ORDERS\",\r\n lbl_order_react: \"ORDER #\",\r\n lbl_date_react: \"DATE\",\r\n lbl_location_react: \"LOCATION\",\r\n lbl_order_status_react: \"ORDER STATUS\",\r\n lbl_order_type_react: \"ORDER TYPE\",\r\n lbl_price_react: \"AMOUNT\",\r\n support_web: \"Support\",\r\n btn_view_order_react: \"View Order\",\r\n lbl_no_order_react: \"No order found\",\r\n lbl_credit_card_details_react: \"CREDIT CARD DETAILS\",\r\n lbl_credit_card_name_react: \"Credit Card Name\",\r\n lbl_details_react: \"Details\",\r\n DeliveryAddress_web: \"Delivery Address\",\r\n\r\n //My order listing page header menu(like Edit account,Logout)\r\n lbl_title_product_react: \"products\",\r\n lbl_title_cart_react: \"Cart\",\r\n lbl_my_account_react: \"My Account\",\r\n EditAccount_Web: \"Edit Account\",\r\n lbl_title_my_order_react: \"My Orders\",\r\n lbl_title_logout_react: \"Logout\",\r\n\r\n //Order details page\r\n sub_total_order_amount_web: \"Sub total\",\r\n str_offer_discount: \"Offer discount\",\r\n lbl_delivery_charge_react: \"Delivery Charge\",\r\n total_order_amount_web: \"Total\",\r\n lbl_discount_react: \"Discount\",\r\n packaging_charge_web: \"Biodegradable Packaging\",\r\n\r\n // User Feedback Page\r\n lbl_user_feedback_react: \"Feedback\",\r\n error_msg_feedback_react: \"Please enter your feedback\",\r\n\r\n //Get card listing page\r\n CardNumber_web: \"CARD NUMBER\",\r\n card_brand_web: \"CARD BRAND\",\r\n card_type_web: \"CARD TYPE\",\r\n card_cat_web: \"CARD CATEGORY\",\r\n view_card_details_web: \"View Card Details\",\r\n delete_card_details_web: \"Delete Card Details\",\r\n error_msg_no_card_react: \"No card details found\",\r\n card_details_web: \"Card Details\",\r\n\r\n //Get card details page\r\n Save_web: \"Save\",\r\n msg_card_type_category_react: \"Please enter card category\",\r\n\r\n msg_cancel_order: \"Are you sure you want to cancel order?\",\r\n\r\n btn_apply: \"Apply\",\r\n str_remove: \"Remove\",\r\n\r\n str_voucher_title: \"Apply Voucher Code\",\r\n str_voucher_discount: \"Voucher Discount\",\r\n hint_voucher_code: \"Enter voucher code\",\r\n errorMsgVoucherCode: \"Please enter valid voucher code\",\r\n errorMsgVoucherCodeApply:\r\n \"Your payble amount is greater than zero for apply voucher code\",\r\n clear: \"Clear\",\r\n\r\n reset_pass_web: \"Reset Password\",\r\n new_password_web: \"New Password\",\r\n str_old_password: \"Old Password\",\r\n enter_new_pass_web: \"Please enter new password\",\r\n msg_error_old_password: \"Please enter old password\",\r\n confPassword_web: \"Confirm password\",\r\n enter_confirm_pass_web: \"Please enter confirm password\",\r\n confPassNotMatch_web: \"Confirm password does not match\",\r\n\r\n str_company_registration: \"Company Registration\",\r\n lable_compnayname_web: \"Company Name\",\r\n str_address: \"Address\",\r\n str_msg_enter_company: \"Please enter company name\",\r\n error_msg_address: \"Please enter address\",\r\n error_msg_postal_code: \"Please enter postal code\",\r\n error_msg_comment_text: \"Please enter House no. or Street or Landmark\",\r\n\r\n str_link: \"Link\",\r\n str_enter_company_code: \"Search company here\",\r\n manager_linked_company: \"Manage linked company\",\r\n btn_request_pending: \"Request Pending\",\r\n str_msg_next_day_order_confirm:\r\n \"You are placing order after company’s cut off time, it will be considered as your next day order. Would you like to place the order?\",\r\n company_link_delete_web: \"Are you sure you want to remove company link?\",\r\n\r\n strHeaderOrderOnline: \"Order Online\",\r\n strHeaderMenu: \"Menu\",\r\n strHeaderSignIn: \"SIGN IN\",\r\n strHeaderSignUp: \"SIGN UP\",\r\n btnLogout: \"Logout\",\r\n lbl_my_reward_web: \"My Rewards\",\r\n lbl_my_reward_point_web: \"Reward Points :\",\r\n strHeaderCheckout: \"Checkout\",\r\n\r\n msgLogin: \"Please login to get your location\",\r\n\r\n msgDeliverylabel:\r\n \"Please select one of the following options. Please note that Delivery is within a limited range which will be checked when you enter your address at checkout\",\r\n msgSelectlabel: \"Please select one of the following options.\",\r\n\r\n lblTandC: \"I agree to the Terms & Conditions\",\r\n lblConsent:\r\n \"I consent for my details to be held and protected by Culto and Smart Restaurants\",\r\n\r\n msgTandC: \"Please accept the terms & conditions\",\r\n msgConsent: \"Please allow us to use your data for legitimate interest only\",\r\n check_table_availability: \"Check Table Availability\",\r\n\r\n //for table booking\r\n booking_history: \"Booking History\",\r\n select_booking_date: \"Select Booking Date\",\r\n select_booking_time: \"Select Booking Time\",\r\n strPayNow: \"Pay Now\",\r\n lbl_tblbooking_date: \"Booking Date\",\r\n lbl_tblbooking_time: \"Booking Time\",\r\n lbl_tblbooking_person: \"Person\",\r\n lbl_tblbooking_status: \"Status\",\r\n lbl_tblbooking_amount: \"Amount\",\r\n order_later: \"Order Later\",\r\n pre_order: \"Pre-Order Now\",\r\n },\r\n\r\n //Spanish language code and message\r\n es: {\r\n yes: \"Si\",\r\n str_no: \"NO\",\r\n\r\n // Sign in page\r\n btn_signin_react: \"registrarse\",\r\n btn_signup_react: \"Regístrate\",\r\n lbl_phone_number_react: \"Número de teléfono:\",\r\n lbl_password_react_sign_in: \"Contraseña:\",\r\n lbl_no_account_react: \"¿No tienes una cuenta?\",\r\n btn_google_plus_react: \"Inicia sesión con Google\",\r\n btn_facebook_react: \"Iniciar sesión usando Facebook \",\r\n\r\n //Forget password dialog\r\n lbl_forget_password_react: \"¿Olvidaste tu contraseña?\",\r\n lbl_forget_phone_number_react: \"Número de teléfono\",\r\n Submit_web: \"Enviar\",\r\n\r\n //Validation error message in sign up page\r\n error_msg_name_react: \"Por favor ingrese el nombre!\",\r\n error_msg_country_code_react: \"Por favor, seleccione el código del país!\",\r\n error_msg_phone_no_react: \"¡El número de teléfono debe tener 11 dígitos!\",\r\n error_msg_password_react: \"¡Por favor, ingrese contraseña!\",\r\n error_msg_email_react:\r\n \"Por favor, introduzca la dirección de correo electrónico!\",\r\n error_msg_valid_email_react:\r\n \"¡Por favor ingrese una dirección de correo electrónico válida!\",\r\n error_msg_birth_react: \"\",\r\n\r\n //Sign up page label\r\n lbl_name_react: \"Nombre:\",\r\n lbl_email_react: \"Correo electrónico:\",\r\n lbl_or_sign_up_react: \"O REGÍSTRATE CON\",\r\n\r\n txtFeedback: \"Realimentación\",\r\n\r\n // Phone verification page\r\n lbl_verification_code_react: \"Código de verificación móvil: *\",\r\n btn_verify: \"Verificar\",\r\n btn_resend: \"Resand\",\r\n btn_edit: \"Editar\",\r\n\r\n //My account page\r\n edit_profile_web: \"Editar Perfil\",\r\n lbl_link_company_react: \"Enlace a la empresa:\",\r\n btn_save_changes_react: \"guardar cambios\",\r\n str_delete_account_web: \"Borrar Cuenta\",\r\n lbl_change_password_react: \"¿Cambia la contraseña?\",\r\n btn_edit_details_react: \"Editar detalles\",\r\n btn_delete_card_react: \"eliminar tarjeta\",\r\n lbl_credit_card_details_react: \"DETALLES DE LA TARJETA DE CRÉDITO\",\r\n lbl_credit_card_name_react: \"Nombre de tarjeta de crédito\",\r\n lbl_details_react: \"Detalles\",\r\n DeliveryAddress_web: \"Dirección de entrega\",\r\n\r\n //Validation message in my account page\r\n error_msg_company_account_react:\r\n \"Por favor ingrese la cuenta de la empresa!\",\r\n\r\n // Category listing page\r\n lbl_select_location_react: \"Seleccionar ubicación\",\r\n btn_continue_react: \"Continuar\",\r\n lbl_select_order_type_react: \"Seleccionar tipo de orden\",\r\n Delivery_web: \"Entrega\",\r\n lbl_takeaway_react: \"Para llevar\",\r\n error_msg_no_order_type_react:\r\n \"Tipos de pedido no disponibles, vuelva a seleccionar la ubicación\",\r\n lbl_choose_react: \"ESCOGER\",\r\n\r\n //Menu listing page\r\n lbl_edit_add_react: \"Agregar\",\r\n lbl_quantity_react: \"Cantidad\",\r\n str_btn_update_react: \"Actualizar\",\r\n btn_add_to_cart_react: \"Añadir al carrito\",\r\n Total_web: \"Total\",\r\n error_msg_item_added_react: \"Artículo agregado exitosamente\",\r\n error_msg_item_update_react: \"Artículo actualizado con éxito\",\r\n Ok_web: \"De acuerdo\",\r\n lbl_a_product_react: \"UN PRODUCTO\",\r\n\r\n //Footer\r\n lbl_part_group_react: \"parte del grupo\",\r\n lbl_more_info_react: \"más información\",\r\n lbl_newslatter_react: \"Suscríbase a nuestro boletín\",\r\n lbl_subscribe_react: \"SUSCRIBIR\",\r\n lbl_stay_connected_react: \"Mantente conectada\",\r\n lbl_contact_us_react: \"Contáctenos\",\r\n lbl_career_react: \"Carreras\",\r\n lbl_privacy_policy_react: \"Política de privacidad\",\r\n lbl_honest_react: \"hola@honestgreens.com\",\r\n lbl_honest_green_footer_react: \"verdes honestos © 2020\",\r\n lbl_all_right_react: \"todos los derechos reservados\",\r\n lbl_apply_office_catering: \"Solicitar catering en la oficina\",\r\n\r\n //My order listing page\r\n lbl_view_order_react: \"VER TODOS LOS PEDIDOS\",\r\n lbl_order_react: \"ORDEN #\",\r\n lbl_date_react: \"CON FECHA DE\",\r\n lbl_location_react: \"ALQUILER\",\r\n lbl_order_type_react: \"TIPO DE ORDEN\",\r\n lbl_price_react: \"PRECIO\",\r\n support_web: \"Apoyo\",\r\n btn_view_order_react: \"Ver pedido\",\r\n lbl_no_order_react: \"No se ha encontrado ningún pedido.\",\r\n\r\n //My order listing page header menu(like Edit account,Logout)\r\n lbl_title_product_react: \"productos\",\r\n lbl_title_cart_react: \"Carro\",\r\n lbl_my_account_react: \"Mi Cuenta\",\r\n EditAccount_Web: \"Editar cuenta\",\r\n lbl_title_my_order_react: \"Mis ordenes\",\r\n lbl_title_logout_react: \"Cerrar sesión\",\r\n\r\n //Order details page\r\n sub_total_order_amount_web: \"Sub Cantidad total de la orden\",\r\n lbl_delivery_charge_react: \"Gastos de envío\",\r\n total_order_amount_web: \"Importe total del pedido\",\r\n lbl_discount_react: \"Descuento\",\r\n packaging_charge_web: \"Empaque Biodegradable\",\r\n\r\n lbl_user_feedback_react: \"Realimentación\",\r\n error_msg_feedback_react: \"Playas Ingrese su opinión\",\r\n\r\n //Get card listing page\r\n CardNumber_web: \"NÚMERO DE TARJETA\",\r\n card_brand_web: \"MARCA DE CARRO\",\r\n card_type_web: \"TIPO DE TARJETA\",\r\n card_cat_web: \"CATEGORÍA DE TARJETA\",\r\n view_card_details_web: \"Ver detalles de la tarjeta\",\r\n delete_card_details_web: \"Eliminar detalles de la tarjeta\",\r\n error_msg_no_card_react: \"No se encontraron detalles de la tarjeta\",\r\n card_details_web: \"Detalles de tarjeta\",\r\n\r\n //Get card details page\r\n Save_web: \"Salvar\",\r\n msg_card_type_category_react:\r\n \"Por favor ingrese la categoría de la tarjeta\",\r\n\r\n msg_erase_item: \" ¿Quieres borrar el elemento?\",\r\n msg_item_erased: \"Artículo borrado con éxito\",\r\n str_order_now: \"Tiempo de entrega estimado\",\r\n str_order_later: \"Ordene despues\",\r\n sub_total: \"Sub Total\",\r\n str_packaging_costs: \"Paquete biodegradable\",\r\n Checkout_web: \"Revisa\",\r\n str_erase: \"borrar\",\r\n str_add_drink: \"Añadir bebida\",\r\n str_add_more_product: \"Agregar más productos\",\r\n time_select: \"Seleccione tiempo\",\r\n change_add_web: \"Cambiar dirección\",\r\n select_address: \"SELECCIONE DIRECCION\",\r\n str_add_new_address: \"Agregar nueva dirección\",\r\n str_add_address: \"AÑADIR DIRECCIÓN\",\r\n str_company_discount: \"Descuento de la empresa\",\r\n cart_empty: \"No hay artículos en su pedido.\",\r\n\r\n btn_save_card: \"Tarjetas guardadas\",\r\n empty_cart_message:\r\n \"Al cambiar su ubicación, restablecerá su pedido. ¿Desea eliminar sus artículos y continuar con su pedido en la nueva ubicación elegida?\",\r\n btn_confirm: \"Confirmar\",\r\n btn_cancel: \"Cancelar\",\r\n payment_type: \"TIPO DE PAGO\",\r\n pay_by_cash: \"PAGAR EN EFECTIVO\",\r\n pay_by_card: \"PAGAR CON TARJETA/MONEDERO\",\r\n past_time: \"Esta hora ya no está disponible, seleccione otra hora.\",\r\n select_add_delivery_address:\r\n \"Seleccione o agregue la dirección de entrega.\",\r\n enter_address: \"Por favor ingrese la dirección\",\r\n address_comment: \"Comentario (Casa no., Calle, Punto de referencia)\",\r\n address_line_1: \"Dirección Línea 1\",\r\n address_line_2: \"Dirección Línea 2\",\r\n postal_code: \"código postal\",\r\n str_loading: \"Cargando...\",\r\n comments_web: \"Comentarios\",\r\n\r\n //Waiter listing page\r\n lbl_no_waiter_react: \"ningún record fue encontrado\",\r\n lbl_waiter_title_react: \"Detalles del camarero\",\r\n\r\n //Waiter details page\r\n lbl_comment_react: \"Comentario\",\r\n str_post_comment_web: \"Evacuación de arena\",\r\n select_rating_react: \"Por favor seleccione la calificación\",\r\n\r\n str_reorder: \"Reordenar\",\r\n rate_a_waiter: \"Califica a un camarero\",\r\n\r\n cart_from_different_location:\r\n \"No se puede realizar el pedido desde esta ubicación, ya que su carrito ya tiene artículos de una ubicación diferente. ¿Desea eliminar todos los artículos de la ubicación anterior y continuar con su pedido?\",\r\n msg_delete_account: \"¿Estás segura de que quieres eliminar la cuenta?\",\r\n please_select_location: \"Por favor seleccione ubicación\",\r\n msg_delete_card: \"¿Estás seguro de que quieres eliminar la tarjeta?\",\r\n\r\n card_name_web: \"Nombre completo (en la tarjeta)\",\r\n ExpiryDate_web: \"Fecha de caducidad\",\r\n str_mm: \"MM\",\r\n str_yyyy: \"AAAA\",\r\n str_cvv: \"CVV\",\r\n str_january: \"enero\",\r\n str_february: \"febrero\",\r\n str_march: \"marzo\",\r\n str_april: \"abril\",\r\n str_may: \"Mayo\",\r\n str_june: \"junio\",\r\n str_july: \"julio\",\r\n str_august: \"agosto\",\r\n str_september: \"septiembre\",\r\n str_october: \"octubre\",\r\n str_november: \"noviembre\",\r\n str_december: \"diciembre\",\r\n str_new_card: \"Nueva tarjeta\",\r\n\r\n str_card_name_error: \"Por favor ingrese el nombre de la tarjeta\",\r\n entercardnumber_web: \"Por favor ingrese el número de tarjeta\",\r\n Validcreditcardnumber_web: \"Por favor ingrese un número de tarjeta válido\",\r\n selectexpirymonth_web: \"Seleccione mes de vencimiento\",\r\n expiryyear_web: \"Seleccione año de vencimiento\",\r\n str_card_cvv_error: \"Por favor ingrese el número de tarjeta cvv\",\r\n\r\n error_no_data:\r\n \"¡Datos no encontrados! actualiza el navegador o vuelve de nuevo\",\r\n delete_delivery_address:\r\n \"¿Estás seguro de que deseas eliminar la dirección de entrega?\",\r\n delete_address: \"Dirección eliminada correctamente\",\r\n no_record_address: \"No hay dirección disponible\",\r\n str_your_order_is: \"tu numero de orden es\",\r\n str_redeem_avocado_discount:\r\n \"Canjee #points# aguacates por #value# descuento\",\r\n str_redeemed_avocados: \"Aguacates Redimidos\",\r\n remove_cart_item_message:\r\n \"¿Desea cambiar su pedido actual a #? Luego, se eliminarán los artículos de su carrito.\",\r\n\r\n msg_cancel_order: \"¿Estás segura de que deseas cancelar el pedido?\",\r\n\r\n btn_apply: \"Aplicar\",\r\n str_remove: \"Eliminar\",\r\n\r\n btn_change_location: \"Cambiar Ubicación\",\r\n\r\n str_locationname: \"Nombre del lugar\",\r\n\r\n str_voucher_title: \"Aplicar código de cupón\",\r\n str_voucher_discount: \"Cupón de descuento\",\r\n hint_voucher_code: \"Ingrese código de descuento\",\r\n errorMsgVoucherCode: \"Ingrese un código de cupón válido\",\r\n errorMsgVoucherCodeApply:\r\n \"Su monto a pagar es mayor que cero para aplicar el código de cupón\",\r\n clear: \"Clara\",\r\n\r\n reset_pass_web: \"Restablecer La Contraseña\",\r\n new_password_web: \"Nueva Contraseña\",\r\n str_old_password: \"Contraseña anterior\",\r\n enter_new_pass_web: \"Por favor ingrese una nueva contraseña\",\r\n msg_error_old_password: \"Ingrese la contraseña anterior\",\r\n confPassword_web: \"Confirmar contraseña\",\r\n enter_confirm_pass_web:\r\n \"Por favor, introduzca la contraseña de confirmación\",\r\n confPassNotMatch_web: \"Confirme que la contraseña no coincida\",\r\n\r\n str_company_registration: \"Registro de la empresa\",\r\n lable_compnayname_web: \"Nombre de la compañia\",\r\n str_address: \"Habla a\",\r\n str_msg_enter_company: \"Ingrese el nombre de la empresa\",\r\n error_msg_address: \"Por favor ingrese la dirección\",\r\n\r\n str_link: \"Enlazar\",\r\n str_enter_company_code: \"Buscar empresa aquí\",\r\n manager_linked_company: \"Gestionar empresa vinculada\",\r\n btn_request_pending: \"Pedido pendiente\",\r\n str_msg_next_day_order_confirm:\r\n \"Si realiza el pedido después de la hora límite de la empresa, se considerará como su pedido del día siguiente. ¿Le gustaría realizar el pedido?\",\r\n company_link_delete_web:\r\n \"¿Está seguro de que desea eliminar el enlace de la empresa\",\r\n\r\n strHeaderOrderOnline: \"Order Online\",\r\n strHeaderMenu: \"Menu\",\r\n strHeaderSignIn: \"SIGN IN\",\r\n strHeaderSignUp: \"SIGN UP\",\r\n btnLogout: \"Logout\",\r\n lbl_my_reward_web: \"Mi recompensa\",\r\n lbl_my_reward_point_web: \"Puntos de recompensa :\",\r\n strHeaderCheckout: \"Checkout\",\r\n },\r\n});\r\n","import React, { Component } from \"react\";\r\n\r\nimport { Route, NavLink, BrowserRouter as Router, Switch, Link, history } from \"react-router-dom\";\r\n\r\nimport baseConstants from '../constants/baseConstants';\r\nimport {setSecureData, getSecureData} from '../Utils/utils';\r\nimport { Strings } from '../constants/Localization';\r\n\r\nimport Modal from 'react-bootstrap/Modal'\r\n\r\n\r\nclass AlertDialog extends Component {\r\n \r\n constructor(props) {\r\n super(props);\r\n\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.btnLeftClick()}}\r\n size=\"sm\"\r\n animation={true}\r\n aria-labelledby=\"contained-modal-title-vcenter\"\r\n centered>\r\n \r\n
\r\n

{this.props.msgTitle}

\r\n
\r\n {this.props.btnLeftClick()}} tabIndex={1}>{this.props.btnLeftTitle}\r\n {this.props.isMultibutton ? {this.props.btnRightClick()}} tabIndex={2}>{this.props.btnRightTitle} : null }\r\n \r\n {this.props.orderDetailId && this.props.orderDetailId > 0\r\n ?\r\n \r\n : \r\n null\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 AlertDialog;","import React, { Component } from \"react\";\r\nimport { history, withRouter, Link } from \"react-router-dom\";\r\nimport Constant from \"../constants/baseConstants\";\r\nimport { Strings } from \"../constants/Localization\";\r\nimport AlertDialog from \"../Components/AlertDialog\";\r\nimport { setSecureData, getSecureData } from \"../Utils/utils\";\r\n\r\nvar ordType = \"\";\r\n\r\nclass HeaderWhiteMenuHalf extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loggedInUserId: 0,\r\n isAlertVisible: false,\r\n alertMessage: \"\",\r\n alertType: 1,\r\n selectedLocationObject: {},\r\n lType: 1,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n // localStorage.getItem(Constant.USEROBJECT)\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // get the key's value from localStorage\r\n // let value = localStorage.getItem(Constant.USEROBJECT);\r\n let value = getSecureData(Constant.USEROBJECT);\r\n // console.log('value='+value);\r\n if (value !== undefined) {\r\n if (value !== null)\r\n // || value !== undefined)\r\n this.setState({ loggedInUserId: value.customerId });\r\n }\r\n } else {\r\n // console.log('value=');\r\n }\r\n\r\n // if (localStorage.getItem(Constant.PRE_LANGUAGE_TYPE) == '1') {\r\n if (getSecureData(Constant.PRE_LANGUAGE_TYPE) == \"1\") {\r\n this.setState({ lType: 1 });\r\n // } else if (localStorage.getItem(Constant.PRE_LANGUAGE_TYPE) == '2') {\r\n } else if (getSecureData(Constant.PRE_LANGUAGE_TYPE) == \"2\") {\r\n this.setState({ lType: 2 });\r\n }\r\n }\r\n\r\n // UNSAFE_componentWillUpdate() {\r\n // // if (getSecureData(Constant.PRE_LANGUAGE_TYPE) == '1') {\r\n // // this.state.lType = 1\r\n // // } else if (getSecureData(Constant.PRE_LANGUAGE_TYPE) == '2') {\r\n // // this.state.lType = 2\r\n // // }\r\n // }\r\n\r\n renderBadge() {\r\n if (localStorage.hasOwnProperty(Constant.USERCART)) {\r\n // let value = localStorage.getItem(Constant.USERCART);\r\n let value = getSecureData(Constant.USERCART);\r\n if (value !== undefined) {\r\n if (value !== null) {\r\n if (value.length > 0) {\r\n return {value.length};\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n renderAccountMenu() {\r\n var cId = 0;\r\n\r\n console.log(\r\n \"localStorage.hasOwnProperty(Constant.USEROBJECT)\",\r\n localStorage.hasOwnProperty(Constant.USEROBJECT)\r\n );\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // get the key's value from localStorage\r\n // let value = localStorage.getItem(Constant.USEROBJECT);\r\n let value = getSecureData(Constant.USEROBJECT);\r\n console.log(\"value=\" + value);\r\n if (value !== undefined) {\r\n if (value !== null)\r\n // || value !== undefined)\r\n cId = value.customerId;\r\n }\r\n }\r\n\r\n if (cId > 0) {\r\n return (\r\n
  • \r\n \r\n {Strings.lbl_my_account_react}\r\n \r\n {/* */}\r\n \r\n
  • \r\n );\r\n } else {\r\n return (\r\n
  • \r\n \r\n {Strings.btn_signin_react}\r\n \r\n
  • \r\n );\r\n }\r\n }\r\n\r\n renderBookTableMenu() {\r\n var cId = 0;\r\n\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // get the key's value from localStorage\r\n // let value = localStorage.getItem(Constant.USEROBJECT);\r\n let value = getSecureData(Constant.USEROBJECT);\r\n // console.log('value='+value);\r\n if (value !== undefined) {\r\n if (value !== null)\r\n // || value !== undefined)\r\n cId = value.customerId;\r\n }\r\n }\r\n\r\n console.log(\r\n \"localStorage.hasOwnProperty(Constant.USEROBJECT)\",\r\n localStorage.hasOwnProperty(Constant.USEROBJECT)\r\n );\r\n\r\n if (cId > 0) {\r\n return (\r\n
  • \r\n {\r\n this.props.history.push(\"/BookTable\");\r\n }}\r\n >\r\n Book a Table\r\n \r\n
  • \r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n renderOrderType() {\r\n if (getSecureData(Constant.LOCATIONOBJECT)) {\r\n if (getSecureData(Constant.ORDERTYPE)) {\r\n let locationObject = getSecureData(Constant.LOCATIONOBJECT);\r\n var arry = [];\r\n if (locationObject.isDelivery) {\r\n arry.push({ title: Strings.Delivery_web, isSelect: false });\r\n }\r\n if (locationObject.isTakeAway) {\r\n arry.push({ title: Strings.lbl_takeaway_react, isSelect: false });\r\n }\r\n if (locationObject.isOrderExtras) {\r\n arry.push({ title: Strings.str_collect_drink, isSelect: false });\r\n }\r\n var arrReturn = [];\r\n arry.map((order, index) => {\r\n arrReturn.push(\r\n
  • \r\n {\r\n this.onChangeOrderType(order);\r\n }}\r\n >\r\n {order.title}\r\n \r\n
  • \r\n );\r\n });\r\n return (\r\n
  • \r\n \r\n {getSecureData(Constant.ORDERTYPE) == \"Delivery\"\r\n ? Strings.Delivery_web\r\n : getSecureData(Constant.ORDERTYPE) == \"TakeAway\"\r\n ? Strings.lbl_takeaway_react\r\n : Strings.str_collect_drink}\r\n \r\n \r\n
  • \r\n );\r\n }\r\n }\r\n }\r\n\r\n renderCartBadge = () => {\r\n if (this.state.loggedInUserId > 0) {\r\n return (\r\n
    \r\n \r\n {this.renderBadge()}\r\n
    \r\n );\r\n }\r\n };\r\n renderCartMenu = () => {\r\n if (this.state.loggedInUserId > 0) {\r\n return (\r\n
  • \r\n {Strings.lbl_title_cart_react}\r\n
  • \r\n );\r\n }\r\n };\r\n\r\n // English language type: 1\r\n // Spanish language type: 2\r\n //Handle select language click event\r\n changeLanguageClickEvent(type) {\r\n console.log(\"change language event header white menu : \" + type);\r\n this.props.changeLanguageEvent(type);\r\n }\r\n renderLogo(logoType) {\r\n if (logoType === 1)\r\n return (\r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n );\r\n // return (
    \"\"
    ); ccc\r\n else\r\n return (\r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n );\r\n }\r\n\r\n onChangeLocation(location) {\r\n // if (JSON.parse(localStorage.getItem(Constant.USERCART))) {\r\n if (getSecureData(Constant.USERCART)) {\r\n // if (JSON.parse(localStorage.getItem(Constant.USERCART)).length > 0) {\r\n if (getSecureData(Constant.USERCART).length > 0) {\r\n this.setState({\r\n isAlertVisible: true,\r\n alertType: 1,\r\n alertMessage: Strings.empty_cart_message,\r\n selectedLocationObject: location,\r\n });\r\n } else {\r\n // localStorage.setItem(Constant.LOCATIONOBJECT,JSON.stringify(location))\r\n setSecureData(Constant.LOCATIONOBJECT, location);\r\n setTimeout(() => {\r\n this.setState({}, () => {\r\n this.props.onChangeLocation();\r\n });\r\n }, 200);\r\n }\r\n } else {\r\n // localStorage.setItem(Constant.LOCATIONOBJECT,JSON.stringify(location))\r\n setSecureData(Constant.LOCATIONOBJECT, location);\r\n setTimeout(() => {\r\n this.setState({}, () => {\r\n // this.props.onChangeLocation()\r\n });\r\n }, 200);\r\n }\r\n }\r\n\r\n onChangeOrderType(order) {\r\n if (!getSecureData(Constant.USERCART)) {\r\n /* comment for order type */\r\n // ordType = (order.title == Strings.Delivery_web) ? 'Delivery' : 'TakeAway'\r\n if (order.title == Strings.Delivery_web) {\r\n ordType = Strings.Delivery_web;\r\n } else if (order.title == Strings.lbl_takeaway_react) {\r\n ordType = Strings.lbl_takeaway_react;\r\n } else if (order.title == Strings.str_collect_drink) {\r\n ordType = Strings.str_sitDown;\r\n }\r\n\r\n setSecureData(Constant.ORDERTYPE, ordType);\r\n setTimeout(() => {\r\n this.setState({});\r\n }, 200);\r\n return;\r\n }\r\n\r\n if (getSecureData(Constant.USERCART).length > 0) {\r\n /* comment for order type */\r\n // let ord = (order.title == Strings.Delivery_web) ? Strings.Delivery_web : Strings.lbl_takeaway_react\r\n // ordType = (order.title == Strings.Delivery_web) ? 'Delivery' : 'TakeAway'\r\n let ord = \"\";\r\n if (order.title == Strings.Delivery_web) {\r\n ord = Strings.Delivery_web;\r\n } else if (order.title == Strings.lbl_takeaway_react) {\r\n ord = Strings.lbl_takeaway_react;\r\n } else if (order.title == Strings.str_collect_drink) {\r\n ord = Strings.str_collect_drink;\r\n }\r\n\r\n if (order.title == Strings.Delivery_web) {\r\n ordType = Strings.Delivery_web;\r\n } else if (order.title == Strings.lbl_takeaway_react) {\r\n ordType = Strings.lbl_takeaway_react;\r\n } else if (order.title == Strings.str_collect_drink) {\r\n ordType = Strings.str_sitDown;\r\n }\r\n if (getSecureData(Constant.ORDERTYPE) != ordType) {\r\n this.setState({\r\n isAlertVisible: true,\r\n alertType: 2,\r\n alertMessage: Strings.remove_cart_item_message.replace(\"#\", ord),\r\n });\r\n }\r\n } else {\r\n /* comment for order type */\r\n // ordType = (order.title == Strings.Delivery_web) ? 'Delivery' : 'TakeAway'\r\n if (order.title == Strings.Delivery_web) {\r\n ordType = Strings.Delivery_web;\r\n } else if (order.title == Strings.lbl_takeaway_react) {\r\n ordType = Strings.lbl_takeaway_react;\r\n } else if (order.title == Strings.str_collect_drink) {\r\n ordType = Strings.str_sitDown;\r\n }\r\n setSecureData(Constant.ORDERTYPE, ordType);\r\n setTimeout(() => {\r\n this.setState({});\r\n }, 200);\r\n }\r\n }\r\n\r\n onConfirmClick() {\r\n if (this.state.alertType == 1) {\r\n setSecureData(Constant.LOCATIONOBJECT, this.state.selectedLocationObject);\r\n localStorage.removeItem(Constant.USERCART);\r\n setTimeout(() => {\r\n this.setState({ isAlertVisible: false });\r\n }, 200);\r\n } else if (this.state.alertType == 2) {\r\n setSecureData(Constant.ORDERTYPE, ordType);\r\n localStorage.removeItem(Constant.USERCART);\r\n setTimeout(() => {\r\n this.setState({ isAlertVisible: false });\r\n }, 200);\r\n }\r\n }\r\n\r\n renderLocationList() {\r\n var arrReturn = [];\r\n\r\n // let locationList = JSON.parse(localStorage.getItem(Constant.LOCATIONLISTOBJECT))\r\n let locationList = getSecureData(Constant.LOCATIONLISTOBJECT);\r\n // let locationObject = JSON.parse(localStorage.getItem(Constant.LOCATIONOBJECT))\r\n let locationObject = getSecureData(Constant.LOCATIONOBJECT);\r\n if (locationList) {\r\n if (locationList.length > 0) {\r\n locationList.map((location, index) => {\r\n arrReturn.push(\r\n //
  • { this.onChangeLocation(location) }}>{location.locationName}
  • \r\n
  • \r\n {\r\n this.onChangeLocation(location);\r\n }}\r\n >\r\n {location.locationName}\r\n \r\n
  • \r\n );\r\n });\r\n } else {\r\n return;\r\n }\r\n } else {\r\n return;\r\n }\r\n\r\n return (\r\n //
    \r\n //
    \r\n // {(locationObject) ? locationObject.locationName : null }\r\n //
      \r\n // {arrReturn}\r\n //
    \r\n //
    \r\n //
    \r\n
  • \r\n \r\n {locationObject ? locationObject.locationName : null}\r\n \r\n \r\n
  • \r\n );\r\n }\r\n\r\n renderBadge() {\r\n if (localStorage.hasOwnProperty(Constant.USERCART)) {\r\n // let value = localStorage.getItem(Constant.USERCART);\r\n let value = getSecureData(Constant.USERCART);\r\n if (value !== undefined) {\r\n if (value !== null) {\r\n if (value.length > 0) {\r\n return {value.length};\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n renderOrderTypes() {\r\n //Check user is logged in or not\r\n if (this.state.loggedInUserId > 0) {\r\n //check location object available or not in local storage if available then fetch and set data\r\n if (getSecureData(Constant.LOCATIONOBJECT)) {\r\n if (getSecureData(Constant.ORDERTYPE)) {\r\n let locationObject = getSecureData(Constant.LOCATIONOBJECT);\r\n var arry = [];\r\n if (locationObject.isDelivery) {\r\n arry.push({ title: Strings.Delivery_web, isSelect: false });\r\n }\r\n if (locationObject.isTakeAway) {\r\n arry.push({ title: Strings.lbl_takeaway_react, isSelect: false });\r\n }\r\n /* comment for order type */\r\n if (locationObject.isOrderExtras) {\r\n arry.push({ title: Strings.str_collect_drink, isSelect: false });\r\n }\r\n var arrReturn = [];\r\n arry.map((order, index) => {\r\n arrReturn.push(\r\n
  • \r\n {\r\n this.onChangeOrderType(order);\r\n }}\r\n >\r\n {order.title}\r\n \r\n
  • \r\n );\r\n });\r\n return (\r\n
  • \r\n \r\n {getSecureData(Constant.ORDERTYPE) == \"Delivery\"\r\n ? Strings.Delivery_web\r\n : Strings.lbl_takeaway_react}\r\n \r\n \r\n
  • \r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n window.location.href = \"/home\";\r\n }}\r\n className=\"col-m-3 head-logo\"\r\n >\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    {this.renderCartBadge()}
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    (T) +44 (0) 113 3454434

    \r\n

    (E) info@cultoitalian.co.uk

    \r\n

    97 Stainbeek Road, Leeds, LS7 2PR

    \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 withRouter(HeaderWhiteMenuHalf);\r\n","import React, { Component } from 'react';\r\nimport { history, withRouter } from \"react-router-dom\";\r\nimport Constant from '../constants/baseConstants';\r\nimport { Strings } from '../constants/Localization';\r\nimport AlertDialog from '../Components/AlertDialog';\r\nimport { setSecureData, getSecureData } from '../Utils/utils';\r\n\r\nvar ordType = ''\r\n\r\nclass HeaderSignin extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n loggedInUserId: 0,\r\n isAlertVisible: false,\r\n alertMessage: '',\r\n alertType: 1,\r\n selectedLocationObject: {},\r\n lType: 1,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n // localStorage.getItem(Constant.USEROBJECT)\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // get the key's value from localStorage\r\n // let value = localStorage.getItem(Constant.USEROBJECT);\r\n let value = getSecureData(Constant.USEROBJECT);\r\n // console.log('value='+value);\r\n if (value !== undefined) {\r\n if (value !== null)// || value !== undefined) \r\n this.setState({ loggedInUserId: value.customerId });\r\n }\r\n\r\n\r\n }\r\n else {\r\n // console.log('value=');\r\n }\r\n\r\n // if (localStorage.getItem(Constant.PRE_LANGUAGE_TYPE) == '1') {\r\n if (getSecureData(Constant.PRE_LANGUAGE_TYPE) == '1') {\r\n this.setState({ lType: 1 })\r\n // } else if (localStorage.getItem(Constant.PRE_LANGUAGE_TYPE) == '2') {\r\n } else if (getSecureData(Constant.PRE_LANGUAGE_TYPE) == '2') {\r\n this.setState({ lType: 2 })\r\n }\r\n\r\n }\r\n\r\n // UNSAFE_componentWillUpdate() {\r\n // // if (getSecureData(Constant.PRE_LANGUAGE_TYPE) == '1') {\r\n // // this.state.lType = 1\r\n // // } else if (getSecureData(Constant.PRE_LANGUAGE_TYPE) == '2') {\r\n // // this.state.lType = 2\r\n // // }\r\n // }\r\n\r\n renderBadge() {\r\n\r\n if (localStorage.hasOwnProperty(Constant.USERCART)) {\r\n // let value = localStorage.getItem(Constant.USERCART);\r\n let value = getSecureData(Constant.USERCART);\r\n if (value !== undefined) {\r\n if (value !== null) {\r\n if (value.length > 0) {\r\n return (\r\n {value.length}\r\n )\r\n }\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n renderAccountMenu() {\r\n // let locationObject = JSON.parse(localStorage.getItem(Constant.LOCATIONOBJECT))\r\n let locationObject = getSecureData(Constant.LOCATIONOBJECT)\r\n // console.log('this.state.loggedInUser='+this.state.loggedInUserId);\r\n //User login while show my order,logout ect option\r\n if (this.state.loggedInUserId > 0) {\r\n return (\r\n
  • \r\n {Strings.lbl_my_account_react}\r\n \r\n
  • \r\n )\r\n }\r\n }\r\n renderProductMenu = () => {\r\n if (this.state.loggedInUserId > 0) {\r\n return (\r\n
  • this.props.history.push('/Categories')}>{Strings.lbl_title_product_react}
  • \r\n )\r\n }\r\n }\r\n renderFoodDrinkMenu = () => {\r\n if (this.state.loggedInUserId > 0) {\r\n return (\r\n
  • this.props.history.push('/Categories')}>Food+Drink
  • \r\n )\r\n }\r\n }\r\n renderCocktailDrinkMenu = () => {\r\n if (this.state.loggedInUserId > 0) {\r\n return (\r\n
  • this.props.history.push('/Categories')}>Cocktails+Drink
  • \r\n )\r\n }\r\n }\r\n renderStreetFoodMenu = () => {\r\n if (this.state.loggedInUserId > 0) {\r\n return (\r\n
  • this.props.history.push('/Categories')}>Street+Food
  • \r\n )\r\n }\r\n }\r\n renderLiveMusicMenu = () => {\r\n if (this.state.loggedInUserId > 0) {\r\n return (\r\n
  • this.props.history.push('/Categories')}>Live Music
  • \r\n )\r\n }\r\n }\r\n renderHappyHoursMenu = () => {\r\n if (this.state.loggedInUserId > 0) {\r\n return (\r\n
  • this.props.history.push('/Categories')}>Happy Hours + Offers
  • \r\n )\r\n }\r\n }\r\n renderFindUSMenu = () => {\r\n if (this.state.loggedInUserId > 0) {\r\n return (\r\n
  • this.props.history.push('/Categories')}>Find US
  • \r\n )\r\n }\r\n }\r\n renderCartBadge = () => {\r\n if (this.state.loggedInUserId > 0) {\r\n return (\r\n
    this.props.history.push('/CheckoutDelivery')}>{this.renderBadge()}
    \r\n )\r\n }\r\n }\r\n renderCartMenu = () => {\r\n if (this.state.loggedInUserId > 0) {\r\n return (\r\n
  • this.props.history.push('/CheckoutDelivery')}>{Strings.lbl_title_cart_react}
  • \r\n )\r\n }\r\n }\r\n\r\n // English language type: 1\r\n // Spanish language type: 2\r\n //Handle select language click event\r\n changeLanguageClickEvent(type) {\r\n console.log(\"change language event header white menu : \" + type);\r\n this.props.changeLanguageEvent(type)\r\n }\r\n renderLogo(logoType) {\r\n if (logoType === 1)\r\n return (
    \"\"
    );\r\n else\r\n // return (
    \"\"
    ); ccc\r\n return (
    \"\"
    );\r\n }\r\n\r\n onChangeLocation(location) {\r\n // if (JSON.parse(localStorage.getItem(Constant.USERCART))) {\r\n if (getSecureData(Constant.USERCART)) {\r\n // if (JSON.parse(localStorage.getItem(Constant.USERCART)).length > 0) {\r\n if (getSecureData(Constant.USERCART).length > 0) {\r\n this.setState({ isAlertVisible: true, alertType: 1, alertMessage: Strings.empty_cart_message, selectedLocationObject: location })\r\n } else {\r\n // localStorage.setItem(Constant.LOCATIONOBJECT,JSON.stringify(location))\r\n setSecureData(Constant.LOCATIONOBJECT, location)\r\n setTimeout(() => {\r\n this.setState({}, () => {\r\n this.props.onChangeLocation()\r\n })\r\n }, 200);\r\n }\r\n } else {\r\n // localStorage.setItem(Constant.LOCATIONOBJECT,JSON.stringify(location))\r\n setSecureData(Constant.LOCATIONOBJECT, location)\r\n setTimeout(() => {\r\n this.setState({}, () => {\r\n // this.props.onChangeLocation()\r\n })\r\n }, 200);\r\n }\r\n }\r\n\r\n onChangeOrderType(order) {\r\n if (!getSecureData(Constant.USERCART)) {\r\n ordType = (order.title == Strings.Delivery_web) ? 'Delivery' : 'TakeAway'\r\n setSecureData(Constant.ORDERTYPE, ordType)\r\n setTimeout(() => {\r\n this.setState({})\r\n }, 200);\r\n return\r\n }\r\n\r\n if (getSecureData(Constant.USERCART).length > 0) {\r\n let ord = (order.title == Strings.Delivery_web) ? Strings.Delivery_web : Strings.lbl_takeaway_react\r\n ordType = (order.title == Strings.Delivery_web) ? 'Delivery' : 'TakeAway'\r\n this.setState({ isAlertVisible: true, alertType: 2, alertMessage: Strings.remove_cart_item_message.replace('#', ord) })\r\n } else {\r\n ordType = (order.title == Strings.Delivery_web) ? 'Delivery' : 'TakeAway'\r\n setSecureData(Constant.ORDERTYPE, ordType)\r\n setTimeout(() => {\r\n this.setState({})\r\n }, 200);\r\n }\r\n }\r\n\r\n onConfirmClick() {\r\n if (this.state.alertType == 1) {\r\n // localStorage.setItem(Constant.LOCATIONOBJECT,JSON.stringify(this.state.selectedLocationObject))\r\n setSecureData(Constant.LOCATIONOBJECT, this.state.selectedLocationObject)\r\n localStorage.removeItem(Constant.USERCART)\r\n setTimeout(() => {\r\n this.setState({ isAlertVisible: false })\r\n }, 200);\r\n\r\n } else if (this.state.alertType == 2) {\r\n setSecureData(Constant.ORDERTYPE, ordType)\r\n localStorage.removeItem(Constant.USERCART)\r\n setTimeout(() => {\r\n this.setState({ isAlertVisible: false })\r\n }, 200);\r\n }\r\n\r\n }\r\n\r\n renderLocationList() {\r\n var arrReturn = []\r\n\r\n // let locationList = JSON.parse(localStorage.getItem(Constant.LOCATIONLISTOBJECT))\r\n let locationList = getSecureData(Constant.LOCATIONLISTOBJECT)\r\n // let locationObject = JSON.parse(localStorage.getItem(Constant.LOCATIONOBJECT))\r\n let locationObject = getSecureData(Constant.LOCATIONOBJECT)\r\n if (locationList) {\r\n if (locationList.length > 0) {\r\n locationList.map((location, index) => {\r\n arrReturn.push(\r\n //
  • { this.onChangeLocation(location) }}>{location.locationName}
  • \r\n
  • { this.onChangeLocation(location) }}>{location.locationName}
  • \r\n )\r\n })\r\n } else {\r\n return\r\n }\r\n } else {\r\n return\r\n }\r\n\r\n return (\r\n //
    \r\n //
    \r\n // {(locationObject) ? locationObject.locationName : null }\r\n //
      \r\n // {arrReturn}\r\n //
    \r\n //
    \r\n //
    \r\n
  • \r\n {(locationObject) ? locationObject.locationName : null}\r\n \r\n
  • \r\n )\r\n }\r\n\r\n renderOrderTypes() {\r\n //Check user is logged in or not\r\n if (this.state.loggedInUserId > 0) {\r\n //check location object available or not in local storage if available then fetch and set data\r\n if (getSecureData(Constant.LOCATIONOBJECT)) {\r\n if (getSecureData(Constant.ORDERTYPE)) {\r\n let locationObject = getSecureData(Constant.LOCATIONOBJECT)\r\n var arry = []\r\n if (locationObject.isDelivery) {\r\n arry.push({ title: Strings.Delivery_web, isSelect: false })\r\n }\r\n if (locationObject.isTakeAway) {\r\n arry.push({ title: Strings.lbl_takeaway_react, isSelect: false })\r\n }\r\n var arrReturn = []\r\n arry.map((order, index) => {\r\n arrReturn.push(\r\n
  • { this.onChangeOrderType(order) }}>{order.title}
  • \r\n )\r\n })\r\n return (\r\n
  • \r\n {getSecureData(Constant.ORDERTYPE) == 'Delivery' ? Strings.Delivery_web : Strings.lbl_takeaway_react}\r\n \r\n
  • \r\n )\r\n }\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {this.props.headerLbl}

    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default withRouter(HeaderSignin);","import React, { Component } from \"react\";\r\nimport { Strings } from \"../constants/Localization\";\r\n\r\nexport default class FooterMenu extends Component {\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Route,\r\n NavLink,\r\n BrowserRouter as Router,\r\n Switch,\r\n Link,\r\n history,\r\n} from \"react-router-dom\";\r\nimport GoogleLogin from \"react-google-login\";\r\nimport FacebookLogin from \"react-facebook-login/dist/facebook-login-render-props\";\r\nimport { connect } from \"react-redux\";\r\nimport * as HGActions from \"../Redux/actions/HGActions\";\r\nimport HeaderWhiteMenuHalf from \"../Components/HeaderWhiteMenuHalf\";\r\nimport HeaderSignin from \"../Components/HeaderSignin\";\r\nimport FooterMenu from \"../Components/FooterMenu\";\r\nimport { Strings } from \"../constants/Localization\";\r\nimport Constant from \"../constants/baseConstants\";\r\nimport { setSecureData, getSecureData } from \"../Utils/utils\";\r\n// import AOS from 'aos';\r\n// import 'aos/dist/aos.css';\r\nimport { Dropdown } from \"react-bootstrap\";\r\n\r\n//Honestgreen website reference\r\n// https://honestgreens.smartrestaurants.com/vieworder.aspx\r\n\r\nclass SignIn extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n countryCode: \"+44\",\r\n phoneNumber: \"\",\r\n password: \"\",\r\n forgetPhoneNo: \"\",\r\n forgetCountryCode: \"+44\",\r\n socialId: \"\",\r\n loginType: 0,\r\n\r\n errors: {\r\n countryCodeError: \"\",\r\n phoneNumberError: \"\",\r\n passwordError: \"\",\r\n forgetCountryCodeError: \"\",\r\n forgetPhoneNumberError: \"\",\r\n },\r\n\r\n isGoogleSignedIn: false,\r\n googleUserName: \"\",\r\n\r\n languageType: 1,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n // AOS.init({\r\n // duration: 1000\r\n // })\r\n\r\n // if (!localStorage.hasOwnProperty(Constant.CHECKINFO)) {\r\n // this.props.callCheckVersion(0, this.state.languageType).then(() => {\r\n // if (this.props.data.status == 1) {\r\n // setTimeout(() => {\r\n // // localStorage.setItem(Constant.CHECKINFO, JSON.stringify(this.props.data.result))\r\n // setSecureData(Constant.CHECKINFO, this.props.data.result)\r\n // }, 500)\r\n // } else {\r\n // }\r\n // })\r\n // }\r\n\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // get the key's value from localStorage\r\n // let value = localStorage.getItem(Constant.USEROBJECT);\r\n let value = getSecureData(Constant.USEROBJECT);\r\n console.log(\"value=\" + value);\r\n if (value !== null && value !== undefined)\r\n // this.props.history.push({ pathname: '/Categories' })\r\n this.props.history.push({ pathname: \"/MenuItems\" });\r\n } else {\r\n console.log(\"value=\");\r\n }\r\n\r\n //Get messagelist from localstorage\r\n // let session = localStorage.getItem(Constant.PRE_MESSAGE_LIST);\r\n // let mLanguageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let mLanguageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n // if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null) {\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage(\"en\"); //Setting selected language code here english\r\n // this.setState({ languageType: mLanguageType })\r\n this.setState({\r\n languageType: mLanguageType,\r\n languageTypeCode: \"en-GB\",\r\n });\r\n } else {\r\n if (mLanguageType != null) {\r\n Strings.setLanguage(\"es\"); //Setting selected language code here spanish\r\n // this.setState({ languageType: mLanguageType })\r\n this.setState({\r\n languageType: mLanguageType,\r\n languageTypeCode: \"es\",\r\n });\r\n }\r\n }\r\n } else {\r\n Strings.setLanguage(\"en\"); //Setting default language code here\r\n this.setState({ languageType: 1, languageTypeCode: \"en-GB\" });\r\n }\r\n }\r\n\r\n //Handle change language click event\r\n //English language type: 1\r\n //Spanish language type: 2\r\n languageChangeClickEvent = (type) => {\r\n console.log(\"sign in page language type :\" + type);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, type)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, type);\r\n this.setState({ languageType: type });\r\n setTimeout(() => {\r\n this.props.AppMessageApi(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var messageListArray = this.props.data.result;\r\n if (messageListArray != null && messageListArray.length > 0) {\r\n console.log(\"message list :\" + JSON.stringify(messageListArray));\r\n // localStorage.setItem(Constant.PRE_MESSAGE_LIST, JSON.stringify(messageListArray));\r\n setSecureData(Constant.PRE_MESSAGE_LIST, messageListArray);\r\n // let localMessage = JSON.parse(localStorage.getItem(Constant.PRE_MESSAGE_LIST));\r\n let localMessage = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, this.state.languageType);\r\n // let languageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let languageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n if (languageType == 1) {\r\n //English language type: 1\r\n Strings.setLanguage(\"en\"); //Setting selected language code here\r\n this.setState({\r\n languageType: languageType,\r\n languageTypeCode: \"en-GB\",\r\n });\r\n } else {\r\n Strings.setLanguage(\"es\"); //Setting selected language code here\r\n this.setState({\r\n languageType: languageType,\r\n languageTypeCode: \"es\",\r\n });\r\n }\r\n console.log(\"language type :\" + languageType);\r\n Strings.setContent(localMessage);\r\n // this.setState({ languageType: languageType });\r\n window.location.reload(false);\r\n }\r\n } else {\r\n alert(this.props.error);\r\n }\r\n });\r\n }, 700);\r\n };\r\n\r\n onEnterForgotPassword(event) {\r\n if (event.key === \"Enter\") {\r\n this.validateForgetPassword();\r\n }\r\n }\r\n\r\n onEnterPassword(event) {\r\n if (event.key === \"Enter\") {\r\n this.onSignInClick();\r\n }\r\n }\r\n\r\n onMobileEnter(str, type) {\r\n if (str.match(\"^[0-9]*$\") != null) {\r\n if (type == 1) {\r\n this.setState({ phoneNumber: str });\r\n } else if (type == 2) {\r\n this.setState({ forgetPhoneNo: str });\r\n }\r\n }\r\n }\r\n\r\n onSignInClick = () => {\r\n var ccodeerror =\r\n this.state.countryCode == \"0\" ? Strings.error_msg_country_code_react : \"\";\r\n var phError =\r\n this.state.phoneNumber.length < 9 ? Strings.error_msg_phone_no_react : \"\";\r\n var passError =\r\n this.state.password.length == 0 ? Strings.error_msg_password_react : \"\";\r\n\r\n this.setState({\r\n errors: {\r\n countryCodeError: ccodeerror,\r\n phoneNumberError: phError,\r\n passwordError: passError,\r\n },\r\n });\r\n\r\n setTimeout(() => {\r\n if (\r\n this.state.errors.countryCodeError == \"\" &&\r\n this.state.errors.phoneNumberError == \"\" &&\r\n this.state.errors.passwordError == \"\"\r\n ) {\r\n this.props\r\n .SignInAPICall(\r\n this.state.phoneNumber,\r\n this.state.countryCode,\r\n this.state.password,\r\n this.state.languageType\r\n )\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n setTimeout(() => {\r\n setSecureData(Constant.USEROBJECT, this.props.data.result);\r\n // this.props.history.push({ pathname: '/MenuItems' })\r\n window.location.href = \"/MenuItems\";\r\n // return\r\n // this.props.history.goBack()\r\n // if (this.props.data.result.isMobileVerify) {\r\n // setSecureData(Constant.USEROBJECT, this.props.data.result)\r\n // this.props.history.push({ pathname: '/MenuItems' })\r\n // }\r\n // else {\r\n // setSecureData(Constant.USEROBJECT, this.props.data.result)\r\n // this.props.history.push({ pathname: '/MobileVerification' })\r\n // }\r\n }, 100);\r\n }\r\n } else {\r\n alert(this.props.data.message);\r\n }\r\n });\r\n } else {\r\n console.error(\"Not valid form\");\r\n }\r\n }, 100);\r\n };\r\n\r\n //Call Forget Passoword Api\r\n validateForgetPassword = () => {\r\n // event.preventDefault();\r\n\r\n var ccodeerror =\r\n this.state.forgetCountryCode == \"0\"\r\n ? Strings.error_msg_country_code_react\r\n : \"\";\r\n var phError =\r\n this.state.forgetPhoneNo.length < 9\r\n ? Strings.error_msg_phone_no_react\r\n : \"\";\r\n\r\n this.setState({\r\n errors: {\r\n forgetCountryCodeError: ccodeerror,\r\n forgetPhoneNumberError: phError,\r\n },\r\n });\r\n\r\n setTimeout(() => {\r\n if (\r\n this.state.errors.forgetCountryCodeError == \"\" &&\r\n this.state.errors.forgetPhoneNumberError == \"\"\r\n ) {\r\n this.props\r\n .forgetPasswordApi(\r\n this.state.forgetPhoneNo,\r\n this.state.forgetCountryCode,\r\n this.state.languageType\r\n )\r\n .then(() => {\r\n setTimeout(() => {\r\n if (this.props.data.status == 1) {\r\n this.setState({ forgetPhoneNo: \"\" });\r\n alert(this.props.data.message);\r\n } else {\r\n alert(this.props.error);\r\n }\r\n }, 100);\r\n });\r\n }\r\n }, 100);\r\n };\r\n\r\n render() {\r\n // The forwardRef is important!!\r\n // Dropdown needs access to the DOM node in order to position the Menu\r\n const CustomToggle = React.forwardRef(({ children, onClick }, ref) => (\r\n {\r\n e.preventDefault();\r\n onClick(e);\r\n }}\r\n className=\"form-control\"\r\n >\r\n {children}\r\n ▼\r\n \r\n ));\r\n\r\n // forwardRef again here!\r\n // Dropdown needs access to the DOM of the Menu to measure it\r\n const CustomMenu = React.forwardRef(\r\n ({ children, style, className, \"aria-labelledby\": labeledBy }, ref) => {\r\n // const [value, setValue] = useState('');\r\n const value = \"\";\r\n return (\r\n \r\n {/* alert(e.target.value)}\r\n value={value}\r\n /> */}\r\n
      \r\n {React.Children.toArray(children).filter(\r\n (child) =>\r\n !value || child.props.children.toLowerCase().startsWith(value)\r\n )}\r\n
    \r\n \r\n );\r\n }\r\n );\r\n\r\n const responseGoogle = (response) => {\r\n if (response.error == null) {\r\n var resObj = response.profileObj;\r\n console.log(\"google plus details : \", resObj);\r\n // return\r\n if (resObj != null) {\r\n this.props\r\n .googleSignUpCall(\r\n resObj.email,\r\n 3,\r\n resObj.googleId,\r\n this.state.languageType\r\n )\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n setTimeout(() => {\r\n if (this.props.data.result != null) {\r\n if (this.props.data.result.isCustomerExists) {\r\n //New user redirect in register screen\r\n console.log(\r\n \"google plus api response : \" + this.props.data.result\r\n );\r\n this.props.history.push({\r\n pathname: \"/SignUp\",\r\n isFromSocialMedia: true,\r\n name: resObj.name,\r\n emailId: resObj.email,\r\n });\r\n } else {\r\n setSecureData(\r\n Constant.USEROBJECT,\r\n this.props.data.result\r\n );\r\n this.props.history.push({ pathname: \"/MenuItems\" });\r\n // if (this.props.data.result.isMobileVerify) {\r\n // // localStorage.setItem(Constant.USEROBJECT, JSON.stringify(this.props.data.result))\r\n // setSecureData(Constant.USEROBJECT,this.props.data.result);\r\n // this.props.history.push({ pathname: '/MenuItems' })\r\n // // this.props.history.push({ pathname: '/Categories' })\r\n // }\r\n // else {\r\n // // localStorage.setItem(Constant.USEROBJECT, JSON.stringify(this.props.data.result))\r\n // setSecureData(Constant.USEROBJECT,this.props.data.result);\r\n // this.props.history.push({ pathname: '/MobileVerification' })\r\n // }\r\n }\r\n }\r\n }, 200);\r\n } else {\r\n alert(this.props.error);\r\n }\r\n });\r\n }\r\n } else {\r\n // alert(response.error)\r\n console.log(\"google plus fail :\" + response.error);\r\n }\r\n };\r\n\r\n const loginWithFacebook = (response) => {\r\n if (response.error == null) {\r\n console.log(\"login with facebook :\" + JSON.stringify(response));\r\n console.log(\r\n \"login with facebook data ------------ \",\r\n response.userID,\r\n response.name,\r\n response.email\r\n );\r\n if (response.status != \"unknown\") {\r\n this.props\r\n .googleSignUpCall(\r\n response.email,\r\n 1,\r\n response.userID,\r\n this.state.languageType\r\n )\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n setTimeout(() => {\r\n if (this.props.data.result != null) {\r\n if (this.props.data.result.isCustomerExists) {\r\n //New user redirect in register screen\r\n console.log(\r\n \"facebook api response : \" + this.props.data.result\r\n );\r\n this.props.history.push({\r\n pathname: \"/SignUp\",\r\n isFromSocialMedia: true,\r\n name: response.name,\r\n emailId: response.email,\r\n });\r\n } else {\r\n if (this.props.data.result.isMobileVerify) {\r\n // localStorage.setItem(Constant.USEROBJECT, JSON.stringify(this.props.data.result))\r\n setSecureData(\r\n Constant.USEROBJECT,\r\n this.props.data.result\r\n );\r\n // this.props.history.push({ pathname: '/Categories' })\r\n this.props.history.push({ pathname: \"/MenuItems\" });\r\n } else {\r\n // localStorage.setItem(Constant.USEROBJECT, JSON.stringify(this.props.data.result))\r\n setSecureData(\r\n Constant.USEROBJECT,\r\n this.props.data.result\r\n );\r\n this.props.history.push({\r\n pathname: \"/MobileVerification\",\r\n });\r\n }\r\n }\r\n }\r\n }, 200);\r\n } else {\r\n alert(this.props.error);\r\n }\r\n });\r\n }\r\n } else {\r\n console.log(\r\n \"login with facebook fail :\" + JSON.stringify(response.error)\r\n );\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n {this.props.isLoading ? (\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 {/* Show forget password dialog*/}\r\n \r\n \r\n
    \r\n
    \r\n {\r\n this.setState({ forgetPhoneNo: \"\", errors: \"\" });\r\n }}\r\n >\r\n ×\r\n \r\n
    \r\n
    \r\n \r\n {Strings.lbl_forget_password_react}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.onEnterForgotPassword(event)\r\n }\r\n value={this.state.forgetPhoneNo}\r\n onChange={(e) =>\r\n this.onMobileEnter(e.target.value, 2)\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.errors.forgetCountryCodeError}\r\n \r\n \r\n {this.state.errors.forgetPhoneNumberError}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {Strings.Submit_web}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Home >> Login\r\n

    \r\n
    \r\n
    \r\n

    Login

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.onMobileEnter(e.target.value, 1)\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.errors.countryCodeError}\r\n \r\n \r\n {this.state.errors.phoneNumberError}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n this.onEnterPassword(event)}\r\n maxLength={75}\r\n value={this.state.password}\r\n onChange={(e) =>\r\n this.setState({ password: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n {this.state.errors.passwordError}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {Strings.lbl_forget_password_react}\r\n \r\n
    \r\n this.onSignInClick()}\r\n >\r\n {Strings.btn_signin_react}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n {Strings.btn_signup_react}\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\nfunction mapStateToProps(state) {\r\n console.log(\"isLoaging SignIn ------- \" + state.HGReducers.isLoading);\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n callCheckVersion: (customerId, languageType) =>\r\n dispatch(HGActions.callApiCheckVersionAPI(customerId, languageType)),\r\n SignInAPICall: (phone, countryCode, password, languageType) =>\r\n dispatch(\r\n HGActions.initLoginCall(phone, countryCode, password, languageType)\r\n ),\r\n googleSignUpCall: (email, sMediaFlag, smediaId, languageType) =>\r\n dispatch(\r\n HGActions.initSocialSignUpCall(email, sMediaFlag, smediaId, languageType)\r\n ),\r\n forgetPasswordApi: (forgetPhoneNo, forgetCountryCode, languageType) =>\r\n dispatch(\r\n HGActions.CallForgetPasswordApi(\r\n forgetPhoneNo,\r\n forgetCountryCode,\r\n languageType\r\n )\r\n ),\r\n AppMessageApi: (languageType) =>\r\n dispatch(HGActions.GetAppMessageListApi(languageType)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SignIn);\r\n","import React, { Component } from \"react\";\r\n\r\nimport {withRouter} from 'react-router-dom';\r\n\r\nimport Constants from '../constants/baseConstants';\r\nimport Modal from 'react-bootstrap/Modal'\r\n\r\n\r\nclass CMS extends Component {\r\n \r\n constructor(props) {\r\n super(props);\r\n\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.onDisable()}}\r\n size=\"lg\"\r\n animation={true}\r\n aria-labelledby=\"contained-modal-title-vcenter\"\r\n centered>\r\n \r\n \r\n \r\n
    \r\n {/* {this.props.isLoading ?
    \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 CMS;","import React, { Component } from \"react\";\r\n\r\nimport GoogleLogin from \"react-google-login\";\r\nimport FacebookLogin from \"react-facebook-login/dist/facebook-login-render-props\";\r\nimport { connect } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\nimport * as HGActions from \"../Redux/actions/HGActions\";\r\nimport { Strings } from \"../constants/Localization\";\r\nimport FooterMenu from \"../Components/FooterMenu\";\r\nimport Constant from \"../constants/baseConstants\";\r\nimport HeaderSignin from \"../Components/HeaderSignin\";\r\nimport HeaderWhiteMenuHalf from \"../Components/HeaderWhiteMenuHalf\";\r\nimport CMS from \"../Components/CMS\";\r\nimport { setSecureData, getSecureData } from \"../Utils/utils\";\r\nimport AOS from \"aos\";\r\nimport \"aos/dist/aos.css\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faCircle, faCheckCircle } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\nimport DatePicker from \"react-datepicker\";\r\n\r\nconst validEmailRegex = RegExp(\r\n /^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i\r\n);\r\n\r\n// The forwardRef is important!!\r\n// Dropdown needs access to the DOM node in order to position the Menu\r\nconst CustomToggle = React.forwardRef(({ children, onClick }, ref) => (\r\n {\r\n e.preventDefault();\r\n onClick(e);\r\n }}\r\n className=\"form-control\"\r\n >\r\n {children}\r\n ▼signupwrap\r\n \r\n));\r\n\r\n// forwardRef again here!\r\n// Dropdown needs access to the DOM of the Menu to measure it\r\nconst CustomMenu = React.forwardRef(\r\n ({ children, style, className, \"aria-labelledby\": labeledBy }, ref) => {\r\n // const [value, setValue] = useState('');\r\n const value = \"\";\r\n return (\r\n \r\n
      \r\n {React.Children.toArray(children).filter(\r\n (child) =>\r\n !value || child.props.children.toLowerCase().startsWith(value)\r\n )}\r\n
    \r\n \r\n );\r\n }\r\n);\r\n\r\nclass SignUp extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n var userName = this.props.location.name;\r\n var emailId = this.props.location.emailId;\r\n var isFromSocialMedia = this.props.location.isFromSocialMedia;\r\n console.log(\"userName :\" + userName + \" \" + emailId);\r\n this.state = {\r\n name: \"\",\r\n countryCode: \"+44\",\r\n phoneNumber: \"\",\r\n email: \"\",\r\n password: \"\",\r\n birthDate: \"\",\r\n gender: 1,\r\n languageType: 1, //default language type\r\n isTandCSelect: false,\r\n isConsentCSelect: false,\r\n\r\n errors: {\r\n nameError: \"\",\r\n countryCodeError: \"\",\r\n phoneNumberError: \"\",\r\n emailError: \"\",\r\n passwordError: \"\",\r\n locationError: \"\",\r\n tAndCError: \"\",\r\n consentError: \"\",\r\n birthDateError: \"\",\r\n },\r\n\r\n isSocialSignUp: false,\r\n locationArray: [],\r\n locationIndex: -1,\r\n\r\n isShowCMS: false,\r\n cmsHref: \"\",\r\n };\r\n setTimeout(() => {\r\n if (isFromSocialMedia) {\r\n this.setState({ name: userName, email: emailId });\r\n }\r\n }, 200);\r\n }\r\n\r\n componentDidMount() {\r\n AOS.init({\r\n duration: 1000,\r\n });\r\n //Get messagelist from localstorage\r\n // let session = localStorage.getItem(Constant.PRE_MESSAGE_LIST);\r\n let session = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n // let mLanguageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let mLanguageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage(\"en\"); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType });\r\n } else {\r\n if (mLanguageType != null) {\r\n Strings.setLanguage(\"es\"); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType });\r\n }\r\n }\r\n } else {\r\n Strings.setLanguage(\"en\"); //Setting default language code here\r\n }\r\n\r\n setTimeout(() => {\r\n this.props.locationListApi(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n var locationList = this.props.data.result;\r\n if (locationList != null && locationList.length > 0) {\r\n // localStorage.setItem(Constant.LOCATIONLISTOBJECT, JSON.stringify(locationList))\r\n setSecureData(Constant.LOCATIONLISTOBJECT, locationList);\r\n this.setState({ locationArray: locationList }, () => {\r\n setSecureData(\r\n Constant.LOCATIONOBJECT,\r\n this.state.locationArray[0]\r\n );\r\n });\r\n }\r\n }\r\n } else {\r\n alert(this.props.data.message);\r\n }\r\n //CALL CHECK VERSION API\r\n // if (!localStorage.hasOwnProperty(Constant.CHECKINFO)) {\r\n // this.props.callCheckVersion(0, this.state.languageType).then(() => {\r\n // if (this.props.data.status == 1) {\r\n // setTimeout(() => {\r\n // // localStorage.setItem(Constant.CHECKINFO, JSON.stringify(this.props.data.result))\r\n // setSecureData(Constant.CHECKINFO, this.props.data.result)\r\n // }, 500)\r\n // } else {\r\n // }\r\n // })\r\n // }\r\n });\r\n }, 200);\r\n }\r\n\r\n //Handle change language click event\r\n //English language type: 1\r\n //Spanish language type: 2\r\n languageChangeClickEvent = (type) => {\r\n console.log(\"sign up page language type :\" + type);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, type)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, type);\r\n this.setState({ languageType: type });\r\n setTimeout(() => {\r\n this.props.AppMessageApi(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var messageListArray = this.props.data.result;\r\n if (messageListArray != null && messageListArray.length > 0) {\r\n console.log(\"message list :\" + JSON.stringify(messageListArray));\r\n // localStorage.setItem(Constant.PRE_MESSAGE_LIST, JSON.stringify(messageListArray));\r\n setSecureData(Constant.PRE_MESSAGE_LIST, messageListArray);\r\n // let localMessage = JSON.parse(localStorage.getItem(Constant.PRE_MESSAGE_LIST));\r\n let localMessage = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, this.state.languageType);\r\n // let languageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let languageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n console.log(\"language type :\" + languageType);\r\n if (languageType == 1) {\r\n //English language type: 1\r\n Strings.setLanguage(\"en\"); //Setting selected language code here\r\n this.setState({\r\n languageType: languageType,\r\n languageTypeCode: \"en-GB\",\r\n });\r\n } else {\r\n Strings.setLanguage(\"es\"); //Setting selected language code here\r\n this.setState({\r\n languageType: languageType,\r\n languageTypeCode: \"es\",\r\n });\r\n }\r\n Strings.setContent(localMessage);\r\n // this.setState({ languageType: languageType })\r\n window.location.reload(false);\r\n }\r\n } else {\r\n alert(this.props.error);\r\n }\r\n });\r\n }, 700);\r\n };\r\n\r\n onSignUpClick = (event) => {\r\n event.preventDefault();\r\n\r\n // this.props.history.push({pathname: '/MobileVerification'})\r\n // return\r\n var nmError =\r\n this.state.name.length == 0 ? Strings.error_msg_name_react : \"\";\r\n var ccodeerror =\r\n this.state.countryCode == \"0\" ? Strings.error_msg_country_code_react : \"\";\r\n var phError =\r\n this.state.phoneNumber.length < 9 ? Strings.error_msg_phone_no_react : \"\";\r\n var emlError =\r\n this.state.email.length == 0 ? Strings.error_msg_email_react : \"\";\r\n var passError =\r\n this.state.password.length == 0 ? Strings.error_msg_password_react : \"\";\r\n var locError = \"\"; //this.state.locationIndex == -1 ? Strings.please_select_location : '';\r\n var terror = this.state.isTandCSelect ? \"\" : Strings.msgTandC;\r\n var cerror = this.state.isConsentCSelect ? \"\" : Strings.msgConsent;\r\n var birthDateError =\r\n this.state.birthDate == \"\" ? Strings.error_msg_birth_react : \"\";\r\n\r\n if (emlError.length == 0) {\r\n validEmailRegex.test(this.state.email) == false\r\n ? (emlError = Strings.error_msg_valid_email_react)\r\n : (emlError = \"\");\r\n }\r\n\r\n this.setState({\r\n errors: {\r\n locationError: locError,\r\n nameError: nmError,\r\n countryCodeError: ccodeerror,\r\n phoneNumberError: phError,\r\n emailError: emlError,\r\n passwordError: passError,\r\n tAndCError: terror,\r\n consentError: cerror,\r\n birthDateError: birthDateError,\r\n },\r\n });\r\n\r\n setTimeout(() => {\r\n if (\r\n this.state.errors.nameError == \"\" &&\r\n this.state.errors.countryCodeError == \"\" &&\r\n this.state.errors.phoneNumberError == \"\" &&\r\n this.state.errors.emailError == \"\" &&\r\n this.state.errors.passwordError == \"\" &&\r\n this.state.errors.locationError == \"\" &&\r\n this.state.errors.tAndCError == \"\" &&\r\n this.state.errors.consentError == \"\" &&\r\n this.state.errors.birthDateError == \"\"\r\n ) {\r\n console.info(\"Valid form\");\r\n\r\n this.props\r\n .SignUpAPICall(\r\n getSecureData(Constant.LOCATIONOBJECT).locationId,\r\n 0,\r\n this.state.name,\r\n this.state.countryCode,\r\n this.state.phoneNumber,\r\n this.state.email,\r\n this.state.password,\r\n this.state.languageType,\r\n this.state.gender,\r\n this.state.birthDate\r\n )\r\n .then(() => {\r\n console.log(\"SIGNUP RESPONSE --------- \", this.props.data);\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n setTimeout(() => {\r\n let result = this.props.data.result;\r\n setSecureData(Constant.USEROBJECT, this.props.data.result);\r\n this.props.history.push({ pathname: \"/MenuItems\" });\r\n // console.log(\"SIGNUP RESPONSE --------- \", JSON.stringify(result))\r\n // if (result.isMobileVerify == true) {\r\n\r\n // } else {\r\n // this.props.history.push({ pathname: '/MobileVerification', customerId: result.customerId, phone: this.state.countryCode + this.state.phoneNumber, message: this.props.data.message })\r\n // }\r\n }, 100);\r\n }\r\n } else {\r\n alert(this.props.data.message);\r\n console.log(\"sign up status else...\");\r\n }\r\n });\r\n } else {\r\n console.error(\"Not valid form\");\r\n }\r\n }, 100);\r\n };\r\n\r\n onSelectLocation(e) {\r\n if (e != \"\") {\r\n this.setState({ locationIndex: e });\r\n setSecureData(Constant.LOCATIONOBJECT, this.state.locationArray[e]);\r\n } else {\r\n this.setState({ locationIndex: -1 });\r\n }\r\n }\r\n\r\n renderLocationList() {\r\n var arrReturn = [];\r\n this.state.locationArray.map((location, index) => {\r\n arrReturn.push(\r\n {location.locationName}\r\n );\r\n });\r\n\r\n return (\r\n this.onSelectLocation(e)}>\r\n \r\n {this.state.locationIndex == -1\r\n ? Strings.lbl_select_location_react\r\n : this.state.locationArray[this.state.locationIndex].locationName}\r\n \r\n \r\n {arrReturn}\r\n \r\n \r\n );\r\n }\r\n\r\n onMobileEnter(str) {\r\n if (str.match(\"^[0-9]*$\") != null) {\r\n this.setState({ phoneNumber: str });\r\n }\r\n }\r\n\r\n onTandC(i) {\r\n if (i == 1) {\r\n this.setState({ isTandCSelect: !this.state.isTandCSelect });\r\n } else if (i == 2) {\r\n this.setState({ isConsentCSelect: !this.state.isConsentCSelect });\r\n }\r\n }\r\n\r\n render() {\r\n const responseGoogle = (response) => {\r\n if (response.error == null) {\r\n var res = response.profileObj;\r\n console.log(\"google response success----- \", res);\r\n if (res == null) {\r\n return;\r\n }\r\n this.setState({ name: res.name, email: res.email });\r\n return;\r\n // this.props.googleSignUpCall(res.email,3,res.googleId,this.state.languageType).then(() => {\r\n // console.log(\"GOOGLE SIGNUP RESPONSE --------- \",this.props.data)\r\n // if (this.props.data.status == 1) {\r\n // if (this.props.data.result != null) {\r\n // setTimeout(() => {\r\n // console.log(\"GOOGLE - SIGNUP RESPONSE --------- \",JSON.stringify(this.props.data.result))\r\n // }, 100)\r\n // }\r\n // } else {\r\n // alert(this.props.data.message)\r\n // console.log(\"sign up status else...\")\r\n // }\r\n // })\r\n } else {\r\n console.log(\"google response failed----- \", response.error);\r\n }\r\n };\r\n\r\n const loginWithFacebook = (response) => {\r\n console.log(\"login with facebook :\" + JSON.stringify(response));\r\n };\r\n\r\n return (\r\n
    \r\n {this.props.isLoading ? (\r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n
    \r\n )}\r\n {/* */}\r\n \r\n this.setState({ isShowCMS: false })}\r\n />\r\n {/* */}\r\n\r\n {/*

    {this.props.match.params.id}

    */}\r\n
    \r\n
    \r\n
    \r\n {/*

    {Strings.btn_signup_react}

    */}\r\n
    \r\n
    \r\n
    \r\n

    \r\n Home >> SignUp\r\n

    \r\n
    \r\n
    \r\n

    SIGNUP

    \r\n
    \r\n
    \r\n \r\n this.setState({ name: e.target.value })}\r\n tabIndex=\"1\"\r\n />\r\n
    \r\n \r\n {this.state.errors.nameError}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n this.setState({ email: e.target.value })}\r\n tabIndex=\"3\"\r\n />\r\n
    \r\n \r\n {this.state.errors.emailError}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onMobileEnter(e.target.value)}\r\n tabIndex=\"2\"\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.errors.countryCodeError}\r\n \r\n \r\n {this.state.errors.phoneNumberError}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {/* this.setState({ birthDate: e.target.value })} /> */}\r\n {\r\n this.setState({ birthDate: date });\r\n }}\r\n selected={this.state.birthDate}\r\n name=\"birthDate\"\r\n className=\"form-control\"\r\n dateFormat=\"dd/MM/yyyy\"\r\n />\r\n {/* */}\r\n
    \r\n \r\n {this.state.errors.birthDateError}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n this.setState({ password: e.target.value })\r\n }\r\n tabIndex=\"4\"\r\n />\r\n
    \r\n \r\n {this.state.errors.passwordError}\r\n \r\n
    \r\n
    \r\n\r\n {/*
    \r\n \r\n
    \r\n
    \r\n this.setState({ gender: 1 })} checked={this.state.gender === 1} />\r\n \r\n
    \r\n
    \r\n this.setState({ gender: 2 })} checked={this.state.gender === 2} />\r\n \r\n
    \r\n
    \r\n {this.state.errors.emailError}\r\n
    \r\n
    */}\r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ gender: 1 })}\r\n checked={this.state.gender === 1}\r\n />\r\n {\r\n this.setState({ gender: 1 });\r\n }}\r\n className=\"form-check-label\"\r\n for=\"inlineRadio1\"\r\n >\r\n \r\n {\" \"}\r\n {\" \"}\r\n {\" \"} Male\r\n \r\n
    \r\n
    \r\n this.setState({ gender: 2 })}\r\n checked={this.state.gender === 2}\r\n />\r\n {\r\n this.setState({ gender: 2 });\r\n }}\r\n className=\"form-check-label\"\r\n for=\"inlineRadio2\"\r\n >\r\n \r\n {\" \"}\r\n {\" \"}\r\n {\" \"}Female\r\n \r\n
    \r\n {/*
    \r\n {this.state.errors.emailError}\r\n
    */}\r\n
    \r\n {/* \r\n
    \r\n {this.state.errors.tAndCError}\r\n
    \r\n \r\n
    \r\n {this.state.errors.consentError}\r\n
    */}\r\n
    \r\n
    \r\n {this.state.isTandCSelect ? (\r\n {\r\n this.onTandC(1);\r\n }}\r\n >\r\n \r\n \r\n ) : (\r\n {\r\n this.onTandC(1);\r\n }}\r\n >\r\n \r\n \r\n )}\r\n\r\n {\r\n this.setState({\r\n cmsHref:\r\n \"http://culto.smartrestaurants.com/frmtermsandcondition.aspx\",\r\n // isShowCMS: true,\r\n });\r\n return window\r\n .open(\r\n \"http://culto.smartrestaurants.com/frmtermsandcondition.aspx\",\r\n \"_blank\"\r\n )\r\n .focus();\r\n }}\r\n >\r\n {Strings.lblTandC}\r\n \r\n
    \r\n
    \r\n \r\n {this.state.errors.tAndCError}\r\n \r\n
    \r\n
    \r\n {this.state.isConsentCSelect ? (\r\n {\r\n this.onTandC(2);\r\n }}\r\n class=\"fa fa-check-circle\"\r\n aria-hidden=\"true\"\r\n >\r\n \r\n \r\n ) : (\r\n {\r\n this.onTandC(2);\r\n }}\r\n class=\"fa fa-circle-o\"\r\n aria-hidden=\"true\"\r\n >\r\n \r\n \r\n )}\r\n\r\n {\r\n this.setState({\r\n cmsHref:\r\n \"http://culto.smartrestaurants.com/frmPrivacyNotice.aspx\",\r\n // isShowCMS: true,\r\n });\r\n return window\r\n .open(\r\n \"http://culto.smartrestaurants.com/frmPrivacyNotice.aspx\",\r\n \"_blank\"\r\n )\r\n .focus();\r\n }}\r\n >\r\n {Strings.lblConsent}\r\n \r\n
    \r\n
    \r\n \r\n {this.state.errors.consentError}\r\n \r\n
    \r\n
    \r\n {/*
    \r\n \r\n {this.renderLocationList()}\r\n
    \r\n {this.state.errors.locationError}\r\n
    \r\n
    */}\r\n
    \r\n {/* {Strings.btn_signup_react} */}\r\n \r\n {Strings.btn_signup_react}\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\nfunction mapStateToProps(state) {\r\n console.log(\"isLoaging SignUp ------- \" + state.HGReducers.isLoading);\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n SignUpAPICall: (\r\n locationId,\r\n customerId,\r\n name,\r\n countrycode,\r\n phone,\r\n email,\r\n password,\r\n languageType,\r\n gender,\r\n birthDate\r\n ) =>\r\n dispatch(\r\n HGActions.initRegistrationCall(\r\n locationId,\r\n customerId,\r\n name,\r\n countrycode,\r\n phone,\r\n email,\r\n password,\r\n languageType,\r\n gender,\r\n birthDate\r\n )\r\n ),\r\n googleSignUpCall: (email, sMediaFlag, smediaId, languageType) =>\r\n dispatch(\r\n HGActions.initSocialSignUpCall(email, sMediaFlag, smediaId, languageType)\r\n ),\r\n socialCustomerAddUpdate: (\r\n name,\r\n countrycode,\r\n phone,\r\n email,\r\n password,\r\n sMediaFlag,\r\n smediaId\r\n ) =>\r\n dispatch(\r\n HGActions.initAddUpdateSocialCustomerCall(\r\n name,\r\n countrycode,\r\n phone,\r\n email,\r\n password,\r\n sMediaFlag,\r\n smediaId\r\n )\r\n ),\r\n locationListApi: (languageType) =>\r\n dispatch(HGActions.GetLocationListApi(languageType)),\r\n AppMessageApi: (languageType) =>\r\n dispatch(HGActions.GetAppMessageListApi(languageType)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SignUp);\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport * as HGActions from '../Redux/actions/HGActions';\r\nimport HeaderWhiteMenuHalf from '../Components/HeaderWhiteMenuHalf';\r\nimport FooterMenu from '../Components/FooterMenu';\r\nimport { Strings } from '../constants/Localization';\r\nimport Constant from '../constants/baseConstants';\r\nimport {setSecureData, getSecureData} from '../Utils/utils';\r\n\r\nimport AOS from 'aos';\r\nimport 'aos/dist/aos.css';\r\n\r\nclass MobileVerification extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n verificationMessage: this.props.location.message,\r\n customerId: this.props.location.customerId,\r\n phone: this.props.location.phone,\r\n languageType: 1, //default language type\r\n verificationCode: '',\r\n verificationCodeError: '',\r\n minutes: 0,\r\n seconds: 30,\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n componentDidMount() {\r\n AOS.init({\r\n duration: 1000\r\n })\r\n\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // let userObject = localStorage.getItem(Constants.USEROBJECT);\r\n let userObject = getSecureData(Constant.USEROBJECT);\r\n if (userObject == null) {\r\n this.props.history.push({ pathname: '/' })\r\n return\r\n }\r\n }\r\n else {\r\n this.props.history.push({ pathname: '/' })\r\n return\r\n }\r\n\r\n this.startTimer()\r\n //Get messagelist from localstorage\r\n // let session = localStorage.getItem(Constant.PRE_MESSAGE_LIST);\r\n // let mLanguageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let session = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n let mLanguageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage('en'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n }\r\n else {\r\n if (mLanguageType != null) {\r\n Strings.setLanguage('es'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n }\r\n }\r\n }\r\n else {\r\n Strings.setLanguage('en');//Setting default language code here\r\n }\r\n }\r\n // componentWillUnmount() {\r\n // clearInterval(this.myInterval)\r\n // }\r\n\r\n\r\n //Handle change language click event\r\n //English language type: 1\r\n //Spanish language type: 2\r\n languageChangeClickEvent = (type) => {\r\n console.log(\"mobile verification page language type :\" + type);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, type)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, type)\r\n this.setState({ languageType: type })\r\n setTimeout(() => {\r\n this.props.AppMessageApi(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var messageListArray = this.props.data.result;\r\n if (messageListArray != null && messageListArray.length > 0) {\r\n console.log(\"message list :\" + JSON.stringify(messageListArray))\r\n // localStorage.setItem(Constant.PRE_MESSAGE_LIST, JSON.stringify(messageListArray));\r\n setSecureData(Constant.PRE_MESSAGE_LIST, messageListArray);\r\n // let localMessage = JSON.parse(localStorage.getItem(Constant.PRE_MESSAGE_LIST));\r\n let localMessage = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n // let languageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let languageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n console.log('language type :' + languageType);\r\n\r\n if (languageType == 1) { //English language type: 1\r\n Strings.setLanguage('en');//Setting selected language code here\r\n this.setState({ languageType: languageType,languageTypeCode:\"en-GB\"})\r\n }\r\n else {\r\n Strings.setLanguage('es'); //Setting selected language code here\r\n this.setState({ languageType: languageType,languageTypeCode:\"es\"})\r\n }\r\n Strings.setContent(localMessage)\r\n // this.setState({ languageType: languageType })\r\n window.location.reload(false);\r\n }\r\n } else {\r\n alert(this.props.error)\r\n }\r\n })\r\n }, 700)\r\n }\r\n\r\n\r\n startTimer() {\r\n clearInterval(this.myInterval)\r\n this.setState({\r\n seconds: 30,\r\n })\r\n this.myInterval = setInterval(() => {\r\n const { seconds, minutes } = this.state\r\n if (seconds > 0) {\r\n this.setState(({ seconds }) => ({\r\n seconds: seconds - 1\r\n }))\r\n }\r\n if (seconds === 0) {\r\n if (minutes === 0) {\r\n clearInterval(this.myInterval)\r\n } else {\r\n this.setState(({ minutes }) => ({\r\n minutes: minutes - 1,\r\n seconds: 59\r\n }))\r\n }\r\n }\r\n }, 1000)\r\n }\r\n\r\n onResendCodeClick() {\r\n this.props.resendCodeAPI(this.state.customerId, this.state.phone, this.state.languageType).then(() => {\r\n console.log(\"resendCodeAPI-RESPONSE --------- \", this.props.data)\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n setTimeout(() => {\r\n let result = this.props.data.result;\r\n this.setState({ verificationMessage: this.props.data.message })\r\n this.startTimer()\r\n }, 100)\r\n }\r\n } else {\r\n alert(this.props.data.message)\r\n console.log(\"resendCodeAPI--status else...\")\r\n }\r\n })\r\n }\r\n\r\n onVerifyClick = (event) => {\r\n event.preventDefault();\r\n\r\n var codeError = this.state.verificationCode.length == 0 ? Strings.lbl_verification_code_react : '';\r\n\r\n this.setState({ verificationCodeError: codeError })\r\n setTimeout(() => {\r\n if (this.state.verificationCodeError == '') {\r\n console.info('Valid form')\r\n console.log('Customer id --- ', this.state.customerId)\r\n this.props.verifyCustomerAPI(this.state.customerId, this.state.verificationCode, this.state.languageType).then(() => {\r\n console.log(\"verifyCustomerAPI RESPONSE --------- \", this.props.data)\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n setTimeout(() => {\r\n let result = this.props.data.result;\r\n console.log(\"verifyCustomerAPI RESPONSE --------- \", JSON.stringify(result))\r\n // localStorage.setItem(Constant.USEROBJECT, JSON.stringify(result))\r\n setSecureData(Constant.USEROBJECT, result)\r\n //Check for profile update or normal registration\r\n if (this.props.location.isProfileUpdate == true) {\r\n this.props.history.goBack()\r\n } else {\r\n //Move on MyAccount screen\r\n this.props.history.push({ pathname: '/MyAccount' })\r\n }\r\n }, 100)\r\n }\r\n } else {\r\n alert(this.props.data.message)\r\n console.log(\"verifyCustomerAPI status else...\")\r\n }\r\n })\r\n } else {\r\n console.error('Not valid form')\r\n }\r\n }, 100)\r\n\r\n }\r\n render() {\r\n\r\n const { minutes, seconds } = this.state\r\n\r\n return (\r\n
    \r\n {this.props.isLoading ?
    \r\n
    \r\n
    :
    \r\n
    \r\n
    }\r\n\r\n \r\n\r\n {/*

    {this.props.match.params.id}

    */}\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n

    {this.state.verificationMessage}

    \r\n \r\n this.setState({ verificationCode: e.target.value })} />\r\n
    \r\n {this.state.verificationCodeError}\r\n
    \r\n
    \r\n
    \r\n {minutes === 0 && seconds === 0\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

    Mobile Verification

    \r\n
    \r\n
    \r\n you received verification code on +91 9876543210\r\n
    \r\n \r\n \r\n this.setState({verificationCode:e.target.value})}/>\r\n
    \r\n {this.state.verificationCodeError}\r\n
    \r\n
    \r\n { minutes === 0 && seconds === 0\r\n ? \r\n : \r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n Verify \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\nfunction mapStateToProps(state) {\r\n console.log('isLoaging Mobile Verification ------- ' + state.HGReducers.isLoading);\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n verifyCustomerAPI: (customerId, verificationCode, languageType) => dispatch(HGActions.initVerifyCustomerCall(customerId, verificationCode, languageType)),\r\n resendCodeAPI: (customerId, phoneNumber, languageType) => dispatch(HGActions.initResendVerificationCode(customerId, phoneNumber, languageType)),\r\n AppMessageApi: (languageType) => dispatch(HGActions.GetAppMessageListApi(languageType)),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MobileVerification);","import React, { Component } from \"react\";\r\n\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport * as HGActions from \"../Redux/actions/HGActions\";\r\n\r\nimport Constants from \"../constants/baseConstants\";\r\nimport { Strings } from \"../constants/Localization\";\r\nimport Modal from \"react-bootstrap/Modal\";\r\n\r\nimport { setSecureData, getSecureData } from \"../Utils/utils\";\r\n\r\nimport PlacesAutocomplete, {\r\n geocodeByAddress,\r\n getLatLng,\r\n} from \"react-places-autocomplete\";\r\n\r\nvar postalCode = \"\";\r\n// var houseNo = \"\";\r\nclass AddAddressPopup extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n address: \"\",\r\n findAddress: \"\",\r\n googleAddress: \"\",\r\n showForm: false,\r\n addressLine1: \"\",\r\n lat: 0.0,\r\n long: 0.0,\r\n languageType: 1,\r\n zipcode: \"\",\r\n errors: {\r\n addressError: \"\",\r\n zipcodeError: \"\",\r\n txtCommentError: \"\",\r\n },\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\r\n \"is edit address --------- \",\r\n this.props.isEdit,\r\n this.props.addressObj\r\n );\r\n\r\n //Get messagelist from localstorage\r\n // let session = localStorage.getItem(Constants.PRE_MESSAGE_LIST);\r\n let session = getSecureData(Constants.PRE_MESSAGE_LIST);\r\n // let mLanguageType = localStorage.getItem(Constants.PRE_LANGUAGE_TYPE);\r\n let mLanguageType = getSecureData(Constants.PRE_LANGUAGE_TYPE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage(\"en\"); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType });\r\n } else {\r\n if (mLanguageType != null) {\r\n Strings.setLanguage(\"es\"); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType });\r\n }\r\n }\r\n } else {\r\n Strings.setLanguage(\"en\"); //Setting default language code here\r\n }\r\n\r\n if (this.props.isEdit) {\r\n if (this.props.addressObj) {\r\n // console.log(\"dddnnn\", this.props.addressObj);\r\n this.setState({\r\n address: this.props.addressObj.address1,\r\n addressLine1: this.props.addressObj.address2,\r\n lat: this.props.addressObj.latitude,\r\n long: this.props.addressObj.longitude,\r\n zipcode: this.props.addressObj.zipcode,\r\n });\r\n }\r\n }\r\n }\r\n\r\n handleChange = (address) => {\r\n // console.log(\"dddnnn address\", address);\r\n\r\n if (address.length == 0) {\r\n this.setState({ zipcode: \"\" });\r\n }\r\n this.setState({\r\n address,\r\n findAddress: address,\r\n errors: {\r\n addressError: \"\",\r\n zipcodeError: \"\",\r\n txtCommentError: \"\",\r\n },\r\n });\r\n };\r\n handleChange2 = (address) => {\r\n // console.log(\"dddnnn address\", address);\r\n if (address.length == 0) {\r\n this.setState({ zipcode: \"\" });\r\n }\r\n this.setState({\r\n address,\r\n findAddress: address,\r\n // showForm: false,\r\n errors: {\r\n addressError: \"\",\r\n zipcodeError: \"\",\r\n txtCommentError: \"\",\r\n },\r\n });\r\n };\r\n\r\n handleSelect = (address) => {\r\n geocodeByAddress(address)\r\n // .then(results => console.log(results))\r\n // .catch(error => console.error(error));\r\n .then((results) => {\r\n this.setState({\r\n googleAddress: JSON.stringify(results[0]),\r\n });\r\n const arr3 = results[0].address_components.map((add) => {\r\n if (\r\n add.types.includes(\"street_number\") ||\r\n add.types.includes(\"route\")\r\n ) {\r\n return add[\"long_name\"];\r\n } else {\r\n return;\r\n }\r\n });\r\n\r\n const arr4 = arr3.filter((element) => {\r\n return element !== undefined;\r\n });\r\n const houseNo = arr4.join(\" \");\r\n\r\n // const addressRoute =\r\n // results[0].address_components.find((c) =>\r\n // c.types.includes(\"route\")\r\n // ) || {};\r\n postalCode =\r\n results[0].address_components.find((c) =>\r\n c.types.includes(\"postal_code\")\r\n ) || {};\r\n // houseNo =\r\n // results[0].address_components.find((c) =>\r\n // c.types.includes(\"street_number\")\r\n // ) || {};\r\n const arr = results[0].address_components.map((add) => {\r\n if (\r\n add.types.includes(\"street_number\") ||\r\n add.types.includes(\"postal_code\") ||\r\n add.types.includes(\"route\")\r\n ) {\r\n return;\r\n } else {\r\n if (\r\n add.types.includes(\"administrative_area_level_2\") ||\r\n add.types.includes(\"administrative_area_level_1\")\r\n ) {\r\n } else {\r\n return add[\"long_name\"];\r\n }\r\n }\r\n });\r\n const arr2 = arr.filter((element) => {\r\n return element !== undefined;\r\n });\r\n\r\n const addressWithoutHouseAndZip = arr2.join(\" \");\r\n\r\n // addressWithoutHouseAndZip = addressWithoutHouseAndZipRoute.long_name + addressWithoutHouseAndZipTown.long_name\r\n // addressWithoutHouseAndZipRoute =\r\n // results[0].address_components.find((c) =>\r\n // c.types.includes(\"route\")\r\n // ) || {};\r\n // addressWithoutHouseAndZipTown =\r\n // results[0].address_components.find((c) =>\r\n // c.types.includes(\"postal_town\")\r\n // ) || {};\r\n // addressWithoutHouseAndZipTown =\r\n // results[0].address_components.find((c) =>\r\n // c.types.includes(\"postal_town\")\r\n // ) || {};\r\n console.log(\"addressresults\", results, addressWithoutHouseAndZip);\r\n // console.log(\"addressWithoutHouseAndZip\", addressWithoutHouseAndZip);\r\n this.setState({\r\n zipcode: postalCode.long_name ? postalCode.long_name : \"\",\r\n });\r\n this.setState({\r\n addressLine1: houseNo,\r\n });\r\n // address formate set from here dhruvin\r\n this.setState({ address: addressWithoutHouseAndZip });\r\n this.setState({ findAddress: addressWithoutHouseAndZip });\r\n this.setState({ showForm: true });\r\n //dhruvin editing\r\n return getLatLng(results[0]);\r\n })\r\n .then((latLng) => {\r\n console.log(\"Success\", latLng, address);\r\n this.setState({\r\n // address set from here dhruvin\r\n // address: address,\r\n lat: latLng.lat,\r\n long: latLng.lng,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error\", error);\r\n });\r\n };\r\n\r\n onAddAddress() {\r\n var adderr = !this.state.address ? Strings.error_msg_address : \"\";\r\n var ziparr = !this.state.zipcode ? Strings.error_msg_postal_code : \"\";\r\n var comerr = !this.state.addressLine1 ? Strings.error_msg_comment_text : \"\";\r\n console.log(\"checkEditLEngth\", adderr, ziparr, comerr);\r\n this.setState({\r\n errors: {\r\n addressError: adderr,\r\n zipcodeError: ziparr,\r\n txtCommentError: comerr,\r\n },\r\n });\r\n\r\n setTimeout(() => {\r\n if (\r\n this.state.errors.addressError == \"\" &&\r\n this.state.errors.zipcodeError == \"\" &&\r\n this.state.errors.txtCommentError == \"\"\r\n ) {\r\n let locationId = getSecureData(Constants.LOCATIONOBJECT).locationId;\r\n var objAddress = {};\r\n objAddress[\"address1\"] = this.state.addressLine1\r\n ? this.state.addressLine1 + \", \" + this.state.address\r\n : this.state.address;\r\n objAddress[\"address2\"] = this.state.addressLine1;\r\n objAddress[\"geoCodeAdress\"] = this.state.address;\r\n objAddress[\"landmark\"] = \"\";\r\n objAddress[\"city\"] = \"\";\r\n objAddress[\"zipcode\"] = this.state.zipcode;\r\n objAddress[\"latitude\"] = this.state.lat;\r\n objAddress[\"longitude\"] = this.state.long;\r\n objAddress[\"iscompanyAddress\"] = false;\r\n objAddress[\"customerId\"] = getSecureData(\r\n Constants.USEROBJECT\r\n ).customerId;\r\n objAddress[\"googleAddress\"] = this.state.googleAddress;\r\n\r\n if (this.props.isEdit) {\r\n if (this.props.addressObj) {\r\n objAddress[\"deliveryaddressId\"] =\r\n this.props.addressObj.deliveryaddressId;\r\n }\r\n }\r\n\r\n this.props\r\n .addDeliveryAddressAPI(\r\n // this.state.googleAddress,\r\n locationId,\r\n objAddress,\r\n this.state.languageType\r\n )\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n setTimeout(() => {\r\n console.log(\r\n \"add delivery address response ----- \",\r\n this.props.data.result\r\n );\r\n this.props.onHideAddAddress(this.props.data.result);\r\n }, 500);\r\n } else {\r\n console.log(\r\n \"add delivery address status else ----- \",\r\n this.props.data.result\r\n );\r\n alert(this.props.data.message);\r\n }\r\n });\r\n }\r\n }, 500);\r\n }\r\n\r\n render() {\r\n return (\r\n {\r\n this.props.onHideAddAddress();\r\n }}\r\n size=\"sm\"\r\n aria-labelledby=\"contained-modal-title-vcenter\"\r\n centered\r\n >\r\n \r\n \r\n
    \r\n \r\n {({\r\n getInputProps,\r\n suggestions,\r\n getSuggestionItemProps,\r\n loading,\r\n }) => (\r\n
    \r\n {/*
    Your Location
    */}\r\n
    \r\n
    \r\n Address finder:\r\n \r\n
    \r\n
    \r\n {/* this is dropdown: */}\r\n {loading &&
    {Strings.str_loading}
    }\r\n {suggestions.map((suggestion) => {\r\n const className = suggestion.active\r\n ? \"suggestion-item--active\"\r\n : \"suggestion-item\";\r\n // inline style for demonstration purpose\r\n const style = suggestion.active\r\n ? {\r\n backgroundColor: \"#fafafa\",\r\n cursor: \"pointer\",\r\n margin: \"0px 5px\",\r\n borderBottom: \"solid 1px\",\r\n marginBottom: \"10px\",\r\n }\r\n : {\r\n backgroundColor: \"#ffffff\",\r\n cursor: \"pointer\",\r\n margin: \"0px 5px\",\r\n borderBottom: \"solid 1px\",\r\n marginBottom: \"10px\",\r\n };\r\n return (\r\n \r\n {suggestion.description}\r\n
    \r\n );\r\n })}\r\n
    \r\n {this.state.showForm ? (\r\n <>\r\n
    \r\n {Strings.address_line_1}:\r\n \r\n this.setState({ addressLine1: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n {this.state.errors.txtCommentError}\r\n \r\n
    \r\n
    \r\n
    \r\n {Strings.address_line_2}:\r\n \r\n this.setState({ address: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n {this.state.errors.addressError}\r\n \r\n
    \r\n
    \r\n
    \r\n {Strings.postal_code}:\r\n \r\n this.setState({ zipcode: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n {this.state.errors.zipcodeError}\r\n \r\n
    \r\n
    \r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n
    \r\n {/* {this.onAddAddress()}}>{Strings.str_add_address} */}\r\n {\r\n this.onAddAddress();\r\n }}\r\n >\r\n {this.props.isEdit\r\n ? Strings.str_edit_address\r\n : Strings.str_add_address}\r\n \r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n )}\r\n \r\n {/* this.setState({addressLine1: e.target.value})}/>\r\n */}\r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n console.log(\r\n \"isLoaging add Address Popup ------- \" + state.HGReducers.isLoading\r\n );\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n addDeliveryAddressAPI: (\r\n // googleAddress,\r\n locationId,\r\n DeliveryAddressInfo,\r\n languageType\r\n ) =>\r\n dispatch(\r\n HGActions.initAddDeliveryAddressAPI(\r\n // googleAddress,\r\n locationId,\r\n DeliveryAddressInfo,\r\n languageType\r\n )\r\n ),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AddAddressPopup);\r\n","import React, { Component } from \"react\";\r\n\r\nimport {withRouter} from 'react-router-dom';\r\n\r\nimport { connect } from 'react-redux';\r\nimport * as HGActions from '../Redux/actions/HGActions';\r\n\r\nimport Constants from '../constants/baseConstants';\r\nimport {Strings} from '../constants/Localization';\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport {getSecureData} from '../Utils/utils';\r\n\r\n\r\nclass LinkCompany extends Component {\r\n \r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n arrayAddress: this.props.addressList.AddressLists,\r\n selectedIndex: 0,\r\n languageType: 1,\r\n }\r\n\r\n }\r\n\r\n componentDidMount() {\r\n //Get messagelist from localstorage\r\n // let session = localStorage.getItem(Constants.PRE_MESSAGE_LIST);\r\n // let mLanguageType = localStorage.getItem(Constants.PRE_LANGUAGE_TYPE);\r\n let session = getSecureData(Constants.PRE_MESSAGE_LIST);\r\n let mLanguageType = getSecureData(Constants.PRE_LANGUAGE_TYPE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage('en'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n }\r\n else {\r\n if (mLanguageType != null) {\r\n Strings.setLanguage('es'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n }\r\n }\r\n }\r\n else {\r\n Strings.setLanguage('en');//Setting default language code here\r\n }\r\n }\r\n\r\n \r\n onSelect(i) {\r\n this.setState({selectedIndex:i})\r\n }\r\n\r\n renderAddressList() {\r\n let arr = []\r\n if(!this.state.arrayAddress) {\r\n arr.push( \r\n \r\n )\r\n return arr\r\n }\r\n this.state.arrayAddress.map((address,index) => {\r\n arr.push(\r\n //
    \r\n // this.onSelect(index)}/>\r\n //
    \r\n //
    \r\n // {address.address2 ? : null }\r\n // \r\n //
    \r\n //
    \r\n
  • \r\n \r\n {}}>\r\n
  • \r\n )\r\n })\r\n return arr\r\n }\r\n\r\n onSelectAddressClick() {\r\n if (!this.state.arrayAddress) {\r\n return\r\n }\r\n \r\n this.props.checkDeliveryAddressID(this.state.languageType,this.state.arrayAddress[this.state.selectedIndex].deliveryaddressId).then(() => {\r\n if (this.props.data.status == 1) {\r\n setTimeout(() => {\r\n if (this.props.data.result.delivery) {\r\n //valid address\r\n this.props.onHideAddressView(this.state.arrayAddress[this.state.selectedIndex])\r\n }\r\n }, 100)\r\n } else {\r\n alert(this.props.data.message)\r\n }\r\n })\r\n }\r\n\r\n onAddNewAddress() {\r\n this.props.onAddNewAddress()\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.onHideAddressView()}}\r\n size=\"sm\"\r\n aria-labelledby=\"contained-modal-title-vcenter\"\r\n centered>\r\n \r\n {/*
    \r\n \r\n {this.renderAddressList()}\r\n \r\n \r\n
    */}\r\n
    \r\n

    {Strings.select_address}

    \r\n\r\n
    \r\n \r\n
      \r\n {this.renderAddressList()}\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\nfunction mapStateToProps(state) {\r\n console.log('isLoaging Address Popup ------- ' + state.HGReducers.isLoading);\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error\r\n }\r\n }\r\n \r\n const mapDispatchToProps = dispatch => ({\r\n deleteAddressAPI: (addressId) => dispatch(HGActions.initDeleteDeliveryAddressAPI(addressId)),\r\n checkDeliveryAddressID: (languageType,deliveryaddressId) => dispatch(HGActions.initCheckDeliveryAddressAPI(languageType,deliveryaddressId))\r\n })\r\n \r\n export default connect(mapStateToProps, mapDispatchToProps)(LinkCompany);","import React, { Component } from \"react\";\r\nimport {\r\n Route,\r\n NavLink,\r\n BrowserRouter as Router,\r\n Switch,\r\n Link,\r\n history,\r\n} from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport * as HGActions from \"../Redux/actions/HGActions\";\r\nimport FooterMenu from \"../Components/FooterMenu\";\r\n// import FooterLoginMenu from '../Components/FooterLoginMenu';\r\nimport HeaderWhiteMenuHalf from \"../Components/HeaderWhiteMenuHalf\";\r\nimport AddAddressPopup from \"../Components/AddAddressPopup\";\r\nimport Constant from \"../constants/baseConstants\";\r\nimport { Strings } from \"../constants/Localization\";\r\nimport AlertDialog from \"../Components/AlertDialog\";\r\nimport LinkCompany from \"../Components/LinkCompany\";\r\nimport { setSecureData, getSecureData } from \"../Utils/utils\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faEdit, faTrashAlt } from \"@fortawesome/free-solid-svg-icons\";\r\nimport AOS from \"aos\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport moment from \"moment\";\r\nimport \"aos/dist/aos.css\";\r\nconst validEmailRegex = RegExp(\r\n /^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i\r\n);\r\n\r\nclass MyAccount extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n // isContentLoading:false,\r\n name: \"\",\r\n countryCode: \"+44\",\r\n phoneNumber: \"\",\r\n email: \"\",\r\n password: \"\",\r\n gender: 1,\r\n birthDate: \"\",\r\n linkedCompanyName: \"\",\r\n customerId: 0,\r\n languageType: 1, //default language type\r\n errors: {\r\n nameError: \"\",\r\n countryCodeError: \"\",\r\n phoneNumberError: \"\",\r\n emailError: \"\",\r\n passwordError: \"\",\r\n errorLinkedCompanyName: \"\",\r\n birthDateError: \"\",\r\n },\r\n\r\n arrayCards: [],\r\n isAlertVisible: false,\r\n alertMessage: \"\",\r\n btnLeft: \"\",\r\n btnRight: \"\",\r\n isMultiButton: false,\r\n dialogType: 1,\r\n objCard: {},\r\n arrayAddressList: [],\r\n objAvocadoDetails: {},\r\n selectedAddressIndex: 0,\r\n\r\n isLinkVisible: false,\r\n arrCompanyList: [],\r\n arrSearchedCompany: [],\r\n objSelectedCompany: {},\r\n\r\n isShowEditAddress: false,\r\n };\r\n }\r\n convertDate = (birthdate) => {\r\n let d = new Date(birthdate);\r\n\r\n const year = d.getFullYear();\r\n const month = d.getMonth();\r\n const date = d.getDate();\r\n console.log(\"convertDate\", birthdate, year + \"-\" + month + \"-\" + date);\r\n return year + \"-\" + month + \"-\" + date;\r\n };\r\n checkDate = (value) => {\r\n // var getDate = moment(value).format('YYYY-MM-DD');//moment(this.state.currentTime, \"YYYY-MM-dd HH:mm:ss\").format(\"HH:mm\");\r\n // console.log(\"value\",value,getDate)\r\n this.setState({ birthDate: value });\r\n };\r\n componentDidMount() {\r\n // this.setState({isContentLoading:true})\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // get the key's value from localStorage\r\n // let userObject = localStorage.getItem(Constant.USEROBJECT);\r\n let userObject = getSecureData(Constant.USEROBJECT);\r\n if (userObject == null) {\r\n this.props.history.push({ pathname: \"/\" });\r\n return;\r\n }\r\n if (userObject !== null) {\r\n // userObject = JSON.parse(userObject);\r\n console.log(\"userObjectData\", userObject);\r\n this.setState({\r\n customerId: userObject.customerId,\r\n name: userObject.firstname,\r\n countryCode: userObject.countryCode,\r\n phoneNumber: userObject.phone,\r\n email: userObject.emailId,\r\n password: userObject.password,\r\n gender: userObject.gender,\r\n birthDate:\r\n userObject.birthdate !== null\r\n ? this.birthDateConvert(userObject.birthdate)\r\n : new Date(),\r\n linkedCompanyName: userObject.linkedCompanyName,\r\n });\r\n // this.setState({\r\n // customerId: userObject.customerId, name: userObject.firstname, countryCode: userObject.countryCode,\r\n // phoneNumber: userObject.phone, email: userObject.emailId, password: userObject.password, gender : userObject.gender, birthDate : userObject.birthdate != '' ? userObject.birthdate.split('/').reverse().join(\"-\") : '', linkedCompanyName: userObject.linkedCompanyName\r\n // })\r\n\r\n this.getCustomerDetailById();\r\n } else {\r\n this.props.history.push({ pathname: \"/\" });\r\n return;\r\n }\r\n } else {\r\n this.props.history.push({ pathname: \"/\" });\r\n return;\r\n }\r\n\r\n //Get messagelist from localstorage\r\n // let session = localStorage.getItem(Constant.PRE_MESSAGE_LIST);\r\n // let mLanguageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let session = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n let mLanguageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage(\"en\"); //Setting selected language code here\r\n // this.setState({ languageType: mLanguageType })\r\n this.setState({\r\n languageType: mLanguageType,\r\n languageTypeCode: \"en-GB\",\r\n });\r\n } else {\r\n if (mLanguageType != null) {\r\n Strings.setLanguage(\"es\"); //Setting selected language code here\r\n // this.setState({ languageType: mLanguageType })\r\n this.setState({\r\n languageType: mLanguageType,\r\n languageTypeCode: \"es\",\r\n });\r\n }\r\n }\r\n } else {\r\n Strings.setLanguage(\"en\"); //Setting default language code here\r\n }\r\n\r\n setTimeout(() => {\r\n var cId = getSecureData(Constant.USEROBJECT).customerId;\r\n //Call get avocado details API\r\n this.props\r\n .getAvocadoDetailsAPI(this.state.languageType, cId)\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n console.log(\r\n \"Success avocado response in screen :\",\r\n JSON.stringify(this.props.data.result)\r\n );\r\n this.setState({ objAvocadoDetails: this.props.data.result });\r\n } else {\r\n console.log(\r\n \"Fail avocado response in screen :\",\r\n JSON.stringify(this.props.data)\r\n );\r\n }\r\n })\r\n .catch((error) => {});\r\n setTimeout(() => {\r\n this.callAddressAPI();\r\n }, 1000);\r\n }, 1000);\r\n\r\n return;\r\n\r\n // var cId = JSON.parse(localStorage.getItem(Constant.USEROBJECT)).customerId\r\n var cId = getSecureData(Constant.USEROBJECT).customerId;\r\n\r\n this.props.callCheckVersion(cId, this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n this.setState({\r\n linkedCompanyName: this.props.data.result.linkedCompanyName,\r\n });\r\n\r\n var userObject = getSecureData(Constant.USEROBJECT);\r\n userObject.companyId = this.props.data.result.companyId;\r\n userObject.isLinkToCompany = this.props.data.result.isLinkToCompany;\r\n userObject.isRequestedToLink = this.props.data.result.isRequestedToLink;\r\n userObject.linkedCompanyName = this.props.data.result.linkedCompanyName;\r\n setSecureData(Constant.USEROBJECT, userObject);\r\n\r\n setSecureData(Constant.CHECKINFO, this.props.data.result);\r\n }\r\n\r\n //CALL SAVED CARDS API\r\n this.props\r\n .getSavedCards(getSecureData(Constant.USEROBJECT).customerId)\r\n .then(() => {\r\n console.log(\"getSavedCards RESPONSE --------- \", this.props.data);\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n if (this.props.data.result.length > 0) {\r\n this.setState({ arrayCards: this.props.data.result });\r\n }\r\n }\r\n } else {\r\n }\r\n //CALL DELIVERY ADDRESS API\r\n let customer = getSecureData(Constant.USEROBJECT).customerId;\r\n let id = getSecureData(Constant.LOCATIONOBJECT).locationId;\r\n this.props\r\n .getDeliveryAddressAPI(id, customer, this.state.languageType)\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result.AddressLists) {\r\n if (this.props.data.result.AddressLists.length > 0) {\r\n this.setState({\r\n arrayAddressList: this.props.data.result.AddressLists,\r\n });\r\n }\r\n }\r\n }\r\n\r\n //Call get avocado details API\r\n this.props\r\n .getAvocadoDetailsAPI(this.state.languageType)\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n console.log(\r\n \"Success avocado response in screen :\",\r\n JSON.stringify(this.props.data.result)\r\n );\r\n this.setState({\r\n objAvocadoDetails: this.props.data.result,\r\n });\r\n } else {\r\n console.log(\r\n \"Fail avocado response in screen :\",\r\n JSON.stringify(this.props.data)\r\n );\r\n }\r\n\r\n // setTimeout(() => {\r\n // this.props.getCompanyAPI(this.state.languageType)\r\n // .then(() => {\r\n // console.log('Success get compnay list response in screen :', JSON.stringify(this.props.data))\r\n // if (this.props.data.status == 1) {\r\n // this.setState({ arrCompanyList: this.props.data.result.companyList })\r\n // }\r\n // else {\r\n // console.log('Fail get compnay list response in screen :', JSON.stringify(this.props.data))\r\n // }\r\n // })\r\n // .catch((error) => {\r\n\r\n // })\r\n // }, 200);\r\n })\r\n .catch((error) => {\r\n // this.props.getCompanyAPI(this.state.languageType)\r\n // .then(() => {\r\n // console.log('get company list------- > ', this.props.data)\r\n // if (this.props.data.status == 1) {\r\n // this.setState({ arrCompanyList: this.props.data.result.companyList })\r\n // }\r\n // })\r\n // .catch((error) => {\r\n // })\r\n });\r\n });\r\n });\r\n });\r\n }\r\n\r\n getCustomerDetailById() {\r\n let customerId = getSecureData(Constant.USEROBJECT).customerId;\r\n let locationId = getSecureData(Constant.LOCATIONOBJECT).locationId;\r\n this.props\r\n .getCustomerDetails(customerId, locationId)\r\n .then(() => {\r\n console.log(\"get Customer Details\", this.props.data);\r\n if (this.props.data.status == 1) {\r\n var userObject = this.props.data.result;\r\n this.setState({\r\n customerId: userObject.customerDetails.customerId,\r\n name: userObject.customerDetails.firstname,\r\n countryCode: userObject.customerDetails.countryCode,\r\n phoneNumber: userObject.customerDetails.phone,\r\n email: userObject.customerDetails.emailId,\r\n password: userObject.customerDetails.password,\r\n gender: userObject.customerDetails.gender,\r\n birthDate:\r\n userObject.customerDetails.birthdate !== null\r\n ? this.birthDateConvert(userObject.customerDetails.birthdate)\r\n : new Date(),\r\n });\r\n }\r\n })\r\n .catch((error) => {});\r\n }\r\n\r\n birthDateConvert = (birthdate) => {\r\n // let d = new Date(birthdate)\r\n var bDate = moment(birthdate, \"DD/MM/yyyy\").format(\"MM-DD-YYYY\");\r\n let d = new Date(bDate?.replace(/-/g, \"/\"));\r\n // const year = d.getFullYear()\r\n // const month = d.getMonth()\r\n // const date = d.getDate()\r\n // console.log(\"convertDate\",birthdate,month + '/' + date + '/'+ year)\r\n // console.log(\"convertDate\",birthdate,bDate,d)\r\n return d;\r\n };\r\n\r\n callAddressAPI() {\r\n let customer = getSecureData(Constant.USEROBJECT).customerId;\r\n let id = getSecureData(Constant.LOCATIONOBJECT).locationId;\r\n this.props\r\n .getDeliveryAddressAPI(id, customer, this.state.languageType)\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result.AddressLists) {\r\n if (this.props.data.result.AddressLists.length > 0) {\r\n this.setState({\r\n arrayAddressList: this.props.data.result.AddressLists,\r\n });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n //Handle change language click event\r\n //English language type: 1\r\n //Spanish language type: 2\r\n languageChangeClickEvent = (type) => {\r\n console.log(\"my account page language type :\" + type);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, type)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, type);\r\n this.setState({ languageType: type });\r\n setTimeout(() => {\r\n this.props.AppMessageApi(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var messageListArray = this.props.data.result;\r\n if (messageListArray != null && messageListArray.length > 0) {\r\n console.log(\"message list :\" + JSON.stringify(messageListArray));\r\n // localStorage.setItem(Constant.PRE_MESSAGE_LIST, JSON.stringify(messageListArray));\r\n setSecureData(Constant.PRE_MESSAGE_LIST, messageListArray);\r\n // let localMessage = JSON.parse(localStorage.getItem(Constant.PRE_MESSAGE_LIST));\r\n let localMessage = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, this.state.languageType);\r\n // let languageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let languageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n console.log(\"language type :\" + languageType);\r\n if (languageType == 1) {\r\n //English language type: 1\r\n Strings.setLanguage(\"en\"); //Setting selected language code here\r\n this.setState({\r\n languageType: languageType,\r\n languageTypeCode: \"en-GB\",\r\n });\r\n } else {\r\n Strings.setLanguage(\"es\"); //Setting selected language code here\r\n this.setState({\r\n languageType: languageType,\r\n languageTypeCode: \"es\",\r\n });\r\n }\r\n Strings.setContent(localMessage);\r\n // this.setState({ languageType: languageType })\r\n window.location.reload(false);\r\n }\r\n } else {\r\n alert(this.props.error);\r\n }\r\n });\r\n }, 700);\r\n };\r\n\r\n onSaveClick = (event) => {\r\n event.preventDefault();\r\n\r\n var nmError =\r\n this.state.name.length == 0 ? Strings.error_msg_name_react : \"\";\r\n var ccodeerror =\r\n this.state.countryCode == 0 ? Strings.error_msg_country_code_react : \"\";\r\n var phError =\r\n this.state.phoneNumber.length < 9 ? Strings.error_msg_phone_no_react : \"\";\r\n var emlError =\r\n this.state.email.length == 0 ? Strings.error_msg_email_react : \"\";\r\n var passError =\r\n this.state.password.length == 0 ? Strings.error_msg_password_react : \"\";\r\n var birthDateError =\r\n this.state.birthDate == \"\" || this.state.birthDate == null\r\n ? Strings.error_msg_birth_react\r\n : \"\";\r\n // var companyError = this.state.linkedCompanyName.length == 0 ? Strings.error_msg_company_account_react : '';\r\n\r\n if (emlError.length == 0) {\r\n validEmailRegex.test(this.state.email) == false\r\n ? (emlError = Strings.error_msg_valid_email_react)\r\n : (emlError = \"\");\r\n }\r\n\r\n // this.setState({ errors: { errorLinkedCompanyName: companyError, nameError: nmError, countryCodeError: ccodeerror, phoneNumberError: phError, emailError: emlError, passwordError: passError } })\r\n this.setState({\r\n errors: {\r\n nameError: nmError,\r\n countryCodeError: ccodeerror,\r\n phoneNumberError: phError,\r\n emailError: emlError,\r\n passwordError: passError,\r\n birthDateError: birthDateError,\r\n },\r\n });\r\n\r\n // let userObject = JSON.parse(localStorage.getItem(Constant.USEROBJECT))\r\n let userObject = getSecureData(Constant.USEROBJECT);\r\n console.log(userObject);\r\n\r\n setTimeout(() => {\r\n // if (this.state.errors.nameError == '' && this.state.errors.errorLinkedCompanyName == '' && this.state.errors.countryCodeError == '' && this.state.errors.phoneNumberError == '' && this.state.errors.emailError == '' && this.state.errors.passwordError == '') {\r\n if (\r\n this.state.errors.nameError == \"\" &&\r\n this.state.errors.phoneNumberError == \"\" &&\r\n this.state.errors.emailError == \"\" &&\r\n this.state.errors.passwordError == \"\" &&\r\n this.state.errors.birthDateError == \"\"\r\n ) {\r\n console.info(\"Valid form\");\r\n // let location = JSON.parse(localStorage.getItem(Constant.LOCATIONOBJECT))\r\n let location = getSecureData(Constant.LOCATIONOBJECT);\r\n var bDate = moment(this.state.birthDate).format(\"YYYY-MM-DD\");\r\n this.props\r\n .UpdateCustomerAPI(\r\n location.locationId,\r\n this.state.customerId,\r\n this.state.name,\r\n this.state.countryCode,\r\n this.state.phoneNumber,\r\n this.state.email,\r\n this.state.password,\r\n this.state.languageType,\r\n this.state.gender,\r\n bDate\r\n )\r\n .then(() => {\r\n console.log(\"Update profile response --------- \", this.props.data);\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n setTimeout(() => {\r\n let result = this.props.data.result;\r\n result.companyId = userObject.companyId;\r\n result.isLinkToCompany = userObject.isLinkToCompany;\r\n result.isRequestedToLink = userObject.isRequestedToLink;\r\n result.linkedCompanyName = userObject.linkedCompanyName;\r\n // localStorage.setItem(Constant.USEROBJECT, JSON.stringify(result))\r\n setSecureData(Constant.USEROBJECT, result);\r\n console.log(result);\r\n // alert(this.props.data.message)\r\n this.setState({\r\n dialogType: 0,\r\n isAlertVisible: true,\r\n alertMessage: this.props.data.message,\r\n isMultiButton: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n this.setState({ linkedCompanyName: \"\" });\r\n // By Pratik Date:10-12-2020 // Remove mobile verify flow\r\n // if (result.isMobileVerify == true) {\r\n // alert(this.props.data.message)\r\n // //CALL Company link API\r\n\r\n // } else {\r\n // //Move on Mobile verification screen\r\n // this.props.history.push({ pathname: '/MobileVerification', customerId: result.customerId, phone: this.state.countryCode + this.state.phoneNumber, message: this.props.data.message, isProfileUpdate: true })\r\n // }\r\n }, 100);\r\n }\r\n } else {\r\n // alert(this.props.data.message)\r\n this.setState({\r\n dialogType: 0,\r\n isAlertVisible: true,\r\n alertMessage: this.props.data.message,\r\n isMultiButton: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n console.log(\"sign up status else...\");\r\n }\r\n });\r\n\r\n // setTimeout(() => {\r\n // this.props.CompanyAccountLinkApi(this.state.customerId, this.state.linkedCompanyName, this.state.languageType).then(() => {\r\n // if (this.props.data.status == 1) {\r\n // if (this.props.data.result != null) {\r\n // if (this.props.data.result.companyName != null && this.props.data.result.companyName.length > 0) {\r\n // console.log(\"company account success : \" + this.props.data.result.companyName)\r\n // }\r\n // }\r\n // } else {\r\n // console.log(\"company account fail :\" + this.props.error)\r\n // }\r\n // })\r\n // }, 200)\r\n } else {\r\n console.error(\"Not valid form\");\r\n }\r\n }, 100);\r\n };\r\n\r\n callCompanyLink() {\r\n let userObject = getSecureData(Constant.USEROBJECT);\r\n\r\n if (userObject.isLinkToCompany) {\r\n this.setState({\r\n dialogType: 4,\r\n isAlertVisible: true,\r\n alertMessage: Strings.company_link_delete_web,\r\n isMultiButton: true,\r\n btnLeft: Strings.str_no,\r\n btnRight: Strings.yes,\r\n });\r\n return;\r\n }\r\n if (userObject.isRequestedToLink) {\r\n return;\r\n }\r\n if (this.state.objSelectedCompany.CRC) {\r\n this.props\r\n .CompanyAccountLinkApi(\r\n this.state.customerId,\r\n this.state.objSelectedCompany.addressId,\r\n this.state.objSelectedCompany.companyId,\r\n this.state.languageType\r\n )\r\n .then(() => {\r\n console.log(\"company link -------- : \", this.props.data);\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n if (\r\n this.props.data.result.companyName != null &&\r\n this.props.data.result.companyName.length > 0\r\n ) {\r\n console.log(\r\n \"company account success : \",\r\n this.props.data.result\r\n );\r\n userObject.companyId = this.props.data.result.companyId;\r\n userObject.isLinkToCompany =\r\n this.props.data.result.isLinkToCompany;\r\n userObject.isRequestedToLink =\r\n this.props.data.result.isRequestedToLink;\r\n userObject.linkedCompanyName =\r\n this.props.data.result.linkedCompanyName;\r\n setSecureData(Constant.USEROBJECT, userObject);\r\n setTimeout(() => {\r\n this.setState({});\r\n }, 100);\r\n }\r\n }\r\n } else {\r\n alert(this.props.data.message);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(\"company account fail catch :\" + this.props.error);\r\n });\r\n } else {\r\n console.log(\"link api call else\");\r\n }\r\n // let userObject = getSecureData(Constant.USEROBJECT)\r\n // if (userObject.linkedCompanyName != this.state.linkedCompanyName && this.state.linkedCompanyName.length > 0) {\r\n // this.props.CompanyAccountLinkApi(this.state.customerId, this.state.linkedCompanyName, this.state.languageType)\r\n // .then(() => {\r\n // if (this.props.data.status == 1) {\r\n // if (this.props.data.result != null) {\r\n // if (this.props.data.result.companyName != null && this.props.data.result.companyName.length > 0) {\r\n // console.log(\"company account success : \", this.props.data.result)\r\n // userObject.companyId = this.props.data.result.companyId\r\n // userObject.isLinkToCompany = this.props.data.result.isLinkToCompany\r\n // userObject.isRequestedToLink = this.props.data.result.isRequestedToLink\r\n // userObject.linkedCompanyName = this.props.data.result.linkedCompanyName\r\n // setSecureData(Constant.USEROBJECT,userObject)\r\n // }\r\n // }\r\n // } else {\r\n // alert(this.props.data.message)\r\n // }\r\n // })\r\n // .catch((error) => {\r\n // console.log(\"company account fail catch :\" + this.props.error)\r\n // })\r\n // } else {\r\n // console.log('link api call else')\r\n // }\r\n }\r\n\r\n onDeleteClick = (event) => {\r\n event.preventDefault();\r\n this.setState({\r\n dialogType: 1,\r\n isAlertVisible: true,\r\n alertMessage: Strings.msg_delete_account,\r\n isMultiButton: true,\r\n btnLeft: Strings.str_no,\r\n btnRight: Strings.yes,\r\n });\r\n };\r\n\r\n onEditCard(cards) {\r\n // localStorage.setItem(Constant.PRE_CARD_LIST, JSON.stringify(cards))\r\n setSecureData(Constant.PRE_CARD_LIST, cards);\r\n this.props.history.push({ pathname: \"/CardDetails\" });\r\n }\r\n\r\n onDeleteCard(cards) {\r\n this.setState({\r\n objCard: cards,\r\n dialogType: 2,\r\n isAlertVisible: true,\r\n alertMessage: Strings.msg_delete_card,\r\n isMultiButton: true,\r\n btnLeft: Strings.str_no,\r\n btnRight: Strings.yes,\r\n });\r\n }\r\n\r\n edit(index) {\r\n this.setState({ isShowEditAddress: true, selectedAddressIndex: index });\r\n }\r\n\r\n onDeleteDeliveryAddress(index) {\r\n this.setState({\r\n selectedAddressIndex: index,\r\n dialogType: 3,\r\n isAlertVisible: true,\r\n alertMessage: Strings.delete_delivery_address,\r\n isMultiButton: true,\r\n btnLeft: Strings.str_no,\r\n btnRight: Strings.yes,\r\n });\r\n }\r\n\r\n renderDeliveryAddress() {\r\n var arrReturn = [];\r\n this.state.arrayAddressList.map((address, index) => {\r\n arrReturn.push(\r\n
    \r\n
    \r\n {address.address1}\r\n
    \r\n {address.address2 != \"\"\r\n ? Strings.lbl_comment_react + \" : \" + address.address2\r\n : \"\"}\r\n
    \r\n {/* */}\r\n \r\n
    \r\n );\r\n });\r\n\r\n return arrReturn.length > 0 ? (\r\n
    \r\n

    {Strings.DeliveryAddress_web}

    \r\n {arrReturn}\r\n
    \r\n ) : null;\r\n }\r\n\r\n renderCardView() {\r\n var arrReturn = [];\r\n this.state.arrayCards.map((cards, index) => {\r\n arrReturn.push(\r\n
    \r\n {/*
    \r\n \r\n
    Jhonn Smith
    \r\n
    */}\r\n
    \r\n {/* */}\r\n
    \r\n {cards.cardNo}\r\n - {cards.cardType}\r\n
    \r\n
    \r\n
    \r\n {\r\n this.onEditCard(cards);\r\n }}\r\n >\r\n {Strings.btn_edit_details_react}\r\n \r\n {\r\n this.onDeleteCard(cards);\r\n }}\r\n >\r\n {Strings.btn_delete_card_react}\r\n \r\n
    \r\n
    \r\n );\r\n });\r\n return arrReturn;\r\n }\r\n\r\n onRightClick() {\r\n this.setState({ isAlertVisible: false });\r\n if (this.state.dialogType == 1) {\r\n setTimeout(() => {\r\n this.props\r\n .DeleteAccountAPI(this.state.customerId, this.state.languageType)\r\n .then(() => {\r\n console.log(\"Delete Account response --------- \", this.props.data);\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n setTimeout(() => {\r\n //clear local data\r\n localStorage.removeItem(Constant.USEROBJECT);\r\n alert(this.props.data.message);\r\n this.props.history.push(\"/\");\r\n }, 100);\r\n }\r\n } else {\r\n alert(this.props.data.message);\r\n }\r\n });\r\n }, 200);\r\n } else if (this.state.dialogType == 2) {\r\n let mainObj = {\r\n restaurantId: 147,\r\n // customerId: JSON.parse(localStorage.getItem(Constant.USEROBJECT)).customerId,\r\n customerId: getSecureData(Constant.USEROBJECT).customerId,\r\n languageId: this.state.languageType,\r\n // locationId: JSON.parse(localStorage.getItem(Constant.LOCATIONOBJECT)).locationId,\r\n locationId: getSecureData(Constant.LOCATIONOBJECT).locationId,\r\n CardId: this.state.objCard.CardId,\r\n };\r\n this.props.cardDeleteApi(mainObj).then(() => {\r\n if (this.props.data.status == 1) {\r\n var tempArray = this.state.cardArray;\r\n let index = tempArray.indexOf(this.state.objCard);\r\n if (index >= -1) {\r\n tempArray.splice(index, 1);\r\n }\r\n this.setState({ cardArray: tempArray });\r\n\r\n // const list = this.state.cardArray;\r\n // list.splice(index, 1);\r\n // if (list != null && list.length > 0) {\r\n // this.setState({ cardArray: list })\r\n // }\r\n // else {\r\n // this.setState({ cardArray: [], errorMessage: Strings.error_msg_no_card_react })\r\n // }\r\n } else {\r\n }\r\n });\r\n } else if (this.state.dialogType == 3) {\r\n let objAdd = this.state.arrayAddressList[this.state.selectedAddressIndex];\r\n console.log(\"delivery address ------- \", objAdd);\r\n this.props.deleteAddressAPI(objAdd.deliveryaddressId).then(() => {\r\n console.log(\"deleteAddressAPI response ----- \", this.props.data.result);\r\n if (this.props.data.status == 1) {\r\n setTimeout(() => {\r\n var tempArray = this.state.arrayAddressList;\r\n let index = tempArray.indexOf(objAdd);\r\n if (index >= -1) {\r\n tempArray.splice(index, 1);\r\n }\r\n this.setState({\r\n arrayAddressList: tempArray,\r\n isAlertVisible: true,\r\n alertMessage: Strings.delete_address,\r\n isMultiButton: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n }, 100);\r\n } else {\r\n }\r\n });\r\n } else if (this.state.dialogType == 4) {\r\n let userObject = getSecureData(Constant.USEROBJECT);\r\n this.props\r\n .removeLinkedAPI(\r\n userObject.companyId,\r\n userObject.customerId,\r\n this.state.languageType\r\n )\r\n .then(() => {\r\n console.log(\"removeLinkedAPI response --------- \", this.props.data);\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n let result = userObject;\r\n result.companyId = 0;\r\n result.isLinkToCompany = false;\r\n result.isRequestedToLink = false;\r\n result.linkedCompanyName = \"\";\r\n setSecureData(Constant.USEROBJECT, result);\r\n\r\n // alert(this.props.data.message)\r\n this.setState({\r\n dialogType: 0,\r\n isAlertVisible: true,\r\n alertMessage: this.props.data.message,\r\n isMultiButton: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n this.setState({ linkedCompanyName: \"\" });\r\n }\r\n } else {\r\n alert(this.props.data.message);\r\n console.log(\"sign up status else...\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n onSelectCompany(i) {\r\n console.log(\r\n \"this.state.arrSearchedCompany[i] ------- \",\r\n this.state.arrSearchedCompany[i]\r\n );\r\n this.setState(\r\n { objSelectedCompany: this.state.arrSearchedCompany[i] },\r\n () => {\r\n this.setState({\r\n linkedCompanyName: this.state.objSelectedCompany.companyName,\r\n arrSearchedCompany: [],\r\n });\r\n }\r\n );\r\n }\r\n\r\n renderCompanyList() {\r\n let arr = [];\r\n if (!this.state.arrSearchedCompany) {\r\n arr.push();\r\n return arr;\r\n }\r\n this.state.arrSearchedCompany.map((company, index) => {\r\n arr.push(\r\n
  • \r\n \r\n {/* */}\r\n
  • \r\n );\r\n });\r\n return arr;\r\n }\r\n\r\n onSearch(val) {\r\n this.setState({ linkedCompanyName: val }, () => {\r\n if (val == \"\" || val == null) {\r\n return;\r\n }\r\n let obj = this.state.arrCompanyList.filter(\r\n (company) =>\r\n company.companyName\r\n .toLowerCase()\r\n .indexOf(this.state.linkedCompanyName) > -1\r\n );\r\n console.log(\"searched obj------------ \", obj);\r\n this.setState({ arrSearchedCompany: obj });\r\n });\r\n }\r\n\r\n renderLinkButton() {\r\n return (\r\n
    \r\n {\r\n this.callCompanyLink();\r\n }}\r\n >\r\n {getSecureData(Constant.USEROBJECT).isLinkToCompany\r\n ? Strings.manager_linked_company\r\n : getSecureData(Constant.USEROBJECT).isRequestedToLink\r\n ? Strings.btn_request_pending\r\n : Strings.str_link}\r\n \r\n
    \r\n );\r\n }\r\n\r\n onEditAddress(data) {\r\n console.log(\"hide address ------- \", data);\r\n this.setState({ isShowEditAddress: false });\r\n\r\n // if (data.address1) {\r\n this.callAddressAPI();\r\n // }\r\n }\r\n\r\n render() {\r\n // The forwardRef is important!!\r\n // Dropdown needs access to the DOM node in order to position the Menu\r\n const CustomToggle = React.forwardRef(({ children, onClick }, ref) => (\r\n {\r\n e.preventDefault();\r\n onClick(e);\r\n }}\r\n className=\"form-control\"\r\n >\r\n {children}\r\n ▼\r\n \r\n ));\r\n\r\n // forwardRef again here!\r\n // Dropdown needs access to the DOM of the Menu to measure it\r\n const CustomMenu = React.forwardRef(\r\n ({ children, style, className, \"aria-labelledby\": labeledBy }, ref) => {\r\n // const [value, setValue] = useState('');\r\n const value = \"\";\r\n return (\r\n \r\n {/* alert(e.target.value)}\r\n value={value}\r\n /> */}\r\n
      \r\n {React.Children.toArray(children).filter(\r\n (child) =>\r\n !value || child.props.children.toLowerCase().startsWith(value)\r\n )}\r\n
    \r\n \r\n );\r\n }\r\n );\r\n\r\n return (\r\n
    \r\n {this.props.isLoading ? (\r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n
    \r\n )}\r\n {/* */}\r\n {/* Old header */}\r\n \r\n\r\n {\r\n this.setState({ isAlertVisible: false });\r\n }}\r\n btnRightClick={() => {\r\n this.onRightClick();\r\n }}\r\n btnLeftTitle={this.state.btnLeft}\r\n btnRightTitle={this.state.btnRight}\r\n />\r\n {this.state.isShowEditAddress ? (\r\n {\r\n this.onEditAddress(data);\r\n }}\r\n />\r\n ) : null}\r\n {this.state.isLinkVisible ? (\r\n {\r\n this.onCloseAddress(data);\r\n }}\r\n onAddNewAddress={() => {\r\n this.onAddAddress();\r\n }}\r\n onDeleteAddress={() => {\r\n this.onDeleteAddress();\r\n }}\r\n />\r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Home >> My Account\r\n

    \r\n
    \r\n
    \r\n
    \r\n {/*

    {Strings.edit_profile_web}

    */}\r\n {/* By Pratik Date:09-12-2020 */}\r\n {/*

    {Strings.edit_profile_web}

    */}\r\n
    \r\n \r\n this.setState({ name: e.target.value })}\r\n />\r\n
    \r\n \r\n {this.state.errors.nameError}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/* */}\r\n {/* this.setState({ countryCode: e })}>\r\n \r\n {this.state.countryCode == 0 ? \"Code \" : this.state.countryCode}\r\n \r\n \r\n +7\r\n +30\r\n +31\r\n +32\r\n +33\r\n +34\r\n +36\r\n +39\r\n +40\r\n +41\r\n +43\r\n +44\r\n +45\r\n +46\r\n +47\r\n +48\r\n +49\r\n +90\r\n +298\r\n +350\r\n +351\r\n +352\r\n +353\r\n +354\r\n +355\r\n +356\r\n +357\r\n +358\r\n +359\r\n +370\r\n +371\r\n +372\r\n +373\r\n +374\r\n +375\r\n +376\r\n +377\r\n +378\r\n +379\r\n +380\r\n +381\r\n +382\r\n +383\r\n +385\r\n +386\r\n +387\r\n +389\r\n +420\r\n +421\r\n +423\r\n +994\r\n +995\r\n +3491\r\n +91\r\n \r\n */}\r\n
    \r\n
    \r\n \r\n this.setState({ phoneNumber: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n {/* {this.state.errors.countryCodeError} */}\r\n \r\n {this.state.errors.phoneNumberError}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n this.setState({ email: e.target.value })}\r\n />\r\n
    \r\n \r\n {this.state.errors.emailError}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({ password: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n {this.state.errors.passwordError}\r\n \r\n
    \r\n {/* {Strings.lbl_change_password_react} */}\r\n
    \r\n\r\n
    \r\n \r\n {/* this.setState({ birthDate: e.target.value })} /> */}\r\n {\r\n this.checkDate(date);\r\n }}\r\n selected={this.state.birthDate}\r\n name=\"birthDate\"\r\n className=\"form-control\"\r\n dateFormat=\"dd/MM/yyyy\"\r\n />\r\n \r\n
    \r\n \r\n {this.state.errors.birthDateError}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ gender: 1 })}\r\n checked={this.state.gender === 1}\r\n />\r\n {\r\n this.setState({ gender: 1 });\r\n }}\r\n className=\"form-check-label\"\r\n for=\"inlineRadio1\"\r\n >\r\n \r\n {\" \"}\r\n {\" \"}\r\n {\" \"} Male\r\n \r\n
    \r\n
    \r\n this.setState({ gender: 2 })}\r\n checked={this.state.gender === 2}\r\n />\r\n {\r\n this.setState({ gender: 2 });\r\n }}\r\n className=\"form-check-label\"\r\n for=\"inlineRadio2\"\r\n >\r\n \r\n {\" \"}\r\n {\" \"}\r\n {\" \"}Female\r\n \r\n
    \r\n {/*
    \r\n {this.state.errors.emailError}\r\n
    */}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n {Strings.btn_save_changes_react}\r\n \r\n
    \r\n
    \r\n \r\n {Strings.str_delete_account_web}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    \r\n\r\n
    \r\n \r\n this.onSearch(e.target.value)} />\r\n
    \r\n {this.state.errors.errorLinkedCompanyName}\r\n
    \r\n
    \r\n
    \r\n
      \r\n {this.state.arrCompanyList.length > 0 ? this.renderCompanyList() : null}\r\n
    \r\n
    \r\n\r\n {this.renderLinkButton()}\r\n
    \r\n
    */}\r\n\r\n {/* {(this.state.objAvocadoDetails) ? (\r\n
    \r\n
    \r\n

    {Strings.lbl_my_reward_web}

    \r\n
    \r\n
    {Strings.lbl_my_reward_point_web} {this.state.objAvocadoDetails.useAvocadoPoint}
    \r\n
    \r\n
    ) : null} */}\r\n
    \r\n\r\n {this.state.arrayCards.length > 0 ? (\r\n
    \r\n

    {Strings.lbl_credit_card_details_react}

    \r\n\r\n {this.renderCardView()}\r\n\r\n {this.renderDeliveryAddress()}\r\n
    \r\n ) : null}\r\n\r\n
    \r\n {/*
    \r\n

    {Strings.lbl_my_reward_web}

    \r\n
    \r\n
    {Strings.lbl_my_reward_point_web} {this.state.objAvocadoDetails.useAvocadoPoint}
    \r\n
    */}\r\n {this.renderDeliveryAddress()}\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\nfunction mapStateToProps(state) {\r\n console.log(\"isLoaging MyAccount ------- \" + state.HGReducers.isLoading);\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n UpdateCustomerAPI: (\r\n locationId,\r\n customerId,\r\n name,\r\n countrycode,\r\n phone,\r\n email,\r\n password,\r\n languageType,\r\n gender,\r\n birthDate\r\n ) =>\r\n dispatch(\r\n HGActions.initRegistrationCall(\r\n locationId,\r\n customerId,\r\n name,\r\n countrycode,\r\n phone,\r\n email,\r\n password,\r\n languageType,\r\n gender,\r\n birthDate\r\n )\r\n ),\r\n removeLinkedAPI: (companyId, customerId, languageId) =>\r\n dispatch(\r\n HGActions.initRemoveLinkedCompanyAPI(companyId, customerId, languageId)\r\n ),\r\n DeleteAccountAPI: (customerId, languageType) =>\r\n dispatch(HGActions.initDeleteUserAccountCall(customerId, languageType)),\r\n CompanyAccountLinkApi: (customerId, addressId, companyId, languageType) =>\r\n dispatch(\r\n HGActions.CallCompanyAccountLinkApi(\r\n customerId,\r\n addressId,\r\n companyId,\r\n languageType\r\n )\r\n ),\r\n getSavedCards: (customerId) =>\r\n dispatch(HGActions.initGetSavedCardsAPI(customerId)),\r\n cardDeleteApi: (mainObj) => dispatch(HGActions.callCardDeleteApi(mainObj)),\r\n callCheckVersion: (customerId, languageType) =>\r\n dispatch(HGActions.callApiCheckVersionAPI(customerId, languageType)),\r\n getDeliveryAddressAPI: (locationId, customerId, languageType) =>\r\n dispatch(\r\n HGActions.initGetDeliveryAddressAPI(locationId, customerId, languageType)\r\n ),\r\n getAvocadoDetailsAPI: (languageType, customerId) =>\r\n dispatch(HGActions.initGetAvocadoDetailsAPI(languageType, customerId)),\r\n deleteAddressAPI: (addressId) =>\r\n dispatch(HGActions.initDeleteDeliveryAddressAPI(addressId)),\r\n getCompanyAPI: (languageType) =>\r\n dispatch(HGActions.initGetCompanyListAPI(languageType)),\r\n AppMessageApi: (languageType) =>\r\n dispatch(HGActions.GetAppMessageListApi(languageType)),\r\n getCustomerDetails: (customerId, locationId) =>\r\n dispatch(HGActions.getCustomerDetails(customerId, locationId)),\r\n});\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MyAccount);\r\n","import React from 'react';\r\nconst Pagination = (props) => {\r\n const { currentPage, pageNumbers } = props;\r\n\r\n const renderPageNumbers = pageNumbers.map(number => {\r\n return (\r\n { props.callChangePage(number) }}\r\n >\r\n {number}\r\n \r\n );\r\n });\r\n\r\n return (\r\n
    \r\n
      \r\n\r\n { props.callChangePage(currentPage == 1 ? 1 : currentPage - 1) }} className=\"page-item\"\r\n >\r\n \r\n \r\n \r\n \r\n\r\n {renderPageNumbers}\r\n\r\n { props.callChangePage(pageNumbers.length == currentPage ? currentPage : currentPage + 1) }}\r\n className=\"page-item\">\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 Pagination;","import React, { Component } from 'react';\r\nimport { Route, NavLink, BrowserRouter as Router, Switch, Link, history } from \"react-router-dom\";\r\nimport FooterMenu from '../Components/FooterMenu';\r\nimport { connect } from 'react-redux';\r\nimport * as HGActions from '../Redux/actions/HGActions';\r\nimport Constant from '../constants/baseConstants';\r\nimport { Strings } from '../constants/Localization';\r\nimport HeaderWhiteMenuHalf from '../Components/HeaderWhiteMenuHalf';\r\nimport baseConstants from '../constants/baseConstants';\r\nimport AOS from 'aos';\r\nimport 'aos/dist/aos.css';\r\nimport {getPriceFormat} from \"../Utils/utils\";\r\nimport {setSecureData, getSecureData} from '../Utils/utils';\r\nimport { Dropdown } from 'react-bootstrap';\r\nimport queryString from 'query-string';\r\nimport Pagination from '../Components/Pagination'\r\n\r\nlet customerId = 0;\r\nclass MyOrders extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n customerId: '',\r\n orderArray: [],\r\n mainOrderList : [],\r\n errorMessage: '',\r\n languageType: 1, //default language type\r\n currentPage: 1,\r\n orderPerPage: 15,\r\n\r\n orderStatusType:0, //1 = pending 2 = others\r\n filterArray: [],\r\n }\r\n\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // get value from localStorage\r\n // let userObject = localStorage.getItem(Constant.USEROBJECT);\r\n let userObject = getSecureData(Constant.USEROBJECT);\r\n if (userObject !== null) {\r\n // userObject = JSON.parse(userObject);\r\n if (userObject != null) {\r\n customerId = userObject.customerId;\r\n console.log('login user :' + JSON.stringify(userObject));\r\n }\r\n }\r\n }\r\n }\r\n\r\n checkUserLogin = () => {\r\n // this.setState({isContentLoading:true})\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // get the key's value from localStorage\r\n // let userObject = localStorage.getItem(Constant.USEROBJECT);\r\n let userObject = getSecureData(Constant.USEROBJECT);\r\n if (userObject == null) {\r\n this.props.history.push({ pathname: '/' })\r\n return\r\n }\r\n if (userObject !== null) {\r\n // this.getTableVirtualWaitingByCustomer()\r\n }\r\n else {\r\n this.props.history.push({ pathname: '/' })\r\n return\r\n }\r\n\r\n }\r\n else {\r\n this.props.history.push({ pathname: '/' })\r\n }\r\n }\r\n componentDidMount() {\r\n //Init animation duration\r\n AOS.init({\r\n duration: 1000\r\n })\r\n\r\n let params = queryString.parse(this.props.location.search)\r\n if (params.isRemove) {\r\n console.log('query string -------------> ', params)\r\n localStorage.removeItem(Constant.USERCART)\r\n localStorage.removeItem(Constant.PLACEDORDEROBJECT)\r\n localStorage.removeItem(Constant.ISCANCEL)\r\n }\r\n\r\n // if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // // let userObject = localStorage.getItem(Constants.USEROBJECT);\r\n // let userObject = getSecureData(Constant.USEROBJECT);\r\n // if (userObject == null) {\r\n // this.props.history.push({ pathname: '/' })\r\n // return\r\n // }\r\n // }\r\n // else {\r\n // this.props.history.push({ pathname: '/' })\r\n // return\r\n // }\r\n //Get messagelist from localstorage\r\n // let session = localStorage.getItem(Constant.PRE_MESSAGE_LIST);\r\n // let mLanguageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let session = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n let mLanguageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage('en'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n }\r\n else {\r\n if (mLanguageType != null) {\r\n Strings.setLanguage('es'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n }\r\n }\r\n }\r\n else {\r\n Strings.setLanguage('en');//Setting default language code here\r\n }\r\n\r\n setTimeout(() => {\r\n console.log(\"call order list api :\")\r\n this.props.orderListApi(customerId, this.state.languageType).then(() => {\r\n\r\n if (this.props.data.status == 1) {\r\n var orderrList = this.props.data.result;\r\n if (orderrList != null && orderrList.length > 0) {\r\n // orderrList.sort((a,b) => a.orderdate - b.orderdate).reverse();\r\n this.setState({ orderArray: orderrList, mainOrderList : orderrList });\r\n }\r\n else {\r\n this.setState({ orderArray: [], mainOrderList: [], errorMessage: Strings.lbl_no_order_react })\r\n }\r\n }\r\n else {\r\n this.setState({ errorMessage: this.props.error })\r\n }\r\n })\r\n }, 500);\r\n this.checkUserLogin()\r\n }\r\n\r\n getOrderList = () => {\r\n // setTimeout(() => {\r\n console.log(\"call order list api :\")\r\n this.props.orderListApi(customerId, this.state.languageType).then(() => {\r\n\r\n if (this.props.data.status == 1) {\r\n var orderrList = this.props.data.result;\r\n if (orderrList != null && orderrList.length > 0) {\r\n // orderrList.sort((a,b) => a.orderdate - b.orderdate).reverse();\r\n this.setState({ orderArray: orderrList, mainOrderList: orderrList });\r\n }\r\n else {\r\n this.setState({ orderArray: [], mainOrderList : [], errorMessage: Strings.lbl_no_order_react })\r\n }\r\n }\r\n else {\r\n this.setState({ errorMessage: this.props.error })\r\n }\r\n })\r\n // }, 500);\r\n }\r\n\r\n //Handle change language click event\r\n //English language type: 1\r\n //Spanish language type: 2\r\n languageChangeClickEvent = (type) => {\r\n console.log(\"my order page language type :\" + type);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, type)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, type)\r\n this.setState({ languageType: type })\r\n setTimeout(() => {\r\n this.props.AppMessageApi(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var messageListArray = this.props.data.result;\r\n if (messageListArray != null && messageListArray.length > 0) {\r\n console.log(\"message list :\" + JSON.stringify(messageListArray))\r\n // localStorage.setItem(Constant.PRE_MESSAGE_LIST, JSON.stringify(messageListArray));\r\n setSecureData(Constant.PRE_MESSAGE_LIST, messageListArray);\r\n // let localMessage = JSON.parse(localStorage.getItem(Constant.PRE_MESSAGE_LIST));\r\n let localMessage = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n // let languageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let languageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n if (languageType == 1) { //English language type: 1\r\n Strings.setLanguage('en');//Setting selected language code here\r\n this.setState({ languageType: languageType,languageTypeCode:\"en-GB\"})\r\n }\r\n else {\r\n Strings.setLanguage('es'); //Setting selected language code here\r\n this.setState({ languageType: languageType,languageTypeCode:\"es\"})\r\n }\r\n console.log('language type :' + languageType);\r\n Strings.setContent(localMessage)\r\n // this.setState({ languageType: languageType });\r\n window.location.reload(false);\r\n }\r\n } else {\r\n alert(this.props.error)\r\n }\r\n })\r\n }, 700)\r\n }\r\n\r\n onfilter(e) {\r\n\r\n // e.preventDefault();\r\n // public enum OrderStatus\r\n // {\r\n // Completed = 1,\r\n // Pending = 2,\r\n // Cancel = 3,\r\n // Dispached = 4,\r\n // InProcess = 5,\r\n // OrderReceived = 6\r\n // }\r\n console.log('selected type======== ',e)\r\n this.setState({ orderStatusType: e }, ()=> {\r\n if (e == \"1\") {\r\n let obj = this.state.mainOrderList.filter(obj => (\r\n obj.orderstatusValue != 1\r\n ))\r\n console.log('filter === ',obj)\r\n // this.setState({filterArray: obj})\r\n this.setState({orderArray: obj, currentPage : 1})\r\n } else if (e == \"2\") {\r\n let obj = this.state.mainOrderList.filter(obj => (\r\n obj.orderstatusValue == 1\r\n ))\r\n console.log('filter else=== ',obj)\r\n // this.setState({filterArray: obj})\r\n this.setState({orderArray: obj, currentPage : 1})\r\n }\r\n else{\r\n // this.getOrderList()\r\n console.log(\"mainOrderList\",this.state.mainOrderList)\r\n this.setState({orderArray: this.state.mainOrderList, currentPage : 1})\r\n }\r\n });\r\n } \r\n\r\n pageChange = (number) => {\r\n console.log(\"event\", number)\r\n this.setState({\r\n currentPage: Number(number)\r\n });\r\n } \r\n\r\n render() {\r\n\r\n const { currentPage, orderPerPage } = this.state;\r\n\r\n const CustomToggle = React.forwardRef(({ children, onClick }, ref) => (\r\n {\r\n e.preventDefault();\r\n onClick(e);\r\n }}\r\n className=\"form-control fltr\"\r\n >\r\n {children}\r\n ▼\r\n \r\n ));\r\n \r\n // forwardRef again here!\r\n // Dropdown needs access to the DOM of the Menu to measure it\r\n const CustomMenu = React.forwardRef(\r\n ({ children, style, className, 'aria-labelledby': labeledBy }, ref) => {\r\n // const [value, setValue] = useState('');\r\n const value=\"\";\r\n return (\r\n \r\n {/* alert(e.target.value)}\r\n value={value}\r\n /> */}\r\n
      \r\n {React.Children.toArray(children).filter(\r\n (child) =>\r\n !value || child.props.children.toLowerCase().startsWith(value),\r\n )}\r\n
    \r\n \r\n );\r\n },\r\n );\r\n\r\n // Logic for displaying page numbers\r\n const pageNumbers = [];\r\n for (let i = 1; i <= Math.ceil(this.state.orderArray.length / orderPerPage); i++) {\r\n pageNumbers.push(i);\r\n }\r\n\r\n // Logic for displaying current vacancies\r\n var indexOfLastOrder = currentPage * orderPerPage;\r\n var indexOfFirstOrder = indexOfLastOrder - orderPerPage;\r\n var orderListData = this.state.orderArray.slice(indexOfFirstOrder, indexOfLastOrder);\r\n\r\n return (\r\n
    \r\n {this.props.isLoading ?
    \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

    Home >> View Orders

    \r\n
    \r\n
    \r\n

    View Orders

    \r\n this.onfilter(e)} style={{alignSelf:'center',float: 'right'}}>\r\n \r\n {this.state.orderStatusType==0?\"Select type \":(this.state.orderStatusType == 1 ? Strings.str_pending : Strings.str_complete)} \r\n \r\n \r\n All\r\n {Strings.str_pending}\r\n {Strings.str_complete}\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/*

    {Strings.lbl_view_order_react}

    */}\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 this.setOrderListView(orderListData)\r\n }\r\n
    {Strings.lbl_order_react}{Strings.lbl_date_react}{Strings.lbl_location_react}{Strings.lbl_location_react}{Strings.lbl_order_status_react}{Strings.lbl_order_type_react}{Strings.lbl_price_react}{Strings.lbl_price_react}\r\n \r\n
    \r\n\r\n \r\n
    \r\n {\r\n this.state.orderArray != null && this.state.orderArray.length > 0\r\n ?\r\n
    \r\n { this.pageChange(num) }} />\r\n
    \r\n \r\n :\r\n null\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n )\r\n }\r\n\r\n //Setting user order listing\r\n setOrderListView(orderListData) {\r\n if (this.state.orderArray != null && this.state.orderArray.length > 0) {\r\n {\r\n\r\n if (this.state.orderStatusType == 0) {\r\n return (\r\n orderListData.map((item, index) => (\r\n \r\n \r\n {item.orderNo}\r\n {item.contactDatetime}\r\n {/* {item.locationName} */}\r\n {item.locationName}\r\n {item.orderstatus}\r\n {item.ordertype}\r\n {/* {getPriceFormat(item.totalamount)} */}\r\n {getPriceFormat(item.totalamount)}\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n ))\r\n )\r\n } else {\r\n return (\r\n orderListData.map((item, index) => (\r\n \r\n \r\n {item.orderNo}\r\n {item.contactDatetime}\r\n {/* {item.locationName} */}\r\n {item.locationName}\r\n {item.orderstatus}\r\n {item.ordertype}\r\n {/* {getPriceFormat(item.totalamount)} */}\r\n {getPriceFormat(item.totalamount)}\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 else {\r\n return (\r\n \r\n \r\n

    {this.state.errorMessage == 'NorecordavailableForOrder' ? 'No Record Available' : this.state.errorMessage}

    \r\n \r\n \r\n )\r\n }\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n console.log('isLoaging Order ------- ' + state.HGReducers.isLoading);\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error\r\n }\r\n}\r\nconst mapDispatchToProps = dispatch => ({\r\n orderListApi: (customerId, languageType) => dispatch(HGActions.GetOrderListApi(customerId, languageType)),\r\n AppMessageApi: (languageType) => dispatch(HGActions.GetAppMessageListApi(languageType)),\r\n\r\n})\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MyOrders);\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport { Route, NavLink, BrowserRouter as Router, Switch, Link, history } from \"react-router-dom\";\r\n\r\nimport { connect } from 'react-redux';\r\nimport * as HGActions from '../Redux/actions/HGActions';\r\nimport Constants from '../constants/baseConstants';\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport AlertDialog from '../Components/AlertDialog';\r\nimport HeaderWhiteMenuHalf from '../Components/HeaderWhiteMenuHalf';\r\nimport FooterMenu from '../Components/FooterMenu';\r\nimport { Strings } from '../constants/Localization';\r\nimport {setSecureData, getSecureData, bindhttps} from '../Utils/utils';\r\n// import AOS from 'aos';\r\n// import 'aos/dist/aos.css';\r\n\r\nclass Categories extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n arrayCategories: [],\r\n locationArray: [],\r\n isVisible: false,\r\n selectIndex: -1,\r\n orderType: false,\r\n delivery: false,\r\n takeaway: false,\r\n locationObj: null,\r\n\r\n selectedCategoryIndex: 0,\r\n isOrderTypeVisible: false,\r\n arrayOrderTypes: [],\r\n\r\n languageType: 1,\r\n\r\n\r\n isAlertVisible: false,\r\n isMultiButtom: false,\r\n alertMessage: '',\r\n btnLeft:'',\r\n btnRight:'',\r\n alertType: 0,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n // AOS.init({\r\n // duration : 1000\r\n // })\r\n\r\n if (localStorage.hasOwnProperty(Constants.USEROBJECT)) {\r\n // let userObject = localStorage.getItem(Constants.USEROBJECT);\r\n let userObject = getSecureData(Constants.USEROBJECT);\r\n if (userObject == null) {\r\n this.props.history.push({ pathname: '/' })\r\n return\r\n }\r\n }\r\n else {\r\n this.props.history.push({ pathname: '/' })\r\n return\r\n }\r\n\r\n //Get messagelist from localstorage\r\n // let session = localStorage.getItem(Constants.PRE_MESSAGE_LIST);\r\n // let mLanguageType = localStorage.getItem(Constants.PRE_LANGUAGE_TYPE);\r\n let session = getSecureData(Constants.PRE_MESSAGE_LIST);\r\n let mLanguageType = getSecureData(Constants.PRE_LANGUAGE_TYPE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage('en'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n } else {\r\n if (mLanguageType != null) { \r\n Strings.setLanguage('es'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n }\r\n }\r\n }\r\n else {\r\n Strings.setLanguage('en');//Setting default language code here\r\n }\r\n\r\n setTimeout(() => {\r\n this.callLocationListingAPI()\r\n }, 200)\r\n }\r\n\r\n //Handle change language click event\r\n //English language type: 1\r\n //Spanish language type: 2\r\n languageChangeClickEvent = (type) => {\r\n console.log(\"category page language type :\" + type);\r\n // localStorage.setItem(Constants.PRE_LANGUAGE_TYPE, type)\r\n setSecureData(Constants.PRE_LANGUAGE_TYPE, type)\r\n this.setState({ languageType: type })\r\n setTimeout(() => {\r\n this.props.AppMessageApi(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var messageListArray = this.props.data.result;\r\n if (messageListArray != null && messageListArray.length > 0) {\r\n console.log(\"message list :\" + JSON.stringify(messageListArray))\r\n // localStorage.setItem(Constants.PRE_MESSAGE_LIST, JSON.stringify(messageListArray));\r\n setSecureData(Constants.PRE_MESSAGE_LIST, messageListArray);\r\n // let localMessage = JSON.parse(localStorage.getItem(Constants.PRE_MESSAGE_LIST));\r\n let localMessage = getSecureData(Constants.PRE_MESSAGE_LIST);\r\n // localStorage.setItem(Constants.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n setSecureData(Constants.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n // let languageType = localStorage.getItem(Constants.PRE_LANGUAGE_TYPE);\r\n let languageType = getSecureData(Constants.PRE_LANGUAGE_TYPE);\r\n console.log('language type :' + languageType);\r\n if (languageType == 1) { //English language type: 1\r\n Strings.setLanguage('en');//Setting selected language code here\r\n this.setState({ languageType: languageType,languageTypeCode:\"en-GB\"})\r\n }\r\n else {\r\n Strings.setLanguage('es'); //Setting selected language code here\r\n this.setState({ languageType: languageType,languageTypeCode:\"es\"})\r\n }\r\n Strings.setContent(localMessage)\r\n // this.setState({ languageType: languageType })\r\n window.location.reload(false);\r\n setTimeout(() => {\r\n this.callLocationListingAPI()\r\n }, 200)\r\n }\r\n } else {\r\n alert(this.props.error)\r\n }\r\n })\r\n }, 700)\r\n }\r\n\r\n onClick(i) {\r\n // let locationObject = JSON.parse(localStorage.getItem(Constants.LOCATIONOBJECT))\r\n let locationObject = getSecureData(Constants.LOCATIONOBJECT)\r\n if (locationObject == null || locationObject == undefined) {\r\n alert(Strings.error_no_data)\r\n return\r\n }\r\n var arry = []\r\n if (locationObject.isDelivery) {\r\n arry.push({ title: Strings.Delivery_web, isSelect: false })\r\n }\r\n if (locationObject.isTakeAway) {\r\n arry.push({ title: Strings.lbl_takeaway_react, isSelect: false })\r\n }\r\n //check ordertypes selected or not\r\n if (getSecureData(Constants.ORDERTYPE) == null || getSecureData(Constants.ORDERTYPE) == undefined) {\r\n this.setState({ isOrderTypeVisible: true, arrayOrderTypes: arry, selectedCategoryIndex: i })\r\n } else {\r\n this.setState({selectedCategoryIndex: i})\r\n setTimeout(() => {\r\n setSecureData(Constants.PRE_CAT_ID, this.state.arrayCategories[this.state.selectedCategoryIndex].catId)\r\n this.props.history.push({ pathname: '/MenuItems', catId: this.state.arrayCategories[this.state.selectedCategoryIndex].catId, Categorieslist: this.state.arrayCategories }) \r\n }, 200);\r\n }\r\n }\r\n\r\n callLocationListingAPI() {\r\n\r\n if (this.props.location.isChangeLocation) {\r\n this.fetchLocationList()\r\n } else {\r\n //check location is selected or not\r\n if (getSecureData(Constants.LOCATIONOBJECT)) {\r\n let locationObject = getSecureData(Constants.LOCATIONOBJECT)\r\n var arry = []\r\n if (locationObject.isDelivery) {\r\n arry.push({ title: Strings.Delivery_web, isSelect: false })\r\n }\r\n if (locationObject.isTakeAway) {\r\n arry.push({ title: Strings.lbl_takeaway_react, isSelect: false })\r\n }\r\n this.setState({ isVisible: false, arrayOrderTypes: arry })\r\n \r\n setTimeout(() => {\r\n console.log('Call category api ....')\r\n this.callGetCategoryListApi()\r\n }, 200);\r\n\r\n } else {\r\n this.fetchLocationList()\r\n }\r\n }\r\n \r\n }\r\n\r\n\r\n fetchLocationList() {\r\n this.props.locationListApi(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n var locationList = this.props.data.result;\r\n if (locationList != null && locationList.length > 0) {\r\n // localStorage.setItem(Constants.LOCATIONLISTOBJECT, JSON.stringify(locationList))\r\n setSecureData(Constants.LOCATIONLISTOBJECT,locationList)\r\n this.setState({ locationArray: locationList, isVisible: true })\r\n }\r\n }\r\n } else {\r\n alert(this.props.data.message)\r\n }\r\n })\r\n }\r\n\r\n callGetCategoryListApi() {\r\n this.props.getCategoriesAPICall(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n setTimeout(() => {\r\n if (this.props.data.result.length > 0) {\r\n this.setState({ arrayCategories: this.props.data.result })\r\n // localStorage.setItem(Constants.CATEGORIESDATA,JSON.stringify(this.props.data.result))\r\n setSecureData(Constants.CATEGORIESDATA,this.props.data.result)\r\n }\r\n }, 100)\r\n }\r\n } else {\r\n alert(this.props.data.message)\r\n }\r\n }).then(()=>{\r\n console.log('Category error then ---- ',this.props.error)\r\n })\r\n }\r\n\r\n setLocationData() {\r\n setTimeout(() => {\r\n if (this.state.locationObj == null) {\r\n // if (item == null) {\r\n alert(Strings.lbl_select_location_react)\r\n } else {\r\n \r\n // localStorage.setItem(Constants.LOCATIONOBJECT, JSON.stringify(this.state.locationObj))\r\n setSecureData(Constants.LOCATIONOBJECT, this.state.locationObj)\r\n // setSecureData(Constants.LOCATIONOBJECT, item)\r\n Constants.locationId = this.state.locationObj.locationId\r\n // Constants.locationId = item.locationId\r\n \r\n let locationObject =this.state.locationObj\r\n var arry = []\r\n if (locationObject.isDelivery) {\r\n arry.push({ title: Strings.Delivery_web, isSelect: false })\r\n }\r\n if (locationObject.isTakeAway) {\r\n arry.push({ title: Strings.lbl_takeaway_react, isSelect: false })\r\n }\r\n this.setState({ isVisible: false, arrayOrderTypes: arry},()=>{\r\n this.callGetCategoryListApi()\r\n })\r\n \r\n // setTimeout(() => {\r\n // this.callGetCategoryListApi()\r\n // }, 500);\r\n }\r\n }, 200);\r\n }\r\n\r\n onContinue = (item,index) =>{\r\n\r\n if (getSecureData(Constants.USERCART)) {\r\n console.log('location object ----------- ',getSecureData(Constants.LOCATIONOBJECT))\r\n console.log('select location object ----------- ',item)\r\n\r\n if (getSecureData(Constants.LOCATIONOBJECT).locationId != item.locationId) {\r\n this.setState({isVisible:false, selectIndex: index, locationObj: item, orderType: true, isAlertVisible:true, alertMessage:Strings.empty_cart_message, isMultiButtom:true, btnLeft:Strings.btn_cancel, btnRight:Strings.btn_confirm, })\r\n \r\n } else {\r\n\r\n this.setState({ selectIndex: index, locationObj: item, orderType: true },()=>{\r\n this.setLocationData()\r\n }) \r\n \r\n }\r\n\r\n } else {\r\n\r\n this.setState({ selectIndex: index, locationObj: item, orderType: true },()=>{\r\n this.setLocationData()\r\n })\r\n \r\n }\r\n \r\n }\r\n\r\n onContinueOrder(order) {\r\n if (order.length > 0) {\r\n if (order[0].title == Strings.Delivery_web) {\r\n Constants.OrderType = 'Delivery'//Strings.Delivery_web\r\n } else if (order[0].title == Strings.lbl_takeaway_react) {\r\n Constants.OrderType = 'TakeAway'//Strings.lbl_takeaway_react\r\n }\r\n }\r\n // localStorage.setItem(Constants.ORDERTYPE, JSON.stringify(Constants.OrderType))\r\n setSecureData(Constants.ORDERTYPE, Constants.OrderType)\r\n // return\r\n this.setState({ isOrderTypeVisible: false })\r\n // localStorage.setItem(Constants.PRE_CAT_ID, JSON.stringify(this.state.arrayCategories[this.state.selectedCategoryIndex].catId))\r\n setSecureData(Constants.PRE_CAT_ID, this.state.arrayCategories[this.state.selectedCategoryIndex].catId)\r\n this.props.history.push({ pathname: '/MenuItems', catId: this.state.arrayCategories[this.state.selectedCategoryIndex].catId, Categorieslist: this.state.arrayCategories })\r\n }\r\n\r\n //This method use show location dialog\r\n showLocationListDialog() {\r\n if(!this.state.isVisible) {return}\r\n if (this.state.locationArray != null && this.state.locationArray.length > 0) {\r\n return (\r\n {}}\r\n size=\"sm\"\r\n aria-labelledby=\"contained-modal-title-vcenter\"\r\n centered>\r\n \r\n \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n this.setLocationList(this.state.locationArray)\r\n }\r\n
    \r\n
    \r\n\r\n {/* {this.state.locationObj != null ? (\r\n
    \r\n ) : null} */}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n\r\n onSelectTypes(order) {\r\n this.state.arrayOrderTypes.map(data => {\r\n if (data.title == order.title) {\r\n data.isSelect = true\r\n Constants.OrderType = data.title\r\n } else {\r\n data.isSelect = false\r\n }\r\n })\r\n this.setState({ arrayOrderTypes: this.state.arrayOrderTypes })\r\n\r\n let obj = this.state.arrayOrderTypes.filter((data) => (data.isSelect == true))\r\n\r\n if (obj.length > 0) {\r\n this.onContinueOrder(obj)\r\n // Constants.OrderType = obj[0].title\r\n // console.log('Constants.OrderType = obj[0].title --------- ', Constants.OrderType)\r\n // return (\r\n //
    \r\n // \r\n //
    \r\n // )\r\n }\r\n }\r\n\r\n renderOrderType() {\r\n if (this.state.arrayOrderTypes.length == 0) {\r\n return ()\r\n }\r\n var arry = []\r\n this.state.arrayOrderTypes.map((data,index) => {\r\n arry.push(\r\n //
    \r\n //
    { this.onSelectTypes(data) }}>\r\n // \r\n //
    \r\n //
    \r\n
    { this.onSelectTypes(data) }} key={index}>\r\n

    {data.title}

    \r\n
    \r\n )\r\n })\r\n return arry\r\n }\r\n\r\n renderButton() {\r\n\r\n let obj = this.state.arrayOrderTypes.filter((data) => (data.isSelect == true))\r\n if (obj.length > 0) {\r\n Constants.OrderType = obj[0].title\r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n }\r\n }\r\n\r\n renderOrderSelectionView() {\r\n\r\n return (\r\n {}}\r\n size=\"sm\"\r\n aria-labelledby=\"contained-modal-title-vcenter\"\r\n centered>\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 {/*

    {Strings.lbl_select_order_type_react}

    */}\r\n
    \r\n {\r\n this.renderOrderType()\r\n }\r\n
    \r\n
    \r\n {this.renderButton()}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n\r\n }\r\n\r\n //This method use bind location data\r\n setLocationList(itemData) {\r\n if (itemData != null && itemData.length > 0) {\r\n return (\r\n itemData.map((item, index) => (\r\n
    \r\n
    {\r\n this.onContinue(item,index)\r\n }}>\r\n \r\n
    \r\n
    \r\n ))\r\n )\r\n }\r\n }\r\n\r\n renderCategoriesData() {\r\n var arrayData = []\r\n for (var i = 0; i < this.state.arrayCategories.length; i++) {\r\n if (i == 0)\r\n arrayData.push(\r\n \r\n )\r\n\r\n else if (i == 1)\r\n arrayData.push(\r\n \r\n )\r\n\r\n else if (i == 2)\r\n arrayData.push(\r\n \r\n )\r\n\r\n else if (i == 3)\r\n arrayData.push(\r\n \r\n )\r\n\r\n else if (i == 4)\r\n arrayData.push(\r\n \r\n )\r\n }\r\n return arrayData\r\n }\r\n\r\n onLeftClick() {\r\n this.setState({isAlertVisible:false,isVisible:true})\r\n }\r\n\r\n onRightClick() {\r\n\r\n localStorage.removeItem(Constants.USERCART)\r\n this.setLocationData()\r\n setTimeout(() => {\r\n this.setState({isAlertVisible:false})\r\n }, 300);\r\n\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.props.isLoading ?
    \r\n
    \r\n
    :
    \r\n
    \r\n
    }\r\n \r\n {this.onLeftClick()}} btnRightClick={()=>{this.onRightClick()}} btnLeftTitle={this.state.btnLeft} btnRightTitle={this.state.btnRight} />\r\n { this.state.isVisible ? this.showLocationListDialog() : null }\r\n\r\n {this.state.isOrderTypeVisible ? this.renderOrderSelectionView() : null}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    {Strings.lbl_choose_react}
    {Strings.lbl_a_product_react}

    \r\n
    \r\n {this.renderCategoriesData()}\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\nfunction mapStateToProps(state) {\r\n console.log('isLoaging Categories ------- ' + state.HGReducers.isLoading);\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getCategoriesAPICall: (languageType) => dispatch(HGActions.initGetAllCategoriesCall(languageType)),\r\n locationListApi: (languageType) => dispatch(HGActions.GetLocationListApi(languageType)),\r\n AppMessageApi: (languageType) => dispatch(HGActions.GetAppMessageListApi(languageType)),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Categories);","import React, {Component} from 'react';\r\nimport Constant from '../constants/baseConstants';\r\n// import {setSecureData, getSecureData} from '../Utils/utils';\r\n\r\nclass Logout extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n isLoading: true,\r\n }\r\n localStorage.removeItem(Constant.USEROBJECT);\r\n localStorage.removeItem(Constant.USERCART);\r\n localStorage.removeItem(Constant.CATEGORIESDATA);\r\n localStorage.removeItem(Constant.LOCATIONOBJECT);\r\n localStorage.removeItem(Constant.LOCATIONLISTOBJECT);\r\n localStorage.removeItem(Constant.ORDERTYPE);\r\n localStorage.removeItem(Constant.CHECKINFO);\r\n localStorage.removeItem(Constant.PRE_WAITER_ITEM)\r\n localStorage.removeItem(Constant.MEMBEROFFERS)\r\n localStorage.removeItem('tablePreBookingObj')\r\n console.log('logout');\r\n this.props.history.push('/')\r\n // this.props.history.push('/SignIn')\r\n }\r\n render() {\r\n return(\r\n
    \r\n {this.state.isLoading ?
    \r\n
    \r\n
    :
    \r\n
    \r\n
    }\r\n
    \r\n )\r\n }\r\n}\r\nexport default Logout;","import React, { Component } from \"react\";\r\n\r\nimport { withRouter } from 'react-router-dom';\r\n\r\nimport Constants from '../constants/baseConstants';\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport { Strings } from \"../constants/Localization\";\r\nimport { getPriceFormat, getCurrencySign, bindhttps } from \"../Utils/utils\";\r\nimport { setSecureData, getSecureData } from '../Utils/utils';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faCircle, faCheckCircle } from '@fortawesome/free-solid-svg-icons'\r\n\r\n\r\nclass ItemPopup extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n let objItem = this.props.itemData\r\n var itemQty = 1\r\n var allPrice = 0.0\r\n\r\n if (this.props.isEdit) {\r\n itemQty = objItem.totalQty\r\n allPrice = objItem.totalPrice\r\n console.log('edit at ---- ', this.props.editIndex, objItem)\r\n } else {\r\n for (let i = 0; i <= objItem.PriceList.length - 1; i++) {\r\n\r\n if (i == 0) {\r\n objItem.PriceList[i].isSelect = true\r\n allPrice = objItem.PriceList[i].price\r\n } else {\r\n objItem.PriceList[i].isSelect = false\r\n }\r\n\r\n var objOptions = []\r\n objItem.PriceList[i].OptionList.map((data, index) => {\r\n //Check is all select or not\r\n if (data.isSelectAll) {\r\n data.isSelect = true\r\n } else {\r\n if (data.isCompulsory) {\r\n if (index == 0) {\r\n data.isSelect = true\r\n } else {\r\n data.isSelect = false\r\n }\r\n } else {\r\n }\r\n }\r\n objOptions.push(data)\r\n })\r\n objItem.PriceList[i].OptionList = objOptions\r\n }\r\n }\r\n\r\n this.state = {\r\n itemObject: objItem,\r\n qty: itemQty,\r\n totalPrice: allPrice,\r\n\r\n isAlertVisible: false,\r\n alertMessage: '',\r\n setPriceListActiveKey : 0,\r\n customerId : getSecureData(Constants.USEROBJECT) != null ? getSecureData(Constants.USEROBJECT).customerId : 0\r\n }\r\n\r\n // const mLanguageCode=\"en-GB\"; \r\n }\r\n\r\n componentDidMount() {\r\n // mLanguageCode = localStorage.getItem(Constants.PRE_LANGUAGE_CODE); \r\n console.log('componentDidMount called from item popup ----- ', this.state.itemObject)\r\n }\r\n\r\n getNumberOfOptionsSelections = (item) => {\r\n console.log(\"item\", item)\r\n if (item.length == 0) {\r\n return\r\n }\r\n var counter = 0\r\n for (let k = 0; k <= item.length - 1; k++) {\r\n if (item[k].isSelect) {\r\n counter += 1\r\n }\r\n }\r\n return counter\r\n }\r\n\r\n onOptClick(optData, l, index) {\r\n let objItem = this.state.itemObject\r\n console.log(\"setPriceListActiveKey\",this.state.setPriceListActiveKey, l, index, optData, objItem)\r\n \r\n\r\n for (let i = 0; i < objItem.PriceList.length; i++) {\r\n\r\n if (objItem.PriceList[i].isSelect) {\r\n\r\n let options = objItem.PriceList[i].OptionList\r\n\r\n console.log(\"optionsList\",options)\r\n \r\n for (let k = 0; k < options.length; k++) {\r\n\r\n for(let o = 0; o < options[k].subOption.length; o++) {\r\n if (optData.isSelectAll) {\r\n if (optData.isSelect) {\r\n if (options[k].subOption[o].typeid == optData.typeid) {\r\n options[k].subOption[o].isSelect = false\r\n }\r\n } else {\r\n if (options[k].subOption[o].typeid == optData.typeid) {\r\n options[k].subOption[o].isSelect = true\r\n console.log('else optData.isSelect ----- ', k, options[k].subOption[o].typeid)\r\n }\r\n }\r\n } else {\r\n if (optData.isMultiselect) { \r\n console.log('is multiselect')\r\n if (optData.maxselection > 0) {\r\n let no = this.getNumberOfOptionsSelections(options[k].subOption)\r\n console.log(\"max number of selection ---> \" + no, optData.maxselection,optData.isSelect)\r\n \r\n if (optData.maxselection > no) {\r\n if (optData.isSelect) {\r\n console.log(\"in maxselection\",optData)\r\n // alert('you can not select maximum number of options out of ', optData.maxselection)\r\n if (options[k].subOption[o].typeid == optData.typeid) {\r\n options[k].subOption[o].isSelect = false\r\n }\r\n } else {\r\n if (options[k].subOption[o].typeid == optData.typeid) {\r\n options[k].subOption[o].isSelect = true\r\n }\r\n }\r\n } else {\r\n console.log(\"if\")\r\n \r\n if (options[k].subOption[o].typeid == optData.typeid) {\r\n console.log(\"options[k].subOption[o].typeid\", no,options[k].subOption[o], optData,optData.maxselection,optData.isSelect)\r\n console.log(\"if1\",optData.isSelect)\r\n\r\n \r\n if (optData.maxselection == no && optData.isSelect == false) {\r\n // alert('you can not select maximum number of options out of '+optData.maxselection)\r\n alert(`You can select max ${optData.maxselection} options.`)\r\n }\r\n\r\n // console.log(\"if2\",optData.isSelect)\r\n\r\n // options[k].subOption[o].isSelect = false\r\n // } else {\r\n options[k].subOption[o].isSelect = false\r\n\r\n // console.log(\"if3\")\r\n // }\r\n }\r\n }\r\n } else {\r\n console.log('optData.maxselection > 0 else')\r\n if (options[k].subOption[o].typeid == optData.typeid) {\r\n if (optData.isSelect) {\r\n options[k].subOption[o].isSelect = false\r\n } else {\r\n options[k].subOption[o].isSelect = true\r\n }\r\n }\r\n }\r\n } else {\r\n console.log('is multiselect else')\r\n if (options[k].subOption[o].typeid == optData.typeid && options[k].subOption[o].labelText == optData.labelText) {\r\n console.log('options[k].subOption[o].typeid == optData.typeid && options[k].subOption[o].labelText == optData.labelText')\r\n if (optData.isSelect == true) {\r\n options[k].subOption[o].isSelect = false\r\n } else {\r\n options[k].subOption[o].isSelect = true\r\n }\r\n } else if (options[k].subOption[o].labelText == optData.labelText) {\r\n console.log('options[k].subOption[o].labelText == optData.labelText')\r\n options[k].subOption[o].isSelect = false\r\n }\r\n }\r\n }\r\n }\r\n \r\n }\r\n objItem.PriceList[i].OptionList = options\r\n console.log(\"optData updated\", options)\r\n this.setState({ itemObject: objItem, totalPrice: this.countPrice() * this.state.qty })\r\n \r\n }\r\n }\r\n }\r\n\r\n renderOptions(title) {\r\n\r\n for (var i = 0; i < this.state.itemObject.PriceList.length; i++) {\r\n if (this.state.itemObject.PriceList[i].isSelect) {\r\n let optList = this.state.itemObject.PriceList[i].OptionList\r\n\r\n let filrt = optList.filter(data => (data.labelText == title))\r\n\r\n var arrOpt = []\r\n\r\n console.log(\"filrt\",filrt,title)\r\n\r\n if(filrt.length > 0) {\r\n filrt[0].subOption.map((options, index) => {\r\n arrOpt.push(\r\n { this.onOptClick(options, i, index) }} key={index}>\r\n
  • \r\n \r\n \r\n
  • \r\n
    \r\n )\r\n })\r\n }\r\n\r\n return arrOpt\r\n break\r\n }\r\n }\r\n }\r\n\r\n onPriceClick(index) {\r\n console.log('select price type --- ', index)\r\n\r\n this.setState({setPriceListActiveKey : index})\r\n let obj = this.state.itemObject\r\n if (obj.PriceList.length == 1) {\r\n return\r\n }\r\n for (let i = 0; i < obj.PriceList.length; i++) {\r\n if (index != i) {\r\n obj.PriceList[i].isSelect = false\r\n } else {\r\n obj.PriceList[i].isSelect = true\r\n this.setState({ totalPrice: obj.PriceList[i].price })\r\n }\r\n\r\n var lst = obj.PriceList[i].OptionList\r\n for (let k = 0; k <= lst.length - 1; k++) {\r\n if (lst[k].isSelectAll) {\r\n obj.PriceList[i].OptionList[k].isSelect = true\r\n } else {\r\n if (lst[k].isCompulsory) {\r\n if (k > 0) {\r\n if (lst[k - 1].isCompulsory == true && obj.PriceList[i].OptionList[k].labelText == lst[k - 1].labelText) {\r\n obj.PriceList[i].OptionList[k].isSelect = false\r\n } else {\r\n obj.PriceList[i].OptionList[k].isSelect = true\r\n }\r\n } else {\r\n obj.PriceList[i].OptionList[k].isSelect = true\r\n }\r\n } else {\r\n obj.PriceList[i].OptionList[k].isSelect = false\r\n }\r\n }\r\n }\r\n }\r\n\r\n // let priceFilter = this.state.itemObject.PriceList.filter((price) => (price.isSelect == true))\r\n // var plPrice = priceFilter[0].price\r\n\r\n // let optionFilter = priceFilter[0].OptionList.filter((option) => (option.isSelect == true))\r\n // let arryoptions = optionFilter.map((options) => (Number(options.price)))\r\n // var sum = 0 \r\n // if (arryoptions.length > 0 ) {\r\n // sum = arryoptions.reduce((result,number)=> result+number) + plPrice;\r\n // } else {\r\n // sum += plPrice\r\n // }\r\n\r\n this.setState({ itemObject: obj, totalPrice: this.countPrice() * this.state.qty })\r\n }\r\n\r\n renderPriceOption() {\r\n var arrReturn = []\r\n\r\n this.state.itemObject.PriceList.map(((priceOptions, index) => {\r\n arrReturn.push(\r\n { this.onPriceClick(index) }} key={index}>\r\n
  • \r\n \r\n \r\n
  • \r\n
    \r\n )\r\n }))\r\n if (arrReturn.length > 1) {\r\n return (\r\n
    \r\n
      \r\n {arrReturn}\r\n
    \r\n
    \r\n )\r\n }\r\n \r\n }\r\n\r\n renderOptionMenu() {\r\n // console.log('renderOptionMenu ----- ')\r\n\r\n for (var i = 0; i < this.state.itemObject.PriceList.length; i++) {\r\n\r\n if (this.state.itemObject.PriceList[i].isSelect) {\r\n var arrayTitle = []\r\n let optList = this.state.itemObject.PriceList[i].OptionList\r\n\r\n optList.map((data) => {\r\n\r\n var temp = arrayTitle.filter(obj => (obj == data.labelText))\r\n if (temp.length == 0) {\r\n arrayTitle.push(data.labelText)\r\n }\r\n })\r\n var arrReturn = [] \r\n for (var k = 0; k <= arrayTitle.length - 1; k++) {\r\n arrReturn.push(\r\n
    \r\n

    {arrayTitle[k]}

    \r\n
      \r\n {this.renderOptions(arrayTitle[k])}\r\n
    \r\n
    \r\n )\r\n }\r\n return arrReturn\r\n break\r\n }\r\n }\r\n }\r\n\r\n onQtyChanged(type) {\r\n var q = this.state.qty\r\n if (type == 0) {\r\n if (q > 1) {\r\n q -= 1\r\n }\r\n } else {\r\n q += 1\r\n }\r\n this.setState({ qty: q, totalPrice: q * this.countPrice() })\r\n\r\n }\r\n\r\n countPrice = () => {\r\n\r\n\r\n //get selected option\r\n let PriceListFilter = this.state.itemObject.PriceList.filter((price) => (price.isSelect == true))\r\n let optionPrice = PriceListFilter[0].price\r\n\r\n\r\n //get topping price from suboption sum\r\n let toppoingPrice = 0;\r\n let optionlist = PriceListFilter[0].OptionList\r\n\r\n for (let i = 0; i < optionlist.length; i++) {\r\n \r\n if (optionlist[i].subOption.length > 0) {\r\n for (let j = 0; j < optionlist[i].subOption.length; j++) {\r\n if (optionlist[i].subOption[j].isSelect) {\r\n toppoingPrice = toppoingPrice + optionlist[i].subOption[j].price;\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n var sum = 0\r\n if(PriceListFilter[0].isSelect == true){\r\n sum = optionPrice + toppoingPrice //sum of toppingprice + option price\r\n }\r\n else{\r\n sum += optionPrice //Only Option price\r\n }\r\n return sum\r\n\r\n }\r\n\r\n\r\n renderMenuStatus(status) {\r\n if(!status) {\r\n return\r\n }\r\n let obj = []\r\n status.map((data,index) => (\r\n obj.push(\r\n
  • \r\n \r\n {/* \r\n \r\n */}\r\n
  • \r\n )\r\n ))\r\n return obj\r\n }\r\n\r\n onAddToCart() {\r\n\r\n \r\n //Check for add or add to cart\r\n if (!this.props.isEdit) {\r\n\r\n if(!this.getSelectedItems()){\r\n return false\r\n }\r\n\r\n //add to cart item\r\n this.state.itemObject.totalQty = this.state.qty\r\n this.state.itemObject.totalPrice = this.countPrice() * this.state.qty\r\n\r\n if (localStorage.hasOwnProperty(Constants.USERCART)) {\r\n // let userObject = localStorage.getItem(Constants.USERCART);\r\n let userObject = getSecureData(Constants.USERCART);\r\n\r\n if (userObject !== null) {\r\n // userObject = JSON.parse(userObject);\r\n // let cartData = JSON.parse(localStorage.getItem(Constants.USERCART))\r\n let cartData = getSecureData(Constants.USERCART)\r\n\r\n console.log('Cart Data --- ', JSON.stringify(cartData))\r\n console.log('itemObject --- ', JSON.stringify(this.state.itemObject))\r\n\r\n var shouldUpdate = false\r\n var updateAt = 0\r\n if (cartData.length > 0) {\r\n\r\n //check menu item id available and matched \r\n cartData.map((cartObject, index) => {\r\n if (cartObject.menuitemId == this.state.itemObject.menuitemId) {\r\n let cartPriceType = cartObject.PriceList.filter(data => (data.isSelect == true))\r\n let itemPriceType = this.state.itemObject.PriceList.filter(data => (data.isSelect == true))\r\n\r\n console.log('cartPriceType ----- ', cartPriceType)\r\n console.log('itemPriceType ----- ', itemPriceType)\r\n\r\n //compare selected price type\r\n if (cartPriceType[0].typeid == itemPriceType[0].typeid) {\r\n //get selected options list type \r\n let cartOptions = cartPriceType[0].OptionList.filter(opt => (opt.isSelect == true))\r\n let itemOptions = itemPriceType[0].OptionList.filter(opt => (opt.isSelect == true))\r\n\r\n var arrayCartOpt = []\r\n cartOptions.map(cartopt => (\r\n arrayCartOpt.push(cartopt.typeid)\r\n ))\r\n var arrayItemOpt = []\r\n itemOptions.map(itemopt => (\r\n arrayItemOpt.push(itemopt.typeid)\r\n ))\r\n console.log('arrayCartOpt ----- ', arrayCartOpt)\r\n console.log('arrayItemOpt ----- ', arrayItemOpt)\r\n\r\n console.log('itemOptions1 ----- ', cartOptions)\r\n console.log('itemOption2 ----- ', itemOptions)\r\n //compare selected options list\r\n // if (JSON.stringify(arrayCartOpt) == JSON.stringify(arrayItemOpt) ) {\r\n\r\n // if (JSON.stringify(arrayCartOpt) == JSON.stringify(arrayItemOpt) && JSON.stringify(cartPriceType[0].OptionList) == JSON.stringify(itemPriceType[0].OptionList)) {\r\n \r\n if (JSON.stringify(cartPriceType[0].OptionList) == JSON.stringify(itemPriceType[0].OptionList)) {\r\n shouldUpdate = true\r\n updateAt = index\r\n console.log('Both object are same......')\r\n } else {\r\n console.log('Both object are not same......')\r\n }\r\n }\r\n }\r\n })\r\n }\r\n\r\n if (shouldUpdate) {\r\n\r\n let oldQty = cartData[updateAt].totalQty\r\n let oldPrice = cartData[updateAt].totalPrice\r\n\r\n console.log('item data should update at --- ', updateAt,)\r\n //add new qty and price in cart item\r\n cartData[updateAt].totalQty += this.state.itemObject.totalQty\r\n cartData[updateAt].totalPrice += this.state.itemObject.totalPrice\r\n\r\n // localStorage.setItem(Constants.USERCART,JSON.stringify(cartData))\r\n setSecureData(Constants.USERCART, cartData)\r\n } else {\r\n\r\n console.log('add item in cart')\r\n cartData.push(this.state.itemObject)\r\n // localStorage.setItem(Constants.USERCART,JSON.stringify(cartData))\r\n setSecureData(Constants.USERCART, cartData)\r\n }\r\n //close item popup\r\n // this.props.onClose({ isHide: true, isNewItem: !shouldUpdate })\r\n this.props.onClose({ isHide: true, isNewItem: true })\r\n } else {\r\n // localStorage.setItem(Constants.USERCART,JSON.stringify([this.state.itemObject]))\r\n setSecureData(Constants.USERCART, [this.state.itemObject])\r\n //close item popup\r\n this.props.onClose({ isHide: true, isNewItem: true })\r\n }\r\n } else {\r\n // localStorage.setItem(Constants.USERCART,JSON.stringify([this.state.itemObject]))\r\n setSecureData(Constants.USERCART, [this.state.itemObject])\r\n //close item popup\r\n this.props.onClose({ isHide: true, isNewItem: true })\r\n }\r\n\r\n } else {\r\n //edit item\r\n console.log('edit existing item')\r\n // let cartData = JSON.parse(localStorage.getItem(Constants.USERCART))\r\n\r\n if(!this.getSelectedItems()){\r\n return false\r\n }\r\n let cartData = getSecureData(Constants.USERCART)\r\n\r\n cartData[this.props.editIndex].PriceList = this.state.itemObject.PriceList\r\n cartData[this.props.editIndex].isReOrderedItem = false\r\n\r\n console.log('item data should edit at --- ', this.props.editIndex, this.state.qty, this.state.totalPrice)\r\n //add new qty and price in cart item\r\n cartData[this.props.editIndex].totalQty = this.state.qty\r\n cartData[this.props.editIndex].totalPrice = this.state.totalPrice\r\n console.log('updated data ----- ', cartData)\r\n // localStorage.setItem(Constants.USERCART,JSON.stringify(cartData))\r\n setSecureData(Constants.USERCART, cartData)\r\n setTimeout(() => {\r\n //close item popup\r\n this.props.onClose({ isHide: true })\r\n }, 200);\r\n\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n\r\n getSelectedItems = () => {\r\n let i = 0;\r\n\r\n let isAnySingleItemSelecte = false;\r\n\r\n // create tempOption for added only selected items\r\n let localSelectedItemObject = this.state.itemObject;\r\n\r\n console.log(\"localSelectedItemObject\",localSelectedItemObject)\r\n // return\r\n // isValidaMinItemSeelcted = false\r\n //for (let i = 0; i < localSelectedItemObject.PriceList.length; i++) {\r\n for (\r\n let k = 0;\r\n k < localSelectedItemObject.PriceList[i].OptionList.length;\r\n k++\r\n ) {\r\n \r\n if (\r\n localSelectedItemObject.PriceList[i].OptionList[k].minselection != 0\r\n ) {\r\n let minValue =\r\n localSelectedItemObject.PriceList[i].OptionList[k].minselection;\r\n let optionParamName =\r\n localSelectedItemObject.PriceList[i].OptionList[k].labelText;\r\n // let minValue = 2\r\n\r\n let minCounter = 0;\r\n for (\r\n let j = 0;\r\n j <\r\n localSelectedItemObject.PriceList[i].OptionList[k].subOption.length;\r\n j++\r\n ) {\r\n if (\r\n localSelectedItemObject.PriceList[i].OptionList[k].subOption[j]\r\n .isSelect\r\n ) {\r\n isAnySingleItemSelecte = true;\r\n minCounter = minCounter + 1;\r\n }\r\n }\r\n if (isAnySingleItemSelecte) {\r\n if (minCounter < minValue) {\r\n let msg = `Please select a minimum of ${minValue} options from '${optionParamName}'`;\r\n // msg = msg.replace(\"%\", minValue);\r\n // msg = msg.replace(\"@\", optionParamName);\r\n\r\n // this.setState({\r\n // alertMessage: msg,\r\n // isDialogVisible: true,\r\n // });\r\n alert(msg);\r\n return false\r\n }\r\n else{\r\n i++\r\n return true\r\n }\r\n }\r\n else{\r\n i++\r\n return true\r\n }\r\n \r\n }\r\n else{\r\n i++\r\n return true\r\n }\r\n\r\n \r\n }\r\n\r\n return true\r\n \r\n };\r\n\r\n getSelectedItems1 = () => {\r\n // console.log(JSON.stringify(this.state.itemlist))\r\n let i = 0;//selectedMenuParentPostion;\r\n\r\n let isAnySingleItemSelecte = false;\r\n\r\n // create tempOption for added only selected items\r\n let localSelectedItemObject = this.state.itemObject;\r\n\r\n console.log(\"localSelectedItemObject\",localSelectedItemObject)\r\n // return\r\n // isValidaMinItemSeelcted = false\r\n //for (let i = 0; i < localSelectedItemObject.PriceList.length; i++) {\r\n for (\r\n let k = 0;\r\n k < localSelectedItemObject.PriceList[i].OptionList.length;\r\n k++\r\n ) {\r\n if (\r\n localSelectedItemObject.PriceList[i].OptionList[k].minselection != 0\r\n ) {\r\n let minValue =\r\n localSelectedItemObject.PriceList[i].OptionList[k].minselection;\r\n let optionParamName =\r\n localSelectedItemObject.PriceList[i].OptionList[k].labelText;\r\n // let minValue = 2\r\n\r\n let minCounter = 0;\r\n for (\r\n let j = 0;\r\n j <\r\n localSelectedItemObject.PriceList[i].OptionList[k].subOption.length;\r\n j++\r\n ) {\r\n if (\r\n localSelectedItemObject.PriceList[i].OptionList[k].subOption[j]\r\n .isSelect\r\n ) {\r\n isAnySingleItemSelecte = true;\r\n minCounter = minCounter + 1;\r\n }\r\n }\r\n if (isAnySingleItemSelecte) {\r\n if (minCounter < minValue) {\r\n let msg = `Please select a minimum of ${minValue} options from '${optionParamName}'`;\r\n // msg = msg.replace(\"%\", minValue);\r\n // msg = msg.replace(\"@\", optionParamName);\r\n\r\n // this.setState({\r\n // alertMessage: msg,\r\n // isDialogVisible: true,\r\n // });\r\n alert(msg);\r\n return false\r\n }\r\n else{\r\n return true\r\n }\r\n }\r\n }\r\n }\r\n \r\n };\r\n\r\n render() {\r\n\r\n console.log('Popup Item Object ----- ', this.state.itemObject)\r\n\r\n return (\r\n\r\n this.props.onClose({ isHide: false })}\r\n size=\"sm\"\r\n aria-labelledby=\"contained-modal-title-vcenter\"\r\n centered\r\n >\r\n\r\n \r\n {/*
    \r\n \r\n \r\n
    */}\r\n
    \r\n \r\n {/*
    \r\n

    {this.props.itemData.menuItemName}

    \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

    {this.state.itemObject.menuItemName}

    \r\n

    {this.state.itemObject.description}

    \r\n {/*
    \r\n
    \r\n \r\n
    \r\n {this.renderPriceOption()}\r\n {this.renderOptionMenu()}\r\n
    \r\n
    */}\r\n
    \r\n
    0 ? \"prd-img\" : \"prd-noimg\"}>\r\n \r\n {\r\n this.state.customerId > 0 && this.props.isFavShow == true\r\n ?\r\n
    \r\n {\r\n this.state.itemObject.isFavoriteMenu\r\n ?\r\n
    {this.props.onAddDlt(this.state.itemObject,'DeleteFavorite')}} className=\"itempopup_heartIcon rounded-circle\">
    \r\n :\r\n
    {this.props.onAddDlt(this.state.itemObject,'addFavorite')}} className=\"itempopup_heartIcon rounded-circle\">
    \r\n\r\n }\r\n
    \r\n :\r\n null\r\n }\r\n \r\n

    {this.state.itemObject.menuItemName}

    \r\n
    \r\n
    \r\n
      \r\n {this.renderMenuStatus(this.state.itemObject.MenuStausList)}\r\n
    \r\n \r\n {this.renderPriceOption()}\r\n {this.renderOptionMenu()}\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

    {Strings.lbl_quantity_react}

    \r\n
    \r\n {this.onQtyChanged(0)}}>-\r\n \r\n {this.onQtyChanged(1)}}>+\r\n
    \r\n
    \r\n

    {Strings.Total_web}: \r\n {getPriceFormat(this.state.totalPrice.toFixed(2))}\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 withRouter(ItemPopup);","import React, { Component } from \"react\";\r\n\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport * as HGActions from \"../Redux/actions/HGActions\";\r\n\r\nimport Constants from \"../constants/baseConstants\";\r\nimport { Strings } from \"../constants/Localization\";\r\nimport Modal from \"react-bootstrap/Modal\";\r\nimport { getSecureData } from \"../Utils/utils\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faCircle, faCheckCircle } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nclass AddressPopup extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n arrayAddress: this.props.addressList.AddressLists,\r\n selectedIndex: null,\r\n languageType: 1,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n //Get messagelist from localstorage\r\n // let session = localStorage.getItem(Constants.PRE_MESSAGE_LIST);\r\n // let mLanguageType = localStorage.getItem(Constants.PRE_LANGUAGE_TYPE);\r\n let session = getSecureData(Constants.PRE_MESSAGE_LIST);\r\n let mLanguageType = getSecureData(Constants.PRE_LANGUAGE_TYPE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage(\"en\"); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType });\r\n } else {\r\n if (mLanguageType != null) {\r\n Strings.setLanguage(\"es\"); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType });\r\n }\r\n }\r\n } else {\r\n Strings.setLanguage(\"en\"); //Setting default language code here\r\n }\r\n }\r\n\r\n onDeleteAddress(index) {\r\n let objAdd = this.state.arrayAddress[index];\r\n let addressId = objAdd?.deliveryaddressId;\r\n this.props.deleteAddressAPI(addressId).then(() => {\r\n console.log(\"deleteAddressAPI response ----- \", this.props.data.result);\r\n if (this.props.data.status == 1) {\r\n setTimeout(() => {\r\n var tempArray = this.state.arrayAddress;\r\n let index = tempArray.indexOf(objAdd);\r\n if (index >= -1) {\r\n tempArray.splice(index, 1);\r\n }\r\n this.setState({ arrayAddress: tempArray });\r\n this.props.onDeleteAddress();\r\n }, 500);\r\n } else {\r\n }\r\n });\r\n }\r\n\r\n onSelect(i) {\r\n console.log(\"selected index ----- \", i);\r\n this.setState({ selectedIndex: i });\r\n }\r\n\r\n renderAddressList() {\r\n let arr = [];\r\n if (!this.state.arrayAddress) {\r\n arr.push();\r\n return arr;\r\n }\r\n this.state.arrayAddress.map((address, index) => {\r\n arr.push(\r\n //
    \r\n // this.onSelect(index)}/>\r\n //
    \r\n //
    \r\n // {address.address2 ? : null }\r\n // \r\n //
    \r\n //
    \r\n
  • \r\n
    this.onSelect(index)}>\r\n {/*
    \r\n \r\n \r\n
    */}\r\n\r\n \r\n \r\n this.onDeleteAddress(index)}\r\n >\r\n \r\n \r\n
    \r\n
  • \r\n );\r\n });\r\n return arr;\r\n }\r\n\r\n onSelectAddressClick() {\r\n if (!this.state.arrayAddress) {\r\n return;\r\n }\r\n\r\n console.log(\r\n \"this.state.arrayAddress[this.state.selectedIndex].deliveryaddressId\",\r\n this.state.arrayAddress[this.state.selectedIndex]\r\n );\r\n\r\n this.props.onHideAddressView(\r\n this.state.arrayAddress[\r\n this.state.selectedIndex ? this.state.selectedIndex : 0\r\n ]\r\n );\r\n return this.props\r\n .checkDeliveryAddressID(\r\n this.state.languageType,\r\n this.state.arrayAddress[\r\n this.state.selectedIndex ? this.state.selectedIndex : 0\r\n ]?.deliveryaddressId\r\n )\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n setTimeout(() => {\r\n if (this.props.data.result.delivery) {\r\n //valid address\r\n this.props.onHideAddressView(\r\n this.state.arrayAddress[\r\n this.state.selectedIndex ? this.state.selectedIndex : 0\r\n ]\r\n );\r\n }\r\n }, 100);\r\n } else {\r\n alert(this.props.data.message);\r\n }\r\n });\r\n }\r\n\r\n onAddNewAddress() {\r\n this.props.onAddNewAddress();\r\n }\r\n\r\n render() {\r\n return (\r\n {\r\n this.props.onHideAddressView();\r\n }}\r\n size=\"sm\"\r\n aria-labelledby=\"contained-modal-title-vcenter\"\r\n centered\r\n >\r\n \r\n {/*
    \r\n \r\n \r\n
    */}\r\n
    \r\n \r\n {/*
    \r\n \r\n {this.renderAddressList()}\r\n \r\n \r\n
    */}\r\n
    \r\n

    {Strings.select_address}

    \r\n\r\n
    \r\n
      {this.renderAddressList()}
    \r\n
    \r\n\r\n
    \r\n {\r\n this.onAddNewAddress();\r\n }}\r\n >\r\n {Strings.str_add_new_address}s\r\n \r\n {\r\n this.onSelectAddressClick();\r\n }}\r\n >\r\n {Strings.select_address}\r\n \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n console.log(\"isLoaging Address Popup ------- \" + state.HGReducers.isLoading);\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n deleteAddressAPI: (addressId) =>\r\n dispatch(HGActions.initDeleteDeliveryAddressAPI(addressId)),\r\n checkDeliveryAddressID: (languageType, deliveryaddressId) =>\r\n dispatch(\r\n HGActions.initCheckDeliveryAddressAPI(languageType, deliveryaddressId)\r\n ),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AddressPopup);\r\n","import React, { Component } from \"react\";\r\n\r\nimport {withRouter} from 'react-router-dom';\r\n\r\nimport Constants from '../constants/baseConstants';\r\nimport {Strings} from '../constants/Localization';\r\n\r\nimport Modal from 'react-bootstrap/Modal'\r\n\r\n\r\nclass PaymentMethod extends Component {\r\n \r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n paymentType: 0,\r\n }\r\n }\r\n\r\n onSelectTypes(index) {\r\n // this.setState({paymentType: index})\r\n setTimeout(() => {\r\n this.props.isHide(index)\r\n }, 100);\r\n }\r\n\r\n render() {\r\n\r\n console.log('this.props',this.props)\r\n return (\r\n {this.props.isHide()}}\r\n size=\"sm\"\r\n aria-labelledby=\"contained-modal-title-vcenter\"\r\n centered>\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*

    {Strings.payment_type}

    */}\r\n
    \r\n {/*
    {this.onSelectTypes(1)}}>\r\n \r\n
    \r\n
    {this.onSelectTypes(3)}}>\r\n \r\n
    */}\r\n\r\n {(this.props.isCash) ?
    { this.onSelectTypes(1)}}>\r\n

    {Strings.pay_by_cash}

    \r\n
    : null}\r\n {(this.props.isCard && this.props.amount > 0) ?
    { this.onSelectTypes(3)}}>\r\n

    {Strings.pay_by_card}

    \r\n
    : null}\r\n
    \r\n
    \r\n {this.state.paymentType > 0 ? (\r\n
    \r\n \r\n
    \r\n ) : null}\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 PaymentMethod;","import React, { Component } from \"react\";\r\nimport Constants from \"../constants/baseConstants\";\r\nimport Modal from \"react-bootstrap/Modal\";\r\n\r\nimport {\r\n Route,\r\n NavLink,\r\n BrowserRouter as Router,\r\n Switch,\r\n Link,\r\n history,\r\n} from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport * as HGActions from \"../Redux/actions/HGActions\";\r\nimport { Strings } from \"../constants/Localization\";\r\nimport Constant from \"../constants/baseConstants\";\r\nimport { setSecureData, getSecureData } from \"../Utils/utils\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\n\r\nclass LoginForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n countryCode: \"+44\",\r\n phoneNumber: \"\",\r\n password: \"\",\r\n forgetPhoneNo: \"\",\r\n forgetCountryCode: \"+44\",\r\n socialId: \"\",\r\n loginType: 0,\r\n\r\n errors: {\r\n countryCodeError: \"\",\r\n phoneNumberError: \"\",\r\n passwordError: \"\",\r\n forgetCountryCodeError: \"\",\r\n forgetPhoneNumberError: \"\",\r\n },\r\n\r\n languageType: 1,\r\n };\r\n }\r\n\r\n // componentWillMount() {\r\n // this.setState({countryCodeError: '',\r\n // phoneNumberError: '',\r\n // passwordError: ''})\r\n // }\r\n\r\n onEnterPassword(event) {\r\n if (event.key === \"Enter\") {\r\n this.onSignInClick();\r\n }\r\n }\r\n\r\n onMobileEnter(str, type) {\r\n console.log(str);\r\n if (str.match(\"^[0-9]*$\") != null) {\r\n if (type == 1) {\r\n this.setState({ phoneNumber: str });\r\n } else if (type == 2) {\r\n this.setState({ forgetPhoneNo: str });\r\n }\r\n }\r\n }\r\n\r\n onSignInClick = () => {\r\n var ccodeerror =\r\n this.state.countryCode == \"0\" ? Strings.error_msg_country_code_react : \"\";\r\n var phError =\r\n this.state.phoneNumber.length < 9 ? Strings.error_msg_phone_no_react : \"\";\r\n var passError =\r\n this.state.password.length == 0 ? Strings.error_msg_password_react : \"\";\r\n\r\n this.setState({\r\n errors: {\r\n countryCodeError: ccodeerror,\r\n phoneNumberError: phError,\r\n passwordError: passError,\r\n },\r\n });\r\n\r\n setTimeout(() => {\r\n if (\r\n this.state.errors.countryCodeError == \"\" &&\r\n this.state.errors.phoneNumberError == \"\" &&\r\n this.state.errors.passwordError == \"\"\r\n ) {\r\n this.props\r\n .SignInAPICall(\r\n this.state.phoneNumber,\r\n this.state.countryCode,\r\n this.state.password,\r\n this.state.languageType\r\n )\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n setTimeout(() => {\r\n setSecureData(Constant.USEROBJECT, this.props.data.result);\r\n // this.props.history.goBack()\r\n this.props.onResponse();\r\n }, 100);\r\n }\r\n } else {\r\n alert(this.props.data.message);\r\n }\r\n });\r\n } else {\r\n console.error(\"Not valid form\");\r\n }\r\n }, 100);\r\n };\r\n\r\n onEnterForgotPassword = (event) => {\r\n console.log(event);\r\n if (event.key === \"Enter\") {\r\n this.validateForgetPassword();\r\n }\r\n };\r\n\r\n //Call Forget Passoword Api\r\n validateForgetPassword = () => {\r\n // event.preventDefault();\r\n\r\n var ccodeerror =\r\n this.state.forgetCountryCode == \"0\"\r\n ? Strings.error_msg_country_code_react\r\n : \"\";\r\n var phError =\r\n this.state.forgetPhoneNo.length < 9\r\n ? Strings.error_msg_phone_no_react\r\n : \"\";\r\n\r\n this.setState({\r\n errors: {\r\n forgetCountryCodeError: ccodeerror,\r\n forgetPhoneNumberError: phError,\r\n },\r\n });\r\n\r\n setTimeout(() => {\r\n if (\r\n this.state.errors.forgetCountryCodeError == \"\" &&\r\n this.state.errors.forgetPhoneNumberError == \"\"\r\n ) {\r\n this.props\r\n .forgetPasswordApi(\r\n this.state.forgetPhoneNo,\r\n this.state.forgetCountryCode,\r\n this.state.languageType\r\n )\r\n .then(() => {\r\n setTimeout(() => {\r\n if (this.props.data.status == 1) {\r\n this.setState({ forgetPhoneNo: \"\" });\r\n alert(this.props.data.message);\r\n } else {\r\n alert(this.props.error);\r\n }\r\n }, 100);\r\n });\r\n }\r\n }, 100);\r\n };\r\n\r\n render() {\r\n const CustomToggle = React.forwardRef(({ children, onClick }, ref) => (\r\n {\r\n e.preventDefault();\r\n onClick(e);\r\n }}\r\n className=\"form-control\"\r\n >\r\n {children}\r\n ▼\r\n \r\n ));\r\n\r\n // forwardRef again here!\r\n // Dropdown needs access to the DOM of the Menu to measure it\r\n const CustomMenu = React.forwardRef(\r\n ({ children, style, className, \"aria-labelledby\": labeledBy }, ref) => {\r\n // const [value, setValue] = useState('');\r\n const value = \"\";\r\n return (\r\n \r\n {/* alert(e.target.value)}\r\n value={value}\r\n /> */}\r\n
      \r\n {React.Children.toArray(children).filter(\r\n (child) =>\r\n !value || child.props.children.toLowerCase().startsWith(value)\r\n )}\r\n
    \r\n \r\n );\r\n }\r\n );\r\n return (\r\n <>\r\n {\r\n this.props.onResponse();\r\n }}\r\n size=\"sm\"\r\n animation={true}\r\n aria-labelledby=\"contained-modal-title-vcenter\"\r\n centered\r\n >\r\n \r\n \r\n
    \r\n {/*

    If you are existing customer then sign in with credentials.

    */}\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 this.onMobileEnter(e.target.value, 1)\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.errors.countryCodeError}\r\n \r\n \r\n {this.state.errors.phoneNumberError}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n this.onEnterPassword(event)}\r\n maxLength={75}\r\n value={this.state.password}\r\n onChange={(e) =>\r\n this.setState({ password: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n {this.state.errors.passwordError}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n this.props.onForget()}\r\n className=\"forgot\"\r\n >\r\n {Strings.lbl_forget_password_react}\r\n \r\n
    \r\n this.onSignInClick()}\r\n >\r\n {Strings.btn_signin_react}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n this.props.onSignUp()}\r\n >\r\n {Strings.btn_signup_react}\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\nfunction mapStateToProps(state) {\r\n console.log(\"isLoaging SignIn ------- \" + state.HGReducers.isLoading);\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n SignInAPICall: (phone, countryCode, password, languageType) =>\r\n dispatch(\r\n HGActions.initLoginCall(phone, countryCode, password, languageType)\r\n ),\r\n forgetPasswordApi: (forgetPhoneNo, forgetCountryCode, languageType) =>\r\n dispatch(\r\n HGActions.CallForgetPasswordApi(\r\n forgetPhoneNo,\r\n forgetCountryCode,\r\n languageType\r\n )\r\n ),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LoginForm);\r\n","import React, { Component } from \"react\";\r\nimport Constants from \"../constants/baseConstants\";\r\nimport Modal from \"react-bootstrap/Modal\";\r\n\r\nimport {\r\n Route,\r\n NavLink,\r\n BrowserRouter as Router,\r\n Switch,\r\n Link,\r\n history,\r\n} from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport * as HGActions from \"../Redux/actions/HGActions\";\r\nimport { Strings } from \"../constants/Localization\";\r\nimport Constant from \"../constants/baseConstants\";\r\nimport { setSecureData, getSecureData } from \"../Utils/utils\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\nimport CMS from \"./CMS\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faCircle, faCheckCircle } from \"@fortawesome/free-solid-svg-icons\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport moment from \"moment\";\r\n\r\nconst validEmailRegex = RegExp(\r\n /^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i\r\n);\r\n\r\nclass SignUpForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n name: \"\",\r\n countryCode: \"+44\",\r\n phoneNumber: \"\",\r\n email: \"\",\r\n password: \"\",\r\n gender: 1,\r\n birthDate: \"\",\r\n languageType: 1, //default language type\r\n isTandCSelect: false,\r\n isConsentCSelect: false,\r\n errors: {\r\n nameError: \"\",\r\n countryCodeError: \"\",\r\n phoneNumberError: \"\",\r\n emailError: \"\",\r\n passwordError: \"\",\r\n locationError: \"\",\r\n tAndCError: \"\",\r\n consentError: \"\",\r\n birthDateError: \"\",\r\n },\r\n\r\n isSocialSignUp: false,\r\n locationArray: [],\r\n locationIndex: -1,\r\n\r\n isShowCMS: false,\r\n cmsHref: \"\",\r\n };\r\n }\r\n\r\n onSignUpClick = (event) => {\r\n event.preventDefault();\r\n\r\n // this.props.history.push({pathname: '/MobileVerification'})\r\n // return\r\n var nmError =\r\n this.state.name.length == 0 ? Strings.error_msg_name_react : \"\";\r\n var ccodeerror =\r\n this.state.countryCode == \"0\" ? Strings.error_msg_country_code_react : \"\";\r\n var phError =\r\n this.state.phoneNumber.length < 9 ? Strings.error_msg_phone_no_react : \"\";\r\n var emlError =\r\n this.state.email.length == 0 ? Strings.error_msg_email_react : \"\";\r\n var passError =\r\n this.state.password.length == 0 ? Strings.error_msg_password_react : \"\";\r\n var locError = \"\"; //this.state.locationIndex == -1 ? Strings.please_select_location : '';\r\n var birthDateError =\r\n this.state.birthDate == \"\" ? Strings.error_msg_birth_react : \"\";\r\n var terror = this.state.isTandCSelect ? \"\" : Strings.msgTandC;\r\n var cerror = this.state.isConsentCSelect ? \"\" : Strings.msgConsent;\r\n\r\n if (emlError.length == 0) {\r\n validEmailRegex.test(this.state.email) == false\r\n ? (emlError = Strings.error_msg_valid_email_react)\r\n : (emlError = \"\");\r\n }\r\n\r\n this.setState({\r\n errors: {\r\n locationError: locError,\r\n nameError: nmError,\r\n countryCodeError: ccodeerror,\r\n phoneNumberError: phError,\r\n emailError: emlError,\r\n passwordError: passError,\r\n tAndCError: terror,\r\n consentError: cerror,\r\n birthDateError: birthDateError,\r\n },\r\n });\r\n\r\n setTimeout(() => {\r\n if (\r\n this.state.errors.nameError == \"\" &&\r\n this.state.errors.countryCodeError == \"\" &&\r\n this.state.errors.phoneNumberError == \"\" &&\r\n this.state.errors.emailError == \"\" &&\r\n this.state.errors.passwordError == \"\" &&\r\n this.state.errors.locationError == \"\" &&\r\n this.state.errors.tAndCError == \"\" &&\r\n this.state.errors.consentError == \"\" &&\r\n this.state.errors.birthDateError == \"\"\r\n ) {\r\n console.info(\"Valid form\");\r\n\r\n this.props\r\n .SignUpAPICall(\r\n getSecureData(Constant.LOCATIONOBJECT).locationId,\r\n 0,\r\n this.state.name,\r\n this.state.countryCode,\r\n this.state.phoneNumber,\r\n this.state.email,\r\n this.state.password,\r\n this.state.languageType,\r\n this.state.gender,\r\n this.state.birthDate\r\n )\r\n .then(() => {\r\n console.log(\"SIGNUP RESPONSE --------- \", this.props.data);\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n setTimeout(() => {\r\n let result = this.props.data.result;\r\n setSecureData(Constant.USEROBJECT, this.props.data.result);\r\n this.props.onResponse();\r\n }, 100);\r\n }\r\n } else {\r\n alert(this.props.data.message);\r\n console.log(\"sign up status else...\");\r\n }\r\n });\r\n } else {\r\n console.error(\"Not valid form\");\r\n }\r\n }, 100);\r\n };\r\n\r\n onMobileEnter(str) {\r\n if (str.match(\"^[0-9]*$\") != null) {\r\n this.setState({ phoneNumber: str });\r\n }\r\n }\r\n\r\n onTandC(i) {\r\n if (i == 1) {\r\n this.setState({ isTandCSelect: !this.state.isTandCSelect });\r\n } else if (i == 2) {\r\n this.setState({ isConsentCSelect: !this.state.isConsentCSelect });\r\n }\r\n }\r\n\r\n render() {\r\n const CustomToggle = React.forwardRef(({ children, onClick }, ref) => (\r\n {\r\n e.preventDefault();\r\n onClick(e);\r\n }}\r\n className=\"form-control\"\r\n >\r\n {children}\r\n ▼\r\n \r\n ));\r\n\r\n // forwardRef again here!\r\n // Dropdown needs access to the DOM of the Menu to measure it\r\n const CustomMenu = React.forwardRef(\r\n ({ children, style, className, \"aria-labelledby\": labeledBy }, ref) => {\r\n // const [value, setValue] = useState('');\r\n const value = \"\";\r\n return (\r\n \r\n {/* alert(e.target.value)}\r\n value={value}\r\n /> */}\r\n
      \r\n {React.Children.toArray(children).filter(\r\n (child) =>\r\n !value || child.props.children.toLowerCase().startsWith(value)\r\n )}\r\n
    \r\n \r\n );\r\n }\r\n );\r\n return (\r\n {\r\n this.props.onResponse();\r\n }}\r\n size=\"sm\"\r\n animation={true}\r\n aria-labelledby=\"contained-modal-title-vcenter\"\r\n centered\r\n >\r\n \r\n \r\n \r\n {/*

    {Strings.btn_signup_react}

    */}\r\n

    \r\n \r\n

    \r\n this.setState({ isShowCMS: false })}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n this.setState({ name: e.target.value })}\r\n tabIndex=\"1\"\r\n />\r\n
    \r\n \r\n {this.state.errors.nameError}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n this.setState({ email: e.target.value })}\r\n tabIndex=\"3\"\r\n />\r\n
    \r\n \r\n {this.state.errors.emailError}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* */}\r\n \r\n {/* */}\r\n {/* this.setState({ countryCode: e })}>\r\n \r\n {this.state.countryCode == 0 ? \"Code \" : this.state.countryCode}\r\n \r\n \r\n +7\r\n +30\r\n +31\r\n +32\r\n +33\r\n +34\r\n +36\r\n +39\r\n +40\r\n +41\r\n +43\r\n +44\r\n +45\r\n +46\r\n +47\r\n +48\r\n +49\r\n +90\r\n +298\r\n +350\r\n +351\r\n +352\r\n +353\r\n +354\r\n +355\r\n +356\r\n +357\r\n +358\r\n +359\r\n +370\r\n +371\r\n +372\r\n +373\r\n +374\r\n +375\r\n +376\r\n +377\r\n +378\r\n +379\r\n +380\r\n +381\r\n +382\r\n +383\r\n +385\r\n +386\r\n +387\r\n +389\r\n +420\r\n +421\r\n +423\r\n +994\r\n +995\r\n +3491\r\n +91\r\n \r\n */}\r\n
    \r\n
    \r\n this.onMobileEnter(e.target.value)}\r\n tabIndex=\"2\"\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.errors.countryCodeError}\r\n \r\n \r\n {this.state.errors.phoneNumberError}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {/* this.setState({ birthDate: e.target.value })} /> */}\r\n {\r\n this.setState({ birthDate: date });\r\n }}\r\n selected={this.state.birthDate}\r\n name=\"birthDate\"\r\n className=\"form-control\"\r\n dateFormat=\"dd/MM/yyyy\"\r\n />\r\n {/* */}\r\n
    \r\n \r\n {this.state.errors.birthDateError}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n this.setState({ password: e.target.value })\r\n }\r\n tabIndex=\"4\"\r\n />\r\n
    \r\n \r\n {this.state.errors.passwordError}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ gender: 1 })}\r\n checked={this.state.gender === 1}\r\n />\r\n {\r\n this.setState({ gender: 1 });\r\n }}\r\n className=\"form-check-label\"\r\n for=\"inlineRadio1\"\r\n >\r\n \r\n {\" \"}\r\n {\" \"}\r\n {\" \"} Male\r\n \r\n
    \r\n
    \r\n this.setState({ gender: 2 })}\r\n checked={this.state.gender === 2}\r\n />\r\n {\r\n this.setState({ gender: 2 });\r\n }}\r\n className=\"form-check-label\"\r\n for=\"inlineRadio2\"\r\n >\r\n \r\n {\" \"}\r\n {\" \"}\r\n {\" \"}Female\r\n \r\n
    \r\n {/*
    \r\n {this.state.errors.emailError}\r\n
    */}\r\n
    \r\n\r\n
    \r\n
    \r\n {/* { this.onTandC(1) }}/> */}\r\n {this.state.isTandCSelect ? (\r\n {\r\n this.onTandC(1);\r\n }}\r\n >\r\n \r\n \r\n ) : (\r\n {\r\n this.onTandC(1);\r\n }}\r\n >\r\n \r\n \r\n )}\r\n {\r\n this.setState({\r\n cmsHref:\r\n \"http://culto.smartrestaurants.com/frmtermsandcondition.aspx\",\r\n // isShowCMS: true,\r\n });\r\n return window\r\n .open(\r\n \"http://culto.smartrestaurants.com/frmtermsandcondition.aspx\",\r\n \"_blank\"\r\n )\r\n .focus();\r\n }}\r\n >\r\n {Strings.lblTandC}\r\n \r\n
    \r\n
    \r\n \r\n {this.state.errors.tAndCError}\r\n \r\n
    \r\n
    \r\n {/* { this.onTandC(2) }}/> */}\r\n {this.state.isConsentCSelect ? (\r\n {\r\n this.onTandC(2);\r\n }}\r\n size=\"20px\"\r\n icon={faCheckCircle}\r\n >\r\n \r\n \r\n ) : (\r\n {\r\n this.onTandC(2);\r\n }}\r\n class=\"fa fa-circle-o\"\r\n aria-hidden=\"true\"\r\n >\r\n \r\n \r\n )}\r\n\r\n {\r\n this.setState({\r\n cmsHref:\r\n \"http://culto.smartrestaurants.com/frmPrivacyNotice.aspx\",\r\n // isShowCMS: true,\r\n });\r\n return window\r\n .open(\r\n \"http://culto.smartrestaurants.com/frmPrivacyNotice.aspx\",\r\n \"_blank\"\r\n )\r\n .focus();\r\n }}\r\n >\r\n {Strings.lblConsent}\r\n \r\n
    \r\n
    \r\n \r\n {this.state.errors.consentError}\r\n \r\n
    \r\n
    \r\n {/*
    \r\n \r\n {this.renderLocationList()}\r\n
    \r\n {this.state.errors.locationError}\r\n
    \r\n
    */}\r\n
    \r\n {/* {Strings.btn_signup_react} */}\r\n \r\n {Strings.btn_signup_react}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n console.log(\"isLoaging SignUp ------- \" + state.HGReducers.isLoading);\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n SignUpAPICall: (\r\n locationId,\r\n customerId,\r\n name,\r\n countrycode,\r\n phone,\r\n email,\r\n password,\r\n languageType,\r\n gender,\r\n birthDate\r\n ) =>\r\n dispatch(\r\n HGActions.initRegistrationCall(\r\n locationId,\r\n customerId,\r\n name,\r\n countrycode,\r\n phone,\r\n email,\r\n password,\r\n languageType,\r\n gender,\r\n birthDate\r\n )\r\n ),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SignUpForm);\r\n","import React, { Component } from \"react\";\r\nimport Constants from \"../constants/baseConstants\";\r\nimport Modal from \"react-bootstrap/Modal\";\r\n\r\nimport {\r\n Route,\r\n NavLink,\r\n BrowserRouter as Router,\r\n Switch,\r\n Link,\r\n history,\r\n} from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport * as HGActions from \"../Redux/actions/HGActions\";\r\nimport { Strings } from \"../constants/Localization\";\r\nimport Constant from \"../constants/baseConstants\";\r\nimport { setSecureData, getSecureData } from \"../Utils/utils\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\n\r\nclass ForgetForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n countryCode: \"+44\",\r\n phoneNumber: \"\",\r\n password: \"\",\r\n forgetPhoneNo: \"\",\r\n forgetCountryCode: \"+44\",\r\n socialId: \"\",\r\n loginType: 0,\r\n\r\n errors: {\r\n countryCodeError: \"\",\r\n phoneNumberError: \"\",\r\n passwordError: \"\",\r\n forgetCountryCodeError: \"\",\r\n forgetPhoneNumberError: \"\",\r\n },\r\n\r\n languageType: 1,\r\n };\r\n }\r\n\r\n onEnterPassword(event) {\r\n if (event.key === \"Enter\") {\r\n this.onSignInClick();\r\n }\r\n }\r\n\r\n onMobileEnter(str, type) {\r\n console.log(str);\r\n if (str.match(\"^[0-9]*$\") != null) {\r\n if (type == 1) {\r\n this.setState({ phoneNumber: str });\r\n } else if (type == 2) {\r\n this.setState({ forgetPhoneNo: str });\r\n }\r\n }\r\n }\r\n\r\n onEnterForgotPassword = (event) => {\r\n console.log(event);\r\n if (event.key === \"Enter\") {\r\n this.validateForgetPassword();\r\n }\r\n };\r\n\r\n //Call Forget Passoword Api\r\n validateForgetPassword = () => {\r\n // event.preventDefault();\r\n\r\n var ccodeerror =\r\n this.state.forgetCountryCode == \"0\"\r\n ? Strings.error_msg_country_code_react\r\n : \"\";\r\n var phError =\r\n this.state.forgetPhoneNo.length < 9\r\n ? Strings.error_msg_phone_no_react\r\n : \"\";\r\n\r\n this.setState({\r\n errors: {\r\n forgetCountryCodeError: ccodeerror,\r\n forgetPhoneNumberError: phError,\r\n },\r\n });\r\n\r\n setTimeout(() => {\r\n if (\r\n this.state.errors.forgetCountryCodeError == \"\" &&\r\n this.state.errors.forgetPhoneNumberError == \"\"\r\n ) {\r\n this.props\r\n .forgetPasswordApi(\r\n this.state.forgetPhoneNo,\r\n this.state.forgetCountryCode,\r\n this.state.languageType\r\n )\r\n .then(() => {\r\n setTimeout(() => {\r\n if (this.props.data.status == 1) {\r\n alert(this.props.data.message);\r\n } else {\r\n alert(this.props.error);\r\n }\r\n }, 100);\r\n });\r\n }\r\n }, 100);\r\n };\r\n\r\n render() {\r\n return (\r\n <>\r\n {\r\n this.props.onResponse();\r\n }}\r\n size=\"sm\"\r\n animation={true}\r\n aria-labelledby=\"contained-modal-title-vcenter\"\r\n centered\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 this.onEnterForgotPassword(event)\r\n }\r\n name=\"forgetPhoneNo\"\r\n value={this.state.forgetPhoneNo}\r\n onChange={(e) => {\r\n this.onMobileEnter(e.target.value, 2);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.errors.forgetCountryCodeError}\r\n \r\n \r\n {this.state.errors.forgetPhoneNumberError}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {Strings.Submit_web}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Show forget password dialog*/}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n console.log(\"isLoaging SignIn ------- \" + state.HGReducers.isLoading);\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n forgetPasswordApi: (forgetPhoneNo, forgetCountryCode, languageType) =>\r\n dispatch(\r\n HGActions.CallForgetPasswordApi(\r\n forgetPhoneNo,\r\n forgetCountryCode,\r\n languageType\r\n )\r\n ),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ForgetForm);\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Route,\r\n NavLink,\r\n BrowserRouter as Router,\r\n Switch,\r\n Link,\r\n history,\r\n} from \"react-router-dom\";\r\n\r\nimport HeaderWhiteMenuHalf from \"../Components/HeaderWhiteMenuHalf\";\r\nimport FooterMenu from \"../Components/FooterMenu\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport * as HGActions from \"../Redux/actions/HGActions\";\r\n\r\nimport moment from \"moment\";\r\nimport Modal from \"react-bootstrap/Modal\";\r\nimport ItemPopup from \"../Components/ItemPopup\";\r\nimport AlertDialog from \"../Components/AlertDialog\";\r\nimport AddressPopup from \"../Components/AddressPopup\";\r\nimport AddAddressPopup from \"../Components/AddAddressPopup\";\r\nimport PaymentMethod from \"../Components/PaymentMethod\";\r\nimport LoginForm from \"../Components/LoginForm\";\r\nimport SignUpForm from \"../Components/SignUpForm\";\r\nimport ForgetForm from \"../Components/ForgetForm\";\r\nimport Constants from \"../constants/baseConstants\";\r\nimport { Strings } from \"../constants/Localization\";\r\nimport { getPriceFormat, bindhttps, getCurrencySign } from \"../Utils/utils\";\r\nimport { setSecureData, getSecureData } from \"../Utils/utils\";\r\nimport { Dropdown } from \"react-bootstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faEdit,\r\n faTrashAlt,\r\n faCircle,\r\n faCheckCircle,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nimport AOS from \"aos\";\r\nimport \"aos/dist/aos.css\";\r\n\r\n// The forwardRef is important!!\r\n// Dropdown needs access to the DOM node in order to position the Menu\r\nconst CustomToggle = React.forwardRef(({ children, onClick }, ref) => (\r\n {\r\n e.preventDefault();\r\n onClick(e);\r\n }}\r\n className=\"form-control\"\r\n >\r\n {children}\r\n ▼\r\n \r\n));\r\n\r\n// forwardRef again here!\r\n// Dropdown needs access to the DOM of the Menu to measure it\r\nconst CustomMenu = React.forwardRef(\r\n ({ children, style, className, \"aria-labelledby\": labeledBy }, ref) => {\r\n // const [value, setValue] = useState('');\r\n const value = \"\";\r\n return (\r\n \r\n {/* alert(e.target.value)}\r\n value={value}\r\n /> */}\r\n
      \r\n {React.Children.toArray(children).filter(\r\n (child) =>\r\n !value || child.props.children.toLowerCase().startsWith(value)\r\n )}\r\n
    \r\n \r\n );\r\n }\r\n);\r\n\r\nvar billamountWithoutDeliveryCharge = 0;\r\nvar voucherDiscount = 0;\r\nvar cUKTIME1 = \"\";\r\nvar finalOrderType = \"\";\r\nvar finalTotalCheck = 0;\r\nvar memberOfferDiscountVoucher = 0;\r\n\r\nclass CheckoutDelivery extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n isItemPopupVisible: false,\r\n\r\n arrayCartData: [],\r\n editItem: {},\r\n editAt: 0,\r\n\r\n eraseItem: {},\r\n\r\n isAddressVisible: false,\r\n isAddAddressVisible: false,\r\n\r\n isAlertVisible: false,\r\n isMultiButtom: false,\r\n alertMessage: \"\",\r\n btnLeft: \"\",\r\n btnRight: \"\",\r\n alertType: 0,\r\n\r\n objCompanyCredit: {},\r\n objCompanyAddress: {},\r\n isCompanyChecked: false,\r\n\r\n objDeliveryAddresses: {},\r\n selectedAddress: {},\r\n orderTimeType: 1,\r\n uktime: \"\",\r\n\r\n isPaymentMethodVisible: false,\r\n isPayPal: false,\r\n paymentMode: 0,\r\n\r\n customTime: \"00:00\",\r\n\r\n objCheckInfo: {},\r\n objOffers: {},\r\n languageType: 1,\r\n\r\n isAvocadoChecked: false,\r\n objAvocadoDetails: {},\r\n\r\n isPayByCash: false,\r\n isPayByCard: false,\r\n\r\n isVoucherApplied: false,\r\n strVoucher: \"\",\r\n strNotes: \"\",\r\n objVoucher: {},\r\n\r\n objDeliveryCharge: {},\r\n deliveryChargeResult: null,\r\n oType: 0,\r\n\r\n /* comment for order type */\r\n orderType:\r\n getSecureData(Constants.ORDERTYPE) == \"Delivery\" ||\r\n getSecureData(Constants.ORDERTYPE) == \"Delivery Order\"\r\n ? 2\r\n : getSecureData(Constants.ORDERTYPE) == \"TakeAway\" ||\r\n getSecureData(Constants.ORDERTYPE) == \"TakeAway Order\"\r\n ? 1\r\n : 3,\r\n isLoginEnabled: false,\r\n isSignUpEnabled: false,\r\n isForgetEnabled: false,\r\n\r\n orderExtraTime: 0,\r\n currentTime: \"\",\r\n checkTimeApi: false,\r\n tableNo: \"\",\r\n tablePreBookingObj: JSON.parse(\r\n localStorage.getItem(\"tablePreBookingObj\")\r\n ),\r\n orderDetailId: 0,\r\n offerDetails:\r\n getSecureData(Constants.MEMBEROFFERS) != undefined\r\n ? getSecureData(Constants.MEMBEROFFERS)\r\n : {},\r\n offerType: getSecureData(Constants.MEMBEROFFERS) != undefined ? 1 : 3,\r\n memberOfferDiscount:\r\n getSecureData(Constants.MEMBEROFFERS) != undefined\r\n ? getSecureData(Constants.MEMBEROFFERS).MemberOfferCode\r\n : \"\",\r\n getMemberofferData: [],\r\n isMemebrDiscountVoucherApplied:\r\n getSecureData(Constants.MEMBEROFFERS) != undefined ? true : false,\r\n memberOfferDiscountVoucher: {},\r\n isMemberVoucherApplied: false,\r\n showOfferModal: false,\r\n offerLevelPoint: 0,\r\n level: 0,\r\n discountString: \"Discount\",\r\n isAlertVisibleForReorder: false,\r\n onOrderTypeSelection: 1,\r\n onOrderTypeClearCart: true,\r\n specialOfferId: 0,\r\n isAlertVisibleTable: false,\r\n locationArray: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n //set by default order type TakeAway\r\n /* comment for order type */\r\n // setSecureData(Constants.ORDERTYPE, 'TakeAway')\r\n\r\n console.log(\"getCatData\", getSecureData(Constants.USERCART));\r\n // console.log(\"tablePreBookingObj\",getSecureData(Constants.PRE_ORDER_ID))\r\n\r\n if (this.state.tablePreBookingObj != null) {\r\n this.onOrderTypeSelection(3, \"no\");\r\n }\r\n this.setState({ orderTypePro: this.state.orderType });\r\n\r\n this.componentRefreshFun();\r\n }\r\n\r\n componentRefreshFun() {\r\n //Get messagelist from localstorage\r\n // let session = localStorage.getItem(Constants.PRE_MESSAGE_LIST);\r\n // let mLanguageType = localStorage.getItem(Constants.PRE_LANGUAGE_TYPE);\r\n let session = getSecureData(Constants.PRE_MESSAGE_LIST);\r\n let mLanguageType = getSecureData(Constants.PRE_LANGUAGE_TYPE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage(\"en\"); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType });\r\n } else {\r\n if (mLanguageType != null) {\r\n Strings.setLanguage(\"es\"); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType });\r\n }\r\n }\r\n } else {\r\n Strings.setLanguage(\"en\"); //Setting default language code here\r\n }\r\n\r\n this.setState({\r\n arrayCartData: getSecureData(Constants.USERCART),\r\n objCheckInfo: getSecureData(Constants.CHECKINFO),\r\n });\r\n\r\n if (getSecureData(Constants.USEROBJECT) != undefined) {\r\n this.setState({ userLoginCheck: true });\r\n if (\r\n getSecureData(Constants.LOCATIONOBJECT) != null &&\r\n getSecureData(Constants.LOCATIONOBJECT) != undefined\r\n ) {\r\n // this.getMemberofferList()\r\n }\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.props.cartUpdate) {\r\n this.componentWillMountRenderFunction();\r\n this.props.onResponse();\r\n this.onOrderTypeSelection(getSecureData(Constants.ORDERTYPEID), \"no\");\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n // this.componentWillMountRenderFunction()\r\n this.getRestInfo();\r\n console.log(\"componentWillMount1\");\r\n }\r\n\r\n componentWillMountRenderFunction() {\r\n AOS.init({\r\n duration: 1000,\r\n });\r\n console.log(\r\n \"tablePreBookingObj1\",\r\n JSON.parse(localStorage.getItem(\"tablePreBookingObj\"))\r\n );\r\n\r\n // if (getSecureData(Constants.ISCANCEL)) {\r\n // let oId = getSecureData(Constants.PLACEDORDEROBJECT).orderId\r\n\r\n // var str = {\r\n // \"orderId\": oId,\r\n // \"paymentstatus\": \"fail\",\r\n // \"transactionID\": \"\",\r\n // \"transactionfrom\": 1,\r\n // \"response\": \"Manually Cancelled\",\r\n // }\r\n // this.props.callCancelAPI(str, 1).then(() => {\r\n // if (this.props.data.status == 1) {\r\n // if (this.props.data.result != null) {\r\n // this.setState({ alertType: 0, isAlertVisible: true, alertMessage: this.props.data.message, isMultiButtom: false, btnLeft: Strings.Ok_web })\r\n // console.log('callCancelAPI status if---- ---- ', this.props.data.message)\r\n // // setTimeout(() => {\r\n // localStorage.removeItem(Constants.PLACEDORDEROBJECT)\r\n // localStorage.removeItem(Constants.ISCANCEL)\r\n\r\n // }\r\n // } else {\r\n // alert(this.props.data.message)\r\n // this.setState({ alertType: 0, isAlertVisible: true, alertMessage: this.props.data.message, isMultiButtom: false, btnLeft: Strings.Ok_web })\r\n // console.log('callCancelAPI status 2 ---- ', this.props.data)\r\n // }\r\n // })\r\n // .catch((error) => {\r\n\r\n // })\r\n // }\r\n\r\n //Get messagelist from localstorage\r\n // let session = localStorage.getItem(Constants.PRE_MESSAGE_LIST);\r\n // let mLanguageType = localStorage.getItem(Constants.PRE_LANGUAGE_TYPE);\r\n let session = getSecureData(Constants.PRE_MESSAGE_LIST);\r\n let mLanguageType = getSecureData(Constants.PRE_LANGUAGE_TYPE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage(\"en\"); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType });\r\n } else {\r\n if (mLanguageType != null) {\r\n Strings.setLanguage(\"es\"); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType });\r\n }\r\n }\r\n } else {\r\n Strings.setLanguage(\"en\"); //Setting default language code here\r\n }\r\n\r\n // this.setState({arrayCartData: JSON.parse(localStorage.getItem(Constants.USERCART)), objCheckInfo: JSON.parse(localStorage.getItem(Constants.CHECKINFO)) })\r\n this.setState(\r\n {\r\n arrayCartData: getSecureData(Constants.USERCART),\r\n objCheckInfo: getSecureData(Constants.CHECKINFO),\r\n },\r\n () => {\r\n console.log(\r\n \"getSecureData(Constants.CHECKINFO) ----------------------- \",\r\n this.state.arrayCartData,\r\n getSecureData(Constants.CHECKINFO)\r\n );\r\n if (!this.state.arrayCartData) {\r\n return;\r\n }\r\n setTimeout(() => {\r\n this.getRestInfo();\r\n }, 500);\r\n }\r\n );\r\n\r\n if (getSecureData(Constants.USEROBJECT) != undefined) {\r\n this.setState({ userLoginCheck: true });\r\n\r\n if (\r\n getSecureData(Constants.LOCATIONOBJECT) != null &&\r\n getSecureData(Constants.LOCATIONOBJECT) != undefined\r\n ) {\r\n // this.getMemberofferList()\r\n }\r\n }\r\n }\r\n\r\n getRestInfo = () => {\r\n this.props\r\n .getRestoInfo(this.state.languageType)\r\n .then(() => {\r\n console.log(\r\n \"resto info api response -------------------- \",\r\n this.props.data\r\n );\r\n if (this.props.data.status == 1) {\r\n let uktime = moment(\r\n this.props.data.result.ukdatetime,\r\n \"YYYY-MM-dd HH:mm:ss\"\r\n ).format(\"HH:mm\");\r\n // this.setState({currentTime: this.props.data.result.ukdatetime})\r\n\r\n setSecureData(Constants.GETRESTOINFO, this.props.data.result);\r\n var extra = 0;\r\n if (this.state.orderType == 2) {\r\n //delivery\r\n extra = getSecureData(Constants.LOCATIONOBJECT).ordersubmittime;\r\n console.log(\"dhruvin checking extra2\", extra);\r\n } else if (this.state.orderType == 1) {\r\n //takeaway\r\n extra = getSecureData(Constants.LOCATIONOBJECT).takeawayextratime;\r\n } else if (this.state.orderType == 3) {\r\n //SitDown\r\n extra = getSecureData(Constants.LOCATIONOBJECT).bookingTimeLimit;\r\n }\r\n uktime = moment(uktime, \"HH:mm\").add(extra, \"m\").format(\"HH:mm\");\r\n\r\n this.setState(\r\n {\r\n currentTime: this.props.data.result.ukdatetime,\r\n uktime: uktime,\r\n customTime: uktime,\r\n isPayByCash: this.props.data.result.objRestaurant.payByCash,\r\n isPayByCard: this.props.data.result.objRestaurant.payByCard,\r\n },\r\n () => {\r\n // if (getSecureData(Constants.ORDERTYPE) == 'TakeAway') {\r\n\r\n if (localStorage.hasOwnProperty(Constants.USEROBJECT)) {\r\n let userObject = getSecureData(Constants.USEROBJECT);\r\n if (userObject != null) {\r\n let customer = getSecureData(Constants.USEROBJECT).customerId;\r\n let id = getSecureData(Constants.LOCATIONOBJECT).locationId;\r\n this.callGetDeliveryAddress(id, customer);\r\n } else {\r\n }\r\n } else {\r\n }\r\n\r\n // } else {\r\n // this.callCompanyAPI()\r\n // }\r\n }\r\n );\r\n } else {\r\n // if (getSecureData(Constants.ORDERTYPE) == 'TakeAway') {\r\n if (localStorage.hasOwnProperty(Constants.USEROBJECT)) {\r\n let userObject = getSecureData(Constants.USEROBJECT);\r\n if (userObject != null) {\r\n let customer = getSecureData(Constants.USEROBJECT).customerId;\r\n let id = getSecureData(Constants.LOCATIONOBJECT).locationId;\r\n this.callGetDeliveryAddress(id, customer);\r\n } else {\r\n }\r\n } else {\r\n }\r\n // } else {\r\n // this.callCompanyAPI()\r\n // }\r\n }\r\n })\r\n .catch(() => {\r\n // if (getSecureData(Constants.ORDERTYPE) == 'TakeAway') {\r\n // this.onOffers()\r\n\r\n console.log(\r\n \"getSecureData(Constants.LOCATIONOBJECT)checkout\",\r\n getSecureData(Constants.LOCATIONOBJECT)\r\n );\r\n if (localStorage.hasOwnProperty(Constants.USEROBJECT)) {\r\n let userObject = getSecureData(Constants.USEROBJECT);\r\n if (userObject != null) {\r\n let customer = getSecureData(Constants.USEROBJECT).customerId;\r\n let id = getSecureData(Constants.LOCATIONOBJECT).locationId;\r\n this.callGetDeliveryAddress(id, customer);\r\n } else {\r\n }\r\n } else {\r\n }\r\n // } else {\r\n // this.callCompanyAPI()\r\n // }\r\n });\r\n };\r\n\r\n //Handle change language click event\r\n //English language type: 1\r\n //Spanish language type: 2\r\n languageChangeClickEvent = (type) => {\r\n console.log(\"category page language type :\" + type);\r\n // localStorage.setItem(Constants.PRE_LANGUAGE_TYPE, type)\r\n setSecureData(Constants.PRE_LANGUAGE_TYPE, type);\r\n this.setState({ languageType: type });\r\n setTimeout(() => {\r\n this.props.AppMessageApi(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var messageListArray = this.props.data.result;\r\n if (messageListArray != null && messageListArray.length > 0) {\r\n console.log(\"message list :\" + JSON.stringify(messageListArray));\r\n // localStorage.setItem(Constants.PRE_MESSAGE_LIST, JSON.stringify(messageListArray));\r\n setSecureData(Constants.PRE_MESSAGE_LIST, messageListArray);\r\n // let localMessage = JSON.parse(localStorage.getItem(Constants.PRE_MESSAGE_LIST));\r\n let localMessage = getSecureData(Constants.PRE_MESSAGE_LIST);\r\n // localStorage.setItem(Constants.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n setSecureData(Constants.PRE_LANGUAGE_TYPE, this.state.languageType);\r\n // let languageType = localStorage.getItem(Constants.PRE_LANGUAGE_TYPE);\r\n let languageType = getSecureData(Constants.PRE_LANGUAGE_TYPE);\r\n console.log(\"language type :\" + languageType);\r\n if (languageType == 1) {\r\n //English language type: 1\r\n Strings.setLanguage(\"en\"); //Setting selected language code here\r\n this.setState({\r\n languageType: languageType,\r\n languageTypeCode: \"en-GB\",\r\n });\r\n } else {\r\n Strings.setLanguage(\"es\"); //Setting selected language code here\r\n this.setState({\r\n languageType: languageType,\r\n languageTypeCode: \"es\",\r\n });\r\n }\r\n Strings.setContent(localMessage);\r\n // this.setState({ languageType: languageType })\r\n window.location.reload(false);\r\n }\r\n } else {\r\n alert(this.props.error);\r\n }\r\n });\r\n }, 700);\r\n };\r\n\r\n callCompanyAPI() {\r\n setTimeout(() => {\r\n if (this.state.arrayCartData == null) {\r\n return;\r\n } else if (this.state.arrayCartData.length == 0) {\r\n return;\r\n }\r\n let itemSum = 0;\r\n this.state.arrayCartData.map((item) => {\r\n itemSum += item.totalPrice;\r\n });\r\n\r\n // let customer = JSON.parse(localStorage.getItem(Constants.USEROBJECT)).customerId\r\n // let id = JSON.parse(localStorage.getItem(Constants.LOCATIONOBJECT)).locationId\r\n let customer = getSecureData(Constants.USEROBJECT).customerId;\r\n let id = getSecureData(Constants.LOCATIONOBJECT).locationId;\r\n\r\n this.props\r\n .getCompanyCreditAPI(customer, this.state.languageType)\r\n .then((response) => {\r\n console.log(\"new response of company credit api ------------- \");\r\n if (this.props.data.status == 1) {\r\n setTimeout(() => {\r\n console.log(\r\n \" Credit APi response object ----- \",\r\n JSON.stringify(this.props.data.result.objScoreDetails)\r\n );\r\n\r\n //Check company is linked or not, if linked then call add company address api\r\n if (this.props.data.result.objScoreDetails.isLinked) {\r\n this.setState({\r\n objCompanyCredit: this.props.data.result,\r\n isCompanyChecked: true,\r\n });\r\n var addressObj = {};\r\n addressObj[\"address1\"] = this.props.data.result.geoCodeAdress;\r\n addressObj[\"address2\"] = \"\";\r\n addressObj[\"geoCodeAdress\"] =\r\n this.props.data.result.geoCodeAdress;\r\n addressObj[\"landmark\"] = \"\";\r\n addressObj[\"city\"] = \"\";\r\n addressObj[\"zipcode\"] = \"\";\r\n addressObj[\"latitude\"] = this.props.data.result.latitude;\r\n addressObj[\"longitude\"] = this.props.data.result.longitude;\r\n addressObj[\"iscompanyAddress\"] = true;\r\n addressObj[\"labaltext\"] = this.props.data.result.labaltext;\r\n addressObj[\"customerId\"] = customer;\r\n console.log(\"addressObj ----- \", addressObj);\r\n\r\n //Call add company address api\r\n this.props\r\n .addCompnayAddressAPI(id, addressObj, this.state.languageType)\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n // setTimeout(() => {\r\n // this.setState({objCompanyAddress: this.props.data.result,selectedAddress: this.props.data.result})\r\n this.setState(\r\n { objCompanyAddress: this.props.data.result },\r\n () => {\r\n this.callGetDeliveryAddress(id, customer);\r\n }\r\n );\r\n // }, 100)\r\n } else {\r\n this.callGetDeliveryAddress(id, customer);\r\n }\r\n });\r\n } else {\r\n this.setState(\r\n {\r\n objCompanyCredit: this.props.data.result,\r\n isCompanyChecked: false,\r\n },\r\n () => {\r\n this.callGetDeliveryAddress(id, customer);\r\n }\r\n );\r\n }\r\n }, 100);\r\n } else {\r\n this.callGetDeliveryAddress(id, customer);\r\n }\r\n })\r\n .catch((err) => {\r\n this.callGetDeliveryAddress(id, customer);\r\n });\r\n }, 100);\r\n }\r\n\r\n callGetDeliveryAddress(id, customer) {\r\n //Call get delivery addresses api\r\n this.props\r\n .getDeliveryAddressAPI(id, customer, this.state.languageType)\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n // setTimeout(() => {\r\n let uktime = moment(\r\n this.props.data.result.ukdatetime,\r\n \"YYYY-MM-dd HH:mm:ss\"\r\n ).format(\"HH:mm\");\r\n var extra = 0;\r\n if (this.state.orderType == 2) {\r\n //delivery\r\n extra = getSecureData(Constants.LOCATIONOBJECT).ordersubmittime;\r\n } else if (this.state.orderType == 1) {\r\n //takeaway\r\n extra = getSecureData(Constants.LOCATIONOBJECT).takeawayextratime;\r\n } else if (this.state.orderType == 3) {\r\n //SitDown\r\n extra = getSecureData(Constants.LOCATIONOBJECT).bookingTimeLimit;\r\n }\r\n uktime = moment(uktime, \"HH:mm\").add(extra, \"m\").format(\"HH:mm\");\r\n\r\n if (this.props.data.result.AddressLists) {\r\n if (this.props.data.result.AddressLists.length > 0) {\r\n // this.setState({uktime: uktime, customTime: uktime ,objDeliveryAddresses: this.props.data.result,selectedAddress: this.props.data.result.AddressLists[0]})\r\n // this.setState({ uktime: uktime, customTime: uktime, objDeliveryAddresses: this.props.data.result })//removed pre selected delivery address\r\n //Unset custom time if previous sets\r\n this.setState({\r\n uktime: uktime,\r\n objDeliveryAddresses: this.props.data.result,\r\n }); //removed pre selected delivery address\r\n } else {\r\n // this.setState({ uktime: uktime, customTime: uktime, objDeliveryAddresses: this.props.data.result, selectedAddress: {} })\r\n //Unset custom time if previous sets\r\n this.setState({\r\n uktime: uktime,\r\n objDeliveryAddresses: this.props.data.result,\r\n selectedAddress: {},\r\n });\r\n }\r\n } else {\r\n // this.setState({ uktime: uktime, customTime: uktime, objDeliveryAddresses: this.props.data.result, selectedAddress: {} })\r\n //Unset custom time if previous sets\r\n this.setState({\r\n uktime: uktime,\r\n objDeliveryAddresses: this.props.data.result,\r\n selectedAddress: {},\r\n });\r\n }\r\n\r\n // }, 500)\r\n } else {\r\n }\r\n\r\n setTimeout(() => {\r\n this.onOffers();\r\n }, 500);\r\n });\r\n }\r\n\r\n onOffers() {\r\n if (this.state.arrayCartData == null) {\r\n return;\r\n }\r\n if (this.state.arrayCartData.length == 0) {\r\n return;\r\n }\r\n let itemSum = 0;\r\n this.state.arrayCartData.map((item) => {\r\n itemSum += item.totalPrice;\r\n });\r\n // let customer = JSON.parse(localStorage.getItem(Constants.USEROBJECT)).customerId\r\n let customer = getSecureData(Constants.USEROBJECT).customerId;\r\n this.props\r\n .getOffersAPI(itemSum, customer, this.state.languageType)\r\n .then(() => {\r\n console.log(\"getOffersAPI RESPONSE --------- \", this.props.data);\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n //Offers available\r\n this.setState({ objOffers: this.props.data.result });\r\n }\r\n } else if (this.props.data.status == 2) {\r\n if (this.props.data.result != null) {\r\n //No Offers available\r\n this.setState({ objOffers: this.props.data.result });\r\n }\r\n } else {\r\n }\r\n this.getAvocado();\r\n });\r\n }\r\n\r\n getAvocado() {\r\n //Call get avocado details API\r\n let customer = getSecureData(Constants.USEROBJECT).customerId;\r\n this.props\r\n .getAvocadoDetailsAPI(this.state.languageType, customer)\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n this.setState({ objAvocadoDetails: this.props.data.result }, () => {\r\n this.calculateFinalPrice();\r\n });\r\n }\r\n\r\n setTimeout(() => {\r\n this.onApplyVoucher();\r\n\r\n // if (this.state.isCompanyChecked) {\r\n // this.callDeliveryCharge()\r\n // }\r\n }, 500);\r\n });\r\n }\r\n\r\n calculateFinalPrice() {\r\n var finalTotal = 0;\r\n\r\n let itemTotal = 0;\r\n this.state.arrayCartData.map((item) => {\r\n itemTotal += item.totalPrice;\r\n });\r\n finalTotal = itemTotal;\r\n\r\n var discount = 0;\r\n var discountValue = \"\";\r\n if (this.state.objOffers) {\r\n //Check offers available or not\r\n if (this.state.objOffers.isfirstOrder == 1) {\r\n //Check discount type 1=Percentage 2=Amount\r\n if (this.state.objOffers.firstOrder.discountType == 1) {\r\n let str = this.state.objOffers.firstOrder.discountPercentage;\r\n let arrStr = str.split(\".\");\r\n if (arrStr[1] == 0) {\r\n discountValue = \"(\" + arrStr[0] + \"%)\";\r\n } else {\r\n discountValue = \"(\" + str + \"%)\";\r\n }\r\n let temp = (finalTotal * Number(str)) / 100;\r\n discount = temp;\r\n finalTotal -= temp; //Number(this.state.objOffers.firstOrder.discount)\r\n } else {\r\n discount = Number(this.state.objOffers.firstOrder.discount);\r\n finalTotal -= Number(this.state.objOffers.firstOrder.discount);\r\n }\r\n }\r\n }\r\n\r\n // let objLocation = JSON.parse(localStorage.getItem(Constants.LOCATIONOBJECT))\r\n let objLocation = getSecureData(Constants.LOCATIONOBJECT);\r\n\r\n //Count Company discount\r\n var cmpDiscount = 0;\r\n let obj = this.state.objCompanyCredit;\r\n let compy = obj.objScoreDetails;\r\n if (compy) {\r\n if (compy.isLinked && getSecureData(Constants.ORDERTYPE) == \"Delivery\") {\r\n if (this.state.isCompanyChecked) {\r\n if (finalTotal >= obj.objScoreDetails.perDayCredit) {\r\n finalTotal -= obj.objScoreDetails.perDayCredit;\r\n cmpDiscount = obj.objScoreDetails.perDayCredit;\r\n } else {\r\n cmpDiscount = finalTotal;\r\n finalTotal = 0;\r\n }\r\n } else {\r\n }\r\n }\r\n }\r\n\r\n {\r\n /*Voucher code comment*/\r\n }\r\n //Count voucher discount\r\n if (this.state.isVoucherApplied) {\r\n if (finalTotal >= this.state.objVoucher.discout) {\r\n voucherDiscount = this.state.objVoucher.discout;\r\n finalTotal -= this.state.objVoucher.discout;\r\n } else {\r\n voucherDiscount = finalTotal;\r\n finalTotal -= finalTotal;\r\n }\r\n } else {\r\n voucherDiscount = 0;\r\n }\r\n\r\n if (this.state.isMemberVoucherApplied) {\r\n voucherDiscount = 0;\r\n if (finalTotal >= this.state.memberOfferDiscountVoucher.discout) {\r\n memberOfferDiscountVoucher =\r\n this.state.memberOfferDiscountVoucher.discout;\r\n finalTotal -= this.state.memberOfferDiscountVoucher.discout;\r\n } else {\r\n memberOfferDiscountVoucher = finalTotal;\r\n finalTotal -= finalTotal;\r\n }\r\n } else {\r\n memberOfferDiscountVoucher = 0;\r\n }\r\n\r\n console.log(\"Calculating\", voucherDiscount, memberOfferDiscountVoucher);\r\n //Count avocado point\r\n var avocadoDiscount = 0;\r\n if (\r\n this.state.objAvocadoDetails.useAvocadoPoint >=\r\n this.state.objAvocadoDetails.minredemptionrequired\r\n ) {\r\n if (this.state.isAvocadoChecked) {\r\n if (\r\n finalTotal >=\r\n this.state.objAvocadoDetails.minredemptionrequired *\r\n this.state.objAvocadoDetails.discountof1avocado\r\n ) {\r\n finalTotal -=\r\n this.state.objAvocadoDetails.minredemptionrequired *\r\n this.state.objAvocadoDetails.discountof1avocado;\r\n avocadoDiscount =\r\n this.state.objAvocadoDetails.minredemptionrequired *\r\n this.state.objAvocadoDetails.discountof1avocado;\r\n } else {\r\n avocadoDiscount = finalTotal;\r\n finalTotal -= finalTotal;\r\n }\r\n }\r\n }\r\n\r\n //Count packaging charges\r\n var pCharge = Number(objLocation.packagingCharge);\r\n finalTotal += pCharge;\r\n\r\n //set billamount without delivery charge\r\n billamountWithoutDeliveryCharge = finalTotal;\r\n\r\n var dCharge = 0;\r\n if (\r\n getSecureData(Constants.ORDERTYPE) == \"Delivery\" ||\r\n getSecureData(Constants.ORDERTYPE) == \"Delivery Order\"\r\n ) {\r\n // dCharge = getSecureData(Constants.CHECKINFO).deliveryCharge\r\n // finalTotal += dCharge\r\n if (this.state.isCompanyChecked) {\r\n if (this.state.objDeliveryCharge.deliveryCharges) {\r\n dCharge = Number(this.state.objDeliveryCharge.deliveryCharges);\r\n finalTotal += dCharge;\r\n }\r\n } else {\r\n // if (this.state.objDeliveryCharge.deliveryCharges) {\r\n if (\r\n this.state.selectedAddress.address1 &&\r\n this.state.objDeliveryCharge.deliveryCharges\r\n ) {\r\n // if (this.state.deliveryChargeResult.status == 1) {\r\n dCharge = Number(this.state.objDeliveryCharge.deliveryCharges);\r\n finalTotal += dCharge;\r\n // }\r\n }\r\n }\r\n }\r\n\r\n finalTotalCheck = finalTotal;\r\n\r\n return (\r\n
    \r\n
    \r\n
    {Strings.sub_total}
    \r\n
    {getPriceFormat(itemTotal.toFixed(2))}
    \r\n
    \r\n {discount > 0 ? (\r\n
    \r\n
    \r\n {Strings.lbl_discount_react}\r\n {discountValue}\r\n
    \r\n
    - {getPriceFormat(discount.toFixed(2))}
    \r\n
    \r\n ) : null}\r\n\r\n {/*Voucher code comment*/}\r\n {voucherDiscount > 0 ? (\r\n
    \r\n
    \r\n {/* {Strings.str_offer_discount} */}\r\n Discount\r\n
    \r\n
    \r\n - {getPriceFormat(voucherDiscount.toFixed(2))}\r\n
    \r\n
    \r\n ) : null}\r\n {voucherDiscount > 0 ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n ) : null}\r\n\r\n {memberOfferDiscountVoucher > 0 ? (\r\n
    \r\n
    \r\n {/* {Strings.str_offer_discount} */}\r\n Reward Discount ({this.state.memberOfferDiscountVoucher.offerText}\r\n )\r\n
    \r\n
    \r\n - {getPriceFormat(memberOfferDiscountVoucher.toFixed(2))}\r\n
    \r\n
    \r\n ) : null}\r\n {/* { memberOfferDiscountVoucher > 0 ?
    \r\n
    \r\n \r\n
    \r\n
    : null} */}\r\n\r\n {/* {(this.state.isCompanyChecked && JSON.parse(localStorage.getItem(Constants.ORDERTYPE)) == 'Delivery' && cmpDiscount > 0) ?
    */}\r\n {(this.state.isCompanyChecked &&\r\n getSecureData(Constants.ORDERTYPE) == \"Delivery\") ||\r\n (getSecureData(Constants.ORDERTYPE) == \"Delivery Order\" &&\r\n cmpDiscount > 0) ? (\r\n
    \r\n
    {Strings.str_company_discount}:
    \r\n
    \r\n - {getPriceFormat(cmpDiscount.toFixed(2))}\r\n
    \r\n
    \r\n ) : null}\r\n {this.state.isAvocadoChecked ? (\r\n
    \r\n
    {Strings.str_redeemed_avocados}
    \r\n
    \r\n - {getPriceFormat(avocadoDiscount.toFixed(2))}\r\n
    \r\n
    \r\n ) : null}\r\n {/* {(JSON.parse(localStorage.getItem(Constants.ORDERTYPE)) == 'Delivery' && dCharge > 0) ?
    */}\r\n {getSecureData(Constants.ORDERTYPE) == \"Delivery\" ||\r\n (getSecureData(Constants.ORDERTYPE) == \"Delivery Order\" &&\r\n dCharge > 0) ? (\r\n
    \r\n
    {Strings.lbl_delivery_charge_react}:
    \r\n
    {getPriceFormat(dCharge.toFixed(2))}
    \r\n
    \r\n ) : null}\r\n {pCharge > 0 ? (\r\n
    \r\n {\" \"}\r\n
    {Strings.str_packaging_costs}:
    \r\n
    {getPriceFormat(pCharge.toFixed(2))}
    \r\n
    \r\n ) : null}\r\n\r\n {this.state.tablePreBookingObj != null ? (\r\n
    \r\n
    {Strings.str_booking_deposit}:
    \r\n
    \r\n -{\" \"}\r\n {getPriceFormat(\r\n this.state.tablePreBookingObj.bookingDepositAmount > finalTotal\r\n ? finalTotal.toFixed(2)\r\n : this.state.tablePreBookingObj.bookingDepositAmount.toFixed(\r\n 2\r\n )\r\n )}\r\n
    \r\n
    \r\n ) : null}\r\n\r\n {this.state.tablePreBookingObj != null ? (\r\n
    \r\n
    {Strings.Total_web}
    \r\n
    \r\n {getPriceFormat(\r\n this.state.tablePreBookingObj.bookingDepositAmount < finalTotal\r\n ? (\r\n finalTotal -\r\n this.state.tablePreBookingObj.bookingDepositAmount\r\n ).toFixed(2)\r\n : (0).toFixed(2)\r\n )}\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    {Strings.Total_web}
    \r\n
    {getPriceFormat(finalTotal.toFixed(2))}
    \r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n\r\n onCompanyCheck() {\r\n if (this.state.objDeliveryAddresses.AddressLists != null) {\r\n if (this.state.objDeliveryAddresses.AddressLists.length == 0) {\r\n this.setState({\r\n isCompanyChecked: !this.state.isCompanyChecked,\r\n selectedAddress: {},\r\n });\r\n } else {\r\n // this.setState({isCompanyChecked: !this.state.isCompanyChecked, selectedAddress: this.state.objDeliveryAddresses.AddressLists[0]})\r\n this.setState(\r\n {\r\n isCompanyChecked: !this.state.isCompanyChecked,\r\n selectedAddress: {},\r\n },\r\n () => {\r\n if (this.state.isCompanyChecked) {\r\n this.callDeliveryCharge();\r\n }\r\n }\r\n ); //removed pre selected delivery address\r\n }\r\n } else {\r\n this.setState({\r\n isCompanyChecked: !this.state.isCompanyChecked,\r\n selectedAddress: {},\r\n });\r\n }\r\n }\r\n\r\n renderAddressView() {\r\n return this.renderUserAddress();\r\n\r\n if (getSecureData(Constants.ORDERTYPE) == \"TakeAway\") {\r\n return;\r\n }\r\n\r\n var arrReturn = [];\r\n let objScore = this.state.objCompanyCredit.objScoreDetails;\r\n if (objScore) {\r\n //Check company is linked or not\r\n if (objScore.isLinked) {\r\n //Check if company address as elected as delivery address or not\r\n if (this.state.isCompanyChecked) {\r\n return (\r\n
    \r\n
    \r\n {\r\n this.onCompanyCheck();\r\n }}\r\n >\r\n
    \r\n \r\n \r\n {this.state.objCompanyCredit.labaltext}\r\n \r\n
    \r\n \r\n
    \r\n

    {this.state.objCompanyCredit.geoCodeAdress}

    \r\n
    \r\n );\r\n } else {\r\n //if not selected company address as delivery address then render normal delivery view\r\n return (\r\n
    \r\n
    \r\n
    \r\n {\r\n this.onCompanyCheck();\r\n }}\r\n >\r\n \r\n \r\n \r\n {this.state.objCompanyCredit.labaltext}\r\n \r\n
    \r\n
    \r\n {this.renderUserAddress()}\r\n
    \r\n );\r\n }\r\n } else {\r\n //if not linked then render normal delivery address view\r\n return this.renderUserAddress();\r\n }\r\n }\r\n return arrReturn;\r\n }\r\n\r\n renderUserAddress() {\r\n let objAddress = this.state.objDeliveryAddresses;\r\n var arrReturn = [];\r\n /*//Check address list available or not\r\n if (objAddress.AddressLists) {\r\n if(objAddress.AddressLists.length > 0) {\r\n //push selected address view \r\n arrReturn.push(\r\n
    \r\n

    {this.state.selectedAddress.address1}
    {this.state.selectedAddress.address2}

    \r\n \r\n
    \r\n )\r\n }\r\n } else {\r\n //push only add address button \r\n arrReturn.push(\r\n \r\n )\r\n }*/\r\n arrReturn.push(\r\n
    \r\n {this.state.selectedAddress.address1 != null ? (\r\n

    \r\n {this.state.selectedAddress.address1}\r\n
    \r\n {this.state.selectedAddress.address2}\r\n

    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n if (localStorage.hasOwnProperty(Constants.USEROBJECT)) {\r\n let userObject = getSecureData(Constants.USEROBJECT);\r\n if (userObject != null) {\r\n this.setState({ isAddressVisible: true });\r\n } else {\r\n // this.setState({ isAlertVisible: true, alertType: 4, alertMessage: Strings.msgLogin, isMultiButtom: true, btnLeft: Strings.btn_signin_react, btnRight: Strings.btn_cancel })\r\n this.setState({ isLoginEnabled: true });\r\n }\r\n } else {\r\n this.setState({ isLoginEnabled: true });\r\n // this.setState({ isAlertVisible: true, alertType: 4, alertMessage: Strings.msgLogin, isMultiButtom: true, btnLeft: Strings.btn_signin_react, btnRight: Strings.btn_cancel })\r\n }\r\n }}\r\n >\r\n {Strings.select_address}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n return arrReturn;\r\n }\r\n\r\n // onQtyChanged(type, item, index) {\r\n // var quantity = item.totalQty\r\n // if (type == 0) {\r\n // if (quantity > 1) {\r\n // quantity -= 1\r\n // }\r\n // } else {\r\n // quantity += 1\r\n // }\r\n // var tempArray = this.state.arrayCartData\r\n // var tempPrice = item.PriceList[0].price\r\n // tempPrice = tempPrice * quantity;\r\n\r\n // tempArray[index].totalQty = quantity;\r\n // tempArray[index].totalPrice = tempPrice;\r\n\r\n // this.setState({ arrayCartData: tempArray }, () => {\r\n // // localStorage.setItem(Constants.USERCART,JSON.stringify(this.state.arrayCartData))\r\n // setSecureData(Constants.USERCART, this.state.arrayCartData)\r\n // setTimeout(() => {\r\n // this.callDeliveryCharge()\r\n // }, 100);\r\n // })\r\n\r\n // }\r\n\r\n onQtyChanged(type, item, index) {\r\n console.log();\r\n var quantity = item.totalQty;\r\n var totalPrice = item.totalPrice;\r\n var singlePrice = totalPrice / quantity;\r\n singlePrice = singlePrice.toFixed(2);\r\n\r\n if (type == 0) {\r\n if (quantity > 1) {\r\n quantity -= 1;\r\n }\r\n } else {\r\n quantity += 1;\r\n }\r\n\r\n var tempArray = this.state.arrayCartData;\r\n var tempPrice = item.PriceList[0].price;\r\n // var tempPrice = item.totalPrice\r\n tempPrice = singlePrice * quantity;\r\n\r\n tempArray[index].totalQty = quantity;\r\n tempArray[index].totalPrice = tempPrice;\r\n\r\n this.setState({ arrayCartData: tempArray }, () => {\r\n // localStorage.setItem(Constants.USERCART,JSON.stringify(this.state.arrayCartData))\r\n setSecureData(Constants.USERCART, this.state.arrayCartData);\r\n setTimeout(() => {\r\n this.callDeliveryCharge();\r\n }, 100);\r\n });\r\n }\r\n\r\n onQtyChangedLoyalty(type, item, index) {\r\n console.log(\"onQtyChangedLoyalty\", item);\r\n // return\r\n var offerLevelPoint = getSecureData(\"offerLevelPoint\");\r\n\r\n console.log(\"offerLevelPoint\", offerLevelPoint);\r\n var quantity = item.totalQty;\r\n var rewardpoints = item.rewardpoints;\r\n var singlePoint = rewardpoints * quantity;\r\n // singlePoint = Math.round(singlePoint)\r\n // console.log(\"singlePoint\", singlePoint)\r\n if (type == 0) {\r\n if (quantity > 1) {\r\n quantity -= 1;\r\n\r\n offerLevelPoint = offerLevelPoint + rewardpoints;\r\n }\r\n } else {\r\n if (offerLevelPoint >= rewardpoints) {\r\n quantity += 1;\r\n offerLevelPoint = offerLevelPoint - rewardpoints;\r\n } else {\r\n this.setState({\r\n alertType: 111,\r\n isAlertVisible: true,\r\n alertMessage: \"You have not sufficient point.\",\r\n isMultiButton: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n return;\r\n }\r\n }\r\n offerLevelPoint = Math.round(offerLevelPoint);\r\n console.log(\"offerLevelPoint-minus\", offerLevelPoint);\r\n var tempArray = this.state.arrayCartData;\r\n // var tempPrice = item.PriceList[0].price\r\n // var tempPrice = item.totalPrice\r\n // var tempPoint = singlePoint * quantity;\r\n\r\n tempArray[index].totalQty = quantity;\r\n // tempArray[index].rewardpoints = tempPoint;\r\n\r\n this.setState({ arrayCartData: tempArray }, () => {\r\n // localStorage.setItem(Constants.USERCART,JSON.stringify(this.state.arrayCartData))\r\n setSecureData(Constants.USERCART, this.state.arrayCartData);\r\n setSecureData(\"offerLevelPoint\", offerLevelPoint);\r\n setTimeout(() => {\r\n this.callDeliveryCharge();\r\n }, 100);\r\n });\r\n }\r\n\r\n onEraseClick(item) {\r\n this.setState({\r\n eraseItem: item,\r\n isAlertVisible: true,\r\n alertMessage: Strings.msg_erase_item,\r\n btnLeft: Strings.yes,\r\n btnRight: Strings.str_no,\r\n isMultiButtom: true,\r\n alertType: 1,\r\n });\r\n return;\r\n var tempArray = this.state.arrayCartData;\r\n let index = tempArray.indexOf(item);\r\n if (index >= -1) {\r\n tempArray.splice(index, 1);\r\n }\r\n this.setState({ arrayCartData: tempArray });\r\n setTimeout(() => {\r\n localStorage.setItem(\r\n Constants.USERCART,\r\n JSON.stringify(this.state.arrayCartData)\r\n );\r\n }, 100);\r\n }\r\n\r\n onEditClick(item, index) {\r\n //Check item added from reorder or menuitems list\r\n if (item.isReOrderedItem) {\r\n this.props\r\n .getItemDetailsAPI(item.menuitemId, this.state.languageType)\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n let cartItem = item;\r\n let menuDetails = this.props.data.result;\r\n\r\n let cartPriceList = cartItem.PriceList.filter(\r\n (price) => price.isSelect == true\r\n );\r\n\r\n let menuPriceList = menuDetails.PriceList.filter(\r\n (price) => price.typeid == cartPriceList[0].typeid\r\n );\r\n\r\n let optList = cartPriceList[0].OptionList.filter(\r\n (opt) => opt.isSelect == true\r\n );\r\n var arrOpt = [];\r\n optList.map((opt) => arrOpt.push(opt.typeid));\r\n console.log(\" Option List ----- \", cartItem);\r\n\r\n var arrayOption = [];\r\n menuPriceList[0].OptionList.map((options) => {\r\n if (arrOpt.includes(options.typeid)) {\r\n options[\"isSelect\"] = true;\r\n }\r\n arrayOption.push(options);\r\n });\r\n\r\n menuPriceList[0].isSelect = true;\r\n menuPriceList[0].OptionList = arrayOption;\r\n menuDetails.totalPrice = cartItem.totalPrice;\r\n menuDetails.totalQty = cartItem.totalQty;\r\n menuDetails.PriceList = menuPriceList;\r\n\r\n this.setState({\r\n editItem: menuDetails,\r\n isItemPopupVisible: true,\r\n editAt: index,\r\n });\r\n } else {\r\n }\r\n });\r\n } else\r\n this.setState({\r\n editItem: item,\r\n isItemPopupVisible: true,\r\n editAt: index,\r\n });\r\n }\r\n\r\n renderPriceType(index) {\r\n let obj = this.state.arrayCartData[index].PriceList.filter(\r\n (data) => data.isSelect == true\r\n );\r\n return

    {obj[0].type}

    ;\r\n }\r\n\r\n // renderOptions(index) {\r\n // var arrayTitle = []\r\n // let objPriceList = this.state.arrayCartData[index].PriceList.filter((data) => (data.isSelect == true))\r\n // let objOptList = objPriceList[0].OptionList.filter((data) => (data.isSelect == true))\r\n\r\n // objOptList.map((data) => {\r\n // var temp = arrayTitle.filter(obj => (obj == data.labelText))\r\n // if (temp.length == 0) {\r\n // arrayTitle.push(data.labelText)\r\n // }\r\n // })\r\n\r\n // var arrData = []\r\n // arrayTitle.map((data, i) => {\r\n // var str = []\r\n // let obj = objOptList.filter(flt => (flt.labelText == data && flt.isSelect == true))\r\n // obj.map((opt) => {\r\n // str.push(opt.type)\r\n // })\r\n // arrData.push(\r\n //
    \r\n //
    {data}
    \r\n //

    {str.join(', ')}

    \r\n //
    \r\n // )\r\n // })\r\n // return arrData\r\n // }\r\n\r\n renderOptions = (index) => {\r\n var arrayTitle = [];\r\n\r\n // if(this.state.arrayCartData[index].PriceList.length > 0) {\r\n // return []\r\n // }\r\n let subOption;\r\n let objPriceList = this.state.arrayCartData[index].PriceList.filter(\r\n (data) => data.isSelect == true\r\n );\r\n let objOptList = objPriceList[0].OptionList.filter(\r\n (data) => data.isMultiselect == true\r\n );\r\n subOption = objOptList.filter((data) => data.isMultiselect == true);\r\n\r\n objOptList.map((data) => {\r\n var temp = arrayTitle.filter((obj) => obj == data.labelText);\r\n // if (temp.length == 0) {\r\n arrayTitle.push(data.labelText);\r\n // }\r\n });\r\n\r\n var arrData = [];\r\n arrayTitle.map((data, i) => {\r\n var str = [];\r\n var subOptionFlt = [];\r\n\r\n let obj = subOption.map((flt) => {\r\n if (flt.labelText == data) {\r\n // return flt.subOption\r\n subOptionFlt = flt.subOption;\r\n }\r\n });\r\n\r\n subOptionFlt.map((opt) => {\r\n if (opt.isSelect == true) {\r\n str.push(opt.type);\r\n }\r\n });\r\n\r\n // console.log(\"renderOptions\", data, subOption,subOptionFlt)\r\n // return\r\n\r\n arrData.push(\r\n str.length > 0 ? (\r\n
    \r\n
    {data}
    \r\n

    {str.join(\", \")}

    \r\n
    \r\n ) : null\r\n );\r\n });\r\n\r\n return arrData;\r\n };\r\n\r\n renderPriceList(index) {\r\n // if(this.state.arrayCartData[index].PriceList.length > 0) {\r\n // return []\r\n // }\r\n\r\n let objPriceList = this.state.arrayCartData[index].PriceList.filter(\r\n (data) => data.isSelect == true\r\n );\r\n\r\n return objPriceList[0].type.replace(\"Price\", \"Regular\");\r\n }\r\n\r\n renderCartItems() {\r\n if (this.state.arrayCartData == null) {\r\n return ;\r\n }\r\n if (this.state.arrayCartData.length == 0) {\r\n return ;\r\n }\r\n\r\n var arrayItem = [];\r\n this.state.arrayCartData.map((items, index) => {\r\n arrayItem.push(\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n this.onEditClick(items, index);\r\n }}\r\n >\r\n {items.menuItemName}\r\n \r\n {/* */}\r\n {this.renderOptions(index)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n this.onQtyChanged(0, items, index);\r\n }}\r\n >\r\n \r\n \r\n \r\n {\r\n this.onQtyChanged(1, items, 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 { this.onQtyChanged(e.target.value, index) }} />\r\n
    */}\r\n {/*
    {getPriceFormat(items.totalPrice.toFixed(2))}
    */}\r\n {/* // By pratik Date:11-12-2020 */}\r\n \r\n
    {items.totalPrice.toFixed(2)}
    \r\n\r\n {/*
    */}\r\n {\r\n this.onEraseClick(items);\r\n }}\r\n >\r\n {\" \"}\r\n {/* {Strings.str_erase} */}\r\n \r\n {/*
    */}\r\n
    \r\n
    \r\n
    \r\n );\r\n });\r\n return arrayItem;\r\n }\r\n\r\n renderBoxCartItems() {\r\n if (this.state.arrayCartData == null) {\r\n return ;\r\n }\r\n if (this.state.arrayCartData.length == 0) {\r\n return ;\r\n }\r\n\r\n var arrayItem = [];\r\n this.state.arrayCartData.map((items, index) => {\r\n arrayItem.push(\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {items.isLoyaltyOfferItem == undefined ||\r\n items.isLoyaltyOfferItem == false ? (\r\n <>\r\n {\r\n this.onEditClick(items, index);\r\n }}\r\n >\r\n {items.menuItemName}{\" \"}\r\n \r\n

    \r\n ({this.renderPriceList(index)}){\" \"}\r\n {this.renderOptions(index)}\r\n

    \r\n \r\n ) : (\r\n \r\n {items.menuItemName}{\" \"}\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n this.onEraseClick(items);\r\n }}\r\n >\r\n {\" \"}\r\n {\" \"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {items.isLoyaltyOfferItem == undefined ||\r\n items.isLoyaltyOfferItem == false ? (\r\n
    \r\n {\" \"}\r\n {getCurrencySign()} {items.totalPrice.toFixed(2)}{\" \"}\r\n
    \r\n ) : (\r\n
    \r\n {items.totalQty * items.rewardpoints} Points\r\n
    \r\n )}\r\n
    \r\n
    \r\n {items.isLoyaltyOfferItem == undefined ||\r\n items.isLoyaltyOfferItem == false ? (\r\n
    \r\n
    \r\n {\r\n this.onQtyChanged(0, items, index);\r\n }}\r\n >\r\n {\" \"}\r\n {\" \"}\r\n \r\n
    \r\n \r\n
    \r\n {\r\n this.onQtyChanged(1, items, 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 this.onQtyChangedLoyalty(0, items, index);\r\n }}\r\n >\r\n {\" \"}\r\n {\" \"}\r\n \r\n
    \r\n \r\n
    \r\n {\r\n this.onQtyChangedLoyalty(1, items, 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\n });\r\n return arrayItem;\r\n }\r\n onPopupClose(popup) {\r\n console.log(\"popup close ---- \", popup);\r\n // this.setState({isItemPopupVisible: false, arrayCartData: JSON.parse(localStorage.getItem(Constants.USERCART)),isAlertVisible: popup.isHide, alertMessage: Constants.msgItemUpdated, btnLeft: Strings.Ok_web, isMultiButtom: false, alertType:0 })\r\n this.setState(\r\n {\r\n isItemPopupVisible: false,\r\n arrayCartData: getSecureData(Constants.USERCART),\r\n isAlertVisible: popup.isHide,\r\n alertMessage: Constants.msgItemUpdated,\r\n btnLeft: Strings.Ok_web,\r\n isMultiButtom: false,\r\n alertType: 111,\r\n },\r\n () => {\r\n if (popup.isHide) this.callDeliveryCharge();\r\n }\r\n );\r\n }\r\n\r\n callchecknextday = async (type) => {\r\n let userObject = getSecureData(Constants.USEROBJECT);\r\n let locationObject = getSecureData(Constants.LOCATIONOBJECT);\r\n await this.props\r\n .checkNextDayOrder(\r\n userObject.customerId,\r\n this.state.objCompanyCredit.objScoreDetails.companyId\r\n ? this.state.objCompanyCredit.objScoreDetails.companyId\r\n : 0,\r\n locationObject.locationId,\r\n this.state.orderTimeType == 1\r\n ? this.state.uktime\r\n : this.state.customTime,\r\n this.state.languageType\r\n )\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result.isNextDayOrder) {\r\n console.log(\"it is next day order -------- \");\r\n this.setState({\r\n isAlertVisible: true,\r\n isMultiButtom: true,\r\n alertMessage: Strings.str_msg_next_day_order_confirm,\r\n btnLeft: Strings.btn_confirm,\r\n btnRight: Strings.btn_cancel,\r\n alertType: 3,\r\n oType: type,\r\n });\r\n } else {\r\n console.log(\"order today -------- \");\r\n this.callAddOrder(type);\r\n }\r\n } else {\r\n alert(this.props.data.message);\r\n }\r\n })\r\n .catch((errro) => {});\r\n };\r\n\r\n onPaymentSelection(type) {\r\n console.log(\"finalTotalCheck\", type, finalTotalCheck);\r\n if (type == 3) {\r\n if (this.state.tablePreBookingObj != null) {\r\n if (\r\n this.state.tablePreBookingObj.bookingDepositAmount >=\r\n finalTotalCheck &&\r\n getSecureData(Constants.LOCATIONOBJECT).isTableDepositDiscount\r\n ) {\r\n this.setState(\r\n { isPaymentMethodVisible: false, isPayPal: false, paymentMode: 1 },\r\n () => {\r\n if (this.state.isCompanyChecked) {\r\n this.callchecknextday(type);\r\n } else {\r\n this.callAddOrder(type);\r\n }\r\n }\r\n );\r\n } else {\r\n this.setState(\r\n { isPaymentMethodVisible: true, isPayPal: true, paymentMode: 2 },\r\n () => {\r\n if (this.state.isCompanyChecked) {\r\n this.callchecknextday(type);\r\n } else {\r\n this.callAddOrder(type);\r\n }\r\n }\r\n );\r\n }\r\n } else {\r\n this.setState(\r\n { isPaymentMethodVisible: false, isPayPal: true, paymentMode: 2 },\r\n () => {\r\n if (this.state.isCompanyChecked) {\r\n this.callchecknextday(type);\r\n } else {\r\n this.callAddOrder(type);\r\n }\r\n }\r\n );\r\n }\r\n } else if (type == 1) {\r\n this.setState(\r\n { isPaymentMethodVisible: false, isPayPal: false, paymentMode: 1 },\r\n () => {\r\n if (this.state.isCompanyChecked) {\r\n this.callchecknextday(type);\r\n } else {\r\n this.callAddOrder(type);\r\n }\r\n }\r\n );\r\n } else {\r\n this.setState({ isPaymentMethodVisible: false });\r\n }\r\n }\r\n\r\n callAddOrder(type) {\r\n let cartItems = getSecureData(Constants.USERCART);\r\n\r\n console.log(\"cartItems\", cartItems, this.state.arrayCartData);\r\n if (\r\n cartItems == null ||\r\n cartItems == undefined ||\r\n this.state.arrayCartData == undefined\r\n ) {\r\n this.setState({\r\n isAlertVisibleTable: true,\r\n alertMessage: \"Your cart is empty.\",\r\n isMultiButtom: false,\r\n btnLeft: \"Ok\",\r\n });\r\n return;\r\n }\r\n\r\n setTimeout(() => {\r\n //Place order\r\n if (type == 1 || type == 3) {\r\n var deliveryObject = {};\r\n\r\n // if (JSON.parse(localStorage.getItem(Constants.ORDERTYPE)) == 'Delivery') {\r\n if (\r\n getSecureData(Constants.ORDERTYPE) == \"Delivery\" ||\r\n getSecureData(Constants.ORDERTYPE) == \"Delivery Order\"\r\n ) {\r\n if (this.state.isCompanyChecked) {\r\n deliveryObject[\"deliveryaddressId\"] =\r\n this.state.objCompanyAddress.deliveryaddressId;\r\n deliveryObject[\"address1\"] = this.state.objCompanyAddress.address1;\r\n deliveryObject[\"address2\"] = this.state.objCompanyAddress.address2;\r\n deliveryObject[\"landmark\"] = this.state.objCompanyAddress.landmark;\r\n deliveryObject[\"city\"] = this.state.objCompanyAddress.city;\r\n deliveryObject[\"zipcode\"] = this.state.objCompanyAddress.zipcode;\r\n } else {\r\n if (this.state.selectedAddress[\"address1\"] == null) {\r\n this.setState({\r\n isAlertVisible: true,\r\n alertMessage: Strings.select_add_delivery_address,\r\n isMultiButtom: false,\r\n btnLeft: Strings.Ok_web,\r\n alertType: 0,\r\n });\r\n return;\r\n } else {\r\n deliveryObject[\"deliveryaddressId\"] =\r\n this.state.selectedAddress.deliveryaddressId;\r\n deliveryObject[\"address1\"] = this.state.selectedAddress.address1;\r\n deliveryObject[\"address2\"] = this.state.selectedAddress.address2;\r\n deliveryObject[\"landmark\"] = this.state.selectedAddress.landmark;\r\n deliveryObject[\"city\"] = this.state.selectedAddress.city;\r\n deliveryObject[\"zipcode\"] = this.state.selectedAddress.zipcode;\r\n }\r\n }\r\n }\r\n\r\n // let userObject = JSON.parse(localStorage.getItem(Constants.USEROBJECT))\r\n // let locationObject = JSON.parse(localStorage.getItem(Constants.LOCATIONOBJECT))\r\n // let cartItems = JSON.parse(localStorage.getItem(Constants.USERCART))\r\n let userObject = getSecureData(Constants.USEROBJECT);\r\n let locationObject = getSecureData(Constants.LOCATIONOBJECT);\r\n\r\n //\r\n var arrCustomer = [];\r\n let customerItem = cartItems.map((item) => {\r\n let dict = {};\r\n dict[\"menuitemId\"] = item.catId;\r\n dict[\"qty\"] = item.totalQty;\r\n dict[\"subparameterid\"] = 0;\r\n arrCustomer.push(dict);\r\n });\r\n var cartdetail = {};\r\n cartdetail[\"CustomeOfferMenuItem\"] = arrCustomer;\r\n cartdetail[\"restaurantId\"] = 147;\r\n cartdetail[\"locationId\"] = locationObject.locationId;\r\n\r\n //\r\n var arrOrderItems = [];\r\n cartItems.map((item) => {\r\n // console.log('Item data ----- ',item)\r\n\r\n var objItem = {};\r\n let selectedPrice = item.PriceList.filter(\r\n (priceData) => priceData.isSelect == true\r\n );\r\n\r\n var price = {};\r\n price[\"typeid\"] = selectedPrice[0].typeid;\r\n price[\"type\"] = selectedPrice[0].type;\r\n price[\"price\"] = selectedPrice[0].price;\r\n\r\n var optList = [];\r\n // selectedPrice[0].OptionList.map(option => {\r\n\r\n // let dict = {}\r\n // dict['type'] = option.type\r\n // dict['labelText'] = option.labelText\r\n // dict['thumbimgurl'] = option.thumbimgurl\r\n // dict['typeid'] = option.typeid\r\n // dict['sizepid'] = option.sizepid\r\n // dict['parameterId'] = option.parameterId\r\n // dict['price'] = option.price\r\n // dict['isSelect'] = option.isSelect\r\n // dict['isSelectAll'] = option.isSelectAll\r\n\r\n // if (option.isSelect) {\r\n // optList.push(dict)\r\n // } else {\r\n // if (option.isSelectAll) {\r\n // optList.push(dict)\r\n // }\r\n // }\r\n // })\r\n\r\n let optionlist = selectedPrice[0].OptionList;\r\n for (let i = 0; i < optionlist.length; i++) {\r\n if (optionlist[i].subOption.length > 0) {\r\n for (let j = 0; j < optionlist[i].subOption.length; j++) {\r\n let dict = {};\r\n dict[\"customeOfferDiscount\"] =\r\n optionlist[i].subOption[j].customeOfferDiscount;\r\n dict[\"flag\"] = optionlist[i].subOption[j].flag;\r\n dict[\"isCompulsory\"] = optionlist[i].subOption[j].isMultiselect;\r\n dict[\"isSelect\"] = optionlist[i].subOption[j].isSelect;\r\n dict[\"isSelectAll\"] = optionlist[i].subOption[j].isSelectAll;\r\n dict[\"istoppings\"] = optionlist[i].subOption[j].istoppings;\r\n dict[\"labelText\"] = optionlist[i].subOption[j].labelText;\r\n dict[\"maxselection\"] = optionlist[i].subOption[j].maxselection;\r\n dict[\"menuitemid\"] = optionlist[i].subOption[j].menuitemid;\r\n\r\n dict[\"parameterId\"] = optionlist[i].subOption[j].parameterId;\r\n dict[\"price\"] = optionlist[i].subOption[j].price;\r\n dict[\"selectallmsg\"] = optionlist[i].subOption[j].selectallmsg;\r\n dict[\"showIn\"] = optionlist[i].subOption[j].showIn;\r\n dict[\"showinblock\"] = optionlist[i].subOption[j].showinblock;\r\n dict[\"sizepid\"] = optionlist[i].subOption[j].sizepid;\r\n dict[\"sortorder\"] = optionlist[i].subOption[j].sortorder;\r\n dict[\"subparsortorder\"] =\r\n optionlist[i].subOption[j].subparsortorder;\r\n dict[\"thumbimgurl\"] = optionlist[i].subOption[j].thumbimgurl;\r\n\r\n dict[\"type\"] = optionlist[i].subOption[j].type;\r\n dict[\"typeid\"] = optionlist[i].subOption[j].typeid;\r\n\r\n if (optionlist[i].subOption[j].isSelect) {\r\n optList.push(dict);\r\n } else {\r\n if (optionlist[i].subOption[j].isSelectAll) {\r\n optList.push(dict);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n objItem[\"itemname\"] = item.menuItemName;\r\n objItem[\"orderitemId\"] = item.menuitemId;\r\n objItem[\"catId\"] = item.catId;\r\n objItem[\"qty\"] = item.totalQty;\r\n objItem[\"rewardpoints\"] = 0;\r\n objItem[\"ToppingsList\"] = [];\r\n objItem[\"price\"] = price;\r\n objItem[\"OptionList\"] = optList;\r\n\r\n if (\r\n item.isLoyaltyOfferItem != undefined &&\r\n item.isLoyaltyOfferItem == true\r\n ) {\r\n objItem[\"isLoyaltyOfferItem\"] = true;\r\n objItem[\"rewardpoints\"] = item.rewardpoints;\r\n objItem[\"type\"] = \"\";\r\n } else {\r\n objItem[\"isLoyaltyOfferItem\"] = false;\r\n }\r\n\r\n arrOrderItems.push(objItem);\r\n });\r\n\r\n let tDate = moment().format(\"YYYY-MM-DD HH:mm\");\r\n\r\n var OrderInfo = {};\r\n\r\n OrderInfo[\"appVersion\"] = 0;\r\n OrderInfo[\"appName\"] = 147;\r\n\r\n //total amount logic same as calculate method\r\n var finalTotal = 0;\r\n let itemTotal = 0;\r\n this.state.arrayCartData.map((item) => {\r\n itemTotal += item.totalPrice;\r\n });\r\n finalTotal = itemTotal;\r\n var discountVal = 0;\r\n if (this.state.objOffers) {\r\n //Check offers available or not\r\n if (this.state.objOffers.isfirstOrder == 1) {\r\n //Check discount type 1=Percentage 2=Amount\r\n if (this.state.objOffers.firstOrder.discountType == 1) {\r\n let str = this.state.objOffers.firstOrder.discountPercentage;\r\n let temp = (finalTotal * Number(str)) / 100;\r\n discountVal = temp;\r\n } else {\r\n discountVal = Number(this.state.objOffers.firstOrder.discount);\r\n }\r\n }\r\n }\r\n\r\n OrderInfo[\"discout\"] = discountVal;\r\n\r\n OrderInfo[\"deliveryaddress\"] = deliveryObject;\r\n OrderInfo[\"packagingCharge\"] = locationObject.packagingCharge;\r\n OrderInfo[\"contactno\"] = userObject.countryCode\r\n ? userObject.countryCode + userObject.phone\r\n : \"+44\" + userObject.phone;\r\n OrderInfo[\"appfor\"] = \"WEB\";\r\n OrderInfo[\"offerItems\"] = [];\r\n OrderInfo[\"apnToken\"] = \"\";\r\n OrderInfo[\"locationId\"] = locationObject.locationId;\r\n OrderInfo[\"paymentmode\"] = this.state.paymentMode;\r\n OrderInfo[\"redeempoints\"] = 0;\r\n\r\n OrderInfo[\"orderId\"] = -1;\r\n OrderInfo[\"specialOfferId\"] =\r\n memberOfferDiscountVoucher > 0\r\n ? this.state.memberOfferDiscountVoucher.specialOfferId\r\n : 0;\r\n OrderInfo[\"contactname\"] = userObject.firstname;\r\n OrderInfo[\"ispaypal\"] = this.state.isPayPal;\r\n OrderInfo[\"note\"] = this.state.strNotes;\r\n OrderInfo[\"specialOfferDescription\"] = \"\";\r\n\r\n OrderInfo[\"payAmountByCompany\"] = this.state.isCompanyChecked\r\n ? this.state.objCompanyCredit.objScoreDetails.perDayCredit\r\n : 0.0;\r\n OrderInfo[\"OrderedItems\"] = arrOrderItems;\r\n OrderInfo[\"customerId\"] = userObject.customerId;\r\n {\r\n /* comment for order type */\r\n }\r\n // OrderInfo['ordertype'] = getSecureData(Constants.ORDERTYPE) == 'TakeAway' ? 1 : 2 //TAEKAWAY=1,DELIVERY=2\r\n OrderInfo[\"ordertype\"] = this.state.orderType; //getSecureData(Constants.ORDERTYPE) == 'TakeAway' ? 1 : 2 //TAEKAWAY=1,DELIVERY=2\r\n OrderInfo[\"companyId\"] = this.state.isCompanyChecked\r\n ? this.state.objCompanyCredit.objScoreDetails.companyId\r\n : 0;\r\n OrderInfo[\"cartdetail\"] = cartdetail;\r\n OrderInfo[\"tableNo\"] = this.state.tableNo;\r\n OrderInfo[\"locationId\"] = locationObject.locationId;\r\n\r\n {\r\n /*Voucher code comment*/\r\n }\r\n OrderInfo[\"specialOfferTitle\"] = this.state.isVoucherApplied\r\n ? this.state.objVoucher.offerText\r\n : memberOfferDiscountVoucher > 0\r\n ? this.state.memberOfferDiscountVoucher.offerText\r\n : \"\";\r\n OrderInfo[\"offercodeDiscount\"] = this.state.isVoucherApplied\r\n ? this.state.objVoucher.discout\r\n : memberOfferDiscountVoucher > 0\r\n ? this.state.memberOfferDiscountVoucher.discout\r\n : 0.0;\r\n\r\n // if (JSON.parse(localStorage.getItem(Constants.ORDERTYPE)) == 'TakeAway') {\r\n if (\r\n getSecureData(Constants.ORDERTYPE) == \"TakeAway\" ||\r\n getSecureData(Constants.ORDERTYPE) == \"SitDown\"\r\n ) {\r\n OrderInfo[\"deliveryCharges\"] = 0;\r\n } else {\r\n // OrderInfo['deliveryCharges'] = getSecureData(Constants.CHECKINFO).deliveryCharge\r\n OrderInfo[\"deliveryCharges\"] = this.state.objDeliveryCharge\r\n .deliveryCharges\r\n ? this.state.objDeliveryCharge.deliveryCharges\r\n : 0;\r\n }\r\n if (this.state.isAvocadoChecked) {\r\n OrderInfo[\"avacadoRedeemDiscount\"] =\r\n this.state.objAvocadoDetails.discountof1avocado *\r\n this.state.objAvocadoDetails.minredemptionrequired;\r\n OrderInfo[\"avacadoRedeemPoint\"] =\r\n this.state.objAvocadoDetails.minredemptionrequired;\r\n }\r\n\r\n //preTableBooking order\r\n OrderInfo[\"orderdate\"] = tDate;\r\n OrderInfo[\"contacttime\"] =\r\n this.state.orderTimeType == 1\r\n ? this.state.uktime\r\n : this.state.customTime;\r\n OrderInfo[\"billamountWithoutDeliveryCharge\"] =\r\n billamountWithoutDeliveryCharge;\r\n if (this.state.tablePreBookingObj != null) {\r\n OrderInfo[\"bookingId\"] = this.state.tablePreBookingObj.bookingId;\r\n OrderInfo[\"bookingDipositAmount\"] =\r\n this.state.tablePreBookingObj.bookingDepositAmount;\r\n OrderInfo[\"orderdate\"] = this.state.tablePreBookingObj.contactDate;\r\n OrderInfo[\"contacttime\"] = this.state.tablePreBookingObj.contactTime;\r\n\r\n if (getSecureData(Constants.LOCATIONOBJECT).isTableDepositDiscount) {\r\n OrderInfo[\"bookingDipositAmount\"] =\r\n this.state.tablePreBookingObj.bookingDepositAmount >\r\n finalTotalCheck\r\n ? finalTotalCheck\r\n : this.state.tablePreBookingObj.bookingDepositAmount;\r\n OrderInfo[\"billamountWithoutDeliveryCharge\"] =\r\n this.state.tablePreBookingObj.bookingDepositAmount >\r\n finalTotalCheck\r\n ? 0\r\n : finalTotalCheck -\r\n this.state.tablePreBookingObj.bookingDepositAmount;\r\n // billamountWithoutDeliveryCharge = OrderInfo['billamountWithoutDeliveryCharge']\r\n } else {\r\n OrderInfo[\"bookingDipositAmount\"] = 0;\r\n }\r\n\r\n // billamountWithoutDeliveryCharge = OrderInfo['billamountWithoutDeliveryCharge']\r\n }\r\n\r\n console.log(\"OrderInfoData\", OrderInfo, this.state.isPayPal);\r\n // return true;\r\n // MenuTime CheckingB eforeOrder PlaceRes\r\n this.props\r\n .MenuTimeCheckingBeforeOrderPlace(OrderInfo, this.state.languageType)\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n // add order\r\n this.props\r\n .addOrderAPI(OrderInfo, this.state.languageType)\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n setTimeout(() => {\r\n let response = this.props.data.result;\r\n console.log(\r\n \"order response ========================= \",\r\n response\r\n );\r\n\r\n // var str = response.message + '\\n' + Strings.str_your_order_is + ' : ' + response.orderNo\r\n // this.setState({ alertType: 2, isAlertVisible: true, alertMessage: str, isMultiButtom: false, btnLeft: Strings.Ok_web })\r\n // localStorage.removeItem(Constants.USERCART);\r\n // return\r\n localStorage.removeItem(\"tablePreBookingObj\");\r\n setSecureData(Constants.PRE_ORDER_ID, response.orderId);\r\n localStorage.removeItem(Constants.USERCART);\r\n // //Check payment method type\r\n if (this.state.isPayPal) {\r\n // this.props.history.push('/Categories')\r\n console.log(\"checkPAyapl\", this.state.isPayPal);\r\n setSecureData(Constants.PLACEDORDEROBJECT, response);\r\n setTimeout(() => {\r\n // this.props.history.push({ pathname: 'PaymentCardList' })\r\n window.location.href = \"/PaymentCardList\";\r\n }, 100);\r\n } else {\r\n console.log(\"checkPAyaplelse\", this.state.isPayPal);\r\n var str =\r\n response.message +\r\n \"\\n\" +\r\n Strings.str_your_order_is +\r\n \" : \" +\r\n response.orderNo;\r\n this.setState({\r\n alertType: 5,\r\n isAlertVisible: true,\r\n alertMessage: str,\r\n isMultiButtom: true,\r\n btnLeft: Strings.Ok_web,\r\n btnRight: \"View Order\",\r\n });\r\n // localStorage.removeItem(Constants.USERCART);\r\n //Move on category screen when click on ok popup\r\n\r\n // localStorage.removeItem(Constants.USEROBJECT);\r\n // localStorage.removeItem(Constants.ORDERTYPE);\r\n // localStorage.removeItem(Constants.CHECKINFO);\r\n // localStorage.removeItem(Constants.PRE_CARD_LIST);\r\n // localStorage.removeItem(Constants.PRE_WAITER_ITEM);\r\n // localStorage.removeItem(Constants.PRE_CAT_ID);\r\n }\r\n }, 500);\r\n } else {\r\n console.log(\" add order api else \", this.props.data);\r\n this.setState({\r\n isAlertVisible: true,\r\n alertType: 0,\r\n alertMessage: this.props.data.message,\r\n isMultiButtom: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n }\r\n });\r\n } else {\r\n console.log(\r\n \" MenuTimeCheckingBeforeOrderPlace api else \",\r\n this.props.data\r\n );\r\n this.setState({\r\n isAlertVisible: true,\r\n alertType: 0,\r\n alertMessage: this.props.data.message,\r\n isMultiButtom: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n }\r\n });\r\n }\r\n }, 200);\r\n }\r\n\r\n onLeftClick() {\r\n //alertType 0 == normal, 1 == erase, 2 == order place message,\r\n if (this.state.alertType == 0) {\r\n this.setState({ isAlertVisible: false });\r\n } else if (this.state.alertType == 1) {\r\n var tempArray = this.state.arrayCartData;\r\n let index = tempArray.indexOf(this.state.eraseItem);\r\n if (index >= -1) {\r\n tempArray.splice(index, 1);\r\n }\r\n this.setState({ arrayCartData: tempArray, isAlertVisible: false });\r\n\r\n setTimeout(() => {\r\n // localStorage.setItem(Constants.USERCART,JSON.stringify(this.state.arrayCartData))\r\n setSecureData(Constants.USERCART, this.state.arrayCartData);\r\n this.setState({\r\n eraseItem: {},\r\n isAlertVisible: true,\r\n alertMessage: Strings.msg_item_erased,\r\n btnLeft: Strings.Ok_web,\r\n isMultiButtom: false,\r\n alertType: 0,\r\n });\r\n\r\n setTimeout(() => {\r\n let cartItems = getSecureData(Constants.USERCART);\r\n // if (cartItems.length != 0) {\r\n this.callDeliveryCharge();\r\n // }\r\n }, 300);\r\n }, 100);\r\n } else if (this.state.alertType == 2) {\r\n this.setState({ isAlertVisible: false });\r\n // this.props.history.push('/')\r\n window.location.href = \"/myOrders\";\r\n return;\r\n } else if (this.state.alertType == 3) {\r\n this.setState(\r\n {\r\n isAlertVisible: false,\r\n },\r\n () => {\r\n this.callAddOrder(this.state.oType);\r\n }\r\n );\r\n } else if (this.state.alertType == 4) {\r\n this.setState({ isAlertVisible: false, isLoginEnabled: true }, () => {\r\n // this.props.history.push('/SignIn')\r\n });\r\n } else if (this.state.alertType == 5) {\r\n this.setState({ isAlertVisible: false });\r\n window.location.href = \"/menuItems\";\r\n return;\r\n } else if (this.state.alertType == 111) {\r\n this.setState({ isAlertVisible: false });\r\n } else if (this.state.alertType == 101) {\r\n if (finalOrderType == Strings.Delivery_web) {\r\n setSecureData(Constants.ORDERTYPE, finalOrderType);\r\n } else if (finalOrderType == Strings.lbl_takeaway_react) {\r\n setSecureData(Constants.ORDERTYPE, finalOrderType);\r\n } else if (finalOrderType == Strings.str_collect_drink) {\r\n setSecureData(Constants.ORDERTYPE, Strings.str_sitDown);\r\n }\r\n\r\n this.setState(\r\n {\r\n isAlertVisible: false,\r\n orderType:\r\n getSecureData(Constants.ORDERTYPE) == \"Delivery\" ||\r\n getSecureData(Constants.ORDERTYPE) == \"Delivery Order\"\r\n ? 2\r\n : getSecureData(Constants.ORDERTYPE) == \"TakeAway\"\r\n ? 1\r\n : 3,\r\n uktime: cUKTIME1,\r\n customTime: cUKTIME1,\r\n },\r\n () => {\r\n localStorage.removeItem(Constants.USERCART);\r\n window.location.reload();\r\n }\r\n );\r\n } else {\r\n this.setState({ isAlertVisible: false });\r\n }\r\n }\r\n\r\n onRightClick() {\r\n if (this.state.alertType == 111) {\r\n this.setState({ isAlertVisible: false });\r\n } else if (this.state.alertType == 5) {\r\n setTimeout(() => {\r\n window.location.href = \"/OrderDetails\";\r\n }, 500);\r\n } else {\r\n this.setState({ isAlertVisible: false });\r\n }\r\n }\r\n\r\n onCloseAddress(address) {\r\n if (address) {\r\n this.setState(\r\n {\r\n isAddressVisible: !this.state.isAddressVisible,\r\n selectedAddress: address,\r\n },\r\n () => {\r\n let cartItems = getSecureData(Constants.USERCART);\r\n if (\r\n getSecureData(Constants.ORDERTYPE) === \"Delivery\" ||\r\n getSecureData(Constants.ORDERTYPE) === \"Delivery Order\"\r\n ) {\r\n setTimeout(() => {\r\n this.callDeliveryCharge();\r\n }, 100);\r\n }\r\n }\r\n );\r\n } else {\r\n this.setState({ isAddressVisible: !this.state.isAddressVisible });\r\n }\r\n }\r\n\r\n onDeleteAddress() {\r\n this.setState({ isAddressVisible: false });\r\n // let customer = JSON.parse(localStorage.getItem(Constants.USEROBJECT)).customerId\r\n // let id = JSON.parse(localStorage.getItem(Constants.LOCATIONOBJECT)).locationId\r\n let customer = getSecureData(Constants.USEROBJECT).customerId;\r\n let id = getSecureData(Constants.LOCATIONOBJECT).locationId;\r\n let cartItems = getSecureData(Constants.USERCART);\r\n if (\r\n cartItems == null ||\r\n cartItems == undefined ||\r\n this.state.arrayCartData == undefined\r\n ) {\r\n } else {\r\n this.callGetDeliveryAddress(id, customer);\r\n }\r\n }\r\n\r\n onAddNewAddress(address) {\r\n if (address) {\r\n console.log(\"address added ----- \", address);\r\n this.setState({ isAddAddressVisible: false });\r\n\r\n // let customer = JSON.parse(localStorage.getItem(Constants.USEROBJECT)).customerId\r\n // let id = JSON.parse(localStorage.getItem(Constants.LOCATIONOBJECT)).locationId\r\n let customer = getSecureData(Constants.USEROBJECT).customerId;\r\n let id = getSecureData(Constants.LOCATIONOBJECT).locationId;\r\n this.callGetDeliveryAddress(id, customer);\r\n } else {\r\n console.log(\"address closed ----- \", address);\r\n this.setState({ isAddAddressVisible: false });\r\n }\r\n }\r\n\r\n onAddAddress() {\r\n this.setState({ isAddressVisible: false, isAddAddressVisible: true });\r\n }\r\n\r\n onTimeSelect(type, e) {\r\n var val = e; //.target.value\r\n\r\n let hrs = moment(this.state.customTime, \"HH:mm\").format(\"HH\");\r\n let mns = moment(this.state.customTime, \"HH:mm\").format(\"mm\");\r\n\r\n if (type == 1) {\r\n this.setState({ customTime: val + \":\" + mns });\r\n } else {\r\n val < 10 ? (val = 0 + \"\" + val) : (val = val);\r\n this.setState({ customTime: hrs + \":\" + val });\r\n }\r\n }\r\n\r\n renderTimeView(type) {\r\n let hrs = moment(this.state.uktime, \"HH:mm\").format(\"HH\");\r\n let mns = moment(this.state.uktime, \"HH:mm\").format(\"mm\");\r\n\r\n var arrMM = [];\r\n var arrHH = [];\r\n\r\n if (type == 1) {\r\n for (var i = 0; i < 24; i++) {\r\n // arrHH.push()\r\n arrHH.push(\r\n \r\n {i}\r\n \r\n );\r\n }\r\n return arrHH;\r\n } else {\r\n for (var i = 0; i < 60; i++) {\r\n // arrMM.push()\r\n arrMM.push(\r\n \r\n {i}\r\n \r\n );\r\n }\r\n return arrMM;\r\n }\r\n\r\n /*if (this.state.orderTimeType == 2) {\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 onCheckOutClickedEstimatedTimePop() {\r\n ///////////////////\r\n this.props.getRestoInfo(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n let uktime = moment(\r\n this.props.data.result.ukdatetime,\r\n \"YYYY-MM-dd HH:mm:ss\"\r\n ).format(\"HH:mm\");\r\n // this.setState({currentTime: this.props.data.result.ukdatetime})\r\n\r\n setSecureData(Constants.GETRESTOINFO, this.props.data.result);\r\n var extra = 0;\r\n if (this.state.orderType == 2) {\r\n //delivery\r\n extra = getSecureData(Constants.LOCATIONOBJECT).ordersubmittime;\r\n console.log(\"dhruvin checking extra2\", extra);\r\n } else if (this.state.orderType == 1) {\r\n //takeaway\r\n extra = getSecureData(Constants.LOCATIONOBJECT).takeawayextratime;\r\n } else if (this.state.orderType == 3) {\r\n //SitDown\r\n extra = getSecureData(Constants.LOCATIONOBJECT).bookingTimeLimit;\r\n }\r\n uktime = moment(uktime, \"HH:mm\").add(extra, \"m\").format(\"HH:mm\");\r\n\r\n this.setState(\r\n {\r\n currentTime: this.props.data.result.ukdatetime,\r\n uktime: uktime,\r\n customTime: uktime,\r\n },\r\n () => {\r\n this.setState({\r\n isAlertVisible: true,\r\n alertType: 0,\r\n alertMessage: `Please note your new estimated collection time is ${this.state.uktime}`,\r\n isMultiButtom: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n }\r\n );\r\n }\r\n });\r\n ///////////////////\r\n this.onCheckOutClicked();\r\n }\r\n\r\n onCheckOutClicked() {\r\n // dhruvin popup for estimated time\r\n // this.getRestInfo();\r\n\r\n // let uktime = moment(this.state.currentTime, \"HH:mm\").format(\"HH:mm\");\r\n\r\n // var extra = 0;\r\n // if (this.state.orderType == 2) {\r\n // //delivery\r\n // extra = getSecureData(Constants.LOCATIONOBJECT).ordersubmittime;\r\n // } else if (this.state.orderType == 1) {\r\n // //takeaway\r\n // extra = getSecureData(Constants.LOCATIONOBJECT).takeawayextratime;\r\n // } else if (this.state.orderType == 3) {\r\n // //SitDown\r\n // extra = getSecureData(Constants.LOCATIONOBJECT).bookingTimeLimit;\r\n // }\r\n // uktime = moment(uktime, \"HH:mm\").add(extra, \"m\").format(\"HH:mm\");\r\n // this.setState({\r\n // uktime: uktime,\r\n // });\r\n\r\n // if (this.state.isAlertVisible == false) {\r\n // this.setState({\r\n // isAlertVisible: true,\r\n // alertType: 0,\r\n // alertMessage: `Please note your new estimated collection time is ${this.state.uktime}`,\r\n // isMultiButtom: false,\r\n // btnLeft: Strings.Ok_web,\r\n // });\r\n // return;\r\n // }\r\n\r\n if (localStorage.hasOwnProperty(Constants.USEROBJECT)) {\r\n let userObject = getSecureData(Constants.USEROBJECT);\r\n if (userObject == null) {\r\n this.setState({ isLoginEnabled: true });\r\n return;\r\n }\r\n } else {\r\n this.setState({ isLoginEnabled: true });\r\n return;\r\n }\r\n\r\n let cartItems = getSecureData(Constants.USERCART);\r\n if (\r\n cartItems == null ||\r\n cartItems == undefined ||\r\n this.state.arrayCartData == undefined\r\n ) {\r\n this.setState({\r\n isAlertVisible: true,\r\n alertType: 0,\r\n alertMessage:\r\n \"Your shopping basket is empty!, Please add item in basket.\",\r\n isMultiButtom: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n return;\r\n }\r\n\r\n console.log(\r\n \"getSecureData(Constants.ORDERTYPE)\",\r\n getSecureData(Constants.ORDERTYPE),\r\n billamountWithoutDeliveryCharge\r\n );\r\n // if (JSON.parse(localStorage.getItem(Constants.ORDERTYPE)) == 'TakeAway') {\r\n if (\r\n getSecureData(Constants.ORDERTYPE) == \"TakeAway\" ||\r\n getSecureData(Constants.ORDERTYPE) == \"TakeAway Order\"\r\n ) {\r\n console.log(\"order type takeaway\");\r\n if (this.state.orderTimeType == 2) {\r\n let uk = moment(this.state.uktime, \"HH:mm\");\r\n let custom = moment(this.state.customTime, \"HH:mm\");\r\n console.log(\r\n \"diffffff takeaway ------------------- \",\r\n custom.diff(uk, \"minutes\")\r\n );\r\n // if(!uk.isBefore(custom)) {\r\n if (custom.diff(uk, \"minutes\") < 0) {\r\n this.setState({\r\n isAlertVisible: true,\r\n alertType: 0,\r\n alertMessage: Strings.past_time,\r\n isMultiButtom: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n return;\r\n } else {\r\n if (billamountWithoutDeliveryCharge > 0)\r\n this.setState({ isPaymentMethodVisible: true });\r\n else {\r\n this.onPaymentSelection(1); //pay by cash by default with amount 0\r\n }\r\n }\r\n } else {\r\n if (billamountWithoutDeliveryCharge > 0)\r\n this.setState({ isPaymentMethodVisible: true });\r\n else {\r\n this.onPaymentSelection(1); //pay by cash by default with amount 0\r\n }\r\n }\r\n } else if (\r\n getSecureData(Constants.ORDERTYPE) == \"Delivery\" ||\r\n getSecureData(Constants.ORDERTYPE) == \"Delivery Order\"\r\n ) {\r\n if (this.state.orderTimeType == 2) {\r\n let uk = moment(this.state.uktime, \"HH:mm\");\r\n let custom = moment(this.state.customTime, \"HH:mm\");\r\n console.log(\r\n \"diffffff ------------------- \",\r\n custom.diff(uk, \"minutes\")\r\n );\r\n // if(!uk.isBefore(custom)) {\r\n if (custom.diff(uk, \"minutes\") < 0) {\r\n this.setState({\r\n isAlertVisible: true,\r\n alertType: 0,\r\n alertMessage: Strings.past_time,\r\n isMultiButtom: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n return;\r\n } else if (!this.state.isCompanyChecked) {\r\n console.log(\"33333333333 ----------------- \");\r\n if (this.state.selectedAddress[\"address1\"] == null) {\r\n this.setState({\r\n isAlertVisible: true,\r\n alertMessage: Strings.select_add_delivery_address,\r\n isMultiButtom: false,\r\n btnLeft: Strings.Ok_web,\r\n alertType: 0,\r\n });\r\n return;\r\n } else if (\r\n this.state.deliveryChargeResult != null &&\r\n this.state.deliveryChargeResult.status != 1\r\n ) {\r\n this.setState({\r\n isAlertVisible: true,\r\n alertType: 0,\r\n alertMessage: this.state.deliveryChargeResult.message,\r\n isMultiButtom: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n return;\r\n } else {\r\n let dChrge = this.state.objDeliveryCharge.deliveryCharges\r\n ? this.state.objDeliveryCharge.deliveryCharges\r\n : 0;\r\n //Add delivery charge in bill amount and check total is zero\r\n if (billamountWithoutDeliveryCharge + dChrge > 0)\r\n this.setState({ isPaymentMethodVisible: true });\r\n else {\r\n this.onPaymentSelection(1); //pay by cash by default with amount 0\r\n }\r\n }\r\n } else {\r\n console.log(\"check111111 ----------------- \");\r\n if (\r\n this.state.deliveryChargeResult != null &&\r\n this.state.deliveryChargeResult.status != 1\r\n ) {\r\n this.setState({\r\n isAlertVisible: true,\r\n alertType: 0,\r\n alertMessage: this.state.deliveryChargeResult.message,\r\n isMultiButtom: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n return;\r\n } else {\r\n let dChrge = this.state.objDeliveryCharge.deliveryCharges\r\n ? this.state.objDeliveryCharge.deliveryCharges\r\n : 0;\r\n //Add delivery charge in bill amount and check total is zero\r\n if (billamountWithoutDeliveryCharge + dChrge > 0)\r\n this.setState({ isPaymentMethodVisible: true });\r\n else {\r\n this.onPaymentSelection(1); //pay by cash by default with amount 0\r\n }\r\n }\r\n }\r\n } else {\r\n if (!this.state.isCompanyChecked) {\r\n console.log(\r\n \"check ----------------- 222222222222------\",\r\n this.state.deliveryChargeResult\r\n );\r\n if (this.state.selectedAddress[\"address1\"] == null) {\r\n this.setState({\r\n isAlertVisible: true,\r\n alertMessage: Strings.select_add_delivery_address,\r\n isMultiButtom: false,\r\n btnLeft: Strings.Ok_web,\r\n alertType: 0,\r\n });\r\n return;\r\n } else if (\r\n this.state.deliveryChargeResult != null &&\r\n this.state.deliveryChargeResult.status != 1\r\n ) {\r\n this.setState({\r\n isAlertVisible: true,\r\n alertType: 0,\r\n alertMessage: this.state.deliveryChargeResult.message,\r\n isMultiButtom: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n return;\r\n } else {\r\n if (billamountWithoutDeliveryCharge > 0)\r\n this.setState({ isPaymentMethodVisible: true });\r\n else {\r\n this.onPaymentSelection(1); //pay by cash by default with amount 0\r\n }\r\n }\r\n } else {\r\n console.log(\"check ----------------- \");\r\n if (this.state.deliveryChargeResult.status != 1) {\r\n this.setState({\r\n isAlertVisible: true,\r\n alertType: 0,\r\n alertMessage: this.state.deliveryChargeResult.message,\r\n isMultiButtom: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n return;\r\n } else {\r\n if (billamountWithoutDeliveryCharge > 0)\r\n this.setState({ isPaymentMethodVisible: true });\r\n else {\r\n this.onPaymentSelection(1); //pay by cash by default with amount 0\r\n }\r\n }\r\n }\r\n }\r\n } else if (getSecureData(Constants.ORDERTYPE) == \"SitDown\") {\r\n if (\r\n this.state.tablePreBookingObj == null &&\r\n (this.state.tableNo == 0 ||\r\n this.state.tableNo == \"\" ||\r\n this.state.tableNo == null)\r\n ) {\r\n this.setState({\r\n isAlertVisibleTable: true,\r\n alertMessage: \"Please Enter Table No.\",\r\n isMultiButtom: false,\r\n btnLeft: \"Ok\",\r\n });\r\n return;\r\n }\r\n\r\n // if (billamountWithoutDeliveryCharge > 0)\r\n // this.setState({ isPaymentMethodVisible: true })\r\n // else {\r\n if (this.state.tablePreBookingObj == null) {\r\n if (billamountWithoutDeliveryCharge > 0) {\r\n console.log(\"deliverif\");\r\n this.setState({ isPaymentMethodVisible: true });\r\n } else {\r\n console.log(\"deliverelse\");\r\n this.onPaymentSelection(1); //pay by cash by default with amount 0\r\n }\r\n } else {\r\n console.log(\r\n \"checkPreAmount\",\r\n this.state.tablePreBookingObj.bookingDepositAmount,\r\n finalTotalCheck\r\n );\r\n if (\r\n this.state.tablePreBookingObj.bookingDepositAmount > finalTotalCheck\r\n ) {\r\n console.log(\"i callorder\");\r\n this.callAddOrder(1);\r\n } else {\r\n console.log(\"else callorder\");\r\n this.setState({\r\n isPaymentMethodVisible: true,\r\n isPayPal: true,\r\n paymentMode: 1,\r\n });\r\n }\r\n }\r\n //pay by cash by default with amount 0\r\n // }\r\n } else {\r\n console.log(\"else order type ----- \", getSecureData(Constants.ORDERTYPE));\r\n }\r\n\r\n /*if (this.state.orderTimeType == 2) {\r\n \r\n let uk = moment(this.state.uktime,'HH:mm')\r\n let custom = moment(this.state.customTime,'HH:mm')\r\n\r\n if(!uk.isBefore(custom)) {\r\n this.setState({isAlertVisible: true, alertMessage:Strings.past_time, isMultibutton: false, btnLeft:Strings.Ok_web })\r\n return\r\n } else if (!this.state.isCompanyChecked) {\r\n if (this.state.selectedAddress['address1'] == null) {\r\n this.setState({isAlertVisible: true, alertMessage:Strings.select_add_delivery_address, isMultiButtom: false, btnLeft:Strings.Ok_web, alertType: 0})\r\n return\r\n } else \r\n this.setState({isPaymentMethodVisible: true})\r\n } else \r\n this.setState({isPaymentMethodVisible: true})\r\n \r\n } else if (JSON.parse(localStorage.getItem(Constants.ORDERTYPE)) == 'Delivery') {\r\n if (!this.state.isCompanyChecked) {\r\n if (this.state.selectedAddress['address1'] == null) {\r\n this.setState({isAlertVisible: true, alertMessage:Strings.select_add_delivery_address, isMultiButtom: false, btnLeft:Strings.Ok_web, alertType: 0})\r\n return\r\n } else \r\n this.setState({isPaymentMethodVisible: true})\r\n } else \r\n this.setState({isPaymentMethodVisible: true})\r\n } else \r\n this.setState({isPaymentMethodVisible: true})*/\r\n }\r\n\r\n callDeliveryCharge() {\r\n console.log(\r\n \"getSecureData(Constants.ORDERTYPE)\",\r\n getSecureData(Constants.ORDERTYPE)\r\n );\r\n if (\r\n getSecureData(Constants.ORDERTYPE) == \"TakeAway\" ||\r\n getSecureData(Constants.ORDERTYPE) == \"TakeAway Order\" ||\r\n getSecureData(Constants.ORDERTYPE) == \"SitDown\"\r\n ) {\r\n this.onApplyVoucher();\r\n return;\r\n }\r\n console.log(\"address --------- \", this.state.selectedAddress);\r\n var addid = 0;\r\n if (this.state.isCompanyChecked) {\r\n addid = this.state.objCompanyAddress.deliveryaddressId;\r\n } else {\r\n if (!this.state.selectedAddress.address1) {\r\n return;\r\n } else {\r\n addid = this.state.selectedAddress\r\n ? this.state.selectedAddress.deliveryaddressId\r\n : 0;\r\n }\r\n }\r\n\r\n let customerid = getSecureData(Constants.USEROBJECT).customerId;\r\n let locationid = getSecureData(Constants.LOCATIONOBJECT).locationId;\r\n\r\n let itemTotal = 0;\r\n if (this.state.arrayCartData) {\r\n this.state.arrayCartData.map((item) => {\r\n itemTotal += item.totalPrice;\r\n });\r\n }\r\n\r\n this.props\r\n .calculateDeliveryCharge(\r\n addid,\r\n customerid,\r\n locationid,\r\n itemTotal,\r\n this.state.languageType\r\n )\r\n .then(() => {\r\n console.log(\r\n \"calculateDeliveryCharge RESPONSE --------- \",\r\n this.props.data\r\n );\r\n // return\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n this.setState({\r\n objDeliveryCharge: this.props.data.result,\r\n deliveryChargeResult: this.props.data,\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n objDeliveryCharge: {},\r\n alertType: 0,\r\n deliveryChargeResult: this.props.data,\r\n isAlertVisible: true,\r\n alertMessage: this.props.data.message,\r\n isMultiButtom: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n }\r\n\r\n setTimeout(() => {\r\n this.onApplyVoucher();\r\n }, 500);\r\n });\r\n }\r\n\r\n checkVocherData = () => {\r\n if (\r\n this.state.memberOfferDiscount.trim() == \"\" ||\r\n this.state.memberOfferDiscount.length < 0\r\n ) {\r\n this.setState({\r\n isAlertVisible: true,\r\n alertMessage: \"Please apply voucher code.\",\r\n isMultiButtom: false,\r\n btnLeft: Strings.Ok_web,\r\n alertType: 111,\r\n });\r\n return;\r\n }\r\n };\r\n\r\n onApplyVoucher() {\r\n if (localStorage.hasOwnProperty(Constants.USEROBJECT)) {\r\n let userObject = getSecureData(Constants.USEROBJECT);\r\n if (userObject == null) {\r\n return;\r\n }\r\n } else {\r\n return;\r\n }\r\n\r\n // if (!this.state.isVoucherApplied) {\r\n // if (this.state.strVoucher == '') {\r\n // this.setState({ isAlertVisible: true, alertMessage: Strings.errorMsgVoucherCode, isMultiButtom: false, btnLeft: Strings.Ok_web, alertType: 0, })\r\n // } else {\r\n\r\n //total amount logic same as calculate method\r\n var finalTotal = 0;\r\n let itemTotal = 0;\r\n if (this.state.arrayCartData) {\r\n this.state.arrayCartData.map((item) => {\r\n itemTotal += item.totalPrice;\r\n });\r\n }\r\n finalTotal = itemTotal;\r\n\r\n var discount = 0;\r\n var discountValue = \"\";\r\n if (this.state.objOffers) {\r\n //Check offers available or not\r\n if (this.state.objOffers.isfirstOrder == 1) {\r\n //Check discount type 1=Percentage 2=Amount\r\n if (this.state.objOffers.firstOrder.discountType == 1) {\r\n let str = this.state.objOffers.firstOrder.discountPercentage;\r\n let arrStr = str.split(\".\");\r\n if (arrStr[1] == 0) {\r\n discountValue = \"(\" + arrStr[0] + \"%)\";\r\n } else {\r\n discountValue = \"(\" + str + \"%)\";\r\n }\r\n let temp = (finalTotal * Number(str)) / 100;\r\n discount = temp;\r\n finalTotal -= temp; //Number(this.state.objOffers.firstOrder.discount)\r\n } else {\r\n discount = Number(this.state.objOffers.firstOrder.discount);\r\n finalTotal -= Number(this.state.objOffers.firstOrder.discount);\r\n }\r\n }\r\n }\r\n\r\n // let objLocation = JSON.parse(localStorage.getItem(Constants.LOCATIONOBJECT))\r\n let objLocation = getSecureData(Constants.LOCATIONOBJECT);\r\n\r\n //Count Company discount\r\n // var cmpDiscount = 0\r\n // let obj = this.state.objCompanyCredit\r\n // let compy = obj.objScoreDetails\r\n // if (compy) {\r\n // // if (compy.isLinked && JSON.parse(localStorage.getItem(Constants.ORDERTYPE)) == 'Delivery') {\r\n // if (compy.isLinked && getSecureData(Constants.ORDERTYPE) == 'Delivery') {\r\n // if (this.state.isCompanyChecked) {\r\n // if (finalTotal >= obj.objScoreDetails.perDayCredit) {\r\n // finalTotal -= obj.objScoreDetails.perDayCredit\r\n // cmpDiscount = obj.objScoreDetails.perDayCredit\r\n // } else {\r\n // cmpDiscount = finalTotal\r\n // finalTotal = 0\r\n // }\r\n // } else {\r\n\r\n // }\r\n\r\n // }\r\n // }\r\n\r\n //Count avocado point\r\n var avocadoDiscount = 0;\r\n if (\r\n this.state.objAvocadoDetails.useAvocadoPoint >=\r\n this.state.objAvocadoDetails.minredemptionrequired\r\n ) {\r\n if (this.state.isAvocadoChecked) {\r\n if (\r\n finalTotal >=\r\n this.state.objAvocadoDetails.minredemptionrequired *\r\n this.state.objAvocadoDetails.discountof1avocado\r\n ) {\r\n finalTotal -=\r\n this.state.objAvocadoDetails.minredemptionrequired *\r\n this.state.objAvocadoDetails.discountof1avocado;\r\n avocadoDiscount =\r\n this.state.objAvocadoDetails.minredemptionrequired *\r\n this.state.objAvocadoDetails.discountof1avocado;\r\n } else {\r\n avocadoDiscount = finalTotal;\r\n finalTotal -= finalTotal;\r\n }\r\n }\r\n }\r\n\r\n let cartItems = getSecureData(Constants.USERCART);\r\n\r\n var arrOrderItems = [];\r\n if (cartItems) {\r\n cartItems.map((item) => {\r\n // console.log('Item data ----- ',item)\r\n\r\n var objItem = {};\r\n let selectedPrice = item.PriceList.filter(\r\n (priceData) => priceData.isSelect == true\r\n );\r\n\r\n var price = {};\r\n price[\"typeid\"] = selectedPrice[0].typeid;\r\n price[\"type\"] = selectedPrice[0].type;\r\n price[\"price\"] = selectedPrice[0].price;\r\n\r\n var optList = [];\r\n selectedPrice[0].OptionList.map((option) => {\r\n let dict = {};\r\n dict[\"type\"] = option.type;\r\n dict[\"labelText\"] = option.labelText;\r\n dict[\"thumbimgurl\"] = option.thumbimgurl;\r\n dict[\"typeid\"] = option.typeid;\r\n dict[\"sizepid\"] = option.sizepid;\r\n dict[\"parameterId\"] = option.parameterId;\r\n dict[\"price\"] = option.price;\r\n dict[\"isSelect\"] = option.isSelect;\r\n dict[\"isSelectAll\"] = option.isSelectAll;\r\n\r\n if (option.isSelect) {\r\n optList.push(dict);\r\n } else {\r\n if (option.isSelectAll) {\r\n optList.push(dict);\r\n }\r\n }\r\n });\r\n\r\n objItem[\"itemname\"] = item.menuItemName;\r\n objItem[\"orderitemId\"] = item.menuitemId;\r\n objItem[\"catId\"] = item.catId;\r\n objItem[\"qty\"] = item.totalQty;\r\n objItem[\"rewardpoints\"] = 0;\r\n objItem[\"ToppingsList\"] = [];\r\n objItem[\"price\"] = price;\r\n objItem[\"OptionList\"] = optList;\r\n\r\n arrOrderItems.push(objItem);\r\n });\r\n }\r\n\r\n // public enum OrderType\r\n // {\r\n // TakeAway = 1,\r\n // Delivery = 2,\r\n // SitDown = 3,\r\n // InWaiting = 4\r\n // }\r\n\r\n let customer = getSecureData(Constants.USEROBJECT).customerId;\r\n let orderType =\r\n getSecureData(Constants.ORDERTYPE) == \"Delivery\" ||\r\n getSecureData(Constants.ORDERTYPE) == \"Delivery Order\"\r\n ? 2\r\n : getSecureData(Constants.ORDERTYPE) == \"TakeAway\"\r\n ? 1\r\n : 3;\r\n // let orderType = getSecureData(Constants.ORDERTYPE) == 'Delivery' ? 2 : 1\r\n console.log(\r\n \"getSecureData(Constants.MEMBEROFFERS)\",\r\n getSecureData(Constants.MEMBEROFFERS)\r\n );\r\n if (this.state.isMemebrDiscountVoucherApplied) {\r\n this.props\r\n .applyCouponCodeByMemberOfferCode(\r\n customer,\r\n finalTotal,\r\n this.state.memberOfferDiscount,\r\n orderType,\r\n arrOrderItems,\r\n this.state.languageType\r\n )\r\n .then(() => {\r\n console.log(\r\n \"getMemberofferData RESPONSE --------- \",\r\n this.props.data\r\n );\r\n // return\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n var Ddata = this.props.data.result;\r\n //voucher available\r\n this.setState({\r\n isMemberVoucherApplied: true,\r\n memberOfferDiscountVoucher: Ddata,\r\n objVoucher: {},\r\n isVoucherApplied: false,\r\n discountString: \"Reward Discount\",\r\n });\r\n }\r\n } else if (this.props.data.status == 2) {\r\n memberOfferDiscountVoucher = 0;\r\n this.setState({\r\n offerType: 3,\r\n isMemberVoucherApplied: false,\r\n memberOfferDiscount: \"\",\r\n isMemebrDiscountVoucherApplied: false,\r\n alertType: 0,\r\n isAlertVisible: true,\r\n alertMessage: this.props.data.message,\r\n isMultiButtom: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n } else {\r\n }\r\n });\r\n } else {\r\n this.props\r\n .ApplyVoucherCode(\r\n customer,\r\n finalTotal,\r\n this.state.strVoucher,\r\n orderType,\r\n arrOrderItems,\r\n this.state.languageType\r\n )\r\n .then(() => {\r\n console.log(\"ApplyVoucherCode RESPONSE --------- \", this.props.data);\r\n // return\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n //voucher available\r\n this.setState({\r\n isVoucherApplied: true,\r\n objVoucher: this.props.data.result,\r\n discountString: \"Discount\",\r\n isMemberVoucherApplied: false,\r\n memberOfferDiscountVoucher: {},\r\n });\r\n }\r\n } else if (this.props.data.status == 2) {\r\n this.setState({\r\n isVoucherApplied: false,\r\n alertType: 0,\r\n isAlertVisible: true,\r\n alertMessage: this.props.data.message,\r\n isMultiButtom: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n } else {\r\n }\r\n });\r\n }\r\n\r\n // }\r\n // } else {\r\n // this.setState({ isVoucherApplied: false, objVoucher: {}, strVoucher: '' })\r\n // }\r\n }\r\n\r\n onOrderTypeSelectionSet = (val, key) => {\r\n // dhruvin setting time with extra time\r\n var extra = 0;\r\n let uktime = moment(this.state.currentTime, \"HH:mm\").format(\"HH:mm\");\r\n console.log(\"currentTime\", this.state.currentTime, uktime);\r\n if (val == 2) {\r\n //delivery\r\n setTimeout(() => {\r\n // let cartItems = getSecureData(Constants.USERCART);\r\n // if (cartItems.length != 0) {\r\n this.callDeliveryCharge();\r\n // }\r\n }, 300);\r\n extra = getSecureData(Constants.LOCATIONOBJECT).ordersubmittime;\r\n console.log(\"dhruvin checking extra3\", extra);\r\n let uktime1 = \"\";\r\n if (extra === undefined) {\r\n uktime1 = moment(this.state.currentTime, \"YYYY-MM-dd HH:mm:ss\").format(\r\n \"HH:mm\"\r\n );\r\n console.log(\"uktimeif\", extra, uktime1);\r\n } else {\r\n uktime1 = moment(this.state.currentTime, \"YYYY-MM-dd HH:mm:ss\")\r\n .add(extra, \"m\")\r\n .format(\"HH:mm\");\r\n console.log(\"uktimeelse\", this.state.currentTime, extra, uktime1);\r\n }\r\n // let uktime1 = moment(this.state.currentTime, \"YYYY-MM-dd HH:mm:ss\")\r\n // .add(extra, \"m\")\r\n // .format(\"HH:mm\");\r\n // console.log(\r\n // \"time ------------- \",\r\n // extra,\r\n // uktime1,\r\n // this.state.currentTime\r\n // );\r\n this.setState({ tableNo: \"\" });\r\n //Unset custom time if previous sets\r\n if (this.state.orderTimeType != 2) {\r\n this.setState({ orderType: 2, uktime: uktime1, customTime: uktime1 });\r\n } else {\r\n this.setState({ orderType: 2, uktime: uktime1 });\r\n }\r\n setSecureData(Constants.ORDERTYPE, \"Delivery Order\");\r\n setSecureData(Constants.ORDERTYPEID, 2);\r\n } else if (val == 1) {\r\n //takeaway\r\n extra = getSecureData(Constants.LOCATIONOBJECT).takeawayextratime;\r\n let uktime1 = \"\";\r\n if (extra === undefined) {\r\n uktime1 = moment(this.state.currentTime, \"YYYY-MM-dd HH:mm:ss\").format(\r\n \"HH:mm\"\r\n );\r\n console.log(\"uktimeif\", extra, uktime1);\r\n } else {\r\n uktime1 = moment(this.state.currentTime, \"YYYY-MM-dd HH:mm:ss\")\r\n .add(extra, \"m\")\r\n .format(\"HH:mm\");\r\n console.log(\"uktimeelse\", this.state.currentTime, extra, uktime1);\r\n }\r\n\r\n this.setState({ tableNo: \"\" });\r\n //Unset custom time if previous sets\r\n if (this.state.orderTimeType != 2) {\r\n this.setState({ orderType: 1, uktime: uktime1, customTime: uktime1 });\r\n } else {\r\n this.setState({ orderType: 1, uktime: uktime1 });\r\n }\r\n setSecureData(Constants.ORDERTYPE, \"TakeAway Order\");\r\n setSecureData(Constants.ORDERTYPEID, 1);\r\n // console.log(\"uktime1\",uktime1,extra,getSecureData(Constants.LOCATIONOBJECT))\r\n } else if (val == 3) {\r\n //SitDown\r\n extra = getSecureData(Constants.LOCATIONOBJECT).bookingTimeLimit;\r\n let uktime1 = \"\";\r\n if (extra === undefined) {\r\n uktime1 = moment(this.state.currentTime, \"YYYY-MM-dd HH:mm:ss\").format(\r\n \"HH:mm\"\r\n );\r\n console.log(\"uktimeif\", extra, uktime1);\r\n } else {\r\n uktime1 = moment(this.state.currentTime, \"YYYY-MM-dd HH:mm:ss\")\r\n .add(extra, \"m\")\r\n .format(\"HH:mm\");\r\n console.log(\"uktimeelse\", this.state.currentTime, extra, uktime1);\r\n }\r\n //Unset custom time if previous sets\r\n if (this.state.orderTimeType != 2) {\r\n this.setState({ orderType: 3, uktime: uktime1, customTime: uktime1 });\r\n } else {\r\n this.setState({ orderType: 3, uktime: uktime1 });\r\n }\r\n setSecureData(Constants.ORDERTYPE, \"SitDown\");\r\n setSecureData(Constants.ORDERTYPEID, 3);\r\n }\r\n // dhruvin setting time with extra time\r\n\r\n console.log(\"i am dhruvin in order yes\");\r\n var ordType = 1;\r\n if (val == 2) {\r\n ordType = Strings.Delivery_web;\r\n Constants.OrderTypeID = 2;\r\n // this.setState({orderImg : 'deliveryIcon.png'})\r\n } else if (val == 1) {\r\n ordType = Strings.lbl_takeaway_react;\r\n Constants.OrderTypeID = 1;\r\n // this.setState({orderImg : 'takeAwayIcon.png'})\r\n this.setState({\r\n objDeliveryCharge: { distance: 0, deliveryCharges: 0 },\r\n });\r\n } else if (val == 3) {\r\n ordType = Strings.str_sitDown;\r\n Constants.OrderTypeID = 3;\r\n // this.setState({orderImg : 'tableOrderIcon.png'})\r\n this.setState({\r\n objDeliveryCharge: { distance: 0, deliveryCharges: 0 },\r\n });\r\n }\r\n setSecureData(Constants.ORDERTYPE, ordType);\r\n setSecureData(Constants.ORDERTYPEID, Constants.OrderTypeID);\r\n this.setState({ orderType: Constants.OrderTypeID });\r\n localStorage.removeItem(Constants.USERCART);\r\n // localStorage.removeItem('tablePreBookingObj')\r\n // window.location.href = '/menuItems'\r\n return;\r\n };\r\n\r\n onOrderTypeSelection(val, cartClr = \"\") {\r\n var extra = 0;\r\n // var val = val\r\n // var cartClr = cartClr\r\n // console.log(\"i am dhruvin 1\");\r\n console.log(\r\n \"order type ------ \",\r\n this.state.orderType,\r\n val,\r\n cartClr,\r\n getSecureData(Constants.ORDERTYPE)\r\n );\r\n\r\n if (val != this.state.orderType && cartClr == \"\") {\r\n console.log(\"if in popup show\");\r\n this.setState({ onOrderTypeSelection: val });\r\n this.onReorderClick(val);\r\n return;\r\n }\r\n\r\n if (getSecureData(Constants.LOCATIONOBJECT) == null) {\r\n console.log(\r\n \"getSecureData(Constants.LOCATIONOBJECT)if\",\r\n getSecureData(Constants.LOCATIONOBJECT)\r\n );\r\n return;\r\n }\r\n console.log(\r\n \"getSecureData(Constants.LOCATIONOBJECT)else\",\r\n getSecureData(Constants.LOCATIONOBJECT)\r\n );\r\n\r\n // return\r\n console.log(\"i am dhruvin 1\");\r\n let uktime = moment(this.state.currentTime, \"HH:mm\").format(\"HH:mm\");\r\n console.log(\"currentTime\", this.state.currentTime, uktime);\r\n if (val == 2) {\r\n //delivery\r\n setTimeout(() => {\r\n // let cartItems = getSecureData(Constants.USERCART);\r\n // if (cartItems.length != 0) {\r\n this.callDeliveryCharge();\r\n // }\r\n }, 300);\r\n extra = getSecureData(Constants.LOCATIONOBJECT).ordersubmittime;\r\n console.log(\"dhruvin checking extra3\", extra);\r\n let uktime1 = \"\";\r\n if (extra === undefined) {\r\n uktime1 = moment(this.state.currentTime, \"YYYY-MM-dd HH:mm:ss\").format(\r\n \"HH:mm\"\r\n );\r\n console.log(\"uktimeif\", extra, uktime1);\r\n } else {\r\n uktime1 = moment(this.state.currentTime, \"YYYY-MM-dd HH:mm:ss\")\r\n .add(extra, \"m\")\r\n .format(\"HH:mm\");\r\n console.log(\"uktimeelse\", this.state.currentTime, extra, uktime1);\r\n }\r\n // let uktime1 = moment(this.state.currentTime, \"YYYY-MM-dd HH:mm:ss\")\r\n // .add(extra, \"m\")\r\n // .format(\"HH:mm\");\r\n // console.log(\r\n // \"time ------------- \",\r\n // extra,\r\n // uktime1,\r\n // this.state.currentTime\r\n // );\r\n this.setState({ tableNo: \"\" });\r\n //Unset custom time if previous sets\r\n if (this.state.orderTimeType != 2) {\r\n this.setState({ orderType: 2, uktime: uktime1, customTime: uktime1 });\r\n } else {\r\n this.setState({ orderType: 2, uktime: uktime1 });\r\n }\r\n setSecureData(Constants.ORDERTYPE, \"Delivery Order\");\r\n setSecureData(Constants.ORDERTYPEID, 2);\r\n } else if (val == 1) {\r\n //takeaway\r\n extra = getSecureData(Constants.LOCATIONOBJECT).takeawayextratime;\r\n let uktime1 = \"\";\r\n if (extra === undefined) {\r\n uktime1 = moment(this.state.currentTime, \"YYYY-MM-dd HH:mm:ss\").format(\r\n \"HH:mm\"\r\n );\r\n console.log(\"uktimeif\", extra, uktime1);\r\n } else {\r\n uktime1 = moment(this.state.currentTime, \"YYYY-MM-dd HH:mm:ss\")\r\n .add(extra, \"m\")\r\n .format(\"HH:mm\");\r\n console.log(\"uktimeelse\", this.state.currentTime, extra, uktime1);\r\n }\r\n\r\n this.setState({ tableNo: \"\" });\r\n //Unset custom time if previous sets\r\n if (this.state.orderTimeType != 2) {\r\n this.setState({ orderType: 1, uktime: uktime1, customTime: uktime1 });\r\n } else {\r\n this.setState({ orderType: 1, uktime: uktime1 });\r\n }\r\n setSecureData(Constants.ORDERTYPE, \"TakeAway Order\");\r\n setSecureData(Constants.ORDERTYPEID, 1);\r\n // console.log(\"uktime1\",uktime1,extra,getSecureData(Constants.LOCATIONOBJECT))\r\n } else if (val == 3) {\r\n //SitDown\r\n extra = getSecureData(Constants.LOCATIONOBJECT).bookingTimeLimit;\r\n let uktime1 = \"\";\r\n if (extra === undefined) {\r\n uktime1 = moment(this.state.currentTime, \"YYYY-MM-dd HH:mm:ss\").format(\r\n \"HH:mm\"\r\n );\r\n console.log(\"uktimeif\", extra, uktime1);\r\n } else {\r\n uktime1 = moment(this.state.currentTime, \"YYYY-MM-dd HH:mm:ss\")\r\n .add(extra, \"m\")\r\n .format(\"HH:mm\");\r\n console.log(\"uktimeelse\", this.state.currentTime, extra, uktime1);\r\n }\r\n //Unset custom time if previous sets\r\n if (this.state.orderTimeType != 2) {\r\n this.setState({ orderType: 3, uktime: uktime1, customTime: uktime1 });\r\n } else {\r\n this.setState({ orderType: 3, uktime: uktime1 });\r\n }\r\n setSecureData(Constants.ORDERTYPE, \"SitDown\");\r\n setSecureData(Constants.ORDERTYPEID, 3);\r\n }\r\n\r\n console.log(\"if after return\");\r\n if (this.state.onOrderTypeClearCart == true && cartClr == \"yes\") {\r\n localStorage.removeItem(Constants.USERCART);\r\n console.log(\"if after return remove cart\");\r\n this.componentWillMountRenderFunction();\r\n if (\r\n getSecureData(Constants.LOCATIONOBJECT) != null &&\r\n getSecureData(Constants.LOCATIONOBJECT) != undefined\r\n ) {\r\n this.getRestInfo();\r\n }\r\n\r\n this.props.callGetCategoryListApi();\r\n }\r\n }\r\n\r\n setOrderTypeData = (e, type) => {\r\n e.preventDefault();\r\n console.log(\"setOrderTypeData 1 checkTimeApi : true\");\r\n this.setState({ orderTimeType: type, checkTimeApi: true }, () => {\r\n this.getRestInfo1();\r\n });\r\n };\r\n\r\n getRestInfo1 = () => {\r\n if (this.state.checkTimeApi == true) {\r\n console.log(\"setOrderTypeData 3\");\r\n this.props.getRestoInfo(this.state.languageType).then(() => {\r\n console.log(\r\n \"resto info api response -------------------- \",\r\n this.props.data\r\n );\r\n if (this.props.data.status == 1) {\r\n let uktime = moment(\r\n this.props.data.result.ukdatetime,\r\n \"YYYY-MM-dd HH:mm:ss\"\r\n ).format(\"HH:mm\");\r\n // this.setState({currentTime: this.props.data.result.ukdatetime})\r\n var extra = 0;\r\n if (this.state.orderType == 2) {\r\n //delivery\r\n extra = getSecureData(Constants.LOCATIONOBJECT).ordersubmittime;\r\n console.log(\"dhruvin checking extra1\", extra);\r\n } else if (this.state.orderType == 1) {\r\n //takeaway\r\n extra = getSecureData(Constants.LOCATIONOBJECT).takeawayextratime;\r\n } else if (this.state.orderType == 3) {\r\n //SitDown\r\n extra = getSecureData(Constants.LOCATIONOBJECT).bookingTimeLimit;\r\n }\r\n uktime = moment(uktime, \"HH:mm\").add(extra, \"m\").format(\"HH:mm\");\r\n\r\n this.setState({\r\n currentTime: this.props.data.result.ukdatetime,\r\n uktime: uktime,\r\n customTime: uktime,\r\n });\r\n console.log(\"setOrderTypeData 4\");\r\n this.setState({ checkTimeApi: false });\r\n }\r\n });\r\n }\r\n };\r\n\r\n renderOrderTypes1() {\r\n let objLocation = getSecureData(Constants.LOCATIONOBJECT);\r\n\r\n return (\r\n
    \r\n {objLocation.isOrderExtras ? (\r\n {\r\n this.onOrderTypeSelection(3, \"\");\r\n }}\r\n className=\"custom-control custom-radio custom-control-inline\"\r\n >\r\n \r\n\r\n {this.state.orderType == 3 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n ) : null}\r\n {objLocation.isTakeAway ? (\r\n {\r\n this.onOrderTypeSelection(1, \"\");\r\n }}\r\n className=\"custom-control custom-radio custom-control-inline\"\r\n >\r\n \r\n {/* */}\r\n {this.state.orderType == 1 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n ) : null}\r\n {objLocation.isDelivery ? (\r\n {\r\n this.onOrderTypeSelection(2, \"\");\r\n }}\r\n className=\"custom-control custom-radio custom-control-inline\"\r\n >\r\n \r\n {/* */}\r\n {this.state.orderType == 2 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n ) : null}\r\n \r\n );\r\n }\r\n renderOrderTypes() {\r\n let objLocation = getSecureData(Constants.LOCATIONOBJECT);\r\n\r\n return (\r\n
    \r\n {objLocation.isOrderExtras ? (\r\n {\r\n this.onOrderTypeSelection(3, \"\");\r\n }}\r\n className=\"custom-control custom-radio custom-control-inline\"\r\n >\r\n \r\n\r\n {this.state.orderType == 3 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n ) : null}\r\n {objLocation.isTakeAway ? (\r\n {\r\n this.onOrderTypeSelection(1, \"\");\r\n }}\r\n className=\"custom-control custom-radio custom-control-inline\"\r\n >\r\n \r\n {/* */}\r\n {this.state.orderType == 1 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ) : null}\r\n {objLocation.isDelivery ? (\r\n {\r\n this.onOrderTypeSelection(2, \"\");\r\n }}\r\n className=\"custom-control custom-radio custom-control-inline\"\r\n >\r\n \r\n {/* */}\r\n {this.state.orderType == 2 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ) : null}\r\n \r\n );\r\n }\r\n\r\n noItemView() {\r\n let locationObject = getSecureData(Constants.LOCATIONOBJECT);\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n

    {Strings.lbl_order_type_react}

    \r\n
    \r\n
    \r\n {this.state.tablePreBookingObj == null && locationObject != null\r\n ? this.renderOrderTypes()\r\n : null}\r\n
    \r\n {this.state.orderType == 2 ? (\r\n
    \r\n
    \r\n

    {Strings.lbl_location_react_web}

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    {this.renderAddressView()}
    \r\n
    \r\n ) : null}\r\n\r\n {/* commented for making invisible table number while order type selection popup */}\r\n {/* {this.state.orderType == 3 &&\r\n this.state.tablePreBookingObj == null ? (\r\n
    \r\n {console.log(\"dhr\", this.state.orderType)}\r\n this.setState({ tableNo: e.target.value })}\r\n />\r\n
    \r\n ) : null} */}\r\n {this.state.orderType == 2 ? (\r\n
    \r\n {\r\n this.setOrderTypeData(e, 1);\r\n }}\r\n >\r\n
    \r\n \r\n {this.state.orderTimeType == 1 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n {/*
    \r\n {\r\n this.setOrderTypeData(e, 2);\r\n }}\r\n >\r\n
    \r\n \r\n {this.state.orderTimeType == 2 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n */}\r\n
    \r\n ) : null}\r\n\r\n {this.state.orderType == 1 ? (\r\n
    \r\n {\r\n this.setOrderTypeData(e, 1);\r\n }}\r\n >\r\n
    \r\n \r\n {this.state.orderTimeType == 1 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n {/*
    \r\n {\r\n this.setOrderTypeData(e, 2);\r\n }}\r\n >\r\n
    \r\n \r\n {this.state.orderTimeType == 2 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n */}\r\n
    \r\n ) : null}\r\n\r\n {/* {this.state.orderTimeType == 2 &&\r\n (this.state.orderType == 2 || this.state.orderType == 1) ? (\r\n
    \r\n \r\n
    \r\n {\r\n this.onTimeSelect(1, e);\r\n }}\r\n >\r\n \r\n {moment(this.state.customTime, \"HH:mm\").format(\"HH\")}\r\n \r\n \r\n {this.renderTimeView(1)}\r\n \r\n \r\n \r\n {\r\n this.onTimeSelect(2, e);\r\n }}\r\n >\r\n \r\n {moment(this.state.customTime, \"HH:mm\").format(\"mm\")}\r\n \r\n \r\n {this.renderTimeView(2)}\r\n \r\n \r\n
    \r\n
    \r\n ) : null} */}\r\n\r\n {this.state.objAvocadoDetails.minredemptionrequired > 0 ? (\r\n this.state.objAvocadoDetails.minredemptionrequired <=\r\n this.state.objAvocadoDetails.useAvocadoPoint ? (\r\n
    \r\n {\r\n this.setState({\r\n isAvocadoChecked: !this.state.isAvocadoChecked,\r\n });\r\n }}\r\n >\r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n ) : null\r\n ) : null}\r\n
    \r\n\r\n
    \r\n
    \r\n
    {Strings.sub_total}
    \r\n
    {getPriceFormat((0).toFixed(2))}
    \r\n
    \r\n
    \r\n
    {Strings.Total_web}
    \r\n
    {getPriceFormat((0).toFixed(2))}
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {\r\n this.setState({ strNotes: text.target.value });\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {\r\n this.onCheckOutClickedEstimatedTimePop();\r\n }}\r\n >\r\n {Strings.Checkout_web}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Allergy Advice: If you have an allergy that could harm your health\r\n we strongly advise you to contact the restaurant before you place\r\n your order.\r\n

    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n renderRightView() {\r\n console.log(\"renderRightView\", this.state.arrayCartData);\r\n let locationObject = getSecureData(Constants.LOCATIONOBJECT);\r\n\r\n if (this.state.arrayCartData == null) {\r\n return this.noItemView();\r\n }\r\n if (this.state.arrayCartData.length == 0) {\r\n // return (\r\n // \r\n // )\r\n return this.noItemView();\r\n }\r\n return (\r\n
    \r\n
    {this.renderBoxCartItems()}
    \r\n

    {Strings.lbl_order_type_react}

    \r\n
    \r\n
    \r\n {this.state.tablePreBookingObj == null\r\n ? this.renderOrderTypes()\r\n : null}\r\n
    \r\n {this.state.orderType == 2 ? (\r\n
    \r\n
    \r\n

    {Strings.lbl_location_react_web}

    \r\n \r\n
    \r\n
    {this.renderAddressView()}
    \r\n
    \r\n ) : null}\r\n\r\n {this.state.orderType == 3 &&\r\n this.state.tablePreBookingObj == null ? (\r\n
    \r\n {/* */}\r\n this.setState({ tableNo: e.target.value })}\r\n />\r\n
    \r\n ) : null}\r\n\r\n {this.state.orderType == 2 ? (\r\n
    \r\n {\r\n this.setOrderTypeData(e, 1);\r\n }}\r\n >\r\n
    \r\n \r\n {this.state.orderTimeType == 1 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n {/*
    \r\n {\r\n this.setOrderTypeData(e, 2);\r\n }}\r\n >\r\n
    \r\n \r\n {this.state.orderTimeType == 2 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n */}\r\n
    \r\n ) : null}\r\n\r\n {this.state.orderType == 1 ? (\r\n
    \r\n {\r\n this.setOrderTypeData(e, 1);\r\n }}\r\n >\r\n
    \r\n \r\n {this.state.orderTimeType == 1 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n {/*
    \r\n {\r\n this.setOrderTypeData(e, 2);\r\n }}\r\n >\r\n
    \r\n \r\n {this.state.orderTimeType == 2 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n */}\r\n
    \r\n ) : null}\r\n\r\n {/* {this.state.orderTimeType == 2 &&\r\n (this.state.orderType == 2 || this.state.orderType == 1) ? (\r\n
    \r\n \r\n
    \r\n {\r\n this.onTimeSelect(1, e);\r\n }}\r\n >\r\n \r\n {moment(this.state.customTime, \"HH:mm\").format(\"HH\")}\r\n \r\n \r\n {this.renderTimeView(1)}\r\n \r\n \r\n \r\n {\r\n this.onTimeSelect(2, e);\r\n }}\r\n >\r\n \r\n {moment(this.state.customTime, \"HH:mm\").format(\"mm\")}\r\n \r\n \r\n {this.renderTimeView(2)}\r\n \r\n \r\n
    \r\n
    \r\n ) : null} */}\r\n\r\n {/* {(this.state.objAvocadoDetails.minredemptionrequired > this.state.objAvocadoDetails.discountof1avocado) ? */}\r\n {this.state.objAvocadoDetails.minredemptionrequired > 0 ? (\r\n this.state.objAvocadoDetails.minredemptionrequired <=\r\n this.state.objAvocadoDetails.useAvocadoPoint ? (\r\n
    \r\n {\r\n this.setState({\r\n isAvocadoChecked: !this.state.isAvocadoChecked,\r\n });\r\n }}\r\n >\r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n ) : null\r\n ) : null}\r\n {/*Voucher code comment*/}\r\n {/*
    \r\n
    \r\n {this.setState({strVoucher: text.target.value})}}/>\r\n
    \r\n \r\n
    */}\r\n
    \r\n {getSecureData(Constants.USEROBJECT) != undefined ? (\r\n <>\r\n
    \r\n this.setState({ offerType: 3 })}\r\n checked={this.state.offerType === 3}\r\n />\r\n {\r\n this.setState(\r\n { isMemebrDiscountVoucherApplied: false },\r\n () => {\r\n this.onApplyVoucher();\r\n }\r\n );\r\n }}\r\n className=\"form-check-label\"\r\n for=\"inlineRadio3\"\r\n >\r\n \r\n Discount\r\n \r\n
    \r\n\r\n {this.state.getMemberofferData.length > 0 ? (\r\n
    \r\n this.setState({ offerType: 1 })}\r\n checked={this.state.offerType === 1}\r\n />\r\n {\r\n this.checkOfferList();\r\n }}\r\n className=\"form-check-label\"\r\n for=\"inlineRadio1\"\r\n >\r\n \r\n Loyalty Offers\r\n \r\n
    \r\n ) : null}\r\n
    \r\n this.setState({ offerType: 2 })}\r\n checked={this.state.offerType === 2}\r\n />\r\n {\r\n this.setState({ offerType: 2, memberOfferDiscount: \"\" });\r\n }}\r\n className=\"form-check-label\"\r\n for=\"inlineRadio2\"\r\n >\r\n \r\n Promo Code\r\n \r\n
    \r\n \r\n ) : null}\r\n\r\n {this.state.offerType === 2 ? (\r\n
    \r\n {\r\n this.setState({\r\n memberOfferDiscount: e.target.value,\r\n isMemebrDiscountVoucherApplied: true,\r\n });\r\n }}\r\n />\r\n {\r\n this.state.memberOfferDiscount == \"\"\r\n ? this.checkVocherData()\r\n : this.onApplyVoucher();\r\n }}\r\n >\r\n Apply\r\n \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n\r\n {this.calculateFinalPrice()}\r\n
    \r\n \r\n {\r\n this.setState({ strNotes: text.target.value });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n this.onCheckOutClickedEstimatedTimePop();\r\n }}\r\n >\r\n {Strings.Checkout_web}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Allergy Advice: If you have an allergy that could harm your health\r\n we strongly advise you to contact the restaurant before you place\r\n your order.\r\n

    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n renderDrinkButton() {\r\n if (this.state.arrayCartData) {\r\n if (this.state.arrayCartData.length > 0) {\r\n if (!this.state.objCheckInfo) {\r\n return;\r\n }\r\n var drinkId = this.state.objCheckInfo.drinksCatId;\r\n var isShow = true;\r\n for (var i = 0; i < this.state.arrayCartData.length; i++) {\r\n let obj = this.state.objCheckInfo.drinksSubCatIds.filter(\r\n (ids) => ids == this.state.arrayCartData[i].catId\r\n );\r\n // console.log('arrr --- ---- ',this.state.objCheckInfo.drinksSubCatIds)\r\n if (obj.length > 0) {\r\n isShow = false;\r\n break;\r\n }\r\n }\r\n if (isShow) {\r\n return (\r\n // {localStorage.setItem(Constants.PRE_CAT_ID,JSON.stringify(this.state.objCheckInfo.drinksCatId)); this.props.history.push({ pathname: '/MenuItems', catId: this.state.objCheckInfo.drinksCatId})}}>{Strings.str_add_drink}\r\n {\r\n setSecureData(\r\n Constants.PRE_CAT_ID,\r\n this.state.objCheckInfo.drinksCatId\r\n );\r\n this.props.history.push({\r\n pathname: \"/MenuItems\",\r\n catId: this.state.objCheckInfo.drinksCatId,\r\n });\r\n }}\r\n >\r\n {Strings.str_add_drink}\r\n \r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n onLogin() {\r\n this.setState({ isLoginEnabled: false, isSignUpEnabled: false }, () => {\r\n setTimeout(() => {\r\n if (localStorage.hasOwnProperty(Constants.USEROBJECT)) {\r\n let userObject = getSecureData(Constants.USEROBJECT);\r\n if (userObject != null) {\r\n let customer = getSecureData(Constants.USEROBJECT).customerId;\r\n let id = getSecureData(Constants.LOCATIONOBJECT).locationId;\r\n this.callGetDeliveryAddress(id, customer);\r\n if (\r\n getSecureData(Constants.LOCATIONOBJECT) != null &&\r\n getSecureData(Constants.LOCATIONOBJECT) != undefined\r\n ) {\r\n // this.getMemberofferList()\r\n }\r\n } else {\r\n }\r\n } else {\r\n }\r\n }, 200);\r\n });\r\n }\r\n\r\n getMemberofferList = () => {\r\n let locationId = getSecureData(Constants.LOCATIONOBJECT).locationId;\r\n let userObject = getSecureData(Constants.USEROBJECT);\r\n console.log(\"userObject\", userObject);\r\n this.setState({ locationId: locationId });\r\n var data = {\r\n locationId: locationId,\r\n customerId: userObject.customerId,\r\n languageId: this.state.languageType,\r\n };\r\n console.log(\"MemberOfferList data\", data);\r\n if (\r\n userObject.customerId != 0 &&\r\n this.state.languageType != \"\" &&\r\n locationId != \"\"\r\n ) {\r\n this.props\r\n .getMemberofferList(data)\r\n .then(() => {\r\n console.log(\"MemberOfferList :\", this.props.data);\r\n if (this.props.data.status == 1) {\r\n this.setState({\r\n getMemberofferData: this.props.data.result.MemberOfferList,\r\n offerLevelPoint: this.props.data.result.offerLevelPoint,\r\n level: this.props.data.result.level,\r\n });\r\n } else {\r\n // alert('Something went wrong')\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"error \", err);\r\n });\r\n }\r\n };\r\n offerListModal = () => {\r\n return (\r\n {\r\n this.setState({ showOfferModal: false });\r\n }}\r\n size=\"sm\"\r\n aria-labelledby=\"contained-modal-title-vcenter\"\r\n centered\r\n >\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    REWARDS : {this.state.offerLevelPoint}

    \r\n
    \r\n
    \r\n

    LEVEL {this.state.level}

    \r\n
    \r\n
    \r\n
    \r\n\r\n

    {\"Apply Voucher Code\"}

    \r\n\r\n
    \r\n {this.state.getMemberofferData.length > 0\r\n ? this.state.getMemberofferData.map((data) => {\r\n return (\r\n
    \r\n
    \r\n

    {data.MemberOfferRewardTitle}

    \r\n
    \r\n
    \r\n {\r\n this.setState(\r\n {\r\n memberOfferDiscount: data.MemberOfferCode,\r\n showOfferModal: false,\r\n isMemebrDiscountVoucherApplied: true,\r\n },\r\n () => {\r\n this.onApplyVoucher();\r\n }\r\n );\r\n }}\r\n >\r\n Apply\r\n

    \r\n
    \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n \r\n );\r\n };\r\n\r\n checkOfferList = () => {\r\n this.setState({ offerType: 1, showOfferModal: true });\r\n };\r\n\r\n onReorderClick(val) {\r\n if (this.state.arrayCartData == null) {\r\n this.setState({\r\n isAlertVisibleForReorder: true,\r\n alertMessage: \"Are you want to change the order type?\",\r\n isMultiButtom: true,\r\n btnLeft: \"No\",\r\n btnRight: \"Yes\",\r\n // offerType : val\r\n });\r\n } else if (this.state.arrayCartData.length == 0) {\r\n this.setState({\r\n isAlertVisibleForReorder: true,\r\n alertMessage: \"Are you want to change the order type?\",\r\n isMultiButtom: true,\r\n btnLeft: \"No\",\r\n btnRight: \"Yes\",\r\n // offerType : val\r\n });\r\n } else {\r\n this.setState({\r\n isAlertVisibleForReorder: true,\r\n alertMessage:\r\n \"If you wish to select a different Order type, this will reset your order. do you want to remove your items and continue with your order from a different order type?\",\r\n isMultiButtom: true,\r\n btnLeft: \"No\",\r\n btnRight: \"Yes\",\r\n // offerType : val\r\n });\r\n }\r\n }\r\n\r\n addRemoveFavItem = (data, url) => {\r\n console.log(\"addRemoveFavItem\", data, url);\r\n // return\r\n var data = {\r\n restaurantId: 147,\r\n languageId: getSecureData(Constants.PRE_LANGUAGE_TYPE),\r\n customerId:\r\n getSecureData(Constants.USEROBJECT) != undefined\r\n ? getSecureData(Constants.USEROBJECT).customerId\r\n : 0,\r\n locationId:\r\n getSecureData(Constants.LOCATIONOBJECT) != undefined\r\n ? getSecureData(Constants.LOCATIONOBJECT).locationId\r\n : 1,\r\n menuitemId: data.menuitemId,\r\n url: url,\r\n };\r\n\r\n var MenuItemList = getSecureData(\"arrayWholeMenuItems\");\r\n\r\n // console.log('arrayWholeMenuItems',MenuItemList)\r\n // return false\r\n var likedData = MenuItemList.map((item) => {\r\n if (item.menuitemId == data.menuitemId) {\r\n if (url == \"addFavorite\") {\r\n item.isFavoriteMenu = true;\r\n } else {\r\n item.isFavoriteMenu = false;\r\n }\r\n }\r\n return item;\r\n });\r\n\r\n this.setState({ arrayMenuItems: likedData });\r\n\r\n this.props.addRemoveFavItem(data).then(() => {\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n }\r\n }\r\n });\r\n };\r\n\r\n render() {\r\n return (\r\n <>\r\n {console.log(\r\n \"userCartData\",\r\n this.state.userCartData,\r\n this.state.arrayCartData,\r\n this.state.cartUpdate\r\n )}\r\n\r\n {/* {this.state.cartUpdate ? this.componentWillMountRenderFunction() : null} */}\r\n\r\n {this.state.isAddAddressVisible ? (\r\n {\r\n this.onAddNewAddress(data);\r\n }}\r\n />\r\n ) : null}\r\n\r\n {this.state.isAddressVisible ? (\r\n {\r\n this.onCloseAddress(data);\r\n }}\r\n onAddNewAddress={() => {\r\n this.onAddAddress();\r\n }}\r\n onDeleteAddress={() => {\r\n this.onDeleteAddress();\r\n }}\r\n />\r\n ) : null}\r\n\r\n {\r\n this.onLeftClick();\r\n }}\r\n btnRightClick={() => {\r\n this.onRightClick();\r\n }}\r\n btnLeftTitle={this.state.btnLeft}\r\n btnRightTitle={this.state.btnRight}\r\n />\r\n\r\n {this.state.isItemPopupVisible ? (\r\n {\r\n this.onPopupClose(popup);\r\n }}\r\n isFavShow={false}\r\n isVisible={this.state.isItemPopupVisible}\r\n />\r\n ) : null}\r\n\r\n {\r\n this.setState({ isAlertVisibleForReorder: false });\r\n }}\r\n btnRightClick={() => {\r\n this.setState(\r\n { isAlertVisibleForReorder: false, arrayCartData: [] },\r\n () => {\r\n this.onOrderTypeSelectionSet(\r\n this.state.onOrderTypeSelection,\r\n \"yes\"\r\n );\r\n }\r\n );\r\n }}\r\n btnLeftTitle={this.state.btnLeft}\r\n btnRightTitle={this.state.btnRight}\r\n orderDetailId={\"\"}\r\n history={this.props.history}\r\n />\r\n\r\n {\r\n this.setState({ isAlertVisibleTable: false });\r\n }}\r\n btnRightClick={() => {\r\n return;\r\n }}\r\n btnLeftTitle={this.state.btnLeft}\r\n btnRightTitle={this.state.btnRight}\r\n orderDetailId={this.state.orderDetailId}\r\n history={this.props.history}\r\n />\r\n\r\n {this.state.isPaymentMethodVisible ? (\r\n {\r\n this.onPaymentSelection(type);\r\n }}\r\n isCard={this.state.isPayByCard}\r\n isCash={this.state.isPayByCash}\r\n />\r\n ) : null}\r\n {\r\n this.onLogin()}\r\n onSignUp={() => {\r\n this.setState({ isLoginEnabled: false, isSignUpEnabled: true });\r\n }}\r\n onForget={() => {\r\n this.setState({ isLoginEnabled: false, isForgetEnabled: true });\r\n }}\r\n >\r\n }\r\n {\r\n this.onLogin()}\r\n >\r\n }\r\n {\r\n \r\n this.setState({\r\n isLoginEnabled: false,\r\n isSignUpEnabled: false,\r\n isForgetEnabled: false,\r\n })\r\n }\r\n >\r\n }\r\n\r\n
    \r\n
    \r\n {this.renderRightView()}\r\n
    \r\n {/* */}\r\n
    \r\n {/* {this.offerListModal()} */}\r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n console.log(\"isLoaging Checkout ------- \" + state.HGReducers.isLoading);\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n getOffersAPI: (amount, customerId, languageType) =>\r\n dispatch(\r\n HGActions.initCheckSpecialOffersAPI(amount, customerId, languageType)\r\n ),\r\n getRestoInfo: (languageType) =>\r\n dispatch(HGActions.initGetRestoInfoAPI(languageType)),\r\n getCompanyCreditAPI: (customerId, languageType) =>\r\n dispatch(HGActions.initCompanyCreditScoreAPI(customerId, languageType)),\r\n addCompnayAddressAPI: (locationid, address, languageType) =>\r\n dispatch(\r\n HGActions.initAddCompanyAddressAPI(locationid, address, languageType)\r\n ),\r\n getDeliveryAddressAPI: (locationId, customerId, languageType) =>\r\n dispatch(\r\n HGActions.initGetDeliveryAddressAPI(locationId, customerId, languageType)\r\n ),\r\n addOrderAPI: (OrderInfo, languageType) =>\r\n dispatch(HGActions.initAddOrdersAPI(OrderInfo, languageType)),\r\n getItemDetailsAPI: (menuitemId, languageType) =>\r\n dispatch(HGActions.initGetItemDetailsAPI(menuitemId, languageType)),\r\n getAvocadoDetailsAPI: (languageType, customerId) =>\r\n dispatch(HGActions.initGetAvocadoDetailsAPI(languageType, customerId)),\r\n AppMessageApi: (languageType) =>\r\n dispatch(HGActions.GetAppMessageListApi(languageType)),\r\n callCancelAPI: (TransactionInfo, languageType) =>\r\n dispatch(HGActions.initCancelOrderAPI(TransactionInfo, languageType)),\r\n calculateDeliveryCharge: (\r\n addressId,\r\n customerId,\r\n locationId,\r\n totalAmount,\r\n languageId\r\n ) =>\r\n dispatch(\r\n HGActions.initDeliveryChargeAPI(\r\n addressId,\r\n customerId,\r\n locationId,\r\n totalAmount,\r\n languageId\r\n )\r\n ),\r\n checkNextDayOrder: (customerId, comapanyId, locationId, time, languageId) =>\r\n dispatch(\r\n HGActions.initCheckNextDayOrderAPI(\r\n customerId,\r\n comapanyId,\r\n locationId,\r\n time,\r\n languageId\r\n )\r\n ),\r\n ApplyVoucherCode: (\r\n customerId,\r\n totalAmount,\r\n offerCode,\r\n orderType,\r\n OrderedItems,\r\n languageType\r\n ) =>\r\n dispatch(\r\n HGActions.initApplyVoucherCode(\r\n customerId,\r\n totalAmount,\r\n offerCode,\r\n orderType,\r\n OrderedItems,\r\n languageType\r\n )\r\n ),\r\n getMemberofferList: (data) => dispatch(HGActions.getMemberofferList(data)),\r\n applyCouponCodeByMemberOfferCode: (\r\n customerId,\r\n totalAmount,\r\n offerCode,\r\n orderType,\r\n OrderedItems,\r\n languageType\r\n ) =>\r\n dispatch(\r\n HGActions.applyCouponCodeByMemberOfferCode(\r\n customerId,\r\n totalAmount,\r\n offerCode,\r\n orderType,\r\n OrderedItems,\r\n languageType\r\n )\r\n ),\r\n MenuTimeCheckingBeforeOrderPlace: (OrderInfo, languageType) =>\r\n dispatch(\r\n HGActions.MenuTimeCheckingBeforeOrderPlace(OrderInfo, languageType)\r\n ),\r\n addRemoveFavItem: (data) => dispatch(HGActions.addRemoveFavItem(data)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CheckoutDelivery);\r\n","import React, { Component } from \"react\";\r\nimport { history } from \"react-router-dom\";\r\n// import { createBrowserHistory } from \"history\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport * as HGActions from \"../Redux/actions/HGActions\";\r\nimport Constants from \"../constants/baseConstants\";\r\nimport HeaderWhiteMenuHalf from \"../Components/HeaderWhiteMenuHalf\";\r\nimport Modal from \"react-bootstrap/Modal\";\r\nimport FooterMenu from \"../Components/FooterMenu\";\r\nimport ItemPopup from \"../Components/ItemPopup\";\r\nimport AlertDialog from \"../Components/AlertDialog\";\r\nimport { Strings } from \"../constants/Localization\";\r\nimport AOS from \"aos\";\r\nimport \"aos/dist/aos.css\";\r\nimport moment from \"moment\";\r\nimport { getCurrencySign, bindhttps } from \"../Utils/utils\";\r\nimport { setSecureData, getSecureData } from \"../Utils/utils\";\r\nimport baseConstants from \"../constants/baseConstants\";\r\nimport queryString from \"query-string\";\r\nimport CheckoutDelivery from \"./CheckoutDelivery\";\r\nimport Collapsible from \"react-collapsible\";\r\nvar categoryName = \"\";\r\n\r\nclass MenuItems extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.rerenderParentCallback = this.rerenderParentCallback.bind(this);\r\n this.state = {\r\n arrayWholeMenuItems: [],\r\n arrayMenuItems: [],\r\n arraySubCategory: [],\r\n arrayFilterTypes: [],\r\n isFilter: false,\r\n isItemPopupVisible: false,\r\n objectAt: 0,\r\n // catId: JSON.parse(localStorage.getItem(Constants.PRE_CAT_ID)),//this.props.location.catId,\r\n // arrayMainCategories: JSON.parse(localStorage.getItem(Constants.CATEGORIESDATA)),//this.props.location.Categorieslist,\r\n catId: getSecureData(Constants.PRE_CAT_ID), //this.props.location.catId,\r\n arrayMainCategories: getSecureData(Constants.CATEGORIESDATA), //this.props.location.Categorieslist,\r\n\r\n isAlertVisible: false,\r\n alertMessage: \"\",\r\n btnLeft: \"\",\r\n btnRight: \"\",\r\n isMultiButton: false,\r\n languageType: 1,\r\n\r\n isVisible: false,\r\n locationArray: [],\r\n\r\n /* comment for order type */\r\n isOrderTypeVisible: false,\r\n arrayOrderTypes: [],\r\n\r\n isNo: false,\r\n cartUpdate: false,\r\n currentTime: 0,\r\n ukdatetime: 0,\r\n customerId:\r\n getSecureData(Constants.USEROBJECT) != null\r\n ? getSecureData(Constants.USEROBJECT).customerId\r\n : 0,\r\n subCatActiveId: \"\",\r\n noProFound: false,\r\n orderTypePro: 0,\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n if (localStorage.hasOwnProperty(Constants.USEROBJECT)) {\r\n let userObject = getSecureData(Constants.USEROBJECT);\r\n if (userObject != null) {\r\n let customer = getSecureData(Constants.USEROBJECT).customerId;\r\n console.log(\"customer\", customer);\r\n this.setState({ customerId: customer });\r\n }\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.componentDidMountCustFun();\r\n }\r\n\r\n componentDidMountCustFun() {\r\n AOS.init({\r\n duration: 1000,\r\n });\r\n\r\n console.log(\"orderTypePro\", this.state.orderTypePro);\r\n\r\n // if (localStorage.hasOwnProperty(Constants.USEROBJECT)) {\r\n // let userObject = getSecureData(Constants.USEROBJECT);\r\n // if (userObject == null) {\r\n // this.props.history.push({ pathname: '/' })\r\n // return\r\n // }\r\n // }\r\n // else {\r\n // this.props.history.push({ pathname: '/' })\r\n // return\r\n // }\r\n\r\n let params = queryString.parse(this.props.location.search);\r\n if (params.isRemove) {\r\n console.log(\"query string -------------> \", params);\r\n localStorage.removeItem(Constants.USERCART);\r\n localStorage.removeItem(Constants.PLACEDORDEROBJECT);\r\n localStorage.removeItem(Constants.ISCANCEL);\r\n }\r\n\r\n let session = getSecureData(Constants.PRE_MESSAGE_LIST);\r\n let mLanguageType = getSecureData(Constants.PRE_LANGUAGE_TYPE);\r\n // let mLanguageCode = localStorage.getItem(Constants.PRE_LANGUAGE_CODE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage(\"en\"); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType });\r\n } else {\r\n if (mLanguageType != null) {\r\n Strings.setLanguage(\"es\"); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType });\r\n }\r\n }\r\n } else {\r\n Strings.setLanguage(\"en\"); //Setting default language code here\r\n }\r\n\r\n // setTimeout(() => {\r\n // if (!localStorage.hasOwnProperty(Constants.CHECKINFO)) {\r\n // this.props\r\n // .callCheckVersion(0, this.state.languageType)\r\n // .then(() => {\r\n // if (this.props.data.status == 1) {\r\n // setTimeout(() => {\r\n // setSecureData(Constants.CHECKINFO, this.props.data.result);\r\n // this.callLocationListingAPI();\r\n // }, 500);\r\n // } else {\r\n // setTimeout(() => {\r\n // this.callLocationListingAPI();\r\n // }, 500);\r\n // }\r\n // })\r\n // .catch((error) => {\r\n // setTimeout(() => {\r\n // this.callLocationListingAPI();\r\n // }, 500);\r\n // });\r\n // } else {\r\n // this.callLocationListingAPI();\r\n // }\r\n\r\n // // this.getCategoryItem()\r\n // // this.getRestoInfo()\r\n // }, 200);\r\n\r\n this.fetchLocationList();\r\n }\r\n\r\n getRestoInfo = () => {\r\n var GETRESTOINFO = getSecureData(Constants.GETRESTOINFO);\r\n\r\n console.log(\r\n \"getSecureData(Constants.LOCATIONOBJECT)\",\r\n getSecureData(Constants.LOCATIONOBJECT)\r\n );\r\n\r\n if (GETRESTOINFO != \"\" && GETRESTOINFO != null) {\r\n let uktime = moment(\r\n GETRESTOINFO.ukdatetime,\r\n \"YYYY-MM-dd HH:mm:ss\"\r\n ).format(\"HH:mm\");\r\n\r\n this.setState({\r\n currentTime: uktime,\r\n ukdatetime: GETRESTOINFO.ukdatetime,\r\n });\r\n } else {\r\n this.props.getRestoInfo(this.state.languageType).then(() => {\r\n console.log(\r\n \"resto info api response -------------------- \",\r\n this.props.data\r\n );\r\n if (this.props.data.status == 1) {\r\n setSecureData(Constants.GETRESTOINFO, this.props.data.result);\r\n let uktime = moment(\r\n this.props.data.result.ukdatetime,\r\n \"YYYY-MM-dd HH:mm:ss\"\r\n ).format(\"HH:mm\");\r\n setSecureData(Constants.GETRESTOINFO, this.props.data.result);\r\n this.setState({\r\n currentTime: uktime,\r\n ukdatetime: this.props.data.result.ukdatetime,\r\n });\r\n }\r\n });\r\n }\r\n };\r\n //Handle change language click event\r\n //English language type: 1\r\n //Spanish language type: 2\r\n languageChangeClickEvent = (type) => {\r\n console.log(\"menuitem page language type :\" + type);\r\n // localStorage.setItem(Constants.PRE_LANGUAGE_TYPE, type)\r\n setSecureData(Constants.PRE_LANGUAGE_TYPE, type);\r\n this.setState({ languageType: type });\r\n setTimeout(() => {\r\n this.props.AppMessageApi(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var messageListArray = this.props.data.result;\r\n if (messageListArray != null && messageListArray.length > 0) {\r\n console.log(\"message list :\" + JSON.stringify(messageListArray));\r\n // localStorage.setItem(Constants.PRE_MESSAGE_LIST, JSON.stringify(messageListArray));\r\n setSecureData(Constants.PRE_MESSAGE_LIST, messageListArray);\r\n // let localMessage = JSON.parse(localStorage.getItem(Constants.PRE_MESSAGE_LIST));\r\n let localMessage = getSecureData(Constants.PRE_MESSAGE_LIST);\r\n // localStorage.setItem(Constants.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n setSecureData(Constants.PRE_LANGUAGE_TYPE, this.state.languageType);\r\n // let languageType = localStorage.getItem(Constants.PRE_LANGUAGE_TYPE);\r\n let languageType = getSecureData(Constants.PRE_LANGUAGE_TYPE);\r\n console.log(\"language type :\" + languageType);\r\n if (languageType == 1) {\r\n //English language type: 1\r\n Strings.setLanguage(\"en\"); //Setting selected language code here\r\n this.setState({ languageType: languageType });\r\n // localStorage.setItem(Constants.PRE_LANGUAGE_CODE, \"en-GB\");\r\n } else {\r\n Strings.setLanguage(\"es\"); //Setting selected language code here\r\n this.setState({ languageType: languageType });\r\n // localStorage.setItem(Constants.PRE_LANGUAGE_CODE, \"es\");\r\n }\r\n Strings.setContent(localMessage);\r\n // this.setState({ languageType: languageType })\r\n //Call Menu items API while change language\r\n setTimeout(() => {\r\n this.callGetCategoryListApi();\r\n }, 500);\r\n }\r\n } else {\r\n alert(this.props.error);\r\n }\r\n });\r\n }, 700);\r\n };\r\n\r\n //This method use show location dialog\r\n showLocationListDialog() {\r\n if (!this.state.isVisible) {\r\n return;\r\n }\r\n if (\r\n this.state.locationArray != null &&\r\n this.state.locationArray.length > 0\r\n ) {\r\n return (\r\n {}}\r\n size=\"sm\"\r\n aria-labelledby=\"contained-modal-title-vcenter\"\r\n centered\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 {this.setLocationList(this.state.locationArray)}\r\n
    \r\n
    \r\n {/* {this.state.locationObj != null ? (\r\n
    \r\n ) : null} */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n //This method use bind location data\r\n setLocationList(itemData) {\r\n if (itemData != null && itemData.length > 0) {\r\n return itemData.map((item, index) => (\r\n
    \r\n {\r\n this.onContinue(item, index);\r\n }}\r\n >\r\n \r\n
    \r\n \r\n ));\r\n }\r\n }\r\n\r\n onContinue = (item, index) => {\r\n if (getSecureData(Constants.USERCART)) {\r\n // console.log('location object ----------- ',getSecureData(Constants.LOCATIONOBJECT))\r\n // console.log('select location object ----------- ',item)\r\n\r\n if (\r\n getSecureData(Constants.LOCATIONOBJECT).locationId != item.locationId\r\n ) {\r\n // console.log('hdfuehduehduheudheudhuehdu')\r\n this.setState({\r\n isVisible: false,\r\n selectIndex: index,\r\n locationObj: item,\r\n orderType: true,\r\n isAlertVisible: true,\r\n alertMessage: Strings.empty_cart_message,\r\n isMultiButtom: true,\r\n btnLeft: Strings.btn_cancel,\r\n btnRight: Strings.btn_confirm,\r\n });\r\n } else {\r\n this.setState(\r\n { selectIndex: index, locationObj: item, orderType: true },\r\n () => {\r\n this.setLocationData();\r\n }\r\n );\r\n }\r\n } else {\r\n this.setState(\r\n { selectIndex: index, locationObj: item, orderType: true },\r\n () => {\r\n this.setLocationData();\r\n }\r\n );\r\n }\r\n };\r\n\r\n setLocationData() {\r\n setTimeout(() => {\r\n if (this.state.locationObj == null) {\r\n // if (item == null) {\r\n alert(Strings.lbl_select_location_react);\r\n } else {\r\n // console.log('prev location =------ ',getSecureData(Constants.ORDERTYPE))\r\n\r\n let locationObj = this.state.locationObj;\r\n var arry = [];\r\n if (locationObj.isDelivery) {\r\n arry.push(Strings.Delivery_web);\r\n }\r\n if (locationObj.isTakeAway) {\r\n arry.push(Strings.lbl_takeaway_react);\r\n }\r\n if (locationObj.isOrderExtras) {\r\n arry.push(Strings.str_sitDown);\r\n }\r\n console.log(\r\n \"current type =------ \",\r\n arry,\r\n getSecureData(Constants.ORDERTYPE)\r\n );\r\n if (arry.includes(getSecureData(Constants.ORDERTYPE))) {\r\n setSecureData(Constants.LOCATIONOBJECT, this.state.locationObj);\r\n Constants.locationId = this.state.locationObj.locationId;\r\n this.setState({ isVisible: false }, () => {\r\n setTimeout(() => {\r\n this.callGetCategoryListApi();\r\n }, 500);\r\n });\r\n } else {\r\n setSecureData(Constants.LOCATIONOBJECT, this.state.locationObj);\r\n Constants.locationId = this.state.locationObj.locationId;\r\n\r\n var arry = [];\r\n if (locationObj.isDelivery) {\r\n arry.push({ title: Strings.Delivery_web, isSelect: false });\r\n }\r\n if (locationObj.isTakeAway) {\r\n arry.push({ title: Strings.lbl_takeaway_react, isSelect: false });\r\n }\r\n if (locationObj.isOrderExtras) {\r\n arry.push({ title: Strings.str_collect_drink, isSelect: false });\r\n }\r\n this.setState({\r\n isVisible: false,\r\n isOrderTypeVisible: true,\r\n arrayOrderTypes: arry,\r\n });\r\n }\r\n\r\n return;\r\n\r\n // localStorage.setItem(Constants.LOCATIONOBJECT, JSON.stringify(this.state.locationObj))\r\n setSecureData(Constants.LOCATIONOBJECT, this.state.locationObj);\r\n // setSecureData(Constants.LOCATIONOBJECT, item)\r\n Constants.locationId = this.state.locationObj.locationId;\r\n // Constants.locationId = item.locationId\r\n\r\n let locationObject = this.state.locationObj;\r\n var arry = [];\r\n if (locationObject.isDelivery) {\r\n arry.push({ title: Strings.Delivery_web, isSelect: false });\r\n }\r\n if (locationObject.isTakeAway) {\r\n arry.push({ title: Strings.lbl_takeaway_react, isSelect: false });\r\n }\r\n /* comment for order type */\r\n if (locationObject.isOrderExtras) {\r\n arry.push({ title: Strings.str_collect_drink, isSelect: false });\r\n }\r\n {\r\n /* comment for order type */\r\n }\r\n // this.setState({ isVisible: false, arrayOrderTypes: arry},()=>{\r\n // setTimeout(() => {\r\n // this.callGetCategoryListApi()\r\n // }, 500);\r\n // })\r\n this.setState({\r\n isVisible: false,\r\n isOrderTypeVisible: true,\r\n arrayOrderTypes: arry,\r\n });\r\n }\r\n }, 200);\r\n }\r\n\r\n callLocationListingAPI() {\r\n if (this.props.location.isChangeLocation) {\r\n this.fetchLocationList();\r\n } else {\r\n this.fetchLocationList();\r\n return;\r\n //check location is selected or not\r\n if (getSecureData(Constants.LOCATIONOBJECT)) {\r\n let locationObject = getSecureData(Constants.LOCATIONOBJECT);\r\n /* comment for order type */\r\n var arry = [];\r\n if (locationObject.isDelivery) {\r\n arry.push({ title: Strings.Delivery_web, isSelect: false });\r\n }\r\n if (locationObject.isTakeAway) {\r\n arry.push({ title: Strings.lbl_takeaway_react, isSelect: false });\r\n }\r\n if (locationObject.isOrderExtras) {\r\n arry.push({ title: Strings.str_collect_drink, isSelect: false });\r\n }\r\n // this.setState({isVisible: false, arrayOrderTypes: arry })\r\n this.setState({ isVisible: false, arrayOrderTypes: arry }, () => {\r\n setTimeout(() => {\r\n this.callGetCategoryListApi();\r\n }, 500);\r\n });\r\n } else {\r\n this.fetchLocationList();\r\n }\r\n }\r\n }\r\n\r\n fetchLocationList() {\r\n this.props.locationListApi(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n var locationList = this.props.data.result;\r\n if (locationList != null && locationList.length > 0) {\r\n if (getSecureData(Constants.LOCATIONOBJECT)) {\r\n // console.log('location object ----------- ',getSecureData(Constants.LOCATIONOBJECT))\r\n // console.log('locationList ----------- ',locationList)\r\n\r\n let objLocation = locationList.filter((obj) => {\r\n return (\r\n obj.locationId ==\r\n getSecureData(Constants.LOCATIONOBJECT).locationId\r\n );\r\n });\r\n\r\n // console.log('locationList ----------- ',objLocation)\r\n\r\n // if (getSecureData(Constants.LOCATIONOBJECT).locationId != item.locationId) {\r\n // console.log('hdfuehduehduheudheudhuehdu')\r\n // this.setState({isVisible:false, selectIndex: index, locationObj: item, orderType: true, isAlertVisible:true, alertMessage:Strings.empty_cart_message, isMultiButtom:true, btnLeft:Strings.btn_cancel, btnRight:Strings.btn_confirm, })\r\n\r\n // }\r\n\r\n // console.log('location object ----------- ',getSecureData(Constants.LOCATIONOBJECT))\r\n // console.log('select location object ----------- ',item)\r\n\r\n // if (getSecureData(Constants.LOCATIONOBJECT).locationId != item.locationId) {\r\n // console.log('hdfuehduehduheudheudhuehdu')\r\n // this.setState({isVisible:false, selectIndex: index, locationObj: item, orderType: true, isAlertVisible:true, alertMessage:Strings.empty_cart_message, isMultiButtom:true, btnLeft:Strings.btn_cancel, btnRight:Strings.btn_confirm, })\r\n\r\n // } else {\r\n\r\n // this.setState({ selectIndex: index, locationObj: item, orderType: true },()=>{\r\n // this.setLocationData()\r\n // })\r\n\r\n // }\r\n\r\n this.setState({ locationObj: objLocation[0] }, () => {\r\n setSecureData(Constants.LOCATIONOBJECT, objLocation[0]);\r\n\r\n if (getSecureData(Constants.ORDERTYPE) == undefined) {\r\n this.setLocationData();\r\n }\r\n\r\n setTimeout(() => {\r\n this.callGetCategoryListApi();\r\n }, 500);\r\n });\r\n } else {\r\n if (locationList.length == 1) {\r\n this.setState({ locationObj: locationList[0] }, () => {\r\n setSecureData(Constants.LOCATIONOBJECT, locationList[0]);\r\n\r\n if (getSecureData(Constants.ORDERTYPE) == undefined) {\r\n this.setLocationData();\r\n }\r\n });\r\n } else {\r\n setSecureData(Constants.LOCATIONLISTOBJECT, locationList);\r\n console.log(\"\");\r\n\r\n //set location bydefault Culto not-veranda 363\r\n let item = locationList.find((obj) => {\r\n return obj.locationId == 363;\r\n });\r\n let index = 1;\r\n console.log(\"VNK ITEM\", item);\r\n if (getSecureData(Constants.USERCART)) {\r\n // console.log('location object ----------- ',getSecureData(Constants.LOCATIONOBJECT))\r\n // console.log('select location object ----------- ',item)\r\n\r\n if (\r\n getSecureData(Constants.LOCATIONOBJECT).locationId !=\r\n item.locationId\r\n ) {\r\n // console.log('hdfuehduehduheudheudhuehdu')\r\n this.setState({\r\n isVisible: false,\r\n selectIndex: index,\r\n locationObj: item,\r\n orderType: true,\r\n isAlertVisible: true,\r\n alertMessage: Strings.empty_cart_message,\r\n isMultiButtom: true,\r\n btnLeft: Strings.btn_cancel,\r\n btnRight: Strings.btn_confirm,\r\n });\r\n } else {\r\n this.setState(\r\n {\r\n selectIndex: index,\r\n locationObj: item,\r\n orderType: true,\r\n },\r\n () => {\r\n this.setLocationData();\r\n }\r\n );\r\n }\r\n } else {\r\n this.setState(\r\n { selectIndex: index, locationObj: item, orderType: true },\r\n () => {\r\n this.setLocationData();\r\n }\r\n );\r\n }\r\n this.setState({ locationArray: locationList });\r\n //VNK\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n // alert(this.props.data.message)\r\n console.log(\"Location else 405 method call here\");\r\n }\r\n });\r\n }\r\n\r\n callGetCategoryListApi() {\r\n console.log(\r\n \"callGetCategoryListApi\",\r\n getSecureData(Constants.LOCATIONOBJECT)\r\n );\r\n if (\r\n getSecureData(Constants.LOCATIONOBJECT) == null ||\r\n getSecureData(Constants.LOCATIONOBJECT) == undefined\r\n ) {\r\n return;\r\n }\r\n\r\n this.props\r\n .getCategoriesAPICall(this.state.languageType, this.state.customerId)\r\n .then(() => {\r\n console.log(\"Category response ---- \", this.props.data);\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n // setTimeout(() => {\r\n console.log(\r\n \"MenuCategoryList\",\r\n this.props.data.result.MenuCategoryList\r\n );\r\n if (this.props.data.result.MenuCategoryList?.length > 0) {\r\n console.log(this.props.data.result.MenuCategoryList);\r\n this.setState({\r\n arrayMainCategories: this.props.data.result.MenuCategoryList,\r\n catId: this.props.data.result.MenuCategoryList[0].catId,\r\n arraySubCategory:\r\n this.props.data.result.MenuCategoryList[0].subCategory,\r\n arrayMenuItems: this.props.data.result.MenuItemList,\r\n noProFound: true,\r\n });\r\n // console.log(\"hiiii arrayWholeMenuItems\")\r\n setSecureData(\r\n \"arrayWholeMenuItems\",\r\n this.props.data.result.MenuItemList\r\n );\r\n // localStorage.setItem(Constants.CATEGORIESDATA,JSON.stringify(this.props.data.result))\r\n if (this.props.data.result.MenuCategoryList.length > 0) {\r\n if (\r\n this.props.data.result.MenuCategoryList[0].subCategory\r\n .length > 0\r\n ) {\r\n this.setState({\r\n subCatActiveId:\r\n this.props.data.result.MenuCategoryList[0].subCategory[0]\r\n .catId,\r\n });\r\n } else {\r\n // this.props.data.result.MenuItemList.map((val,i)=>{\r\n // if(val.catId == this.props.data.result.MenuCategoryList[0].catId){\r\n // this.setState({subCatActiveId : this.props.data.result.MenuCategoryList[0].catId})\r\n // }\r\n // })\r\n }\r\n }\r\n setSecureData(\r\n Constants.CATEGORIESDATA,\r\n this.props.data.result.MenuCategoryList\r\n );\r\n // window.location.reload(false)\r\n // this.getCategoryItem()\r\n this.getRestoInfo();\r\n }\r\n // }, 100);\r\n }\r\n } else {\r\n // alert(this.props.data.message);\r\n console.log(\"Category status 2 ---- \", this.props.data);\r\n }\r\n });\r\n }\r\n\r\n getCategoryItem() {\r\n this.state.arraySubCategory = [];\r\n this.state.arrayFilterTypes = [];\r\n\r\n if (!this.state.arrayMainCategories) {\r\n return;\r\n }\r\n let myCatData = this.state.arrayMainCategories.filter(\r\n (data) => data.catId == this.state.catId\r\n );\r\n if (myCatData.length == 0) {\r\n return;\r\n }\r\n categoryName = myCatData[0].catName;\r\n setTimeout(() => {\r\n this.props\r\n .getCategoriesMenuItemsAPICall(\r\n this.state.catId,\r\n this.state.languageType\r\n )\r\n .then(() => {\r\n console.log(\r\n \"CATEGORIES MENU ITEMS RESPONSE --------- \",\r\n this.props.data.result\r\n );\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n setTimeout(() => {\r\n if (\r\n typeof this.props.data.result.MenuCategoryList.length !==\r\n \"undefined\" &&\r\n this.props.data.result.MenuCategoryList.length == 0\r\n ) {\r\n this.setState({\r\n isNo: true,\r\n arrayMenuItems: this.props.data.result.MenuItemList,\r\n arrayWholeMenuItems: this.props.data.result.MenuItemList,\r\n });\r\n\r\n // setSecureData('arrayWholeMenuItems',this.props.data.result.MenuItemList)\r\n\r\n var filterTitle = [];\r\n this.state.arrayMenuItems.map((menuData) =>\r\n menuData.MenuStausList.map((status) => {\r\n var obj = filterTitle.filter(\r\n (flt) => flt.title == status.title\r\n );\r\n if (obj.length == 0) {\r\n let fObj = {\r\n title: status.title,\r\n iconurl: status.iconurl,\r\n iconurlDark: status.iconurlDark,\r\n isSelected: true,\r\n };\r\n filterTitle.push(fObj);\r\n }\r\n })\r\n );\r\n console.log(\"resource ------------------ \", filterTitle);\r\n this.setState({ arrayFilterTypes: filterTitle });\r\n } else if (this.props.data.result.MenuCategoryList.length > 0) {\r\n this.setState({\r\n arraySubCategory: this.props.data.result.MenuCategoryList,\r\n arrayMenuItems: this.props.data.result.MenuItemList,\r\n arrayWholeMenuItems: this.props.data.result.MenuItemList,\r\n });\r\n // console.log(\"hiiii arrayWholeMenuItems\")\r\n // setSecureData('arrayWholeMenuItems',this.props.data.result.MenuItemList)\r\n }\r\n if (window.screen.width < 768) {\r\n window.scrollTo(0, 880);\r\n } else {\r\n window.scrollTo(0, 0);\r\n }\r\n }, 100);\r\n }\r\n } else {\r\n console.log(\"api errrrror\");\r\n }\r\n });\r\n }, 500);\r\n }\r\n\r\n addRemoveFavItem = (data, url) => {\r\n console.log(\"addRemoveFavItem\", data, url);\r\n // return\r\n var data = {\r\n restaurantId: 147,\r\n languageId: getSecureData(Constants.PRE_LANGUAGE_TYPE),\r\n customerId:\r\n getSecureData(Constants.USEROBJECT) != undefined\r\n ? getSecureData(Constants.USEROBJECT).customerId\r\n : 0,\r\n locationId:\r\n getSecureData(Constants.LOCATIONOBJECT) != undefined\r\n ? getSecureData(Constants.LOCATIONOBJECT).locationId\r\n : 1,\r\n menuitemId: data.menuitemId,\r\n url: url,\r\n };\r\n\r\n var MenuItemList = this.state.arrayMenuItems;\r\n\r\n var likedData = MenuItemList.map((item) => {\r\n if (item.menuitemId == data.menuitemId) {\r\n if (url == \"addFavorite\") {\r\n item.isFavoriteMenu = true;\r\n } else {\r\n item.isFavoriteMenu = false;\r\n }\r\n }\r\n return item;\r\n });\r\n\r\n this.setState({ arrayMenuItems: likedData });\r\n\r\n this.props.addRemoveFavItem(data).then(() => {\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n }\r\n }\r\n });\r\n };\r\n\r\n onAddClick(i, menuitemId, subCatId) {\r\n // catData.categotytime[0].openingtime > this.state.currentTime || catData.categotytime[0].closingtime < this.state.currentTime\r\n\r\n // this.setState({ isItemPopupVisible: true, objectAt: i })\r\n // return\r\n\r\n console.log(\"arrayMenuItems\", subCatId);\r\n\r\n // let myCatData = this.state.arrayMainCategories.filter(data => (data.catId == this.state.catId))\r\n var GETRESTOINFO = getSecureData(Constants.GETRESTOINFO);\r\n console.log(\r\n \"getSecureData(Constants.GETRESTOINFO)\",\r\n getSecureData(Constants.GETRESTOINFO)\r\n );\r\n if (GETRESTOINFO == undefined) {\r\n console.log(\"ukdate time not found\");\r\n return;\r\n }\r\n // console.log(\"myCatData\", catData, menuitemId, myCatData,this.state.currentTime)\r\n let uktime = moment(GETRESTOINFO.ukdatetime, \"YYYY-MM-dd HH:mm:ss\").format(\r\n \"HH:mm:ss\"\r\n );\r\n let ukdate = moment(GETRESTOINFO.ukdatetime, \"YYYY-MM-DD HH:mm:ss\").format(\r\n \"DD-MM-YYYY\"\r\n );\r\n\r\n // let uktime = moment(myCatData[0].ukdatetime, \"YYYY-MM-dd HH:mm:ss\").format(\"HH:mm:ss\")\r\n // let ukdate = moment(myCatData[0].ukdatetime, \"YYYY-MM-DD HH:mm:ss\").format(\"DD-MM-YYYY\")\r\n\r\n this.props\r\n .checkItemTimeAPI(uktime, ukdate, subCatId, this.state.languageType)\r\n .then(() => {\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n // if(catData[0].openingtime <= this.state.currentTime <= catData[0].closingtime){\r\n setTimeout(() => {\r\n console.log(\"Clicked at menuitemId \", menuitemId);\r\n if (this.state.arraySubCategory.length > 0) {\r\n for (var k = 0; k < this.state.arrayMenuItems.length; k++) {\r\n if (this.state.arrayMenuItems[k].menuitemId == menuitemId) {\r\n i = k;\r\n break;\r\n }\r\n }\r\n } else {\r\n for (var k = 0; k < this.state.arrayMenuItems.length; k++) {\r\n if (this.state.arrayMenuItems[k].menuitemId == menuitemId) {\r\n i = k;\r\n break;\r\n }\r\n }\r\n }\r\n console.log(\"Clicked at \", i);\r\n this.setState({ isItemPopupVisible: true, objectAt: i });\r\n }, 100);\r\n\r\n // }\r\n // else{\r\n // var msg = 'Sorry you can not add this item to your bascket as opening time is from '+catData[0].openingtime+' to '+catData[0].closingtime\r\n // this.setState({isAlertVisible: true, alertMessage:msg, isMultiButton: false, btnLeft:Strings.Ok_web})\r\n // }\r\n }\r\n } else {\r\n this.setState({\r\n isAlertVisible: true,\r\n alertMessage: this.props.data.message,\r\n isMultiButton: false,\r\n btnLeft: Strings.Ok_web,\r\n });\r\n }\r\n });\r\n }\r\n\r\n renderOptions(optlist, title) {\r\n let filrt = optlist.filter((data) => data.labelText == title);\r\n\r\n var arrOpt = [];\r\n for (var i = 0; i < filrt.length; i++) {\r\n arrOpt.push(\r\n
  • \r\n \r\n
  • \r\n );\r\n }\r\n return arrOpt;\r\n }\r\n\r\n renderOptionMenu(item, index) {\r\n console.log(\"index ------ \", item.menuItemName, index);\r\n\r\n var arrayTitle = [];\r\n let optList = this.state.arrayMenuItems[index].PriceList[0].OptionList;\r\n\r\n optList.map((data) => {\r\n var temp = arrayTitle.filter((obj) => obj == data.labelText);\r\n if (temp.length == 0) {\r\n arrayTitle.push(data.labelText);\r\n }\r\n });\r\n console.log(\"arrayTitle ------ \", arrayTitle.length, arrayTitle);\r\n\r\n var arrReturn = [];\r\n for (var k = 0; k <= arrayTitle.length - 1; k++) {\r\n console.log(\"plate-div ----- \", k, optList);\r\n arrReturn.push(\r\n
    \r\n

    {arrayTitle[k]}

    \r\n
      {/* {this.renderOptions(optList,arrayTitle[k])} */}
    \r\n
    \r\n );\r\n }\r\n return arrReturn;\r\n }\r\n\r\n renderMenuStatus(status) {\r\n let obj = [];\r\n status.map((data, index) =>\r\n obj.push(\r\n
  • \r\n \r\n {/* \r\n \r\n */}\r\n
  • \r\n )\r\n );\r\n return obj;\r\n }\r\n\r\n renderMenuItems(menuItem) {\r\n // console.log(\"menuItem\",menuItem)\r\n const itemDiv = menuItem.map((item, index) => (\r\n
    \r\n {/* { console.log(\"menuitemdata\",item) } */}\r\n
    \r\n
    \r\n {/* { this.onAddClick(index, item.menuitemId) }}/> */}\r\n {/* {item.imgurl ? { this.onAddClick(index, item.menuitemId) }}/> : null} */}\r\n {\r\n this.onAddClick(index, item.menuitemId);\r\n }}\r\n />\r\n {/* \r\n \r\n */}\r\n
    \r\n
    \r\n
      \r\n {this.renderMenuStatus(item.MenuStausList)}\r\n
    \r\n\r\n {\r\n this.onAddClick(index, item.menuitemId);\r\n }}\r\n className=\"prdTitle\"\r\n >\r\n {item.menuItemName}\r\n \r\n

    {item.description}

    \r\n
    \r\n

    {getCurrencySign()}

    \r\n

    \r\n {item.PriceList[0].price.toFixed(2)}\r\n

    \r\n {\r\n this.onAddClick(index, item.menuitemId);\r\n }}\r\n >\r\n {Strings.lbl_edit_add_react}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n ));\r\n return itemDiv;\r\n }\r\n\r\n renderMenuItemsUlLi(menuItem, subCat) {\r\n const itemDiv = menuItem.map((item, index) => (\r\n
  • \r\n {console.log(\"menuItemSubCatId\", item)}\r\n
    \r\n
    \r\n

    {item.menuItemName}

    \r\n
    \r\n
    \r\n {this.state.customerId > 0 ? (\r\n
    \r\n {item.isFavoriteMenu ? (\r\n {\r\n this.addRemoveFavItem(item, \"DeleteFavorite\");\r\n }}\r\n className=\"heartIconDiv \"\r\n >\r\n \r\n
    \r\n ) : (\r\n {\r\n this.addRemoveFavItem(item, \"addFavorite\");\r\n }}\r\n className=\"heartIconDiv \"\r\n >\r\n \r\n
    \r\n )}\r\n
    \r\n ) : null}\r\n \r\n

    {getCurrencySign()}

    \r\n

    \r\n {item.PriceList[0].price.toFixed(2)}\r\n

    \r\n
    \r\n\r\n {\r\n this.onAddClick(index, item.menuitemId, item.catId);\r\n }}\r\n >\r\n {/* */}\r\n \r\n \r\n \r\n
  • \r\n ));\r\n return
      {itemDiv}
    ;\r\n }\r\n\r\n onFilterClick(filterData) {\r\n filterData.isSelected = !filterData.isSelected;\r\n this.setState({ arrayFilterTypes: this.state.arrayFilterTypes });\r\n\r\n let flt = this.state.arrayFilterTypes.filter(\r\n (data) => data.isSelected == false\r\n );\r\n\r\n if (flt.length == this.state.arrayFilterTypes.length) {\r\n // this.setState({ arrayMenuItems: this.state.arrayWholeMenuItems })\r\n\r\n let menuItem = this.state.arrayWholeMenuItems;\r\n var filteredItem = [];\r\n\r\n let newArrList = [];\r\n for (var i = 0; i < menuItem.length; i++) {\r\n const ele = menuItem[i].MenuStausList;\r\n // console.log('elements -------- ',ele)\r\n\r\n const arrList1 = ele.map((item) => item.title);\r\n const arrList2 = flt.map((item) => item.title);\r\n let isAdded = false;\r\n if (arrList1.length == 0) {\r\n newArrList.push(menuItem[i]);\r\n }\r\n }\r\n\r\n this.setState({ arrayMenuItems: newArrList });\r\n } else {\r\n if (flt.length > 0) {\r\n let menuItem = this.state.arrayWholeMenuItems;\r\n var filteredItem = [];\r\n\r\n let filtItem = menuItem.filter((objItem) => objItem.MenuStausList);\r\n // console.log('filter item ------- ',filtItem)\r\n\r\n let newArrList = [];\r\n for (var i = 0; i < menuItem.length; i++) {\r\n const ele = menuItem[i].MenuStausList;\r\n // console.log('elements -------- ',ele)\r\n\r\n const arrList1 = ele.map((item) => item.title);\r\n const arrList2 = flt.map((item) => item.title);\r\n let isAdded = false;\r\n if (arrList1.length == 0) {\r\n newArrList.push(menuItem[i]);\r\n }\r\n for (let index = 0; index < arrList1.length; index++) {\r\n const element = arrList1[index];\r\n let contains = arrList2.includes(element);\r\n if (contains == false) {\r\n isAdded = true;\r\n } else {\r\n isAdded = false;\r\n break;\r\n }\r\n }\r\n\r\n if (isAdded) {\r\n newArrList.push(menuItem[i]);\r\n }\r\n }\r\n\r\n this.setState({ arrayMenuItems: newArrList });\r\n\r\n return;\r\n var mStatus = [];\r\n var sStatus = [];\r\n for (var a = 0; a < flt.length; a++) {\r\n for (var i = 0; i < menuItem.length; i++) {\r\n for (var k = 0; k < menuItem[i].MenuStausList.length; k++) {\r\n if (flt[a].title == menuItem[i].MenuStausList[k].title) {\r\n let aObj = filteredItem.filter(\r\n (aData) => aData.menuitemId == menuItem[i].menuitemId\r\n );\r\n if (aObj.length == 0) {\r\n menuItem[i].MenuStausList.map((obj) => {\r\n if (!mStatus.includes(obj.title)) mStatus.push(obj.title);\r\n });\r\n console.log(\"mStatus ------- \", mStatus);\r\n\r\n flt.map((obj) => {\r\n if (!sStatus.includes(obj.title)) sStatus.push(obj.title);\r\n });\r\n console.log(\"sStatus ------- \", sStatus);\r\n\r\n if (mStatus == sStatus) filteredItem.push(menuItem[i]);\r\n // if(menuItem[i].MenuStausList.length == flt.length) {\r\n // console.log('filteredItem if ------------ ',menuItem[i].MenuStausList,flt)\r\n\r\n // flt.map(obj => {\r\n // if (!mStatus.includes(obj.title))\r\n // mStatus.push(obj.title)\r\n // })\r\n // console.log('mStatus ------- ',mStatus)\r\n\r\n // menuItem[i].MenuStausList.map(obj => {\r\n // if (!sStatus.includes(obj.title))\r\n // sStatus.push(obj.title)\r\n // })\r\n // console.log('mStatus ------- ',sStatus)\r\n // // for (var mi = 0; mi < menuItem[i].MenuStausList.length; mi++) {\r\n // // for (var vo = 0; vo < menuItem.length; vo++) {\r\n\r\n // // }\r\n // // }\r\n // } else {\r\n // console.log('filteredItem else ------------ ',menuItem[i].MenuStausList,flt)\r\n // }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.setState({ arrayMenuItems: filteredItem });\r\n } else {\r\n this.setState({ arrayMenuItems: this.state.arrayWholeMenuItems });\r\n }\r\n }\r\n }\r\n\r\n renderFilter() {\r\n // console.log('filter view ------ ',this.state.arrayFilterTypes)\r\n let obj = this.state.arrayFilterTypes.map((data, index) => (\r\n
  • \r\n {\r\n this.onFilterClick(data);\r\n }}\r\n key={index}\r\n >\r\n {/* {data.title} {(data.isSelected == true) ? : } */}\r\n {data.isSelected == true ? (\r\n \r\n ) : (\r\n \r\n )}{\" \"}\r\n {data.title}\r\n \r\n
  • \r\n ));\r\n return
      {obj}
    ;\r\n }\r\n\r\n onSelectCategory(id) {\r\n this.setState({ catId: id, isNo: false });\r\n // localStorage.setItem(Constants.PRE_CAT_ID,JSON.stringify(id))\r\n setSecureData(Constants.PRE_CAT_ID, id);\r\n // setTimeout(() => {\r\n // this.getCategoryItem()\r\n // }, 200)\r\n\r\n var arraySubCategory = this.state.arrayMainCategories.filter(\r\n (item) => item.catId == id\r\n );\r\n\r\n this.setState({\r\n catId: id,\r\n arraySubCategory:\r\n arraySubCategory.length > 0 ? arraySubCategory[0].subCategory : [],\r\n });\r\n\r\n setSecureData(Constants.CATEGORIESDATA, this.state.arrayMainCategories);\r\n // localStorage.setItem(Constants.CATEGORIESDATA,JSON.stringify(this.props.data.result))\r\n // setSecureData(Constants.CATEGORIESDATA,this.props.data.result.MenuCategoryList)\r\n }\r\n\r\n renderCategoryTitle() {\r\n if (!this.state.arrayMainCategories) {\r\n return;\r\n }\r\n return this.state.arrayMainCategories.map((category) =>\r\n this.state.catId == category.catId ? (\r\n <>\r\n

    \r\n {\"Home >>\"} {category.catName}\r\n

    \r\n \r\n ) : null\r\n );\r\n }\r\n\r\n getCountMenuItemByCatID = (catID) => {\r\n let subCategory = this.state.arrayMainCategories.find(\r\n (value) => value.catId === catID\r\n )?.subCategory;\r\n const allSubCategoryIds = subCategory.map((value) => value.catId);\r\n let count = 0;\r\n this.state.arrayMenuItems.forEach((value) => {\r\n if (allSubCategoryIds.includes(value.catId)) {\r\n count++;\r\n }\r\n });\r\n\r\n return ` (${count})`;\r\n };\r\n\r\n renderCategoryView() {\r\n console.log(\r\n \"this.state.arrayMainCategories\",\r\n this.state.arrayMainCategories\r\n );\r\n let catArray = [];\r\n this.state.arrayMainCategories.map((category) =>\r\n catArray.push(\r\n
  • \r\n {this.state.catId == category.catId ? (\r\n {\r\n this.onSelectCategory(category.catId);\r\n }}\r\n >\r\n

    \r\n {category.catName}\r\n {/* {category.subCategory.length > 0 ? `(${category.subCategory.length})` : '' } */}\r\n {this.getCountMenuItemByCatID(category.catId)}\r\n

    \r\n \r\n ) : (\r\n {\r\n this.onSelectCategory(category.catId);\r\n }}\r\n >\r\n

    \r\n {category.catName}\r\n {/* {category.subCategory.length > 0 ? `(${category.subCategory.length})` : '' } */}\r\n {this.getCountMenuItemByCatID(category.catId)}\r\n

    \r\n \r\n )}\r\n
  • \r\n )\r\n );\r\n return
      {catArray}
    ;\r\n }\r\n\r\n renderSubCategoryView1() {\r\n let catObjects = [];\r\n this.state.arraySubCategory.map((catData) => {\r\n var filt = this.state.arrayMenuItems.filter(\r\n (menuItem) => menuItem.catId == catData.catId\r\n );\r\n catObjects.push({\r\n subCatId: catData.catId,\r\n catTitle: catData.catName,\r\n categotytime: catData.categotytime,\r\n menuItems: filt,\r\n });\r\n });\r\n // {\r\n // category.subCategory.map(subCategory =>(\r\n //

    {subCategory.catName}

    \r\n // ))\r\n // }\r\n var objFinal = [];\r\n catObjects.map((catData, index) => {\r\n {\r\n var minOpeningTime1 =\r\n catData.categotytime.length > 1\r\n ? catData.categotytime.reduce((prev, curr) =>\r\n prev.openingtime < curr.openingtime\r\n ? prev.openingtime\r\n : curr.openingtime\r\n )\r\n : catData.categotytime[0].openingtime;\r\n }\r\n {\r\n var maxClosingTime1 =\r\n catData.categotytime.length > 1\r\n ? catData.categotytime.reduce((prev, curr) =>\r\n prev.closingtime > curr.closingtime\r\n ? prev.closingtime\r\n : curr.closingtime\r\n )\r\n : catData.categotytime[0].closingtime;\r\n }\r\n objFinal.push(\r\n
    \r\n {/* {console.log(\"dhruvv\", catData)} */}\r\n {/*

    {catData.catTitle}

    */}\r\n {catData.categotytime.length > 0 &&\r\n minOpeningTime1 &&\r\n maxClosingTime1 ? (\r\n minOpeningTime1 > this.state.currentTime ||\r\n maxClosingTime1 < this.state.currentTime ? (\r\n <>\r\n \r\n {this.renderMenuItemsUlLi(catData.menuItems, catData)}\r\n \r\n \r\n ) : (\r\n \r\n {this.renderMenuItemsUlLi(catData.menuItems, catData)}\r\n \r\n )\r\n ) : (\r\n \r\n {this.renderMenuItemsUlLi(catData.menuItems, catData)}\r\n \r\n )}\r\n
    \r\n );\r\n });\r\n return objFinal;\r\n }\r\n\r\n renderSubCategoryView() {\r\n let catObjects = [];\r\n if (this.state.arraySubCategory.length > 0) {\r\n this.state.arraySubCategory.map((catData) => {\r\n var filt = this.state.arrayMenuItems.filter(\r\n (menuItem) => menuItem.catId == catData.catId\r\n );\r\n catObjects.push({\r\n subCatId: catData.catId,\r\n catTitle: catData.catName,\r\n categotytime: catData.categotytime,\r\n menuItems: filt,\r\n });\r\n });\r\n } else {\r\n this.state.arrayMainCategories.map((catData) => {\r\n if (catData.catId == this.state.catId) {\r\n var filt = this.state.arrayMenuItems.filter(\r\n (menuItem) => menuItem.catId == this.state.catId\r\n );\r\n catObjects.push({\r\n subCatId: catData.catId,\r\n catTitle: catData.catName,\r\n categotytime: catData.categotytime,\r\n menuItems: filt,\r\n });\r\n }\r\n });\r\n }\r\n var objFinal = [];\r\n catObjects.forEach((catData, index) => {\r\n {\r\n var minOpeningTime =\r\n catData.categotytime?.length > 1\r\n ? catData.categotytime.reduce((prev, curr) =>\r\n prev.openingtime < curr.openingtime\r\n ? prev.openingtime\r\n : curr.openingtime\r\n )\r\n : catData.categotytime[0]?.openingtime;\r\n }\r\n {\r\n var maxClosingTime =\r\n catData.categotytime.length > 1\r\n ? catData.categotytime?.reduce((prev, curr) =>\r\n prev.closingtime > curr.closingtime\r\n ? prev.closingtime\r\n : curr.closingtime\r\n )\r\n : catData.categotytime[0]?.closingtime;\r\n }\r\n catData.menuItems.length > 0 &&\r\n objFinal.push(\r\n
    \r\n {/*

    {catData.catTitle}

    */}\r\n {console.log(\"dhruvv2\", catData)}\r\n {console.log(\"dhruvv2 current time\", this.state.currentTime)}\r\n {console.log(\"dhruvv2 minOpeningTime\", minOpeningTime)}\r\n {console.log(\"dhruvv2 maxClosingTime\", maxClosingTime)}\r\n {catData.categotytime.length > 0 &&\r\n minOpeningTime &&\r\n maxClosingTime ? (\r\n minOpeningTime > this.state.currentTime ||\r\n maxClosingTime < this.state.currentTime ? (\r\n <>\r\n \r\n {this.renderMenuItemsUlLi(catData.menuItems, catData)}\r\n \r\n \r\n ) : (\r\n \r\n {this.renderMenuItemsUlLi(catData.menuItems, catData)}\r\n \r\n )\r\n ) : (\r\n \r\n {this.renderMenuItemsUlLi(catData.menuItems, catData)}\r\n \r\n )}\r\n
    \r\n );\r\n });\r\n return objFinal;\r\n }\r\n\r\n renderShoppingBasket() {\r\n return (\r\n
    \r\n
    \r\n

    You shopping basket is empty!

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n onViewOrderClick() {\r\n this.setState({ isAlertVisible: false }, () => {\r\n this.props.history.push({ pathname: \"/menuItems\" });\r\n });\r\n }\r\n\r\n renderBanner() {\r\n if (!this.state.arrayMainCategories) {\r\n return;\r\n }\r\n let myCatData = this.state.arrayMainCategories.filter(\r\n (data) => data.catId == this.state.catId\r\n );\r\n\r\n if (myCatData.length > 0) {\r\n return myCatData[0].bannerfullimgurl ? (\r\n \r\n ) : (\r\n \r\n );\r\n }\r\n }\r\n\r\n /* comment for order type */\r\n onContinueOrder(order) {\r\n if (order.length > 0) {\r\n if (order[0].title == Strings.Delivery_web) {\r\n Constants.OrderType = Strings.Delivery_web;\r\n Constants.OrderTypeID = 2;\r\n } else if (order[0].title == Strings.lbl_takeaway_react) {\r\n Constants.OrderType = Strings.lbl_takeaway_react;\r\n Constants.OrderTypeID = 1;\r\n } else if (order[0].title == Strings.str_collect_drink) {\r\n Constants.OrderType = Strings.str_sitDown;\r\n Constants.OrderTypeID = 3;\r\n }\r\n }\r\n setSecureData(Constants.ORDERTYPE, Constants.OrderType);\r\n setSecureData(Constants.ORDERTYPEID, Constants.OrderTypeID);\r\n // return\r\n this.setState({ isOrderTypeVisible: false, cartUpdate: true }, () => {\r\n setTimeout(() => {\r\n this.callGetCategoryListApi();\r\n }, 500);\r\n });\r\n }\r\n\r\n onSelectTypes(order) {\r\n this.state.arrayOrderTypes.map((data) => {\r\n if (data.title == order.title) {\r\n data.isSelect = true;\r\n Constants.OrderType = data.title;\r\n } else {\r\n data.isSelect = false;\r\n }\r\n });\r\n this.setState({ arrayOrderTypes: this.state.arrayOrderTypes });\r\n\r\n let obj = this.state.arrayOrderTypes.filter(\r\n (data) => data.isSelect == true\r\n );\r\n\r\n if (obj.length > 0) {\r\n this.onContinueOrder(obj);\r\n // Constants.OrderType = obj[0].title\r\n // console.log('Constants.OrderType = obj[0].title --------- ', Constants.OrderType)\r\n // return (\r\n //
    \r\n // \r\n //
    \r\n // )\r\n }\r\n }\r\n\r\n renderDeliveryMsg() {\r\n if (this.state.arrayOrderTypes.length > 0) {\r\n if (this.state.locationObj.isDelivery) {\r\n return

    {Strings.msgDeliverylabel}

    ;\r\n } else {\r\n return

    {Strings.msgSelectlabel}

    ;\r\n }\r\n }\r\n }\r\n\r\n renderOrderType() {\r\n if (this.state.arrayOrderTypes.length == 0) {\r\n return ;\r\n }\r\n var arry = [];\r\n this.state.arrayOrderTypes.map((data, index) => {\r\n arry.push(\r\n {\r\n this.onSelectTypes(data);\r\n }}\r\n key={index}\r\n >\r\n

    {data.title}

    \r\n \r\n );\r\n });\r\n return arry.reverse();\r\n }\r\n\r\n renderButton() {\r\n let obj = this.state.arrayOrderTypes.filter(\r\n (data) => data.isSelect == true\r\n );\r\n if (obj.length > 0) {\r\n Constants.OrderType = obj[0].title;\r\n return (\r\n
    \r\n {\r\n this.onContinueOrder(obj);\r\n }}\r\n >\r\n {Strings.btn_continue_react}\r\n \r\n
    \r\n );\r\n }\r\n }\r\n renderOrderSelectionView() {\r\n return (\r\n {}}\r\n size=\"sm\"\r\n aria-labelledby=\"contained-modal-title-vcenter\"\r\n centered\r\n >\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.renderDeliveryMsg()}\r\n {this.renderOrderType()}\r\n
    \r\n
    \r\n {this.renderButton()}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n\r\n renderMenuItemWithSubCategory = () => {\r\n return this.state.arrayMenuItems.length > 0 ? (\r\n
    \r\n {this.renderSubCategoryView()}\r\n
    \r\n ) : this.state.noProFound ? (\r\n \r\n ) : null;\r\n };\r\n\r\n rerenderParentCallback() {\r\n this.forceUpdate();\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n {this.props.isLoading ? (\r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n
    \r\n )}\r\n\r\n \r\n {\r\n this.setState({ isAlertVisible: false });\r\n }}\r\n btnRightClick={() => {\r\n this.onViewOrderClick();\r\n }}\r\n btnLeftTitle={this.state.btnLeft}\r\n btnRightTitle={this.state.btnRight}\r\n />\r\n\r\n {this.state.isItemPopupVisible ? (\r\n {\r\n console.log(popup);\r\n this.setState({\r\n isItemPopupVisible: false,\r\n isAlertVisible: popup.isHide,\r\n alertMessage: popup.isNewItem\r\n ? Strings.error_msg_item_added_react\r\n : Strings.error_msg_item_update_react,\r\n btnLeft: Strings.Ok_web,\r\n isMultiButton: false,\r\n cartUpdate: true,\r\n btnRight: Strings.btn_view_order_react,\r\n });\r\n }}\r\n isVisible={this.state.isItemPopupVisible}\r\n isEdit={false}\r\n isFavShow={true}\r\n onAddDlt={(menuItem, url) => {\r\n this.addRemoveFavItem(menuItem, url);\r\n }}\r\n />\r\n ) : null}\r\n\r\n {this.state.isVisible ? this.showLocationListDialog() : null}\r\n {/* comment for order type */}\r\n {this.state.isOrderTypeVisible ? this.renderOrderSelectionView() : null}\r\n
    \r\n {/* {this.renderBanner()} */}\r\n
    \r\n
    \r\n {/*

    {categoryName}

    */}\r\n {/* {this.renderFilter()} */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    CATEGORIES

    \r\n \r\n {this.state.arrayMainCategories\r\n ? this.renderCategoryView()\r\n : null}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {this.renderCategoryTitle()}\r\n
    \r\n {this.renderMenuItemWithSubCategory()}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    ORDER SUMMARY

    \r\n \r\n\r\n
    \r\n \r\n this.callGetCategoryListApi()\r\n }\r\n onResponse={() => this.setState({ cartUpdate: false })}\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\nfunction mapStateToProps(state) {\r\n console.log(\r\n \"isLoaging Categories MENU Items------- \" + state.HGReducers.isLoading\r\n );\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n locationListApi: (languageType) =>\r\n dispatch(HGActions.GetLocationListApi(languageType)),\r\n getCategoriesAPICall: (languageType, customerId) =>\r\n dispatch(HGActions.initGetAllCategoriesCall(languageType, customerId)),\r\n checkItemTimeAPI: (contactTime, orderDate, catId, languageType) =>\r\n dispatch(\r\n HGActions.initCheckMenuItemTimeAPI(\r\n contactTime,\r\n orderDate,\r\n catId,\r\n languageType\r\n )\r\n ),\r\n getCategoriesMenuItemsAPICall: (categories, languageType) =>\r\n dispatch(\r\n HGActions.initGetCategoriesMenuItemsCall(categories, languageType)\r\n ),\r\n AppMessageApi: (languageType) =>\r\n dispatch(HGActions.GetAppMessageListApi(languageType)),\r\n callCheckVersion: (customerId, languageType) =>\r\n dispatch(HGActions.callApiCheckVersionAPI(customerId, languageType)),\r\n getRestoInfo: (languageType) =>\r\n dispatch(HGActions.initGetRestoInfoAPI(languageType)),\r\n addRemoveFavItem: (data) => dispatch(HGActions.addRemoveFavItem(data)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MenuItems);\r\n","import React, {Component} from 'react';\r\nimport { Route, NavLink, BrowserRouter as Router, Switch, Link, history } from \"react-router-dom\";\r\n\r\nclass HeaderMenu extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n }\r\n\r\n render() {\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 ES \r\n
      \r\n
    • ES
    • \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 HeaderMenu","import React, {Component} from 'react';\r\nimport { Route, NavLink, BrowserRouter as Router, Switch, Link, history } from \"react-router-dom\";\r\n\r\nimport HeaderMenu from '../Components/HeaderMenu';\r\nimport FooterMenu from '../Components/FooterMenu';\r\n\r\nclass CheckoutTakeaway extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n {/*
    \"\"/
    ccc*/}\r\n
    \"\"/
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n ES \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

    Check out

    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Ginger Goat's Cheese Crunch

    \r\n

    Pear,Sweet Potato,Roasted Red Onion,Green Beans,Dried Cranberries,Goats Cheese,Caramelised Walnuts

    \r\n

    Regular

    \r\n
    Quantity:\r\n
    \r\n
    €6.90
    \r\n
    \r\n \r\n erase \r\n EDIT \r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Ginger Goat's Cheese Crunch

    \r\n \r\n
    Quantity:\r\n
    \r\n
    €6.90
    \r\n
    \r\n \r\n erase \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

    Select your option

    \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 \r\n \r\n

    Please choose an Location

    \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
    Subtotal:
    \r\n
    10.80 €
    \r\n
    \r\n
    \r\n
    Discount (50%):
    \r\n
    5.40 €
    \r\n
    \r\n \r\n
    \r\n
    Biodegradable Packaging:
    \r\n
    0 €
    \r\n
    \r\n
    \r\n
    Total:
    \r\n
    15,20€
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Checkout \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 CheckoutTakeaway;","import React, { Component } from 'react';\r\nimport { Route, NavLink, BrowserRouter as Router, Switch, Link, history } from \"react-router-dom\";\r\nimport { connect } from 'react-redux';\r\nimport * as HGActions from '../Redux/actions/HGActions';\r\nimport { Strings } from '../constants/Localization';\r\nimport FooterMenu from '../Components/FooterMenu';\r\n// import MenuItems_categories from './MenuItems_categories'\r\nimport Constant from '../constants/baseConstants';\r\nimport baseConstants from '../constants/baseConstants';\r\nimport HeaderWhiteMenuHalf from '../Components/HeaderWhiteMenuHalf';\r\nimport AlertDialog from '../Components/AlertDialog';\r\nimport { getPriceFormat } from \"../Utils/utils\";\r\nimport {setSecureData, getSecureData} from '../Utils/utils';\r\nimport CMS from '../Components/CMS';\r\nimport {getCurrencySign,bindhttps} from \"../Utils/utils\";\r\nimport ItemPopup from '../Components/ItemPopup';\r\nimport moment from 'moment';\r\n\r\n\r\n\r\nimport AOS from 'aos';\r\nimport 'aos/dist/aos.css';\r\n\r\nvar mOrderId = 0;\r\nclass OrderDetails extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n //Get order id from order listing page\r\n //mOrderId = this.props.location.orderId;\r\n //Getting order id from local storage\r\n // mOrderId = localStorage.getItem(baseConstants.PRE_ORDER_ID);\r\n mOrderId = getSecureData(baseConstants.PRE_ORDER_ID);\r\n console.log(\"orderId :\" + mOrderId)\r\n this.state = {\r\n orderDetailArray: [],\r\n orderStatusHistory : {},\r\n historyObject: {},\r\n errorMessage: '',\r\n languageType: 1, //default language type\r\n isItemPopupVisible: false,\r\n isAlertVisible: false,\r\n alertMessage: '',\r\n btnLeft: '',\r\n btnRight: '',\r\n isMultiButton: false,\r\n shouldMove: false,\r\n objItem: {},\r\n objectAt : {},\r\n\r\n isShowCMS: false,\r\n cmsHref:'',\r\n arrayMainCategories : [],\r\n isAlertVisibleForReorder : false,\r\n isReorderCartEmpty : false,\r\n currentTime: 0, \r\n ukdatetime : 0\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n //Init animation duration\r\n AOS.init({\r\n duration: 1000\r\n })\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // let userObject = localStorage.getItem(Constants.USEROBJECT);\r\n let userObject = getSecureData(Constant.USEROBJECT);\r\n if (userObject == null) {\r\n this.props.history.push({ pathname: '/' })\r\n return\r\n }\r\n }\r\n else {\r\n this.props.history.push({ pathname: '/' })\r\n return\r\n }\r\n //Get messagelist from localstorage\r\n // let session = localStorage.getItem(Constant.PRE_MESSAGE_LIST);\r\n // let mLanguageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let session = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n let mLanguageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage('en'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n }\r\n else {\r\n if (mLanguageType != null) {\r\n Strings.setLanguage('es'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n }\r\n }\r\n }\r\n else {\r\n Strings.setLanguage('en');//Setting default language code here\r\n }\r\n\r\n setTimeout(() => {\r\n console.log(\"call order details api :\")\r\n this.props.orderDetailsApi(mOrderId, this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var result = this.props.data.result;\r\n\r\n console.log(\"this.props.data.result\",this.props.data.result)\r\n if (result != null) {\r\n var orderArray = result.orderedItems;\r\n var orderStatusHistory = result.orderStatusHistory\r\n if (orderArray != null && orderArray.length > 0) {\r\n this.setState({ orderDetailArray: orderArray, historyObject: result, cmsHref: 'https://stuart.followmy.delivery/127764036/78151d518a339a84810cf67125261fa6', orderStatusHistory: orderStatusHistory })\r\n }\r\n else {\r\n this.setState({ errorMessage: Strings.lbl_no_order_react })\r\n }\r\n }\r\n }\r\n else {\r\n this.setState({ errorMessage: this.props.error })\r\n }\r\n this.callGetCategoryListApi()\r\n this.getRestoInfo()\r\n })\r\n }, 500);\r\n }\r\n\r\n getRestoInfo = () => {\r\n this.props.getRestoInfo(this.state.languageType).then(() => {\r\n console.log('resto info api response -------------------- ', this.props.data)\r\n if (this.props.data.status == 1) {\r\n let uktime = moment(this.props.data.result.ukdatetime, \"YYYY-MM-dd HH:mm:ss\").format(\"HH:mm\")\r\n \r\n this.setState({currentTime: uktime, ukdatetime : this.props.data.result.ukdatetime })\r\n \r\n }\r\n })\r\n \r\n }\r\n\r\n //Handle change language click event\r\n //English language type: 1\r\n //Spanish language type: 2\r\n languageChangeClickEvent = (type) => {\r\n console.log(\"my order page language type :\" + type);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, type)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, type)\r\n this.setState({ languageType: type })\r\n setTimeout(() => {\r\n this.props.AppMessageApi(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var messageListArray = this.props.data.result;\r\n if (messageListArray != null && messageListArray.length > 0) {\r\n console.log(\"message list :\" + JSON.stringify(messageListArray))\r\n // localStorage.setItem(Constant.PRE_MESSAGE_LIST, JSON.stringify(messageListArray));\r\n setSecureData(Constant.PRE_MESSAGE_LIST, messageListArray);\r\n // let localMessage = JSON.parse(localStorage.getItem(Constant.PRE_MESSAGE_LIST));\r\n let localMessage = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n // let languageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let languageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n if (languageType == 1) { //English language type: 1\r\n Strings.setLanguage('en');//Setting selected language code here\r\n this.setState({ languageType: languageType,languageTypeCode:\"en-GB\"})\r\n }\r\n else {\r\n Strings.setLanguage('es'); //Setting selected language code here\r\n this.setState({ languageType: languageType,languageTypeCode:\"es\"})\r\n }\r\n console.log('language type :' + languageType);\r\n Strings.setContent(localMessage)\r\n // this.setState({ languageType: languageType });\r\n window.location.reload(false);\r\n }\r\n } else {\r\n alert(this.props.error)\r\n }\r\n })\r\n }, 700)\r\n }\r\n\r\n onReorderClick() {\r\n\r\n if (!getSecureData(Constant.USERCART)) {\r\n\r\n this.setState({isReorderCartEmpty : true},()=>{this.reorderConfirm()})\r\n \r\n }\r\n else if (getSecureData(Constant.USERCART).length > 0) {\r\n\r\n console.log(\"LOCATIONOBJECT\",this.state.orderDetailArray[0],getSecureData(Constant.ORDERTYPE),getSecureData(Constant.ORDERTYPEID))\r\n\r\n if(getSecureData(Constant.ORDERTYPEID) == this.state.orderDetailArray[0].ordertype){\r\n this.setState({isReorderCartEmpty : true},()=>{this.reorderConfirm()})\r\n }\r\n else{\r\n this.setState({ isAlertVisibleForReorder: true, alertMessage: 'Do you want to remove your cart item?', isMultiButton: true, btnLeft: 'No', btnRight: 'Yes' })\r\n }\r\n \r\n }\r\n else{\r\n this.setState({isReorderCartEmpty : true},()=>{this.reorderConfirm()})\r\n }\r\n\r\n \r\n // this.reorderConfirm()\r\n\r\n \r\n }\r\n\r\n reorderConfirm(){\r\n if(this.state.isReorderCartEmpty){\r\n // return\r\n\r\n console.log(\"mOrderId\",mOrderId,this.state.orderDetailArray[0])\r\n console.log(\"LOCATIONOBJECT\",this.state.orderDetailArray[0],getSecureData(Constant.ORDERTYPE),getSecureData(Constant.ORDERTYPEID))\r\n // return\r\n\r\n if(getSecureData(Constant.ORDERTYPEID) != this.state.orderDetailArray[0].ordertype){\r\n\r\n \r\n localStorage.removeItem(Constant.USERCART)\r\n localStorage.removeItem('tablePreBookingObj')\r\n if(this.state.orderDetailArray[0].ordertype == 1){\r\n if(getSecureData(Constant.LOCATIONOBJECT).isTakeAway == true){\r\n setSecureData(Constant.ORDERTYPE,'TakeAway')\r\n setSecureData(Constant.ORDERTYPEID,1)\r\n }\r\n else{\r\n this.setState({isAlertVisible: true, alertMessage:'Takeaway is not available now.', isMultiButton: false, btnLeft:Strings.Ok_web})\r\n return\r\n }\r\n \r\n }\r\n else if(this.state.orderDetailArray[0].ordertype == 2){\r\n\r\n if(getSecureData(Constant.LOCATIONOBJECT).isDelivery == true){\r\n setSecureData(Constant.ORDERTYPE,'Delivery')\r\n setSecureData(Constant.ORDERTYPEID,2)\r\n }\r\n else{\r\n this.setState({isAlertVisible: true, alertMessage:'Delivery is not available now.', isMultiButton: false, btnLeft:Strings.Ok_web})\r\n return\r\n }\r\n \r\n }\r\n else if(this.state.orderDetailArray[0].ordertype == 3){\r\n\r\n if(getSecureData(Constant.LOCATIONOBJECT).isOrderExtras == true){\r\n setSecureData(Constant.ORDERTYPE,'SitDown')\r\n setSecureData(Constant.ORDERTYPEID,3)\r\n }\r\n else{\r\n this.setState({isAlertVisible: true, alertMessage:'Table Order is not available now.', isMultiButton: false, btnLeft:Strings.Ok_web})\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 // console.log(\"orderitemId\",item,orderitemId)\r\n let myCatData = this.state.arrayMainCategories.filter(data => (data.catId == this.state.orderDetailArray[0].catId))\r\n \r\n // console.log(\"myCatData\", myCatData, this.state.arrayMainCategories)\r\n let uktime = moment(this.state.ukdatetime, \"YYYY-MM-dd HH:mm:ss\").format(\"HH:mm:ss\")\r\n let ukdate = moment(this.state.ukdatetime, \"YYYY-MM-DD HH:mm:ss\").format(\"DD-MM-YYYY\")\r\n \r\n // this.props.checkItemTimeAPI(uktime,ukdate,this.state.orderDetailArray[0].catId,this.state.languageType).then(() => {\r\n \r\n // if (this.props.data.status == 1) {\r\n //call reorder\r\n this.props.callReOrderInfoAPI(mOrderId, this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var result = this.props.data.result;\r\n \r\n if (result.orderedItems.length > 0) {\r\n //check cart item location and reorder item location \r\n if (result.orderedItems[0].locationId == getSecureData(Constant.LOCATIONOBJECT).locationId) {\r\n result.orderedItems.map(items => {\r\n \r\n console.log(\"checkReorderFood\",items)\r\n // let cartData = JSON.parse(localStorage.getItem(Constant.USERCART))\r\n let cartData = getSecureData(Constant.USERCART)\r\n \r\n items.PriceList[0].isSelect = true\r\n // items['PriceList'] = items.PriceList\r\n items['menuItemName'] = items['itemname']\r\n items['menuitemId'] = items['orderitemId']\r\n items['imgurl'] = items['imageurl']\r\n items['totalQty'] = items['qty']\r\n items['totalPrice'] = items['totalprice']\r\n items['isReOrderedItem'] = true\r\n\r\n if(items.isLoyaltyOfferItem == undefined || items.isLoyaltyOfferItem == false)\r\n {\r\n \r\n if (cartData != null) {\r\n if (cartData.length > 0) {\r\n // cartData.push(items)\r\n // setSecureData(Constant.USERCART, cartData)\r\n \r\n console.log('Cart Data --- ', JSON.stringify(cartData))\r\n console.log('itemObject --- ', JSON.stringify(items))\r\n \r\n var shouldUpdate = false\r\n var updateAt = 0\r\n \r\n //check menu item id available and matched \r\n cartData.map((cartObject, index) => {\r\n if (cartObject.menuitemId == items.menuitemId && (items.isLoyaltyOfferItem == undefined || items.isLoyaltyOfferItem == false)) {\r\n let cartPriceType = cartObject.PriceList.filter(data => (data.isSelect == true))\r\n let itemPriceType = items.PriceList.filter(data => (data.isSelect == true))\r\n //compare selected price type\r\n if (cartPriceType[0].typeid == itemPriceType[0].typeid) {\r\n //get selected options list type \r\n let cartOptions = cartPriceType[0].OptionList.filter(opt => (opt.isSelect == true))\r\n let itemOptions = itemPriceType[0].OptionList.filter(opt => (opt.isSelect == true))\r\n \r\n var arrayCartOpt = []\r\n cartOptions.map(cartopt => (\r\n arrayCartOpt.push(cartopt.typeid)\r\n ))\r\n var arrayItemOpt = []\r\n itemOptions.map(itemopt => (\r\n arrayItemOpt.push(itemopt.typeid)\r\n ))\r\n console.log('arrayCartOpt ----- ', arrayCartOpt)\r\n console.log('arrayItemOpt ----- ', arrayItemOpt)\r\n console.log('index ----- ', index)\r\n //compare selected options list\r\n // if (JSON.stringify(arrayCartOpt) == JSON.stringify(arrayItemOpt)) {\r\n if (JSON.stringify(cartPriceType[0].OptionList) == JSON.stringify(itemPriceType[0].OptionList)) {\r\n shouldUpdate = true\r\n updateAt = index\r\n console.log('Both object are same......')\r\n } else {\r\n console.log('Both object are not same......')\r\n }\r\n }\r\n }\r\n })\r\n \r\n if (shouldUpdate) {\r\n \r\n let oldQty = cartData[updateAt].totalQty\r\n let oldPrice = cartData[updateAt].totalPrice\r\n \r\n console.log('item data should update at --- ', updateAt,)\r\n //add new qty and price in cart item\r\n cartData[updateAt].totalQty += items.totalQty\r\n cartData[updateAt].totalPrice += items.totalPrice\r\n \r\n setSecureData(Constant.USERCART, cartData)\r\n } else {\r\n \r\n console.log('add item in cart')\r\n cartData.push(items)\r\n setSecureData(Constant.USERCART, cartData)\r\n }\r\n \r\n } else {\r\n\r\n console.log(\"cartData null else\", getSecureData(Constant.LOCATIONOBJECT))\r\n setSecureData(Constant.USERCART, [items])\r\n }\r\n } else {\r\n console.log(\"cartData not null else\", getSecureData(Constant.LOCATIONOBJECT))\r\n setSecureData(Constant.USERCART, [items])\r\n }\r\n }\r\n \r\n })\r\n this.setState({ shouldMove: true, isAlertVisible: true, alertMessage: Strings.error_msg_item_added_react, isMultiButton: true, btnLeft: Strings.Ok_web, btnRight: Strings.btn_view_order_react })\r\n // if (!getSecureData(Constant.ORDERTYPE)) {\r\n // // localStorage.setItem(Constant.ORDERTYPE, JSON.stringify('Delivery'))\r\n // setSecureData(Constant.ORDERTYPE, 'Delivery')\r\n // }\r\n } else {\r\n \r\n result.orderedItems.map(items => {\r\n \r\n items.PriceList[0].isSelect = true\r\n items['menuItemName'] = items['itemname']\r\n items['menuitemId'] = items['orderitemId']\r\n items['imgurl'] = items['imageurl']\r\n items['totalQty'] = items['qty']\r\n items['totalPrice'] = items['totalprice']\r\n items['isReOrderedItem'] = true\r\n \r\n this.setState({ objItem: items })\r\n })\r\n \r\n this.setState({ isAlertVisible: true, alertMessage: Strings.cart_from_different_location, isMultiButton: true, btnLeft: Strings.str_no, btnRight: Strings.yes })\r\n }\r\n }\r\n \r\n } else {\r\n this.setState({isAlertVisible: true, alertMessage:this.props.data.message, isMultiButton: false, btnLeft:Strings.Ok_web})\r\n }\r\n }) \r\n // } else {\r\n // this.setState({isAlertVisible: true, alertMessage:this.props.data.message, isMultiButton: false, btnLeft:Strings.Ok_web})\r\n // }\r\n // })\r\n }\r\n }\r\n\r\n onTrackOrder() {\r\n if(this.state.cmsHref) {\r\n this.setState({isShowCMS:true})\r\n }\r\n }\r\n\r\n onRightClick() {\r\n if (this.state.shouldMove) {\r\n this.props.history.push({ pathname: '/menuItems' })\r\n } else {\r\n localStorage.removeItem(Constant.USERCART)\r\n // localStorage.setItem(Constant.USERCART, JSON.stringify([this.state.objItem]))\r\n setSecureData(Constant.USERCART, [this.state.objItem])\r\n\r\n // let locationList = JSON.parse(localStorage.getItem(Constant.LOCATIONLISTOBJECT))\r\n let locationList = getSecureData(Constant.LOCATIONLISTOBJECT)\r\n if (locationList) {\r\n let obj = locationList.filter(location => (location.locationId == this.state.objItem.locationId))\r\n console.log('location list ------ ', obj)\r\n if (obj.length > 0) {\r\n // localStorage.setItem(Constant.LOCATIONOBJECT, JSON.stringify(obj[0]))\r\n setSecureData(Constant.LOCATIONOBJECT, obj[0])\r\n }\r\n }\r\n\r\n // if (!JSON.parse(localStorage.getItem(Constant.ORDERTYPE))) {\r\n if (!getSecureData(Constant.ORDERTYPE)) {\r\n // localStorage.setItem(Constant.ORDERTYPE, JSON.stringify('Delivery'))\r\n setSecureData(Constant.ORDERTYPE, 'Delivery')\r\n }\r\n this.setState({ isAlertVisible: false })\r\n }\r\n\r\n }\r\n \r\n\r\n render() {\r\n return (\r\n
    \r\n\r\n {this.props.isLoading ?
    \r\n
    \r\n
    :
    \r\n
    \r\n
    }\r\n\r\n {/* Old header menu */}\r\n {/* */}\r\n {/* */}\r\n\r\n \r\n\r\n { this.setState({ isAlertVisible: false }) }} btnRightClick={() => { }} btnLeftTitle={this.state.btnLeft} btnRightTitle={this.state.btnRight} btnRightClick={() => { this.onRightClick() }} />\r\n\r\n { this.setState({ isAlertVisibleForReorder: false }) }} \r\n btnLeftTitle={this.state.btnLeft} \r\n btnRightTitle={this.state.btnRight} \r\n btnRightClick={() => { this.setState({isAlertVisibleForReorder:false, isReorderCartEmpty:true,},()=>{this.reorderConfirm()}) }} \r\n />\r\n {/*
    \r\n \r\n
    */}\r\n\r\n {this.state.isItemPopupVisible ? { console.log(popup); this.setState({ isItemPopupVisible: false, isAlertVisible: popup.isHide, alertMessage: popup.isNewItem ? Strings.error_msg_item_added_react : Strings.error_msg_item_update_react, btnLeft: Strings.Ok_web, isMultiButton: true, btnRight: Strings.btn_view_order_react }) }} isVisible={this.state.isItemPopupVisible} /> : null}\r\n\r\n this.setState({isShowCMS:false})}/>\r\n
    \r\n
    \r\n
    \r\n < div className=\"myorderlistTitle\">\r\n

    Home >> My Orders >> Details

    \r\n
    \r\n {/*
    \r\n

    View Orders

    \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 this.setOrderDetailsTableView()\r\n }\r\n
    {Strings.lbl_order_react}{Strings.lbl_date_react}{Strings.lbl_location_react}{Strings.lbl_order_status_react}{Strings.lbl_order_type_react}{Strings.lbl_price_react}
    \r\n
    \r\n
    \r\n
    \r\n {this.state.orderDetailArray.length > 0 ? \r\n (\r\n
    \r\n\r\n {\r\n this.state.orderDetailArray.length == 1 && this.state.orderDetailArray[0].isLoyaltyOfferItem != undefined && this.state.orderDetailArray[0].isLoyaltyOfferItem == true\r\n ?\r\n null\r\n : \r\n this.onReorderClick()}>{Strings.str_reorder}\r\n\r\n }\r\n\r\n\r\n {this.state.orderDetailArray[0].trckURL ? {Strings.str_trackorder} : null}\r\n
    \r\n )\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    */}\r\n {this.setOrderDetailsView()}\r\n {/*
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n

    Sub Total

    {this.setSubTotalView()}

    \r\n {this.setDiscount()}\r\n {this.setOffersDiscount()}\r\n {\r\n this.setCompanyDiscountView()\r\n }\r\n {\r\n this.setDeliveryCharges()\r\n }\r\n\r\n {\r\n this.setPackagingCharges()\r\n } \r\n\r\n {\r\n this.bookingDipositAmount()\r\n } \r\n \r\n

    Total

    {this.setTotalAmount()}

    \r\n\r\n

    {this.state.orderStatusHistory.note != '' && this.state.orderStatusHistory.note != undefined ? \"Note : \"+this.state.orderStatusHistory.note : null}

    \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 this.setOrderDetailsView()\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n this.renderAddress()\r\n }\r\n {\r\n this.setSubTotalView()\r\n }\r\n {\r\n this.setDiscount()\r\n }\r\n {\r\n this.setOffersDiscount()\r\n }\r\n {\r\n this.setCompanyDiscountView()\r\n }\r\n {\r\n this.setDeliveryCharges()\r\n }\r\n {\r\n this.setAvocadoDiscount()\r\n }\r\n {\r\n this.setPackagingCharges()\r\n }\r\n {\r\n this.setTotalAmount()\r\n }\r\n {this.state.orderDetailArray.length > 0 ? \r\n (\r\n
    \r\n this.onReorderClick()}>{Strings.str_reorder}\r\n {this.state.orderDetailArray[0].trckURL ? {Strings.str_trackorder} : null}\r\n
    \r\n )\r\n : null}\r\n
    \r\n
    */}\r\n \r\n \r\n )\r\n }\r\n\r\n renderAddress =()=> {\r\n if (this.state.historyObject.deliveryaddress)\r\n return (\r\n
    \r\n

    Deliver to

    \r\n

    {this.state.historyObject.deliveryaddress}

    \r\n
    \r\n )\r\n }\r\n\r\n //Setting SubTotal Amount\r\n setSubTotalView = () => {\r\n let mSubTotal = 0;\r\n if (this.state.orderDetailArray != null && this.state.orderDetailArray.length > 0) {\r\n for (let i = 0; i < this.state.orderDetailArray.length; i++) {\r\n if (mSubTotal == 0) {\r\n mSubTotal = this.state.orderDetailArray[i].totalprice;\r\n }\r\n else {\r\n mSubTotal = mSubTotal + this.state.orderDetailArray[i].totalprice;\r\n }\r\n }\r\n\r\n return getPriceFormat(mSubTotal.toFixed(2))\r\n //
    \r\n //

    {Strings.sub_total_order_amount_web + \" : \" + getPriceFormat(mSubTotal.toFixed(2))}

    \r\n //
    \r\n \r\n }\r\n }\r\n\r\n //Setting First Order Discount\r\n setDiscount = () => {\r\n let discount = 0;\r\n if (this.state.orderDetailArray != null && this.state.orderDetailArray.length > 0) {\r\n if (this.state.orderDetailArray[0].discount > 0) {\r\n discount = this.state.orderDetailArray[0].discount;\r\n return (

    Discount

    { \"-\" + getPriceFormat(discount)}

    )\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n }\r\n\r\n //Setting offers Discount\r\n setOffersDiscount = () =>{\r\n let discount = 0;\r\n if (this.state.orderDetailArray != null && this.state.orderDetailArray.length > 0) {\r\n if (this.state.orderDetailArray[0].offerCodeDiscount > 0) {\r\n discount = this.state.orderDetailArray[0].offerCodeDiscount;\r\n console.log(\"Discount\",discount);\r\n return (

    Offer Discount

    {\"-\" + getPriceFormat(discount)}

    )\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n }\r\n\r\n //set bookingDipositAmount \r\n bookingDipositAmount () {\r\n let bookingDipositAmount = 0;\r\n if (this.state.orderDetailArray != null && this.state.orderDetailArray.length > 0) {\r\n if (this.state.orderDetailArray[0].bookingDipositAmount > 0) {\r\n bookingDipositAmount = this.state.orderDetailArray[0].bookingDipositAmount;\r\n \r\n // return (
    \r\n //

    {Strings.packaging_charge_web}

    \r\n //

    {getPriceFormat(bookingDipositAmount.toFixed(2)) }

    \r\n //
    )\r\n \r\n return (

    Booking Deposit

    {\"-\" + getPriceFormat(bookingDipositAmount)}

    )\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n }\r\n\r\n //Setting company discount\r\n setCompanyDiscountView() {\r\n let totalAmount = 0;\r\n let discount = 0;\r\n let companyDiscount = 0;\r\n if (this.state.orderDetailArray != null && this.state.orderDetailArray.length > 0) {\r\n discount = this.state.orderDetailArray[0].discount;\r\n companyDiscount = this.state.orderDetailArray[0].payAmountByCompany;\r\n for (let i = 0; i < this.state.orderDetailArray.length; i++) {\r\n if (totalAmount == 0) {\r\n totalAmount = this.state.orderDetailArray[i].totalprice;\r\n }\r\n else {\r\n totalAmount = totalAmount + this.state.orderDetailArray[i].totalprice;\r\n }\r\n }\r\n totalAmount = totalAmount - discount;\r\n if (totalAmount >= companyDiscount) {\r\n if (companyDiscount > 0) {\r\n return (

    {Strings.str_company_discount}

    {getPriceFormat(companyDiscount.toFixed(2))}

    )\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n else {\r\n\r\n return (

    {Strings.str_company_discount}

    {getPriceFormat(totalAmount.toFixed(2))}

    )\r\n }\r\n }\r\n }\r\n\r\n setAvocadoDiscount() {\r\n if(this.state.orderDetailArray.length > 0) {\r\n let disc = this.state.orderDetailArray[0].avacadoRedeemDiscount\r\n if(disc > 0) {\r\n return (\r\n
    \r\n

    {Strings.str_redeemed_avocados + \" : -\" + getPriceFormat(disc.toFixed(2))}

    \r\n
    \r\n )\r\n }\r\n }\r\n\r\n }\r\n\r\n //Setting Delivery Charges\r\n setDeliveryCharges() {\r\n let deliveryCharges = 0;\r\n if (this.state.orderDetailArray != null && this.state.orderDetailArray.length > 0) {\r\n if (this.state.orderDetailArray[0].deliveryCharges > 0) {\r\n deliveryCharges = this.state.orderDetailArray[0].deliveryCharges;\r\n\r\n return (
    \r\n

    {Strings.lbl_delivery_charge_react}

    \r\n

    {getPriceFormat(deliveryCharges.toFixed(2)) }

    \r\n
    )\r\n \r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n }\r\n\r\n //Setting Packaging Charges\r\n setPackagingCharges() {\r\n let packgingCharges = 0;\r\n if (this.state.orderDetailArray != null && this.state.orderDetailArray.length > 0) {\r\n if (this.state.orderDetailArray[0].packagingCharge > 0) {\r\n packgingCharges = this.state.orderDetailArray[0].packagingCharge;\r\n\r\n return (
    \r\n

    {Strings.packaging_charge_web}

    \r\n

    {getPriceFormat(packgingCharges.toFixed(2)) }

    \r\n
    )\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n }\r\n\r\n //Setting total amount\r\n setTotalAmount() {\r\n let totalAmount = 0;\r\n let deliveryCharges = 0;\r\n let packgingCharges = 0;\r\n let discount = 0;\r\n let offerDiscount = 0;\r\n let companyDiscount = 0;\r\n let bookingDipositAmount = 0\r\n if (this.state.orderDetailArray != null && this.state.orderDetailArray.length > 0) {\r\n deliveryCharges = this.state.orderDetailArray[0].deliveryCharges;\r\n packgingCharges = this.state.orderDetailArray[0].packagingCharge;\r\n discount = this.state.orderDetailArray[0].discount;\r\n offerDiscount = this.state.orderDetailArray[0].offerCodeDiscount;\r\n companyDiscount = this.state.orderDetailArray[0].payAmountByCompany;\r\n bookingDipositAmount = this.state.orderDetailArray[0].bookingDipositAmount\r\n let avocadoDiscount = this.state.orderDetailArray[0].avacadoRedeemDiscount;\r\n for (let i = 0; i < this.state.orderDetailArray.length; i++) {\r\n if (totalAmount == 0) {\r\n totalAmount = this.state.orderDetailArray[i].totalprice;\r\n }\r\n else {\r\n totalAmount = totalAmount + this.state.orderDetailArray[i].totalprice;\r\n }\r\n }\r\n\r\n totalAmount = totalAmount - discount - offerDiscount - bookingDipositAmount;\r\n if (totalAmount >= companyDiscount) {\r\n totalAmount = totalAmount - companyDiscount - avocadoDiscount + deliveryCharges + packgingCharges;\r\n return getPriceFormat(totalAmount.toFixed(2));\r\n // return (\r\n //
    \r\n //

    {Strings.total_order_amount_web + \" : \" + getPriceFormat(totalAmount.toFixed(2))}

    \r\n //
    \r\n // )\r\n }\r\n else {\r\n totalAmount = 0;\r\n totalAmount = totalAmount - avocadoDiscount + deliveryCharges + packgingCharges;\r\n return getPriceFormat(totalAmount.toFixed(2));\r\n // return (\r\n //
    \r\n //

    {Strings.total_order_amount_web + \" : \" + getPriceFormat(totalAmount.toFixed(2))}

    \r\n //
    \r\n // )\r\n }\r\n }\r\n }\r\n\r\n renderMenuStatus(status) {\r\n let obj = []\r\n if(status.length > 0){\r\n status.map((data,index) => (\r\n obj.push(\r\n
  • \r\n \r\n {/* \r\n \r\n */}\r\n
  • \r\n )\r\n ))\r\n }\r\n \r\n return obj\r\n }\r\n\r\n callGetCategoryListApi() {\r\n this.props.getCategoriesAPICall(this.state.languageType).then(() => {\r\n console.log('Category response ---- ',this.props.data)\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n setTimeout(() => {\r\n // if (this.props.data.result.length > 0) {\r\n console.log(this.props.data.result.MenuCategoryList)\r\n this.setState({ arrayMainCategories: this.props.data.result.MenuCategoryList})\r\n // localStorage.setItem(Constants.CATEGORIESDATA,JSON.stringify(this.props.data.result))\r\n // setSecureData(Constants.CATEGORIESDATA,this.props.data.result.MenuCategoryList)\r\n // window.location.reload(false)\r\n // this.getCategoryItem()\r\n // }\r\n }, 100)\r\n }\r\n } else {\r\n alert(this.props.data.message)\r\n console.log('Category status 2 ---- ',this.props.data)\r\n }\r\n })\r\n }\r\n \r\n onAddClick(i, orderitemId,item) {\r\n console.log(\"orderitemId\",item,orderitemId)\r\n // let myCatData = this.state.arrayMainCategories.filter(data => (data.catId == item.catId))\r\n\r\n // console.log(\"myCatData\", myCatData, this.state.arrayMainCategories)\r\n let uktime = moment(this.state.ukdatetime, \"YYYY-MM-dd HH:mm:ss\").format(\"HH:mm:ss\")\r\n let ukdate = moment(this.state.ukdatetime, \"YYYY-MM-DD HH:mm:ss\").format(\"DD-MM-YYYY\")\r\n\r\n this.props.checkItemTimeAPI(uktime,ukdate,item.catId,this.state.languageType).then(() => {\r\n \r\n if (this.props.data.status == 1) {\r\n //call reorder\r\n this.props.callReOrderInfoAPI(mOrderId, this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var result = this.props.data.result;\r\n\r\n if (result.orderedItems.length > 0) {\r\n //check cart item location and reorder item location \r\n if (result.orderedItems[0].locationId == getSecureData(Constant.LOCATIONOBJECT).locationId) {\r\n result.orderedItems.map(items => {\r\n console.log(\"checkReorderFoodnAdd\",items,orderitemId)\r\n if(orderitemId === items.orderitemId){\r\n // let cartData = JSON.parse(localStorage.getItem(Constant.USERCART))\r\n let cartData = getSecureData(Constant.USERCART)\r\n\r\n items.PriceList[0].isSelect = true\r\n items['menuItemName'] = items['itemname']\r\n items['menuitemId'] = items['orderitemId']\r\n items['imgurl'] = items['imageurl']\r\n items['totalQty'] = items['qty']\r\n items['totalPrice'] = items['totalprice']\r\n items['isReOrderedItem'] = true\r\n\r\n if (cartData != null) {\r\n if (cartData.length > 0) {\r\n // cartData.push(items)\r\n // setSecureData(Constant.USERCART, cartData)\r\n\r\n console.log('Cart Data --- ', JSON.stringify(cartData))\r\n console.log('itemObject --- ', JSON.stringify(items))\r\n\r\n var shouldUpdate = false\r\n var updateAt = 0\r\n\r\n //check menu item id available and matched \r\n cartData.map((cartObject, index) => {\r\n if (cartObject.menuitemId == items.menuitemId) {\r\n let cartPriceType = cartObject.PriceList.filter(data => (data.isSelect == true))\r\n let itemPriceType = items.PriceList.filter(data => (data.isSelect == true))\r\n //compare selected price type\r\n if (cartPriceType[0].typeid == itemPriceType[0].typeid) {\r\n //get selected options list type \r\n let cartOptions = cartPriceType[0].OptionList.filter(opt => (opt.isSelect == true))\r\n let itemOptions = itemPriceType[0].OptionList.filter(opt => (opt.isSelect == true))\r\n\r\n var arrayCartOpt = []\r\n cartOptions.map(cartopt => (\r\n arrayCartOpt.push(cartopt.typeid)\r\n ))\r\n var arrayItemOpt = []\r\n itemOptions.map(itemopt => (\r\n arrayItemOpt.push(itemopt.typeid)\r\n ))\r\n console.log('arrayCartOpt ----- ', arrayCartOpt)\r\n console.log('arrayItemOpt ----- ', arrayItemOpt)\r\n console.log('index ----- ', index)\r\n //compare selected options list\r\n if (JSON.stringify(arrayCartOpt) == JSON.stringify(arrayItemOpt)) {\r\n shouldUpdate = true\r\n updateAt = index\r\n console.log('Both object are same......')\r\n } else {\r\n console.log('Both object are not same......')\r\n }\r\n }\r\n }\r\n })\r\n\r\n if (shouldUpdate) {\r\n\r\n let oldQty = cartData[updateAt].totalQty\r\n let oldPrice = cartData[updateAt].totalPrice\r\n\r\n console.log('item data should update at --- ', updateAt,)\r\n //add new qty and price in cart item\r\n cartData[updateAt].totalQty += items.totalQty\r\n cartData[updateAt].totalPrice += items.totalPrice\r\n\r\n setSecureData(Constant.USERCART, cartData)\r\n } else {\r\n\r\n console.log('add item in cart')\r\n cartData.push(items)\r\n setSecureData(Constant.USERCART, cartData)\r\n }\r\n\r\n } else {\r\n setSecureData(Constant.USERCART, [items])\r\n }\r\n } else {\r\n setSecureData(Constant.USERCART, [items])\r\n }\r\n }\r\n \r\n \r\n\r\n })\r\n this.setState({ shouldMove: true, isAlertVisible: true, alertMessage: Strings.error_msg_item_added_react, isMultiButton: true, btnLeft: Strings.Ok_web, btnRight: Strings.btn_view_order_react })\r\n if (!getSecureData(Constant.ORDERTYPE)) {\r\n // localStorage.setItem(Constant.ORDERTYPE, JSON.stringify('Delivery'))\r\n setSecureData(Constant.ORDERTYPE, 'Delivery')\r\n }\r\n } else {\r\n\r\n result.orderedItems.map(items => {\r\n\r\n if(orderitemId === items.orderitemId){\r\n items.PriceList[0].isSelect = true\r\n items['menuItemName'] = items['itemname']\r\n items['menuitemId'] = items['orderitemId']\r\n items['imgurl'] = items['imageurl']\r\n items['totalQty'] = items['qty']\r\n items['totalPrice'] = items['totalprice']\r\n items['isReOrderedItem'] = true\r\n\r\n this.setState({ objItem: items })\r\n }\r\n \r\n })\r\n\r\n this.setState({ isAlertVisible: true, alertMessage: Strings.cart_from_different_location, isMultiButton: true, btnLeft: Strings.str_no, btnRight: Strings.yes })\r\n }\r\n }\r\n\r\n } else {\r\n alert(this.props.data.message)\r\n }\r\n })\r\n } else {\r\n this.setState({isAlertVisible: true, alertMessage:this.props.data.message, isMultiButton: false, btnLeft:Strings.Ok_web})\r\n }\r\n })\r\n // return\r\n\r\n \r\n }\r\n\r\n //This method use bind order details \r\n //like menuname,price,qty\r\n setOrderDetailsView1() {\r\n if (this.state.orderDetailArray != null && this.state.orderDetailArray.length > 0) \r\n {\r\n console.log(\"this.state.orderDetailArray\",this.state.orderDetailArray)\r\n const itemDiv = this.state.orderDetailArray.map((item, index) => (\r\n
    \r\n
    \r\n
    \r\n {/* { this.onAddClick(index, item.menuitemId) }}/> */}\r\n {/* {item.imgurl ? { this.onAddClick(index, item.menuitemId) }}/> : null} */}\r\n { this.onAddClick(index, item.orderitemId, item) }}\r\n />\r\n
    \r\n
    \r\n
      \r\n {this.renderMenuStatus(item.MenuStausList ? item.MenuStausList : [])}\r\n
    \r\n \r\n

    { this.onAddClick(index, item.orderitemId, item) }} \r\n className=\"prdTitle\">{item.itemname}

    \r\n

    {item.description}

    \r\n
    \r\n

    {getCurrencySign()}

    \r\n

    {item.PriceList[0].price.toFixed(2)}

    \r\n { this.onAddClick(index, item.orderitemId, item) }}\r\n >\r\n {Strings.lbl_edit_add_react}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n ));\r\n return itemDiv\r\n }\r\n else {\r\n return (\r\n
    \r\n

    {this.state.errorMessage}

    \r\n
    \r\n )\r\n }\r\n \r\n }\r\n\r\n renderOptions = (menuData) => {\r\n var arrayTitle = []\r\n\r\n\r\n let subOption;\r\n let objPriceList = menuData.PriceList[0].OptionList.map((data) => {\r\n if(!arrayTitle.includes(data.labelText)){\r\n arrayTitle.push(data.labelText)\r\n }\r\n \r\n })\r\n\r\n\r\n var arrData = []\r\n arrayTitle.map((data, i) => {\r\n var str = []\r\n var subOptionFlt = []\r\n \r\n let obj = menuData.PriceList[0].OptionList.map((flt) =>{\r\n if(flt.labelText == data){\r\n \r\n str.push(`${flt.type} (£${flt.price})`)\r\n }\r\n })\r\n\r\n arrData.push(\r\n str.length > 0 \r\n ?\r\n\r\n
    \r\n
    {data}
    \r\n

    {str.join(', ')}

    \r\n
    \r\n : null\r\n )\r\n })\r\n \r\n return arrData\r\n }\r\n\r\n renderPriceList = (menuItem) => {\r\n let objPriceList = menuItem.PriceList\r\n return objPriceList[0].type.replace(\"Price\", \"Regular\")\r\n }\r\n\r\n setOrderDetailsView() {\r\n if (this.state.orderDetailArray != null && this.state.orderDetailArray.length > 0) \r\n {\r\n console.log(\"this.state.orderDetailArray\",this.state.orderDetailArray)\r\n const itemDiv = this.state.orderDetailArray.map((item, index) => (\r\n \r\n
  • \r\n
    \r\n
    \r\n\r\n {\r\n item.isLoyaltyOfferItem == undefined || item.isLoyaltyOfferItem == false\r\n ?\r\n

    {item.itemname} ({this.renderPriceList(item)}) {this.renderOptions(item)}

    \r\n\r\n :\r\n

    {item.itemname} (Loyalty)

    \r\n } \r\n \r\n
    \r\n\r\n \r\n
    \r\n {\r\n this.state.customerId > 0\r\n ?\r\n
    \r\n { \r\n \r\n item.isFavoriteMenu\r\n ?\r\n
    {this.addRemoveFavItem(item,'DeleteFavorite')}} className=\"heartIconDiv \">
    \r\n :\r\n
    {this.addRemoveFavItem(item,'addFavorite')}} className=\"heartIconDiv \">
    \r\n \r\n }\r\n
    \r\n :\r\n null \r\n }\r\n\r\n {\r\n item.isLoyaltyOfferItem == undefined || item.isLoyaltyOfferItem == false\r\n ?\r\n <>\r\n \r\n

    QTY : {item.qty}

    \r\n

    {getCurrencySign()}

    \r\n

    {item.totalprice.toFixed(2)}

    \r\n
    \r\n { this.onAddClick(index, item.orderitemId, item) }}\r\n > \r\n {/* */}\r\n \r\n \r\n\r\n :\r\n \r\n

    QTY : {item.qty}

    \r\n

    \r\n {item.loyaltyPoints*item.qty} Points\r\n

    \r\n
    \r\n }\r\n \r\n \r\n \r\n
    \r\n
    \r\n
  • \r\n ));\r\n return
      {itemDiv}
    ;\r\n }\r\n else {\r\n return (\r\n
    \r\n

    {this.state.errorMessage}

    \r\n
    \r\n )\r\n }\r\n }\r\n\r\n setOrderDetailsTableView() {\r\n if ('orderNo' in this.state.orderStatusHistory) {\r\n \r\n console.log(\"this.state.orderStatusHistory\",this.state.orderStatusHistory)\r\n return (\r\n\r\n \r\n \r\n {this.state.orderStatusHistory.orderNo}\r\n {this.state.orderStatusHistory.contactDatetime}\r\n {/* {item.locationName} */}\r\n {this.state.orderStatusHistory.locationName}\r\n {this.state.orderStatusHistory.orderstatus}\r\n {this.state.orderStatusHistory.ordertypeValue}\r\n {/* {getPriceFormat(item.totalamount)} */}\r\n {/* {item.PriceList[0].price} */}\r\n \r\n \r\n\r\n )\r\n \r\n }\r\n else {\r\n return (\r\n
    \r\n

    {this.state.errorMessage}

    \r\n
    \r\n )\r\n }\r\n }\r\n\r\n //This method use bind option parameter list with sorting\r\n setOptionListView = (OptionList) => {\r\n if (OptionList != null && OptionList.length > 0) {\r\n var subArray = [];\r\n for (let j = 0; j < OptionList.length; j++) {\r\n if (j == 0) {\r\n subArray.push(OptionList[j].labelText)\r\n } else if (subArray.includes(OptionList[j].labelText) == false) {\r\n subArray.push(OptionList[j].labelText)\r\n }\r\n }\r\n\r\n var arrReturn = []\r\n for (let k = 0; k < subArray.length; k++) {\r\n let myOptionList = OptionList.filter(data => (subArray[k] == data.labelText))\r\n var arrOpt = []\r\n myOptionList.map(opt => (\r\n arrOpt.push(opt.type)\r\n ))\r\n arrReturn.push(\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {subArray[k]}
    \r\n

    {arrOpt.join(',')}

    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n return arrReturn\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error\r\n }\r\n}\r\nconst mapDispatchToProps = dispatch => ({\r\n orderDetailsApi: (mOrderId, languageType) => dispatch(HGActions.GetOrderDetailsApi(mOrderId, languageType)),\r\n callReOrderInfoAPI: (OrderId, languageType) => dispatch(HGActions.initGetReOrderInfoAPI(OrderId, languageType)),\r\n AppMessageApi: (languageType) => dispatch(HGActions.GetAppMessageListApi(languageType)),\r\n checkItemTimeAPI: (contactTime,orderDate,catId,languageType) => dispatch(HGActions.initCheckMenuItemTimeAPI(contactTime,orderDate,catId,languageType)),\r\n getCategoriesAPICall: (languageType) => dispatch(HGActions.initGetAllCategoriesCall(languageType)),\r\n getRestoInfo: (languageType) => dispatch(HGActions.initGetRestoInfoAPI(languageType)),\r\n\r\n})\r\nexport default connect(mapStateToProps, mapDispatchToProps)(OrderDetails);\r\n\r\n\r\n","import React, { Component } from 'react';\r\n\r\nimport { connect } from 'react-redux';\r\nimport * as HGActions from '../Redux/actions/HGActions';\r\nimport HeaderMenu from '../Components/HeaderMenu';\r\nimport FooterMenu from '../Components/FooterMenu';\r\nimport { Strings } from '../constants/Localization';\r\nimport Constant from '../constants/baseConstants';\r\nimport {setSecureData, getSecureData} from '../Utils/utils';\r\n\r\nclass SavedCards extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n arrayCards: [],\r\n selectIndex: 0,\r\n }\r\n\r\n }\r\n\r\n componentDidMount() {\r\n\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // let userObject = localStorage.getItem(Constants.USEROBJECT);\r\n let userObject = getSecureData(Constant.USEROBJECT);\r\n if (userObject == null) {\r\n this.props.history.push({ pathname: '/' })\r\n return\r\n }\r\n }\r\n else {\r\n this.props.history.push({ pathname: '/' })\r\n return\r\n }\r\n\r\n // if(this.props.location.isCheckOut == true) {\r\n\r\n // this.props.getSavedCards(JSON.parse(localStorage.getItem(Constant.USEROBJECT)).customerId).then(() => {\r\n this.props.getSavedCards(getSecureData(Constant.USEROBJECT).customerId).then(() => {\r\n console.log(\"getSavedCards RESPONSE --------- \",this.props.data)\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n setTimeout(() => {\r\n if (this.props.data.result.length > 0) {\r\n this.setState({arrayCards:this.props.data.result})\r\n }\r\n }, 100)\r\n }\r\n } else if (this.props.data.status == 2) {\r\n //No Offers available\r\n\r\n } else {\r\n\r\n }\r\n })\r\n\r\n // } else {\r\n // this.props.history.push('/')\r\n // }\r\n }\r\n\r\n onSelectCards(index) {\r\n console.log('On select ',index)\r\n this.setState({selectIndex: index})\r\n }\r\n\r\n renderCardsList() {\r\n let arr = []\r\n this.state.arrayCards.map((cards,index) => {\r\n arr.push(\r\n
  • \r\n \r\n
  • \r\n )\r\n })\r\n return arr\r\n }\r\n\r\n render() {\r\n return(\r\n
    \r\n
    \r\n
      \r\n {(this.state.arrayCards) ? this.renderCardsList() : null}\r\n
    \r\n
    \r\n
    \r\n {}}>CHECK OUT\r\n
    \r\n
    \r\n {}}>NEW CARD\r\n
    \r\n
    \r\n {}}>CANCEL\r\n
    \r\n \r\n
    \r\n )\r\n }\r\n\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n console.log('isLoaging SavedCards ------- ' + state.HGReducers.isLoading);\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n getSavedCards: (customerId) => dispatch(HGActions.initGetSavedCardsAPI(customerId)),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SavedCards);","import React, { Component } from \"react\";\r\n\r\nimport GoogleLogin from \"react-google-login\";\r\nimport FacebookLogin from \"react-facebook-login/dist/facebook-login-render-props\";\r\nimport { connect } from \"react-redux\";\r\nimport * as HGActions from \"../Redux/actions/HGActions\";\r\nimport { Strings } from \"../constants/Localization\";\r\nimport FooterMenu from \"../Components/FooterMenu\";\r\nimport Constant from \"../constants/baseConstants\";\r\nimport HeaderWhiteMenu from \"../Components/HeaderWhiteMenu\";\r\nimport { setSecureData, getSecureData } from \"../Utils/utils\";\r\nimport AOS from \"aos\";\r\nimport \"aos/dist/aos.css\";\r\n\r\nconst validEmailRegex = RegExp(\r\n /^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i\r\n);\r\n\r\nvar mainObj;\r\nclass UserFeedBack extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n customerId: 0,\r\n name: \"\",\r\n countryCode: \"+44\",\r\n phoneNumber: \"\",\r\n email: \"\",\r\n comment: \"\",\r\n languageType: 1, //default language type\r\n errors: {\r\n nameError: \"\",\r\n countryCodeError: \"\",\r\n phoneNumberError: \"\",\r\n emailError: \"\",\r\n commentError: \"\",\r\n },\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n //Init animation duration\r\n AOS.init({\r\n duration: 1000,\r\n });\r\n\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // get the key's value from localStorage\r\n // let userObject = localStorage.getItem(Constant.USEROBJECT);\r\n let userObject = getSecureData(Constant.USEROBJECT);\r\n console.log(\"userObject=\" + userObject);\r\n if (userObject == null) {\r\n this.props.history.push({ pathname: \"/\" });\r\n return;\r\n }\r\n if (userObject !== null) {\r\n // userObject = JSON.parse(userObject);\r\n this.setState({\r\n customerId: userObject.customerId,\r\n name: userObject.firstname,\r\n countryCode: userObject.countryCode,\r\n phoneNumber: userObject.phone,\r\n email: userObject.emailId,\r\n });\r\n }\r\n } else {\r\n this.props.history.push({ pathname: \"/\" });\r\n return;\r\n }\r\n\r\n //Get messagelist from localstorage\r\n // let session = localStorage.getItem(Constant.PRE_MESSAGE_LIST);\r\n let session = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n // let mLanguageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let mLanguageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage(\"en\"); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType });\r\n } else {\r\n if (mLanguageType != null) {\r\n Strings.setLanguage(\"es\"); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType });\r\n }\r\n }\r\n } else {\r\n Strings.setLanguage(\"en\"); //Setting default language code here\r\n }\r\n }\r\n\r\n //Handle change language click event\r\n //English language type: 1\r\n //Spanish language type: 2\r\n languageChangeClickEvent = (type) => {\r\n console.log(\"my order page language type :\" + type);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, type)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, type);\r\n this.setState({ languageType: type });\r\n setTimeout(() => {\r\n this.props.AppMessageApi(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var messageListArray = this.props.data.result;\r\n if (messageListArray != null && messageListArray.length > 0) {\r\n console.log(\"message list :\" + JSON.stringify(messageListArray));\r\n // localStorage.setItem(Constant.PRE_MESSAGE_LIST, JSON.stringify(messageListArray));\r\n setSecureData(Constant.PRE_MESSAGE_LIST, messageListArray);\r\n // let localMessage = JSON.parse(localStorage.getItem(Constant.PRE_MESSAGE_LIST));\r\n let localMessage = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, this.state.languageType);\r\n // let languageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let languageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n if (languageType == 1) {\r\n //English language type: 1\r\n Strings.setLanguage(\"en\"); //Setting selected language code here\r\n this.setState({\r\n languageType: languageType,\r\n languageTypeCode: \"en-GB\",\r\n });\r\n } else {\r\n Strings.setLanguage(\"es\"); //Setting selected language code here\r\n this.setState({\r\n languageType: languageType,\r\n languageTypeCode: \"es\",\r\n });\r\n }\r\n console.log(\"language type :\" + languageType);\r\n Strings.setContent(localMessage);\r\n // this.setState({ languageType: languageType });\r\n window.location.reload(false);\r\n }\r\n } else {\r\n alert(this.props.error);\r\n }\r\n });\r\n }, 700);\r\n };\r\n\r\n //Handle validation and call user feedback api\r\n isValidate = (event) => {\r\n event.preventDefault();\r\n\r\n var nmError =\r\n this.state.name.length == 0 ? Strings.error_msg_name_react : \"\";\r\n var ccodeerror =\r\n this.state.countryCode == \"0\" ? Strings.error_msg_country_code_react : \"\";\r\n var phError =\r\n this.state.phoneNumber.length < 9 ? Strings.error_msg_phone_no_react : \"\";\r\n var emlError =\r\n this.state.email.length == 0 ? Strings.error_msg_email_react : \"\";\r\n var commentErrors =\r\n this.state.comment.length == 0 ? Strings.error_msg_feedback_react : \"\";\r\n\r\n if (emlError.length == 0) {\r\n validEmailRegex.test(this.state.email) == false\r\n ? (emlError = Strings.error_msg_valid_email_react)\r\n : (emlError = \"\");\r\n }\r\n\r\n this.setState({\r\n errors: {\r\n nameError: nmError,\r\n countryCodeError: ccodeerror,\r\n phoneNumberError: phError,\r\n emailError: emlError,\r\n commentError: commentErrors,\r\n },\r\n });\r\n\r\n setTimeout(() => {\r\n if (\r\n this.state.errors.nameError == \"\" &&\r\n this.state.errors.countryCodeError == \"\" &&\r\n this.state.errors.phoneNumberError == \"\" &&\r\n this.state.errors.emailError == \"\" &&\r\n this.state.errors.commentError == \"\"\r\n ) {\r\n {\r\n this.prepareRequest();\r\n }\r\n }\r\n }, 100);\r\n };\r\n\r\n //Call user feedback point api\r\n prepareRequest() {\r\n var requestParam = {\r\n customerId: this.state.customerId,\r\n phone: this.state.countryCode + this.state.phoneNumber,\r\n name: this.state.name,\r\n email: this.state.email,\r\n feedback: this.state.comment,\r\n };\r\n\r\n mainObj = {\r\n restaurantId: 147,\r\n languageId: this.state.languageType,\r\n OrderReviewInfo: requestParam,\r\n };\r\n\r\n this.props.userFeedbackApi(mainObj).then(() => {\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n setTimeout(() => {\r\n let result = this.props.data.result;\r\n if (result != null) {\r\n alert(result.message);\r\n }\r\n }, 100);\r\n }\r\n } else {\r\n alert(this.props.error);\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.props.isLoading ? (\r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n\r\n {/*

    {this.props.match.params.id}

    */}\r\n
    \r\n
    \r\n
    \r\n

    {Strings.lbl_user_feedback_react}

    \r\n
    \r\n
    \r\n
    \r\n \r\n this.setState({ name: e.target.value })}\r\n tabIndex=\"1\"\r\n />\r\n
    \r\n \r\n {this.state.errors.nameError}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.setState({ countryCode: e.target.value })\r\n }\r\n >\r\n {/* \r\n */}\r\n \r\n \r\n
    \r\n
    \r\n \r\n this.setState({ phoneNumber: e.target.value })\r\n }\r\n tabIndex=\"2\"\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.errors.countryCodeError}\r\n \r\n \r\n {this.state.errors.phoneNumberError}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n this.setState({ email: e.target.value })}\r\n tabIndex=\"3\"\r\n />\r\n
    \r\n \r\n {this.state.errors.emailError}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({ comment: e.target.value })\r\n }\r\n tabIndex=\"4\"\r\n />\r\n
    \r\n \r\n {this.state.errors.commentError}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {Strings.Submit_web}\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\nfunction mapStateToProps(state) {\r\n console.log(\"isLoaging SignUp ------- \" + state.HGReducers.isLoading);\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n userFeedbackApi: (mainObj) => dispatch(HGActions.callAddFeedbackApi(mainObj)),\r\n AppMessageApi: (languageType) =>\r\n dispatch(HGActions.GetAppMessageListApi(languageType)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UserFeedBack);\r\n","import React, { Component } from \"react\";\r\nimport { history, withRouter, Link } from \"react-router-dom\";\r\nimport Constant from \"../constants/baseConstants\";\r\nimport { Strings } from \"../constants/Localization\";\r\nimport AlertDialog from \"../Components/AlertDialog\";\r\nimport { setSecureData, getSecureData } from \"../Utils/utils\";\r\n\r\nvar ordType = \"\";\r\n\r\nclass HeaderHomeMenu extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loggedInUserId: 0,\r\n isAlertVisible: false,\r\n alertMessage: \"\",\r\n alertType: 1,\r\n selectedLocationObject: {},\r\n lType: 1,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n // localStorage.getItem(Constant.USEROBJECT)\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // get the key's value from localStorage\r\n // let value = localStorage.getItem(Constant.USEROBJECT);\r\n let value = getSecureData(Constant.USEROBJECT);\r\n // console.log('value='+value);\r\n if (value !== undefined) {\r\n if (value !== null)\r\n // || value !== undefined)\r\n this.setState({ loggedInUserId: value.customerId });\r\n }\r\n } else {\r\n // console.log('value=');\r\n }\r\n\r\n // if (localStorage.getItem(Constant.PRE_LANGUAGE_TYPE) == '1') {\r\n if (getSecureData(Constant.PRE_LANGUAGE_TYPE) == \"1\") {\r\n this.setState({ lType: 1 });\r\n // } else if (localStorage.getItem(Constant.PRE_LANGUAGE_TYPE) == '2') {\r\n } else if (getSecureData(Constant.PRE_LANGUAGE_TYPE) == \"2\") {\r\n this.setState({ lType: 2 });\r\n }\r\n }\r\n\r\n // UNSAFE_componentWillUpdate() {\r\n // // if (getSecureData(Constant.PRE_LANGUAGE_TYPE) == '1') {\r\n // // this.state.lType = 1\r\n // // } else if (getSecureData(Constant.PRE_LANGUAGE_TYPE) == '2') {\r\n // // this.state.lType = 2\r\n // // }\r\n // }\r\n\r\n renderBadge() {\r\n if (localStorage.hasOwnProperty(Constant.USERCART)) {\r\n // let value = localStorage.getItem(Constant.USERCART);\r\n let value = getSecureData(Constant.USERCART);\r\n if (value !== undefined) {\r\n if (value !== null) {\r\n if (value.length > 0) {\r\n return {value.length};\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n renderAccountMenu() {\r\n var cId = 0;\r\n\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // get the key's value from localStorage\r\n // let value = localStorage.getItem(Constant.USEROBJECT);\r\n let value = getSecureData(Constant.USEROBJECT);\r\n // console.log('value='+value);\r\n if (value !== undefined) {\r\n if (value !== null)\r\n // || value !== undefined)\r\n cId = value.customerId;\r\n }\r\n }\r\n\r\n console.log(\r\n \"localStorage.hasOwnProperty(Constant.USEROBJECT)\",\r\n localStorage.hasOwnProperty(Constant.USEROBJECT)\r\n );\r\n\r\n if (cId > 0) {\r\n return (\r\n
  • \r\n \r\n
  • \r\n \r\n {Strings.lbl_my_account_react}\r\n \r\n \r\n
  • \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n
  • \r\n \r\n {Strings.btn_signin_react.toLocaleUpperCase()}\r\n \r\n
  • \r\n );\r\n }\r\n }\r\n\r\n renderBookTableMenu() {\r\n var cId = 0;\r\n\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // get the key's value from localStorage\r\n // let value = localStorage.getItem(Constant.USEROBJECT);\r\n let value = getSecureData(Constant.USEROBJECT);\r\n // console.log('value='+value);\r\n if (value !== undefined) {\r\n if (value !== null)\r\n // || value !== undefined)\r\n cId = value.customerId;\r\n }\r\n }\r\n\r\n console.log(\r\n \"localStorage.hasOwnProperty(Constant.USEROBJECT)\",\r\n localStorage.hasOwnProperty(Constant.USEROBJECT)\r\n );\r\n\r\n if (cId > 0) {\r\n return (\r\n
  • \r\n {\r\n this.props.history.push(\"/BookTable\");\r\n }}\r\n className=\"orderOnlineBtn book-table\"\r\n >\r\n Book a Table\r\n \r\n
  • \r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n renderOrderType() {\r\n if (getSecureData(Constant.LOCATIONOBJECT)) {\r\n if (getSecureData(Constant.ORDERTYPE)) {\r\n let locationObject = getSecureData(Constant.LOCATIONOBJECT);\r\n var arry = [];\r\n if (locationObject.isDelivery) {\r\n arry.push({ title: Strings.Delivery_web, isSelect: false });\r\n }\r\n if (locationObject.isTakeAway) {\r\n arry.push({ title: Strings.lbl_takeaway_react, isSelect: false });\r\n }\r\n if (locationObject.isOrderExtras) {\r\n arry.push({ title: Strings.str_collect_drink, isSelect: false });\r\n }\r\n var arrReturn = [];\r\n arry.map((order, index) => {\r\n arrReturn.push(\r\n
  • \r\n {\r\n this.onChangeOrderType(order);\r\n }}\r\n >\r\n {order.title}\r\n \r\n
  • \r\n );\r\n });\r\n return (\r\n
  • \r\n \r\n {getSecureData(Constant.ORDERTYPE) == \"Delivery\"\r\n ? Strings.Delivery_web\r\n : getSecureData(Constant.ORDERTYPE) == \"TakeAway\"\r\n ? Strings.lbl_takeaway_react\r\n : Strings.str_collect_drink}\r\n \r\n
      {arrReturn}
    \r\n
  • \r\n );\r\n }\r\n }\r\n }\r\n\r\n renderCartBadge = () => {\r\n if (this.state.loggedInUserId > 0) {\r\n return (\r\n this.props.history.push(\"/CheckoutDelivery\")}\r\n >\r\n \r\n {this.renderBadge()}\r\n \r\n );\r\n }\r\n };\r\n renderCartMenu = () => {\r\n if (this.state.loggedInUserId > 0) {\r\n return (\r\n
  • \r\n this.props.history.push(\"/CheckoutDelivery\")}\r\n >\r\n {Strings.lbl_title_cart_react}\r\n \r\n
  • \r\n );\r\n }\r\n };\r\n\r\n // English language type: 1\r\n // Spanish language type: 2\r\n //Handle select language click event\r\n changeLanguageClickEvent(type) {\r\n console.log(\"change language event header white menu : \" + type);\r\n this.props.changeLanguageEvent(type);\r\n }\r\n renderLogo(logoType) {\r\n if (logoType === 1)\r\n return (\r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n );\r\n // return (
    \"\"
    ); ccc\r\n else\r\n return (\r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n );\r\n }\r\n\r\n onChangeLocation(location) {\r\n // if (JSON.parse(localStorage.getItem(Constant.USERCART))) {\r\n if (getSecureData(Constant.USERCART)) {\r\n // if (JSON.parse(localStorage.getItem(Constant.USERCART)).length > 0) {\r\n if (getSecureData(Constant.USERCART).length > 0) {\r\n this.setState({\r\n isAlertVisible: true,\r\n alertType: 1,\r\n alertMessage: Strings.empty_cart_message,\r\n selectedLocationObject: location,\r\n });\r\n } else {\r\n // localStorage.setItem(Constant.LOCATIONOBJECT,JSON.stringify(location))\r\n setSecureData(Constant.LOCATIONOBJECT, location);\r\n setTimeout(() => {\r\n this.setState({}, () => {\r\n this.props.onChangeLocation();\r\n });\r\n }, 200);\r\n }\r\n } else {\r\n // localStorage.setItem(Constant.LOCATIONOBJECT,JSON.stringify(location))\r\n setSecureData(Constant.LOCATIONOBJECT, location);\r\n setTimeout(() => {\r\n this.setState({}, () => {\r\n // this.props.onChangeLocation()\r\n });\r\n }, 200);\r\n }\r\n }\r\n\r\n onChangeOrderType(order) {\r\n if (!getSecureData(Constant.USERCART)) {\r\n /* comment for order type */\r\n // ordType = (order.title == Strings.Delivery_web) ? 'Delivery' : 'TakeAway'\r\n if (order.title == Strings.Delivery_web) {\r\n ordType = Strings.Delivery_web;\r\n } else if (order.title == Strings.lbl_takeaway_react) {\r\n ordType = Strings.lbl_takeaway_react;\r\n } else if (order.title == Strings.str_collect_drink) {\r\n ordType = Strings.str_sitDown;\r\n }\r\n\r\n setSecureData(Constant.ORDERTYPE, ordType);\r\n setTimeout(() => {\r\n this.setState({});\r\n }, 200);\r\n return;\r\n }\r\n\r\n if (getSecureData(Constant.USERCART).length > 0) {\r\n /* comment for order type */\r\n // let ord = (order.title == Strings.Delivery_web) ? Strings.Delivery_web : Strings.lbl_takeaway_react\r\n // ordType = (order.title == Strings.Delivery_web) ? 'Delivery' : 'TakeAway'\r\n let ord = \"\";\r\n if (order.title == Strings.Delivery_web) {\r\n ord = Strings.Delivery_web;\r\n } else if (order.title == Strings.lbl_takeaway_react) {\r\n ord = Strings.lbl_takeaway_react;\r\n } else if (order.title == Strings.str_collect_drink) {\r\n ord = Strings.str_collect_drink;\r\n }\r\n\r\n if (order.title == Strings.Delivery_web) {\r\n ordType = Strings.Delivery_web;\r\n } else if (order.title == Strings.lbl_takeaway_react) {\r\n ordType = Strings.lbl_takeaway_react;\r\n } else if (order.title == Strings.str_collect_drink) {\r\n ordType = Strings.str_sitDown;\r\n }\r\n if (getSecureData(Constant.ORDERTYPE) != ordType) {\r\n this.setState({\r\n isAlertVisible: true,\r\n alertType: 2,\r\n alertMessage: Strings.remove_cart_item_message.replace(\"#\", ord),\r\n });\r\n }\r\n } else {\r\n /* comment for order type */\r\n // ordType = (order.title == Strings.Delivery_web) ? 'Delivery' : 'TakeAway'\r\n if (order.title == Strings.Delivery_web) {\r\n ordType = Strings.Delivery_web;\r\n } else if (order.title == Strings.lbl_takeaway_react) {\r\n ordType = Strings.lbl_takeaway_react;\r\n } else if (order.title == Strings.str_collect_drink) {\r\n ordType = Strings.str_sitDown;\r\n }\r\n setSecureData(Constant.ORDERTYPE, ordType);\r\n setTimeout(() => {\r\n this.setState({});\r\n }, 200);\r\n }\r\n }\r\n\r\n onConfirmClick() {\r\n if (this.state.alertType == 1) {\r\n setSecureData(Constant.LOCATIONOBJECT, this.state.selectedLocationObject);\r\n localStorage.removeItem(Constant.USERCART);\r\n setTimeout(() => {\r\n this.setState({ isAlertVisible: false });\r\n }, 200);\r\n } else if (this.state.alertType == 2) {\r\n setSecureData(Constant.ORDERTYPE, ordType);\r\n localStorage.removeItem(Constant.USERCART);\r\n setTimeout(() => {\r\n this.setState({ isAlertVisible: false });\r\n }, 200);\r\n }\r\n }\r\n\r\n renderLocationList() {\r\n var arrReturn = [];\r\n\r\n // let locationList = JSON.parse(localStorage.getItem(Constant.LOCATIONLISTOBJECT))\r\n let locationList = getSecureData(Constant.LOCATIONLISTOBJECT);\r\n // let locationObject = JSON.parse(localStorage.getItem(Constant.LOCATIONOBJECT))\r\n let locationObject = getSecureData(Constant.LOCATIONOBJECT);\r\n if (locationList) {\r\n if (locationList.length > 0) {\r\n locationList.map((location, index) => {\r\n arrReturn.push(\r\n //
  • { this.onChangeLocation(location) }}>{location.locationName}
  • \r\n
  • \r\n {\r\n this.onChangeLocation(location);\r\n }}\r\n >\r\n {location.locationName}\r\n \r\n
  • \r\n );\r\n });\r\n } else {\r\n return;\r\n }\r\n } else {\r\n return;\r\n }\r\n\r\n return (\r\n //
    \r\n //
    \r\n // {(locationObject) ? locationObject.locationName : null }\r\n //
      \r\n // {arrReturn}\r\n //
    \r\n //
    \r\n //
    \r\n
  • \r\n \r\n {locationObject ? locationObject.locationName : null}\r\n \r\n
      {arrReturn}
    \r\n
  • \r\n );\r\n }\r\n\r\n renderBadge() {\r\n if (localStorage.hasOwnProperty(Constant.USERCART)) {\r\n // let value = localStorage.getItem(Constant.USERCART);\r\n let value = getSecureData(Constant.USERCART);\r\n if (value !== undefined) {\r\n if (value !== null) {\r\n if (value.length > 0) {\r\n return {value.length};\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n renderOrderTypes() {\r\n //Check user is logged in or not\r\n if (this.state.loggedInUserId > 0) {\r\n //check location object available or not in local storage if available then fetch and set data\r\n if (getSecureData(Constant.LOCATIONOBJECT)) {\r\n if (getSecureData(Constant.ORDERTYPE)) {\r\n let locationObject = getSecureData(Constant.LOCATIONOBJECT);\r\n var arry = [];\r\n if (locationObject.isDelivery) {\r\n arry.push({ title: Strings.Delivery_web, isSelect: false });\r\n }\r\n if (locationObject.isTakeAway) {\r\n arry.push({ title: Strings.lbl_takeaway_react, isSelect: false });\r\n }\r\n /* comment for order type */\r\n if (locationObject.isOrderExtras) {\r\n arry.push({ title: Strings.str_collect_drink, isSelect: false });\r\n }\r\n var arrReturn = [];\r\n arry.map((order, index) => {\r\n arrReturn.push(\r\n
  • \r\n {\r\n this.onChangeOrderType(order);\r\n }}\r\n >\r\n {order.title}\r\n \r\n
  • \r\n );\r\n });\r\n return (\r\n
  • \r\n \r\n {getSecureData(Constant.ORDERTYPE) == \"Delivery\"\r\n ? Strings.Delivery_web\r\n : Strings.lbl_takeaway_react}\r\n \r\n
      {arrReturn}
    \r\n
  • \r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n {/* comment for order type */}\r\n {/* {this.setState({isAlertVisible:false})}} btnRightClick={() => {this.onConfirmClick()}} btnLeftTitle={Strings.btn_cancel} btnRightTitle={Strings.btn_confirm} /> */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n (window.location.href = \"/\")}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {/*
    */}\r\n {this.renderCartBadge()}\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 {this.props.isOffer ? (\r\n
    \r\n

    \r\n HAPPY HOUR
    \r\n +OFFERS\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n {/*

    {this.props.headerLbl}

    */}\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(HeaderHomeMenu);\r\n","import React, { Component } from 'react';\r\nimport { Route, NavLink, BrowserRouter as Router, Switch, Link, history } from \"react-router-dom\";\r\nimport FooterMenu from '../Components/FooterMenu';\r\nimport { connect } from 'react-redux';\r\nimport * as HGActions from '../Redux/actions/HGActions';\r\nimport Constant from '../constants/baseConstants';\r\nimport { Strings } from '../constants/Localization';\r\nimport HeaderWhiteMenu from '../Components/HeaderWhiteMenu';\r\nimport baseConstants from '../constants/baseConstants';\r\nimport {setSecureData, getSecureData} from '../Utils/utils';\r\nimport AOS from 'aos';\r\nimport 'aos/dist/aos.css';\r\nimport HeaderWhiteMenuHalf from '../Components/HeaderWhiteMenuHalf';\r\n\r\nlet customerId = 0;\r\nvar mainObj;\r\nclass CardListing extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n customerId: '',\r\n cardArray: [],\r\n errorMessage: '',\r\n languageType: 1, //default language type\r\n }\r\n\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // get value from localStorage\r\n // let userObject = localStorage.getItem(Constant.USEROBJECT);\r\n let userObject = getSecureData(Constant.USEROBJECT);\r\n if (userObject !== null) {\r\n // userObject = JSON.parse(userObject);\r\n if (userObject != null) {\r\n customerId = userObject.customerId;\r\n console.log('login user :' + JSON.stringify(userObject));\r\n }\r\n }\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n //Init animation duration\r\n AOS.init({\r\n duration: 1000\r\n })\r\n //Get messagelist from localstorage\r\n // let session = localStorage.getItem(Constant.PRE_MESSAGE_LIST);\r\n // let mLanguageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let session = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n let mLanguageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage('en'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n }\r\n else {\r\n if (mLanguageType != null) {\r\n Strings.setLanguage('es'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n }\r\n }\r\n }\r\n else {\r\n Strings.setLanguage('en');//Setting default language code here\r\n }\r\n\r\n this.callCardListApi()\r\n }\r\n\r\n //This method use get card list api\r\n callCardListApi() {\r\n setTimeout(() => {\r\n console.log(\"call card list api :\")\r\n this.props.getCardListApi(customerId, this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var cardList = this.props.data.result;\r\n if (cardList != null && cardList.length > 0) {\r\n this.setState({ cardArray: cardList })\r\n }\r\n else {\r\n this.setState({ cardList: [], errorMessage: Strings.error_msg_no_card_react })\r\n }\r\n }\r\n else {\r\n this.setState({ cardList: [], errorMessage: this.props.error })\r\n }\r\n })\r\n }, 500);\r\n }\r\n\r\n //This method use handle card delete api\r\n deleteCardDetailClickEvent(cardId, index) {\r\n console.log(\"cardId :\" + cardId)\r\n // setTimeout(() => {\r\n // this.prepareRequest(cardId, index)\r\n // }, 100)\r\n }\r\n //Prepare request and call api\r\n prepareRequest(cardId, index) {\r\n mainObj = {\r\n restaurantId: 147,\r\n customerId: customerId,\r\n languageId: this.state.languageType,\r\n locationId: JSON.parse(JSON.stringify(Constant.LOCATIONOBJECT)).locationId,\r\n CardId: cardId,\r\n }\r\n\r\n // setTimeout(() => {\r\n // console.log(\"call card delete api :\")\r\n // this.props.cardDeleteApi(mainObj).then(() => {\r\n // if (this.props.data.status == 1) {\r\n // const list = this.state.cardArray;\r\n // list.splice(index, 1);\r\n // if (list != null && list.length > 0) {\r\n // this.setState({ cardArray: list })\r\n // }\r\n // else {\r\n // this.setState({ cardArray: [], errorMessage: Strings.error_msg_no_card_react })\r\n // }\r\n // }\r\n // else {\r\n // alert(this.props.error)\r\n // }\r\n // })\r\n // }, 500);\r\n }\r\n\r\n //Handle change language click event\r\n //English language type: 1\r\n //Spanish language type: 2\r\n languageChangeClickEvent = (type) => {\r\n console.log(\"my order page language type :\" + type);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, type)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, type)\r\n this.setState({ languageType: type })\r\n setTimeout(() => {\r\n this.props.AppMessageApi(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var messageListArray = this.props.data.result;\r\n if (messageListArray != null && messageListArray.length > 0) {\r\n console.log(\"message list :\" + JSON.stringify(messageListArray))\r\n // localStorage.setItem(Constant.PRE_MESSAGE_LIST, JSON.stringify(messageListArray));\r\n setSecureData(Constant.PRE_MESSAGE_LIST,messageListArray);\r\n // let localMessage = JSON.parse(localStorage.getItem(Constant.PRE_MESSAGE_LIST));\r\n let localMessage = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n // let languageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let languageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n if (languageType == 1) { //English language type: 1\r\n Strings.setLanguage('en');//Setting selected language code here\r\n this.setState({ languageType: languageType,languageTypeCode:\"en-GB\"})\r\n }\r\n else {\r\n Strings.setLanguage('es'); //Setting selected language code here\r\n this.setState({ languageType: languageType,languageTypeCode:\"es\"})\r\n }\r\n console.log('language type :' + languageType);\r\n Strings.setContent(localMessage)\r\n // this.setState({ languageType: languageType });\r\n window.location.reload(false);\r\n // setTimeout(() => {\r\n // this.callCardListApi()\r\n // }, 500)\r\n }\r\n } else {\r\n alert(this.props.error)\r\n }\r\n })\r\n }, 700)\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.props.isLoading ?
    \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

    {Strings.card_details_web}

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.setCardListView()\r\n }\r\n
    {Strings.CardNumber_web}{Strings.card_brand_web}{Strings.card_type_web}{Strings.card_cat_web}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n )\r\n }\r\n\r\n //Setting user card listing\r\n setCardListView() {\r\n if (this.state.cardArray != null && this.state.cardArray.length > 0) {\r\n {\r\n return (\r\n this.state.cardArray.map((item, index) => (\r\n \r\n \r\n {item.cardNo.length > 0 ? item.cardNo : null}\r\n {item.cardBrand.length > 0 ? item.cardBrand : null}\r\n {item.cardType.length > 0 ? item.cardType : null}\r\n {item.cardCategory.length > 0 ? item.cardCategory : null}\r\n\r\n \r\n {\r\n // localStorage.setItem(baseConstants.PRE_CARD_LIST, JSON.stringify(item))\r\n setSecureData(Constant.PRE_CARD_LIST, item)\r\n this.props.history.push({ pathname: '/CardDetails' })\r\n }}\r\n className=\"btn btn-primary btn-small order-btn\">{Strings.view_card_details_web}\r\n {Strings.delete_card_details_web}\r\n \r\n \r\n \r\n ))\r\n )\r\n }\r\n }\r\n else {\r\n return (\r\n \r\n \r\n

    {this.state.errorMessage}

    \r\n \r\n \r\n )\r\n }\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n console.log('isLoaging Order ------- ' + state.HGReducers.isLoading);\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error\r\n }\r\n}\r\nconst mapDispatchToProps = dispatch => ({\r\n getCardListApi: (customerId, languageType) => dispatch(HGActions.callGetCardListApi(customerId, languageType)),\r\n cardDeleteApi: (mainObj) => dispatch(HGActions.callCardDeleteApi(mainObj)),\r\n AppMessageApi: (languageType) => dispatch(HGActions.GetAppMessageListApi(languageType)),\r\n\r\n})\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CardListing);\r\n\r\n\r\n","import React, { Component } from 'react';\r\n\r\nimport GoogleLogin from 'react-google-login';\r\nimport FacebookLogin from 'react-facebook-login/dist/facebook-login-render-props';\r\nimport { connect } from 'react-redux';\r\nimport * as HGActions from '../Redux/actions/HGActions';\r\nimport { Strings } from '../constants/Localization';\r\nimport FooterMenu from '../Components/FooterMenu';\r\nimport Constant from '../constants/baseConstants';\r\nimport HeaderWhiteMenuHalf from '../Components/HeaderWhiteMenuHalf';\r\nimport baseConstants from '../constants/baseConstants';\r\nimport AOS from 'aos';\r\nimport 'aos/dist/aos.css';\r\nimport {setSecureData, getSecureData} from '../Utils/utils';\r\n\r\nconst validEmailRegex = RegExp(/^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i);\r\n\r\nvar mainObj;\r\nvar cardItem;\r\nclass CardDetails extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n // cardItem = localStorage.getItem(baseConstants.PRE_CARD_LIST);\r\n cardItem = getSecureData(baseConstants.PRE_CARD_LIST);\r\n // cardItem = JSON.parse(cardItem);\r\n if (cardItem != null) {\r\n console.log(\"cardItem :\" + JSON.stringify(cardItem))\r\n }\r\n this.state = {\r\n customerId: 0,\r\n name: '',\r\n CardId: 0,\r\n cardNumber: '',\r\n cardBrand: '',\r\n cardType: '',\r\n cardCategory: '',\r\n countryCode: '+44',\r\n phoneNumber: '',\r\n email: '',\r\n comment: '',\r\n languageType: 1, //default language type\r\n errors: {\r\n categoryError: '',\r\n },\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n //Init animation duration\r\n AOS.init({\r\n duration: 1000\r\n })\r\n\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // get the key's value from localStorage\r\n // let userObject = localStorage.getItem(Constant.USEROBJECT);\r\n let userObject = getSecureData(Constant.USEROBJECT);\r\n \r\n if (userObject == null) {\r\n this.props.history.push({ pathname: '/' })\r\n return\r\n }\r\n if (userObject !== null) {\r\n // userObject = JSON.parse(userObject);\r\n this.setState({\r\n customerId: userObject.customerId\r\n })\r\n if (cardItem != null) {\r\n this.setState({\r\n CardId: cardItem.CardId, cardNumber: cardItem.cardNo, cardBrand: cardItem.cardBrand,\r\n cardType: cardItem.cardType, cardCategory: cardItem.cardCategory\r\n })\r\n }\r\n }\r\n } else {\r\n this.props.history.push({ pathname: '/' })\r\n return\r\n }\r\n\r\n //Get messagelist from localstorage\r\n // let session = localStorage.getItem(Constant.PRE_MESSAGE_LIST);\r\n // let mLanguageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let session = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n let mLanguageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage('en'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n }\r\n else {\r\n if (mLanguageType != null) {\r\n Strings.setLanguage('es'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n }\r\n }\r\n }\r\n else {\r\n Strings.setLanguage('en');//Setting default language code here\r\n }\r\n }\r\n\r\n\r\n //Handle change language click event\r\n //English language type: 1\r\n //Spanish language type: 2\r\n languageChangeClickEvent = (type) => {\r\n console.log(\"user feedback page language type :\" + type);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, type)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, type)\r\n this.setState({ languageType: type })\r\n setTimeout(() => {\r\n this.props.AppMessageApi(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var messageListArray = this.props.data.result;\r\n if (messageListArray != null && messageListArray.length > 0) {\r\n console.log(\"message list :\" + JSON.stringify(messageListArray))\r\n // localStorage.setItem(Constant.PRE_MESSAGE_LIST, JSON.stringify(messageListArray));\r\n setSecureData(Constant.PRE_MESSAGE_LIST, messageListArray);\r\n // let localMessage = JSON.parse(localStorage.getItem(Constant.PRE_MESSAGE_LIST));\r\n let localMessage = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n // let languageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let languageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n console.log('language type :' + languageType);\r\n if (languageType == 1) { //English language type: 1\r\n Strings.setLanguage('en');//Setting selected language code here\r\n this.setState({ languageType: languageType,languageTypeCode:\"en-GB\"})\r\n }\r\n else {\r\n Strings.setLanguage('es'); //Setting selected language code here\r\n this.setState({ languageType: languageType,languageTypeCode:\"es\"})\r\n }\r\n Strings.setContent(localMessage)\r\n // this.setState({ languageType: languageType })\r\n window.location.reload(false);\r\n }\r\n } else {\r\n alert(this.props.error)\r\n }\r\n })\r\n }, 700)\r\n }\r\n\r\n //Handle validation message\r\n isValidate = (event) => {\r\n event.preventDefault();\r\n var mCageoryError = this.state.cardCategory.length == 0 ? Strings.msg_card_type_category_react : '';\r\n this.setState({ errors: { categoryError: mCageoryError } })\r\n setTimeout(() => {\r\n if (this.state.errors.categoryError == '') {\r\n {\r\n this.prepareRequest()\r\n }\r\n }\r\n }, 100)\r\n }\r\n //Prepare request and call card details api\r\n prepareRequest() {\r\n mainObj = {\r\n restaurantId: 147,\r\n customerId: this.state.customerId,\r\n languageId: this.state.languageType,\r\n // locationId: JSON.parse(localStorage.getItem(Constant.LOCATIONOBJECT)).locationId,\r\n locationId:getSecureData(Constant.LOCATIONOBJECT).locationId,\r\n cardCategory: this.state.cardCategory,\r\n CardId: cardItem.CardId,\r\n cardBrand: this.state.cardBrand,\r\n cardType: this.state.cardType\r\n }\r\n\r\n setTimeout(() => {\r\n this.props.cardDetailsApi(mainObj).then(() => {\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n setTimeout(() => {\r\n alert(this.props.data.message)\r\n // this.props.history.push({ pathname: '/CardListing' })\r\n this.props.history.push({ pathname: '/MyAccount' })\r\n }, 100)\r\n }\r\n } else {\r\n alert(this.props.error)\r\n }\r\n })\r\n }, 200)\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.props.isLoading ?
    \r\n
    \r\n
    :
    \r\n
    \r\n
    }\r\n \r\n\r\n {/*

    {this.props.match.params.id}

    */}\r\n
    \r\n
    \r\n
    \r\n

    {Strings.card_details_web}

    \r\n
    \r\n
    \r\n
    \r\n \r\n this.setState({ cardNumber: e.target.value })} tabIndex=\"1\" />\r\n {/*
    \r\n {this.state.errors.nameError}\r\n
    */}\r\n
    \r\n
    \r\n \r\n this.setState({ cardType: e.target.value })} tabIndex=\"2\" />\r\n {/*
    \r\n {this.state.errors.emailError}\r\n
    */}\r\n
    \r\n
    \r\n \r\n this.setState({ cardBrand: e.target.value })} tabIndex=\"3\" />\r\n {/*
    \r\n {this.state.errors.countryCodeError}\r\n {this.state.errors.phoneNumberError}\r\n
    */}\r\n
    \r\n
    \r\n \r\n this.setState({ cardCategory: e.target.value })} tabIndex=\"4\" />\r\n
    \r\n {this.state.errors.categoryError}\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\nfunction mapStateToProps(state) {\r\n console.log('isLoaging SignUp ------- ' + state.HGReducers.isLoading);\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n cardDetailsApi: (mainObj) => dispatch(HGActions.AddCardDetailsApi(mainObj)),\r\n AppMessageApi: (languageType) => dispatch(HGActions.GetAppMessageListApi(languageType)),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CardDetails);","import React, { Component } from 'react';\r\nimport { Route, NavLink, BrowserRouter as Router, Switch, Link, history } from \"react-router-dom\";\r\nimport { connect } from 'react-redux';\r\nimport * as HGActions from '../Redux/actions/HGActions';\r\nimport { Strings } from '../constants/Localization';\r\nimport FooterMenu from '../Components/FooterMenu';\r\nimport Constant from '../constants/baseConstants';\r\nimport baseConstants from '../constants/baseConstants';\r\nimport HeaderWhiteMenu from '../Components/HeaderWhiteMenu';\r\nimport {setSecureData, getSecureData} from '../Utils/utils';\r\n\r\nimport AOS from 'aos';\r\nimport 'aos/dist/aos.css';\r\n\r\n\r\nclass WaiterListing extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.state = {\r\n waiterArray: [],\r\n errorMessage: '',\r\n languageType: 1, //default language type\r\n\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n //Init animation duration\r\n AOS.init({\r\n duration: 1000\r\n })\r\n\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // let userObject = localStorage.getItem(Constants.USEROBJECT);\r\n let userObject = getSecureData(Constant.USEROBJECT);\r\n if (userObject == null) {\r\n this.props.history.push({ pathname: '/' })\r\n return\r\n }\r\n }\r\n else {\r\n this.props.history.push({ pathname: '/' })\r\n return\r\n }\r\n\r\n //Get messagelist from localstorage\r\n // let session = localStorage.getItem(Constant.PRE_MESSAGE_LIST);\r\n // let mLanguageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let session = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n let mLanguageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage('en'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n }\r\n else {\r\n if (mLanguageType != null) {\r\n Strings.setLanguage('es'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n }\r\n }\r\n }\r\n else {\r\n Strings.setLanguage('en');//Setting default language code here\r\n }\r\n\r\n setTimeout(() => {\r\n this.fetchWaiterList()\r\n }, 500);\r\n }\r\n\r\n fetchWaiterList() {\r\n console.log(\"call waiter list api :\")\r\n this.props.callWaiterListApi(this.state.languageType).then((response) => {\r\n\r\n console.log('waiter response --------- ',this.props.data,response)\r\n\r\n if (this.props.data.status == 1) {\r\n var waiterList = this.props.data.result;\r\n if (waiterList != null && waiterList.length > 0) {\r\n this.setState({ waiterArray: waiterList })\r\n }\r\n else {\r\n this.setState({ waiterArray: [], errorMessage: Strings.lbl_no_waiter_react })\r\n }\r\n }\r\n else {\r\n this.setState({ waiterArray: [], errorMessage: this.props.data.message })\r\n }\r\n })\r\n .catch((err) => {\r\n console.log('errro ', err)\r\n })\r\n }\r\n\r\n //Handle change language click event\r\n //English language type: 1\r\n //Spanish language type: 2\r\n languageChangeClickEvent = (type) => {\r\n console.log(\"my order page language type :\" + type);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, type)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, type)\r\n this.setState({ languageType: type })\r\n setTimeout(() => {\r\n this.props.AppMessageApi(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var messageListArray = this.props.data.result;\r\n if (messageListArray != null && messageListArray.length > 0) {\r\n console.log(\"message list :\" + JSON.stringify(messageListArray))\r\n // localStorage.setItem(Constant.PRE_MESSAGE_LIST, JSON.stringify(messageListArray));\r\n setSecureData(Constant.PRE_MESSAGE_LIST, messageListArray);\r\n // let localMessage = JSON.parse(localStorage.getItem(Constant.PRE_MESSAGE_LIST));\r\n let localMessage = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n // let languageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let languageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n if (languageType == 1) { //English language type: 1\r\n Strings.setLanguage('en');//Setting selected language code here\r\n this.setState({ languageType: languageType,languageTypeCode:\"en-GB\"})\r\n }\r\n else {\r\n Strings.setLanguage('es'); //Setting selected language code here\r\n this.setState({ languageType: languageType,languageTypeCode:\"es\"})\r\n }\r\n console.log('language type :' + languageType);\r\n Strings.setContent(localMessage)\r\n // this.setState({ languageType: languageType });\r\n window.location.reload(false);\r\n }\r\n } else {\r\n alert(this.props.error)\r\n }\r\n })\r\n }, 700)\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.props.isLoading ?
    \r\n
    \r\n
    :
    \r\n
    \r\n
    }\r\n\r\n {this.fetchWaiterList()}}/>\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {Strings.lbl_waiter_title_react}

    \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n {\r\n this.setWaiterListView()\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 //This method use bind waiter list\r\n setWaiterListView() {\r\n if (this.state.waiterArray != null && this.state.waiterArray.length > 0) {\r\n {\r\n return (\r\n this.state.waiterArray.map((item, index) => (\r\n
    {\r\n // localStorage.setItem(baseConstants.PRE_WAITER_ITEM, JSON.stringify(item))\r\n setSecureData(baseConstants.PRE_WAITER_ITEM, item)\r\n this.props.history.push({ pathname: '/WaiterDetails' })\r\n }}\r\n class=\"col-lg-3 col-md-3 waiter-single all-product\" key={index}>\r\n
    \r\n \r\n\r\n
    \r\n

    {item.waiterName != null && item.waiterName.length > 0 ? item.waiterName : null}

    \r\n {/*

    {item.averageRating > 0 ? item.averageRating + \" \" + \"/\" + \"5.0\" : null}

    */}\r\n
    \r\n
    \r\n
    \r\n ))\r\n )\r\n }\r\n }\r\n else {\r\n return (\r\n
    \r\n

    {this.state.errorMessage}

    \r\n
    \r\n )\r\n }\r\n }\r\n}\r\nfunction mapStateToProps(state) {\r\n return {\r\n isLoading: state.HGReducers.isLoading,\r\n data: state.HGReducers.data,\r\n error: state.HGReducers.error\r\n }\r\n}\r\nconst mapDispatchToProps = dispatch => ({\r\n callWaiterListApi: (languageType) => dispatch(HGActions.callGetWaiterListApi(languageType)),\r\n AppMessageApi: (languageType) => dispatch(HGActions.GetAppMessageListApi(languageType)),\r\n})\r\nexport default connect(mapStateToProps, mapDispatchToProps)(WaiterListing);\r\n\r\n","import React, { Component } from 'react';\r\n\r\nimport GoogleLogin from 'react-google-login';\r\nimport FacebookLogin from 'react-facebook-login/dist/facebook-login-render-props';\r\nimport { connect } from 'react-redux';\r\nimport * as HGActions from '../Redux/actions/HGActions';\r\nimport { Strings } from '../constants/Localization';\r\nimport FooterMenu from '../Components/FooterMenu';\r\nimport Constant from '../constants/baseConstants';\r\nimport HeaderWhiteMenu from '../Components/HeaderWhiteMenu';\r\nimport AOS from 'aos';\r\nimport 'aos/dist/aos.css';\r\nimport baseConstants from '../constants/baseConstants';\r\nimport {setSecureData, getSecureData} from '../Utils/utils';\r\nconst validEmailRegex = RegExp(/^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i);\r\n\r\nvar mainObj;\r\nvar waiterItem;\r\n\r\nclass WaiterDetails extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n // waiterItem = localStorage.getItem(baseConstants.PRE_WAITER_ITEM);\r\n waiterItem = getSecureData(baseConstants.PRE_WAITER_ITEM);\r\n if (waiterItem != null) {\r\n // waiterItem = JSON.parse(waiterItem);\r\n console.log(\"waiterItem :\" + JSON.stringify(waiterItem))\r\n }\r\n this.state = {\r\n customerId: 0,\r\n comment: '',\r\n waiterId: 0,\r\n waiterImage: '',\r\n ratingValue: 0,\r\n selectIndex: -1,\r\n languageType: 1, //default language type\r\n ratingArray: [{\r\n imagePath: 'images/1b.png',\r\n defaultRating: 1,\r\n isSelected: false,\r\n },\r\n {\r\n imagePath: 'images/2b.png',\r\n defaultRating: 2,\r\n isSelected: false,\r\n },\r\n {\r\n imagePath: 'images/3b.png',\r\n defaultRating: 3,\r\n isSelected: false,\r\n },\r\n {\r\n imagePath: 'images/4b.png',\r\n defaultRating: 4,\r\n isSelected: false,\r\n },\r\n {\r\n imagePath: 'images/5b.png',\r\n defaultRating: 5,\r\n isSelected: false,\r\n }],\r\n\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n //Init animation duration\r\n AOS.init({\r\n duration: 1000\r\n })\r\n if (localStorage.hasOwnProperty(Constant.USEROBJECT)) {\r\n // get the key's value from localStorage\r\n // let userObject = localStorage.getItem(Constant.USEROBJECT);\r\n let userObject = getSecureData(Constant.USEROBJECT);\r\n console.log('userObject=' + userObject);\r\n if (userObject == null) {\r\n this.props.history.push({ pathname: '/' })\r\n return\r\n }\r\n if (userObject !== null) {\r\n // userObject = JSON.parse(userObject);\r\n this.setState({ waiterId: waiterItem.waiterId, waiterImage: waiterItem.thumbimgurl, customerId: userObject.customerId })\r\n }\r\n } else {\r\n this.props.history.push({ pathname: '/' })\r\n return\r\n }\r\n\r\n //Get messagelist from localstorage\r\n // let session = localStorage.getItem(Constant.PRE_MESSAGE_LIST);\r\n let session = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n // let mLanguageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let mLanguageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n console.log(\"default lanague type :\" + mLanguageType);\r\n if (session != null && session.length > 0) {\r\n // session = JSON.parse(session);\r\n if (mLanguageType != null && mLanguageType == 1) {\r\n Strings.setLanguage('en'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n }\r\n else {\r\n if (mLanguageType != null) {\r\n Strings.setLanguage('es'); //Setting selected language code here\r\n this.setState({ languageType: mLanguageType })\r\n }\r\n }\r\n }\r\n else {\r\n Strings.setLanguage('en');//Setting default language code here\r\n }\r\n }\r\n\r\n\r\n //Handle change language click event\r\n //English language type: 1\r\n //Spanish language type: 2\r\n languageChangeClickEvent = (type) => {\r\n console.log(\"my order page language type :\" + type);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, type)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, type)\r\n this.setState({ languageType: type })\r\n setTimeout(() => {\r\n this.props.AppMessageApi(this.state.languageType).then(() => {\r\n if (this.props.data.status == 1) {\r\n var messageListArray = this.props.data.result;\r\n if (messageListArray != null && messageListArray.length > 0) {\r\n console.log(\"message list :\" + JSON.stringify(messageListArray))\r\n // localStorage.setItem(Constant.PRE_MESSAGE_LIST, JSON.stringify(messageListArray));\r\n setSecureData(Constant.PRE_MESSAGE_LIST, messageListArray);\r\n // let localMessage = JSON.parse(localStorage.getItem(Constant.PRE_MESSAGE_LIST));\r\n let localMessage = getSecureData(Constant.PRE_MESSAGE_LIST);\r\n // localStorage.setItem(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n setSecureData(Constant.PRE_LANGUAGE_TYPE, this.state.languageType)\r\n // let languageType = localStorage.getItem(Constant.PRE_LANGUAGE_TYPE);\r\n let languageType = getSecureData(Constant.PRE_LANGUAGE_TYPE);\r\n if (languageType == 1) { //English language type: 1\r\n Strings.setLanguage('en');//Setting selected language code here\r\n this.setState({ languageType: languageType,languageTypeCode:\"en-GB\"})\r\n }\r\n else {\r\n Strings.setLanguage('es'); //Setting selected language code here\r\n this.setState({ languageType: languageType,languageTypeCode:\"es\"})\r\n }\r\n console.log('language type :' + languageType);\r\n Strings.setContent(localMessage)\r\n // this.setState({ languageType: languageType });\r\n window.location.reload(false);\r\n }\r\n } else {\r\n alert(this.props.error)\r\n }\r\n })\r\n }, 700)\r\n }\r\n\r\n //Handle validation message and call add rating api\r\n isValidate = (event) => {\r\n event.preventDefault();\r\n // var ratingErrors = this.state.selectValue.length == 1 ? Strings.select_rating_react : 0;\r\n // this.setState({ errors: { ratingError: ratingErrors } })\r\n setTimeout(() => {\r\n if (this.state.selectIndex == -1) {\r\n alert(Strings.select_rating_react)\r\n }\r\n else {\r\n this.prepareRequest()\r\n }\r\n }, 100)\r\n }\r\n\r\n //Call user add rating api\r\n prepareRequest() {\r\n mainObj = {\r\n restaurantId: 147,\r\n waiterId: this.state.waiterId,\r\n customerId: this.state.customerId,\r\n rating: this.state.ratingValue,\r\n comment: this.state.comment,\r\n // locationId: JSON.parse(localStorage.getItem(Constant.LOCATIONOBJECT)).locationId,\r\n locationId: getSecureData(Constant.LOCATIONOBJECT).locationId,\r\n languageId: this.state.languageType,\r\n }\r\n\r\n setTimeout(() => {\r\n this.props.waiterDetailApi(mainObj).then(() => {\r\n if (this.props.data.status == 1) {\r\n if (this.props.data.result != null) {\r\n setTimeout(() => {\r\n let result = this.props.data.result;\r\n if (result != null) {\r\n alert(result.message)\r\n this.props.history.push({ pathname: '/WaiterListing' })\r\n }\r\n }, 100)\r\n }\r\n } else {\r\n alert(this.props.error)\r\n }\r\n })\r\n }, 100)\r\n }\r\n\r\n //bind rating bar view\r\n renderRatingBar() {\r\n return (\r\n this.state.ratingArray.map((item, index) => (\r\n
    { this.itemClickEvent(index, item) }} class=\"smiles-s\">\r\n {\r\n this.itemViewRender(item, index)\r\n }\r\n
    \r\n ))\r\n )\r\n }\r\n\r\n //Handle rating bar click event\r\n itemClickEvent(index, object) {\r\n var tempArray = [];\r\n for (let k = 0; k < this.state.ratingArray.length; k++) {\r\n var item = this.state.ratingArray[k];\r\n if (k == index) {\r\n item.isSelected = true\r\n }\r\n else {\r\n item.isSelected = false\r\n }\r\n tempArray.push(item);\r\n }\r\n this.setState({ selectIndex: index, ratingArray: tempArray, ratingValue: object.defaultRating })\r\n }\r\n\r\n //Bind select and unselect image\r\n itemViewRender(item, index) {\r\n console.log(\"index :\" + index);\r\n switch (index) {\r\n case 0:\r\n if (item.isSelected) {\r\n return (\r\n \"\"\r\n )\r\n }\r\n else {\r\n return (\r\n \"\"\r\n )\r\n }\r\n break\r\n case 1:\r\n if (item.isSelected) {\r\n return (\r\n \"\"\r\n )\r\n }\r\n else {\r\n return (\r\n \"\"\r\n )\r\n }\r\n break\r\n case 2:\r\n if (item.isSelected) {\r\n return (\r\n \"\"\r\n )\r\n }\r\n else {\r\n return (\r\n \"\"\r\n )\r\n }\r\n break\r\n case 3:\r\n if (item.isSelected) {\r\n return (\r\n \"\"\r\n )\r\n }\r\n else {\r\n return (\r\n \"\"\r\n )\r\n }\r\n break\r\n case 4:\r\n if (item.isSelected) {\r\n return (\r\n \"\"\r\n )\r\n }\r\n else {\r\n return (\r\n \"\"\r\n )\r\n }\r\n break\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.props.isLoading ?
    \r\n
    \r\n
    :
    \r\n
    \r\n
    }\r\n \r\n\r\n {/*

    {this.props.match.params.id}

    */}\r\n
    \r\n
    \r\n {/* data-aos='fade-up' */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n {\r\n this.renderRatingBar()\r\n }\r\n
    \r\n\r\n \r\n