{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///node_modules/@ionic/core/dist/esm lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/app.component.html","webpack:///src/app/component/dynamic-form/dynamic-form.component.html","webpack:///src/app/component/dynamic-options/dynamic-options.component.html","webpack:///src/app/component/footer/footer.component.html","webpack:///src/app/component/item-count/item-count.component.html","webpack:///src/app/component/pay-square/pay-square.component.html","webpack:///src/app/component/register-sign-in/register-sign-in.component.html","webpack:///src/app/component/register/register.component.html","webpack:///src/app/component/registration-form/registration-form.component.html","webpack:///src/app/component/right-panel/right-panel.component.html","webpack:///src/app/component/user-info/user-info.component.html","webpack:///src/app/page/customise/customise.page.html","webpack:///src/app/page/rewards/rewards.page.html","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.scss","webpack:///src/app/app.component.ts","webpack:///src/app/app.module.ts","webpack:///src/app/component/component.module.ts","webpack:///src/app/component/dynamic-form/dynamic-form.component.scss","webpack:///src/app/component/dynamic-form/dynamic-form.component.ts","webpack:///src/app/component/dynamic-options/dynamic-options.component.scss","webpack:///src/app/component/dynamic-options/dynamic-options.component.ts","webpack:///src/app/component/footer/footer.component.scss","webpack:///src/app/component/footer/footer.component.ts","webpack:///src/app/component/item-count/item-count.component.scss","webpack:///src/app/component/item-count/item-count.component.ts","webpack:///src/app/component/pay-square/pay-square.component.scss","webpack:///src/app/component/pay-square/pay-square.component.ts","webpack:///src/app/component/register-sign-in/register-sign-in.component.scss","webpack:///src/app/component/register-sign-in/register-sign-in.component.ts","webpack:///src/app/component/register/register.component.scss","webpack:///src/app/component/register/register.component.ts","webpack:///src/app/component/registration-form/registration-form.component.scss","webpack:///src/app/component/registration-form/registration-form.component.ts","webpack:///src/app/component/right-panel/right-panel.component.scss","webpack:///src/app/component/right-panel/right-panel.component.ts","webpack:///src/app/component/user-info/user-info.component.scss","webpack:///src/app/component/user-info/user-info.component.ts","webpack:///src/app/directive/Validator/phone-number.directive.ts","webpack:///src/app/directive/Validator/phone.directive.ts","webpack:///src/app/directive/directive.module.ts","webpack:///src/app/directive/evoke-button.directive.ts","webpack:///src/app/directive/fontweight-change.directive.ts","webpack:///src/app/directive/parallex-header.directive.ts","webpack:///src/app/directive/tooltip.directive.ts","webpack:///src/app/material.module.ts","webpack:///src/app/page/customise/customise.page.scss","webpack:///src/app/page/customise/customise.page.ts","webpack:///src/app/page/rewards/rewards.page.scss","webpack:///src/app/page/rewards/rewards.page.ts","webpack:///src/app/service/auth.service.ts","webpack:///src/app/service/config.service.ts","webpack:///src/app/service/interceptor.service.ts","webpack:///src/app/service/options.service.ts","webpack:///src/app/service/resturant-api.service.ts","webpack:///src/app/service/square-util.service.ts","webpack:///src/app/service/subject-collection.service.ts","webpack:///src/app/service/utility.service.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","map","webpackAsyncContext","__webpack_require__","o","ids","all","slice","webpackAsyncContextKeys","Object","webpackContext","webpackContextResolve","webpackContextKeys","routes","path","redirectTo","pathMatch","loadChildren","m","CustomisePageModule","SidePanelMenuPageModule","GetItemsPageModule","ItemSelectedPageModule","GainCredentialsPageModule","ResetPasswordPageModule","NotFoundPageModule","RewardsPageModule","AppRoutingModule","imports","forRoot","preloadingStrategy","AppComponent","auth","util","platform","splashScreen","statusBar","menuCtrl","subject_service","geolocation","dialog","navCtrl","overlayContainer","modalController","loc","router","loadingCtrl","localStorage","getItem","user_info","JSON","parse","squareLoyaltyId","logout","window","onpopstate","event","events","pipe","navigationTrigger","subscribe","x","getCurrentNavigation","extras","state","restoredState","navigationId","payment_form","initializeApp","text_on_slider","data","init","location","element","viewChanged","onPageActivated","getTop","topLoader","getAttribute","dismiss","onSetTheme","theme","getContainerElement","classList","add","componentCssClass","getTheme","ev","checked","getThemeToBeApplied","ngOnInit","vm","firebaseConfig","subscibeToThemeApplied","openCart","open","ready","is","backButton","backgroundColorByHexString","hide","toggleMenu","toggle","loginButtonPressed","getFormModalTypeToBeOpened","moveToMenuPage","navigateForward","moveToFindAStorePage","registerButtonPressed","presentLoading","logOut","key","removeItem","dismissPopover","dismissLoader","error","regiaterButton","dialogRef","form_name","afterClosed","result","moveToCateringPage","loginOrRegistrationButtonClicked","create","component","cssClass","componentProps","modal","present","selector","template","moment","MY_FORMATS","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","AppModule","declarations","entryComponents","providers","provide","useClass","multi","useValue","autoLogin","PROVIDER_ID","provider","deps","bootstrap","ComponentsModule","CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR","useExisting","DynamicFormComponent","qcs","questions","options","present_as","selected_complete_customisation","options_already_selected","disable_add_to_cart","form_values","customise_variation_name","optionSelectedMain","optionSelectedSide","payLoad","initialized","valueSelectedByRadioButton","load","onProfileChange","selectedItemId","target","form","value","obj","valueChanged","setValue","tempStoredItem","setItem","emit","stringify","getRawValue","form_value_for_color_selection","valueChanges","t","propName","hasOwnProperty","propValue","push","selection_count","length","less_than_required","warning_message","r","name","amount","label","controlType","selectionType","selected","includes","customizationOptionVariations","soldout","soldOut","toFormGroup","v","i","catalog_id","onSubmit","ngOnChanges","calculate_warning","setTimeout","radioDefaultSelected","val","multipleSelect","value_inside_selection","id_value","selectDefaultValue","index_value","split","dropDownValueSelected","index","question","ngAfterViewInit","j","DynamicOptionsComponent","form_value","customisation_with_variation","controls","valid","changeColorRadio","checkBoxDefault","changeTheColor","FooterComponent","menu","current_value_for_segment","footer_value","getElement","min_date","max_date","Sat_Mindate","Sat_Maxdate","Sun_Mindate","Sun_Maxdate","time24To12","a","Date","toLocaleTimeString","timeZone","hour12","hour","minute","time","segmentChangedww","segmentChanged","detail","navigateRoot","ItemCountComponent","count_changed","addedValue","count","toString","subtractedValue","count_for","PaySquareComponent","alertController","resturant_service","rewards","payment_status","back_to_menu","loadExternalScript","url","body","document","script","createElement","innerHTML","src","async","defer","appendChild","getLoyaltyPrograms","customer_id","squareCustomerid","getLoyaltyAccount","newCard","account_info","onGetCardNonce","subtotal","header","message","buttons","text","role","handler","blah","alert","min_value","reward_tiers","points","balance","preventDefault","card1","tokenize","status","abc","details","payment_nonce","token","rewards_programs","onDidDismiss","collected_value","reward_tier_id","do_payment","openMenu","nonce","guestUserInfo","guest_user_result","prepareFulfilment_ready_to_hit","fulfilment_result","location_id","order_id","fulfilment_data","OrderId","LocationId","SourceId","Amount","placeOrder","dataLayer","getcartReponse","getSubtotalReponse","getItemCount","getFulfilment","errorMessage","messageMatch","match","showErrorMessage","reject","date_entered","time_chosen_for_pick_up","guest_info","fulfilment_values","Type","FulfillmentState","ScheduleType","PickupAt","toISOString","Note","RecipientName","firstName","FirstName","Email","email","p","CustomerId","RewardTierId","SquareLoyaltyAccountId","Fulfillment","GuestInfo","ContactNumber","PhoneNumber","Address","ShippedAt","console","log","guest_user_info","createOrderWithoutUserInfo","data_2","guest_user_account","LastName","IsGuest","register","d","Payments","Square","payments","square_keys","squareApplicationId","darkModeCardStyle","borderColor","borderRadius","color","input","backgroundColor","fontFamily","card","attach","button","getElementById","RegisterSignInComponent","formToOpen","header_button_clicked","thanks_giving_form_display","navigationExtras","href","routeReuseStrategy","shouldReuseRoute","onSameUrlNavigation","navigate","current_resturant","RegisterComponent","onNoClick","close","signUpPageCalled","forgotPassword","loginPageCalled","MyErrorStateMatcher","isErrorState","control","isSubmitted","submitted","invalid","dirty","touched","RegistrationFormComponent","datepipe","formBuilder","authService","modalCtrl","plt","snackBar","skip","complete_menu","recent_orders","isClosed","submit_clicked","basicDemoValue","modelValueAsDate","dateTimeValue","multiDates","rangeValue","from","to","inlineDatePicker","timePicker","cart_response","cart_subtotal","FirstEdit","LastEdit","PhoneEdit","recent_order_available","recent_order_error","total_amount","parseFloat","taxAmount","Math","round","move_to_payment","open_thanks_for_signing","config","firstDayOfWeek","monthFormat","disableKeypress","allowMultiSelect","closeOnSelect","undefined","closeOnSelectDelay","onOpenDelay","weekDayFormat","appendTo","drops","opens","showNearMonthDays","showWeekNumbers","enableMonthSelector","format","yearFormat","showGoToCurrent","dayBtnFormat","monthBtnFormat","hours12Format","hours24Format","meridiemFormat","minutesFormat","minutesInterval","secondsFormat","secondsInterval","showSeconds","showTwentyFourHours","timeSeparator","multipleYearsNavigateBy","showMultipleYearsNavigation","locale","min","minTime","matcher","group","first_name","required","last_name","maxLength","phone_number","minLength","shipped_at","phone","phoneNumber","substring","user_account","lastName","forgot_password","login_form","password","register_form","phone_no","backToMenu","isNumberKey","evt","charCode","which","keyCode","backToPreviousState","updateAccount","update_result","FirstEditButtonClicked","FirstUpdateButtonClicked","FirstCancelButtonClicked","LastEditButtonClicked","LastUpdateButtonClicked","LastCancelButtonClicked","PhoneEditButtonClicked","PhoneUpdateButtonClicked","PhoneCancelButtonClicked","emailDomainValidator","indexOf","_","domain","emailDomain","parsedDomain","checkLoginState","FB","getLoginStatus","response","checkform","presentModal","warning_presence","login_warning","username","login","formDirective","resetForm","registerButtonClicked","Password","CaptchaToken","token_value","register_result","reset","openModal","dimissFormPage","forgotPasswordButtonPressed","duration","check_out_page_calling","alertMessage","paymentMade","getTimeForPickup","cart","burgerItem","forEach","filter","itemName","item_name","categoryName","schedule_type","setMinutes","getMinutes","schedule_time","latest_date","transform","setSeconds","presentAlertForPickup","Olength","cart_Cat","timing","Bf_Maxtime","Lunch_mintime","max","closed","Msg","day","day1","Day","toUpperCase","msgfor","current_period","Lunch_maxtime","prepareFulfilment","now","chosenDateTime","diffHours","diff","schedule_period","ShipmentAt","editUserInfo","user_type","guest_user_form_value","openSignUpForm","form_name_displayed","openLoginForm","openCheckOutForm","current_time","pickup_abled","targetDate","minDate","setDate","getDate","maxDate","presentEmptyBasketAlert","openForgotPassword","callPrograms","rewards_available","rewards_error","callRecentOrders","getRecentOrders","getCompleteMenuByLocation","resturant_menu","aFormGroup","recaptcha","handleError","handleSuccess","removeByAttr","arr","attr","arguments","splice","presentAlert","clean","afterGettingResponseFromOrderApiWithoutUser","data_got","subTotal","currency","tax","totalTax","orderDetails","taxes","total_money","orderDetailCustomizations","f","customizationOptionName","itemCustomizationOptionId","customizationOptionPrice","customizationOptionVariationName","uid","orderDetailTaxes","g","OrderDetailTaxId","orderDetailTaxId","variation_price","variationPrice","variation_currency","variation_name","variationName","variationId","quantity","customisation","tax_id","getWaitingForSubtotal","getWaitingForCart","replaceOrder","data_related_to_order_selescted","not_sold","isSold","order_detail","all_taxes","y","ItemCustomizationOptionId","VariationId","Quantity","OrderDetailTaxes","OrderDetailCustomizations","reduce","unique","some","all_taxes_filtered","TaxId","get_local_storage_items","item_id","remove_data","FieldsToClear","item_add_to_cart","locationId","OrderDetails","Taxes","RightPanelComponent","_snackBar","square_util","data_after_payment","states","ordered_items","all_items","_transformer","node","level","expandable","children","collect_orders","treeControl","treeFlattener","dataSource","order_content","hasChild","right_panel_title","display_order_options","subscibeToOrderTiming","navigatto_check_out_clicked","order_option","error_message","getErrorMessageOnProceedToCheckOutClicked","subscibeToScheduleTime","fulfilment_state","viewValue","subscribe_current_resturant","subscibeToCurrentResturent","new_resturant_data","subscibeToErrormessageProceedToCheckOutClicked","subscibeToProceedToCheckOutClicked","subscibeToFulfimnet","subscibeToOrderAddress","order_for","address_entered","subscibeToOrderMode","order_delivery_mode","subscibeToOrderTimeMode","order_time_mode","subscibeTolocatinItems","waiting_for_cart_response","waiting_subtotal_response","subscibeToWaitingSubtotal","isLoaded","loader_present","subscibeToWaitingAddToCart","subscibeToSubtotal","sub_total_data","subtotal_value","tax_amont","total_with_delivery_charges","delivery_charges","getTotalPayableAmount","subscibeToResponseFromCart","subscibeToLoginData","paymentForm","evokeLoader","removeCustomisation","main_product","removeItemWithoutUser","search","nameKey","myArray","trim","editContentNewWithoutUser","searched_value","edited_values","item_selected","description","other_info","image","itemImageName","editContentNew","modifier_removal","total_tax","horizontalPosition","verticalPosition","removeItemNew","createOrderApi","total","totalMoney","totalTaxMoney","lineItems","modifiers","catalogObjectId","item","title","total_cost","price","items_selected","getStateName","editContent","val_1","vegetarian","image_title","old_values","collect_values","getcartValue","new_values","subscibeToCartValue","form_type","panelClass","presentAmountAlert","presentMinimumDeliveryAlert","createUtc","offset","utc","getTime","getTimezoneOffset","nd","checkOpeningHours","current_hotel_period","end_time_split","start_time_split","end_hour","parseInt","start_hour","end_minute","start_minute","getHours","resturant_state","deliveryTime","presentAlertofClose","getOrderTimeMode","radioButtonClicked","proceedToCheckOut","data_of_order","next","getProceedToCheckOutClicked","proceedToCheckOut1","navigateToCheckOutWithoutUser","order_fulfilment_time","order_fulfilment_mode","address_of_shipment","min_delivery_amont","amount_in_basket","total_amount_obtained","navigateToCheckOut","tabNameChanged","user_info_from_local","getDataAfterPayment","UserInfoComponent","popoverController","popoverCtrl","route","params","PhoneNumberDirective","PhoneDirective","validate","c","isValidPhoneNumber","test","DirectiveModule","EvokeButtonDirective","el","onMouseEnter","highlight","show","onMouseLeave","nativeElement","style","FontweightChangeDirective","getElementsByClassName","opacity","ParallexHeaderDirective","renderer","domCtrl","headerHeight","parallaxHeight","mainContent","querySelector","write","insertBefore","firstChild","setStyle","imagePath","onContentScroll","read","translateAmt","scaleAmt","scrollTop","TooltipDirective","overlay","overlayPositionBuilder","elementRef","positionStrategy","flexibleConnectedTo","withPositions","originX","originY","overlayX","overlayY","overlayRef","gg","detach","mouseover","$event","mouseleave","modules","MaterialModule","CustomisePage","modal_controller","all_categories","menu_items","new_slider","customise_option_variation","variations_data","collect_customisation_ids","again_test_customisation","py","addToCartButton","get_consumisation_from_api","check_box_options_selected","selected_values_obtained","customisation_options","other_options","availableColors","skills","user","customisation_options_of_selected","angForm","names1","isLoading","is_loaded","setDirection","item_selected_out_of_category","todo","description_1","description_2","description_3","slider_value","get","selectVariation","money","variation_id","onFormSubmit1","addNameField","deleteNameField","removeAt","addCheck","b","findIndex","CustomizationOptionPrice","variation","CustomizationOptionVariationName","customisaion_collected","cancel","addWithoutUser","collectnewData","itemTax","presentAlertLocation","onFormSubmit","createItem","userForm","addSkill","logForm","getKeyByValue","object","object_keys","prop","gotVariationName","errorAfterOrderApi","afterGettingResponseFromOrderApi","basePriceMoney","appliedTaxes","taxUid","gotFormValues","get_selected_values","collect_names","option_array","customization","customisation_options_selection","Array","image_url_for_larger","image_url_for_larger_image","image_url_for_smaller","image_url_for_smaller_image","u","identifiers","active","next_values","option_value","addToCart","content","scrollToTop","recustomiseWithoutUser","fiels_to_clear","removed_modifier","items_to_be_added","new_data","reCustomise","navigateToSelectedCategoryItemPage","closeModel","categoryId","category_name","pop","category_id","replace","toLowerCase","item_data","menuDisplay","show_order_total","drawerMenu","all_categories_available","image_src","incomingSelectedAlert","sort","priority","last_button","associatedCategories","cart_content","sliderValueGot","sliderCount","model","closeWithSkip","decide","group_name","option_selcted","checkBoxButtonClicked","gotEveryOptionCustomisation","RewardsPage","chck","handleSelected","reward_button","add_to_cart_free_item","rewardChange","definition","catalog_object_ids","free_item_available","openHome","AuthService","http","storage","snackbar","base_url","test_url","sendAuthCredentialsToBackend","data_to_be_send","post","getLoginData","resetPassword","body_to_be_sent","responseType","observe","httpOptions","headers","getOrderAddress","getOrderTiming","getOrderMode","getLocationItems","changePassword","cancelAccount","updateProfile","set","providedIn","ConfigService","InterceptorService","intercept","request","clone","setHeaders","Accept","Authorization","handle","ErrorEvent","OptionsService","ResturantApiService","errorService","searchOrder","order_to_searched","square_customer_id","contactUs","getAllResturants","getResturantById","getCard","createCard","body_of_card","getCompleteMenu","getCategoriesOfEachResturant","resturant_id","GetCategoriesbyLoaction","getItemsForEachCategory","getCustomisationTypes","getItemById","saveFavoriteOrders","body_of_favorite","getFavorite","SquareUtilService","SubjectCollectionService","form_modal_request","user_data","cart_data","waitng_for_cart_response","waitng_for_subtotal_response","get_sub_total","order_mode","order_timing","order_timing_type","order_address","item_count","total_amount_payable","delivery_address","current_resturant_data","sign_up_sign_in_clicked","got_fulfiment","proceed_to_checkout_clicked","error_message_onproceed_to_checkout_clicked","getheaderButtonClicked","subscibeToHeaderButtonClicked","asObservable","subscibeToItemCount","subscibeToTotalAmountPayable","getCurrentResturant","geScheduleTime","subscibeToFormModalType","UtilityService","loadingController","production","spinner","loading","presentPopover1","items","translucent","popover","presentPopover","openAlertMessage","environment","squareAccessToken","script_path","Bf_Mintime","home_page","apiKey","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","measurementId","bootstrapModule","err"],"mappings":"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AlB,CAAN;;;AAGA,uBAAKC,MAAL,GAAclH,QAAQ,CAACmH,cAAT,CAAwB,gBAAxB,CAAd,C,CACF;AACA;AACA;AACA;AACA;AACE;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAGA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;;;;;;;AACD;AArqB4B;AAAA,OAA/B;;;;cAa6B;;cACZ;;cACa;;cACF;;cACZ;;cACY;;;;AAThB,8DAAT,8DAAS,G,4BAAA,E,gBAAA,E,MAAA;AACA,8DAAT,8DAAS,G,4BAAA,E,cAAA,E,MAAA;AAVC5H,sBAAkB,6DAL9B,gEAAU;AACTxI,cAAQ,EAAE,gBADD;AAETC,cAAQ,EAAR;AAAA;AAAA,mHAFS;;;;AAAA,KAAV,CAK8B,GAAlBuI,kBAAkB,CAAlB;;;;;;;;;;;;;;;;ACvBb;AAAe;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACSf,QAAa6H,uBAAuB;AAKlC,uCACSrW,IADT,EAESY,MAFT,EAEuB;AAAA;;AADd,aAAAZ,I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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./ion-action-sheet.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-action-sheet.entry.js\",\n\t\t\"common\",\n\t\t0\n\t],\n\t\"./ion-alert.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-alert.entry.js\",\n\t\t\"common\",\n\t\t1\n\t],\n\t\"./ion-app_8.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-app_8.entry.js\",\n\t\t\"common\",\n\t\t2\n\t],\n\t\"./ion-avatar_3.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-avatar_3.entry.js\",\n\t\t\"common\",\n\t\t3\n\t],\n\t\"./ion-back-button.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-back-button.entry.js\",\n\t\t\"common\",\n\t\t4\n\t],\n\t\"./ion-backdrop.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-backdrop.entry.js\",\n\t\t5\n\t],\n\t\"./ion-button_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-button_2.entry.js\",\n\t\t\"common\",\n\t\t6\n\t],\n\t\"./ion-card_5.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-card_5.entry.js\",\n\t\t\"common\",\n\t\t7\n\t],\n\t\"./ion-checkbox.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-checkbox.entry.js\",\n\t\t\"common\",\n\t\t8\n\t],\n\t\"./ion-chip.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-chip.entry.js\",\n\t\t\"common\",\n\t\t9\n\t],\n\t\"./ion-col_3.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-col_3.entry.js\",\n\t\t10\n\t],\n\t\"./ion-datetime_3.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-datetime_3.entry.js\",\n\t\t\"common\",\n\t\t11\n\t],\n\t\"./ion-fab_3.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-fab_3.entry.js\",\n\t\t\"common\",\n\t\t12\n\t],\n\t\"./ion-img.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-img.entry.js\",\n\t\t13\n\t],\n\t\"./ion-infinite-scroll_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-infinite-scroll_2.entry.js\",\n\t\t14\n\t],\n\t\"./ion-input.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-input.entry.js\",\n\t\t\"common\",\n\t\t15\n\t],\n\t\"./ion-item-option_3.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-item-option_3.entry.js\",\n\t\t\"common\",\n\t\t16\n\t],\n\t\"./ion-item_8.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-item_8.entry.js\",\n\t\t\"common\",\n\t\t17\n\t],\n\t\"./ion-loading.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-loading.entry.js\",\n\t\t\"common\",\n\t\t18\n\t],\n\t\"./ion-menu_3.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-menu_3.entry.js\",\n\t\t\"common\",\n\t\t19\n\t],\n\t\"./ion-modal.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-modal.entry.js\",\n\t\t\"common\",\n\t\t20\n\t],\n\t\"./ion-nav_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-nav_2.entry.js\",\n\t\t\"common\",\n\t\t21\n\t],\n\t\"./ion-popover.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-popover.entry.js\",\n\t\t\"common\",\n\t\t22\n\t],\n\t\"./ion-progress-bar.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-progress-bar.entry.js\",\n\t\t\"common\",\n\t\t23\n\t],\n\t\"./ion-radio_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-radio_2.entry.js\",\n\t\t\"common\",\n\t\t24\n\t],\n\t\"./ion-range.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-range.entry.js\",\n\t\t\"common\",\n\t\t25\n\t],\n\t\"./ion-refresher_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-refresher_2.entry.js\",\n\t\t\"common\",\n\t\t26\n\t],\n\t\"./ion-reorder_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-reorder_2.entry.js\",\n\t\t\"common\",\n\t\t27\n\t],\n\t\"./ion-ripple-effect.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-ripple-effect.entry.js\",\n\t\t28\n\t],\n\t\"./ion-route_4.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-route_4.entry.js\",\n\t\t\"common\",\n\t\t29\n\t],\n\t\"./ion-searchbar.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-searchbar.entry.js\",\n\t\t\"common\",\n\t\t30\n\t],\n\t\"./ion-segment_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-segment_2.entry.js\",\n\t\t\"common\",\n\t\t31\n\t],\n\t\"./ion-select_3.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-select_3.entry.js\",\n\t\t\"common\",\n\t\t32\n\t],\n\t\"./ion-slide_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-slide_2.entry.js\",\n\t\t33\n\t],\n\t\"./ion-spinner.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-spinner.entry.js\",\n\t\t\"common\",\n\t\t34\n\t],\n\t\"./ion-split-pane.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-split-pane.entry.js\",\n\t\t35\n\t],\n\t\"./ion-tab-bar_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-tab-bar_2.entry.js\",\n\t\t\"common\",\n\t\t36\n\t],\n\t\"./ion-tab_2.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-tab_2.entry.js\",\n\t\t\"common\",\n\t\t37\n\t],\n\t\"./ion-text.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-text.entry.js\",\n\t\t\"common\",\n\t\t38\n\t],\n\t\"./ion-textarea.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-textarea.entry.js\",\n\t\t\"common\",\n\t\t39\n\t],\n\t\"./ion-toast.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-toast.entry.js\",\n\t\t\"common\",\n\t\t40\n\t],\n\t\"./ion-toggle.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-toggle.entry.js\",\n\t\t\"common\",\n\t\t41\n\t],\n\t\"./ion-virtual-scroll.entry.js\": [\n\t\t\"./node_modules/@ionic/core/dist/esm/ion-virtual-scroll.entry.js\",\n\t\t42\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./node_modules/@ionic/core/dist/esm lazy recursive ^\\\\.\\\\/.*\\\\.entry\\\\.js$ include: \\\\.entry\\\\.js$ exclude: \\\\.system\\\\.entry\\\\.js$\";\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ps\": \"./node_modules/moment/locale/ar-ps.js\",\n\t\"./ar-ps.js\": \"./node_modules/moment/locale/ar-ps.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku-kmr\": \"./node_modules/moment/locale/ku-kmr.js\",\n\t\"./ku-kmr.js\": \"./node_modules/moment/locale/ku-kmr.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","export default \"\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\";","export default \"
\\r\\n
\\r\\n

Please only select {{selection_count}}

\\r\\n

Please only select {{selection_count}}

\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{opt.value}} {{opt.amount/100}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\";","export default \"\\r\\n\\t\\r\\n\\r\\n\\t\\r\\n\\t\\r\\n\\r\\n\\t\\r\\n\\t\\r\\n\\r\\n\\t\\r\\n\\r\\n\\r\\n\\r\\n\\t\\r\\n\\t\\r\\n\\t\\r\\n\\r\\n\\t\\r\\n\\t\\r\\n\\t\\r\\n\\r\\n\\r\\n\\r\\n\\t\\r\\n\\t\\t
\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
  • \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
    Min Order of $250 for delivery
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
  • \\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
  • \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
    Ph: 832.640.5236
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
  • \\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
  • \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t
    Email: sales@citadelcatering.com
    \\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
  • \\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\t\\r\\n\\t\\t\\t
@Citadel Catering. All rights reserved.
\\r\\n\\t\\t
\\r\\n\\t
\\r\\n
\";","export default \"\\r\\n
\\r\\n
-
\\r\\n   {{count}}  \\r\\n
+
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \";","export default \"\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n MAKE PAYMENT\\r\\n ADD ITEMS\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\";","export default \"
\\r\\n
\\r\\n Sign in\\r\\n Join now \\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n Enter your email\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Enter your password\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Don't have an account?

\\r\\n

OR

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n First Name\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Enter Last name\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Enter phone number\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Enter your email\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Enter password\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n I agree to terms and conditions\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Already have an account?

\\r\\n

OR

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Enter your email\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\";","export default \"\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
Forgot your Password?
\\r\\n
Enter your email address and we'll send you a link to reset your password.
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Email is required.\\r\\n
\\r\\n
\\r\\n Email is not properly formatted.\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n Request\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n

Value of the email should be checked

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Checkout
\\r\\n \\r\\n First name\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n First Name is required.\\r\\n
\\r\\n
\\r\\n \\r\\n Last name\\r\\n \\r\\n \\r\\n \\r\\n Email\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Email is required.\\r\\n
\\r\\n
\\r\\n Email is not properly formatted.\\r\\n
\\r\\n
\\r\\n \\r\\n Phone number\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Phone Number can be minimum and maximum of 10 characters long.\\r\\n
\\r\\n
\\r\\n Phone Number is required.\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Delivery Address:\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n Delivery address is required.\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Choose Date/Time:\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Delivery time and date:\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n submit\\r\\n Back to menu\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n

ORDER SUMMARY

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

{{guest_user_form_value.FirstName}} {{guest_user_form_value.LastName}}

\\r\\n

{{guest_user_form_value.Email}}

\\r\\n

{{guest_user_form_value.PhoneNumber}}

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

Delivery Time:

\\r\\n

{{schedule_time}}

\\r\\n

Delivery Location:

\\r\\n

{{guest_user_form_value.ShippedAt}}

\\r\\n \\r\\n \\r\\n
\\r\\n
Payment Method
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
Thank you!
\\r\\n
Your Order has been placed. Please check your email for confirmation. Have a great day!
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
MY ORDERS
\\r\\n
\\r\\n
\\r\\n

You have no orders

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

Error occured while retrieving your orders

\\r\\n
\\r\\n
0 && recent_order_available==false \\\">\\r\\n \\r\\n \\r\\n

{{j.updatingDate| date:'MMMM d, y, h:mm:ss a'}}

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

{{i.quantity}} X {{i.itemName}}

\\r\\n
\\r\\n {{item.customizationOptionName}}j\\\">, \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
MY REWARDS
\\r\\n
\\r\\n
\\r\\n

You have no rewards

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

Error occured while retrieving your rewards

\\r\\n
\\r\\n \\r\\n
0 && rewards_available==false \\\">\\r\\n \\r\\n

{{account_info.balance}}

\\r\\n

CROWN BALANCE



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

Rewards options

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

{{i.name}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
MY ACCOUNT
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Edit\\r\\n Update\\r\\n Cancel\\r\\n \\r\\n
\\r\\n
\\r\\n First Name is required.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Edit\\r\\n Update\\r\\n Cancel\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n BACK not TO HOME\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
Log in
\\r\\n \\r\\n Email\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Email is required.\\r\\n
\\r\\n
\\r\\n Email is not properly formatted.\\r\\n
\\r\\n
\\r\\n \\r\\n Password\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Password is required.\\r\\n
\\r\\n
\\r\\n Minimum length of password must be 6.\\r\\n
\\r\\n
\\r\\n Maximum length of password must be 15.\\r\\n
\\r\\n
\\r\\n\\r\\n
Forgot Password?
\\r\\n
\\r\\n SIGN IN\\r\\n \\r\\n   \\r\\n SIGN UP\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n Checkout as guest\\r\\n \\r\\n
Back to menu
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Delivery Address:\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n Delivery address is required.\\r\\n
\\r\\n
\\r\\n
\\r\\n
Choose Date/Time:
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Delivery time and date:\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n submit\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n

ORDER SUMMARY

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

{{user_info.firstName}} {{user_info.lastName}}

\\r\\n

{{user_info.email}}

\\r\\n

{{user_info.phoneNumber}}

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

Delivery Time:

\\r\\n

{{schedule_time}}

\\r\\n

Delivery Location:

\\r\\n

{{user_account.value.shipped_at}}

\\r\\n \\r\\n \\r\\n
\\r\\n
Payment Method
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
Thank you!
\\r\\n
Your order Placed, Thank you!
\\r\\n\\r\\n Back to Home\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Sign up for rewards
\\r\\n
\\r\\n \\r\\n First Name\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n First Name is required.\\r\\n
\\r\\n
\\r\\n \\r\\n Last Name\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Email\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Email is required.\\r\\n
\\r\\n
\\r\\n Email is not properly formatted.\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Phone Number\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Phone Number can be minimum and maximum of 10 characters long .\\r\\n
\\r\\n
\\r\\n Phone Number is required.\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Password\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Password is required.\\r\\n
\\r\\n
\\r\\n Minimum length of password must be 6.\\r\\n
\\r\\n
\\r\\n Maximum length of password must be 15.\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n Sign Up\\r\\n \\r\\n\\r\\n
Back to menu
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
Thank you for Signing up with us!
\\r\\n
A confirmation email will be sent to:
\\r\\n
{{email}}
\\r\\n
You'll be the first to know what deals are going on.
\\r\\n
\\r\\n Continue to checkout\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\";","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n {{right_panel_title}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n No Items Have Been Added To Your Cart
\\r\\n \\r\\n Total:$0.00\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
{{i.quantity}} X {{i.item_name}}
${{i.variation_price}}
\\r\\n\\r\\n
\\r\\n
\\r\\n
{{item.name}}
${{item.customizationOptionPrice}}\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n Remove \\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 ${{subtotal_value.toFixed(2)}}\\r\\n
\\r\\n
\\r\\n Taxes (8.25%) and\\r\\n
\\r\\n Delivery Charges (10%) :\\r\\n \\r\\n ${{tax_amont.toFixed(2)}}\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Total:${{total_amount.toFixed(2)}}\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n PROCEED TO CHECKOUT\\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Name: {{user_info.firstName}} {{user_info.lastName}}
\\r\\n \\r\\n
Email: {{user_info.email}}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n LOGOUT\\r\\n MY ACCOUNT\\r\\n MY 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\";","export default \"\\r\\n
\\r\\n close\\r\\n \\r\\n

WANT TO ADD ANYTHING?\\r\\n \\r\\n \\r\\n\\r\\n 0\\\" class=\\\"row-for-customisation all-options\\\" >\\r\\n \\r\\n

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

{{item.categoryName}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n SKIP\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\";","export default \"\\r\\n\\r\\n\\r\\n close\\r\\n \\r\\n

GET YOUR REWARDS!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n

{{account_info.balance}}

\\r\\n

CROWN BALANCE



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

Rewards options

\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n i.points) && (account_info.balance != i.points)\\\" type=\\\"radio\\\" id=\\\"i.id\\\" name=\\\"i.name\\\" value=\\\"i.name\\\" (change)=\\\"rewardChange($event,i.id,i.definition)\\\">\\r\\n
\\r\\n

{{i.name}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n PROCEED WITH SELECTED REWARD\\r\\n SKIP\\r\\n
\\r\\n
Back to menu
\\r\\n
\\r\\n\";","import { NgModule } from '@angular/core';\r\nimport { PreloadAllModules, RouterModule, Routes } from '@angular/router';\r\nimport { MaterialModule } from './material.module';\r\n//import { HomePage } from './home/home.page';\r\nimport { PreventNavigationService } from './service/prevent-navigation.service';\r\n\r\nconst routes: Routes = [\r\n // {\r\n // path: 'home',\r\n // loadChildren: () => import('./page/find-a-store/find-a-store.module').then( m => m.FindAStorePageModule)\r\n\r\n // // loadChildren: () => import('./home/home.module').then( m => m.HomePageModule)\r\n // },\r\n \r\n\r\n {\r\n path: '',\r\n //redirectTo: 'side-panel-menu',\r\n redirectTo: 'ordering-system',\r\n pathMatch: 'full'\r\n },\r\n // {\r\n // path: 'location',\r\n // loadChildren: () => import('./page/location/location.module').then( m => m.LocationPageModule)\r\n // },\r\n\r\n \r\n // {\r\n // path: 'first-page',\r\n // loadChildren: () => import('./page/first-page/first-page.module').then( m => m.FirstPagePageModule)\r\n // },\r\n // {\r\n // path: 'menu-page',\r\n // loadChildren: () => import('./page/menu-page/menu-page.module').then( m => m.MenuPagePageModule)\r\n // },\r\n // {\r\n // path: 'menu-shown',\r\n // loadChildren: () => import('./page/menu-shown/menu-shown.module').then( m => m.MenuShownPageModule)\r\n // },\r\n // {\r\n // path: 'find-a-store',\r\n // loadChildren: () => import('./page/find-a-store/find-a-store.module').then( m => m.FindAStorePageModule)\r\n // },\r\n // {\r\n // path: 'resturant-menu/:id',\r\n // loadChildren: () => import('./page/resturant-menu/resturant-menu.module').then( m => m.ResturantMenuPageModule)\r\n // },\r\n // {\r\n // path: 'gather-location',\r\n // loadChildren: () => import('./page/gather-location/gather-location.module').then( m => m.GatherLocationPageModule)\r\n // },\r\n // {\r\n // path: 'catering',\r\n // loadChildren: () => import('./page/catering/catering.module').then( m => m.CateringPageModule)\r\n // },\r\n \r\n // {\r\n // path: 'order',\r\n // loadChildren: () => import('./page/order/order.module').then( m => m.OrderPageModule)\r\n // },\r\n {\r\n path: 'customise',\r\n loadChildren: () => import('./page/customise/customise.module').then( m => m.CustomisePageModule)\r\n },\r\n // {\r\n // path: 'check-out',\r\n // loadChildren: () => import('./page/check-out/check-out.module').then( m => m.CheckOutPageModule),\r\n // canActivate : [PreventNavigationService]\r\n // },\r\n // {\r\n // path: 'place',\r\n // loadChildren: () => import('./page/place/place.module').then( m => m.PlacePageModule)\r\n // },\r\n {\r\n path: 'ordering-system',\r\n loadChildren: () => import('./page/side-panel-menu/side-panel-menu.module').then( m => m.SidePanelMenuPageModule)\r\n },\r\n // {\r\n // path: 'get-items/:id',\r\n // loadChildren: () => import('./page/get-items/get-items.module').then( m => m.GetItemsPageModule)\r\n // },\r\n {\r\n path: 'ordering-system/:id',\r\n loadChildren: () => import('./page/get-items/get-items.module').then( m => m.GetItemsPageModule)\r\n },\r\n {\r\n path: 'item-selected/:id',\r\n loadChildren: () => import('./page/item-selected/item-selected.module').then( m => m.ItemSelectedPageModule)\r\n },\r\n {\r\n path: 'gain-credentials/:id',\r\n loadChildren: () => import('./page/gain-credentials/gain-credentials.module').then( m => m.GainCredentialsPageModule)\r\n },\r\n // {\r\n // path: 'starting',\r\n // loadChildren: () => import('./page/starting/starting.module').then( m => m.StartingPageModule)\r\n // },\r\n {\r\n path: 'reset-password/:email/:token',\r\n loadChildren: () => import('./page/reset-password/reset-password.module').then( m => m.ResetPasswordPageModule)\r\n },\r\n {path: '404', \r\n loadChildren: () => import('./page/not-found/not-found.module').then( m => m.NotFoundPageModule)\r\n },\r\n {path: '**', redirectTo: '/404'},\r\n {\r\n path: 'rewards',\r\n loadChildren: () => import('./page/rewards/rewards.module').then( m => m.RewardsPageModule)\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n];\r\n\r\n@NgModule({\r\n\r\n imports: [\r\n RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })\r\n \r\n ],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","export default \".background {\\n --ion-background-color: white;\\n}\\n\\n.each-menu-item-css {\\n cursor: pointer;\\n font-family: \\\"MerriweatherSans-ExtraBold\\\";\\n}\\n\\n.footer-css {\\n width: 100%;\\n}\\n\\n.example-small-box, .example-large-box {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n margin: 16px;\\n padding: 16px;\\n border-radius: 8px;\\n}\\n\\n.example-small-box {\\n height: 100px;\\n width: 100px;\\n}\\n\\n.example-large-box {\\n height: 300px;\\n width: 300px;\\n}\\n\\n.not-signed-card {\\n text-align: center;\\n}\\n\\n.version-number-css {\\n margin: auto;\\n text-align: center;\\n}\\n\\n.total-card {\\n margin: 10px;\\n}\\n\\n.item-name-css {\\n font-weight: 600;\\n font-size: 17px;\\n}\\n\\n.cost-name {\\n font-weight: 600;\\n font-size: 17px;\\n color: brown;\\n font-size: 21px;\\n}\\n\\n.save-favorite-span {\\n display: inline-flex;\\n font-size: 20px;\\n}\\n\\n.favorite-chip-css {\\n float: right;\\n}\\n\\n.save-favorite-css {\\n font-size: 9px;\\n}\\n\\n.divider-css {\\n margin-top: 10px;\\n background: brown;\\n}\\n\\n.order-option-warning {\\n border: 5px solid brown;\\n margin: auto;\\n text-align: center;\\n padding: 7px;\\n margin: 17px;\\n color: brown;\\n}\\n\\n.select-css {\\n font-weight: bold;\\n font-size: 19px;\\n}\\n\\n.radio-group-css {\\n display: grid;\\n}\\n\\n.mat-dialog-container {\\n padding: 0px !important;\\n}\\n\\n.popover {\\n display: block !important;\\n}\\n\\napp-side-panel-menu.ng-star-inserted.ion-page {\\n display: contents !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvQzpcXFJvaGl0aF9Xb3JrXFxDaXRhZGVsXFxDaXRhZGVsXFx0aG54Z2l2aW5nZnJvbnRlbmRuZXdcXHRoYW5rc2dpdmluZ2Zyb250ZW5kL3NyY1xcYXBwXFxhcHAuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDZCQUFBO0FDQ0Y7O0FEQ0E7RUFDSSxlQUFBO0VBQ0EseUNBQUE7QUNFSjs7QURBQTtFQUNJLFdBQUE7QUNHSjs7QUREQTtFQUNJLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtBQ0lKOztBRERFO0VBQ0UsYUFBQTtFQUNBLFlBQUE7QUNJSjs7QURERTtFQUNFLGFBQUE7RUFDQSxZQUFBO0FDSUo7O0FERkU7RUFDSSxrQkFBQTtBQ0tOOztBREhFO0VBQ0UsWUFBQTtFQUNBLGtCQUFBO0FDTUo7O0FESkU7RUFDRSxZQUFBO0FDT0o7O0FETEU7RUFDRSxnQkFBQTtFQUNBLGVBQUE7QUNRSjs7QURMQTtFQUNJLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0FDUUo7O0FETkE7RUFDRSxvQkFBQTtFQUNBLGVBQUE7QUNTRjs7QURQQTtFQUNFLFlBQUE7QUNVRjs7QURSQTtFQUNFLGNBQUE7QUNXRjs7QURUQTtFQUNFLGdCQUFBO0VBQ0EsaUJBQUE7QUNZRjs7QURWQTtFQUNFLHVCQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0FDYUY7O0FEWEE7RUFDRSxpQkFBQTtFQUNBLGVBQUE7QUNjRjs7QURaQTtFQUNFLGFBQUE7QUNlRjs7QURiQTtFQUNFLHVCQUFBO0FDZ0JGOztBRGJBO0VBQ0UseUJBQUE7QUNnQkY7O0FEZEE7RUFDRSw0QkFBQTtBQ2lCRiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5iYWNrZ3JvdW5ke1xyXG4gIC0taW9uLWJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG59XHJcbi5lYWNoLW1lbnUtaXRlbS1jc3N7XHJcbiAgICBjdXJzb3I6cG9pbnRlcjtcclxuICAgIGZvbnQtZmFtaWx5OiAnTWVycml3ZWF0aGVyU2Fucy1FeHRyYUJvbGQnO1xyXG59XHJcbi5mb290ZXItY3Nze1xyXG4gICAgd2lkdGg6MTAwJTtcclxufVxyXG4uZXhhbXBsZS1zbWFsbC1ib3gsIC5leGFtcGxlLWxhcmdlLWJveCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAxNnB4O1xyXG4gICAgcGFkZGluZzogMTZweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICB9XHJcbiAgXHJcbiAgLmV4YW1wbGUtc21hbGwtYm94IHtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5leGFtcGxlLWxhcmdlLWJveCB7XHJcbiAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gIH1cclxuICAubm90LXNpZ25lZC1jYXJke1xyXG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICB9XHJcbiAgLnZlcnNpb24tbnVtYmVyLWNzc3tcclxuICAgIG1hcmdpbjphdXRvO1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgfVxyXG4gIC50b3RhbC1jYXJke1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG4gIH1cclxuICAuaXRlbS1uYW1lLWNzc3tcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcblxyXG4gIH1cclxuLmNvc3QtbmFtZXtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBjb2xvcjpicm93bjtcclxuICAgIGZvbnQtc2l6ZToyMXB4O1xyXG59XHJcbi5zYXZlLWZhdm9yaXRlLXNwYW57XHJcbiAgZGlzcGxheTppbmxpbmUtZmxleDtcclxuICBmb250LXNpemU6MjBweDtcclxufVxyXG4uZmF2b3JpdGUtY2hpcC1jc3N7XHJcbiAgZmxvYXQ6cmlnaHQ7XHJcbn1cclxuLnNhdmUtZmF2b3JpdGUtY3Nze1xyXG4gIGZvbnQtc2l6ZTo5cHg7XHJcbn1cclxuLmRpdmlkZXItY3Nze1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgYmFja2dyb3VuZDpicm93bjtcclxufVxyXG4ub3JkZXItb3B0aW9uLXdhcm5pbmd7XHJcbiAgYm9yZGVyOjVweCBzb2xpZCBicm93bjtcclxuICBtYXJnaW46YXV0bztcclxuICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICBwYWRkaW5nOjdweDtcclxuICBtYXJnaW46MTdweDtcclxuICBjb2xvcjpicm93bjtcclxufVxyXG4uc2VsZWN0LWNzc3tcclxuICBmb250LXdlaWdodDpib2xkO1xyXG4gIGZvbnQtc2l6ZToxOXB4O1xyXG59XHJcbi5yYWRpby1ncm91cC1jc3N7XHJcbiAgZGlzcGxheTpncmlkO1xyXG59XHJcbi5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XHJcbiAgcGFkZGluZzowcHghaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucG9wb3ZlcntcclxuICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XHJcbn1cclxuYXBwLXNpZGUtcGFuZWwtbWVudS5uZy1zdGFyLWluc2VydGVkLmlvbi1wYWdlIHtcclxuICBkaXNwbGF5OiBjb250ZW50cyAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi5iYWNrZ3JvdW5kIHtcbiAgLS1pb24tYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cbi5lYWNoLW1lbnUtaXRlbS1jc3Mge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIk1lcnJpd2VhdGhlclNhbnMtRXh0cmFCb2xkXCI7XG59XG5cbi5mb290ZXItY3NzIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5leGFtcGxlLXNtYWxsLWJveCwgLmV4YW1wbGUtbGFyZ2UtYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMTZweDtcbiAgcGFkZGluZzogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uZXhhbXBsZS1zbWFsbC1ib3gge1xuICBoZWlnaHQ6IDEwMHB4O1xuICB3aWR0aDogMTAwcHg7XG59XG5cbi5leGFtcGxlLWxhcmdlLWJveCB7XG4gIGhlaWdodDogMzAwcHg7XG4gIHdpZHRoOiAzMDBweDtcbn1cblxuLm5vdC1zaWduZWQtY2FyZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnZlcnNpb24tbnVtYmVyLWNzcyB7XG4gIG1hcmdpbjogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udG90YWwtY2FyZCB7XG4gIG1hcmdpbjogMTBweDtcbn1cblxuLml0ZW0tbmFtZS1jc3Mge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDE3cHg7XG59XG5cbi5jb3N0LW5hbWUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGNvbG9yOiBicm93bjtcbiAgZm9udC1zaXplOiAyMXB4O1xufVxuXG4uc2F2ZS1mYXZvcml0ZS1zcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLmZhdm9yaXRlLWNoaXAtY3NzIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uc2F2ZS1mYXZvcml0ZS1jc3Mge1xuICBmb250LXNpemU6IDlweDtcbn1cblxuLmRpdmlkZXItY3NzIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgYmFja2dyb3VuZDogYnJvd247XG59XG5cbi5vcmRlci1vcHRpb24td2FybmluZyB7XG4gIGJvcmRlcjogNXB4IHNvbGlkIGJyb3duO1xuICBtYXJnaW46IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogN3B4O1xuICBtYXJnaW46IDE3cHg7XG4gIGNvbG9yOiBicm93bjtcbn1cblxuLnNlbGVjdC1jc3Mge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxOXB4O1xufVxuXG4ucmFkaW8tZ3JvdXAtY3NzIHtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wb3BvdmVyIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuYXBwLXNpZGUtcGFuZWwtbWVudS5uZy1zdGFyLWluc2VydGVkLmlvbi1wYWdlIHtcbiAgZGlzcGxheTogY29udGVudHMgIWltcG9ydGFudDtcbn0iXX0= */\";","import { Component, ViewChild, ElementRef, HostBinding, HostListener } from '@angular/core';\r\n\r\nimport { Platform, MenuController, NavController, ModalController, LoadingController } from '@ionic/angular';\r\nimport { SplashScreen } from '@ionic-native/splash-screen/ngx';\r\nimport { StatusBar } from '@ionic-native/status-bar/ngx';\r\nimport { SubjectCollectionService } from './service/subject-collection.service';\r\nimport { JsMapService } from './service/js-map.service';\r\nimport { NativeMapService } from './service/native-map.service';\r\nimport { GoogleMaps } from '@ionic-native/google-maps';\r\nimport { Geolocation } from '@ionic-native/geolocation/ngx';\r\nimport { RegisterComponent } from './component/register/register.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { OverlayContainer } from '@angular/cdk/overlay';\r\nimport { RegistrationFormComponent } from './component/registration-form/registration-form.component';\r\nimport * as firebase from 'firebase/app';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Location } from '@angular/common';\r\nimport { NavigationStart, Router } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\nimport { UtilityService } from './service/utility.service';\r\nimport { AuthService } from './service/auth.service';\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: 'app.component.html',\r\n styleUrls: ['app.component.scss']\r\n})\r\nexport class AppComponent {\r\n public user_info: any;\r\n constructor(\r\n public auth: AuthService,\r\n public util: UtilityService,\r\n private platform: Platform,\r\n private splashScreen: SplashScreen,\r\n private statusBar: StatusBar,\r\n public menuCtrl: MenuController,\r\n public subject_service: SubjectCollectionService,\r\n public geolocation: Geolocation,\r\n public dialog: MatDialog,\r\n public navCtrl: NavController,\r\n public overlayContainer: OverlayContainer,\r\n public modalController: ModalController,\r\n public loc :Location,\r\n public router :Router,\r\n public loadingCtrl :LoadingController\r\n\r\n\r\n ) {\r\n\r\nif (localStorage.getItem(\"user_info\")) {\r\n this.user_info = JSON.parse(localStorage.getItem(\"user_info\"));\r\n if(!this.user_info.squareLoyaltyId)\r\n {\r\n\r\n this.logout();\r\n }\r\n} else {\r\n this.user_info = null;\r\n}\r\n window.onpopstate = function(event) {\r\n }\r\n this.router.events.pipe(\r\n filter(e =>e instanceof NavigationStart),\r\n filter((e: NavigationStart)=>e.navigationTrigger == \"popstate\")\r\n )\r\n .subscribe((x: NavigationStart) => {\r\n this.router.getCurrentNavigation().extras.state={...x.restoredState, navigationId:x.id } ;\r\n });\r\n\r\n // this.subject_service.getThemeToBeApplied('teal-light-theme-css')\r\nthis.payment_form = false;\r\nthis.initializeApp();\r\nthis.text_on_slider = 'Dark';\r\n \r\nthis.loc.subscribe((data)=>{\r\n})\r\n }\r\n public map: any;\r\n location: { latitude: number; longitude: number; };\r\n @ViewChild('map') mapElement: ElementRef;\r\n public paymentForm: any;\r\n public text_on_slider: any;\r\n public payment_form: any;\r\n public order_option: any;\r\n // findUserLocation() {\r\n // var options = {\r\n // enableHighAccuracy: true,\r\n // timeout: 25000\r\n // };\r\n\r\n\r\n // this.geolocation.getCurrentPosition()\r\n // .then((position) => {\r\n // this.location = {\r\n // latitude: position.coords.latitude,\r\n // longitude: position.coords.longitude\r\n // };\r\n\r\n // }).catch((error) => {\r\n // });\r\n // }\r\n @HostBinding('class') componentCssClass;\r\n init(location, element) {\r\n this.map.init(location, element);\r\n }\r\n viewChanged(){\r\n }\r\n async onPageActivated(){\r\n const topLoader = await this.loadingCtrl.getTop();\r\n if (topLoader && topLoader.getAttribute('dismissOnPageChange') === 'true') {\r\n await topLoader.dismiss();\r\n }\r\n }\r\n onSetTheme(theme) {\r\n this.overlayContainer.getContainerElement().classList.add(theme);\r\n this.componentCssClass = theme;\r\n }\r\n getTheme(ev) {\r\n if (ev.checked == true) {\r\nthis.text_on_slider = 'Light';\r\nthis.subject_service.getThemeToBeApplied('teal-theme-css');\r\n\r\n }\r\n if (ev.checked == false) {\r\n this.text_on_slider = 'Dark';\r\n\r\n this.subject_service.getThemeToBeApplied('teal-light-theme-css');\r\n\r\n }\r\n }\r\n async ngOnInit() {\r\n const vm = this;\r\n firebase.initializeApp(environment.firebaseConfig);\r\n this.subject_service.subscibeToThemeApplied().subscribe((data) => {\r\n vm.onSetTheme(data);\r\n });\r\n }\r\n openCart() {\r\n this.menuCtrl.open('cart');\r\n this.payment_form = true;\r\n }\r\n initializeApp() {\r\n const vm = this;\r\n this.platform.ready().then(() => {\r\n if (vm.platform.is('android') || vm.platform.is('ios')) {\r\n\r\n }\r\n this.platform.backButton.subscribe((data)=>{\r\n })\r\n this.statusBar.backgroundColorByHexString('#E80510');\r\n this.splashScreen.hide();\r\n });\r\n this.overlayContainer.getContainerElement().classList.add('teal-theme-css');\r\n }\r\n toggleMenu() {\r\n this.menuCtrl.toggle();\r\n }\r\n loginButtonPressed() {\r\n this.subject_service.getFormModalTypeToBeOpened('login');\r\n this.toggleMenu();\r\n }\r\n moveToMenuPage() {\r\n this.toggleMenu();\r\n this.navCtrl.navigateForward('menu-shown');\r\n }\r\n moveToFindAStorePage() {\r\n this.toggleMenu();\r\n this.navCtrl.navigateForward('find-a-store');\r\n }\r\n registerButtonPressed() {\r\n this.subject_service.getFormModalTypeToBeOpened('register');\r\n this.toggleMenu();\r\n }\r\n async logout() {\r\n const vm = this;\r\n await vm.util.presentLoading();\r\n await this.auth.logOut().subscribe((data) => {\r\n for (var key in localStorage) {\r\n if(key!=\"resturant_timings\")\r\n {\r\n localStorage.removeItem(key);\r\n }\r\n }\r\n \r\n // localStorage.clear();\r\n this.user_info = 'null';\r\n vm.util.dismissPopover();\r\n vm.util.dismissLoader();\r\n (error) => {\r\n vm.util.dismissLoader();\r\n };\r\n });\r\n }\r\n regiaterButton() {\r\n this.toggleMenu();\r\n\r\n const dialogRef = this.dialog.open(RegisterComponent, {\r\n // width: '297px',\r\n data: { form_name: 'login' }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result == 'Sign up') {\r\n const dialogRef = this.dialog.open(RegisterComponent, {\r\n // width: '297px',\r\n data: { form_name: 'register' }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result == 'login') {\r\n const dialogRef = this.dialog.open(RegisterComponent, {\r\n // width: '297px',\r\n data: { form_name: 'login' }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result == 'forgot_password') {\r\n const dialogRef = this.dialog.open(RegisterComponent, {\r\n // width: '297px',\r\n data: { form_name: 'forgot_password' }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n else if (result == 'forgot_password') {\r\n const dialogRef = this.dialog.open(RegisterComponent, {\r\n // width: '297px',\r\n data: { form_name: 'forgot_password' }\r\n });\r\n }\r\n else if (result == 'login') {\r\n const dialogRef = this.dialog.open(RegisterComponent, {\r\n // width: '297px',\r\n data: { form_name: 'login' }\r\n });\r\n }\r\n // this.animal = result;\r\n });\r\n\r\n\r\n }\r\n moveToCateringPage(){\r\n this.navCtrl.navigateForward('catering');\r\n this.toggleMenu();\r\n\r\n\r\n }\r\n // TODO: paste code from step 1.1.5\r\n // onGetCardNonce is triggered when the \"Pay $1.00\" button is clicked\r\n\r\n async loginOrRegistrationButtonClicked(form_name) {\r\n this.toggleMenu();\r\n const modal = await this.modalController.create({\r\n component: RegistrationFormComponent,\r\n cssClass: \"my-modal\",\r\n componentProps: {\r\n form_name\r\n },\r\n \r\n });\r\n return await modal.present();\r\n }\r\n}\r\n","import { LOCALE_ID, NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { RouteReuseStrategy } from '@angular/router';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport 'hammerjs';\r\nimport { IonicModule, IonicRouteStrategy, NavParams } from '@ionic/angular';\r\nimport { SplashScreen } from '@ionic-native/splash-screen/ngx';\r\nimport { StatusBar } from '@ionic-native/status-bar/ngx';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { AppRoutingModule } from './app-routing.module';\r\n\r\nimport { Component, HostBinding } from '@angular/core';\r\nimport { GoogleMaps } from '@ionic-native/google-maps';\r\nimport { Geolocation } from '@ionic-native/geolocation/ngx';\r\n\r\nimport { SlickCarouselModule } from 'ngx-slick-carousel';\r\n\r\nimport { MaterialModule } from './material.module';\r\nimport { SocialLoginModule, SocialAuthServiceConfig } from 'angularx-social-login';\r\nimport {\r\n GoogleLoginProvider,\r\n FacebookLoginProvider,\r\n AmazonLoginProvider,\r\n} from 'angularx-social-login';\r\n\r\nimport * as square from 'square-connect';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { ComponentsModule } from './component/component.module';\r\n// import { Facebook } from '@ionic-native/facebook/ngx';\r\n// import { GooglePlus } from '@ionic-native/google-plus/ngx';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { IonicStorageModule } from '@ionic/storage';\r\nimport { InterceptorService } from './service/interceptor.service';\r\n\r\n// import { InAppBrowser } from '@ionic-native/in-app-browser';\r\nimport {MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS} from '@angular/material-moment-adapter';\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\r\nimport * as _moment from 'moment';\r\n// tslint:disable-next-line:no-duplicate-imports\r\nimport * as _rollupMoment from 'moment';\r\nimport { FlatpickrModule } from 'angularx-flatpickr';\r\nimport { environment } from 'src/environments/environment';\r\n// import { GoogleChartsModule } from 'angular-google-charts';\r\nconst moment = _rollupMoment || _moment;\r\nimport { NgxCaptchaModule } from 'ngx-captcha';\r\nimport { NgbModule, NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport {PopoverModule} from \"ngx-smart-popover\";\r\nimport { DatePipe } from '@angular/common';\r\n// See the Moment.js docs for the meaning of these formats:\r\n// https://momentjs.com/docs/#/displaying/format/\r\nexport const MY_FORMATS = {\r\n parse: {\r\n dateInput: 'LL',\r\n },\r\n display: {\r\n dateInput: 'LL',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY',\r\n },\r\n};\r\n@NgModule({\r\n declarations: [AppComponent],\r\n entryComponents: [],\r\n imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule,PopoverModule ,\r\n OverlayModule,\r\n \r\n MaterialModule,\r\n SocialLoginModule,\r\n ComponentsModule,\r\n HttpClientModule,\r\n NgxCaptchaModule,\r\n NgbPopoverModule,\r\n NgbModule,\r\n IonicStorageModule.forRoot(),\r\n FlatpickrModule.forRoot(),\r\n // GoogleChartsModule,\r\n // Facebook,\r\n BrowserAnimationsModule, SlickCarouselModule\r\n\r\n ],\r\n providers: [\r\n DatePipe,\r\n StatusBar,\r\n SplashScreen,\r\n GoogleMaps,\r\n Geolocation,\r\n NavParams,\r\n // Facebook,\r\n // GooglePlus,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: InterceptorService,\r\n multi: true\r\n },\r\n // { provide: LOCALE_ID, useValue: \"en-US\" },\r\n {\r\n provide: 'SocialAuthServiceConfig',\r\n useValue: {\r\n autoLogin: false,\r\n providers: [\r\n {\r\n id: FacebookLoginProvider.PROVIDER_ID,\r\n provider: new FacebookLoginProvider('591846001725172'),\r\n },\r\n {\r\n id: GoogleLoginProvider.PROVIDER_ID,\r\n provider: new GoogleLoginProvider(\r\n '513393073982-s5kjqu1om32qd7ku36ce0s4l823mkb3t.apps.googleusercontent.com'\r\n ),\r\n },\r\n\r\n ],\r\n } as SocialAuthServiceConfig,\r\n },\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\r\n },\r\n\r\n {provide: MAT_DATE_FORMATS, useValue: MY_FORMATS},\r\n\r\n { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { NgModule } from '@angular/core';\r\n// import { AutocompletePlacesComponent } from './autocomplete-places/autocomplete-places.component';\r\n// import { CrouselComponent } from './crousel/crousel.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\n// import { HeaderComponent } from './header/header.component';\r\n// import { HeaderOnOrderComponent } from './header-on-order/header-on-order.component';\r\n//import { MapDisplayingAllHotelsComponent } from './map-displaying-all-hotels/map-displaying-all-hotels.component';\r\n//import { MenuComponent } from './menu/menu.component';\r\n//import { MenuItemsComponent } from './menu-items/menu-items.component';\r\nimport { RegisterComponent } from './register/register.component';\r\nimport { RegistrationFormComponent } from './registration-form/registration-form.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MaterialModule } from '../material.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { IonicModule } from '@ionic/angular';\r\n//import { SquarePaymentComponent } from './square-payment/square-payment.component';\r\nimport { ItemCountComponent } from './item-count/item-count.component';\r\n//import { MealOptionsComponent } from './meal-options/meal-options.component';\r\nimport { DynamicFormComponent } from './dynamic-form/dynamic-form.component';\r\nimport { DynamicOptionsComponent } from './dynamic-options/dynamic-options.component';\r\nimport { RightPanelComponent } from './right-panel/right-panel.component';\r\n//import { DialogBoxesComponent } from './dialog-boxes/dialog-boxes.component';\r\n///import { OrderCollectionFormComponent } from './order-collection-form/order-collection-form.component';\r\nimport { UserInfoComponent } from './user-info/user-info.component';\r\n//import { EachItemComponent } from './each-item/each-item.component';\r\n//import { GroupOrderComponent } from './group-order/group-order.component';\r\n//import { OptionSelectedComponent } from './option-selected/option-selected.component';\r\n//import { RegionChartComponent } from './region-chart/region-chart.component';\r\nimport { TooltipComponent } from '@angular/material/tooltip';\r\n//import { AwaesometooltipComponent } from './awaesometooltip/awaesometooltip.component';\r\n//import { ShowErrorComponent } from './show-error/show-error.component';\r\nimport { DirectiveModule } from '../directive/directive.module';\r\nimport { NgxCaptchaModule } from 'ngx-captcha';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\n//import { PopoverBootstrapComponent } from './popover-bootstrap/popover-bootstrap.component';\r\nimport { PopoverModule } from 'ngx-smart-popover';\r\n//import { SideMenuComponent } from './side-menu/side-menu.component';\r\n\r\nimport { DpDatePickerModule } from 'ng2-date-picker';\r\nimport { FlatpickrModule } from 'angularx-flatpickr';\r\n// import { TelFormatComponent } from './tel-format/tel-format.component';\r\n// import { CustomTelInputComponent } from './custom-tel-input/custom-tel-input.component';\r\n\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgxMatDatetimePickerModule, NgxMatTimepickerModule, NgxMatNativeDateModule } from '@angular-material-components/datetime-picker';\r\nimport { NgxMatMomentModule } from '@angular-material-components/moment-adapter';\r\nimport { PaySquareComponent } from './pay-square/pay-square.component';\r\nimport { RegisterSignInComponent } from './register-sign-in/register-sign-in.component';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [ CommonModule, MaterialModule,NgbModule,PopoverModule,\r\n FormsModule,\r\n IonicModule,\r\n ReactiveFormsModule,\r\n DirectiveModule,\r\n\r\n NgxCaptchaModule,\r\n DpDatePickerModule,\r\n FlatpickrModule.forRoot(),\r\n MatDatepickerModule,\r\n MatInputModule,\r\n NgxMatDatetimePickerModule,\r\n NgxMatTimepickerModule,\r\n \r\n MatButtonModule,\r\n NgxMatMomentModule,\r\n MatRadioModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n MaterialModule\r\n ],\r\n\r\n declarations: [\r\n FooterComponent,\r\n ItemCountComponent,\r\n\r\n RegisterComponent,\r\n RegistrationFormComponent,\r\n RegisterSignInComponent,\r\n\r\n \r\n DynamicFormComponent,\r\n DynamicOptionsComponent,\r\n RightPanelComponent,\r\n UserInfoComponent,\r\n PaySquareComponent\r\n // TelFormatComponent,\r\n // CustomTelInputComponent\r\n\r\n\r\n],\r\n exports: [\r\n FooterComponent,\r\n \r\n PaySquareComponent,\r\n RegisterComponent,\r\n RegistrationFormComponent,\r\n RegisterSignInComponent,\r\n ItemCountComponent,\r\n \r\n \r\n DynamicFormComponent,\r\n DynamicOptionsComponent,\r\n RightPanelComponent,\r\n \r\n // TelFormatComponent,\r\n // CustomTelInputComponent\r\n\r\n\r\n]\r\n\r\n})\r\nexport class ComponentsModule {}\r\n","export default \".form-css {\\n display: flex;\\n flex-wrap: wrap;\\n}\\n\\n.radio-css {\\n margin: 10px !important;\\n}\\n\\n.multiple-css {\\n display: contents;\\n}\\n\\n.customisation-price-css {\\n font-family: \\\"Montserrat-Regular\\\";\\n font-size: 15px;\\n}\\n\\n.selection-count-css {\\n color: #E80510;\\n font-family: \\\"Montserrat-Regular\\\";\\n}\\n\\n.radio-button-text {\\n display: flex;\\n font-family: \\\"Montserrat-Regular\\\";\\n font-size: 15px;\\n}\\n\\n.radio-btt-text {\\n margin-left: 10px;\\n display: contents !important;\\n}\\n\\n.strike {\\n text-decoration: line-through !important;\\n}\\n\\n.input-css {\\n margin-right: 10px !important;\\n cursor: pointer !important;\\n}\\n\\n.text-name {\\n max-width: 200px;\\n}\\n\\n.span-variations {\\n display: flex;\\n flex-wrap: wrap;\\n}\\n\\n.collective-div {\\n margin-right: 20px;\\n margin-bottom: 20px;\\n}\\n\\n.customisation-button-css {\\n margin: 5px;\\n padding: 7px;\\n border-radius: 4px;\\n}\\n\\n.warning-color {\\n color: white;\\n width: 100%;\\n font-size: large;\\n padding-left: 13px;\\n margin-bottom: 10px;\\n border-radius: 10px;\\n}\\n\\n.radio-group-css {\\n display: contents !important;\\n}\\n\\n.chk {\\n align-items: center;\\n /* padding: 8px; */\\n padding-right: 10px;\\n padding-bottom: 10px;\\n margin-left: 8px;\\n margin-bottom: 12px;\\n}\\n\\ninput[type=radio]:after {\\n cursor: pointer;\\n}\\n\\ninput[type=radio]:checked:after {\\n cursor: pointer;\\n}\\n\\ninput[type=checkbox]:after {\\n cursor: pointer;\\n}\\n\\ninput[type=checkbox]:checked:after {\\n cursor: pointer;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2R5bmFtaWMtZm9ybS9DOlxcUm9oaXRoX1dvcmtcXENpdGFkZWxcXENpdGFkZWxcXHRobnhnaXZpbmdmcm9udGVuZG5ld1xcdGhhbmtzZ2l2aW5nZnJvbnRlbmQvc3JjXFxhcHBcXGNvbXBvbmVudFxcZHluYW1pYy1mb3JtXFxkeW5hbWljLWZvcm0uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvbXBvbmVudC9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBO0VBQ0ksYUFBQTtFQUNBLGVBQUE7QUNISjs7QURLQTtFQUNJLHVCQUFBO0FDRko7O0FESUE7RUFDSSxpQkFBQTtBQ0RKOztBREdBO0VBQ0ksaUNBQUE7RUFDQSxlQUFBO0FDQUo7O0FERUE7RUFDSSxjQUFBO0VBQ0EsaUNBQUE7QUNDSjs7QURDQTtFQUNJLGFBQUE7RUFDQSxpQ0FBQTtFQUNBLGVBQUE7QUNFSjs7QURBQTtFQUNJLGlCQUFBO0VBQ0EsNEJBQUE7QUNHSjs7QUREQTtFQUVFLHdDQUFBO0FDR0Y7O0FEREE7RUFDUSw2QkFBQTtFQUNBLDBCQUFBO0FDSVI7O0FEREE7RUFFSSxnQkFBQTtBQ0dKOztBRENBO0VBQ0ksYUFBQTtFQUNBLGVBQUE7QUNFSjs7QURBRTtFQUNFLGtCQUFBO0VBQ0EsbUJBQUE7QUNHSjs7QURTQTtFQUVBLFdBQUE7RUFDSSxZQUFBO0VBQ0Esa0JBQUE7QUNQSjs7QURVQztFQUNHLFlBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFFQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7QUNSSjs7QURXQztFQUNJLDRCQUFBO0FDUkw7O0FEV0M7RUFFRyxtQkFBQTtFQUVBLGtCQUFBO0VBRUEsbUJBQUE7RUFDQSxvQkFBQTtFQUVBLGdCQUFBO0VBQ0EsbUJBQUE7QUNaSjs7QURxRUE7RUFDSSxlQUFBO0FDbEVKOztBRG9FRTtFQUNFLGVBQUE7QUNqRUo7O0FEbUVFO0VBQ0UsZUFBQTtBQ2hFSjs7QURrRUU7RUFDRSxlQUFBO0FDL0RKIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50L2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAuZm9ybS1jc3N7XHJcbi8vICAgICBkaXNwbGF5OmZsZXg7XHJcbi8vICAgICBvdmVyZmxvdzogc2Nyb2xsO1xyXG4vLyB9XHJcbi5mb3JtLWNzc3tcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuLnJhZGlvLWNzc3tcclxuICAgIG1hcmdpbjoxMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm11bHRpcGxlLWNzc3tcclxuICAgIGRpc3BsYXk6Y29udGVudHM7XHJcbn1cclxuLmN1c3RvbWlzYXRpb24tcHJpY2UtY3Nze1xyXG4gICAgZm9udC1mYW1pbHk6J01vbnRzZXJyYXQtUmVndWxhcic7XHJcbiAgICBmb250LXNpemU6MTVweDtcclxufVxyXG4uc2VsZWN0aW9uLWNvdW50LWNzc3tcclxuICAgIGNvbG9yOiNFODA1MTA7XHJcbiAgICBmb250LWZhbWlseTonTW9udHNlcnJhdC1SZWd1bGFyJztcclxufVxyXG4ucmFkaW8tYnV0dG9uLXRleHR7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQtUmVndWxhcic7XHJcbiAgICBmb250LXNpemU6MTVweDtcclxufVxyXG4ucmFkaW8tYnR0LXRleHR7XHJcbiAgICBtYXJnaW4tbGVmdDoxMHB4O1xyXG4gICAgZGlzcGxheTpjb250ZW50cyAhaW1wb3J0YW50O1xyXG59XHJcbi5zdHJpa2Vcclxue1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoICAhaW1wb3J0YW50O1xyXG59XHJcbi5pbnB1dC1jc3N7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY3Vyc29yOnBvaW50ZXIgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRleHQtbmFtZXtcclxuICAgIC8vIGJhY2tncm91bmQ6IHJlZDtcclxuICAgIG1heC13aWR0aDogMjAwcHg7XHJcbn1cclxuXHJcblxyXG4uc3Bhbi12YXJpYXRpb25ze1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gIH1cclxuICAuY29sbGVjdGl2ZS1kaXZ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6MjBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgfVxyXG5cclxuXHJcbi8vIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsIHtcclxuLy8gICAgIGZvbnQtc2l6ZToxZW07XHJcbi8vICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4vLyAgICAgY29sb3I6IHdoaXRlIDsgIFxyXG4vLyAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4vLyAgICAgbWFyZ2luOmF1dG8gMTVweCBhdXRvIGF1dG87ICAgICAgICAgICAgICAgICAgICBcclxuLy8gfVxyXG5cclxuLmN1c3RvbWlzYXRpb24tYnV0dG9uLWNzc3tcclxuXHJcbm1hcmdpbjogNXB4O1xyXG4gICAgcGFkZGluZzogN3B4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIFxyXG4gfVxyXG4gLndhcm5pbmctY29sb3J7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZvbnQtc2l6ZTogbGFyZ2U7XHJcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6MTBweDtcclxuIH1cclxuIFxyXG4gLnJhZGlvLWdyb3VwLWNzc3tcclxuICAgICBkaXNwbGF5OmNvbnRlbnRzICFpbXBvcnRhbnQ7XHJcbiB9XHJcblxyXG4gLmNoa3tcclxuICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLy8gYmFja2dyb3VuZDogZ3JlZW47XHJcbiAgICAvKiBwYWRkaW5nOiA4cHg7ICovXHJcbiAgICAvLyBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAvLyBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgLy8gYm9yZGVyLXJhZGl1czogNXB4O1xyXG59XHJcbi8vIGlucHV0W3R5cGU9J3JhZGlvJ106YWZ0ZXIge1xyXG4vLyAgICAgd2lkdGg6IDE1cHg7XHJcbi8vICAgICBoZWlnaHQ6IDE1cHg7XHJcbi8vICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4vLyAgICAgdG9wOiAtMnB4O1xyXG4vLyAgICAgbGVmdDogLTFweDtcclxuLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4vLyAgICAgY29udGVudDogJyc7XHJcbi8vICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbi8vICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4vLyAgICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XHJcbi8vIH1cclxuXHJcbi8vIGlucHV0W3R5cGU9J3JhZGlvJ106Y2hlY2tlZDphZnRlciB7XHJcbi8vICAgICB3aWR0aDogMTVweDtcclxuLy8gICAgIGhlaWdodDogMTVweDtcclxuLy8gICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbi8vICAgICB0b3A6IC0ycHg7XHJcbi8vICAgICBsZWZ0OiAtMXB4O1xyXG4vLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjpibGFjaztcclxuLy8gICAgIGNvbnRlbnQ6ICcnO1xyXG4vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4vLyAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuLy8gICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrO1xyXG4vLyB9XHJcbi8vIGlucHV0W3R5cGU9J2NoZWNrYm94J106YWZ0ZXIge1xyXG4vLyAgICAgd2lkdGg6IDE1cHg7XHJcbi8vICAgICBoZWlnaHQ6IDE1cHg7XHJcbi8vICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4vLyAgICAgdG9wOiAtMnB4O1xyXG4vLyAgICAgbGVmdDogLTFweDtcclxuLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4vLyAgICAgY29udGVudDogJyc7XHJcbi8vICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbi8vICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4vLyAgICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XHJcbi8vIH1cclxuXHJcbi8vIGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZDphZnRlciB7XHJcbi8vICAgICB3aWR0aDogMTVweDtcclxuLy8gICAgIGhlaWdodDogMTVweDtcclxuLy8gICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbi8vICAgICB0b3A6IC0ycHg7XHJcbi8vICAgICBsZWZ0OiAtMXB4O1xyXG4vLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjpibGFjaztcclxuLy8gICAgIGNvbnRlbnQ6ICcnO1xyXG4vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4vLyAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuLy8gICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrO1xyXG4vLyB9XHJcbmlucHV0W3R5cGU9J3JhZGlvJ106YWZ0ZXIge1xyXG4gICAgY3Vyc29yOnBvaW50ZXI7XHJcbiAgfVxyXG4gIGlucHV0W3R5cGU9J3JhZGlvJ106Y2hlY2tlZDphZnRlciB7XHJcbiAgICBjdXJzb3I6cG9pbnRlcjtcclxuICB9XHJcbiAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTphZnRlciB7XHJcbiAgICBjdXJzb3I6cG9pbnRlcjtcclxuICB9XHJcbiAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkOmFmdGVyIHtcclxuICAgIGN1cnNvcjpwb2ludGVyO1xyXG4gIH1cclxuXHJcblxyXG4iLCIuZm9ybS1jc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5yYWRpby1jc3Mge1xuICBtYXJnaW46IDEwcHggIWltcG9ydGFudDtcbn1cblxuLm11bHRpcGxlLWNzcyB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG4uY3VzdG9taXNhdGlvbi1wcmljZS1jc3Mge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LVJlZ3VsYXJcIjtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4uc2VsZWN0aW9uLWNvdW50LWNzcyB7XG4gIGNvbG9yOiAjRTgwNTEwO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LVJlZ3VsYXJcIjtcbn1cblxuLnJhZGlvLWJ1dHRvbi10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1SZWd1bGFyXCI7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLnJhZGlvLWJ0dC10ZXh0IHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGRpc3BsYXk6IGNvbnRlbnRzICFpbXBvcnRhbnQ7XG59XG5cbi5zdHJpa2Uge1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaCAhaW1wb3J0YW50O1xufVxuXG4uaW5wdXQtY3NzIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1uYW1lIHtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbn1cblxuLnNwYW4tdmFyaWF0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmNvbGxlY3RpdmUtZGl2IHtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uY3VzdG9taXNhdGlvbi1idXR0b24tY3NzIHtcbiAgbWFyZ2luOiA1cHg7XG4gIHBhZGRpbmc6IDdweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4ud2FybmluZy1jb2xvciB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogbGFyZ2U7XG4gIHBhZGRpbmctbGVmdDogMTNweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLnJhZGlvLWdyb3VwLWNzcyB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzICFpbXBvcnRhbnQ7XG59XG5cbi5jaGsge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvKiBwYWRkaW5nOiA4cHg7ICovXG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG5pbnB1dFt0eXBlPXJhZGlvXTphZnRlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZDphZnRlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuaW5wdXRbdHlwZT1jaGVja2JveF06YWZ0ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQ6YWZ0ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59Il19 */\";","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n forwardRef,\r\n} from \"@angular/core\";\r\nimport { FormGroup, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { pipe } from 'rxjs';\r\nimport { map, startWith } from 'rxjs/operators';\r\nimport { OptionsService } from \"src/app/service/options.service\";\r\n\r\nexport const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DynamicFormComponent),\r\n multi: true,\r\n};\r\n@Component({\r\n selector: \"app-dynamic-form\",\r\n templateUrl: \"./dynamic-form.component.html\",\r\n styleUrls: [\"./dynamic-form.component.scss\"],\r\n})\r\nexport class DynamicFormComponent implements OnInit {\r\n // @Output() formStatusChanged = new EventEmitter();\r\n @Input() checkedCust: any;\r\n @Input() custName: any;\r\n @Input() questions?: any = [];\r\n @Input() options?: any = [];\r\n @Input() present_as? :any =[];\r\n @Input() selectionType?: any;\r\n @Input() id_of_item: any;\r\n @Input() selected_complete_customisation?: any = [];\r\n @Input() selection_count: any;\r\n @Input() selectedOption: any;\r\n @Input() calculate_warning?: any;\r\n @Input() form_name: any = FormGroup;\r\n @Input() options_already_selected?: any = [];\r\n @Output() disable_add_to_cart= new EventEmitter();\r\n @Output() form_values = new EventEmitter();\r\n @Output() customise_variation_name = new EventEmitter();\r\n @Output() optionSelectedMain = new EventEmitter();\r\n @Output() optionSelectedSide = new EventEmitter();\r\n public form: FormGroup;\r\n public warning_message: any;\r\n public less_than_required :any;\r\n public radio_button_selected: any;\r\n public payLoad = \"\";\r\n public initialized: any;\r\n public form_value_for_color_selection: any;\r\n constructor(public qcs: OptionsService) {\r\n this.initialized = false;\r\n }\r\n valueSelectedByRadioButton(ev) {\r\n \r\n }\r\n ngOnInit() {\r\n this.load();\r\n }\r\n onProfileChange(ev?) {\r\n if (ev) {\r\n const selectedItemId = ev.target.id;\r\n var keys: any = [];\r\n keys = Object.keys(this.form.value);\r\n var obj: any = {};\r\n keys.map((e) => {\r\n if (e == ev[\"target\"][\"value\"]) {\r\n obj[e] = \"true\";\r\n } else {\r\n obj[e] = false;\r\n }\r\n });\r\n this.valueChanged();\r\n this.form.setValue(obj);\r\n if (selectedItemId === \"Pumpkin Pie\" || selectedItemId === \"Apple Pie\") {\r\n const tempStoredItem = localStorage.getItem(\"selectedItem\");\r\n if (!tempStoredItem) {\r\n // Store initially selected item in local storage\r\n localStorage.setItem(\"selectedItem\", selectedItemId);\r\n this.optionSelectedMain.emit(true); // Enable \"ADD TO CART\" for main\r\n } else {\r\n // If already stored, emit false to prevent toggling\r\n this.optionSelectedMain.emit(false);\r\n }\r\n } else {\r\n // For any other item, reset and disable both buttons\r\n //localStorage.removeItem(\"selectedItem\");\r\n this.optionSelectedMain.emit(false);\r\n this.optionSelectedSide.emit(false);\r\n }\r\n this.payLoad = JSON.stringify(this.form.getRawValue());\r\n this.form_value_for_color_selection = this.form.getRawValue();\r\n } else {\r\n var keys: any = [];\r\n keys = Object.keys(this.form.value);\r\n var obj: any = {};\r\n keys.map((e) => {\r\n obj[e] = false;\r\n });\r\n this.form.setValue(obj);\r\n this.payLoad = JSON.stringify(this.form.getRawValue());\r\n this.form_value_for_color_selection = this.form.getRawValue();\r\n }\r\n }\r\n valueChanged()\r\n {\r\n var vm=this;\r\n this.form.valueChanges\r\n .subscribe((data:any)=>{\r\n var t = [];\r\n for (var propName in data) {\r\n if (data.hasOwnProperty(propName)) {\r\n var propValue = data[propName];\r\n if (propValue == true || propValue == \"true\") {\r\n t.push(propName);\r\n }\r\n }\r\n }\r\n if(vm.selection_count && t.length < vm.selection_count ){\r\n vm.less_than_required=true;\r\n vm.warning_message = true;\r\n vm.disable_add_to_cart.emit(true)\r\n }\r\n if (\r\n (t.length > vm.selection_count) &&\r\n vm.selection_count\r\n ) {\r\n vm.warning_message = true;\r\n vm.less_than_required=false;\r\n vm.disable_add_to_cart.emit(true)\r\n } \r\n if (\r\n (t.length == vm.selection_count) &&\r\n vm.selection_count\r\n ) {\r\n vm.warning_message = false;\r\n vm.less_than_required=false;\r\n vm.disable_add_to_cart.emit(false)\r\n\r\n }\r\n if (\r\n (t.length==0) &&\r\n vm.selection_count\r\n ) {\r\n vm.warning_message = false;\r\n vm.less_than_required=false;\r\n vm.disable_add_to_cart.emit(true)\r\n }\r\n this.form_values.emit(data);\r\n })\r\n }\r\n load(){\r\n var vm = this;\r\n this.initialized = true;\r\n this.questions = [];\r\n this.options = this.options.map((r) => {\r\n return {\r\n ...r,\r\n };\r\n });\r\n this.questions = this.options.map((e) => {\r\n return {\r\n key: e.name,\r\n amount: e.amount,\r\n label: \"check_bopx_selction\",\r\n value: false,\r\n controlType: e.selectionType == \"SINGLE\" ? \"radio_box\" : \"check_box\",\r\n // selected:true,\r\n selected:\r\n this.options_already_selected.length > 0 &&\r\n this.options_already_selected.includes(e.id) == true\r\n ? true\r\n : this.options_already_selected.length > 0 &&\r\n this.options_already_selected.includes(e.id) == false\r\n ? false\r\n : false,\r\n id: e.id,\r\n selectionType: e.selectionType,\r\n customizationOptionVariations: e.customizationOptionVariations,\r\n soldout:e.soldOut,\r\n };\r\n });\r\n this.form = this.qcs.toFormGroup(this.questions);\r\n if (this.selectionType == \"SINGLE\") {\r\n this.questions.map(async (t) => {\r\n if (this.options_already_selected.length == 0) {\r\n await vm.onProfileChange();\r\n } else {\r\n if (t.selected == true) {\r\n var obj = { value: t.key };\r\n await vm.onProfileChange(obj);\r\n }\r\n }\r\n });\r\n }\r\n this.form_values.emit(this.form.value);\r\n this.form.valueChanges\r\n .subscribe((data:any)=>{\r\n var t = [];\r\n for (var propName in data) {\r\n if (data.hasOwnProperty(propName)) {\r\n var propValue = data[propName];\r\n if (propValue == true || propValue == \"true\") {\r\n t.push(propName);\r\n }\r\n }\r\n }\r\n // //test\r\n // const optionsToEnable = [\"Oven Roasted Turkey Breast\", \"Smoked Turkey Breast\", \"Spiral Sliced Ham\"];\r\n // const shouldEnableButton = t.some(value => optionsToEnable.includes(value));\r\n\r\n // // Emit the button status to parent\r\n // this.formStatusChanged.emit(shouldEnableButton);\r\n\r\n if(vm.selection_count && t.length < vm.selection_count ){\r\n vm.less_than_required=true;\r\n vm.warning_message = true;\r\n vm.disable_add_to_cart.emit(true)\r\n }\r\n if (\r\n (t.length > vm.selection_count) &&\r\n vm.selection_count\r\n ) {\r\n vm.warning_message = true;\r\n vm.less_than_required=false;\r\n vm.disable_add_to_cart.emit(true)\r\n } \r\n if (\r\n (t.length == vm.selection_count) &&\r\n vm.selection_count\r\n ) {\r\n vm.warning_message = false;\r\n vm.less_than_required=false;\r\n vm.disable_add_to_cart.emit(false)\r\n\r\n }\r\n if (\r\n (t.length==0) &&\r\n vm.selection_count\r\n ) {\r\n vm.warning_message = false;\r\n vm.less_than_required=false;\r\n vm.disable_add_to_cart.emit(true)\r\n }\r\n this.form_values.emit(data);\r\n })}\r\n v(id) {\r\n for (var i = 0; i < this.selected_complete_customisation.length; i++) {\r\n if (this.selected_complete_customisation[i].catalog_id == id) {\r\n return (\r\n this.selected_complete_customisation[i][\"variation_name\"] +\r\n \"-\" +\r\n this.selected_complete_customisation[i][\"amount\"]\r\n );\r\n }\r\n }\r\n }\r\n onSubmit() {\r\n this.payLoad = JSON.stringify(this.form.getRawValue());\r\n this.form_value_for_color_selection = this.form.getRawValue();\r\n }\r\n ngOnChanges() {\r\n this.initialized=true\r\n this.load()\r\n var vm = this;\r\n if (this.initialized) {\r\n if (this.calculate_warning == true) {\r\n var data = this.form.value;\r\n var t = [];\r\n for (var propName in data) {\r\n if (data.hasOwnProperty(propName)) {\r\n var propValue = data[propName];\r\n if (propValue == true || propValue == \"true\") {\r\n t.push(propName);\r\n }\r\n }\r\n }\r\n return;\r\n }\r\n this.form = this.qcs.toFormGroup(this.questions);\r\n setTimeout(() => {\r\n this.payLoad = JSON.stringify(this.form.getRawValue());\r\n this.form_value_for_color_selection = this.form.getRawValue();\r\n this.form_name = this.qcs.toFormGroup(this.questions);\r\n }, 300);\r\n this.initialized=false;\r\n }\r\n }\r\n radioDefaultSelected(val) {\r\n if (val) {\r\n var keys: any = [];\r\n keys = Object.keys(this.form.value);\r\n var obj: any = {};\r\n keys.map((e) => {\r\n if (e == val) {\r\n obj[e] = \"true\";\r\n } else {\r\n obj[e] = false;\r\n }\r\n });\r\n this.form.setValue(obj);\r\n this.payLoad = JSON.stringify(this.form.getRawValue());\r\n this.form_value_for_color_selection = this.form.getRawValue();\r\n }\r\n return true;\r\n }\r\n multipleSelect(ev) {\r\n this.customise_variation_name.emit({\r\n value_inside_selection: ev.value_inside_selection,\r\n id_value: ev.id_value,\r\n });\r\n }\r\n async selectDefaultValue() {\r\n for (var i = 0; i < this.options.length; i++) {\r\n if (this.options[i][\"selectionType\"] == \"SINGLE\") {\r\n if (\r\n this.options[i] &&\r\n this.options[i].customizationOptionVariations &&\r\n this.options[i].customizationOptionVariations.length > 0\r\n ) {\r\n var val =\r\n this.options[i].customizationOptionVariations[0].name +\r\n -+this.options[0].customizationOptionVariations[0].amount;\r\n this.customise_variation_name.emit({\r\n index_value: i,\r\n value_inside_selection: val.split(\"-\"),\r\n id_value: this.options[i].id,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n dropDownValueSelected(event, index, question) {\r\n this.customise_variation_name.emit({\r\n index_value: index,\r\n value_inside_selection: event.target.value.split(\"-\"),\r\n id_value: question.id,\r\n });\r\n }\r\n ngAfterViewInit() {\r\n for (var i = 0; i < this.selected_complete_customisation.length; i++) {\r\n for (var j = 0; j < this.questions.length; j++) {\r\n if (\r\n this.selected_complete_customisation[i].catalog_id ==\r\n this.questions[j].id\r\n ) {\r\n if (this.selected_complete_customisation[i][\"variation_name\"]) {\r\n this.customise_variation_name.emit({\r\n value_inside_selection: [\r\n this.selected_complete_customisation[i][\"variation_name\"],\r\n this.selected_complete_customisation[i][\"amount\"],\r\n ],\r\n id_value: this.questions[j].id,\r\n });\r\n }\r\n return (\r\n this.selected_complete_customisation[i][\"variation_name\"] +\r\n \"-\" +\r\n this.selected_complete_customisation[i][\"amount\"]\r\n );\r\n }\r\n }\r\n }\r\n this.warning_message = true;\r\n this.less_than_required=true;\r\n if (this.selectionType == \"SINGLE\") {\r\n \r\n } else {\r\n\r\n }\r\n this.selectDefaultValue();\r\n this.load()\r\n }\r\n}\r\n","export default \".customisation-button-css {\\n margin-top: 10px;\\n margin-right: 10px;\\n background: rgba(0, 0, 0, 0.33);\\n}\\n\\n.radio-button-css {\\n margin: 10px;\\n padding: 6px;\\n}\\n\\n.strike {\\n text-decoration: line-through !important;\\n}\\n\\n.chk {\\n display: block;\\n align-items: center;\\n /* padding: 8px; */\\n padding-left: 10px;\\n padding-right: 10px;\\n padding-bottom: 10px;\\n margin-right: 8px;\\n margin-left: 8px;\\n margin-bottom: 12px;\\n border-radius: 5px;\\n}\\n\\n.select-css {\\n background: white;\\n padding: 2px;\\n margin-top: 10px;\\n}\\n\\n.radio-button-text {\\n display: flex;\\n font-family: \\\"Montserrat-Regular\\\";\\n font-size: 12px;\\n}\\n\\n.input-css {\\n margin-right: 10px !important;\\n cursor: pointer !important;\\n}\\n\\n.text-name {\\n max-width: 155px;\\n font-family: \\\"Montserrat-Regular\\\";\\n font-size: 15px !important;\\n}\\n\\n.customisation-price-css {\\n font-family: \\\"Montserrat-Bold\\\" !important;\\n font-size: 15px;\\n}\\n\\n.span-variations {\\n display: flex;\\n flex-wrap: wrap;\\n}\\n\\n.collective-div {\\n margin-right: 20px;\\n margin-bottom: 20px;\\n display: flex;\\n}\\n\\ninput[type=radio]:after {\\n cursor: pointer !important;\\n}\\n\\ninput[type=radio]:checked:after {\\n cursor: pointer !important;\\n}\\n\\ninput[type=checkbox]:after {\\n cursor: pointer !important;\\n}\\n\\ninput[type=checkbox]:checked:after {\\n cursor: pointer !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2R5bmFtaWMtb3B0aW9ucy9DOlxcUm9oaXRoX1dvcmtcXENpdGFkZWxcXENpdGFkZWxcXHRobnhnaXZpbmdmcm9udGVuZG5ld1xcdGhhbmtzZ2l2aW5nZnJvbnRlbmQvc3JjXFxhcHBcXGNvbXBvbmVudFxcZHluYW1pYy1vcHRpb25zXFxkeW5hbWljLW9wdGlvbnMuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvbXBvbmVudC9keW5hbWljLW9wdGlvbnMvZHluYW1pYy1vcHRpb25zLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLCtCQUFBO0FDQ0o7O0FEQ0E7RUFDSSxZQUFBO0VBQ0EsWUFBQTtBQ0VKOztBREFBO0VBRUUsd0NBQUE7QUNFRjs7QURBQTtFQUNJLGNBQUE7RUFDQSxtQkFBQTtFQUVBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QUNFSjs7QURBQTtFQUNJLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0FDR0o7O0FEREM7RUFDRyxhQUFBO0VBQ0EsaUNBQUE7RUFDQSxlQUFBO0FDSUo7O0FERkE7RUFDUSw2QkFBQTtFQUNBLDBCQUFBO0FDS1I7O0FERkE7RUFFSSxnQkFBQTtFQUNBLGlDQUFBO0VBQ0EsMEJBQUE7QUNJSjs7QURGQTtFQUNJLHlDQUFBO0VBQ0EsZUFBQTtBQ0tKOztBREZBO0VBQ0ksYUFBQTtFQUNBLGVBQUE7QUNLSjs7QURIRTtFQUNFLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxhQUFBO0FDTUo7O0FEbURBO0VBQ0ksMEJBQUE7QUNoREo7O0FEa0RFO0VBQ0UsMEJBQUE7QUMvQ0o7O0FEaURFO0VBQ0UsMEJBQUE7QUM5Q0o7O0FEZ0RFO0VBQ0UsMEJBQUE7QUM3Q0oiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnQvZHluYW1pYy1vcHRpb25zL2R5bmFtaWMtb3B0aW9ucy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jdXN0b21pc2F0aW9uLWJ1dHRvbi1jc3N7XHJcbiAgICBtYXJnaW4tdG9wOjEwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMCAwIDAgLyAzMyUpO1xyXG59XHJcbi5yYWRpby1idXR0b24tY3Nze1xyXG4gICAgbWFyZ2luOjEwcHg7XHJcbiAgICBwYWRkaW5nOjZweDtcclxufVxyXG4uc3RyaWtlXHJcbntcclxuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaCAgIWltcG9ydGFudDtcclxufVxyXG4uY2hre1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLy8gYmFja2dyb3VuZDogZ3JlZW47XHJcbiAgICAvKiBwYWRkaW5nOiA4cHg7ICovXHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG59XHJcbi5zZWxlY3QtY3Nze1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICBwYWRkaW5nOiAycHg7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gfVxyXG4gLnJhZGlvLWJ1dHRvbi10ZXh0e1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0LVJlZ3VsYXInO1xyXG4gICAgZm9udC1zaXplOjEycHg7XHJcbn1cclxuLmlucHV0LWNzc3tcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcclxuICAgICAgICBjdXJzb3I6cG9pbnRlciAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udGV4dC1uYW1le1xyXG4gICAgLy8gYmFja2dyb3VuZDogcmVkO1xyXG4gICAgbWF4LXdpZHRoOiAxNTVweDtcclxuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdC1SZWd1bGFyJztcclxuICAgIGZvbnQtc2l6ZToxNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmN1c3RvbWlzYXRpb24tcHJpY2UtY3Nze1xyXG4gICAgZm9udC1mYW1pbHk6J01vbnRzZXJyYXQtQm9sZCcgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZToxNXB4O1xyXG59XHJcblxyXG4uc3Bhbi12YXJpYXRpb25ze1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gIH1cclxuICAuY29sbGVjdGl2ZS1kaXZ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6MjBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgfVxyXG4gIFxyXG4vLyAgaW5wdXRbdHlwZT0gJ3JhZGlvJ106YWZ0ZXIge1xyXG4vLyAgICAgd2lkdGg6IDE1cHg7XHJcbi8vICAgICBoZWlnaHQ6IDE1cHg7XHJcbi8vICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4vLyAgICAgdG9wOiAtMnB4O1xyXG4vLyAgICAgbGVmdDogLTFweDtcclxuLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4vLyAgICAgY29udGVudDogJyc7XHJcbi8vICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbi8vICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4vLyAgICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XHJcbi8vIH1cclxuXHJcbi8vIGlucHV0W3R5cGU9J3JhZGlvJ106Y2hlY2tlZDphZnRlciB7XHJcbi8vICAgICB3aWR0aDogMTVweDtcclxuLy8gICAgIGhlaWdodDogMTVweDtcclxuLy8gICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbi8vICAgICB0b3A6IC0ycHg7XHJcbi8vICAgICBsZWZ0OiAtMXB4O1xyXG4vLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjpibGFjaztcclxuLy8gICAgIGNvbnRlbnQ6ICcnO1xyXG4vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4vLyAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuLy8gICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrO1xyXG4vLyB9XHJcbi8vIGlucHV0W3R5cGU9J2NoZWNrYm94J106YWZ0ZXIge1xyXG4vLyAgICAgd2lkdGg6IDE1cHg7XHJcbi8vICAgICBoZWlnaHQ6IDE1cHg7XHJcbi8vICAgICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbi8vICAgICB0b3A6IC0ycHg7XHJcbi8vICAgICBsZWZ0OiAtMXB4O1xyXG4vLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbi8vICAgICBjb250ZW50OiAnJztcclxuLy8gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuLy8gICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbi8vICAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjaztcclxuLy8gfVxyXG5cclxuLy8gaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkOmFmdGVyIHtcclxuLy8gICAgIHdpZHRoOiAxNXB4O1xyXG4vLyAgICAgaGVpZ2h0OiAxNXB4O1xyXG4vLyAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4vLyAgICAgdG9wOiAtMnB4O1xyXG4vLyAgICAgbGVmdDogLTFweDtcclxuLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy8gICAgIGJhY2tncm91bmQtY29sb3I6YmxhY2s7XHJcbi8vICAgICBjb250ZW50OiAnJztcclxuLy8gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuLy8gICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbi8vICAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjaztcclxuLy8gfVxyXG5pbnB1dFt0eXBlPSdyYWRpbyddOmFmdGVyIHtcclxuICAgIGN1cnNvcjpwb2ludGVyICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIGlucHV0W3R5cGU9J3JhZGlvJ106Y2hlY2tlZDphZnRlciB7XHJcbiAgICBjdXJzb3I6cG9pbnRlciAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBpbnB1dFt0eXBlPSdjaGVja2JveCddOmFmdGVyIHtcclxuICAgIGN1cnNvcjpwb2ludGVyICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZDphZnRlciB7XHJcbiAgICBjdXJzb3I6cG9pbnRlciAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcblxyXG5cclxuICAiLCIuY3VzdG9taXNhdGlvbi1idXR0b24tY3NzIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMzMpO1xufVxuXG4ucmFkaW8tYnV0dG9uLWNzcyB7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogNnB4O1xufVxuXG4uc3RyaWtlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggIWltcG9ydGFudDtcbn1cblxuLmNoayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvKiBwYWRkaW5nOiA4cHg7ICovXG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5zZWxlY3QtY3NzIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHBhZGRpbmc6IDJweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnJhZGlvLWJ1dHRvbi10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1SZWd1bGFyXCI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmlucHV0LWNzcyB7XG4gIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbmFtZSB7XG4gIG1heC13aWR0aDogMTU1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXQtUmVndWxhclwiO1xuICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbn1cblxuLmN1c3RvbWlzYXRpb24tcHJpY2UtY3NzIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1Cb2xkXCIgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4uc3Bhbi12YXJpYXRpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uY29sbGVjdGl2ZS1kaXYge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbmlucHV0W3R5cGU9cmFkaW9dOmFmdGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG59XG5cbmlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQ6YWZ0ZXIge1xuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbn1cblxuaW5wdXRbdHlwZT1jaGVja2JveF06YWZ0ZXIge1xuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbn1cblxuaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZDphZnRlciB7XG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xufSJdfQ== */\";","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { FormGroup } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: \"app-dynamic-options\",\r\n templateUrl: \"./dynamic-options.component.html\",\r\n styleUrls: [\"./dynamic-options.component.scss\"],\r\n})\r\nexport class DynamicOptionsComponent implements OnInit {\r\n @Input() question: any;\r\n @Input() form: FormGroup;\r\n @Input() selected_complete_customisation?:any=[];\r\n\r\n @Output() form_value = new EventEmitter();\r\n @Output() customisation_with_variation = new EventEmitter();\r\n\r\n public checked: any;\r\n public value: any;\r\n get isValid() {\r\n return this.form.controls[this.question.key].valid;\r\n }\r\n constructor() {}\r\n v(id){\r\n for (var i=0; i < this.selected_complete_customisation.length; i++) {\r\n if (this.selected_complete_customisation[i].catalog_id == id) {\r\n\r\n return this.selected_complete_customisation[i]['variation_name']+'-'+this.selected_complete_customisation[i]['amount'];\r\n }\r\n }\r\n \r\n }\r\n ngOnInit() {}\r\n\r\n ngAfterViewInit() {\r\n if(this.selected_complete_customisation.length>0){\r\n for (var i=0; i < this.selected_complete_customisation.length; i++) {\r\n if (this.selected_complete_customisation[i].catalog_id == this.question.id) {\r\n if(this.selected_complete_customisation[i]['variation_name']){\r\n this.customisation_with_variation.emit({value_inside_selection:[this.selected_complete_customisation[i]['variation_name'],this.selected_complete_customisation[i]['amount']],id_value:this.question.id})\r\n\r\n }\r\n \r\n }\r\n }\r\n\r\n }\r\n var vm = this;\r\n // vm.question.customizationOptionVariations=[{id:1,name:\"small\",amount:\"4\"},{id:2,name:\"medium\",amount:\"5\"},{id:2,name:\"large\",amount:\"6\"}]\r\n // setTimeout(() => {\r\n // this.checked =\r\n // this.question.selected == true\r\n // ? JSON.stringify(this.question.selected)\r\n // : this.question.selected == false\r\n // ? JSON.stringify(false)\r\n // : \"\";\r\n // this.value =\r\n // (vm.question.selected == true || vm.question.selected == false)\r\n // ? JSON.stringify(vm.question.selected)\r\n // : vm.question.selected;\r\n // }, 300);\r\n this.selectDefaultValue()\r\n }\r\n changeColorRadio(ev) {\r\n\r\n if (this.question.selected == true) {\r\n this.question.selected = false;\r\n this.form.controls[this.question.key].setValue(this.question.selected);\r\n } else {\r\n this.question.selected = true;\r\n this.form.controls[this.question.key].setValue(this.question.selected);\r\n\r\n }\r\n }\r\n async selectDefaultValue(){\r\n if(this.question && this.question.customizationOptionVariations.length>0 && this.question.customizationOptionVariations){\r\n var val=this.question.customizationOptionVariations[0].name+-+this.question.customizationOptionVariations[0].amount\r\n this.customisation_with_variation.emit({value_inside_selection:val.split(\"-\"),id_value:this.question.id})\r\n }\r\n \r\n\r\n \r\n\r\n }\r\n async checkBoxDefault(){\r\n await this.changeTheColor()\r\n return true\r\n }\r\n dropDownValueSelected(event,question){\r\n this.customisation_with_variation.emit({value_inside_selection:event.target.value.split(\"-\"),id_value:question.id})\r\n\r\n }\r\n\r\n changeTheColor() {\r\n if (this.question.selected == true) {\r\n this.question.selected = false;\r\n this.form.controls[this.question.key].setValue(this.question.selected);\r\n } else {\r\n this.question.selected = true;\r\n this.form.controls[this.question.key].setValue(this.question.selected);\r\n }\r\n }\r\n}\r\n","export default \".footer-css {\\n margin: auto;\\n font-size: small;\\n text-align: center;\\n font-family: \\\"MerriweatherSans-Light\\\";\\n padding: 0px !important;\\n}\\n\\n@media screen and (max-width: 1199px) {\\n .abc {\\n display: none !important;\\n justify-content: center;\\n }\\n}\\n\\n@media screen and (max-width: 1199px) {\\n .abc {\\n display: none !important;\\n justify-content: center !important;\\n }\\n}\\n\\n@media screen and (min-width: 1200px) {\\n .center {\\n justify-content: center;\\n margin-left: 170px;\\n }\\n\\n .foot-text1 {\\n cursor: default !important;\\n margin-top: 0px;\\n margin-bottom: 0px;\\n color: black;\\n margin-right: 55px !important;\\n }\\n}\\n\\n.right {\\n float: right !important;\\n}\\n\\n.left {\\n margin-left: 10px;\\n margin-right: -150px;\\n float: left !important;\\n}\\n\\n.options-on-footer {\\n width: 78%;\\n margin: auto;\\n border-radius: 30px;\\n text-align: center;\\n position: absolute;\\n bottom: 60px;\\n left: 11%;\\n}\\n\\n.foot-text {\\n cursor: default !important;\\n font-family: \\\"Montserrat-SemiBold\\\";\\n font-size: 15px;\\n margin-top: 0px;\\n margin-bottom: 0px;\\n color: black;\\n}\\n\\n.foot-text1 {\\n cursor: default !important;\\n margin-top: 0px;\\n margin-bottom: 0px;\\n color: black;\\n}\\n\\n.options-on-footer_with_segment {\\n width: 78%;\\n margin: auto;\\n border-radius: 30px;\\n text-align: center;\\n position: absolute;\\n bottom: 60px;\\n left: 11%;\\n}\\n\\n.first-col {\\n border-radius: 110px 0px 0px 107px;\\n border: 2px solid brown;\\n background: #382f2f;\\n border-right: 2px solid rgba(0, 0, 0, 0.2) !important;\\n}\\n\\n.second-col {\\n border-radius: 0px 110px 107px 0px;\\n border: 2px solid brown;\\n background: #382f2f;\\n}\\n\\nh5 {\\n font-size: 14px;\\n /* font-weight: bolder; */\\n font-family: \\\"Barlow-Bold\\\";\\n}\\n\\n.row {\\n margin-bottom: -10px;\\n}\\n\\n.row-css {\\n height: 58px;\\n margin: auto;\\n}\\n\\n.option-tag {\\n color: #711111;\\n font-size: 8px;\\n}\\n\\n.icon-css {\\n color: #711111;\\n}\\n\\n.menu-css {\\n font-size: x-large;\\n}\\n\\n@media only screen and (min-width: 1026px) {\\n #optionTab {\\n display: none;\\n }\\n}\\n\\n@media only screen and (max-width: 500px) {\\n #rightsTab {\\n display: none;\\n }\\n}\\n\\n.segment-css {\\n margin: auto;\\n}\\n\\n.ion-icon-options {\\n margin-top: 0px !important;\\n margin-bottom: 0px !important;\\n}\\n\\n.segement-button-css {\\n --color-checked: rgb(121, 10, 10);\\n}\\n\\n.Custom {\\n background-color: #FBEED8;\\n margin-bottom: -7px;\\n}\\n\\n.fab-button {\\n position: absolute;\\n /* top: 10px; */\\n bottom: 63px;\\n right: 38px;\\n background: white !important;\\n}\\n\\n.footer-css-relative {\\n position: relative;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2Zvb3Rlci9DOlxcUm9oaXRoX1dvcmtcXENpdGFkZWxcXENpdGFkZWxcXHRobnhnaXZpbmdmcm9udGVuZG5ld1xcdGhhbmtzZ2l2aW5nZnJvbnRlbmQvc3JjXFxhcHBcXGNvbXBvbmVudFxcZm9vdGVyXFxmb290ZXIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvbXBvbmVudC9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBRUUsWUFBQTtFQUNBLGdCQUFBO0VBQ0Usa0JBQUE7RUFDQSxxQ0FBQTtFQUNBLHVCQUFBO0FDQUo7O0FEWUE7RUFDRTtJQUNFLHdCQUFBO0lBQ0EsdUJBQUE7RUNURjtBQUNGOztBRGFBO0VBQ0U7SUFDRSx3QkFBQTtJQUNBLGtDQUFBO0VDWEY7QUFDRjs7QURjQTtFQUNFO0lBQ0UsdUJBQUE7SUFDQSxrQkFBQTtFQ1pGOztFRGNBO0lBQ0UsMEJBQUE7SUFDQSxlQUFBO0lBQ0Esa0JBQUE7SUFDQSxZQUFBO0lBQ0EsNkJBQUE7RUNYRjtBQUNGOztBRGVBO0VBQ0UsdUJBQUE7QUNiRjs7QURnQkE7RUFDRSxpQkFBQTtFQUNBLG9CQUFBO0VBQ0Esc0JBQUE7QUNiRjs7QURlQTtFQUNFLFVBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLFNBQUE7QUNaRjs7QURlQTtFQUNFLDBCQUFBO0VBQ0Esa0NBQUE7RUFDQSxlQUFBO0VBR0EsZUFBQTtFQUNBLGtCQUFBO0VBRUEsWUFBQTtBQ2ZGOztBRGtCQTtFQUNFLDBCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtBQ2ZGOztBRGtCQTtFQUNFLFVBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLFNBQUE7QUNmRjs7QURtQkE7RUFDRSxrQ0FBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxxREFBQTtBQ2hCRjs7QURrQkE7RUFFSSxrQ0FBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7QUNoQko7O0FEcUJBO0VBQ0UsZUFBQTtFQUNBLHlCQUFBO0VBQ0EsMEJBQUE7QUNsQkY7O0FEb0JBO0VBQ0Usb0JBQUE7QUNqQkY7O0FEbUJBO0VBQ0UsWUFBQTtFQUNBLFlBQUE7QUNoQkY7O0FEa0JBO0VBQ0EsY0FBQTtFQUNBLGNBQUE7QUNmQTs7QURpQkE7RUFDRSxjQUFBO0FDZEY7O0FEZ0JBO0VBQ0Usa0JBQUE7QUNiRjs7QURnQkE7RUFDRTtJQUNJLGFBQUE7RUNiSjtBQUNGOztBRGlCQTtFQUNBO0lBQ0UsYUFBQTtFQ2ZBO0FBQ0Y7O0FEaUJBO0VBQ0EsWUFBQTtBQ2ZBOztBRGtCQTtFQUNBLDBCQUFBO0VBQ0UsNkJBQUE7QUNmRjs7QURpQkE7RUFDQSxpQ0FBQTtBQ2RBOztBRGdCQTtFQUNFLHlCQUFBO0VBQ0EsbUJBQUE7QUNiRjs7QURlQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsNEJBQUE7QUNaQTs7QURjQTtFQUNBLGtCQUFBO0FDWEEiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnQvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5mb290ZXItY3Nze1xyXG4gIC8vIG1heC13aWR0aDo5MCU7XHJcbiAgbWFyZ2luOmF1dG87XHJcbiAgZm9udC1zaXplOiBzbWFsbDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtZmFtaWx5OiBcIk1lcnJpd2VhdGhlclNhbnMtTGlnaHRcIjtcclxuICAgIHBhZGRpbmc6MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLy8gQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbi8vICAgLmNvbnRhaW5lciAudGV4dC1jZW50ZXIgLnRleHQtbWQtbGVmdHtcclxuLy8gICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuLy8gICB9XHJcbi8vIH1cclxuLy8gQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XHJcbi8vICAgLmNvbnRhaW5lciAudGV4dC1jZW50ZXIgLnRleHQtbWQtbGVmdHtcclxuLy8gICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuLy8gICB9XHJcbi8vIH1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XHJcbiAgLmFiY3tcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyBcclxuICB9XHJcblxyXG4gXHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XHJcbiAgLmFiY3tcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IFxyXG4gIH1cclxuIFxyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gIC5jZW50ZXIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IFxyXG4gICAgbWFyZ2luLWxlZnQ6IDE3MHB4O1xyXG4gIH1cclxuICAuZm9vdC10ZXh0MXtcclxuICAgIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1NXB4ICAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxufVxyXG5cclxuLnJpZ2h0e1xyXG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubGVmdHtcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxuICBtYXJnaW4tcmlnaHQ6IC0xNTBweDtcclxuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xyXG59XHJcbi5vcHRpb25zLW9uLWZvb3RlcntcclxuICB3aWR0aDo3OCU7XHJcbiAgbWFyZ2luOmF1dG87XHJcbiAgYm9yZGVyLXJhZGl1czozMHB4O1xyXG4gIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDYwcHg7XHJcbiAgbGVmdDogMTElO1xyXG4gIC8vIHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuLmZvb3QtdGV4dHtcclxuICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcclxuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQtU2VtaUJvbGQnO1xyXG4gIGZvbnQtc2l6ZTogMTVweDtcclxuICAvLyBmb250LWZhbWlseTogJ0Jhcmxvdy1NZWRpdW0nO1xyXG4gIC8vIGZvbnQtc2l6ZTogbGFyZ2VyO1xyXG4gIG1hcmdpbi10b3A6IDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcblxyXG4gIGNvbG9yOiBibGFjaztcclxufVxyXG5cclxuLmZvb3QtdGV4dDF7XHJcbiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLXRvcDogMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxuICBjb2xvcjogYmxhY2s7XHJcbiBcclxufVxyXG4ub3B0aW9ucy1vbi1mb290ZXJfd2l0aF9zZWdtZW50e1xyXG4gIHdpZHRoOjc4JTtcclxuICBtYXJnaW46YXV0bztcclxuICBib3JkZXItcmFkaXVzOjMwcHg7XHJcbiAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogNjBweDtcclxuICBsZWZ0OiAxMSU7XHJcbiAgLy8gcGFkZGluZzogMjBweDtcclxuXHJcbn1cclxuLmZpcnN0LWNvbHtcclxuICBib3JkZXItcmFkaXVzOiAxMTBweCAwcHggMHB4IDEwN3B4O1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkIGJyb3duO1xyXG4gIGJhY2tncm91bmQ6IHJnYig1NiwgNDcsIDQ3KTs7XHJcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIHJnYmEoMCwgMCwgMCwgMC4yKSAhaW1wb3J0YW50O1xyXG59XHJcbi5zZWNvbmQtY29se1xyXG5cclxuICAgIGJvcmRlci1yYWRpdXM6IDBweCAxMTBweCAxMDdweCAwcHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCBicm93bjtcclxuICAgIGJhY2tncm91bmQ6IHJnYig1NiwgNDcsIDQ3KTs7XHJcblxyXG5cclxuICBcclxufVxyXG5oNSB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIC8qIGZvbnQtd2VpZ2h0OiBib2xkZXI7ICovXHJcbiAgZm9udC1mYW1pbHk6ICdCYXJsb3ctQm9sZCc7XHJcbn1cclxuLnJvd3tcclxuICBtYXJnaW4tYm90dG9tOiAtMTBweDtcclxufVxyXG4ucm93LWNzc3tcclxuICBoZWlnaHQ6IDU4cHg7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG59XHJcbi5vcHRpb24tdGFne1xyXG5jb2xvcjpyZ2IoMTEzLCAxNywgMTcpO1xyXG5mb250LXNpemU6OHB4O1xyXG59XHJcbi5pY29uLWNzc3tcclxuICBjb2xvcjpyZ2IoMTEzLCAxNywgMTcpO1xyXG59XHJcbi5tZW51LWNzc3tcclxuICBmb250LXNpemU6IHgtbGFyZ2U7XHJcblxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNnB4KSB7XHJcbiAgI29wdGlvblRhYiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gXHJcblxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcclxuI3JpZ2h0c1RhYntcclxuICBkaXNwbGF5Om5vbmU7XHJcbn1cclxufVxyXG4uc2VnbWVudC1jc3N7XHJcbm1hcmdpbjphdXRvO1xyXG4vLyAtLWJhY2tncm91bmQ6IHJnYigyNDcgMTc0IDE3OCAvIDU5JSk7XHJcbn1cclxuLmlvbi1pY29uLW9wdGlvbnN7XHJcbm1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1ib3R0b206IDBweCAgIWltcG9ydGFudDtcclxufVxyXG4uc2VnZW1lbnQtYnV0dG9uLWNzc3tcclxuLS1jb2xvci1jaGVja2VkOiByZ2IoMTIxLCAxMCwgMTApO1xyXG59XHJcbi5DdXN0b217XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZCRUVEODtcclxuICBtYXJnaW4tYm90dG9tOiAtN3B4O1xyXG59XHJcbi5mYWItYnV0dG9ue1xyXG5wb3NpdGlvbjogYWJzb2x1dGU7XHJcbi8qIHRvcDogMTBweDsgKi9cclxuYm90dG9tOiA2M3B4O1xyXG5yaWdodDogMzhweDtcclxuYmFja2dyb3VuZDp3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcbi5mb290ZXItY3NzLXJlbGF0aXZle1xyXG5wb3NpdGlvbjogcmVsYXRpdmU7XHJcbn0iLCIuZm9vdGVyLWNzcyB7XG4gIG1hcmdpbjogYXV0bztcbiAgZm9udC1zaXplOiBzbWFsbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJNZXJyaXdlYXRoZXJTYW5zLUxpZ2h0XCI7XG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLmFiYyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLmFiYyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogMTcwcHg7XG4gIH1cblxuICAuZm9vdC10ZXh0MSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA1NXB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4ubGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xNTBweDtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLm9wdGlvbnMtb24tZm9vdGVyIHtcbiAgd2lkdGg6IDc4JTtcbiAgbWFyZ2luOiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA2MHB4O1xuICBsZWZ0OiAxMSU7XG59XG5cbi5mb290LXRleHQge1xuICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1TZW1pQm9sZFwiO1xuICBmb250LXNpemU6IDE1cHg7XG4gIG1hcmdpbi10b3A6IDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5mb290LXRleHQxIHtcbiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5vcHRpb25zLW9uLWZvb3Rlcl93aXRoX3NlZ21lbnQge1xuICB3aWR0aDogNzglO1xuICBtYXJnaW46IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDYwcHg7XG4gIGxlZnQ6IDExJTtcbn1cblxuLmZpcnN0LWNvbCB7XG4gIGJvcmRlci1yYWRpdXM6IDExMHB4IDBweCAwcHggMTA3cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIGJyb3duO1xuICBiYWNrZ3JvdW5kOiAjMzgyZjJmO1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMikgIWltcG9ydGFudDtcbn1cblxuLnNlY29uZC1jb2wge1xuICBib3JkZXItcmFkaXVzOiAwcHggMTEwcHggMTA3cHggMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCBicm93bjtcbiAgYmFja2dyb3VuZDogIzM4MmYyZjtcbn1cblxuaDUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIC8qIGZvbnQtd2VpZ2h0OiBib2xkZXI7ICovXG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvdy1Cb2xkXCI7XG59XG5cbi5yb3cge1xuICBtYXJnaW4tYm90dG9tOiAtMTBweDtcbn1cblxuLnJvdy1jc3Mge1xuICBoZWlnaHQ6IDU4cHg7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLm9wdGlvbi10YWcge1xuICBjb2xvcjogIzcxMTExMTtcbiAgZm9udC1zaXplOiA4cHg7XG59XG5cbi5pY29uLWNzcyB7XG4gIGNvbG9yOiAjNzExMTExO1xufVxuXG4ubWVudS1jc3Mge1xuICBmb250LXNpemU6IHgtbGFyZ2U7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNnB4KSB7XG4gICNvcHRpb25UYWIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgI3JpZ2h0c1RhYiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnNlZ21lbnQtY3NzIHtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uaW9uLWljb24tb3B0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnNlZ2VtZW50LWJ1dHRvbi1jc3Mge1xuICAtLWNvbG9yLWNoZWNrZWQ6IHJnYigxMjEsIDEwLCAxMCk7XG59XG5cbi5DdXN0b20ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJFRUQ4O1xuICBtYXJnaW4tYm90dG9tOiAtN3B4O1xufVxuXG4uZmFiLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLyogdG9wOiAxMHB4OyAqL1xuICBib3R0b206IDYzcHg7XG4gIHJpZ2h0OiAzOHB4O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uZm9vdGVyLWNzcy1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn0iXX0= */\";","import { Component, Input, OnInit } from '@angular/core';\r\nimport { MenuController, NavController } from '@ionic/angular';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss'],\r\n})\r\nexport class FooterComponent implements OnInit {\r\n public current_value_for_segment: any;\r\n @Input() footer_value:any;\r\n constructor(\r\n public navCtrl: NavController,\r\n public menu: MenuController,\r\n public router: Router\r\n ) { }\r\n ngOnChanges(){\r\n var vm=this;\r\n vm.current_value_for_segment=this.footer_value;\r\n }\r\n ngOnInit() {\r\n \r\n// switch (this.router.url) {\r\n// case '/home': {\r\n// vm.current_value_for_segment = 'home'\r\n// break;\r\n// }\r\n// case '/catering': {\r\n\r\n// vm.current_value_for_segment = 'catering'\r\n\r\n// break;\r\n// }\r\n// case '/find-a-store': {\r\n// vm.current_value_for_segment = 'find_a_store';\r\n\r\n\r\n// break;\r\n// }\r\n// case '/menu-shown': {\r\n\r\n// vm.current_value_for_segment = 'menu'\r\n\r\n// break;\r\n// }\r\n// case '/resturant-menu': {\r\n\r\n// // this.current_value_for_segment = 'home'\r\n\r\n// break;\r\n// }\r\n// }\r\n }\r\n getElement() {\r\n \r\n if (JSON.parse(localStorage.getItem(\"resturant_timings\")) != null)\r\n {\r\n var min_date = JSON.parse(localStorage.getItem(\"resturant_timings\"))[\"startLocalTime\"];\r\n var max_date = JSON.parse(localStorage.getItem(\"resturant_timings\"))[\"endLocalTime\"];\r\n }\r\n if (JSON.parse(localStorage.getItem(\"Sat_resturant_timings\")) != null)\r\n {\r\n var Sat_Mindate = JSON.parse(localStorage.getItem(\"Sat_resturant_timings\"))[\"startLocalTime\"];\r\n var Sat_Maxdate = JSON.parse(localStorage.getItem(\"Sat_resturant_timings\"))[\"endLocalTime\"];\r\n }\r\n if (JSON.parse(localStorage.getItem(\"SUN_resturant_timings\")) != null)\r\n {\r\n var Sun_Mindate = JSON.parse(localStorage.getItem(\"SUN_resturant_timings\"))[\"startLocalTime\"];\r\n var Sun_Maxdate = JSON.parse(localStorage.getItem(\"SUN_resturant_timings\"))[\"endLocalTime\"];\r\n }\r\n var time24To12 = function(a) {\r\n //below date doesn't matter.\r\n return (new Date(\"1955-11-05T\" + a + \"Z\")).toLocaleTimeString(\"bestfit\", {\r\n timeZone: \"UTC\",\r\n hour12: !0,\r\n hour: \"numeric\",\r\n minute: \"numeric\"\r\n });\r\n };\r\n \r\n var time=\" Mon - Fri: \"+time24To12(min_date)+\" to \"+time24To12(max_date)+\" & Sat-Sun : Closed \"\r\n // & Sun : \"+time24To12(Sun_Mindate)+\" to \"+time24To12(Sun_Maxdate)+\"\"\r\n\r\n \r\n return time;\r\n }\r\n \r\nngAfterViewInit(){\r\n\r\n\r\n}\r\n openCart() {\r\n this.menu.open('cart');\r\n // this.menu.enable(false, 'end');\r\n }\r\n segmentChangedww(ev){\r\n\r\n }\r\n moveToMenuPage() {\r\n this.navCtrl.navigateForward('menu-shown');\r\n\r\n }\r\n segmentChanged(ev) {\r\n var vm=this;\r\n switch (ev.detail.value) {\r\n case 'home': {\r\n vm.navCtrl.navigateRoot('home');\r\n break;\r\n }\r\n case 'catering': {\r\n vm.navCtrl.navigateRoot('catering');\r\n\r\n break;\r\n }\r\n case 'find-a-store': {\r\n vm.navCtrl.navigateRoot('find-a-store');\r\n break;\r\n }\r\n case 'menu': {\r\n this.navCtrl.navigateRoot('menu-shown');\r\n\r\n break;\r\n }\r\n case 'cart': {\r\n this.menu.open('cart');\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n}\r\n","export default \".customise-css {\\n position: absolute;\\n}\\n\\n.item-count-css {\\n display: contents;\\n}\\n\\n.count-css {\\n display: flex;\\n align-items: center;\\n /* border: 1px solid #f5f5f5; */\\n /* padding: 11px; */\\n border-radius: 8px;\\n justify-content: center;\\n padding-left: 6px;\\n padding-right: 6px;\\n position: relative;\\n top: -2px;\\n font-size: 18px;\\n}\\n\\n.symbol-css {\\n position: relative;\\n top: -6px;\\n}\\n\\n.count-buttons {\\n background: white;\\n color: black;\\n border-radius: 50%;\\n cursor: pointer;\\n border: 1px solid #454545;\\n width: 20px;\\n height: 20px;\\n text-align: center;\\n padding-top: 3.5px;\\n}\\n\\n.customise-button {\\n display: flex;\\n /* justify-content: center; */\\n align-items: center;\\n}\\n\\n.button-collection {\\n display: flex;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L2l0ZW0tY291bnQvQzpcXFJvaGl0aF9Xb3JrXFxDaXRhZGVsXFxDaXRhZGVsXFx0aG54Z2l2aW5nZnJvbnRlbmRuZXdcXHRoYW5rc2dpdmluZ2Zyb250ZW5kL3NyY1xcYXBwXFxjb21wb25lbnRcXGl0ZW0tY291bnRcXGl0ZW0tY291bnQuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvbXBvbmVudC9pdGVtLWNvdW50L2l0ZW0tY291bnQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxrQkFBQTtBQ0NKOztBRENBO0VBQ0ksaUJBQUE7QUNFSjs7QURBQTtFQUNJLGFBQUE7RUFDQSxtQkFBQTtFQUNBLCtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUVBLHVCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLGVBQUE7QUNFSjs7QURBQTtFQUNJLGtCQUFBO0VBQ0EsU0FBQTtBQ0dKOztBREtBO0VBQ0ksaUJBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EseUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7QUNGSjs7QURJQTtFQUNJLGFBQUE7RUFDQSw2QkFBQTtFQUNBLG1CQUFBO0FDREo7O0FER0E7RUFDSSxhQUFBO0FDQUoiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnQvaXRlbS1jb3VudC9pdGVtLWNvdW50LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmN1c3RvbWlzZS1jc3N7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxufVxyXG4uaXRlbS1jb3VudC1jc3N7XHJcbiAgICBkaXNwbGF5OiBjb250ZW50cztcclxufVxyXG4uY291bnQtY3Nze1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAvKiBib3JkZXI6IDFweCBzb2xpZCAjZjVmNWY1OyAqL1xyXG4gICAgLyogcGFkZGluZzogMTFweDsgKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIC8vIHdpZHRoOiAzOXB4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogLTJweDtcclxuICAgIGZvbnQtc2l6ZToxOHB4O1xyXG59XHJcbi5zeW1ib2wtY3Nze1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAtNnB4O1xyXG59XHJcbi8vIC5jb3VudC1idXR0b25ze1xyXG4vLyAgICAgLS1iYWNrZ3JvdW5kOiB3aGl0ZTtcclxuLy8gICAgIC0tY29sb3I6IGJsYWNrO1xyXG4vLyAgICAgLS1ib3JkZXItcmFkaXVzOjUwJTtcclxuLy8gICAgIGN1cnNvcjogcG9pbnRlcjtcclxuLy8gfVxyXG4uY291bnQtYnV0dG9uc3tcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgYm9yZGVyLXJhZGl1czo1MCU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBib3JkZXI6MXB4IHNvbGlkICM0NTQ1NDU7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmctdG9wOiAzLjVweDtcclxufVxyXG4uY3VzdG9taXNlLWJ1dHRvbntcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAvKiBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgKi9cclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLmJ1dHRvbi1jb2xsZWN0aW9ue1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufSIsIi5jdXN0b21pc2UtY3NzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uaXRlbS1jb3VudC1jc3Mge1xuICBkaXNwbGF5OiBjb250ZW50cztcbn1cblxuLmNvdW50LWNzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8qIGJvcmRlcjogMXB4IHNvbGlkICNmNWY1ZjU7ICovXG4gIC8qIHBhZGRpbmc6IDExcHg7ICovXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMnB4O1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5zeW1ib2wtY3NzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC02cHg7XG59XG5cbi5jb3VudC1idXR0b25zIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0NTQ1NDU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDMuNXB4O1xufVxuXG4uY3VzdG9taXNlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIGp1c3RpZnktY29udGVudDogY2VudGVyOyAqL1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYnV0dG9uLWNvbGxlY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xufSJdfQ== */\";","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"app-item-count\",\r\n templateUrl: \"./item-count.component.html\",\r\n styleUrls: [\"./item-count.component.scss\"],\r\n})\r\nexport class ItemCountComponent implements OnInit {\r\n @Input() count: any;\r\n @Input() count_for?:any;\r\n // tslint:disable-next-line: variable-name\r\n @Output() count_changed = new EventEmitter();\r\n constructor() {\r\n \r\n }\r\n \r\n addedValue() {\r\n var val = JSON.parse(this.count);\r\n if (val <100) {\r\n this.count = (val + 1).toString();\r\n this.count_changed.emit(this.count);\r\n }\r\n }\r\n subtractedValue() {\r\n // tslint:disable-next-line: radix\r\n const val = JSON.parse(this.count);\r\n if(!this.count_for){\r\n if (val > 1 ) {\r\n this.count = (val - 1).toString();\r\n this.count_changed.emit(this.count);\r\n }\r\n }\r\n else{\r\n if (val > 0) {\r\n this.count = (val - 1).toString();\r\n this.count_changed.emit(this.count);\r\n }\r\n }\r\n \r\n }\r\n // tslint:disable-next-line: use-lifecycle-interface\r\n ngAfterViewInit() {\r\n }\r\n ngOnInit() {\r\n }\r\n}\r\n","export default \".button-span {\\n margin-top: 36px;\\n}\\n\\n.back-css {\\n font-size: 14px;\\n font-family: \\\"Barlow-Regular\\\";\\n color: black;\\n float: right;\\n margin-top: 10px;\\n margin-bottom: 20px;\\n text-transform: uppercase;\\n cursor: pointer;\\n}\\n\\n.forgot-email-input {\\n font-size: 14px;\\n font-family: \\\"Barlow-Medium\\\";\\n margin-top: 10px;\\n /* margin-bottom: 8px; */\\n margin-bottom: -7px;\\n}\\n\\n.button-new-css {\\n font-family: \\\"Barlow-Medium\\\";\\n text-transform: uppercase;\\n --border-radius: 0px !important;\\n --background:#ff6614;\\n --background-activated:#ff6614 ;\\n --background-focused: #ff6614;\\n --background-hover:#ff6614 ;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L3BheS1zcXVhcmUvQzpcXFJvaGl0aF9Xb3JrXFxDaXRhZGVsXFxDaXRhZGVsXFx0aG54Z2l2aW5nZnJvbnRlbmRuZXdcXHRoYW5rc2dpdmluZ2Zyb250ZW5kL3NyY1xcYXBwXFxjb21wb25lbnRcXHBheS1zcXVhcmVcXHBheS1zcXVhcmUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvbXBvbmVudC9wYXktc3F1YXJlL3BheS1zcXVhcmUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxnQkFBQTtBQ0NKOztBRENDO0VBQ0csZUFBQTtFQUNBLDZCQUFBO0VBQ0EsWUFBQTtFQUNELFlBQUE7RUFDQyxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EseUJBQUE7RUFDQSxlQUFBO0FDRUo7O0FEQ0M7RUFDRyxlQUFBO0VBQ0EsNEJBQUE7RUFDQSxnQkFBQTtFQUNBLHdCQUFBO0VBQ0EsbUJBQUE7QUNFSjs7QURBQztFQUNFLDRCQUFBO0VBQ0EseUJBQUE7RUFDQSwrQkFBQTtFQUNBLG9CQUFBO0VBQ0EsK0JBQUE7RUFDQSw2QkFBQTtFQUNBLDJCQUFBO0FDR0giLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnQvcGF5LXNxdWFyZS9wYXktc3F1YXJlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJ1dHRvbi1zcGFue1xyXG4gICAgbWFyZ2luLXRvcDozNnB4XHJcbiB9XHJcbiAuYmFjay1jc3N7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LWZhbWlseTogJ0Jhcmxvdy1SZWd1bGFyJztcclxuICAgIGNvbG9yOmJsYWNrO1xyXG4gICBmbG9hdDpyaWdodDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuIFxyXG4gfVxyXG4gLmZvcmdvdC1lbWFpbC1pbnB1dHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtZmFtaWx5OiAnQmFybG93LU1lZGl1bSc7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgLyogbWFyZ2luLWJvdHRvbTogOHB4OyAqL1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTdweDtcclxuIH1cclxuIC5idXR0b24tbmV3LWNzc3tcclxuICAgZm9udC1mYW1pbHk6IFwiQmFybG93LU1lZGl1bVwiO1xyXG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAtLWJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xyXG4gICAtLWJhY2tncm91bmQ6I2ZmNjYxNDtcclxuICAgLS1iYWNrZ3JvdW5kLWFjdGl2YXRlZDojZmY2NjE0IDtcclxuICAgLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6ICNmZjY2MTQ7XHJcbiAgIC0tYmFja2dyb3VuZC1ob3ZlcjojZmY2NjE0IDtcclxuICAgfSIsIi5idXR0b24tc3BhbiB7XG4gIG1hcmdpbi10b3A6IDM2cHg7XG59XG5cbi5iYWNrLWNzcyB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LVJlZ3VsYXJcIjtcbiAgY29sb3I6IGJsYWNrO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZvcmdvdC1lbWFpbC1pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LU1lZGl1bVwiO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICAvKiBtYXJnaW4tYm90dG9tOiA4cHg7ICovXG4gIG1hcmdpbi1ib3R0b206IC03cHg7XG59XG5cbi5idXR0b24tbmV3LWNzcyB7XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvdy1NZWRpdW1cIjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLS1ib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgLS1iYWNrZ3JvdW5kOiNmZjY2MTQ7XG4gIC0tYmFja2dyb3VuZC1hY3RpdmF0ZWQ6I2ZmNjYxNCA7XG4gIC0tYmFja2dyb3VuZC1mb2N1c2VkOiAjZmY2NjE0O1xuICAtLWJhY2tncm91bmQtaG92ZXI6I2ZmNjYxNCA7XG59Il19 */\";","import { Component, EventEmitter, OnInit, Output } from \"@angular/core\";\r\nimport { ModalController } from \"@ionic/angular\";\r\nimport * as moment from \"moment\";\r\nimport { AlertController } from '@ionic/angular';\r\n\r\n\r\nimport { RewardsPage } from \"src/app/page/rewards/rewards.page\";\r\nimport { AuthService } from 'src/app/service/auth.service';\r\nimport { ResturantApiService } from \"src/app/service/resturant-api.service\";\r\nimport { SubjectCollectionService } from \"src/app/service/subject-collection.service\";\r\nimport { UtilityService } from \"src/app/service/utility.service\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\ndeclare var SqPaymentForm: any;\r\ndeclare var Square: any;\r\ndeclare global {\r\n interface Window { dataLayer: any[]; }\r\n}\r\n@Component({\r\n selector: \"app-pay-square\",\r\n templateUrl: \"./pay-square.component.html\",\r\n styleUrls: [\"./pay-square.component.scss\"],\r\n})\r\nexport class PaySquareComponent implements OnInit {\r\n public button :any ;\r\n public paymentForm: any;\r\n public rewards?:any = [];\r\n public Payments:any;\r\n public card1: any;\r\n public user_info: any;\r\n public account_info:any;\r\n public reward_tier_id: any;\r\n @Output() payment_status = new EventEmitter();\r\n @Output() back_to_menu = new EventEmitter();\r\n constructor(\r\n \r\n private alertController: AlertController,\r\n public util: UtilityService,\r\n public resturant_service: ResturantApiService,\r\n public subject_service: SubjectCollectionService,\r\n public auth:AuthService,\r\n public modalController: ModalController,\r\n \r\n ) {\r\n \r\n } \r\n \r\n public loadExternalScript(url: string) {\r\n const body = document.body;\r\n const script = document.createElement('script');\r\n script.innerHTML = '';\r\n script.src = url;\r\n script.async = true;\r\n script.defer = true;\r\n body.appendChild(script);\r\n }\r\n\r\n async ngOnInit() {\r\n \r\n this.loadExternalScript(environment.payment_form.src);\r\n \r\n\r\n var vm = this;\r\n\r\n if (localStorage.getItem(\"user_info\"))\r\n {\r\n await this.resturant_service.getLoyaltyPrograms().subscribe(\r\n (data)=>{\r\n vm.rewards.push(...data);\r\n }\r\n )\r\n this.user_info=JSON.parse(localStorage.getItem(\"user_info\"));\r\n var customer_id=this.user_info.squareCustomerid;\r\n \r\n this.getLoyaltyAccount(customer_id);\r\n }\r\n\r\n await this.newCard();\r\n // vm.Payments.build();\r\n }\r\n getLoyaltyAccount(customer_id)\r\n {\r\n this.resturant_service.getLoyaltyAccount(customer_id).subscribe(\r\n (data)=>{\r\n if(data)\r\n {\r\n this.account_info=data;\r\n }\r\n }\r\n )\r\n }\r\n async onGetCardNonce(event) {\r\n debugger\r\n var vm = this;\r\n var amount:any=JSON.parse(localStorage.getItem(\"cart_subtotal\"));\r\n if(amount.subtotal.amount<250)\r\n {\r\n {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"Checkout failed!!\",\r\n message:\r\n \"A minimum order of $250 is required for delivery. For pick-up, please call our catering managers directly at 832.640.5236.\",\r\n // \"We are open. Please visit our restaurant on the corner of Dryden and Main to place your order.\",\r\n //\"Please schedule pick-up during business hours - Mon to Fri - \"+time24To12(this.min_date)+\" - \"+time24To12(this.max_date)+\"\",\r\n buttons: [\r\n {\r\n text: \"OK\",\r\n role: \"OK\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => {\r\n },\r\n },\r\n ],\r\n });\r\n await alert.present();\r\n return false;\r\n }\r\n }\r\n \r\n if (localStorage.getItem(\"user_info\")) {\r\n vm.user_info = JSON.parse(localStorage.getItem(\"user_info\"));\r\n var customer_id=this.user_info.squareCustomerid;\r\n this.getLoyaltyAccount(customer_id);\r\n var min_value=this.rewards[0].reward_tiers[0].points;\r\n for(var i=1;i\r\n {\r\n if(collected_value && collected_value.data && collected_value.data.reward_tier_id)\r\n {\r\n this.reward_tier_id=collected_value.data.reward_tier_id;\r\n }\r\n if(collected_value && collected_value.data && collected_value.data.do_payment)\r\n {\r\n debugger\r\n // Don't submit the form until SqPaymentForm returns with a nonce\r\n event.preventDefault();\r\n // Request a nonce from the SqPaymentForm object\r\n\r\n const result= await this.card1.tokenize();\r\n if (result.status =='OK')\r\n {\r\n var abc = JSON.stringify(result,null,2);\r\n var details = JSON.parse(abc);\r\n await vm.util.presentLoading();\r\n await this.payment_nonce(details.token) \r\n }else{\r\n\r\n }\r\n \r\n \r\n }\r\n });\r\n return await modal.present();\r\n }\r\n \r\n }\r\n else{\r\n debugger\r\n // Don't submit the form until SqPaymentForm returns with a nonce\r\n event.preventDefault();\r\n // Request a nonce from the SqPaymentForm object\r\n // this.paymentForm.requestCardNonce();\r\n const result= await this.card1.tokenize();\r\n if (result.status =='OK')\r\n {\r\n var abc = JSON.stringify(result,null,2);\r\n var details = JSON.parse(abc);\r\n await vm.util.presentLoading();\r\n await this.payment_nonce(details.token) \r\n }else{\r\n\r\n }\r\n }\r\n \r\n }\r\n openMenu() {\r\n this.back_to_menu.emit(true);\r\n localStorage.removeItem('guest_user_form_value')\r\n localStorage.removeItem('guest_info')\r\n localStorage.removeItem('date_entered')\r\n localStorage.removeItem('time_chosen_for_pick_up')\r\n\r\n\r\n\r\n // this.subject_service.getheaderButtonClicked('menu')\r\n }\r\n async payment_nonce(nonce)\r\n {\r\n debugger;\r\n var vm = this;\r\n var guest_user_result:any;\r\n if(localStorage.getItem('guest_user_form_value')){\r\n guest_user_result=await vm.guestUserInfo()\r\n }\r\n else{\r\n guest_user_result=\"success\"\r\n }\r\n if( guest_user_result=\"success\"){\r\n var fulfilment_result = await vm.prepareFulfilment_ready_to_hit();\r\n if (fulfilment_result == \"error\") {\r\n \r\n } else {\r\n var location_id = localStorage.getItem(\"current_resturant_data\")\r\n ? JSON.parse(localStorage.getItem(\"current_resturant_data\"))[\r\n \"id\"\r\n ]\r\n : \"\";\r\n var order_id = localStorage.getItem(\"order_id\")\r\n ? localStorage.getItem(\"order_id\")\r\n : \"\";\r\n var fulfilment_data = localStorage.getItem(\"fulfilment_data\")\r\n ? JSON.parse(localStorage.getItem(\"fulfilment_data\"))\r\n : \"\";\r\n if (location_id) {\r\n if (order_id) {\r\n \r\n if (fulfilment_data) {\r\n debugger;\r\n let data = {\r\n OrderId: order_id,\r\n LocationId: location_id,\r\n SourceId: nonce,\r\n // Amount: fulfilment_data[\"total\"]*1.19075 / 1.1825,\r\n Amount: fulfilment_data[\"total\"],\r\n // parseFloat(total_amount[\"subtotal\"][\"amount\"]) +\r\n // parseFloat(total_amount[\"tax\"][\"amount\"]),\r\n };\r\n vm.resturant_service.placeOrder(data).subscribe(\r\n async (data) => {\r\n \r\n window.dataLayer.push({\r\n event: 'Payement-Response',\r\n data: data\r\n });\r\n \r\n vm.payment_status.emit(\"done\");\r\n localStorage.removeItem(\"fulfilment_data\");\r\n localStorage.removeItem(\"order_id\");\r\n localStorage.removeItem(\"guest_info\");\r\n vm.subject_service.getcartReponse(null);\r\n vm.subject_service.getSubtotalReponse(null);\r\n vm.subject_service.getItemCount(0);\r\n vm.subject_service.getFulfilment(false);\r\n \r\n localStorage.removeItem(\"order_fulfilment_mode\");\r\n localStorage.removeItem(\"cart_response\");\r\n localStorage.removeItem(\"time_chosen_for_pick_up\");\r\n localStorage.removeItem(\"date_entered\");\r\n localStorage.removeItem(\"guest_user_form_value\");\r\n \r\n // localStorage.removeItem(\"user_info\");\r\n \r\n \r\n localStorage.removeItem(\"cart_subtotal\");\r\n await vm.util.dismissLoader();\r\n },\r\n async (error) => {\r\n debugger;\r\n await vm.util.dismissLoader();\r\n var errorMessage = \"\";\r\n if (typeof error === 'object' && error.text) {\r\n const messageMatch = error.text.match(/\"ErrorMessage\":\"(.*?)\"/);\r\n if (messageMatch) {\r\n errorMessage = messageMatch[1];\r\n } else {\r\n errorMessage = error.text;\r\n }\r\n } else if (typeof error === 'string') {\r\n errorMessage = error;\r\n }\r\n vm.util.showErrorMessage(errorMessage); \r\n }\r\n );\r\n } else {\r\n await vm.util.dismissLoader();\r\n \r\n vm.util.showErrorMessage(\r\n \"Time for pickup is not correctly selected\"\r\n );\r\n }\r\n } else {\r\n await vm.util.dismissLoader();\r\n \r\n vm.util.showErrorMessage(\"Your card is empty yet\");\r\n }\r\n } else {\r\n await vm.util.dismissLoader();\r\n \r\n vm.util.showErrorMessage(\"No location is present\");\r\n }\r\n }\r\n }\r\n \r\n \r\n }\r\n async prepareFulfilment_ready_to_hit() {\r\n return new Promise(async (resolve, reject) => {\r\n var vm = this;\r\n var customer_id: any;\r\n if(localStorage.getItem('user_info')){\r\n customer_id=localStorage.getItem('user_info')?JSON.parse(localStorage.getItem('user_info'))['squareCustomerid']:\"\"\r\n }\r\n if(localStorage.getItem('guest_info')){\r\n customer_id=localStorage.getItem('guest_info')?JSON.parse(localStorage.getItem('guest_info'))['squareCustomerId']:\"\"\r\n }\r\n \r\n var date_entered :any\r\n date_entered= localStorage.getItem(\"date_entered\");\r\n var time_chosen_for_pick_up = localStorage.getItem(\r\n \"time_chosen_for_pick_up\"\r\n );\r\n // var guest_info_info=localStorage.getItem(\"guest_info\")?JSON.parse(localStorage.getItem(\"guest_info\")):\"\"\r\n var user_info = localStorage.getItem(\"user_info\")\r\n ? JSON.parse(localStorage.getItem(\"user_info\"))\r\n : \"\";\r\n var guest_info = localStorage.getItem(\"guest_user_form_value\")\r\n ? JSON.parse(localStorage.getItem(\"guest_user_form_value\"))\r\n : \"\";\r\n var location_id = JSON.parse(\r\n localStorage.getItem(\"current_resturant_data\")\r\n )[\"id\"];\r\n var order_id = localStorage.getItem(\"order_id\");\r\n if (date_entered) {\r\n if (order_id) {\r\n if (location_id) {\r\n var fulfilment_values: any;\r\n if ((time_chosen_for_pick_up == \"schedule\")) {\r\n fulfilment_values = {\r\n Type: 1,\r\n FulfillmentState: 0,\r\n ScheduleType: 1,\r\n PickupAt: new Date(date_entered).toISOString(),\r\n Note: \"Optional\",\r\n RecipientName: user_info\r\n ? user_info.firstName\r\n : guest_info.FirstName,\r\n Email: user_info ? user_info.email : guest_info.Email,\r\n };\r\n } else {\r\n fulfilment_values = {\r\n Type: 1,\r\n FulfillmentState: 0,\r\n ScheduleType: 0,\r\n RecipientName: user_info\r\n ? user_info.firstName\r\n : guest_info.FirstName,\r\n Email: user_info ? user_info.email : guest_info.Email,\r\n };\r\n }\r\n debugger;\r\n var p = {\r\n OrderId: order_id,\r\n CustomerId: customer_id,\r\n RewardTierId:this.reward_tier_id ?this.reward_tier_id : null,\r\n LocationId: location_id,\r\n // SquareLoyaltyAccountId:this.account_info ? this.account_info.squareLoyaltyAccountId:null ,\r\n SquareLoyaltyAccountId:localStorage.getItem('date_entered'),\r\n Fulfillment: { ...fulfilment_values },\r\n GuestInfo: {\r\n ContactNumber: guest_info.PhoneNumber,\r\n Address: guest_info.ShippedAt\r\n }\r\n };\r\n console.log(p);\r\n\r\n var guest_user_info = user_info\r\n ? \"\"\r\n : JSON.parse(localStorage.getItem(\"guest_info\"));\r\n\r\n \r\n\r\n vm.resturant_service.createOrderWithoutUserInfo(p).subscribe(\r\n (data_2: any) => {\r\n // vm.util.dismissLoader();\r\n // vm.move_to_payment = true;\r\n // vm.guest_info = guest_user_info;\r\n localStorage.setItem(\"fulfilment_data\", JSON.stringify(data_2));\r\n resolve(\"success\");\r\n },\r\n (error) => {\r\n debugger\r\n var errorMessage = \"\";\r\n if (typeof error === 'object' && error.text) {\r\n const messageMatch = error.text.match(/\"ErrorMessage\":\"(.*?)\"/);\r\n if (messageMatch) {\r\n errorMessage = messageMatch[1];\r\n } else {\r\n errorMessage = error.text;\r\n }\r\n } else if (typeof error === 'string') {\r\n errorMessage = error;\r\n }\r\n vm.util.dismissLoader();\r\n vm.util.showErrorMessage(errorMessage);\r\n //vm.util.showErrorMessage(\"Invalid Debit/Credit Card\");\r\n reject(\"error\");\r\n // vm.alertMessage(\"Error while submitting fulfilment\",error)\r\n }\r\n );\r\n }\r\n } else {\r\n \r\n await vm.util.dismissLoader();\r\n\r\n vm.util.showErrorMessage(\"Your Basket is empty\");\r\n\r\n reject(\"error\");\r\n\r\n // vm.alertMessage(\"Order Problem\",\"Your Basket is empty\")\r\n }\r\n } else {\r\n \r\n // vm.util.dismissLoader();\r\n\r\n vm.util.showErrorMessage(\"No date is selected to place the order\");\r\n reject(\"error\");\r\n }\r\n });\r\n }\r\n async guestUserInfo() {\r\n \r\n var vm = this;\r\n\r\n return new Promise(async (resolve, reject) => {\r\n try{\r\n var guest_user_account=localStorage.getItem('guest_user_form_value')?JSON.parse(localStorage.getItem('guest_user_form_value')):\"\"\r\n var data = {\r\n FirstName: guest_user_account.FirstName,\r\n LastName: guest_user_account.LastName,\r\n Email: guest_user_account.Email,\r\n PhoneNumber: guest_user_account.PhoneNumber,\r\n // \"CaptchaToken\" : \"test\",\r\n IsGuest: \"true\",\r\n };\r\n \r\n \r\n this.auth\r\n .register(data)\r\n .then(async (d: any) => {\r\n localStorage.setItem(\"guest_info\", JSON.stringify(d));\r\n resolve(\"success\");\r\n })\r\n .catch(async (error) => {\r\n await vm.util.dismissLoader();\r\n\r\n reject(error);\r\n });\r\n \r\n \r\n \r\n }\r\n catch(error){\r\n\r\n }\r\n })}\r\n async newCard() {\r\n debugger\r\n var vm = this;\r\n this.Payments = new Square.payments(environment.square_keys.squareApplicationId, \"L9FC6A5SEF35Z\");\r\n // const card1 = await payments.card();\r\n const darkModeCardStyle = {\r\n '.input-container': {\r\n borderColor: '#2D2D2D',\r\n borderRadius: '6px',\r\n },\r\n '.input-container.is-focus': {\r\n borderColor: '#006AFF',\r\n },\r\n '.input-container.is-error': {\r\n borderColor: '#ff1600',\r\n },\r\n '.message-text': {\r\n color: '#999999',\r\n },\r\n '.message-icon': {\r\n color: '#999999',\r\n },\r\n '.message-text.is-error': {\r\n color: '#ff1600',\r\n },\r\n '.message-icon.is-error': {\r\n color: '#ff1600',\r\n },\r\n input: {\r\n backgroundColor: '#2D2D2D',\r\n color: '#FFFFFF',\r\n fontFamily: 'helvetica neue, sans-serif',\r\n },\r\n 'input::placeholder': {\r\n color: '#999999',\r\n },\r\n 'input.is-error': {\r\n color: '#ff1600',\r\n },\r\n };\r\n this.card1 = await this.Payments.card();\r\n await this.card1.attach(\"#Payementform-container\");\r\n let tokenResult;\r\n \r\n this.button = document.getElementById('#sq-creditcard');\r\n // this.button.addEventListener('click', e => {\r\n // debugger\r\n // e.preventDefault();\r\n // tokenResult = this.card1.tokenize();\r\n // });\r\n // this.paymentForm = new SqPaymentForm({\r\n // // Initialize the payment form elements\r\n // applicationId: environment.square_keys.squareApplicationId,\r\n // autoBuild: false,\r\n // inputClass: \"sq-input\",\r\n // // Customize the CSS for SqPaymentForm iframe elements\r\n\r\n // inputStyles: [\r\n // {\r\n // fontSize: \"16px\",\r\n // lineHeight: \"24px\",\r\n // padding: \"16px\",\r\n // placeholderColor: \"#a0a0a0\",\r\n // backgroundColor: \"transparent\",\r\n // },\r\n // ],\r\n // // Initialize the credit card placeholders\r\n // // applePay:{\r\n // // elementId: 'applePay',\r\n // // },\r\n // // googlePay:{\r\n // // elementId: 'googlePay',\r\n // // },\r\n // cardNumber: {\r\n // elementId: \"sq-card-number\",\r\n // placeholder: \"Card Number\",\r\n // },\r\n // cvv: {\r\n // elementId: \"sq-cvv\",\r\n // placeholder: \"CVV\",\r\n // },\r\n // expirationDate: {\r\n // elementId: \"sq-expiration-date\",\r\n // placeholder: \"MM/YY\",\r\n // },\r\n // postalCode: {\r\n // elementId: \"sq-postal-code\",\r\n // placeholder: \"BILLING ZIP CODE\",\r\n // },\r\n // // SqPaymentForm callback functions\r\n // callbacks: {\r\n // /*\r\n // * callback function: cardNonceResponseReceived\r\n // * Triggered when: SqPaymentForm completes a card nonce request\r\n // */\r\n\r\n // cardNonceResponseReceived: async function (errors, nonce, cardData) {\r\n // await vm.util.presentLoading();\r\n // var err :any=\"\";\r\n // if (errors) {\r\n \r\n\r\n // errors.forEach(function (error) {\r\n \r\n // err = err + \"
  • \" + error.message + \"

  • \";\r\n // });\r\n // await vm.util.dismissLoader();\r\n \r\n // vm.util.showErrorMessage(err);\r\n // } else {\r\n \r\n // var guest_user_result:any;\r\n // if(localStorage.getItem('guest_user_form_value')){\r\n // guest_user_result=await vm.guestUserInfo()\r\n // }\r\n // else{\r\n // guest_user_result=\"success\"\r\n // }\r\n // if( guest_user_result=\"success\"){\r\n // var fulfilment_result = await vm.prepareFulfilment_ready_to_hit();\r\n // if (fulfilment_result == \"error\") {\r\n \r\n // } else {\r\n // var location_id = localStorage.getItem(\"current_resturant_data\")\r\n // ? JSON.parse(localStorage.getItem(\"current_resturant_data\"))[\r\n // \"id\"\r\n // ]\r\n // : \"\";\r\n // var order_id = localStorage.getItem(\"order_id\")\r\n // ? localStorage.getItem(\"order_id\")\r\n // : \"\";\r\n // var fulfilment_data = localStorage.getItem(\"fulfilment_data\")\r\n // ? JSON.parse(localStorage.getItem(\"fulfilment_data\"))\r\n // : \"\";\r\n // if (location_id) {\r\n // if (order_id) {\r\n\r\n // if (fulfilment_data) {\r\n // let data = {\r\n // OrderId: order_id,\r\n // LocationId: location_id,\r\n // SourceId: nonce,\r\n // Amount: fulfilment_data[\"total\"],\r\n \r\n // // parseFloat(total_amount[\"subtotal\"][\"amount\"]) +\r\n // // parseFloat(total_amount[\"tax\"][\"amount\"]),\r\n // };\r\n // vm.resturant_service.placeOrder(data).subscribe(\r\n // async (data) => {\r\n \r\n // window.dataLayer.push({\r\n // event: 'Payement-Response',\r\n // data: data\r\n // });\r\n \r\n // vm.payment_status.emit(\"done\");\r\n // localStorage.removeItem(\"fulfilment_data\");\r\n // localStorage.removeItem(\"order_id\");\r\n // localStorage.removeItem(\"guest_info\");\r\n // vm.subject_service.getcartReponse(null);\r\n // vm.subject_service.getSubtotalReponse(null);\r\n // vm.subject_service.getItemCount(0);\r\n // vm.subject_service.getFulfilment(false);\r\n \r\n // localStorage.removeItem(\"order_fulfilment_mode\");\r\n // localStorage.removeItem(\"cart_response\");\r\n // localStorage.removeItem(\"time_chosen_for_pick_up\");\r\n // localStorage.removeItem(\"date_entered\");\r\n // localStorage.removeItem(\"guest_user_form_value\");\r\n \r\n // // localStorage.removeItem(\"user_info\");\r\n \r\n \r\n // localStorage.removeItem(\"cart_subtotal\");\r\n // await vm.util.dismissLoader();\r\n // },\r\n // async (error) => {\r\n // await vm.util.dismissLoader();\r\n \r\n // vm.util.showErrorMessage(error);\r\n // }\r\n // );\r\n // } else {\r\n // await vm.util.dismissLoader();\r\n \r\n // vm.util.showErrorMessage(\r\n // \"Time for pickup is not correctly selected\"\r\n // );\r\n // }\r\n // } else {\r\n // await vm.util.dismissLoader();\r\n \r\n // vm.util.showErrorMessage(\"Your card is empty yet\");\r\n // }\r\n // } else {\r\n // await vm.util.dismissLoader();\r\n \r\n // vm.util.showErrorMessage(\"No location is present\");\r\n // }\r\n // }\r\n // }\r\n \r\n // }\r\n // },\r\n // },\r\n // });\r\n }\r\n}\r\n","export default \".button-group {\\n margin: auto;\\n text-align: center;\\n}\\n\\n.border-on-button {\\n border: solid 2px #E80510;\\n font-family: \\\"Barlow-Medium\\\";\\n text-transform: uppercase;\\n --border-radius: 0px !important;\\n margin-left: 10px;\\n width: 80px;\\n height: 40px;\\n --background:white;\\n --color: #e80510;\\n --background-activated: white;\\n --background-focused: white;\\n --background-hover: white;\\n}\\n\\n.button-new-css {\\n font-family: \\\"Barlow-Medium\\\";\\n text-transform: uppercase;\\n margin-left: -6px;\\n --border-radius: 0px !important;\\n width: 80px;\\n height: 40px;\\n --background:#E80510;\\n --background-activated:#E80510 ;\\n --background-focused: #E80510;\\n --background-hover:#E80510 ;\\n}\\n\\n.div-css {\\n padding: 2px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L3JlZ2lzdGVyLXNpZ24taW4vQzpcXFJvaGl0aF9Xb3JrXFxDaXRhZGVsXFxDaXRhZGVsXFx0aG54Z2l2aW5nZnJvbnRlbmRuZXdcXHRoYW5rc2dpdmluZ2Zyb250ZW5kL3NyY1xcYXBwXFxjb21wb25lbnRcXHJlZ2lzdGVyLXNpZ24taW5cXHJlZ2lzdGVyLXNpZ24taW4uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvbXBvbmVudC9yZWdpc3Rlci1zaWduLWluL3JlZ2lzdGVyLXNpZ24taW4uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxZQUFBO0VBQ0Esa0JBQUE7QUNDSjs7QURDQTtFQUNFLHlCQUFBO0VBQ0EsNEJBQUE7RUFDQSx5QkFBQTtFQUNBLCtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw2QkFBQTtFQUNBLDJCQUFBO0VBQ0EseUJBQUE7QUNFRjs7QURBQTtFQUNFLDRCQUFBO0VBQ0EseUJBQUE7RUFDQSxpQkFBQTtFQUNBLCtCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtFQUNBLCtCQUFBO0VBQ0EsNkJBQUE7RUFDQSwyQkFBQTtBQ0dGOztBRERBO0VBQ0ksWUFBQTtBQ0lKIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50L3JlZ2lzdGVyLXNpZ24taW4vcmVnaXN0ZXItc2lnbi1pbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5idXR0b24tZ3JvdXB7XHJcbiAgICBtYXJnaW46YXV0bztcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG59XHJcbi5ib3JkZXItb24tYnV0dG9ue1xyXG4gIGJvcmRlcjogc29saWQgMnB4ICNFODA1MTA7XHJcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LU1lZGl1bVwiO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgLS1ib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxuICB3aWR0aDogODBweDtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgLS1iYWNrZ3JvdW5kOndoaXRlO1xyXG4gIC0tY29sb3I6ICNlODA1MTA7XHJcbiAgLS1iYWNrZ3JvdW5kLWFjdGl2YXRlZDogd2hpdGU7XHJcbiAgLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6IHdoaXRlO1xyXG4gIC0tYmFja2dyb3VuZC1ob3Zlcjogd2hpdGU7XHJcbiAgfVxyXG4uYnV0dG9uLW5ldy1jc3N7XHJcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LU1lZGl1bVwiO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgbWFyZ2luLWxlZnQ6IC02cHg7XHJcbiAgLS1ib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcclxuICB3aWR0aDogODBweDtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgLS1iYWNrZ3JvdW5kOiNFODA1MTA7XHJcbiAgLS1iYWNrZ3JvdW5kLWFjdGl2YXRlZDojRTgwNTEwIDtcclxuICAtLWJhY2tncm91bmQtZm9jdXNlZDogI0U4MDUxMDtcclxuICAtLWJhY2tncm91bmQtaG92ZXI6I0U4MDUxMCA7XHJcbiAgfVxyXG4uZGl2LWNzc3tcclxuICAgIHBhZGRpbmc6MnB4O1xyXG59XHJcbiIsIi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW46IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJvcmRlci1vbi1idXR0b24ge1xuICBib3JkZXI6IHNvbGlkIDJweCAjRTgwNTEwO1xuICBmb250LWZhbWlseTogXCJCYXJsb3ctTWVkaXVtXCI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC0tYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICAtLWJhY2tncm91bmQ6d2hpdGU7XG4gIC0tY29sb3I6ICNlODA1MTA7XG4gIC0tYmFja2dyb3VuZC1hY3RpdmF0ZWQ6IHdoaXRlO1xuICAtLWJhY2tncm91bmQtZm9jdXNlZDogd2hpdGU7XG4gIC0tYmFja2dyb3VuZC1ob3Zlcjogd2hpdGU7XG59XG5cbi5idXR0b24tbmV3LWNzcyB7XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvdy1NZWRpdW1cIjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWxlZnQ6IC02cHg7XG4gIC0tYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIC0tYmFja2dyb3VuZDojRTgwNTEwO1xuICAtLWJhY2tncm91bmQtYWN0aXZhdGVkOiNFODA1MTAgO1xuICAtLWJhY2tncm91bmQtZm9jdXNlZDogI0U4MDUxMDtcbiAgLS1iYWNrZ3JvdW5kLWhvdmVyOiNFODA1MTAgO1xufVxuXG4uZGl2LWNzcyB7XG4gIHBhZGRpbmc6IDJweDtcbn0iXX0= */\";","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NavigationExtras, Router } from '@angular/router';\r\nimport { UtilityService } from 'src/app/service/utility.service';\r\n\r\n@Component({\r\n selector: 'app-register-sign-in',\r\n templateUrl: './register-sign-in.component.html',\r\n styleUrls: ['./register-sign-in.component.scss'],\r\n})\r\nexport class RegisterSignInComponent implements OnInit {\r\n @Input() items:any;\r\n @Input() current_resturant: any;\r\n public header_button_clicked: any;\r\n public thanks_giving_form_display:any;\r\n constructor(\r\n public util: UtilityService,\r\n public router: Router,\r\n ) { }\r\n\r\n ngOnInit() {}\r\n formToOpen(form_name) {\r\n this.header_button_clicked = form_name;\r\n this.thanks_giving_form_display=false;\r\n const vm = this;\r\n vm.util.dismissPopover();\r\n const navigationExtras: NavigationExtras = {\r\n state: {\r\n form_name: form_name,\r\n },\r\n };\r\n if(location.href.includes('/gain-credentials/'))\r\n { \r\n this.router.routeReuseStrategy.shouldReuseRoute = function () {\r\n return false;}\r\n this.router.onSameUrlNavigation = 'reload';\r\n this.util.presentLoading();\r\n }\r\n this.router.navigate([`/gain-credentials/${this.current_resturant}`], {\r\n\r\n ...navigationExtras,\r\n });\r\n }\r\n}\r\n","export default \".gmail-button-css {\\n margin-top: 10px;\\n}\\n\\n.social-media-button {\\n text-align: center;\\n}\\n\\n.forgot-password {\\n float: right;\\n}\\n\\n.close-css {\\n float: right !important;\\n position: absolute;\\n right: 0px;\\n top: -14px;\\n}\\n\\n.mat-dialog {\\n margin: none !important;\\n position: relative;\\n}\\n\\n.sign-up-button-css {\\n padding: 0px !important;\\n}\\n\\n.mat-dialog-container {\\n padding: 9px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L3JlZ2lzdGVyL0M6XFxSb2hpdGhfV29ya1xcQ2l0YWRlbFxcQ2l0YWRlbFxcdGhueGdpdmluZ2Zyb250ZW5kbmV3XFx0aGFua3NnaXZpbmdmcm9udGVuZC9zcmNcXGFwcFxcY29tcG9uZW50XFxyZWdpc3RlclxccmVnaXN0ZXIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvbXBvbmVudC9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGdCQUFBO0FDQ0o7O0FEQ0E7RUFDRSxrQkFBQTtBQ0VGOztBREFBO0VBQ0csWUFBQTtBQ0dIOztBRERBO0VBQ0ksdUJBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxVQUFBO0FDSUo7O0FEQ0E7RUFDSSx1QkFBQTtFQUNBLGtCQUFBO0FDRUo7O0FEQUE7RUFDSSx1QkFBQTtBQ0dKOztBRERBO0VBQ0ksdUJBQUE7QUNJSiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudC9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5nbWFpbC1idXR0b24tY3Nze1xyXG4gICAgbWFyZ2luLXRvcDoxMHB4O1xyXG59XHJcbi5zb2NpYWwtbWVkaWEtYnV0dG9ue1xyXG4gIHRleHQtYWxpZ246Y2VudGVyO1xyXG59XHJcbi5mb3Jnb3QtcGFzc3dvcmR7XHJcbiAgIGZsb2F0OnJpZ2h0O1xyXG59XHJcbi5jbG9zZS1jc3N7XHJcbiAgICBmbG9hdDpyaWdodCAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICByaWdodDowcHg7XHJcbiAgICB0b3A6LTE0cHg7XHJcbn1cclxuLmxvZ2luLWJ1dHRvbi1jc3N7XHJcbiAgICAvLyBtYXJnaW4tdG9wOjEwcHg7XHJcbn1cclxuLm1hdC1kaWFsb2d7XHJcbiAgICBtYXJnaW46bm9uZSAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbn1cclxuLnNpZ24tdXAtYnV0dG9uLWNzc3tcclxuICAgIHBhZGRpbmc6MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hdC1kaWFsb2ctY29udGFpbmVye1xyXG4gICAgcGFkZGluZzo5cHggIWltcG9ydGFudDtcclxufSIsIi5nbWFpbC1idXR0b24tY3NzIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnNvY2lhbC1tZWRpYS1idXR0b24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mb3Jnb3QtcGFzc3dvcmQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5jbG9zZS1jc3Mge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMHB4O1xuICB0b3A6IC0xNHB4O1xufVxuXG4ubWF0LWRpYWxvZyB7XG4gIG1hcmdpbjogbm9uZSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zaWduLXVwLWJ1dHRvbi1jc3Mge1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbn1cblxuLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgcGFkZGluZzogOXB4ICFpbXBvcnRhbnQ7XG59Il19 */\";","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-register',\r\n templateUrl: './register.component.html',\r\n styleUrls: ['./register.component.scss'],\r\n})\r\nexport class RegisterComponent implements OnInit {\r\n hide = true;\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) {}\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\nsignUpPageCalled(){\r\n this.dialogRef.close('Sign up');\r\n\r\n}\r\nforgotPassword(){\r\n this.dialogRef.close('forgot_password');\r\n}\r\nloginPageCalled(){\r\n this.dialogRef.close('login');\r\n}\r\n ngOnInit() {}\r\n ngAfterViewInit(){\r\n }\r\n\r\n}\r\n","export default \".registration {\\n --ion-item-background: white;\\n --ion-background-color: white;\\n --ion-text-color: black;\\n}\\n\\n.details {\\n font-size: 12px;\\n margin: -9px 0px 0px 0px;\\n font-family: \\\"Montserrat-Regular\\\";\\n color: black;\\n}\\n\\n.rewards {\\n display: flex;\\n min-height: 20px;\\n max-height: 50px;\\n margin-bottom: 10px;\\n}\\n\\n.rewards-css {\\n margin: 0px 0px 0px 6px;\\n}\\n\\n.crown {\\n font-weight: 900;\\n font-family: \\\"Montserrat-Bold\\\";\\n text-align: center;\\n font-size: 40px;\\n color: black;\\n}\\n\\n.heading {\\n font-family: \\\"Montserrat-Bold\\\";\\n font-size: 15px;\\n color: black;\\n}\\n\\n.main {\\n width: 64px;\\n height: 22px;\\n border: 1px solid black;\\n padding: 10px;\\n border-radius: 12px;\\n margin: auto;\\n}\\n\\n.p_heading {\\n font-family: \\\"Montserrat-SemiBold\\\";\\n text-align: center;\\n font-size: 20px;\\n color: black;\\n}\\n\\n.submit-button-div {\\n text-align: center;\\n margin: auto;\\n margin-top: 10px;\\n}\\n\\n.title-for-registration-page {\\n display: none;\\n}\\n\\n.order-content-css {\\n margin-left: -5px !important;\\n}\\n\\n.total-amount-css {\\n font-family: \\\"Montserrat-Regular\\\";\\n color: black;\\n font-size: 13px;\\n}\\n\\n.card-css {\\n background: rgba(211, 211, 211, 0.43);\\n}\\n\\n.image-width {\\n max-width: 55px;\\n margin-bottom: 9px;\\n}\\n\\n.mat-card {\\n padding-top: 13px !important;\\n padding-bottom: 10px !important;\\n margin-right: 0px;\\n}\\n\\n.image-point-width {\\n max-width: 28px;\\n margin-bottom: 6px;\\n}\\n\\n.head {\\n font-family: \\\"Barlow-Bold\\\";\\n text-transform: uppercase;\\n color: #ff6614;\\n font-size: 24px;\\n cursor: default;\\n}\\n\\n.card-iterated-css {\\n margin-top: 10px;\\n margin-bottom: 10px;\\n}\\n\\n.item-name-css {\\n font-size: 15px;\\n font-family: \\\"Montserrat-SemiBold\\\";\\n}\\n\\n.cust-name-css {\\n font-size: 13px;\\n font-family: \\\"Montserrat-Regular\\\";\\n}\\n\\n.no-data-availble {\\n text-align: center;\\n position: relative;\\n top: 50px;\\n font-family: \\\"Montserrat-Regular\\\";\\n color: black;\\n font-size: 20px;\\n}\\n\\n.no-order-div {\\n min-height: 200px;\\n}\\n\\n.summary-css {\\n font-family: \\\"Barlow-Bold\\\";\\n font-size: 20px;\\n color: black;\\n}\\n\\n.pick-up-date-time {\\n margin-bottom: 19px;\\n}\\n\\n.address-css {\\n font-family: \\\"Montserrat-Regular\\\";\\n font-size: 14px;\\n color: black;\\n}\\n\\n.name-css {\\n font-family: \\\"Montserrat-Bold\\\";\\n font-size: 15px;\\n color: black;\\n}\\n\\n.pick-name-css {\\n font-family: \\\"Montserrat-Bold\\\";\\n font-size: 16px;\\n color: black;\\n}\\n\\n.button-edit-date {\\n padding: 0px !important;\\n font-family: \\\"Montserrat-Bold\\\";\\n color: black;\\n font-size: 18px;\\n text-decoration: underline;\\n}\\n\\n.other-info-css {\\n font-family: \\\"Montserrat-SemiBold\\\";\\n font-size: 14px;\\n color: black;\\n}\\n\\n.cust-css {\\n font-family: \\\"Montserrat-Regular\\\";\\n font-size: 12px;\\n color: black;\\n}\\n\\nhr {\\n margin-top: 7px !important;\\n}\\n\\n.radio-button-span {\\n margin-right: 10px;\\n}\\n\\n.but-css {\\n border: solid #ff6614;\\n background-color: white;\\n}\\n\\n.div-for-pick-up {\\n display: flex;\\n padding: 3px;\\n justify-content: flex-start;\\n margin-top: 20px;\\n}\\n\\n.radio-buttons-placement {\\n margin-right: 4px;\\n cursor: pointer !important;\\n}\\n\\n.time-date-css {\\n margin-bottom: 10px;\\n}\\n\\n.option-css {\\n position: relative;\\n top: -3px;\\n color: black;\\n font-family: \\\"Montserrat-Regular\\\";\\n}\\n\\n.example-full-width {\\n width: 100%;\\n}\\n\\n.forgot-email-input {\\n font-size: 14px;\\n font-family: \\\"Barlow-Medium\\\";\\n margin-top: 10px;\\n /* margin-bottom: 8px; */\\n margin-bottom: -7px;\\n}\\n\\n.email-info {\\n text-align: center;\\n width: 90%;\\n margin: auto;\\n font-size: 16px;\\n font-family: \\\"Montserrat-Bold\\\";\\n font-weight: 800 !important;\\n color: black;\\n text-decoration: underline;\\n cursor: default;\\n}\\n\\n.extra-info {\\n text-align: center;\\n width: 90%;\\n margin: auto;\\n font-size: 14px;\\n font-family: \\\"Montserrat-Bold\\\";\\n font-weight: 800 !important;\\n color: black;\\n cursor: default;\\n}\\n\\n.extra-info-last {\\n color: black;\\n font-size: 14px;\\n font-family: \\\"Montserrat-SemiBold\\\";\\n font-weight: 800 !important;\\n cursor: default;\\n}\\n\\n.forgot-head {\\n font-family: \\\"Barlow-Bold\\\";\\n text-transform: uppercase;\\n color: #ff6614;\\n font-size: 24px;\\n text-align: center;\\n cursor: default;\\n}\\n\\n.ion-item-css {\\n --padding-start: 0px !important;\\n}\\n\\n.guest-css {\\n margin-top: 20px;\\n}\\n\\n.reorder-button {\\n font-family: \\\"Barlow-Medium\\\";\\n text-transform: uppercase;\\n margin-left: 0px;\\n --border-radius: 0px !important;\\n --background:#ff6614;\\n --background-activated:#ff6614 ;\\n --background-focused: #ff6614;\\n --background-hover:#ff6614 ;\\n}\\n\\n@media (min-width: 660px) {\\n .reorder-button {\\n float: right !important;\\n margin-top: -60px;\\n --background:#ff6614;\\n --background-activated:#ff6614 ;\\n --background-focused: #ff6614;\\n --background-hover:#ff6614 ;\\n }\\n}\\n\\n.checkout {\\n font-family: \\\"Barlow-Medium\\\";\\n text-transform: uppercase;\\n margin-left: 0px;\\n --border-radius: 0px !important;\\n width: 180px;\\n height: 40px;\\n --background:#ff6614;\\n --background-activated:#ff6614 ;\\n --background-focused: #ff6614;\\n --background-hover:#ff6614 ;\\n}\\n\\n.border-on-button {\\n border: solid 2px #ff6614;\\n font-family: \\\"Barlow-Medium\\\";\\n text-transform: uppercase;\\n --border-radius: 0px !important;\\n margin-left: 0px;\\n width: 80px;\\n height: 40px;\\n --background:white;\\n --color: #ff6614;\\n --background-activated: white;\\n --background-focused: white;\\n --background-hover: white;\\n}\\n\\n.button-new-css {\\n font-family: \\\"Barlow-Medium\\\";\\n text-transform: uppercase;\\n margin-left: 10px;\\n --border-radius: 0px !important;\\n width: 80px;\\n height: 40px;\\n --background:#ff6614;\\n --background-activated:#ff6614 ;\\n --background-focused: #ff6614;\\n --background-hover:#ff6614 ;\\n}\\n\\n.butt-css {\\n font-family: \\\"Barlow-Medium\\\";\\n text-transform: uppercase;\\n font-size: 14px;\\n}\\n\\n.butt-css-bold {\\n font-family: \\\"Barlow-Medium\\\";\\n text-transform: uppercase;\\n font-size: 14px;\\n --background:#ff6614;\\n --background-activated:#ff6614 ;\\n --background-focused: #ff6614;\\n --background-hover:#ff6614 ;\\n}\\n\\n.thanks-div {\\n margin: auto;\\n text-align: center;\\n}\\n\\n.date-time-picker-color {\\n font-family: \\\"Barlow-Bold\\\";\\n font-size: 19px;\\n width: 100%;\\n /* border: 1px solid black; */\\n color: #ff6614;\\n}\\n\\n.inline-flatpickr .form-control,\\n.flatpickr-calendar.arrowTop:before,\\n.flatpickr-calendar.arrowTop:after {\\n display: none;\\n}\\n\\n.border-butt {\\n border: 1px solid #ff6614;\\n}\\n\\n.request-button {\\n --background:#ff6614;\\n --background-activated:#ff6614 ;\\n --background-focused: #ff6614;\\n --background-hover:#ff6614 ;\\n margin-top: 28px;\\n}\\n\\n.card-content-css {\\n width: 100%;\\n margin: auto;\\n}\\n\\n.head {\\n font-family: \\\"Barlow-Bold\\\";\\n text-transform: uppercase;\\n color: #ff6614;\\n font-size: 24px;\\n}\\n\\n.item-native {\\n padding-left: 0px !important;\\n}\\n\\n.field-user-name {\\n font-size: 24px;\\n font-family: \\\"Barlow-Bold\\\";\\n text-transform: uppercase;\\n color: black;\\n}\\n\\n.field-name {\\n font-size: 24px;\\n font-family: \\\"Barlow-Bold\\\";\\n text-transform: uppercase;\\n margin-bottom: 10px;\\n}\\n\\n.forgot-css {\\n font-size: 12px;\\n color: black;\\n font-family: Barlow-Regular;\\n float: right;\\n margin-top: 10px;\\n margin-bottom: 20px;\\n cursor: pointer;\\n}\\n\\n.button-span {\\n margin-top: 36px;\\n}\\n\\n.button-new-css {\\n font-family: \\\"Barlow-Medium\\\";\\n text-transform: uppercase;\\n margin-left: 0px;\\n --border-radius: 0px !important;\\n}\\n\\n.center-address {\\n font-family: \\\"Montserrat-Regular\\\";\\n}\\n\\n.border-of-item {\\n --border-style:none !important;\\n}\\n\\n.payment-form {\\n margin-top: 10px;\\n}\\n\\n.back-css {\\n font-size: 14px;\\n font-family: \\\"Barlow-Regular\\\";\\n float: right;\\n margin-top: 10px;\\n margin-bottom: 20px;\\n text-transform: uppercase;\\n cursor: pointer;\\n color: black;\\n}\\n\\n.phone-no-css {\\n color: red;\\n}\\n\\n.phone-code-css {\\n width: 31px;\\n}\\n\\n.phone-error-message {\\n font-size: 11px;\\n}\\n\\n.phone-form {\\n border: 1px solid lightgray;\\n width: -moz-fit-content;\\n width: fit-content;\\n margin: auto;\\n padding: 10px;\\n border-radius: 6px;\\n padding-top: 2px !important;\\n}\\n\\n.phone-label-css {\\n position: relative;\\n background: white;\\n top: -14px;\\n left: -77px;\\n font-size: 10px;\\n}\\n\\n.form-div {\\n text-align: center;\\n margin: auto;\\n width: 90%;\\n}\\n\\n.sign-up-page-css {\\n margin-top: 35px;\\n}\\n\\n.button-margin {\\n margin-top: 0px !important;\\n}\\n\\n.captcha-css {\\n display: flex;\\n justify-content: center;\\n}\\n\\n.choose {\\n color: #ff6614;\\n font-family: \\\"Barlow-Medium\\\";\\n font-size: 20px;\\n}\\n\\n.sign-up-anchor {\\n color: #ff6614;\\n cursor: pointer;\\n}\\n\\n.form-div-login {\\n text-align: center;\\n margin: auto;\\n margin-top: 30px;\\n width: 60%;\\n}\\n\\n.social-profiles-heading {\\n text-transform: uppercase;\\n font-weight: 400;\\n font-family: \\\"MerriweatherSans-Light\\\";\\n}\\n\\n.button-title {\\n margin-left: 8px;\\n}\\n\\n.more-css-on-titles {\\n margin-top: 13px;\\n}\\n\\n.close-icon-css {\\n float: right;\\n font-size: x-large;\\n}\\n\\n.forgot-password-text {\\n cursor: pointer;\\n color: #ff6614;\\n margin-top: 9px;\\n}\\n\\n.title-css-with-close-button {\\n width: 90%;\\n margin: auto;\\n font-family: \\\"MerriweatherSans-ExtraBold\\\";\\n}\\n\\n.title-css-with-close-button-for-login {\\n width: 90%;\\n margin-top: 30px;\\n margin-left: 30px;\\n font-family: \\\"MerriweatherSans-ExtraBold\\\";\\n}\\n\\n.button-margin {\\n margin-top: 20px;\\n}\\n\\n.input-box-css {\\n font-size: 14px;\\n}\\n\\n.example-spacer {\\n flex: 1 1 auto;\\n}\\n\\n.toolbar-css {\\n height: auto;\\n}\\n\\n.social-media-button {\\n margin-bottom: 10px;\\n}\\n\\n.gmail {\\n margin-left: 10px;\\n}\\n\\n.facebook-button {\\n margin-bottom: 10px;\\n}\\n\\n.input-color-css {\\n caret-color: green;\\n}\\n\\nmat-hint {\\n margin-bottom: 10px;\\n position: relative;\\n left: -10px;\\n}\\n\\n.form-field-css {\\n margin-bottom: 6px;\\n}\\n\\n.margin-on-button {\\n margin-top: 25px;\\n}\\n\\n.form-for-registration-css {\\n margin-top: 10p !important;\\n}\\n\\n.recaptcha-css {\\n width: 56% !important;\\n margin: auto !important;\\n margin-top: 20px !important;\\n margin-bottom: 20px !important;\\n}\\n\\n.email-warning {\\n color: red;\\n font-weight: bold;\\n text-align: center;\\n font-family: \\\"Montserrat-Bold\\\";\\n}\\n\\n.pickup-warning {\\n color: red;\\n font-weight: bold;\\n text-align: left;\\n font-family: \\\"Montserrat-Bold\\\";\\n}\\n\\n.login-warning {\\n color: black;\\n font-weight: bold;\\n text-align: center;\\n text-decoration: underline;\\n font-family: \\\"Montserrat-Bold\\\";\\n padding: 0 7px;\\n padding-right: 0px;\\n}\\n\\nlabel {\\n display: inline-block;\\n max-width: 100%;\\n margin-bottom: 0px;\\n font-weight: 700;\\n color: black;\\n}\\n\\n.edit-button {\\n margin-top: 28px;\\n float: right !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L3JlZ2lzdHJhdGlvbi1mb3JtL0M6XFxSb2hpdGhfV29ya1xcQ2l0YWRlbFxcQ2l0YWRlbFxcdGhueGdpdmluZ2Zyb250ZW5kbmV3XFx0aGFua3NnaXZpbmdmcm9udGVuZC9zcmNcXGFwcFxcY29tcG9uZW50XFxyZWdpc3RyYXRpb24tZm9ybVxccmVnaXN0cmF0aW9uLWZvcm0uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvbXBvbmVudC9yZWdpc3RyYXRpb24tZm9ybS9yZWdpc3RyYXRpb24tZm9ybS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLDRCQUFBO0VBQ0osNkJBQUE7RUFDQSx1QkFBQTtBQ0NBOztBRElBO0VBQ0ksZUFBQTtFQUNBLHdCQUFBO0VBQ0EsaUNBQUE7RUFDQSxZQUFBO0FDREo7O0FER0E7RUFDSSxhQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0FDQUo7O0FERUU7RUFFQSx1QkFBQTtBQ0FGOztBREVBO0VBQ0ksZ0JBQUE7RUFDQSw4QkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7QUNDSjs7QURDRTtFQUNFLDhCQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7QUNFSjs7QURBRTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EsdUJBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxZQUFBO0FDR0o7O0FEREU7RUFDRSxrQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7QUNJSjs7QURGQTtFQUNJLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0FDS0o7O0FERkE7RUFDSSxhQUFBO0FDS0o7O0FESEE7RUFDSSw0QkFBQTtBQ01KOztBREpBO0VBQ0ksaUNBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtBQ09KOztBRExFO0VBQ0UscUNBQUE7QUNRSjs7QURORTtFQUNFLGVBQUE7RUFDQSxrQkFBQTtBQ1NKOztBRFBB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QTtFQUNJLFVBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EseUNBQUE7QUM4REo7O0FENURBO0VBQ0ksZ0JBQUE7QUMrREo7O0FEN0RBO0VBQ0ksZUFBQTtBQ2dFSjs7QUQ5REE7RUFDSSxjQUFBO0FDaUVKOztBRC9ERTtFQUVFLFlBQUE7QUNpRUo7O0FEL0RFO0VBQ0UsbUJBQUE7QUNrRUo7O0FEaEVFO0VBQ0ksaUJBQUE7QUNtRU47O0FEakVFO0VBQ0ksbUJBQUE7QUNvRU47O0FEbEVFO0VBQ0ksa0JBQUE7QUNxRU47O0FEbkVFO0VBQ0UsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7QUNzRUo7O0FEcEVFO0VBRUUsa0JBQUE7QUNzRUo7O0FEcEVFO0VBQ0UsZ0JBQUE7QUN1RUo7O0FEckVFO0VBQ0ksMEJBQUE7QUN3RU47O0FEdEVFO0VBQ0UscUJBQUE7RUFDQSx1QkFBQTtFQUNBLDJCQUFBO0VBQ0EsOEJBQUE7QUN5RUo7O0FEdkVFO0VBQ0ksVUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSw4QkFBQTtBQzBFTjs7QUR4RUU7RUFDRSxVQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLDhCQUFBO0FDMkVKOztBRHpFRTtFQUNJLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsMEJBQUE7RUFDQSw4QkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtBQzRFTjs7QUQxRUU7RUFDRSxxQkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtBQzZFSjs7QUQzRUU7RUFDRSxnQkFBQTtFQUNBLHVCQUFBO0FDOEVKIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50L3JlZ2lzdHJhdGlvbi1mb3JtL3JlZ2lzdHJhdGlvbi1mb3JtLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnJlZ2lzdHJhdGlvbntcclxuICAgIC0taW9uLWl0ZW0tYmFja2dyb3VuZDogd2hpdGU7XHJcbi0taW9uLWJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4tLWlvbi10ZXh0LWNvbG9yOiBibGFjaztcclxufVxyXG4vLyAuY3Jvd25ze1xyXG4vLyAgICAgY29sb3I6ICNmZjY2MTQ7XHJcbi8vIH1cclxuLmRldGFpbHN7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBtYXJnaW46IC05cHggMHB4IDBweCAwcHg7XHJcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQtUmVndWxhcic7XHJcbiAgICBjb2xvcjpibGFjaztcclxufVxyXG4ucmV3YXJkc3tcclxuICAgIGRpc3BsYXk6IGZsZXg7ICAgXHJcbiAgICBtaW4taGVpZ2h0OiAyMHB4OyBcclxuICAgIG1heC1oZWlnaHQ6IDUwcHg7IFxyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICB9XHJcbiAgLnJld2FyZHMtY3NzXHJcbntcclxuICBtYXJnaW46IDBweCAwcHggMHB4IDZweDtcclxufVxyXG4uY3Jvd257XHJcbiAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0LUJvbGQnO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgY29sb3I6YmxhY2s7XHJcbiAgfVxyXG4gIC5oZWFkaW5ne1xyXG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0LUJvbGQnO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgY29sb3I6YmxhY2s7XHJcbiAgfVxyXG4gIC5tYWluIHtcclxuICAgIHdpZHRoOiA2NHB4O1xyXG4gICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgIG1hcmdpbjphdXRvO1xyXG4gIH1cclxuICAucF9oZWFkaW5ne1xyXG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0LVNlbWlCb2xkJztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGNvbG9yOmJsYWNrO1xyXG4gIH1cclxuLnN1Ym1pdC1idXR0b24tZGl2e1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICBtYXJnaW46YXV0bztcclxuICAgIG1hcmdpbi10b3A6MTBweDtcclxuICAgIC8vIG1hcmdpbi10b3A6IDI3cHg7XHJcbn1cclxuLnRpdGxlLWZvci1yZWdpc3RyYXRpb24tcGFnZXtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxufVxyXG4ub3JkZXItY29udGVudC1jc3N7XHJcbiAgICBtYXJnaW4tbGVmdDogLTVweCAhaW1wb3J0YW50O1xyXG59XHJcbi50b3RhbC1hbW91bnQtY3Nze1xyXG4gICAgZm9udC1mYW1pbHk6J01vbnRzZXJyYXQtUmVndWxhcic7XHJcbiAgICBjb2xvcjpibGFjaztcclxuICAgIGZvbnQtc2l6ZToxM3B4O1xyXG4gIH1cclxuICAuY2FyZC1jc3N7XHJcbiAgICBiYWNrZ3JvdW5kOnJnYigyMTEgMjExIDIxMSAvIDQzJSk7XHJcbiAgfVxyXG4gIC5pbWFnZS13aWR0aHtcclxuICAgIG1heC13aWR0aDogNTVweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDlweDtcclxufVxyXG4ubWF0LWNhcmR7XHJcbiAgICBwYWRkaW5nLXRvcDogMTNweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gIH1cclxuLmltYWdlLXBvaW50LXdpZHRoe1xyXG4gICAgbWF4LXdpZHRoOiAyOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG59XHJcbi5oZWFke1xyXG4gICAgZm9udC1mYW1pbHk6ICdCYXJsb3ctQm9sZCc7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgY29sb3I6ICNmZjY2MTQ7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuLmNhcmQtaXRlcmF0ZWQtY3Nze1xyXG4gICAgbWFyZ2luLXRvcDoxMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbToxMHB4O1xyXG4gIH1cclxuICAuaXRlbS1uYW1lLWNzc3tcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIGZvbnQtZmFtaWx5OidNb250c2VycmF0LVNlbWlCb2xkJztcclxuICB9XHJcbiAgLmN1c3QtbmFtZS1jc3N7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBmb250LWZhbWlseTonTW9udHNlcnJhdC1SZWd1bGFyJzsgXHJcbiAgfVxyXG4ubm8tZGF0YS1hdmFpbGJsZXtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHRvcDogNTBweDtcclxuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0LVJlZ3VsYXInO1xyXG4gICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICB9XHJcbi5uby1vcmRlci1kaXZ7XHJcbiAgICBtaW4taGVpZ2h0OjIwMHB4O1xyXG4gIH1cclxuLnN1bW1hcnktY3Nze1xyXG4gICAgZm9udC1mYW1pbHk6ICdCYXJsb3ctQm9sZCc7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBjb2xvcjpibGFjaztcclxufVxyXG4ucGljay11cC1kYXRlLXRpbWV7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxOXB4O1xyXG59XHJcbi5hZGRyZXNzLWNzc3tcclxuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdC1SZWd1bGFyJztcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOmJsYWNrO1xyXG59XHJcbi5uYW1lLWNzc3tcclxuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdC1Cb2xkJztcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIGNvbG9yOmJsYWNrO1xyXG59XHJcbi5waWNrLW5hbWUtY3Nze1xyXG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0LUJvbGQnO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgY29sb3I6YmxhY2s7XHJcbn1cclxuLmJ1dHRvbi1lZGl0LWRhdGUge1xyXG4gICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0LUJvbGRcIjtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgfVxyXG4ub3RoZXItaW5mby1jc3N7XHJcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQtU2VtaUJvbGQnO1xyXG4gICAgZm9udC1zaXplOiAxNHB4OyBcclxuICAgIGNvbG9yOmJsYWNrO1xyXG59XHJcbi5jdXN0LWNzc1xyXG57XHJcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQtUmVndWxhcic7XHJcbiAgICBmb250LXNpemU6IDEycHg7IFxyXG4gICAgY29sb3I6YmxhY2s7IFxyXG59XHJcbmhye1xyXG4gICAgbWFyZ2luLXRvcDo3cHggIWltcG9ydGFudDtcclxufVxyXG4ucmFkaW8tYnV0dG9uLXNwYW57XHJcbiAgICBtYXJnaW4tcmlnaHQ6MTBweDtcclxufVxyXG4uYnV0LWNzc3tcclxuICAgIGJvcmRlcjpzb2xpZCAjZmY2NjE0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbn1cclxuLmRpdi1mb3ItcGljay11cHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcbi5yYWRpby1idXR0b25zLXBsYWNlbWVudHtcclxuICAgIG1hcmdpbi1yaWdodDo0cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcclxufVxyXG4udGltZS1kYXRlLWNzc3tcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuLm9wdGlvbi1jc3N7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIHRvcDotM3B4O1xyXG4gICAgY29sb3I6YmxhY2s7XHJcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQtUmVndWxhcic7XHJcbn1cclxuLmV4YW1wbGUtZnVsbC13aWR0aHtcclxuICAgIHdpZHRoOjEwMCU7XHJcbn1cclxuLmZvcmdvdC1lbWFpbC1pbnB1dHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtZmFtaWx5OiAnQmFybG93LU1lZGl1bSc7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgLyogbWFyZ2luLWJvdHRvbTogOHB4OyAqL1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTdweDtcclxufVxyXG4uZW1haWwtaW5mb3tcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgd2lkdGg6IDkwJTtcclxuICAgIG1hcmdpbjphdXRvO1xyXG4gICAgZm9udC1zaXplOjE2cHg7XHJcbiAgICBmb250LWZhbWlseTonTW9udHNlcnJhdC1Cb2xkJztcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOmJsYWNrO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG4uZXh0cmEtaW5mb3tcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgd2lkdGg6IDkwJTtcclxuICAgIG1hcmdpbjphdXRvO1xyXG4gICAgZm9udC1zaXplOjE0cHg7XHJcbiAgICBmb250LWZhbWlseTonTW9udHNlcnJhdC1Cb2xkJztcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOmJsYWNrO1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcbi5leHRyYS1pbmZvLWxhc3R7XHJcbiAgXHJcbiBjb2xvcjpibGFjaztcclxuICAgIGZvbnQtc2l6ZToxNHB4O1xyXG4gICAgZm9udC1mYW1pbHk6XCJNb250c2VycmF0LVNlbWlCb2xkXCI7XHJcbiAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuLmZvcmdvdC1oZWFke1xyXG4gICAgZm9udC1mYW1pbHk6ICdCYXJsb3ctQm9sZCc7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgY29sb3I6ICNmZjY2MTQ7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6ZGVmYXVsdDtcclxufVxyXG4uaW9uLWl0ZW0tY3Nze1xyXG4gICAgLS1wYWRkaW5nLXN0YXJ0OiAwcHggIWltcG9ydGFudDtcclxufVxyXG4uZ3Vlc3QtY3Nze1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuICBcclxuICAucmVvcmRlci1idXR0b257XHJcbiAgICBmb250LWZhbWlseTogXCJCYXJsb3ctTWVkaXVtXCI7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICAgIC0tYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAtLWJhY2tncm91bmQ6I2ZmNjYxNDtcclxuICAtLWJhY2tncm91bmQtYWN0aXZhdGVkOiNmZjY2MTQgO1xyXG4gIC0tYmFja2dyb3VuZC1mb2N1c2VkOiAjZmY2NjE0O1xyXG4gIC0tYmFja2dyb3VuZC1ob3ZlcjojZmY2NjE0IDtcclxuICAgIC8vIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xyXG4gICAgLy8gbWFyZ2luLXRvcDogLTUwcHg7XHJcbiAgfVxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NjBweCkge1xyXG4ucmVvcmRlci1idXR0b257XHJcbiAgICBcclxuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXRvcDogLTYwcHg7XHJcbiAgICAtLWJhY2tncm91bmQ6I2ZmNjYxNDtcclxuICAtLWJhY2tncm91bmQtYWN0aXZhdGVkOiNmZjY2MTQgO1xyXG4gIC0tYmFja2dyb3VuZC1mb2N1c2VkOiAjZmY2NjE0O1xyXG4gIC0tYmFja2dyb3VuZC1ob3ZlcjojZmY2NjE0IDtcclxufVxyXG4gIH1cclxuLmNoZWNrb3V0e1xyXG4gICAgZm9udC1mYW1pbHk6IFwiQmFybG93LU1lZGl1bVwiO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICAtLWJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDE4MHB4O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgLS1iYWNrZ3JvdW5kOiNmZjY2MTQ7XHJcbiAgICAtLWJhY2tncm91bmQtYWN0aXZhdGVkOiNmZjY2MTQgO1xyXG4gICAgLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6ICNmZjY2MTQ7XHJcbiAgICAtLWJhY2tncm91bmQtaG92ZXI6I2ZmNjYxNCA7XHJcbn1cclxuICAuYm9yZGVyLW9uLWJ1dHRvbntcclxuICAgIGJvcmRlcjogc29saWQgMnB4ICNmZjY2MTQ7XHJcbiAgICBmb250LWZhbWlseTogXCJCYXJsb3ctTWVkaXVtXCI7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgLS1ib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICB3aWR0aDogODBweDtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIC0tYmFja2dyb3VuZDp3aGl0ZTtcclxuICAgIC0tY29sb3I6ICNmZjY2MTQ7XHJcbiAgLS1iYWNrZ3JvdW5kLWFjdGl2YXRlZDogd2hpdGU7XHJcbiAgLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6IHdoaXRlO1xyXG4gIC0tYmFja2dyb3VuZC1ob3Zlcjogd2hpdGU7XHJcbiAgICB9XHJcbiAgLmJ1dHRvbi1uZXctY3Nze1xyXG4gICAgZm9udC1mYW1pbHk6IFwiQmFybG93LU1lZGl1bVwiO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgLS1ib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgLS1iYWNrZ3JvdW5kOiNmZjY2MTQ7XHJcbiAgICAtLWJhY2tncm91bmQtYWN0aXZhdGVkOiNmZjY2MTQgO1xyXG4gICAgLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6ICNmZjY2MTQ7XHJcbiAgICAtLWJhY2tncm91bmQtaG92ZXI6I2ZmNjYxNCA7XHJcbiAgICB9XHJcbi5idXR0LWNzc3tcclxuICAgIGZvbnQtZmFtaWx5OiAnQmFybG93LU1lZGl1bSc7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcbi5idXR0LWNzcy1ib2xke1xyXG4gICAgZm9udC1mYW1pbHk6ICdCYXJsb3ctTWVkaXVtJztcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAtLWJhY2tncm91bmQ6I2ZmNjYxNDtcclxuICAgIC0tYmFja2dyb3VuZC1hY3RpdmF0ZWQ6I2ZmNjYxNCA7XHJcbiAgICAtLWJhY2tncm91bmQtZm9jdXNlZDogI2ZmNjYxNDtcclxuICAgIC0tYmFja2dyb3VuZC1ob3ZlcjojZmY2NjE0IDtcclxufVxyXG4udGhhbmtzLWRpdntcclxuICAgIG1hcmdpbjphdXRvO1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbn1cclxuXHJcbi5kYXRlLXRpbWUtcGlja2VyLWNvbG9ye1xyXG4gICAgZm9udC1mYW1pbHk6ICdCYXJsb3ctQm9sZCc7XHJcbiAgICBmb250LXNpemU6IDE5cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8qIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyAqL1xyXG4gICAgY29sb3I6ICNmZjY2MTQ7XHJcbn1cclxuLmlubGluZS1mbGF0cGlja3IgLmZvcm0tY29udHJvbCxcclxuICAgICAgLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1RvcDpiZWZvcmUsXHJcbiAgICAgIC5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dUb3A6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuLmJvcmRlci1idXR0e1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNjYxNDtcclxufVxyXG4ucmVxdWVzdC1idXR0b257XHJcbiAgICAtLWJhY2tncm91bmQ6I2ZmNjYxNDtcclxuICAtLWJhY2tncm91bmQtYWN0aXZhdGVkOiNmZjY2MTQgO1xyXG4gIC0tYmFja2dyb3VuZC1mb2N1c2VkOiAjZmY2NjE0O1xyXG4gIC0tYmFja2dyb3VuZC1ob3ZlcjojZmY2NjE0IDtcclxuICAgIG1hcmdpbi10b3A6IDI4cHg7XHJcbiAgICBcclxufVxyXG4uY2FyZC1jb250ZW50LWNzc3tcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBtYXJnaW46YXV0bztcclxuICAgIC8vIG1hcmdpbi10b3A6IDE5cHg7XHJcbn1cclxuLmhlYWR7XHJcbiAgICBmb250LWZhbWlseTogJ0Jhcmxvdy1Cb2xkJztcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBjb2xvcjogI2ZmNjYxNDtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxufVxyXG4uaXRlbS1uYXRpdmV7XHJcbiAgICBwYWRkaW5nLWxlZnQ6MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmZpZWxkLXVzZXItbmFtZVxyXG57XHJcbiAgICBmb250LXNpemU6MjRweDtcclxuICAgIGZvbnQtZmFtaWx5OiAnQmFybG93LUJvbGQnO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGNvbG9yOmJsYWNrOyAgXHJcbn1cclxuLmZpZWxkLW5hbWV7XHJcbiAgICBmb250LXNpemU6MjRweDtcclxuICAgIGZvbnQtZmFtaWx5OiAnQmFybG93LUJvbGQnO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuLmZvcmdvdC1jc3N7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgIGNvbG9yOmJsYWNrO1xyXG4gICBmb250LWZhbWlseTpCYXJsb3ctUmVndWxhcjtcclxuICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vIGxlZnQ6IDgxJTtcclxuICAgIGZsb2F0OnJpZ2h0O1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLmJ1dHRvbi1zcGFue1xyXG4gICAgbWFyZ2luLXRvcDozNnB4XHJcbn1cclxuLmJ1dHRvbi1uZXctY3Nze1xyXG4gICAgZm9udC1mYW1pbHk6IFwiQmFybG93LU1lZGl1bVwiO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICAtLWJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuLmNlbnRlci1hZGRyZXNze1xyXG4gICAgLy9tYXJnaW4tdG9wOiAxOXB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0LVJlZ3VsYXInO1xyXG59XHJcbi5ib3JkZXItb2YtaXRlbXtcclxuICAgIC0tYm9yZGVyLXN0eWxlOm5vbmUgIWltcG9ydGFudDtcclxufVxyXG4ucGF5bWVudC1mb3Jte1xyXG4gICAgbWFyZ2luLXRvcDoxMHB4O1xyXG59XHJcbi5iYWNrLWNzc3tcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtZmFtaWx5OiAnQmFybG93LVJlZ3VsYXInO1xyXG4gICBmbG9hdDpyaWdodDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGNvbG9yOmJsYWNrO1xyXG5cclxufVxyXG4ucGhvbmUtbm8tY3Nze1xyXG4gICAgY29sb3I6cmVkO1xyXG59XHJcbi5waG9uZS1jb2RlLWNzc1xyXG57XHJcbiAgICB3aWR0aDogMzFweDtcclxufVxyXG4ucGhvbmUtZXJyb3ItbWVzc2FnZXtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxufVxyXG4ucGhvbmUtZm9ybXtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0Z3JheTtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICBwYWRkaW5nLXRvcDoycHggIWltcG9ydGFudDtcclxuICAgIFxyXG59XHJcbi5waG9uZS1sYWJlbC1jc3N7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgIHRvcDogLTE0cHg7XHJcbiAgICBsZWZ0OiAtNzdweDtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxufVxyXG4uZm9ybS1kaXZ7XHJcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgIG1hcmdpbjphdXRvO1xyXG4gICAgd2lkdGg6IDkwJTtcclxuICAgIC8vIG1hcmdpbi10b3A6LTE0UFg7XHJcbn1cclxuLnNpZ24tdXAtcGFnZS1jc3N7XHJcbiAgICBtYXJnaW4tdG9wOjM1cHg7XHJcbn1cclxuLmJ1dHRvbi1tYXJnaW57XHJcbiAgICBtYXJnaW4tdG9wOjBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5jYXB0Y2hhLWNzc3tcclxuICAgIGRpc3BsYXk6ZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uY2hvb3NlXHJcbntcclxuICAgIGNvbG9yOiAjZmY2NjE0O1xyXG4gICAgZm9udC1mYW1pbHk6ICdCYXJsb3ctTWVkaXVtJztcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxufVxyXG4uc2lnbi11cC1hbmNob3J7XHJcbmNvbG9yOiAjZmY2NjE0O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO31cclxuLmZvcm0tZGl2LWxvZ2lue1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICBtYXJnaW46YXV0bztcclxuICAgIG1hcmdpbi10b3A6MzBweDtcclxuICAgIHdpZHRoOiA2MCU7XHJcbn1cclxuLnNvY2lhbC1wcm9maWxlcy1oZWFkaW5ne1xyXG50ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5mb250LXdlaWdodDogNDAwO1xyXG5mb250LWZhbWlseTogJ01lcnJpd2VhdGhlclNhbnMtTGlnaHQnO1xyXG59XHJcbi5idXR0b24tdGl0bGV7XHJcbiAgICBtYXJnaW4tbGVmdDo4cHg7XHJcbn1cclxuLm1vcmUtY3NzLW9uLXRpdGxlc3tcclxubWFyZ2luLXRvcDoxM3B4O1xyXG59XHJcbi5jbG9zZS1pY29uLWNzc3tcclxuICAgIGZsb2F0OnJpZ2h0O1xyXG4gICAgZm9udC1zaXplOiB4LWxhcmdlO1xyXG59XHJcbi5mb3Jnb3QtcGFzc3dvcmQtdGV4dHtcclxuICAgIC8vIGZsb2F0OiByaWdodDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGNvbG9yOiAjZmY2NjE0O1xyXG4gICAgbWFyZ2luLXRvcDogOXB4O1xyXG59XHJcbi50aXRsZS1jc3Mtd2l0aC1jbG9zZS1idXR0b257XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgZm9udC1mYW1pbHk6IFwiTWVycml3ZWF0aGVyU2Fucy1FeHRyYUJvbGRcIjtcclxufVxyXG4udGl0bGUtY3NzLXdpdGgtY2xvc2UtYnV0dG9uLWZvci1sb2dpbntcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbiAgICBmb250LWZhbWlseTogXCJNZXJyaXdlYXRoZXJTYW5zLUV4dHJhQm9sZFwiO1xyXG59XHJcbi5idXR0b24tbWFyZ2lue1xyXG4gICAgbWFyZ2luLXRvcDoyMHB4O1xyXG59XHJcbi5pbnB1dC1ib3gtY3Nze1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcbi5leGFtcGxlLXNwYWNlciB7XHJcbiAgICBmbGV4OiAxIDEgYXV0bztcclxuICB9XHJcbiAgLnRvb2xiYXItY3Nze1xyXG4gICAgLy8gbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGhlaWdodDphdXRvO1xyXG4gIH1cclxuICAuc29jaWFsLW1lZGlhLWJ1dHRvbntcclxuICAgIG1hcmdpbi1ib3R0b206MTBweDtcclxuICB9XHJcbiAgLmdtYWlse1xyXG4gICAgICBtYXJnaW4tbGVmdDoxMHB4O1xyXG4gIH1cclxuICAuZmFjZWJvb2stYnV0dG9ue1xyXG4gICAgICBtYXJnaW4tYm90dG9tOjEwcHg7XHJcbiAgfVxyXG4gIC5pbnB1dC1jb2xvci1jc3N7XHJcbiAgICAgIGNhcmV0LWNvbG9yOmdyZWVuO1xyXG4gIH1cclxuICBtYXQtaGludHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsZWZ0OiAtMTBweDtcclxuICB9XHJcbiAgLmZvcm0tZmllbGQtY3NzXHJcbiAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gIH1cclxuICAubWFyZ2luLW9uLWJ1dHRvbntcclxuICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgfVxyXG4gIC5mb3JtLWZvci1yZWdpc3RyYXRpb24tY3Nze1xyXG4gICAgICBtYXJnaW4tdG9wOjEwcCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAucmVjYXB0Y2hhLWNzc3tcclxuICAgIHdpZHRoOiA1NiUgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjogYXV0byFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC5lbWFpbC13YXJuaW5ne1xyXG4gICAgICBjb2xvcjpyZWQ7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1Cb2xkXCI7XHJcbiAgfVxyXG4gIC5waWNrdXAtd2FybmluZ3tcclxuICAgIGNvbG9yOnJlZDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXQtQm9sZFwiOyBcclxuICB9XHJcbiAgLmxvZ2luLXdhcm5pbmd7XHJcbiAgICAgIGNvbG9yOmJsYWNrO1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0LUJvbGRcIjtcclxuICAgICAgcGFkZGluZzogMCA3cHg7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcclxuICB9XHJcbiAgbGFiZWwge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICB9XHJcbiAgLmVkaXQtYnV0dG9ue1xyXG4gICAgbWFyZ2luLXRvcDogMjhweDtcclxuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xyXG4gIH0iLCIucmVnaXN0cmF0aW9uIHtcbiAgLS1pb24taXRlbS1iYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgLS1pb24tYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIC0taW9uLXRleHQtY29sb3I6IGJsYWNrO1xufVxuXG4uZGV0YWlscyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luOiAtOXB4IDBweCAwcHggMHB4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LVJlZ3VsYXJcIjtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG4ucmV3YXJkcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi1oZWlnaHQ6IDIwcHg7XG4gIG1heC1oZWlnaHQ6IDUwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5yZXdhcmRzLWNzcyB7XG4gIG1hcmdpbjogMHB4IDBweCAwcHggNnB4O1xufVxuXG4uY3Jvd24ge1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LUJvbGRcIjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDQwcHg7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLmhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LUJvbGRcIjtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5tYWluIHtcbiAgd2lkdGg6IDY0cHg7XG4gIGhlaWdodDogMjJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLnBfaGVhZGluZyB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXQtU2VtaUJvbGRcIjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLnN1Ym1pdC1idXR0b24tZGl2IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IGF1dG87XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi50aXRsZS1mb3ItcmVnaXN0cmF0aW9uLXBhZ2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ub3JkZXItY29udGVudC1jc3Mge1xuICBtYXJnaW4tbGVmdDogLTVweCAhaW1wb3J0YW50O1xufVxuXG4udG90YWwtYW1vdW50LWNzcyB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXQtUmVndWxhclwiO1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLmNhcmQtY3NzIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMTEsIDIxMSwgMjExLCAwLjQzKTtcbn1cblxuLmltYWdlLXdpZHRoIHtcbiAgbWF4LXdpZHRoOiA1NXB4O1xuICBtYXJnaW4tYm90dG9tOiA5cHg7XG59XG5cbi5tYXQtY2FyZCB7XG4gIHBhZGRpbmctdG9wOiAxM3B4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMHB4O1xufVxuXG4uaW1hZ2UtcG9pbnQtd2lkdGgge1xuICBtYXgtd2lkdGg6IDI4cHg7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbn1cblxuLmhlYWQge1xuICBmb250LWZhbWlseTogXCJCYXJsb3ctQm9sZFwiO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2ZmNjYxNDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5jYXJkLWl0ZXJhdGVkLWNzcyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5pdGVtLW5hbWUtY3NzIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LVNlbWlCb2xkXCI7XG59XG5cbi5jdXN0LW5hbWUtY3NzIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LVJlZ3VsYXJcIjtcbn1cblxuLm5vLWRhdGEtYXZhaWxibGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MHB4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LVJlZ3VsYXJcIjtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbi5uby1vcmRlci1kaXYge1xuICBtaW4taGVpZ2h0OiAyMDBweDtcbn1cblxuLnN1bW1hcnktY3NzIHtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LUJvbGRcIjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5waWNrLXVwLWRhdGUtdGltZSB7XG4gIG1hcmdpbi1ib3R0b206IDE5cHg7XG59XG5cbi5hZGRyZXNzLWNzcyB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXQtUmVndWxhclwiO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLm5hbWUtY3NzIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG4ucGljay1uYW1lLWNzcyB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXQtQm9sZFwiO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLmJ1dHRvbi1lZGl0LWRhdGUge1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1Cb2xkXCI7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC1zaXplOiAxOHB4O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLm90aGVyLWluZm8tY3NzIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1TZW1pQm9sZFwiO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLmN1c3QtY3NzIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1SZWd1bGFyXCI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG5ociB7XG4gIG1hcmdpbi10b3A6IDdweCAhaW1wb3J0YW50O1xufVxuXG4ucmFkaW8tYnV0dG9uLXNwYW4ge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5idXQtY3NzIHtcbiAgYm9yZGVyOiBzb2xpZCAjZmY2NjE0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLmRpdi1mb3ItcGljay11cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDNweDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4ucmFkaW8tYnV0dG9ucy1wbGFjZW1lbnQge1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG59XG5cbi50aW1lLWRhdGUtY3NzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLm9wdGlvbi1jc3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTNweDtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LVJlZ3VsYXJcIjtcbn1cblxuLmV4YW1wbGUtZnVsbC13aWR0aCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9yZ290LWVtYWlsLWlucHV0IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogXCJCYXJsb3ctTWVkaXVtXCI7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIC8qIG1hcmdpbi1ib3R0b206IDhweDsgKi9cbiAgbWFyZ2luLWJvdHRvbTogLTdweDtcbn1cblxuLmVtYWlsLWluZm8ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA5MCU7XG4gIG1hcmdpbjogYXV0bztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LUJvbGRcIjtcbiAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogYmxhY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5leHRyYS1pbmZvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogOTAlO1xuICBtYXJnaW46IGF1dG87XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1Cb2xkXCI7XG4gIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDtcbiAgY29sb3I6IGJsYWNrO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5leHRyYS1pbmZvLWxhc3Qge1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1TZW1pQm9sZFwiO1xuICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmZvcmdvdC1oZWFkIHtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LUJvbGRcIjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZjY2MTQ7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5pb24taXRlbS1jc3Mge1xuICAtLXBhZGRpbmctc3RhcnQ6IDBweCAhaW1wb3J0YW50O1xufVxuXG4uZ3Vlc3QtY3NzIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLnJlb3JkZXItYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LU1lZGl1bVwiO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tbGVmdDogMHB4O1xuICAtLWJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICAtLWJhY2tncm91bmQ6I2ZmNjYxNDtcbiAgLS1iYWNrZ3JvdW5kLWFjdGl2YXRlZDojZmY2NjE0IDtcbiAgLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6ICNmZjY2MTQ7XG4gIC0tYmFja2dyb3VuZC1ob3ZlcjojZmY2NjE0IDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY2MHB4KSB7XG4gIC5yZW9yZGVyLWJ1dHRvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogLTYwcHg7XG4gICAgLS1iYWNrZ3JvdW5kOiNmZjY2MTQ7XG4gICAgLS1iYWNrZ3JvdW5kLWFjdGl2YXRlZDojZmY2NjE0IDtcbiAgICAtLWJhY2tncm91bmQtZm9jdXNlZDogI2ZmNjYxNDtcbiAgICAtLWJhY2tncm91bmQtaG92ZXI6I2ZmNjYxNCA7XG4gIH1cbn1cbi5jaGVja291dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvdy1NZWRpdW1cIjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgLS1ib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDE4MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIC0tYmFja2dyb3VuZDojZmY2NjE0O1xuICAtLWJhY2tncm91bmQtYWN0aXZhdGVkOiNmZjY2MTQgO1xuICAtLWJhY2tncm91bmQtZm9jdXNlZDogI2ZmNjYxNDtcbiAgLS1iYWNrZ3JvdW5kLWhvdmVyOiNmZjY2MTQgO1xufVxuXG4uYm9yZGVyLW9uLWJ1dHRvbiB7XG4gIGJvcmRlcjogc29saWQgMnB4ICNmZjY2MTQ7XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvdy1NZWRpdW1cIjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLS1ib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgLS1iYWNrZ3JvdW5kOndoaXRlO1xuICAtLWNvbG9yOiAjZmY2NjE0O1xuICAtLWJhY2tncm91bmQtYWN0aXZhdGVkOiB3aGl0ZTtcbiAgLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6IHdoaXRlO1xuICAtLWJhY2tncm91bmQtaG92ZXI6IHdoaXRlO1xufVxuXG4uYnV0dG9uLW5ldy1jc3Mge1xuICBmb250LWZhbWlseTogXCJCYXJsb3ctTWVkaXVtXCI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAtLWJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICAtLWJhY2tncm91bmQ6I2ZmNjYxNDtcbiAgLS1iYWNrZ3JvdW5kLWFjdGl2YXRlZDojZmY2NjE0IDtcbiAgLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6ICNmZjY2MTQ7XG4gIC0tYmFja2dyb3VuZC1ob3ZlcjojZmY2NjE0IDtcbn1cblxuLmJ1dHQtY3NzIHtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LU1lZGl1bVwiO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5idXR0LWNzcy1ib2xkIHtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LU1lZGl1bVwiO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIC0tYmFja2dyb3VuZDojZmY2NjE0O1xuICAtLWJhY2tncm91bmQtYWN0aXZhdGVkOiNmZjY2MTQgO1xuICAtLWJhY2tncm91bmQtZm9jdXNlZDogI2ZmNjYxNDtcbiAgLS1iYWNrZ3JvdW5kLWhvdmVyOiNmZjY2MTQgO1xufVxuXG4udGhhbmtzLWRpdiB7XG4gIG1hcmdpbjogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZGF0ZS10aW1lLXBpY2tlci1jb2xvciB7XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvdy1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyAqL1xuICBjb2xvcjogI2ZmNjYxNDtcbn1cblxuLmlubGluZS1mbGF0cGlja3IgLmZvcm0tY29udHJvbCxcbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dUb3A6YmVmb3JlLFxuLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd1RvcDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ib3JkZXItYnV0dCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjY2MTQ7XG59XG5cbi5yZXF1ZXN0LWJ1dHRvbiB7XG4gIC0tYmFja2dyb3VuZDojZmY2NjE0O1xuICAtLWJhY2tncm91bmQtYWN0aXZhdGVkOiNmZjY2MTQgO1xuICAtLWJhY2tncm91bmQtZm9jdXNlZDogI2ZmNjYxNDtcbiAgLS1iYWNrZ3JvdW5kLWhvdmVyOiNmZjY2MTQgO1xuICBtYXJnaW4tdG9wOiAyOHB4O1xufVxuXG4uY2FyZC1jb250ZW50LWNzcyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5oZWFkIHtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LUJvbGRcIjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZjY2MTQ7XG4gIGZvbnQtc2l6ZTogMjRweDtcbn1cblxuLml0ZW0tbmF0aXZlIHtcbiAgcGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLmZpZWxkLXVzZXItbmFtZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LUJvbGRcIjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG4uZmllbGQtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LUJvbGRcIjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmZvcmdvdC1jc3Mge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC1mYW1pbHk6IEJhcmxvdy1SZWd1bGFyO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmJ1dHRvbi1zcGFuIHtcbiAgbWFyZ2luLXRvcDogMzZweDtcbn1cblxuLmJ1dHRvbi1uZXctY3NzIHtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LU1lZGl1bVwiO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tbGVmdDogMHB4O1xuICAtLWJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xufVxuXG4uY2VudGVyLWFkZHJlc3Mge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LVJlZ3VsYXJcIjtcbn1cblxuLmJvcmRlci1vZi1pdGVtIHtcbiAgLS1ib3JkZXItc3R5bGU6bm9uZSAhaW1wb3J0YW50O1xufVxuXG4ucGF5bWVudC1mb3JtIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmJhY2stY3NzIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogXCJCYXJsb3ctUmVndWxhclwiO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG4ucGhvbmUtbm8tY3NzIHtcbiAgY29sb3I6IHJlZDtcbn1cblxuLnBob25lLWNvZGUtY3NzIHtcbiAgd2lkdGg6IDMxcHg7XG59XG5cbi5waG9uZS1lcnJvci1tZXNzYWdlIHtcbiAgZm9udC1zaXplOiAxMXB4O1xufVxuXG4ucGhvbmUtZm9ybSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0Z3JheTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZy10b3A6IDJweCAhaW1wb3J0YW50O1xufVxuXG4ucGhvbmUtbGFiZWwtY3NzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgdG9wOiAtMTRweDtcbiAgbGVmdDogLTc3cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmZvcm0tZGl2IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IGF1dG87XG4gIHdpZHRoOiA5MCU7XG59XG5cbi5zaWduLXVwLXBhZ2UtY3NzIHtcbiAgbWFyZ2luLXRvcDogMzVweDtcbn1cblxuLmJ1dHRvbi1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbn1cblxuLmNhcHRjaGEtY3NzIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jaG9vc2Uge1xuICBjb2xvcjogI2ZmNjYxNDtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LU1lZGl1bVwiO1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbi5zaWduLXVwLWFuY2hvciB7XG4gIGNvbG9yOiAjZmY2NjE0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mb3JtLWRpdi1sb2dpbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICB3aWR0aDogNjAlO1xufVxuXG4uc29jaWFsLXByb2ZpbGVzLWhlYWRpbmcge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWZhbWlseTogXCJNZXJyaXdlYXRoZXJTYW5zLUxpZ2h0XCI7XG59XG5cbi5idXR0b24tdGl0bGUge1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4ubW9yZS1jc3Mtb24tdGl0bGVzIHtcbiAgbWFyZ2luLXRvcDogMTNweDtcbn1cblxuLmNsb3NlLWljb24tY3NzIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IHgtbGFyZ2U7XG59XG5cbi5mb3Jnb3QtcGFzc3dvcmQtdGV4dCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICNmZjY2MTQ7XG4gIG1hcmdpbi10b3A6IDlweDtcbn1cblxuLnRpdGxlLWNzcy13aXRoLWNsb3NlLWJ1dHRvbiB7XG4gIHdpZHRoOiA5MCU7XG4gIG1hcmdpbjogYXV0bztcbiAgZm9udC1mYW1pbHk6IFwiTWVycml3ZWF0aGVyU2Fucy1FeHRyYUJvbGRcIjtcbn1cblxuLnRpdGxlLWNzcy13aXRoLWNsb3NlLWJ1dHRvbi1mb3ItbG9naW4ge1xuICB3aWR0aDogOTAlO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgZm9udC1mYW1pbHk6IFwiTWVycml3ZWF0aGVyU2Fucy1FeHRyYUJvbGRcIjtcbn1cblxuLmJ1dHRvbi1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uaW5wdXQtYm94LWNzcyB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmV4YW1wbGUtc3BhY2VyIHtcbiAgZmxleDogMSAxIGF1dG87XG59XG5cbi50b29sYmFyLWNzcyB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnNvY2lhbC1tZWRpYS1idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uZ21haWwge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLmZhY2Vib29rLWJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5pbnB1dC1jb2xvci1jc3Mge1xuICBjYXJldC1jb2xvcjogZ3JlZW47XG59XG5cbm1hdC1oaW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMTBweDtcbn1cblxuLmZvcm0tZmllbGQtY3NzIHtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xufVxuXG4ubWFyZ2luLW9uLWJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG59XG5cbi5mb3JtLWZvci1yZWdpc3RyYXRpb24tY3NzIHtcbiAgbWFyZ2luLXRvcDogMTBwICFpbXBvcnRhbnQ7XG59XG5cbi5yZWNhcHRjaGEtY3NzIHtcbiAgd2lkdGg6IDU2JSAhaW1wb3J0YW50O1xuICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5lbWFpbC13YXJuaW5nIHtcbiAgY29sb3I6IHJlZDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1Cb2xkXCI7XG59XG5cbi5waWNrdXAtd2FybmluZyB7XG4gIGNvbG9yOiByZWQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LUJvbGRcIjtcbn1cblxuLmxvZ2luLXdhcm5pbmcge1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LUJvbGRcIjtcbiAgcGFkZGluZzogMCA3cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDBweDtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5lZGl0LWJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDI4cHg7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufSJdfQ== */\";","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Inject,\r\n ViewChild,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport {\r\n FormGroup,\r\n FormBuilder,\r\n Validators,\r\n FormControl,\r\n FormGroupDirective,\r\n NgForm,\r\n} from \"@angular/forms\";\r\nimport { DatePipe } from '@angular/common'\r\nimport {\r\n AlertController,\r\n MenuController,\r\n ModalController,\r\n NavController,\r\n Platform,\r\n} from \"@ionic/angular\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { SocialAuthService } from \"angularx-social-login\";\r\nimport {\r\n FacebookLoginProvider,\r\n GoogleLoginProvider,\r\n} from \"angularx-social-login\";\r\n// import { Facebook, FacebookLoginResponse } from \"@ionic-native/facebook/ngx\";\r\n// import { GooglePlus } from \"@ionic-native/google-plus/ngx\";\r\nimport { AuthService } from \"src/app/service/auth.service\";\r\nimport { Storage } from \"@ionic/storage\";\r\nimport { UtilityService } from \"src/app/service/utility.service\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { ErrorStateMatcher } from \"@angular/material/core\";\r\nimport { SubjectCollectionService } from \"src/app/service/subject-collection.service\";\r\nimport * as moment from \"moment\";\r\nimport { ResturantApiService } from \"src/app/service/resturant-api.service\";\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { NavigationExtras, Router } from \"@angular/router\";\r\nimport { environment } from \"src/environments/environment\";\r\ndeclare var FB: any;\r\nexport class MyErrorStateMatcher implements ErrorStateMatcher {\r\n isErrorState(\r\n control: FormControl | null,\r\n form: FormGroupDirective | NgForm | null\r\n ): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return !!(\r\n control &&\r\n control.invalid &&\r\n (control.dirty || control.touched || isSubmitted)\r\n );\r\n }\r\n}\r\n@Component({\r\n selector: \"app-registration-form\",\r\n templateUrl: \"./registration-form.component.html\",\r\n styleUrls: [\"./registration-form.component.scss\"],\r\n})\r\n\r\nexport class RegistrationFormComponent implements OnInit {\r\n @Input() form_name: any;\r\n public skip: boolean = false;\r\n public complete_menu: any = [];\r\n public recent_order_available: any;\r\n public recent_order_error: any;\r\n public recent_orders?: any = [];\r\n public rewards_available: any;\r\n public rewards?:any = [];\r\n public rewards_error: any;\r\n public account_info : any;\r\n public cart_Cat: any;\r\n public isClosed:boolean =false;\r\n public min_date: any;\r\n public max_date: any;\r\n public submit_clicked: boolean = false;\r\n @Input() pickup_abled?: any;\r\n @Input() next: any;\r\n @Input() warning_presence?: any;\r\n @Input() login_warning?: any;\r\n @Input() check_out_page_calling?: any;\r\n @Input() thanks_giving_form_display?: any;\r\n @ViewChild(FormGroupDirective) formDirective: FormGroupDirective;\r\n basicDemoValue = \"2017-01-01\";\r\n modelValueAsDate: Date = new Date();\r\n dateTimeValue: Date = new Date();\r\n multiDates: Date[] = [new Date(), (new Date() as any)[\"fp_incr\"](10)];\r\n rangeValue: { from: Date; to: Date } = {\r\n from: new Date(),\r\n to: (new Date() as any)[\"fp_incr\"](10),\r\n };\r\n inlineDatePicker: Date = new Date();\r\n timePicker: Date = null;\r\n // private phone_no : FormGroup;\r\n public cart_response: any = [];\r\n public email: any;\r\n public cart_subtotal: any = 0;\r\n public minDate: any;\r\n public maxDate: any;\r\n public user_info: any;\r\n public move_to_payment: any;\r\n public login_form: FormGroup;\r\n public form_name_displayed: any;\r\n public register_form: FormGroup;\r\n public hide: any;\r\n public total_amount :any;\r\n public config: any;\r\n public guest_user_form_value: any;\r\n public schedule_type: any;\r\n public schedule_time: any;\r\n public matcher: any;\r\n public forgot_password: FormGroup;\r\n public guest_user_account: FormGroup;\r\n public user_account: FormGroup;\r\n public FirstEdit: boolean = true;\r\n public LastEdit: boolean = true;\r\n public PhoneEdit: boolean = true;\r\n public aFormGroup: FormGroup;\r\n public token_value: any;\r\n public open_thanks_for_signing: any;\r\n public date_entered: any;\r\n public guest_info: any;\r\n public payment_status: any;\r\n public time_chosen_for_pick_up: any;\r\n public phone: any;\r\n constructor(\r\n public menu: MenuController,\r\n private router: Router,\r\n public datepipe: DatePipe,\r\n private formBuilder: FormBuilder,\r\n private authService: SocialAuthService,\r\n public modalCtrl: ModalController,\r\n // private fb_plugin: Facebook,\r\n public plt: Platform,\r\n // private googlePlus: GooglePlus,\r\n public auth: AuthService,\r\n public util: UtilityService,\r\n public snackBar: MatSnackBar,\r\n public navCtrl: NavController,\r\n public subject_service: SubjectCollectionService,\r\n public resturant_service: ResturantApiService,\r\n public alertController: AlertController\r\n ) {\r\n \r\n this.recent_order_available = true;\r\n this.recent_order_error = false;\r\n // this.phone_no= this.formBuilder.group({\r\n // area: ['', Validators.compose([Validators.required,Validators.pattern('[0-9]{3}'), Validators.maxLength(3)])],\r\n // exchange:['', Validators.compose([Validators.required, Validators.pattern('[0-9]{3}'),Validators.maxLength(3)])],\r\n // subscriber:['', Validators.compose([Validators.required,Validators.pattern('[0-9]{4}'), Validators.maxLength(4)])]\r\n // });\r\n this.cart_response = localStorage.getItem(\"cart_response\")\r\n ? JSON.parse(localStorage.getItem(\"cart_response\"))\r\n : [];\r\n var data = localStorage.getItem(\"cart_subtotal\")\r\n ? JSON.parse(localStorage.getItem(\"cart_subtotal\"))\r\n : \"\";\r\n // if (data) {\r\n // debugger;\r\n // this.total_amount=data.subtotal.amount;\r\n // this.cart_subtotal =\r\n // parseFloat(data.subtotal.amount) + this.total_amount * (1 + 0.0825) * (1 + 0.10) - this.total_amount;\r\n // }\r\n if (data) {\r\n debugger;\r\n this.total_amount = parseFloat(data.subtotal.amount);\r\n \r\n // Calculate tax at 18.25% and round it to two decimal places\r\n const taxAmount = Math.round(this.total_amount * 0.1825 * 100) / 100;\r\n \r\n // Add tax to subtotal\r\n this.cart_subtotal = this.total_amount + taxAmount;\r\n }\r\n\r\n\r\n this.user_info = localStorage.getItem(\"user_info\")\r\n ? JSON.parse(localStorage.getItem(\"user_info\"))\r\n : \"\";\r\n this.guest_info = localStorage.getItem(\"guest_info\")\r\n ? JSON.parse(localStorage.getItem(\"guest_info\"))\r\n : \"\";\r\n if (this.guest_info) {\r\n this.move_to_payment = true;\r\n }\r\n if (this.user_info) {\r\n if (localStorage.getItem(\"fulfilment_data\")) {\r\n this.move_to_payment = true;\r\n this.payment_status = false;\r\n } else {\r\n this.move_to_payment = false;\r\n this.payment_status = false;\r\n }\r\n }\r\n // if(this.guest_info){\r\n // if(localStorage.getItem('fulfilment_data')){\r\n // this.move_to_payment=true;\r\n // this.payment_status=false;\r\n // }\r\n // else{\r\n // this.move_to_payment=false;\r\n // this.payment_status=false;\r\n // }\r\n\r\n // }\r\n this.open_thanks_for_signing = false;\r\n this.config = {\r\n firstDayOfWeek: \"su\",\r\n monthFormat: \"MMM, YYYY\",\r\n disableKeypress: false,\r\n allowMultiSelect: false,\r\n closeOnSelect: undefined,\r\n closeOnSelectDelay: 100,\r\n onOpenDelay: 0,\r\n weekDayFormat: \"ddd\",\r\n appendTo: document.body,\r\n drops: \"down\",\r\n opens: \"right\",\r\n showNearMonthDays: true,\r\n showWeekNumbers: false,\r\n enableMonthSelector: true,\r\n format: \"YYYY-MM-DD HH:mm\",\r\n yearFormat: \"YYYY\",\r\n showGoToCurrent: true,\r\n dayBtnFormat: \"DD\",\r\n monthBtnFormat: \"MMM\",\r\n hours12Format: \"hh\",\r\n hours24Format: \"HH\",\r\n meridiemFormat: \"A\",\r\n minutesFormat: \"mm\",\r\n minutesInterval: 1,\r\n secondsFormat: \"ss\",\r\n secondsInterval: 1,\r\n showSeconds: false,\r\n showTwentyFourHours: true,\r\n timeSeparator: \":\",\r\n multipleYearsNavigateBy: 10,\r\n showMultipleYearsNavigation: false,\r\n locale: \"en-US\",\r\n min: \"2017-08-29 15:50\",\r\n minTime: \"2017-08-29 15:50\",\r\n };\r\n this.matcher = new MyErrorStateMatcher();\r\n this.hide = true;\r\n this.guest_user_account = this.formBuilder.group({\r\n first_name: [\"\", Validators.required],\r\n last_name: [\"\"],\r\n email: [\r\n \"\",\r\n [Validators.required, Validators.email, Validators.maxLength(255)],\r\n ],\r\n phone_number: [\r\n \"\",\r\n [\r\n Validators.maxLength(10),\r\n Validators.minLength(10),\r\n Validators.required,\r\n ],\r\n ],\r\n shipped_at: [\"\", Validators.required],\r\n });\r\n if(this.user_info)\r\n {\r\n this.phone= this.user_info.phoneNumber.substring(2);\r\n }\r\n this.user_account = this.formBuilder.group({\r\n first_name: [this.user_info.firstName, Validators.required],\r\n last_name: [this.user_info.lastName],\r\n email: [\r\n this.user_info.email,\r\n [Validators.required, Validators.email, Validators.maxLength(255)],\r\n ],\r\n phone_number: [\r\n this.phone,\r\n [\r\n Validators.maxLength(10),\r\n Validators.minLength(10),\r\n Validators.required,\r\n ],\r\n ],\r\n shipped_at: [\"\", Validators.required],\r\n });\r\n this.forgot_password = this.formBuilder.group({\r\n email: [\"\", [Validators.required, Validators.email]],\r\n });\r\n this.login_form = this.formBuilder.group({\r\n email: [\"\", [Validators.required, Validators.email]],\r\n password: [\r\n \"\",\r\n [\r\n Validators.required,\r\n Validators.minLength(6),\r\n Validators.maxLength(15),\r\n ],\r\n ],\r\n });\r\n // Validators.pattern(/^(\\d{3})(\\d{3})(\\d{4})/),\r\n this.register_form = this.formBuilder.group({\r\n first_name: [\"\", [Validators.required]],\r\n last_name: [\"\"],\r\n phone_no: [\r\n \"\",\r\n [\r\n Validators.minLength(10),\r\n Validators.maxLength(10),\r\n Validators.required,\r\n ],\r\n ],\r\n // user_name: ['', Validators.required],\r\n // (?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{8,}\r\n email: [\"\", [Validators.required, Validators.email]],\r\n password: [\r\n \"\",\r\n [\r\n Validators.required,\r\n Validators.minLength(6),\r\n Validators.maxLength(15),\r\n // Validators.pattern(/^(?=.*[A-Z])(?=.*[!@#\\$%\\^&\\*])(?=.{8,})/),\r\n ],\r\n ],\r\n // agree: [false, Validators.required]\r\n });\r\n }\r\n backToMenu(ev) {\r\n this.openMenu();\r\n }\r\n openMenu() {\r\n this.navCtrl.navigateRoot(\"ordering-system\");\r\n }\r\n async loginOrRegistrationButtonClicked(form_name) {\r\n const modal = await this.modalCtrl.create({\r\n component: RegistrationFormComponent,\r\n cssClass: \"my-modal\",\r\n componentProps: {\r\n form_name,\r\n },\r\n });\r\n return await modal.present();\r\n }\r\n isNumberKey(evt) {\r\n var charCode = evt.which ? evt.which : evt.keyCode;\r\n if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57))\r\n return false;\r\n\r\n return true;\r\n }\r\n backToPreviousState() {\r\n this.user_account = this.formBuilder.group({\r\n first_name: [this.user_info.firstName, Validators.required],\r\n last_name: [this.user_info.lastName],\r\n email: [\r\n this.user_info.email,\r\n [Validators.required, Validators.email, Validators.maxLength(255)],\r\n ],\r\n phone_number: [\r\n this.phone,\r\n [\r\n Validators.maxLength(10),\r\n Validators.minLength(10),\r\n Validators.required,\r\n ],\r\n ]\r\n });\r\n }\r\n async updateAccount() {\r\n var vm = this;\r\n await vm.util.presentLoading();\r\n const val = {\r\n FirstName: this.user_account.value.first_name\r\n ? this.user_account.value.first_name\r\n : \"\",\r\n LastName: this.user_account.value.last_name\r\n ? this.user_account.value.last_name\r\n : \"\",\r\n Email: this.user_account.value.email\r\n ? this.user_account.value.email\r\n : \"\"\r\n };\r\n try {\r\n var update_result = await this.auth.updateAccount(val);\r\n this.user_info = JSON.parse(localStorage.getItem(\"user_info\"));\r\n vm.util.dismissLoader();\r\n } catch (error) {\r\n debugger;\r\n vm.util.dismissLoader();\r\n vm.util.showErrorMessage(error);\r\n }\r\n }\r\n FirstEditButtonClicked() {\r\n this.FirstEdit = false;\r\n this.LastEdit = true;\r\n this.PhoneEdit = true;\r\n this.backToPreviousState();\r\n }\r\n FirstUpdateButtonClicked() {\r\n this.FirstEdit = true;\r\n this.updateAccount();\r\n }\r\n FirstCancelButtonClicked() {\r\n this.FirstEdit = true;\r\n this.backToPreviousState();\r\n }\r\n LastEditButtonClicked() {\r\n this.LastEdit = false;\r\n this.FirstEdit = true;\r\n this.PhoneEdit = true;\r\n this.backToPreviousState();\r\n }\r\n LastUpdateButtonClicked() {\r\n this.LastEdit = true;\r\n this.updateAccount();\r\n }\r\n LastCancelButtonClicked() {\r\n this.LastEdit = true;\r\n this.backToPreviousState();\r\n }\r\n PhoneEditButtonClicked() {\r\n this.PhoneEdit = false;\r\n this.LastEdit = true;\r\n this.FirstEdit = true;\r\n this.backToPreviousState();\r\n }\r\n PhoneUpdateButtonClicked() {\r\n this.PhoneEdit = true;\r\n this.updateAccount();\r\n }\r\n PhoneCancelButtonClicked() {\r\n this.PhoneEdit = true;\r\n this.backToPreviousState();\r\n }\r\n emailDomainValidator(control: FormControl) {\r\n let email = control.value;\r\n 2;\r\n if (email && email.indexOf(\"@\") != -1) {\r\n let [_, domain] = email.split(\"@\");\r\n if (domain !== \"gmail.com\") {\r\n return {\r\n emailDomain: {\r\n parsedDomain: domain,\r\n },\r\n };\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n checkLoginState() {\r\n FB.getLoginStatus(function (response) {\r\n });\r\n }\r\n checkform() {\r\n }\r\n async presentModal(form_name, warning_message?) {\r\n const modal = await this.modalCtrl.create({\r\n component: RegistrationFormComponent,\r\n cssClass: \"my-modal\",\r\n componentProps: {\r\n form_name: form_name,\r\n warning_presence: warning_message ? warning_message : \"\",\r\n login_warning: warning_message ? warning_message : \"\"\r\n },\r\n });\r\n return await modal.present();\r\n }\r\n async loginButtonPressed() {\r\n var vm = this;\r\n localStorage.removeItem(\"guest_user_form_value\");\r\n await vm.util.presentLoading();\r\n const val = {\r\n username: this.login_form.value.email\r\n ? this.login_form.value.email\r\n : \"NA\",\r\n password: this.login_form.value.password\r\n ? this.login_form.value.password\r\n : \"NA\",\r\n };\r\n try {\r\n const p = await this.auth.login(val);\r\n if (p == \"success\") {\r\n this.warning_presence = false;\r\n this.login_warning = false;\r\n await this.openMenu();\r\n } else {\r\n vm.util.dismissLoader();\r\n }\r\n vm.util.dismissLoader();\r\n } catch (error) {\r\n if (error == \"user not registered\") {\r\n\r\n vm.formDirective.resetForm();\r\n vm.warning_presence = \"\";\r\n vm.util.dismissLoader();\r\n } else if (error == \"Email is not confirmed.\") {\r\n vm.formDirective.resetForm();\r\n vm.warning_presence = true;\r\n vm.util.dismissLoader();\r\n }\r\n else if (error == \"Invalid login attempt.\") {\r\n vm.formDirective.resetForm();\r\n vm.login_warning = true;\r\n vm.util.dismissLoader();\r\n } else {\r\n vm.formDirective.resetForm();\r\n vm.util.dismissLoader();\r\n vm.snackBar.open(error, \"Done\"\r\n );\r\n }\r\n }\r\n\r\n\r\n }\r\n async registerButtonClicked() {\r\n var vm = this;\r\n localStorage.removeItem(\"guest_user_form_value\");\r\n await vm.util.presentLoading();\r\n const val = {\r\n FirstName: this.register_form.value.first_name\r\n ? this.register_form.value.first_name\r\n : \"\",\r\n LastName: this.register_form.value.last_name\r\n ? this.register_form.value.last_name\r\n : \"\",\r\n Password: this.register_form.value.password\r\n ? this.register_form.value.password\r\n : \"\",\r\n Email: this.register_form.value.email\r\n ? this.register_form.value.email\r\n : \"\",\r\n PhoneNumber: this.register_form.value.phone_no\r\n ? this.register_form.value.phone_no\r\n : \"\",\r\n CaptchaToken: vm.token_value ? vm.token_value : \"\",\r\n };\r\n try {\r\n var register_result = await this.auth.register(val);\r\n this.email = this.register_form.value.email;\r\n vm.register_form.reset();\r\n vm.util.dismissLoader();\r\n vm.open_thanks_for_signing = true;\r\n } catch (error) {\r\n if (error == \"Email already exists.\") {\r\n vm.register_form.reset();\r\n vm.login_warning = true;\r\n vm.util.dismissLoader();\r\n }\r\n else {\r\n debugger;\r\n vm.util.dismissLoader();\r\n vm.util.showErrorMessage(error);\r\n }\r\n }\r\n }\r\n openModal() {\r\n this.dimissFormPage();\r\n\r\n this.presentModal(\"login\", true);\r\n }\r\n async forgotPasswordButtonPressed() {\r\n var vm = this;\r\n await vm.util.presentLoading();\r\n this.auth.forgotPassword(this.forgot_password.value).subscribe(\r\n (data) => {\r\n vm.snackBar.open(\"Forgot password email is sent successfully\", \"Done\", {\r\n duration: 2000,\r\n });\r\n if (!this.check_out_page_calling) {\r\n this.dimissFormPage();\r\n }\r\n vm.util.dismissLoader();\r\n vm.login_warning = false;\r\n vm.form_name = \"login\";\r\n },\r\n async (error) => {\r\n if (!this.check_out_page_calling) {\r\n this.dimissFormPage();\r\n }\r\n await vm.util.dismissLoader();\r\n debugger;\r\n vm.util.showErrorMessage(error);\r\n\r\n }\r\n );\r\n }\r\n async alertMessage(question, message,time) {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: question,\r\n message: message,\r\n buttons: [\r\n {\r\n text: \"OK\",\r\n role: \"OK\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => { },\r\n },\r\n ],\r\n });\r\n setTimeout(async ()=>await alert.present(),time);\r\n }\r\n paymentMade(ev) {\r\n this.payment_status = ev;\r\n this.move_to_payment = true;\r\n }\r\n getTimeForPickup(event) {\r\n debugger\r\n if (JSON.parse(localStorage.getItem(\"cart_response\")) != null) {\r\n var menu = JSON.parse(localStorage.getItem(\"menu\"));\r\n var cart = JSON.parse(localStorage.getItem(\"cart_response\"));\r\n var burgerItem=0;\r\n cart.forEach(function (cart) {\r\n\r\n var a = menu.filter(x => x.itemName == cart.item_name)\r\n a.forEach(function (a) {\r\n if (a.categoryName == \"BURGER BAR\") {\r\n \r\n burgerItem = burgerItem + 1;\r\n\r\n }\r\n });\r\n\r\n });\r\n\r\n }\r\n this.time_chosen_for_pick_up = event.target.value;\r\n this.schedule_type = this.time_chosen_for_pick_up;\r\n localStorage.setItem(\r\n \"time_chosen_for_pick_up\",\r\n this.time_chosen_for_pick_up\r\n );\r\n\r\n if (this.time_chosen_for_pick_up == \"asap\") {\r\n \r\n this.date_entered = new Date();\r\n if(burgerItem>0)\r\n {\r\n this.date_entered.setMinutes(this.date_entered.getMinutes() + 40);\r\n\r\n }else{\r\n this.date_entered.setMinutes(this.date_entered.getMinutes() + 15);\r\n }\r\n \r\n this.schedule_time = this.date_entered;\r\n let latest_date = this.datepipe.transform(this.schedule_time, 'MMMM dd, h:mm a');\r\n this.schedule_time = latest_date;\r\n localStorage.setItem(\"schedule_time\", this.schedule_time);\r\n } else {\r\n \r\n this.date_entered = new Date();\r\n if(burgerItem>0)\r\n {\r\n this.date_entered.setMinutes(this.date_entered.getMinutes() + 40);\r\n\r\n }else{\r\n this.date_entered.setMinutes(this.date_entered.getMinutes() + 15);\r\n }\r\n this.date_entered.setSeconds(0,0);\r\n this.schedule_time = this.date_entered;\r\n let latest_date = this.datepipe.transform(this.schedule_time, 'MMMM dd, h:mm a');\r\n this.schedule_time = latest_date;\r\n }\r\n }\r\n\r\n async presentAlertForPickup() {\r\n \r\n \r\n if (JSON.parse(localStorage.getItem(\"cart_response\")) != null) {\r\n var Olength = 0;\r\n length = 0;\r\n var menu = JSON.parse(localStorage.getItem(\"menu\"));\r\n var cart = JSON.parse(localStorage.getItem(\"cart_response\"));\r\n cart.forEach(function (cart) {\r\n\r\n var a = menu.filter(x => x.itemName == cart.item_name)\r\n a.forEach(function (a) {\r\n if (a.categoryName == \"BREAKFAST\" || a.categoryName == \"SNACKS\" || a.categoryName == \"DESSERTS\" || a.categoryName == \"BEVERAGES\") {\r\n if (a.categoryName == \"BREAKFAST\") {\r\n Olength = Olength + 1;\r\n }\r\n length = length + 1;\r\n\r\n }\r\n });\r\n\r\n });\r\n if (length == cart.length && Olength != 0) {\r\n this.cart_Cat = \"BREAKFAST\";\r\n }\r\n else if (Olength == 0 && length == cart.length) {\r\n this.cart_Cat = \"\";\r\n }\r\n else if (Olength == 0 && length != cart.length) {\r\n this.cart_Cat = \"lunch\";\r\n }\r\n\r\n\r\n\r\n }\r\n if (this.cart_Cat == \"BREAKFAST\") {\r\n this.min_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"startLocalTime\"]; //environment.timing.Bf_Mintime; \r\n this.max_date = environment.timing.Bf_Maxtime;\r\n\r\n\r\n } else if (this.cart_Cat == \"lunch\") {\r\n this.min_date = environment.timing.Lunch_mintime;\r\n this.max_date =JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"endLocalTime\"]; //environment.timing.Lunch_maxtime;\r\n } else {\r\n\r\n\r\n this.min_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"startLocalTime\"];\r\n this.max_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"endLocalTime\"];\r\n }\r\n\r\n if (JSON.parse(localStorage.getItem(\"Sat_resturant_timings\")) != null)\r\n {\r\n //var Sat_isClosed = JSON.parse(localStorage.getItem(\"Sat_resturant_timings\"))[\"isClosed\"];\r\n var Sat_Mindate = JSON.parse(localStorage.getItem(\"Sat_resturant_timings\"))[\"startLocalTime\"];\r\n var Sat_Maxdate = JSON.parse(localStorage.getItem(\"Sat_resturant_timings\"))[\"endLocalTime\"];\r\n }\r\n if (JSON.parse(localStorage.getItem(\"SUN_resturant_timings\")) != null)\r\n {\r\n //var Sun_isClosed = JSON.parse(localStorage.getItem(\"SUN_resturant_timings\"))[\"isClosed\"];\r\n var Sun_Mindate = JSON.parse(localStorage.getItem(\"SUN_resturant_timings\"))[\"startLocalTime\"];\r\n var Sun_Maxdate = JSON.parse(localStorage.getItem(\"SUN_resturant_timings\"))[\"endLocalTime\"];\r\n }\r\n var max = JSON.parse(localStorage.getItem(\"resturant_timings\"))[\"endLocalTime\"];\r\n var closed = JSON.parse(localStorage.getItem(\"resturant_timings\"))[\"isClosed\"];\r\n var Msg = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"closedDesc\"];\r\n var day = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"dayOfWeek\"];\r\n var day1=localStorage.getItem(\"date_entered\");\r\n var Day = this.datepipe.transform(day1, 'EEE').toUpperCase();\r\n var time24To12 = function (a) {\r\n return (new Date(\"1955-11-05T\" + a + \"Z\")).toLocaleTimeString(\"bestfit\", {\r\n timeZone: \"UTC\",\r\n hour12: !0,\r\n hour: \"numeric\",\r\n minute: \"numeric\"\r\n });\r\n };\r\n if (this.guest_info) {\r\n this.guest_info = [];\r\n }\r\n if( Day==\"SAT\" )\r\n {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"Checkout failed!!\",\r\n message:\"We are Closed on Saturdays\",\r\n \r\n \r\n\r\n buttons: [\r\n {\r\n text: \"OK\",\r\n role: \"OK\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => {\r\n },\r\n },\r\n ],\r\n });\r\n await alert.present();\r\n }\r\n \r\n else\r\n if(closed&& Msg!=null && Day==day )\r\n {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"Checkout failed!!\",\r\n message:Msg,\r\n \r\n \r\n\r\n buttons: [\r\n {\r\n text: \"OK\",\r\n role: \"OK\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => {\r\n },\r\n },\r\n ],\r\n });\r\n await alert.present();\r\n }\r\n \r\n else{\r\n if (this.cart_Cat == \"BREAKFAST\") {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"Checkout failed!!\",\r\n message:\r\n \r\n // \"Breakfast items are available for pick-up during Breakfast hours of Mon - Fri from \" + time24To12(this.min_date) + \" to \" + time24To12(environment.timing.Bf_Maxtime) + \". All non-breakfast items are available for pick-up Mon - Fri from \" + time24To12(environment.timing.Lunch_mintime) + \" - \" + time24To12(max) + \", and Saturday from \" + time24To12(Sat_Mindate) + \" to \" + time24To12(Sat_Maxdate) +\", and Sunday from \" + time24To12(Sun_Mindate) + \" to \" + time24To12(Sun_Maxdate) +\". Thank you for your order.\",\r\n \"Breakfast items are available for pick-up during Breakfast hours of Mon - Fri from \" + time24To12(this.min_date) + \" to \" + time24To12(environment.timing.Bf_Maxtime) + \". All non-breakfast items are available for pick-up Mon - Fri from \" + time24To12(environment.timing.Lunch_mintime) + \" - \" + time24To12(max) + \", and Sunday from \" + time24To12(Sun_Mindate) + \" to \" + time24To12(Sun_Maxdate) +\". Thank you for your order.\",\r\n\r\n buttons: [\r\n {\r\n text: \"OK\",\r\n role: \"OK\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => {\r\n },\r\n },\r\n ],\r\n });\r\n await alert.present();\r\n\r\n\r\n } else if (this.cart_Cat == \"lunch\") {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"Checkout failed!!\",\r\n message:\r\n \"Delivery is available Mon-Fri from \" + time24To12(this.min_date) + \" - \" + time24To12(this.max_date) + \". Please schedule your order during those hours. If you need a delivery time outside of those hours, please contact our catering manager at 832.640.5236. Thank you for your order. \",\r\n //\"These items are available Mon - Fri between \" + time24To12(this.min_date) + \" to \" + time24To12(this.max_date) + \". Please schedule during those hours. Thank you for your order.\",\r\n // \"These items are available for pick-up between \"+time24To12(this.min_date)+\" to \"+time24To12(this.max_date)+\". Please schedule your pick-up during those hours. Thank you for your order\",\r\n\r\n buttons: [\r\n {\r\n text: \"OK\",\r\n role: \"OK\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => {\r\n },\r\n },\r\n ],\r\n });\r\n await alert.present();\r\n } else {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"Checkout failed!!\",\r\n message:\r\n \"Delivery is available Mon-Fri from \" + time24To12(this.min_date) + \" - \" + time24To12(this.max_date) + \". Please schedule your order during those hours. If you need a delivery time outside of those hours, please contact our catering manager at 832.640.5236. Thank you for your order. \",\r\n // \"Please schedule your order during business hours - Mon to Fri - \" + time24To12(this.min_date) + \" - \" + time24To12(this.max_date) + \".\",\r\n // \"We are open. Please visit our restaurant on the corner of Dryden and Main to place your order.\",\r\n //\"Please schedule pick-up during business hours - Mon to Fri - \"+time24To12(this.min_date)+\" - \"+time24To12(this.max_date)+\"\",\r\n buttons: [\r\n {\r\n text: \"OK\",\r\n role: \"OK\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => {\r\n },\r\n },\r\n ],\r\n });\r\n await alert.present();\r\n }\r\n }\r\n\r\n }\r\n getElement() {\r\n \r\n var msgfor:any;\r\n if (JSON.parse(localStorage.getItem(\"cart_response\")) != null) {\r\n var Olength = 0;\r\n length = 0;\r\n var menu = JSON.parse(localStorage.getItem(\"menu\"));\r\n var cart = JSON.parse(localStorage.getItem(\"cart_response\"));\r\n cart.forEach(function (cart) {\r\n\r\n var a = menu.filter(x => x.itemName == cart.item_name)\r\n a.forEach(function (a) {\r\n if (a.categoryName == \"BREAKFAST\" || a.categoryName == \"SNACKS\" || a.categoryName == \"DESSERTS\" || a.categoryName == \"BEVERAGES\") {\r\n if (a.categoryName == \"BREAKFAST\") {\r\n Olength = Olength + 1;\r\n }\r\n length = length + 1;\r\n\r\n }\r\n });\r\n\r\n });\r\n if (length == cart.length && Olength != 0) {\r\n this.cart_Cat = \"BREAKFAST\";\r\n }\r\n else if (Olength == 0 && length == cart.length) {\r\n this.cart_Cat = \"\";\r\n }\r\n else if (Olength == 0 && length != cart.length) {\r\n this.cart_Cat = \"lunch\";\r\n }\r\n\r\n }\r\n\r\n if (JSON.parse(localStorage.getItem(\"current_resturant_timings\")) != null) {\r\n var current_period = new Date();\r\n if (this.cart_Cat == \"BREAKFAST\") {\r\n this.min_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"startLocalTime\"];// environment.timing.Bf_Mintime; \r\n this.max_date = environment.timing.Bf_Maxtime;\r\n\r\n\r\n } else if (this.cart_Cat == \"lunch\") {\r\n this.min_date = environment.timing.Lunch_mintime;\r\n this.max_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"endLocalTime\"];// environment.timing.Lunch_maxtime; \r\n } else {\r\n\r\n this.min_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"startLocalTime\"];\r\n this.max_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"endLocalTime\"];\r\n }\r\n } else {\r\n this.min_date = JSON.parse(localStorage.getItem(\"resturant_timings\"))[\"startLocalTime\"];\r\n this.max_date = JSON.parse(localStorage.getItem(\"resturant_timings\"))[\"endLocalTime\"];\r\n }\r\n if (JSON.parse(localStorage.getItem(\"Sat_resturant_timings\")) != null)\r\n {\r\n var Sat_Mindate = JSON.parse(localStorage.getItem(\"Sat_resturant_timings\"))[\"startLocalTime\"];\r\n var Sat_Maxdate = JSON.parse(localStorage.getItem(\"Sat_resturant_timings\"))[\"endLocalTime\"];\r\n }\r\n if (JSON.parse(localStorage.getItem(\"SUN_resturant_timings\")) != null)\r\n {\r\n var Sun_Mindate = JSON.parse(localStorage.getItem(\"SUN_resturant_timings\"))[\"startLocalTime\"];\r\n var Sun_Maxdate = JSON.parse(localStorage.getItem(\"SUN_resturant_timings\"))[\"endLocalTime\"];\r\n }\r\n var closed = JSON.parse(localStorage.getItem(\"resturant_timings\"))[\"isClosed\"];\r\n var Msg = JSON.parse(localStorage.getItem(\"resturant_timings\"))[\"closedDesc\"];\r\n var time24To12 = function (a) {\r\n //below date doesn't matter.\r\n return (new Date(\"1955-11-05T\" + a + \"Z\")).toLocaleTimeString(\"bestfit\", {\r\n timeZone: \"UTC\",\r\n hour12: !0,\r\n hour: \"numeric\",\r\n minute: \"numeric\"\r\n });\r\n };\r\n if(closed&& Msg!=null)\r\n {\r\n msgfor=Msg;\r\n }\r\n else{\r\n if (this.cart_Cat == \"BREAKFAST\")\r\n {\r\n \r\n msgfor = \"Breakfast items are available for pick-up during Breakfast hours of Mon - Fri from \" + time24To12(this.min_date) + \" to \" + time24To12(environment.timing.Bf_Maxtime) + \". All non-breakfast items are available for pick-up Mon - Fri from \" + time24To12(environment.timing.Lunch_mintime) + \" - \" + time24To12(environment.timing.Lunch_maxtime) + \", and Sunday from \" + time24To12(Sun_Mindate) + \" to \" + time24To12(Sun_Maxdate) +\". Thank you for your order.\";\r\n \r\n \r\n }\r\n else if (this.cart_Cat == \"lunch\") \r\n {\r\n msgfor= \"Delivery is available Mon-Fri from \" + time24To12(this.min_date) + \" - \" + time24To12(this.max_date) + \". Please schedule your order during those hours. If you need a delivery time outside of those hours, please contact our catering manager at 832.640.5236. Thank you for your order. \";\r\n // msgfor = \"These items are available Mon - Fri between \" + time24To12(this.min_date) + \" to \" + time24To12(this.max_date) + \". Please schedule your order during those hours. Thank you for your order.\";\r\n }\r\n \r\n else {\r\n msgfor= \"Delivery is available Mon-Fri from \" + time24To12(this.min_date) + \" - \" + time24To12(this.max_date) + \". Please schedule your order during those hours. If you need a delivery time outside of those hours, please contact our catering manager at 832.640.5236. Thank you for your order. \";\r\n \r\n // msgfor = \"Please schedule your order during business hours - Mon to Fri - \" + time24To12(this.min_date) + \" - \" + time24To12(this.max_date) + \".\";\r\n \r\n }\r\n }\r\n\r\n return msgfor;\r\n }\r\n\r\n \r\n\r\n \r\n async prepareFulfilment(value) {\r\n debugger\r\n const now = moment();\r\n const chosenDateTime = moment(this.date_entered);\r\n const diffHours = chosenDateTime.diff(now, 'hours');\r\n\r\n // this.checkOrderEligibility(chosenDateTime);\r\n var a = moment(chosenDateTime).format(\"MMMM DD, h:mm a\");\r\n console.log(a,\"chosen date\")\r\n \r\n \r\n if (a.includes(\"November 21\")) {\r\n \r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"Call Us For Delivery\",\r\n message: \"We are unable to accept online orders during this time. Please call our catering managers directly at 832.640.5236.\",\r\n buttons: [\r\n {\r\n text: \"OK\",\r\n role: \"OK\",\r\n cssClass: \"secondary\",\r\n handler: () => {\r\n \r\n },\r\n },\r\n ],\r\n });\r\n await alert.present();\r\n return false;\r\n }\r\n\r\n if (diffHours < 24) {\r\n const alert = await this.alertController.create({\r\n cssClass: 'my-custom-class',\r\n header: 'Checkout failed!!',\r\n message: 'For deliveries within 24 hours, please call our Catering Managers at 832.240.5236.',\r\n buttons: [\r\n {\r\n text: 'OK',\r\n role: 'OK',\r\n cssClass: 'secondary',\r\n handler: () => {},\r\n },\r\n ],\r\n });\r\n await alert.present();\r\n return false;\r\n }\r\n\r\n if (JSON.parse(localStorage.getItem(\"cart_response\")) != null) {\r\n var Olength = 0;\r\n length = 0;\r\n var menu = JSON.parse(localStorage.getItem(\"menu\"));\r\n var cart = JSON.parse(localStorage.getItem(\"cart_response\"));\r\n cart.forEach(function (cart) {\r\n\r\n var a = menu.filter(x => x.itemName == cart.item_name)\r\n a.forEach(function (a) {\r\n if (a.categoryName == \"BREAKFAST\" || a.categoryName == \"SNACKS\" || a.categoryName == \"DESSERTS\" || a.categoryName == \"BEVERAGES\") {\r\n if (a.categoryName == \"BREAKFAST\") {\r\n Olength = Olength + 1;\r\n }\r\n length = length + 1;\r\n\r\n }\r\n });\r\n\r\n });\r\n if (length == cart.length && Olength != 0) {\r\n this.cart_Cat = \"BREAKFAST\";\r\n }\r\n else if (Olength == 0 && length == cart.length) {\r\n this.cart_Cat = \"\";\r\n }\r\n else if (Olength == 0 && length != cart.length) {\r\n this.cart_Cat = \"lunch\";\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n if (JSON.parse(localStorage.getItem(\"current_resturant_timings\")) != null) {\r\n if (this.cart_Cat == \"BREAKFAST\") {\r\n this.min_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"startLocalTime\"]; //environment.timing.Bf_Mintime;\r\n this.max_date = environment.timing.Bf_Maxtime;\r\n\r\n\r\n } else if (this.cart_Cat == \"lunch\") {\r\n this.min_date = environment.timing.Lunch_mintime;\r\n this.max_date =JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"endLocalTime\"]; //environment.timing.Lunch_maxtime;\r\n } else {\r\n\r\n this.min_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"startLocalTime\"];\r\n this.max_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"endLocalTime\"];\r\n }\r\n } else {\r\n this.min_date = JSON.parse(localStorage.getItem(\"resturant_timings\"))[\"startLocalTime\"];\r\n this.max_date = JSON.parse(localStorage.getItem(\"resturant_timings\"))[\"endLocalTime\"];\r\n }\r\n\r\n\r\n\r\n var msgfor = \"Sorry, we are currently closed. Please schedule your pick-up during business hours - M-F from \" + this.min_date + \" - \" + this.max_date + \". Thank you for your order. \"\r\n this.cart_response = localStorage.getItem(\"cart_response\")\r\n ? JSON.parse(localStorage.getItem(\"cart_response\"))\r\n : [];\r\n var data = localStorage.getItem(\"cart_subtotal\")\r\n ? JSON.parse(localStorage.getItem(\"cart_subtotal\"))\r\n : \"\";\r\n // if (data) {\r\n // debugger;\r\n // this.total_amount=data.subtotal.amount;\r\n // this.cart_subtotal =\r\n // parseFloat(data.subtotal.amount) + this.total_amount * (1 + 0.0825) * (1 + 0.10) - this.total_amount;\r\n // }\r\n if (data) {\r\n debugger;\r\n this.total_amount = parseFloat(data.subtotal.amount);\r\n \r\n // Calculate tax at 18.25% and round it to two decimal places\r\n const taxAmount = Math.round(this.total_amount * 0.1825 * 100) / 100;\r\n \r\n // Add tax to subtotal\r\n this.cart_subtotal = this.total_amount + taxAmount;\r\n }\r\n if (this.cart_subtotal<250)\r\n {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"Checkout failed!!\",\r\n message:\r\n \"A minimum order of $250 is required for delivery. For pick-up, please call our catering managers directly at 832.640.5236.\",\r\n // \"We are open. Please visit our restaurant on the corner of Dryden and Main to place your order.\",\r\n //\"Please schedule pick-up during business hours - Mon to Fri - \"+time24To12(this.min_date)+\" - \"+time24To12(this.max_date)+\"\",\r\n buttons: [\r\n {\r\n text: \"OK\",\r\n role: \"OK\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => {\r\n },\r\n },\r\n ],\r\n });\r\n await alert.present();\r\n return false;\r\n }\r\n \r\n if (value == \"asap\") {\r\n \r\n this.time_chosen_for_pick_up = value;\r\n this.schedule_type = this.time_chosen_for_pick_up;\r\n localStorage.setItem(\"time_chosen_for_pick_up\", this.time_chosen_for_pick_up);\r\n this.date_entered = new Date();\r\n this.date_entered.setMinutes(this.date_entered.getMinutes() + 15);\r\n this.schedule_time = this.date_entered;\r\n let latest_date = this.datepipe.transform(this.schedule_time, 'MMMM dd, h:mm a');\r\n this.schedule_time = latest_date;\r\n localStorage.setItem(\"schedule_time\", this.schedule_time);\r\n }\r\n var vm = this;\r\n if (this.user_info) {\r\n\r\n ShippedAt:this.user_account.value.shipped_at\r\n \r\n\r\n }\r\n else {\r\n\r\n debugger\r\n await vm.guestUserInfo();\r\n vm.guest_info = localStorage.getItem(\"guest_user_form_value\")\r\n ? JSON.parse(localStorage.getItem(\"guest_user_form_value\"))\r\n : \"\";\r\n }\r\n this.isClosed=false;\r\n localStorage.setItem(\"date_entered\", this.date_entered);\r\n this.schedule_time = moment(this.date_entered).format(\"MMMM DD, h:mm a\");\r\n var time = this.datepipe.transform(this.date_entered, 'yyyy-MM-dd');\r\n var Day = this.datepipe.transform(this.date_entered, 'EEE').toUpperCase();\r\n var schedule_period = this.datepipe.transform(value == \"asap\" ? this.date_entered.setMinutes(this.date_entered.getMinutes() - 15) : this.date_entered, 'HH:mm');\r\n var day = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"dayOfWeek\"];\r\n var closed = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"isClosed\"];\r\n if(Day==\"SAT\")\r\n {\r\n this.isClosed= JSON.parse(localStorage.getItem(\"Sat_resturant_timings\"))[\"isClosed\"];\r\n this.min_date = JSON.parse(localStorage.getItem(\"Sat_resturant_timings\"))[\"startLocalTime\"];\r\n this.max_date = JSON.parse(localStorage.getItem(\"Sat_resturant_timings\"))[\"endLocalTime\"];\r\n }\r\n if(Day ==\"SUN\")\r\n {\r\n \r\n this.isClosed= JSON.parse(localStorage.getItem(\"SUN_resturant_timings\"))[\"isClosed\"];\r\n this.min_date = JSON.parse(localStorage.getItem(\"SUN_resturant_timings\"))[\"startLocalTime\"];\r\n this.max_date = JSON.parse(localStorage.getItem(\"SUN_resturant_timings\"))[\"endLocalTime\"];\r\n }\r\n\r\n\r\n if ( Day!=day&& !this.isClosed ) {\r\n \r\n if (!(schedule_period > this.min_date && schedule_period < this.max_date)) {\r\n vm.move_to_payment = false;\r\n await this.presentAlertForPickup();\r\n }\r\n else {\r\n vm.move_to_payment = true;\r\n }\r\n \r\n\r\n }\r\n else if (!closed && Day==day) {\r\n\r\n if (!(schedule_period > this.min_date && schedule_period < this.max_date)) {\r\n vm.move_to_payment = false;\r\n await this.presentAlertForPickup();\r\n }\r\n else {\r\n vm.move_to_payment = true;\r\n }\r\n }\r\n else{\r\n vm.move_to_payment = false;\r\n await this.presentAlertForPickup();\r\n }\r\n }\r\n async prepareFulfilment_ready_to_hit() {\r\n debugger\r\n var vm = this;\r\n await vm.util.presentLoading();\r\n var location_id = JSON.parse(\r\n localStorage.getItem(\"current_resturant_data\")\r\n )[\"id\"];\r\n var order_id = localStorage.getItem(\"order_id\");\r\n if (this.date_entered) {\r\n if (order_id) {\r\n if (location_id) {\r\n var fulfilment_values: any;\r\n if ((this.time_chosen_for_pick_up == \"schedule\")) {\r\n fulfilment_values = {\r\n Type: 2,\r\n FulfillmentState: 0,\r\n ScheduleType: 1,\r\n ShipmentAt: moment(this.date_entered).format(\r\n \"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\"\r\n ),\r\n\r\n RecipientName: this.user_info\r\n ? this.user_info.firstName\r\n : this.guest_user_account.value.first_name,\r\n Email: this.user_info\r\n ? this.user_info.email\r\n : this.guest_user_account.value.email,\r\n PhoneNumber:this.user_info?this.user_info.PhoneNumber :this.guest_info.PhoneNumber,\r\n Address:this.user_info?this.user_info.shipped_at :this.guest_info.shipped_at,\r\n };\r\n } else {\r\n fulfilment_values = {\r\n Type: 2,\r\n FulfillmentState: 0,\r\n ScheduleType: 1,\r\n ShipmentAt: moment(this.date_entered).format(\r\n \"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\"\r\n ),\r\n RecipientName: this.user_info\r\n ? this.user_info.firstName\r\n : this.guest_user_account.value.first_name,\r\n Email: this.user_info\r\n ? this.user_info.email\r\n : this.guest_user_account.value.email,\r\n PhoneNumber:this.user_info?this.user_info.PhoneNumber :this.guest_info.PhoneNumber,\r\n Address:this.user_info?this.user_info.shipped_at :this.guest_info.shipped_at,\r\n };\r\n }\r\n\r\n var p = {\r\n OrderId: order_id,\r\n LocationId: location_id,\r\n Fulfillment: { ...fulfilment_values },\r\n };\r\n\r\n var guest_user_info = this.user_info\r\n ? \"\"\r\n : JSON.parse(localStorage.getItem(\"guest_info\"));\r\n vm.resturant_service.createOrderWithoutUserInfo(p).subscribe(\r\n (data_2: any) => {\r\n vm.util.dismissLoader();\r\n vm.move_to_payment = true;\r\n vm.schedule_time = localStorage.getItem(\"date_entered\");\r\n vm.cart_response = localStorage.getItem(\"cart_response\")\r\n ? JSON.parse(localStorage.getItem(\"cart_response\"))\r\n : [];\r\n var data = localStorage.getItem(\"cart_subtotal\")\r\n ? JSON.parse(localStorage.getItem(\"cart_subtotal\"))\r\n : 0;\r\n // if (data) {\r\n // debugger;\r\n // this.total_amount=data.subtotal.amount;\r\n // this.cart_subtotal =\r\n // parseFloat(data.subtotal.amount) + this.total_amount * (1 + 0.0825) * (1 + 0.10) - this.total_amount;\r\n // }\r\n if (data) {\r\n debugger;\r\n this.total_amount = parseFloat(data.subtotal.amount);\r\n \r\n // Calculate tax at 18.25% and round it to two decimal places\r\n const taxAmount = Math.round(this.total_amount * 0.1825 * 100) / 100;\r\n \r\n // Add tax to subtotal\r\n this.cart_subtotal = this.total_amount + taxAmount;\r\n }\r\n vm.guest_info = guest_user_info;\r\n localStorage.setItem(\"fulfilment_data\", JSON.stringify(data_2));\r\n },\r\n (error) => {\r\n debugger;\r\n vm.util.dismissLoader();\r\n vm.util.showErrorMessage(error);\r\n }\r\n );\r\n }\r\n } else {\r\n vm.util.dismissLoader();\r\n vm.util.showErrorMessage(\"Your Basket is empty\");\r\n }\r\n } else {\r\n vm.util.dismissLoader();\r\n vm.util.showErrorMessage(\"No date is selected to place the order\");\r\n }\r\n }\r\n \r\n editUserInfo(user_type) {\r\n var vm = this;\r\n if (user_type == \"guest_user\") {\r\n this.move_to_payment = false;\r\n this.guest_info = \"\";\r\n localStorage.removeItem('guest_user_form_value')\r\n localStorage.removeItem('date_entered')\r\n localStorage.removeItem('guest_info')\r\n localStorage.removeItem('time_chosen_for_pick_up')\r\n \r\n }\r\n if (user_type == \"register_user\") {\r\n this.payment_status = \"\";\r\n this.move_to_payment = false;\r\n }\r\n }\r\n async guestUserInfo() {\r\n debugger\r\n var vm = this;\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n debugger\r\n var data = {\r\n FirstName: this.guest_user_account.value.first_name,\r\n LastName: this.guest_user_account.value.last_name,\r\n Email: this.guest_user_account.value.email,\r\n PhoneNumber: this.guest_user_account.value.phone_number,\r\n IsGuest: \"true\",\r\n ShippedAt:this.guest_user_account.value.shipped_at,\r\n \r\n \r\n\r\n };\r\n localStorage.setItem(\"guest_user_form_value\", JSON.stringify(data));\r\n vm.guest_user_form_value = data;\r\n resolve(\"success\")\r\n }\r\n catch (error) {\r\n reject(\"error\")\r\n }\r\n });\r\n }\r\n openSignUpForm() {\r\n this.form_name = \"register\";\r\n this.open_thanks_for_signing = false;\r\n this.form_name_displayed = \"Registration\";\r\n }\r\n openLoginForm() {\r\n this.form_name = \"login\";\r\n this.open_thanks_for_signing = false;\r\n }\r\n openCheckOutForm() {\r\n debugger\r\n if (JSON.parse(localStorage.getItem(\"cart_response\")) != null) {\r\n var Olength = 0;\r\n length = 0;\r\n var menu = JSON.parse(localStorage.getItem(\"menu\"));\r\n var cart = JSON.parse(localStorage.getItem(\"cart_response\"));\r\n cart.forEach(function (cart) {\r\n\r\n var a = menu.filter(x => x.itemName == cart.item_name)\r\n a.forEach(function (a) {\r\n if (a.categoryName == \"BREAKFAST\" || a.categoryName == \"SNACKS\" || a.categoryName == \"DESSERTS\" || a.categoryName == \"BEVERAGES\") {\r\n \r\n\r\n if (a.categoryName == \"BREAKFAST\") {\r\n Olength = Olength + 1;\r\n }\r\n length = length + 1;\r\n\r\n }\r\n });\r\n\r\n });\r\n if (length == cart.length && Olength != 0) {\r\n this.cart_Cat = \"BREAKFAST\";\r\n }\r\n else if (Olength == 0 && length == cart.length) {\r\n this.cart_Cat = \"\";\r\n }\r\n else if (Olength == 0 && length != cart.length) {\r\n this.cart_Cat = \"lunch\";\r\n }\r\n\r\n\r\n\r\n }\r\n if (JSON.parse(localStorage.getItem(\"current_resturant_timings\")) != null) {\r\n var current_period = new Date();\r\n if (this.cart_Cat == \"BREAKFAST\") {\r\n this.min_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"startLocalTime\"]; //environment.timing.Bf_Mintime;\r\n this.max_date = environment.timing.Bf_Maxtime;\r\n\r\n\r\n } else if (this.cart_Cat == \"lunch\") {\r\n this.min_date = environment.timing.Lunch_mintime;\r\n this.max_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"endLocalTime\"]; //environment.timing.Lunch_maxtime; \r\n } else {\r\n this.min_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"startLocalTime\"];\r\n this.max_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"endLocalTime\"];\r\n }\r\n var current_time = this.datepipe.transform(current_period, 'HH:mm');\r\n var time = this.datepipe.transform(current_period, 'yyyy-MM-dd');\r\n var closed = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"isClosed\"];\r\n\r\n\r\n if (!closed) \r\n {\r\n \r\n if (current_time > this.min_date && current_time < this.max_date) {\r\n this.pickup_abled = true;\r\n }\r\n else {\r\n this.pickup_abled = false;\r\n }\r\n \r\n \r\n\r\n }\r\n else {\r\n this.pickup_abled = false;\r\n }\r\n\r\n }\r\n else {\r\n this.pickup_abled = false;\r\n }\r\n \r\n // if (JSON.parse(localStorage.getItem(\"current_resturant_timings\")) != null) {\r\n // var current_period = new Date();\r\n // var min_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"startLocalTime\"];\r\n // var max_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"endLocalTime\"];\r\n // var current_time = this.datepipe.transform(current_period, 'HH:mm');\r\n // if (current_time > min_date && current_time < max_date) {\r\n // this.pickup_abled = true;\r\n // }\r\n // else {\r\n // this.pickup_abled = false;\r\n\r\n // }\r\n // }\r\n // else {\r\n // this.pickup_abled = false;\r\n // }\r\n var cart_response = localStorage.getItem(\"cart_response\")\r\n ? JSON.parse(localStorage.getItem(\"cart_response\"))\r\n : [];\r\n if (cart_response && cart_response.length > 0) {\r\n // this.maxDate.setDate( new Date().getDate()+ 15)\r\n // this.minDate.setDate( new Date().getDate() )\r\n const now = new Date();\r\n \r\n const targetDate = new Date(2024, 10, 11);\r\n \r\n \r\n if (now < targetDate) {\r\n \r\n this.minDate = targetDate;\r\n } else {\r\n \r\n now.setDate(now.getDate() + 1);\r\n \r\n this.minDate= now;\r\n \r\n }\r\n \r\n \r\n \r\n // November is represented as 10 because months are zero-based\r\n this.maxDate = new Date(2024, 10, 26); \r\n // this.minDate = new Date(now.setDate(now.getDate() + 1));\r\n // this.minDate = new Date(now.setDate(now.getDate() + 1));\r\n // this.maxDate = new Date(now.setDate(now.getDate() + 7));\r\n this.form_name = \"check-out\";\r\n this.form_name_displayed = \"Checkout\";\r\n }\r\n else {\r\n this.presentEmptyBasketAlert();\r\n }\r\n }\r\n async presentEmptyBasketAlert() {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"Checkout failed!!\",\r\n message:\r\n \"Your basket is empty.\",\r\n buttons: [\r\n {\r\n text: \"OK\",\r\n role: \"OK\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => {\r\n },\r\n },\r\n ],\r\n });\r\n\r\n await alert.present();\r\n }\r\n openForgotPassword() {\r\n this.form_name = \"forgot_password\";\r\n this.form_name_displayed = \"Forgot Password\";\r\n }\r\n getLoyaltyAccount(customer_id)\r\n {\r\n this.resturant_service.getLoyaltyAccount(customer_id).subscribe(\r\n (data)=>{\r\n if(data)\r\n {\r\n this.account_info=data;\r\n }\r\n }\r\n )\r\n }\r\n callPrograms()\r\n {\r\n var vm = this;\r\n vm.util.presentLoading();\r\n this.resturant_service.getLoyaltyPrograms().subscribe(\r\n (data)=>{\r\n if(data.length == 0)\r\n {\r\n vm.rewards= [];\r\n vm.rewards_available=false;\r\n vm.util.dismissLoader(true);\r\n }\r\n else{\r\n vm.rewards = [];\r\n vm.rewards_available=false;\r\n if(data.length > 0)\r\n {\r\n vm.rewards.push(...data);\r\n this.skip=true;\r\n vm.util.dismissLoader(true);\r\n }\r\n }\r\n },\r\n (error)=>{\r\n vm.rewards_error = true;\r\n vm.rewards_available=false;\r\n vm.snackBar.open(\"Error while retrieving rewards\", \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.util.dismissLoader(true);\r\n }\r\n )\r\n }\r\n callRecentOrders() {\r\n var vm = this;\r\n vm.util.presentLoading();\r\n this.resturant_service.getRecentOrders().subscribe(\r\n (data) => {\r\n if (data.length == 0) {\r\n vm.recent_orders = [];\r\n vm.recent_order_available = false;\r\n vm.util.dismissLoader(true);\r\n } else {\r\n vm.recent_orders = [];\r\n\r\n if (data.length > 0) {\r\n vm.recent_orders.push(...data);\r\n this.skip=true;\r\n vm.recent_order_available = false;\r\n vm.util.dismissLoader(true);\r\n }\r\n }\r\n },\r\n (error) => {\r\n vm.recent_order_error = true;\r\n vm.recent_order_available = false;\r\n vm.snackBar.open(\"Error while retrieving recent orders\", \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.util.dismissLoader(true);\r\n }\r\n );\r\n\r\n }\r\n\r\n ngOnInit() {\r\n debugger\r\n var vm = this;\r\n \r\n // var Sun_Maxdate = JSON.parse(localStorage.getItem(\"SUN_resturant_timings\"))[\"endLocalTime\"]\r\n var location = JSON.parse(localStorage.getItem(\"current_resturant_data\"))[\"id\"];\r\n vm.resturant_service\r\n .getCompleteMenuByLocation(location)\r\n .subscribe(\r\n async (resturant_menu: any = []) => {\r\n \r\n\r\n // vm.subject_service.getLocationItems(resturant_menu);\r\n vm.complete_menu = [...resturant_menu];\r\n \r\n },\r\n (error) => {\r\n reject(error);\r\n }\r\n );\r\n this.guest_info = localStorage.getItem(\"guest_info\")\r\n ? JSON.parse(localStorage.getItem(\"guest_info\"))\r\n : \"\";\r\n if (this.guest_info) {\r\n this.move_to_payment = true;\r\n }\r\n else {\r\n this.move_to_payment = false;\r\n }\r\n this.aFormGroup = this.formBuilder.group({\r\n recaptcha: [\"\", Validators.required],\r\n });\r\n \r\n // const now_date = new Date();\r\n const now = new Date();\r\n \r\n const targetDate = new Date(2024, 10, 11);\r\n \r\n \r\n if (now < targetDate) {\r\n this.date_entered = targetDate;\r\n this.minDate = targetDate;\r\n } else {\r\n \r\n now.setDate(now.getDate() + 1);\r\n this.date_entered = now;\r\n this.minDate= now;\r\n \r\n }\r\n // this.date_entered = new Date(now_date.setDate(now.getDate() + 1));\r\n //this.date_entered = new Date(2023, 10, 6);\r\n //this.minDate =new Date(now_date.setDate(now.getDate() + 1)); // November is represented as 10 because months are zero-based\r\n this.maxDate = new Date(2024, 10, 27); \r\n\r\n\r\n\r\n\r\n \r\n\r\n \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.minDate = new Date(now.setDate(now.getDate() + 11));\r\n // debugger;\r\n // this.maxDate = new Date(now.setDate(now.getDate() + 16));\r\n }\r\n\r\n \r\n\r\n ngAfterViewInit() {\r\n this.guest_info = localStorage.getItem(\"guest_info\")\r\n ? JSON.parse(localStorage.getItem(\"guest_info\"))\r\n : \"\";\r\n if (this.guest_info) {\r\n this.move_to_payment = true;\r\n } else {\r\n this.move_to_payment = false;\r\n }\r\n setTimeout(() => {\r\n this.form_name == \"register\"\r\n ? (this.form_name_displayed = \"Registration\")\r\n : (this.form_name_displayed = \"Login\");\r\n }, 200);\r\n }\r\n handleError() {\r\n\r\n }\r\n handleSuccess(ev) {\r\n this.token_value = ev;\r\n }\r\n dimissFormPage() {\r\n if (this.check_out_page_calling == \"true\") {\r\n } else {\r\n this.modalCtrl.dismiss();\r\n }\r\n }\r\n ngOnChanges() {\r\n this.skip=false;\r\n var vm = this;\r\n if (this.user_info && this.form_name == 'orders') {\r\n\r\n this.callRecentOrders();\r\n }\r\n if (this.user_info && this.form_name == 'rewards') {\r\n\r\n \r\n this.callPrograms();\r\n var customer_id=this.user_info.squareCustomerid;\r\n \r\n this.getLoyaltyAccount(customer_id);\r\n\r\n }\r\n this.warning_presence = false;\r\n this.login_warning = false;\r\n if (!this.user_info) {\r\n this.move_to_payment = false;\r\n this.guest_info = null;\r\n this.date_entered = null;\r\n this.guest_user_account.reset();\r\n }\r\n else {\r\n this.payment_status = null;\r\n this.move_to_payment = false;\r\n }\r\n this.open_thanks_for_signing = this.thanks_giving_form_display;\r\n this.forgot_password.reset();\r\n this.login_form.reset();\r\n this.register_form.reset();\r\n this.schedule_type = localStorage.getItem(\"time_chosen_for_pick_up\");\r\n if (this.schedule_type == \"asap\") {\r\n this.schedule_time = localStorage.getItem(\"schedule_time\");\r\n }\r\n else {\r\n this.schedule_time = moment(this.schedule_time).format(\r\n \"MMMM DD, h:mm:ss a\");\r\n this.schedule_time = localStorage.getItem(\"date_entered\");\r\n }\r\n\r\n this.guest_user_form_value = localStorage.getItem(\"guest_user_form_value\")\r\n ? JSON.parse(localStorage.getItem(\"guest_user_form_value\"))\r\n : \"\";\r\n }\r\n\r\n async loginPageCalled() {\r\n if (this.check_out_page_calling == \"true\") {\r\n this.form_name = \"login\";\r\n } else {\r\n this.dimissFormPage();\r\n const modal = await this.modalCtrl.create({\r\n component: RegistrationFormComponent,\r\n cssClass: \"my-modal\",\r\n componentProps: {\r\n form_name: \"login\",\r\n },\r\n });\r\n return await modal.present();\r\n }\r\n }\r\n removeByAttr(arr, attr, value) {\r\n var i = arr.length;\r\n while (i--) {\r\n if (\r\n arr[i] &&\r\n arr[i].hasOwnProperty(attr) &&\r\n arguments.length > 2 &&\r\n arr[i][attr] === value\r\n ) {\r\n arr.splice(i, 1);\r\n }\r\n }\r\n return arr;\r\n }\r\n async presentAlert() {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"CheckOut failed\",\r\n message: \"You have to login prior to adding items to cart\",\r\n buttons: [\r\n \"OK\",\r\n {\r\n text: \"Login\",\r\n role: \"cancel\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => {\r\n this.loginOrRegistrationButtonClicked(\"login\");\r\n },\r\n },\r\n ],\r\n });\r\n await alert.present();\r\n }\r\n clean(obj) {\r\n var vm = this;\r\n for (var propName in obj) {\r\n if (\r\n obj[propName] == null ||\r\n obj[propName] == \"\" ||\r\n obj[propName] == undefined\r\n ) {\r\n delete obj[propName];\r\n }\r\n }\r\n return obj;\r\n }\r\n afterGettingResponseFromOrderApiWithoutUser(data) {\r\n\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let vm = this;\r\n let data_got: any = [];\r\n let subtotal: any = null;\r\n if (data) {\r\n debugger;\r\n if (data.subTotal) {\r\n subtotal = {\r\n subtotal: {\r\n amount: data.subTotal,\r\n currency: \"USD\",\r\n },\r\n tax: {\r\n amount: data.totalTax*(0.19075/0.1825),\r\n currency: \"USD\",\r\n },\r\n };\r\n }\r\n\r\n if (data.orderDetails) {\r\n data.orderDetails.map((e) => {\r\n let p: any = [];\r\n let taxes: any = [];\r\n var total_money: any = 0;\r\n if (\r\n e.orderDetailCustomizations &&\r\n e.orderDetailCustomizations.length > 0\r\n ) {\r\n e.orderDetailCustomizations.map((f) => {\r\n p.push({\r\n name: f.customizationOptionName,\r\n catalog_id: f.itemCustomizationOptionId,\r\n customizationOptionPrice: f.customizationOptionPrice\r\n ? f.customizationOptionPrice\r\n : null,\r\n customizationOptionVariationName: f.customizationOptionVariationName\r\n ? f.customizationOptionVariationName\r\n : null,\r\n uid: f.uid,\r\n amount: f.customizationOptionPrice,\r\n });\r\n total_money =\r\n total_money + parseFloat(f.customizationOptionPrice);\r\n });\r\n }\r\n if (e.orderDetailTaxes && e.orderDetailTaxes.length > 0) {\r\n e.orderDetailTaxes.map((g) => {\r\n taxes.push({\r\n OrderDetailTaxId: g.orderDetailTaxId,\r\n });\r\n });\r\n }\r\n data_got.push({\r\n variation_price: e.variationPrice,\r\n variation_currency: \"USD\",\r\n variation_name: e.variationName,\r\n uid: e.uid,\r\n catalog_id: e.variationId,\r\n item_name: e.itemName,\r\n quantity: e.quantity,\r\n amount: JSON.stringify(\r\n JSON.parse(e.quantity) *\r\n (JSON.parse(e.variationPrice) + total_money)\r\n ),\r\n currency: \"USD\",\r\n customisation: p,\r\n tax_id: taxes,\r\n });\r\n });\r\n }\r\n }\r\n localStorage.setItem(\"order_id\", data[\"orderId\"]);\r\n vm.subject_service.getcartReponse(data_got);\r\n localStorage.setItem(\"cart_response\", JSON.stringify(data_got));\r\n localStorage.setItem(\"cart_subtotal\", JSON.stringify(subtotal));//subtotal\r\n vm.subject_service.getSubtotalReponse(subtotal);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n vm.subject_service.getWaitingForCart(false);\r\n resolve(\"success\");\r\n } catch (error) {\r\n reject(\"error\");\r\n }\r\n });\r\n }\r\n async replaceOrder(data_related_to_order_selescted) {\r\n debugger\r\n var vm = this;\r\n this.time_chosen_for_pick_up = \"asap\";\r\n \r\n var menu=vm.complete_menu;\r\n var details = data_related_to_order_selescted.orderDetails;\r\n var not_sold : any=[];\r\n details.forEach(function (detail) {\r\n \r\n var a = menu.filter(x => x.itemName == detail.itemName);\r\n if(a[0].isSold==false )\r\n {\r\n not_sold.push(detail);\r\n }\r\n });\r\n if(not_sold.length==0)\r\n {\r\nthis.alertMessage(\"Sold out!!\",\"Item is sold out.\",0);\r\n }\r\n else{\r\n var vm = this;\r\n vm.util.presentLoading();\r\n var order_detail: any = [];\r\n var all_taxes: any = [];\r\n order_detail = await not_sold.map(\r\n (e) => {\r\n var ids: any = [];\r\n var taxes: any = [];\r\n if (\r\n e.orderDetailCustomizations &&\r\n e.orderDetailCustomizations.length > 0\r\n ) {\r\n for (let y = 0; y < e.orderDetailCustomizations.length; y++) {\r\n ids.push({\r\n ItemCustomizationOptionId:\r\n e.orderDetailCustomizations[y].itemCustomizationOptionId,\r\n });\r\n }\r\n }\r\n if (e.orderDetailTaxes && e.orderDetailTaxes.length > 0) {\r\n for (let j = 0; j < e.orderDetailTaxes.length; j++) {\r\n taxes.push({\r\n OrderDetailTaxId: e.orderDetailTaxes[j].orderDetailTaxId,\r\n });\r\n }\r\n }\r\n var data = {\r\n VariationId: e.variationId,\r\n Quantity: e.quantity,\r\n OrderDetailTaxes: [...taxes],\r\n OrderDetailCustomizations: [...ids],\r\n };\r\n return data;\r\n }\r\n );\r\n order_detail.map((f) => {\r\n f.OrderDetailTaxes.map((g) => {\r\n all_taxes.push({ OrderDetailTaxId: g.OrderDetailTaxId });\r\n });\r\n });\r\n var result = all_taxes.reduce((unique, o) => {\r\n if (!unique.some((obj) => obj.OrderDetailTaxId == o.OrderDetailTaxId)) {\r\n unique.push(o);\r\n }\r\n return unique;\r\n }, []);\r\n var all_taxes_filtered: any;\r\n all_taxes_filtered = result.map((e) => {\r\n return { TaxId: e.OrderDetailTaxId };\r\n });\r\n this.router\r\n .navigate([`/ordering-system`])\r\n .then(async () => {\r\n vm.subject_service.getWaitingForCart(true);\r\n vm.subject_service.getWaitingForSubtotal(true);\r\n vm.menu.open(\"cart\");\r\n if (localStorage.getItem(\"user_info\")) {\r\n let order_id = localStorage.getItem(\"order_id\");\r\n if (order_id) {\r\n if (localStorage.getItem(\"cart_response\")) {\r\n let get_local_storage_items = JSON.parse(localStorage.getItem(\"cart_response\"));\r\n let item_id: any = [];\r\n get_local_storage_items.map((e) => {\r\n let val = \"line_items[\" + e.uid + \"]\";\r\n item_id.push(val);\r\n });\r\n var remove_data = {\r\n OrderId: order_id,\r\n LocationId: JSON.parse(\r\n localStorage.getItem(\"current_resturant_data\")\r\n )[\"id\"],\r\n FieldsToClear: [...item_id],\r\n };\r\n }\r\n vm.resturant_service.createOrderWithoutUserInfo(remove_data).subscribe(\r\n async (data) => {\r\n localStorage.removeItem(\"order_id\");\r\n if (localStorage.getItem(\"fulfilment\")) {\r\n localStorage.removeItem(\"fulfilment\");\r\n vm.subject_service.getFulfilment(false);\r\n }\r\n var item_add_to_cart = {\r\n LocationId: data_related_to_order_selescted.locationId,\r\n OrderDetails: [...order_detail],\r\n Taxes: [...all_taxes_filtered],\r\n };\r\n var p = await vm.clean(item_add_to_cart);\r\n p.OrderDetails = p.OrderDetails.map((e) => {\r\n return vm.clean(e);\r\n });\r\n if (p.Taxes) {\r\n p.Taxes.TaxId = await vm.removeByAttr(p.Taxes, \"TaxId\", \"\");\r\n }\r\n vm.resturant_service.createOrderWithoutUserInfo(p).subscribe(\r\n (data: any) => {\r\n vm.util.dismissLoader();\r\n vm.afterGettingResponseFromOrderApiWithoutUser(data);\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm.snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm.snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n } else {\r\n var item_add_to_cart = {\r\n LocationId: data_related_to_order_selescted.locationId,\r\n OrderDetails: [...order_detail],\r\n Taxes: [...all_taxes_filtered],\r\n };\r\n var p = await vm.clean(item_add_to_cart);\r\n p.OrderDetails = p.OrderDetails.map((e) => {\r\n return vm.clean(e);\r\n });\r\n if (p.Taxes) {\r\n p.Taxes.TaxId = await vm.removeByAttr(p.Taxes, \"TaxId\", \"\");\r\n }\r\n vm.resturant_service.createOrderWithoutUserInfo(p).subscribe(\r\n (data: any) => {\r\n vm.util.dismissLoader();\r\n vm.afterGettingResponseFromOrderApiWithoutUser(data);\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm.snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n }\r\n } else {\r\n vm.presentAlert();\r\n }\r\n });\r\n if(not_sold.length!=details.length)\r\n {\r\n this.alertMessage(\"Sold out!!\",\"One or more items are sold out which have not been added in the cart.\",3500);\r\n }\r\n }\r\n }\r\n}\r\nfunction reject(error: any) {\r\n throw new Error(\"Function not implemented.\");\r\n}\r\n\r\n","export default \".not-available-message {\\n width: 80%;\\n margin: auto;\\n text-align: center;\\n margin-top: 20px;\\n}\\n\\n.favorite-with-border {\\n position: absolute;\\n top: 0px;\\n right: 22px;\\n color: white;\\n}\\n\\n.price-value {\\n float: right;\\n font-family: \\\"Montserrat-Bold\\\";\\n}\\n\\n.resturant-state {\\n text-align: center;\\n border: 3px solid black;\\n position: relative;\\n top: 10px;\\n margin: 10px;\\n color: red;\\n}\\n\\n.float-button {\\n float: right;\\n}\\n\\n.price-of-item {\\n float: right;\\n}\\n\\n.button-edit-remove {\\n min-width: auto;\\n padding: 0px !important;\\n font-family: \\\"Montserrat-Regular\\\";\\n text-decoration: underline;\\n}\\n\\n.address-data {\\n font-weight: bold;\\n color: red;\\n}\\n\\n.bestseller-css {\\n position: absolute;\\n top: 3px;\\n left: 12px;\\n /* background: brown; */\\n color: white;\\n border: 2px solid white;\\n border-radius: 20px;\\n padding: 2px;\\n /* width: 30px; */\\n font-size: 10px;\\n}\\n\\n.arrow-css {\\n color: blue;\\n}\\n\\n.veg-or-no-veg {\\n position: absolute;\\n top: 4px;\\n left: -10px;\\n border: 1px solid white;\\n color: white;\\n width: 18px;\\n height: 18px;\\n}\\n\\n.remove-margin {\\n margin-top: 0px !important;\\n}\\n\\n.customisation-csss {\\n width: 97%;\\n padding-right: 10px;\\n font-family: \\\"Montserrat-Regular\\\";\\n}\\n\\n.heading-css {\\n display: flex;\\n}\\n\\n.color-of-total {\\n color: #ff6614;\\n}\\n\\n.dot {\\n width: 11px;\\n border-radius: 50%;\\n height: 11px;\\n margin: auto;\\n text-align: center;\\n /* display: list-item; */\\n display: block;\\n position: relative;\\n top: 2px;\\n}\\n\\n.each-customisation {\\n margin-top: 6px;\\n margin-bottom: 6px;\\n display: flex;\\n}\\n\\n.customisation-added-css {\\n font-family: \\\"Montserrat-Regular\\\";\\n font-size: 16px;\\n}\\n\\n.favorite-fill {\\n color: red !important;\\n}\\n\\n.total-card {\\n margin: 10px;\\n}\\n\\n.item-name-css {\\n font-weight: 600;\\n font-size: 17px;\\n font-family: \\\"Montserrat-Bold\\\";\\n margin-bottom: 0px !important;\\n margin-top: -2.7px;\\n}\\n\\n.customisation-option-css {\\n font-weight: 600;\\n font-size: 17px;\\n font-family: \\\"Barlow-Bold\\\";\\n margin-top: 10px;\\n}\\n\\n.cost-name {\\n font-weight: 600;\\n font-size: 17px;\\n color: brown;\\n font-size: 16px;\\n}\\n\\n.save-favorite-span {\\n display: inline-flex;\\n font-size: 23px;\\n text-transform: uppercase;\\n font-family: \\\"Barlow-bold\\\";\\n}\\n\\n.favorite-chip-css {\\n float: right;\\n}\\n\\n.save-favorite-css {\\n font-size: 9px;\\n}\\n\\n.remove-card-radius {\\n border-radius: 0px !important;\\n}\\n\\n.divider-css {\\n margin-top: 10px;\\n background: brown;\\n width: 96% !important;\\n left: 10px !important;\\n}\\n\\n.order-option-warning {\\n border: 2px solid brown;\\n margin: auto;\\n text-align: center;\\n padding: 7px;\\n margin: 17px;\\n color: brown;\\n}\\n\\n.select-css {\\n font-weight: bold;\\n font-size: 19px;\\n}\\n\\n.radio-group-css {\\n display: grid;\\n}\\n\\n.checkout-button {\\n --border-radius: 0px !important;\\n font-family: \\\"Barlow-Medium\\\";\\n margin-left: 10px;\\n --background:#ff6614;\\n --background-activated:#ff6614 ;\\n --background-focused: #ff6614;\\n --background-hover:#ff6614 ;\\n}\\n\\nmat-card {\\n margin-bottom: 20px;\\n}\\n\\n.text-css {\\n font-size: 11px;\\n color: darkslategray;\\n}\\n\\n.amount-css {\\n color: brown;\\n font-weight: 700;\\n font-size: 16px;\\n margin-left: 20px;\\n}\\n\\n.button-for-group-ordering {\\n margin-top: 10px;\\n margin-left: 10px;\\n}\\n\\n.main-heading-css {\\n font-weight: 700;\\n}\\n\\n.deadline-css {\\n color: red;\\n font-size: large;\\n}\\n\\n.anchor-css {\\n font-size: 12px;\\n}\\n\\n.notes-css {\\n border: 1px solid black;\\n padding: 5px;\\n border-radius: 5px;\\n}\\n\\n.total-cost-css {\\n justify-content: center;\\n display: flex;\\n align-items: center;\\n}\\n\\n.address-css {\\n font-weight: bold;\\n font-size: 14px;\\n border: 1px solid red;\\n padding: 10px;\\n /* margin-top: 2px; */\\n margin-bottom: 7px;\\n margin-top: 2px;\\n}\\n\\n.or-css {\\n margin-left: 5px;\\n margin-right: 5px;\\n}\\n\\n.no-saved-item {\\n /* border: 2px solid brown; */\\n margin: auto;\\n text-align: center;\\n padding: 7px;\\n margin: 17px;\\n}\\n\\n.item-selected-main-div {\\n margin-top: 28px !important;\\n}\\n\\n.color-text {\\n color: #957b5f;\\n}\\n\\n.total-css-empty {\\n font-family: \\\"Montserrat-SemiBold\\\";\\n font-size: 15px;\\n color: black;\\n cursor: default;\\n}\\n\\n.zero-css-empty {\\n font-family: \\\"Montserrat-Bold\\\";\\n font-size: 16px;\\n margin-left: -56px;\\n float: right;\\n}\\n\\n.no-item-message {\\n padding-top: 10px;\\n font-size: 15px;\\n font-family: \\\"Montserrat-Regular\\\";\\n color: black;\\n}\\n\\n.skeleton-text-css {\\n text-align: center;\\n margin-top: 31px !important;\\n padding: 10px;\\n}\\n\\n.items-in-cart {\\n display: inline-flex;\\n align-items: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L3JpZ2h0LXBhbmVsL0M6XFxSb2hpdGhfV29ya1xcQ2l0YWRlbFxcQ2l0YWRlbFxcdGhueGdpdmluZ2Zyb250ZW5kbmV3XFx0aGFua3NnaXZpbmdmcm9udGVuZC9zcmNcXGFwcFxcY29tcG9uZW50XFxyaWdodC1wYW5lbFxccmlnaHQtcGFuZWwuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvbXBvbmVudC9yaWdodC1wYW5lbC9yaWdodC1wYW5lbC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFVBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtBQ0NGOztBRENBO0VBQ0Usa0JBQUE7RUFDQSxRQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7QUNFRjs7QURBQTtFQUNFLFlBQUE7RUFDQSw4QkFBQTtBQ0dGOztBRERBO0VBQ0Usa0JBQUE7RUFDQSx1QkFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFlBQUE7RUFDQSxVQUFBO0FDSUY7O0FERkE7RUFDRSxZQUFBO0FDS0Y7O0FESEE7RUFDRSxZQUFBO0FDTUY7O0FESkE7RUFDRSxlQUFBO0VBQ0EsdUJBQUE7RUFDQSxpQ0FBQTtFQUNBLDBCQUFBO0FDT0Y7O0FETEE7RUFDRSxpQkFBQTtFQUNBLFVBQUE7QUNRRjs7QUROQTtFQUNFLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFVBQUE7RUFDQSx1QkFBQTtFQUNBLFlBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtBQ1NGOztBRFBBO0VBQ0UsV0FBQTtBQ1VGOztBRFJBO0VBQ0Usa0JBQUE7RUFDQSxRQUFBO0VBQ0EsV0FBQTtFQUNBLHVCQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0FDV0Y7O0FEVEE7RUFDRSwwQkFBQTtBQ1lGOztBRFZBO0VBQ0UsVUFBQTtFQUNBLG1CQUFBO0VBQ0EsaUNBQUE7QUNhRjs7QURYQTtFQUNFLGFBQUE7QUNjRjs7QURYQTtFQUNFLGNBQUE7QUNjRjs7QURaQTtFQUNFLFdBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSx3QkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7QUNlRjs7QURiQTtFQUNFLGVBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQUE7QUNnQkY7O0FEZEE7RUFDRSxpQ0FBQTtFQUNBLGVBQUE7QUNpQkY7O0FEaEJBO0VBQ0UscUJBQUE7QUNtQkY7O0FEZEE7RUFDRSxZQUFBO0FDaUJGOztBRGZBO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsOEJBQUE7RUFDQSw2QkFBQTtFQUNBLGtCQUFBO0FDa0JGOztBRGhCQTtFQUNFLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLDBCQUFBO0VBQ0EsZ0JBQUE7QUNtQkY7O0FEakJBO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QUNvQkY7O0FEbEJBO0VBQ0Usb0JBQUE7RUFDQSxlQUFBO0VBQ0EseUJBQUE7RUFDQSwwQkFBQTtBQ3FCRjs7QURuQkE7RUFDRSxZQUFBO0FDc0JGOztBRHBCQTtFQUNFLGNBQUE7QUN1QkY7O0FEckJBO0VBQ0UsNkJBQUE7QUN3QkY7O0FEdEJBO0VBQ0UsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EscUJBQUE7QUN5QkY7O0FEdkJBO0VBQ0UsdUJBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLFlBQUE7QUMwQkY7O0FEeEJBO0VBQ0UsaUJBQUE7RUFDQSxlQUFBO0FDMkJGOztBRHpCQTtFQUNFLGFBQUE7QUM0QkY7O0FEMUJBO0VBQ0UsK0JBQUE7RUFDQSw0QkFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSwrQkFBQTtFQUNBLDZCQUFBO0VBQ0EsMkJBQUE7QUM2QkY7O0FEM0JBO0VBQ0UsbUJBQUE7QUM4QkY7O0FENUJBO0VBQ0UsZUFBQTtFQUNBLG9CQUFBO0FDK0JGOztBRHRCQTtFQUNFLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtBQ3lCRjs7QUR2QkE7RUFDRSxnQkFBQTtFQUNBLGlCQUFBO0FDMEJGOztBRHhCQTtFQUNFLGdCQUFBO0FDMkJGOztBRHpCQTtFQUNFLFVBQUE7RUFDQSxnQkFBQTtBQzRCRjs7QUQxQkE7RUFDRSxlQUFBO0FDNkJGOztBRDNCQTtFQUNFLHVCQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0FDOEJGOztBRDVCQTtFQUNFLHVCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0FDK0JGOztBRDdCQTtFQUNFLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLHFCQUFBO0VBQ0EsYUFBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0FDZ0NGOztBRDlCQTtFQUNFLGdCQUFBO0VBQ0EsaUJBQUE7QUNpQ0Y7O0FEL0JBO0VBQ0UsNkJBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtBQ2tDRjs7QURoQ0E7RUFDRSwyQkFBQTtBQ21DRjs7QURoQ0E7RUFDRSxjQUFBO0FDbUNGOztBRGpDQTtFQUNBLGtDQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0FDb0NBOztBRGxDQTtFQUNFLDhCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBRUEsWUFBQTtBQ29DRjs7QURsQ0E7RUFLRSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxpQ0FBQTtFQUNBLFlBQUE7QUNpQ0Y7O0FEOUJBO0VBQ0Usa0JBQUE7RUFDQSwyQkFBQTtFQUVBLGFBQUE7QUNnQ0Y7O0FEOUJBO0VBQ0Usb0JBQUE7RUFDQSxtQkFBQTtBQ2lDRiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudC9yaWdodC1wYW5lbC9yaWdodC1wYW5lbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5ub3QtYXZhaWxhYmxlLW1lc3NhZ2Uge1xyXG4gIHdpZHRoOiA4MCU7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcbi5mYXZvcml0ZS13aXRoLWJvcmRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMHB4O1xyXG4gIHJpZ2h0OiAyMnB4O1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxufVxyXG4ucHJpY2UtdmFsdWV7XHJcbiAgZmxvYXQ6cmlnaHQ7XHJcbiAgZm9udC1mYW1pbHk6J01vbnRzZXJyYXQtQm9sZCc7XHJcbn1cclxuLnJlc3R1cmFudC1zdGF0ZSB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsYWNrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0b3A6IDEwcHg7XHJcbiAgbWFyZ2luOiAxMHB4O1xyXG4gIGNvbG9yOiByZWQ7XHJcbn1cclxuLmZsb2F0LWJ1dHRvbntcclxuICBmbG9hdDpyaWdodDtcclxufVxyXG4ucHJpY2Utb2YtaXRlbXtcclxuICBmbG9hdDpyaWdodDtcclxufVxyXG4uYnV0dG9uLWVkaXQtcmVtb3ZlIHtcclxuICBtaW4td2lkdGg6IGF1dG87XHJcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0LVJlZ3VsYXInO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcbi5hZGRyZXNzLWRhdGEge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGNvbG9yOiByZWQ7XHJcbn1cclxuLmJlc3RzZWxsZXItY3NzIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAzcHg7XHJcbiAgbGVmdDogMTJweDtcclxuICAvKiBiYWNrZ3JvdW5kOiBicm93bjsgKi9cclxuICBjb2xvcjogd2hpdGU7XHJcbiAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XHJcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICBwYWRkaW5nOiAycHg7XHJcbiAgLyogd2lkdGg6IDMwcHg7ICovXHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG59XHJcbi5hcnJvdy1jc3Mge1xyXG4gIGNvbG9yOiBibHVlO1xyXG59XHJcbi52ZWctb3Itbm8tdmVnIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA0cHg7XHJcbiAgbGVmdDogLTEwcHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIHdpZHRoOiAxOHB4O1xyXG4gIGhlaWdodDogMThweDtcclxufVxyXG4ucmVtb3ZlLW1hcmdpbntcclxuICBtYXJnaW4tdG9wOjBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5jdXN0b21pc2F0aW9uLWNzc3N7XHJcbiAgd2lkdGg6OTclO1xyXG4gIHBhZGRpbmctcmlnaHQ6MTBweDtcclxuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQtUmVndWxhcic7XHJcbn1cclxuLmhlYWRpbmctY3Nze1xyXG4gIGRpc3BsYXk6ZmxleDtcclxuICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbi5jb2xvci1vZi10b3RhbHtcclxuICBjb2xvcjojZmY2NjE0O1xyXG59XHJcbi5kb3Qge1xyXG4gIHdpZHRoOiAxMXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBoZWlnaHQ6IDExcHg7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAvKiBkaXNwbGF5OiBsaXN0LWl0ZW07ICovXHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogMnB4O1xyXG59XHJcbi5lYWNoLWN1c3RvbWlzYXRpb257XHJcbiAgbWFyZ2luLXRvcDogNnB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDZweDtcclxuICBkaXNwbGF5OmZsZXg7XHJcbn1cclxuLmN1c3RvbWlzYXRpb24tYWRkZWQtY3Nze1xyXG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdC1SZWd1bGFyJztcclxuICBmb250LXNpemU6IDE2cHg7fVxyXG4uZmF2b3JpdGUtZmlsbCB7XHJcbiAgY29sb3I6IHJlZCAhaW1wb3J0YW50O1xyXG59XHJcbi8vIC5zZWNvbmQtY2FyZCB7XHJcbi8vICAgLy8gbWFyZ2luLWJvdHRvbTogODhweDtcclxuLy8gfVxyXG4udG90YWwtY2FyZCB7XHJcbiAgbWFyZ2luOiAxMHB4O1xyXG59XHJcbi5pdGVtLW5hbWUtY3NzIHtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGZvbnQtc2l6ZTogMTdweDtcclxuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQtQm9sZCc7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLXRvcDogLTIuN3B4O1xyXG59XHJcbi5jdXN0b21pc2F0aW9uLW9wdGlvbi1jc3N7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBmb250LXNpemU6IDE3cHg7XHJcbiAgZm9udC1mYW1pbHk6ICdCYXJsb3ctQm9sZCc7XHJcbiAgbWFyZ2luLXRvcDoxMHB4O1xyXG59XHJcbi5jb3N0LW5hbWUge1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgZm9udC1zaXplOiAxN3B4O1xyXG4gIGNvbG9yOiBicm93bjtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuLnNhdmUtZmF2b3JpdGUtc3BhbiB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgZm9udC1zaXplOiAyM3B4O1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LWJvbGRcIjtcclxufVxyXG4uZmF2b3JpdGUtY2hpcC1jc3Mge1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG4uc2F2ZS1mYXZvcml0ZS1jc3Mge1xyXG4gIGZvbnQtc2l6ZTogOXB4O1xyXG59XHJcbi5yZW1vdmUtY2FyZC1yYWRpdXN7XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmRpdmlkZXItY3NzIHtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIGJhY2tncm91bmQ6IGJyb3duO1xyXG4gIHdpZHRoOjk2JSAhaW1wb3J0YW50O1xyXG4gIGxlZnQ6MTBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5vcmRlci1vcHRpb24td2FybmluZyB7XHJcbiAgYm9yZGVyOiAycHggc29saWQgYnJvd247XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwYWRkaW5nOiA3cHg7XHJcbiAgbWFyZ2luOiAxN3B4O1xyXG4gIGNvbG9yOiBicm93bjtcclxufVxyXG4uc2VsZWN0LWNzcyB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zaXplOiAxOXB4O1xyXG59XHJcbi5yYWRpby1ncm91cC1jc3Mge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbn1cclxuLmNoZWNrb3V0LWJ1dHRvbiB7XHJcbiAgLS1ib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcclxuICBmb250LWZhbWlseTogXCJCYXJsb3ctTWVkaXVtXCI7XHJcbiAgbWFyZ2luLWxlZnQ6MTBweDtcclxuICAtLWJhY2tncm91bmQ6I2ZmNjYxNDtcclxuICAtLWJhY2tncm91bmQtYWN0aXZhdGVkOiNmZjY2MTQgO1xyXG4gIC0tYmFja2dyb3VuZC1mb2N1c2VkOiAjZmY2NjE0O1xyXG4gIC0tYmFja2dyb3VuZC1ob3ZlcjojZmY2NjE0IDtcclxufVxyXG5tYXQtY2FyZCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG4udGV4dC1jc3Mge1xyXG4gIGZvbnQtc2l6ZTogMTFweDtcclxuICBjb2xvcjogZGFya3NsYXRlZ3JheTtcclxufVxyXG4vLyAubXlhcHAtbm8tcGFkZGluZy1kaWFsb2cgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcclxuLy8gICBwYWRkaW5nOiAwO1xyXG4vLyB9XHJcbi8vIDo6bmctZGVlcCAubWF0LWRpYWxvZy1jb250YWluZXIge1xyXG4vLyAgIHBhZGRpbmc6IDA7XHJcblxyXG4vLyAgfVxyXG4uYW1vdW50LWNzcyB7XHJcbiAgY29sb3I6IGJyb3duO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG59XHJcbi5idXR0b24tZm9yLWdyb3VwLW9yZGVyaW5nIHtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcbi5tYWluLWhlYWRpbmctY3NzIHtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcbi5kZWFkbGluZS1jc3Mge1xyXG4gIGNvbG9yOiByZWQ7XHJcbiAgZm9udC1zaXplOiBsYXJnZTtcclxufVxyXG4uYW5jaG9yLWNzcyB7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcbi5ub3Rlcy1jc3Mge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xyXG4gIHBhZGRpbmc6IDVweDtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuLnRvdGFsLWNvc3QtY3NzIHtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLmFkZHJlc3MtY3NzIHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgLyogbWFyZ2luLXRvcDogMnB4OyAqL1xyXG4gIG1hcmdpbi1ib3R0b206IDdweDtcclxuICBtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuLm9yLWNzcyB7XHJcbiAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICBtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG4ubm8tc2F2ZWQtaXRlbSB7XHJcbiAgLyogYm9yZGVyOiAycHggc29saWQgYnJvd247ICovXHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwYWRkaW5nOiA3cHg7XHJcbiAgbWFyZ2luOiAxN3B4O1xyXG59XHJcbi5pdGVtLXNlbGVjdGVkLW1haW4tZGl2e1xyXG4gIG1hcmdpbi10b3A6MjhweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY29sb3ItdGV4dCB7XHJcbiAgY29sb3I6ICM5NTdiNWY7XHJcbn1cclxuLnRvdGFsLWNzcy1lbXB0eXtcclxuZm9udC1mYW1pbHk6ICdNb250c2VycmF0LVNlbWlCb2xkJztcclxuZm9udC1zaXplOjE1cHg7XHJcbmNvbG9yOmJsYWNrO1xyXG5jdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuLnplcm8tY3NzLWVtcHR5e1xyXG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdC1Cb2xkJztcclxuICBmb250LXNpemU6MTZweDtcclxuICBtYXJnaW4tbGVmdDotNTZweDtcclxuICAvLyBjb2xvcjojZmY2NjE0O1xyXG4gIGZsb2F0OnJpZ2h0O1xyXG59XHJcbi5uby1pdGVtLW1lc3NhZ2Uge1xyXG4gIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAvLyAgIG1hcmdpbi10b3A6IDMxcHggIWltcG9ydGFudDtcclxuICAvLyAgIC8vIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrO1xyXG4gIC8vICAgcGFkZGluZzogMTBweDtcclxuICBwYWRkaW5nLXRvcDogMTBweDtcclxuICBmb250LXNpemU6IDE1cHg7XHJcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1SZWd1bGFyXCI7XHJcbiAgY29sb3I6YmxhY2s7XHJcbiAgLy8gZm9udC1mYW1pbHk6J00nXHJcbn1cclxuLnNrZWxldG9uLXRleHQtY3NzIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbWFyZ2luLXRvcDogMzFweCAhaW1wb3J0YW50O1xyXG4gIC8vIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuLml0ZW1zLWluLWNhcnQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbiIsIi5ub3QtYXZhaWxhYmxlLW1lc3NhZ2Uge1xuICB3aWR0aDogODAlO1xuICBtYXJnaW46IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmZhdm9yaXRlLXdpdGgtYm9yZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgcmlnaHQ6IDIycHg7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnByaWNlLXZhbHVlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LUJvbGRcIjtcbn1cblxuLnJlc3R1cmFudC1zdGF0ZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiAzcHggc29saWQgYmxhY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMHB4O1xuICBtYXJnaW46IDEwcHg7XG4gIGNvbG9yOiByZWQ7XG59XG5cbi5mbG9hdC1idXR0b24ge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5wcmljZS1vZi1pdGVtIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uYnV0dG9uLWVkaXQtcmVtb3ZlIHtcbiAgbWluLXdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1SZWd1bGFyXCI7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uYWRkcmVzcy1kYXRhIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiByZWQ7XG59XG5cbi5iZXN0c2VsbGVyLWNzcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzcHg7XG4gIGxlZnQ6IDEycHg7XG4gIC8qIGJhY2tncm91bmQ6IGJyb3duOyAqL1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBwYWRkaW5nOiAycHg7XG4gIC8qIHdpZHRoOiAzMHB4OyAqL1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbi5hcnJvdy1jc3Mge1xuICBjb2xvcjogYmx1ZTtcbn1cblxuLnZlZy1vci1uby12ZWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNHB4O1xuICBsZWZ0OiAtMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbn1cblxuLnJlbW92ZS1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbn1cblxuLmN1c3RvbWlzYXRpb24tY3NzcyB7XG4gIHdpZHRoOiA5NyU7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXQtUmVndWxhclwiO1xufVxuXG4uaGVhZGluZy1jc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uY29sb3Itb2YtdG90YWwge1xuICBjb2xvcjogI2ZmNjYxNDtcbn1cblxuLmRvdCB7XG4gIHdpZHRoOiAxMXB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGhlaWdodDogMTFweDtcbiAgbWFyZ2luOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIGRpc3BsYXk6IGxpc3QtaXRlbTsgKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAycHg7XG59XG5cbi5lYWNoLWN1c3RvbWlzYXRpb24ge1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmN1c3RvbWlzYXRpb24tYWRkZWQtY3NzIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1SZWd1bGFyXCI7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmZhdm9yaXRlLWZpbGwge1xuICBjb2xvcjogcmVkICFpbXBvcnRhbnQ7XG59XG5cbi50b3RhbC1jYXJkIHtcbiAgbWFyZ2luOiAxMHB4O1xufVxuXG4uaXRlbS1uYW1lLWNzcyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1Cb2xkXCI7XG4gIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAtMi43cHg7XG59XG5cbi5jdXN0b21pc2F0aW9uLW9wdGlvbi1jc3Mge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvdy1Cb2xkXCI7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5jb3N0LW5hbWUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGNvbG9yOiBicm93bjtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uc2F2ZS1mYXZvcml0ZS1zcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZvbnQtc2l6ZTogMjNweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LWJvbGRcIjtcbn1cblxuLmZhdm9yaXRlLWNoaXAtY3NzIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uc2F2ZS1mYXZvcml0ZS1jc3Mge1xuICBmb250LXNpemU6IDlweDtcbn1cblxuLnJlbW92ZS1jYXJkLXJhZGl1cyB7XG4gIGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xufVxuXG4uZGl2aWRlci1jc3Mge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiBicm93bjtcbiAgd2lkdGg6IDk2JSAhaW1wb3J0YW50O1xuICBsZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci1vcHRpb24td2FybmluZyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIGJyb3duO1xuICBtYXJnaW46IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogN3B4O1xuICBtYXJnaW46IDE3cHg7XG4gIGNvbG9yOiBicm93bjtcbn1cblxuLnNlbGVjdC1jc3Mge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxOXB4O1xufVxuXG4ucmFkaW8tZ3JvdXAtY3NzIHtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuLmNoZWNrb3V0LWJ1dHRvbiB7XG4gIC0tYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvdy1NZWRpdW1cIjtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIC0tYmFja2dyb3VuZDojZmY2NjE0O1xuICAtLWJhY2tncm91bmQtYWN0aXZhdGVkOiNmZjY2MTQgO1xuICAtLWJhY2tncm91bmQtZm9jdXNlZDogI2ZmNjYxNDtcbiAgLS1iYWNrZ3JvdW5kLWhvdmVyOiNmZjY2MTQgO1xufVxuXG5tYXQtY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi50ZXh0LWNzcyB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6IGRhcmtzbGF0ZWdyYXk7XG59XG5cbi5hbW91bnQtY3NzIHtcbiAgY29sb3I6IGJyb3duO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuXG4uYnV0dG9uLWZvci1ncm91cC1vcmRlcmluZyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4ubWFpbi1oZWFkaW5nLWNzcyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5kZWFkbGluZS1jc3Mge1xuICBjb2xvcjogcmVkO1xuICBmb250LXNpemU6IGxhcmdlO1xufVxuXG4uYW5jaG9yLWNzcyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLm5vdGVzLWNzcyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICBwYWRkaW5nOiA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLnRvdGFsLWNvc3QtY3NzIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5hZGRyZXNzLWNzcyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgcGFkZGluZzogMTBweDtcbiAgLyogbWFyZ2luLXRvcDogMnB4OyAqL1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cblxuLm9yLWNzcyB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4ubm8tc2F2ZWQtaXRlbSB7XG4gIC8qIGJvcmRlcjogMnB4IHNvbGlkIGJyb3duOyAqL1xuICBtYXJnaW46IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogN3B4O1xuICBtYXJnaW46IDE3cHg7XG59XG5cbi5pdGVtLXNlbGVjdGVkLW1haW4tZGl2IHtcbiAgbWFyZ2luLXRvcDogMjhweCAhaW1wb3J0YW50O1xufVxuXG4uY29sb3ItdGV4dCB7XG4gIGNvbG9yOiAjOTU3YjVmO1xufVxuXG4udG90YWwtY3NzLWVtcHR5IHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1TZW1pQm9sZFwiO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGNvbG9yOiBibGFjaztcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uemVyby1jc3MtZW1wdHkge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LUJvbGRcIjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBtYXJnaW4tbGVmdDogLTU2cHg7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLm5vLWl0ZW0tbWVzc2FnZSB7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXQtUmVndWxhclwiO1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5za2VsZXRvbi10ZXh0LWNzcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMzFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4uaXRlbXMtaW4tY2FydCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufSJdfQ== */\";","\r\nimport { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { RegisterComponent } from \"../register/register.component\";\r\n//import { DialogBoxesComponent } from \"../dialog-boxes/dialog-boxes.component\";\r\nimport {\r\n MatTreeFlattener,\r\n MatTreeFlatDataSource,\r\n} from \"@angular/material/tree\";\r\nimport { FlatTreeControl } from \"@angular/cdk/tree\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport {\r\n NavController,\r\n MenuController,\r\n ModalController,\r\n AlertController,\r\n} from \"@ionic/angular\";\r\nimport { NavigationExtras, Router } from \"@angular/router\";\r\nimport { SubjectCollectionService } from \"src/app/service/subject-collection.service\";\r\nimport { CustomisePage } from \"src/app/page/customise/customise.page\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\n//import { GroupOrderComponent } from \"../group-order/group-order.component\";\r\nimport * as moment from \"moment\";\r\nimport * as moment_time_zone from \"moment-timezone\";\r\nimport * as square from \"square-connect\";\r\nimport { SquareUtilService } from \"src/app/service/square-util.service\";\r\nimport { RegistrationFormComponent } from \"../registration-form/registration-form.component\";\r\nimport { ResturantApiService } from \"src/app/service/resturant-api.service\";\r\n//import { OptionSelectedComponent } from \"../option-selected/option-selected.component\";\r\nimport { UtilityService } from \"src/app/service/utility.service\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { DatePipe } from '@angular/common';\r\nimport { IfStmt } from '@angular/compiler';\r\n\r\ninterface FoodNode {\r\n name: string;\r\n children?: FoodNode[];\r\n}\r\n\r\n/** Flat node with expandable and level information */\r\ninterface ExampleFlatNode {\r\n expandable: boolean;\r\n name: string;\r\n level: number;\r\n}\r\n\r\n@Component({\r\n selector: \"app-right-panel\",\r\n templateUrl: \"./right-panel.component.html\",\r\n styleUrls: [\"./right-panel.component.scss\"],\r\n})\r\nexport class RightPanelComponent implements OnInit {\r\n @Input() isLoaded?: any;\r\n @Input() complete_menu?: any;\r\n @Output() data_after_payment = new EventEmitter();\r\n @Input() loader_present: any;\r\n public states: any = [];\r\n public fulfilment_state: any;\r\n public user_info: any;\r\n public length: any;\r\n public cart_Cat: any;\r\n public min_date: any;\r\n public max_date: any;\r\n @Input() Checkout?: any;\r\n public waiting_for_cart_response: any;\r\n public ordered_items: any = [];\r\n public right_panel_title: any;\r\n public waiting_subtotal_response: any;\r\n public sub_total_data: any;\r\n public subtotal_value: any;\r\n public tax_amont: any;\r\n public total_amount: any;\r\n public all_items: any = [];\r\n public actual_amount: any;\r\n public tax_amount: any;\r\n public total_with_delivery_charges: any;\r\n public display_order_options: any;\r\n public total_cal: any;\r\n public address_entered: any;\r\n public error_message: any;\r\n public delivery_charges: any;\r\n public interval_id: any;\r\n public resturant_state: any;\r\n public subscribe_current_resturant: any;\r\n public navigatto_check_out_clicked: any;\r\n public pickup_abled: any;\r\n constructor(\r\n public datepipe: DatePipe,\r\n public dialog: MatDialog,\r\n private formBuilder: FormBuilder,\r\n public navCtrl: NavController,\r\n public menu: MenuController,\r\n public subject_service: SubjectCollectionService,\r\n public modalController: ModalController,\r\n public _snackBar: MatSnackBar,\r\n public square_util: SquareUtilService,\r\n public alertController: AlertController,\r\n public resturant_service: ResturantApiService,\r\n public util: UtilityService,\r\n public router: Router\r\n ) {\r\n this.right_panel_title = \" Order details\"\r\n this.display_order_options = false;\r\n var vm = this;\r\n this.subject_service.subscibeToOrderTiming().subscribe((data) => {\r\n if (vm.navigatto_check_out_clicked == true) {\r\n if (\r\n vm.order_option == \"\" ||\r\n vm.order_option == undefined ||\r\n vm.order_option == null ||\r\n !vm.order_option\r\n ) {\r\n vm.error_message = \"Please select the Delivery option\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n } else if (\r\n vm.order_option == \"Delivery\" &&\r\n localStorage.getItem(\"address_of_delivery\")\r\n ) {\r\n vm.error_message = \"\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n } else if (\r\n vm.order_option == \"Delivery\" &&\r\n !localStorage.getItem(\"address_of_delivery\")\r\n ) {\r\n vm.error_message = \"Enter the address of delivery\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n } else {\r\n vm.error_message = \"\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n }\r\n }\r\n });\r\n this.subject_service.subscibeToScheduleTime().subscribe((data) => {\r\n if (vm.navigatto_check_out_clicked == true) {\r\n if (\r\n vm.order_option == \"\" ||\r\n vm.order_option == undefined ||\r\n vm.order_option == null ||\r\n !vm.order_option\r\n ) {\r\n vm.error_message = \"Please select the Delivery option\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n } else if (\r\n vm.order_option == \"Delivery\" &&\r\n localStorage.getItem(\"address_of_delivery\")\r\n ) {\r\n vm.error_message = \"\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n } else if (\r\n vm.order_option == \"Delivery\" &&\r\n !localStorage.getItem(\"address_of_delivery\")\r\n ) {\r\n vm.error_message = \"Enter the address of delivery\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n } else {\r\n vm.error_message = \"\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n }\r\n }\r\n });\r\n if (localStorage.getItem(\"Proceed_to_check_out_clicked\")) {\r\n this.navigatto_check_out_clicked = localStorage.getItem(\r\n \"Proceed_to_check_out_clicked\"\r\n );\r\n } else {\r\n this.navigatto_check_out_clicked = false;\r\n }\r\n if (localStorage.getItem(\"Proceed_checkout_error_message\")) {\r\n this.error_message = localStorage.getItem(\r\n \"Proceed_checkout_error_message\"\r\n );\r\n } else {\r\n this.error_message = \"\";\r\n }\r\n if (localStorage.getItem(\"fulfilment\")) {\r\n this.fulfilment_state = true;\r\n } else {\r\n this.fulfilment_state = false;\r\n }\r\n this.states = [\r\n { value: 0, viewValue: \"Alabama\" },\r\n { value: 1, viewValue: \"Alaska\" },\r\n { value: 2, viewValue: \"American Samoa\" },\r\n { value: 3, viewValue: \"Arizona\" },\r\n { value: 4, viewValue: \"Arkansas\" },\r\n { value: 5, viewValue: \"Armed Forces\" },\r\n { value: 6, viewValue: \"Armed Forces\" },\r\n { value: 7, viewValue: \"Armed Forces\" },\r\n { value: 8, viewValue: \"California\" },\r\n { value: 9, viewValue: \"Colorado\" },\r\n { value: 10, viewValue: \"Connecticut\" },\r\n { value: 11, viewValue: \"Delaware\" },\r\n { value: 12, viewValue: \"District of Columbia\" },\r\n { value: 13, viewValue: \"Florida\" },\r\n { value: 14, viewValue: \"Georgia\" },\r\n { value: 15, viewValue: \"Guam\" },\r\n { value: 16, viewValue: \"Hawaii\" },\r\n { value: 17, viewValue: \"Idaho\" },\r\n { value: 18, viewValue: \"Illinois\" },\r\n { value: 19, viewValue: \"Indiana\" },\r\n { value: 20, viewValue: \"Iowa\" },\r\n { value: 21, viewValue: \"Kansas\" },\r\n { value: 22, viewValue: \"Kentucky\" },\r\n { value: 23, viewValue: \"Louisiana\" },\r\n { value: 24, viewValue: \"Maine\" },\r\n { value: 25, viewValue: \"Marshall Islands\" },\r\n { value: 26, viewValue: \"Maryland\" },\r\n { value: 27, viewValue: \"Massachusetts\" },\r\n { value: 28, viewValue: \"Michigan\" },\r\n { value: 29, viewValue: \"Micronesia\" },\r\n { value: 30, viewValue: \"Minnesota\" },\r\n { value: 31, viewValue: \"Mississippi\" },\r\n { value: 32, viewValue: \"Missouri\" },\r\n { value: 33, viewValue: \"Montana\" },\r\n { value: 34, viewValue: \"Nebraska\" },\r\n { value: 35, viewValue: \"Nevada\" },\r\n { value: 36, viewValue: \"New Hampshire\" },\r\n { value: 37, viewValue: \"New Jersey\" },\r\n { value: 38, viewValue: \"New Mexico\" },\r\n { value: 39, viewValue: \"New York\" },\r\n { value: 40, viewValue: \"North Carolina\" },\r\n { value: 41, viewValue: \"North Dakota\" },\r\n { value: 42, viewValue: \"Northern Mariana Islands\" },\r\n { value: 43, viewValue: \"Ohio\" },\r\n { value: 44, viewValue: \"Oklahoma\" },\r\n { value: 45, viewValue: \"Oregon\" },\r\n { value: 46, viewValue: \"Palau\" },\r\n { value: 47, viewValue: \"Pennsylvania\" },\r\n { value: 48, viewValue: \"Puerto Rico\" },\r\n { value: 49, viewValue: \"Rhode Island\" },\r\n { value: 50, viewValue: \"South Carolina\" },\r\n { value: 51, viewValue: \"South Dakota\" },\r\n { value: 52, viewValue: \"Tennessee\" },\r\n { value: 53, viewValue: \"Texas\" },\r\n { value: 54, viewValue: \"Utah\" },\r\n { value: 55, viewValue: \"Vermont\" },\r\n { value: 56, viewValue: \"Virgin Islands\" },\r\n { value: 57, viewValue: \"Virginia\" },\r\n { value: 58, viewValue: \"Washington\" },\r\n { value: 59, viewValue: \"West Virginia\" },\r\n { value: 60, viewValue: \"Wisconsin\" },\r\n { value: 61, viewValue: \"Wyoming\" },\r\n ];\r\n var vm = this;\r\n this.subscribe_current_resturant = this.subject_service\r\n .subscibeToCurrentResturent()\r\n .subscribe((new_resturant_data) => {\r\n // vm.checkOpeningHours(\"-5\");\r\n });\r\n vm.subject_service\r\n .subscibeToErrormessageProceedToCheckOutClicked()\r\n .subscribe((error) => {\r\n vm.error_message = error;\r\n });\r\n vm.subject_service\r\n .subscibeToProceedToCheckOutClicked()\r\n .subscribe((data) => {\r\n this.navigatto_check_out_clicked = data;\r\n });\r\n vm.subject_service.subscibeToFulfimnet().subscribe((data) => {\r\n vm.fulfilment_state = data;\r\n });\r\n this.subject_service.subscibeToOrderAddress().subscribe(\r\n (data) => {\r\n if (vm.navigatto_check_out_clicked == true) {\r\n if (!vm.order_for && !localStorage.getItem(\"address_of_delivery\")) {\r\n vm.error_message =\r\n \"Please select timing of order and enter address for delivery\";\r\n } else if (!vm.order_for) {\r\n vm.error_message = \"Please select timing of order\";\r\n } else if (localStorage.getItem(\"address_of_delivery\")) {\r\n vm.error_message = \"Please select the timing of delivery\";\r\n }\r\n }\r\n vm.address_entered = data;\r\n },\r\n (error) => {\r\n }\r\n );\r\n\r\n this.subject_service.subscibeToOrderMode().subscribe(\r\n (data) => {\r\n if (data) {\r\n var obj = JSON.parse(data);\r\n vm.order_option = obj.order_delivery_mode;\r\n } else {\r\n vm.order_option = \"\";\r\n }\r\n\r\n vm.address_entered = \"\";\r\n },\r\n (error) => {\r\n }\r\n );\r\n vm.subject_service.subscibeToOrderTimeMode().subscribe((data) => {\r\n if (data) {\r\n var obj = JSON.parse(data);\r\n vm.order_for = obj.order_time_mode;\r\n } else {\r\n vm.order_for = \"\";\r\n }\r\n });\r\n vm.subject_service.subscibeTolocatinItems().subscribe(\r\n (data) => {\r\n if (data) {\r\n vm.all_items = [...data];\r\n }\r\n },\r\n (error) => {\r\n }\r\n );\r\n vm.waiting_for_cart_response = false;\r\n vm.waiting_subtotal_response = false;\r\n\r\n vm.subject_service.subscibeToWaitingSubtotal().subscribe((data) => {\r\n vm.waiting_subtotal_response = data;\r\n });\r\n if (this.isLoaded = true) {\r\n this.util.dismissLoader();\r\n this.loader_present = false;\r\n }\r\n vm.subject_service.subscibeToWaitingAddToCart().subscribe((data) => {\r\n vm.waiting_for_cart_response = data;\r\n if (this.isLoaded = true) {\r\n this.util.dismissLoader();\r\n this.loader_present = false;\r\n }\r\n });\r\n\r\n\r\n vm.subject_service.subscibeToSubtotal().subscribe((data) => {\r\n debugger;\r\n vm.sub_total_data = data;\r\n if (data) {\r\n // vm.subtotal_value = parseFloat(vm.sub_total_data.subtotal.amount);\r\n // vm.tax_amont =vm.subtotal_value * (1 + 0.0825) * (1 + 0.10) - vm.subtotal_value;\r\n // // parseFloat(vm.sub_total_data.tax.amount)\r\n // vm.total_amount =\r\n // parseFloat(vm.sub_total_data.subtotal.amount) +\r\n // vm.tax_amont;\r\n\r\n vm.subtotal_value = parseFloat(vm.sub_total_data.subtotal.amount);\r\n \r\n // Calculate tax at 18.25% and round it to two decimal places\r\n vm.tax_amont = Math.round(vm.subtotal_value * 0.1825 * 100) / 100;\r\n \r\n // Calculate the total amount by adding tax to the subtotal\r\n vm.total_amount = vm.subtotal_value + vm.tax_amont;\r\n\r\n vm.total_with_delivery_charges =\r\n vm.total_amount + parseFloat(vm.delivery_charges);\r\n if (this.isLoaded = true) {\r\n this.util.dismissLoader();\r\n this.loader_present = false;\r\n }\r\n if (vm.order_option == 'Delivery') {\r\n if (parseFloat(vm.sub_total_data.subtotal.amount) == 0) {\r\n vm.subject_service.getTotalPayableAmount(0.00)\r\n vm.total_with_delivery_charges = 0\r\n }\r\n else {\r\n vm.subject_service.getTotalPayableAmount(vm.total_with_delivery_charges)\r\n }\r\n }\r\n else {\r\n vm.subject_service.getTotalPayableAmount(vm.total_amount)\r\n }\r\n\r\n }\r\n else {\r\n vm.subject_service.getTotalPayableAmount(0.00)\r\n\r\n }\r\n });\r\n vm.subject_service.subscibeToResponseFromCart().subscribe((data) => {\r\n vm.ordered_items = [];\r\n if (data) {\r\n if (data.length == 0) {\r\n vm.display_order_options = false;\r\n vm.right_panel_title = \"Order details\";\r\n vm.subject_service.getItemCount(0)\r\n } else {\r\n vm.right_panel_title = \"My order\";\r\n vm.display_order_options = true;\r\n vm.subject_service.getItemCount(data.length)\r\n }\r\n } else {\r\n vm.display_order_options = false;\r\n vm.right_panel_title = \"Order details\";\r\n }\r\n\r\n if (data) {\r\n vm.ordered_items.push(...data);\r\n vm.delivery_charges = localStorage.getItem(\"deliver_charges\")\r\n ? localStorage.getItem(\"deliver_charges\")\r\n : 0;\r\n }\r\n });\r\n this.subject_service.subscibeToLoginData().subscribe(\r\n (data) => {\r\n if (data) {\r\n vm.user_info = data;\r\n } else {\r\n vm.user_info = null;\r\n vm.waiting_for_cart_response = false;\r\n vm.ordered_items = [];\r\n vm.isLoaded = true;\r\n vm.sub_total_data = null;\r\n vm.subtotal_value = 0.00;\r\n vm.tax_amont = 0.00\r\n vm.waiting_subtotal_response = false;\r\n }\r\n },\r\n (error) => {\r\n\r\n }\r\n );\r\n\r\n if (localStorage.getItem(\"user_info\")) {\r\n vm.user_info = JSON.parse(localStorage.getItem(\"user_info\"));\r\n vm.delivery_charges = localStorage.getItem(\"deliver_charges\")\r\n ? localStorage.getItem(\"deliver_charges\")\r\n : 0;\r\n } else {\r\n vm.user_info = null;\r\n vm.delivery_charges = localStorage.getItem(\"deliver_charges\")\r\n ? localStorage.getItem(\"deliver_charges\")\r\n : 0;\r\n }\r\n this.paymentForm = true;\r\n }\r\n async evokeLoader() {\r\n try {\r\n var p = await this.util.presentLoading();\r\n await this.presentAlert();\r\n await this.util.dismissLoader();\r\n } catch (error) {\r\n }\r\n }\r\n removeCustomisation(i, main_product) {\r\n var item_id = \"line_items[\" + main_product.uid + \"].modifiers[\" + i.uid + \"]\";\r\n this.removeItemWithoutUser(main_product, item_id)\r\n }\r\n search(nameKey, myArray) {\r\n for (var i = 0; i < myArray.length; i++) {\r\n if (myArray[i].itemName.trim() == nameKey.trim()) {\r\n return myArray[i];\r\n }\r\n }\r\n }\r\n\r\n async editContentNewWithoutUser(index) {\r\n var vm = this;\r\n if (vm.complete_menu) {\r\n vm.all_items = [];\r\n vm.all_items = [...vm.complete_menu]\r\n }\r\n var searched_value = await vm.search(\r\n vm.ordered_items[index][\"item_name\"],\r\n vm.all_items\r\n );\r\n var modal = await this.modalController.create({\r\n component: CustomisePage,\r\n cssClass: \"my-modal\",\r\n componentProps: {\r\n edited_values: vm.ordered_items[index],\r\n item_selected: {\r\n description: searched_value.description,\r\n other_info: searched_value,\r\n image: searched_value.itemImageName,\r\n name: searched_value.itemName,\r\n },\r\n current_resturant: localStorage.getItem(\"current_resturant\"),\r\n },\r\n });\r\n return await modal.present();\r\n }\r\n async editContentNew(index) {\r\n var vm = this;\r\n var searched_value = await vm.search(\r\n vm.ordered_items[index][\"item_name\"],\r\n vm.all_items\r\n );\r\n var modal = await this.modalController.create({\r\n component: CustomisePage,\r\n cssClass: \"my-modal\",\r\n componentProps: {\r\n edited_values: vm.ordered_items[index],\r\n item_selected: {\r\n description: searched_value.description,\r\n other_info: searched_value,\r\n image: searched_value.itemImageName,\r\n name: searched_value.itemName,\r\n },\r\n current_resturant: localStorage.getItem(\"current_resturant\"),\r\n },\r\n });\r\n return await modal.present();\r\n }\r\n removeItemWithoutUser(index, modifier_removal?) {\r\n \r\n var vm = this;\r\n vm.subject_service.getWaitingForSubtotal(true);\r\n vm.subject_service.getWaitingForCart(true);\r\n var item_id = modifier_removal ? modifier_removal : \"line_items[\" + this.ordered_items[index].uid + \"]\";\r\n var order_id = localStorage.getItem(\"order_id\");\r\n var location_id = JSON.parse(\r\n localStorage.getItem(\"current_resturant_data\")\r\n )[\"id\"];\r\n var data = {\r\n OrderId: order_id,\r\n LocationId: location_id,\r\n FieldsToClear: [item_id],\r\n };\r\n vm.resturant_service.createOrderWithoutUserInfo(data).subscribe(\r\n (data: any) => {\r\n var data_got: any = [];\r\n var subtotal: any;\r\n debugger;\r\n var total_tax:any=data.subTotal * (1 + 0.0825) * (1 + 0.10) - data.subTotal;\r\n if (data.orderDetails) {\r\n if (data.subTotal) {\r\n subtotal = {\r\n subtotal: {\r\n amount: data.subTotal,\r\n currency: \"USD\"\r\n },\r\n tax: {\r\n amount: total_tax *(0.19075/0.1825),\r\n currency: \"USD\"\r\n }\r\n\r\n };\r\n }\r\n data.orderDetails.map((e) => {\r\n var p: any = [];\r\n var total_money: any = 0;\r\n\r\n if (e.orderDetailCustomizations && e.orderDetailCustomizations.length > 0) {\r\n e.orderDetailCustomizations.map((f) => {\r\n p.push({\r\n name: f.customizationOptionName,\r\n catalog_id: f.itemCustomizationOptionId,\r\n uid: f.uid,\r\n amount: f.customizationOptionPrice,\r\n customizationOptionPrice: f.customizationOptionPrice ? f.customizationOptionPrice : null,\r\n customizationOptionVariationName: f.customizationOptionVariationName ? f.customizationOptionVariationName : null,\r\n });\r\n total_money = total_money + parseFloat(f.customizationOptionPrice)\r\n\r\n });\r\n }\r\n\r\n data_got.push({\r\n uid: e.uid,\r\n item_name: e.itemName,\r\n quantity: e.quantity,\r\n amount: JSON.stringify(JSON.parse(e.quantity) * (JSON.parse(e.variationPrice) + total_money)),\r\n catalog_id: e.variationId,\r\n variation_price: e.variationPrice,\r\n currency: \"USD\",\r\n customisation: p,\r\n });\r\n });\r\n }\r\n localStorage.setItem(\"order_id\", data[\"orderId\"]);\r\n \r\n vm.subject_service.getcartReponse(data_got);\r\n \r\n data_got\r\n ? localStorage.setItem(\"cart_response\", JSON.stringify(data_got))\r\n : localStorage.setItem(\"cart_response\", null);\r\n subtotal\r\n ? localStorage.setItem(\"cart_subtotal\", JSON.stringify(subtotal))\r\n : localStorage.setItem(\"cart_subtotal\", null);\r\n\r\n vm.subject_service.getSubtotalReponse(subtotal);\r\n\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n vm.subject_service.getWaitingForCart(false);\r\n },\r\n (error) => {\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n this._snackBar.open(\"Error while removing item from cart\", \"End now\", {\r\n duration: 500,\r\n horizontalPosition: \"center\",\r\n verticalPosition: \"bottom\",\r\n });\r\n }\r\n );\r\n }\r\n removeItemNew(index) {\r\n\r\n var vm = this;\r\n vm.subject_service.getWaitingForSubtotal(true);\r\n vm.subject_service.getWaitingForCart(true);\r\n var item_id = \"line_items[\" + this.ordered_items[index].uid + \"]\";\r\n var order_id = localStorage.getItem(\"order_id\");\r\n var location_id = localStorage.getItem(\"current_resturant\");\r\n var customer_id = JSON.parse(localStorage.getItem(\"user_info\"))[\r\n \"squareCustomerid\"\r\n ];\r\n\r\n var data = {\r\n OrderId: order_id,\r\n LocationId: location_id,\r\n FieldsToClear: [item_id],\r\n };\r\n vm.resturant_service.createOrderApi(data).subscribe(\r\n (data: any) => {\r\n var data_got: any = [];\r\n var subtotal: any;\r\n debugger;\r\n var total:any=parseFloat(data.totalMoney.amount) -parseFloat(data.totalTaxMoney.amount);\r\n var total_tax=total * (1 + 0.0825) * (1 + 0.10) - total;\r\n if (data.lineItems) {\r\n subtotal = {\r\n subtotal: {\r\n amount:\r\n parseFloat(data.totalMoney.amount) -\r\n parseFloat(data.totalTaxMoney.amount),\r\n currency: data.totalMoney.currency,\r\n },\r\n tax: {\r\n amount: total_tax*(0.19075/0.1825),\r\n currency: data.totalTaxMoney.currency,\r\n },\r\n };\r\n data.lineItems.map((e) => {\r\n var p: any = [];\r\n if (e.modifiers && e.modifiers.length > 0) {\r\n e.modifiers.map((f) => {\r\n p.push({\r\n name: f.name,\r\n catalog_id: f.catalogObjectId,\r\n uid: f.uid,\r\n });\r\n });\r\n }\r\n\r\n data_got.push({\r\n uid: e.uid,\r\n item_name: e.name,\r\n quantity: e.quantity,\r\n amount:\r\n parseFloat(e.totalMoney.amount) -\r\n parseFloat(e.totalTaxMoney.amount),\r\n currency: e.totalMoney.currency,\r\n customisation: p,\r\n });\r\n });\r\n }\r\n localStorage.setItem(\"order_id\", data[\"orderId\"]);\r\n vm.subject_service.getcartReponse(data_got);\r\n data_got\r\n ? localStorage.setItem(\"cart_response\", JSON.stringify(data_got))\r\n : localStorage.setItem(\"cart_response\", null);\r\n subtotal\r\n ? localStorage.setItem(\"cart_subtotal\", JSON.stringify(subtotal))\r\n : localStorage.setItem(\"cart_subtotal\", null);\r\n\r\n vm.subject_service.getSubtotalReponse(subtotal);\r\n\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n vm.subject_service.getWaitingForCart(false);\r\n },\r\n (error) => {\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n this._snackBar.open(\"Error while removing item from cart\", \"End now\", {\r\n duration: 500,\r\n horizontalPosition: \"center\",\r\n verticalPosition: \"bottom\",\r\n });\r\n }\r\n );\r\n }\r\n // async createOrder() {\r\n // var SquareConnect = require(\"square-connect\");\r\n // var defaultClient = SquareConnect.ApiClient.instance;\r\n // defaultClient.basePath = environment.square_keys.path;\r\n // var oauth2 = defaultClient.authentications[\"oauth2\"];\r\n // oauth2.accessToken = environment.square_keys.squareAccessToken;\r\n // var apiInstance = new SquareConnect.OrdersApi();\r\n // var locationId = \"1CGTBPQTCJ8QV\";\r\n\r\n // var body = new SquareConnect.CreateOrderRequest();\r\n // try {\r\n // var p = await apiInstance.createOrderWithHttpInfo(locationId, body);\r\n // } catch (error) {\r\n // }\r\n // }\r\n public _transformer = (node: FoodNode, level: number) => {\r\n return {\r\n expandable: !!node.children && node.children.length > 0,\r\n name: node.name,\r\n level,\r\n };\r\n };\r\n // tslint:disable-next-line: member-ordering\r\n @Input() displaying_place: any;\r\n // tslint:disable-next-line: member-ordering\r\n @Input() current_resturant?: any;\r\n // tslint:disable-next-line: member-ordering\r\n public collect_orders: any = [];\r\n // tslint:disable-next-line: member-ordering\r\n public user_info_from_local: any;\r\n // tslint:disable-next-line: member-ordering\r\n public group_order_data: any;\r\n // tslint:disable-next-line: member-ordering\r\n public group_order_time: any;\r\n public order_fulfillmet_time: any;\r\n // tslint:disable-next-line: member-ordering\r\n treeControl = new FlatTreeControl(\r\n (node) => node.level,\r\n (node) => node.expandable\r\n );\r\n\r\n // tslint:disable-next-line: member-ordering\r\n treeFlattener = new MatTreeFlattener(\r\n this._transformer,\r\n (node) => node.level,\r\n (node) => node.expandable,\r\n (node) => node.children\r\n );\r\n\r\n // tslint:disable-next-line: member-ordering\r\n dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);\r\n // tslint:disable-next-line: member-ordering\r\n public paymentForm: any;\r\n // tslint:disable-next-line: variable-name\r\n // tslint:disable-next-line: member-ordering\r\n size_of_left_panel: any;\r\n // tslint:disable-next-line: variable-name\r\n // tslint:disable-next-line: member-ordering\r\n public order_option: any;\r\n // tslint:disable-next-line: variable-name\r\n // tslint:disable-next-line: member-ordering\r\n public order_for: any;\r\n // tslint:disable-next-line: variable-name\r\n // tslint:disable-next-line: member-ordering\r\n public order_content: any = [];\r\n // tslint:disable-next-line: member-ordering\r\n // tslint:disable-next-line: variable-name\r\n // tslint:disable-next-line: member-ordering\r\n public save_favorite_result: any;\r\n public group_order_date: any;\r\n // tslint:disable-next-line: variable-name\r\n // tslint:disable-next-line: no-trailing-whitespace\r\n\r\n async removeItem(index) {\r\n const item = JSON.parse(localStorage.getItem(\"cart_items\"));\r\n if (item) {\r\n item.map((e) => {\r\n });\r\n const val = item.splice(index, 1);\r\n localStorage.setItem(\"cart_items\", JSON.stringify(item));\r\n }\r\n if (localStorage.getItem(\"cart_items\")) {\r\n // tslint:disable-next-line: no-shadowed-variable\r\n const val = JSON.parse(localStorage.getItem(\"cart_items\"));\r\n this.order_content = [];\r\n // let p: any = [];\r\n this.order_content = val.map((e: any[]) => {\r\n return {\r\n quantity: e[0].quantity,\r\n item_name: e[1].title,\r\n currency: e[0].currency,\r\n total_cost: JSON.stringify(\r\n parseFloat(e[0].price) * parseFloat(e[0].quantity)\r\n ),\r\n items_selected: e.map((e: {}) => {\r\n // tslint:disable-next-line: no-shadowed-variable\r\n let p: any;\r\n if (\"quantity\" in e || \"price\" in e) {\r\n // tslint:disable-next-line: no-string-literal\r\n p = \"\";\r\n }\r\n if (\"title\" in e) {\r\n // tslint:disable-next-line: no-string-literal\r\n p = e[\"title\"];\r\n } else if (\"option_selected\" in e) {\r\n // tslint:disable-next-line: no-string-literal\r\n p = e[\"option_selected\"];\r\n } else {\r\n // tslint:disable-next-line: forin\r\n for (const f in e) {\r\n // tslint:disable-next-line: triple-equals\r\n if (e[f] == \"true\") {\r\n p = e[f];\r\n }\r\n // tslint:disable-next-line: triple-equals\r\n if (e[f] == true) {\r\n p = e[f];\r\n }\r\n }\r\n }\r\n return p;\r\n }),\r\n };\r\n });\r\n }\r\n }\r\n // async presentModal(option_name) {\r\n // var vm = this;\r\n // const modal = await this.modalController.create({\r\n // component: OptionSelectedComponent,\r\n // cssClass: \"my-custom-class\",\r\n // componentProps: {\r\n // option_selected: option_name,\r\n // },\r\n // });\r\n\r\n // modal.onDidDismiss().then(() => {\r\n // vm.address_entered = localStorage.getItem(\"address_of_delivery\")\r\n // ? JSON.parse(localStorage.getItem(\"address_of_delivery\"))\r\n // : null;\r\n // if (vm.navigatto_check_out_clicked == true) {\r\n // if (!vm.order_for && !localStorage.getItem(\"address_of_delivery\")) {\r\n // vm.error_message =\r\n // \"Please select order_for and enter delivery address\";\r\n // vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n // vm.error_message\r\n // );\r\n // } else if (\r\n // vm.order_for == \"\" ||\r\n // vm.order_for == undefined ||\r\n // vm.order_for == null ||\r\n // !vm.order_for\r\n // ) {\r\n // vm.error_message = \"Please select the order_for option\";\r\n // vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n // vm.error_message\r\n // );\r\n // } else if (vm.order_for == \"ASAP\") {\r\n // vm.error_message = \"\";\r\n // vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n // vm.error_message\r\n // );\r\n // } else if (\r\n // vm.order_for == \"Scheduled\" &&\r\n // !localStorage.getItem(\"timing_of_fulfilment\")\r\n // ) {\r\n // vm.error_message = \"Enter the Schedule timing\";\r\n // vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n // vm.error_message\r\n // );\r\n // } else if (!localStorage.getItem(\"address_of_delivery\")) {\r\n // vm.error_message = \"Please enter delivery address\";\r\n // vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n // vm.error_message\r\n // );\r\n // } else {\r\n // vm.error_message = \"\";\r\n // vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n // vm.error_message\r\n // );\r\n // }\r\n // }\r\n // });\r\n // return await modal.present();\r\n // }\r\n getStateName() {\r\n var p: any;\r\n if (this.address_entered.state) {\r\n this.states.filter((e) => {\r\n if (e.value == this.address_entered.state) {\r\n p = e.viewValue;\r\n }\r\n });\r\n return p;\r\n }\r\n }\r\n async editContent(item, item_id?) {\r\n try {\r\n const vm = this;\r\n const val = JSON.parse(localStorage.getItem(\"cart_items\"));\r\n const val_1 = {\r\n vegetarian: val[item][0].vegetarian,\r\n image_title: val[item][0].image_title,\r\n name: val[item][0].name,\r\n image: val[item][0].image,\r\n description: val[item][0].description,\r\n price: val[item][0].price,\r\n quantity: val[item][0].quantity,\r\n };\r\n const modal = await this.modalController.create({\r\n component: CustomisePage,\r\n cssClass: \"my-modal\",\r\n componentProps: {\r\n item_selected: val_1,\r\n current_resturant: vm.current_resturant,\r\n index: item,\r\n },\r\n });\r\n modal.onDidDismiss().then(async (collected_value) => {\r\n if (collected_value && collected_value.data) {\r\n if (collected_value.data.index > -1) {\r\n let old_values: any = [];\r\n old_values = [...JSON.parse(localStorage.getItem(\"cart_items\"))];\r\n old_values[collected_value.data.index] =\r\n collected_value.data.collect_values;\r\n\r\n localStorage.setItem(\"cart_items\", JSON.stringify(old_values));\r\n\r\n await vm.subject_service.getcartValue(old_values);\r\n } else {\r\n\r\n // vm.get_customisation_values.push(collected_value.data.collect_values);\r\n let old_values: any = [];\r\n old_values = [...JSON.parse(localStorage.getItem(\"cart_items\"))];\r\n const new_values = [\r\n ...old_values,\r\n collected_value.data.collect_values,\r\n ];\r\n localStorage.setItem(\"cart_items\", JSON.stringify(new_values));\r\n await vm.subject_service.getcartValue(new_values);\r\n }\r\n }\r\n });\r\n return await modal.present();\r\n } catch (error) {\r\n }\r\n }\r\n hasChild = (_: number, node: ExampleFlatNode) => node.expandable;\r\n // saveFavorite() {\r\n // const vm = this;\r\n // const val = vm.order_content.map((e) => ({ name: e.item_name }));\r\n // if (vm.order_content.length > 0) {\r\n // const dialogRef = this.dialog.open(DialogBoxesComponent, {\r\n // data: { form_name: \"save_favorite\" },\r\n // });\r\n // dialogRef.afterClosed().subscribe((result) => {\r\n // const TREE_DATA: FoodNode[] = [\r\n // {\r\n // name: this.order_content.length + \" \" + \"items\",\r\n // children: [...val],\r\n // },\r\n // ];\r\n // this.dataSource.data = TREE_DATA;\r\n // vm.save_favorite_result = result;\r\n // });\r\n // } else {\r\n // this._snackBar.open(\"No Item to add in favorites\", \"End now\", {\r\n // duration: 500,\r\n // horizontalPosition: \"center\",\r\n // verticalPosition: \"bottom\",\r\n // });\r\n // }\r\n // }\r\n ngOnChanges() { }\r\n\r\n ngOnInit() {\r\n const vm = this;\r\n if (localStorage.getItem(\"cart_response\")) {\r\n var data: any = [];\r\n data = JSON.parse(localStorage.getItem(\"cart_response\"));\r\n vm.order_content = [];\r\n vm.ordered_items = [];\r\n if (data.length == 0) {\r\n vm.right_panel_title = \"Order details\";\r\n\r\n vm.display_order_options = false;\r\n } else {\r\n vm.right_panel_title = \"My order\";\r\n\r\n vm.display_order_options = true;\r\n vm.subject_service.getItemCount(data.length)\r\n\r\n }\r\n vm.order_content = data;\r\n vm.ordered_items = [...data];\r\n this.isLoaded = true;\r\n this.waiting_for_cart_response = false;\r\n } else {\r\n vm.right_panel_title = \"Order details\";\r\n\r\n this.isLoaded = true;\r\n this.waiting_for_cart_response = false;\r\n }\r\n if (localStorage.getItem(\"order_fulfilment_mode\")) {\r\n if (\r\n JSON.parse(localStorage.getItem(\"order_fulfilment_mode\"))[\r\n \"order_delivery_mode\"\r\n ] == \"Delivery\" ||\r\n JSON.parse(localStorage.getItem(\"order_fulfilment_mode\"))[\r\n \"order_delivery_mode\"\r\n ] == \"Pickup\"\r\n ) {\r\n vm.address_entered = JSON.parse(\r\n localStorage.getItem(\"address_of_delivery\")\r\n );\r\n }\r\n\r\n vm.order_option = JSON.parse(\r\n localStorage.getItem(\"order_fulfilment_mode\")\r\n )[\"order_delivery_mode\"];\r\n }\r\n if (localStorage.getItem(\"order_fulfilment_time\")) {\r\n vm.order_for = JSON.parse(localStorage.getItem(\"order_fulfilment_time\"))[\r\n \"order_time_mode\"\r\n ];\r\n if (vm.order_for == \"ASAP\") {\r\n }\r\n if (vm.order_for == \"Scheduled\") {\r\n if (localStorage.getItem(\"schedule_time\")) {\r\n }\r\n }\r\n }\r\n if (localStorage.getItem(\"cart_subtotal\")) {\r\n var data = JSON.parse(localStorage.getItem(\"cart_subtotal\"));\r\n\r\n vm.sub_total_data = data;\r\n if (data) {\r\n debugger;\r\n // vm.subtotal_value = parseFloat(vm.sub_total_data.subtotal.amount);\r\n // vm.tax_amont = vm.subtotal_value * (1 + 0.0825) * (1 + 0.10) - vm.subtotal_value;\r\n // //parseFloat(vm.sub_total_data.tax.amount)\r\n // vm.total_amount =\r\n // parseFloat(vm.sub_total_data.subtotal.amount) +\r\n // vm.tax_amont;\r\n vm.subtotal_value = parseFloat(vm.sub_total_data.subtotal.amount);\r\n \r\n // Calculate tax at 18.25% and round it to two decimal places\r\n vm.tax_amont = Math.round(vm.subtotal_value * 0.1825 * 100) / 100;\r\n \r\n // Calculate the total amount by adding tax to the subtotal\r\n vm.total_amount = vm.subtotal_value + vm.tax_amont;\r\n\r\n\r\n\r\n vm.total_with_delivery_charges =\r\n (vm.total_amount + parseFloat(vm.delivery_charges));\r\n if (vm.order_option == 'Delivery') {\r\n vm.subject_service.getTotalPayableAmount(vm.total_with_delivery_charges)\r\n }\r\n else {\r\n vm.subject_service.getTotalPayableAmount(vm.total_amount)\r\n\r\n }\r\n }\r\n }\r\n const val: any = [];\r\n this.subject_service.subscibeToCartValue().subscribe((data) => {\r\n if (data) {\r\n vm.collect_orders.push(data[0].collect_values);\r\n\r\n if (localStorage.getItem(\"cart_items\")) {\r\n const val = JSON.parse(localStorage.getItem(\"cart_items\"));\r\n this.order_content = [];\r\n const p: any = [];\r\n this.order_content = val.map((e: any[]) => {\r\n return {\r\n quantity: e[0].quantity,\r\n item_name: e[1].title,\r\n currency: e[0].currency,\r\n total_cost: JSON.stringify(\r\n parseFloat(e[0].price) * parseFloat(e[0].quantity)\r\n ),\r\n items_selected: e.map((e: {}) => {\r\n let p: any;\r\n if (\"quantity\" in e || \"price\" in e) {\r\n p = \"\";\r\n }\r\n if (\"title\" in e) {\r\n p = e[\"title\"];\r\n } else if (\"option_selected\" in e) {\r\n p = e[\"option_selected\"];\r\n } else {\r\n for (const f in e) {\r\n if (e[f] == \"true\") {\r\n p = e[f];\r\n }\r\n if (e[f] == true) {\r\n p = e[f];\r\n }\r\n }\r\n }\r\n return p;\r\n }),\r\n };\r\n });\r\n }\r\n }\r\n });\r\n }\r\n regiaterButton(form_type: any) {\r\n const dialogRef = this.dialog.open(RegisterComponent, {\r\n data: { form_name: form_type },\r\n panelClass: [\"no-padding\", \"no-scrolls\"],\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result == \"Sign up\") {\r\n const dialogRef = this.dialog.open(RegisterComponent, {\r\n data: { form_name: \"register\" },\r\n });\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result == \"login\") {\r\n const dialogRef = this.dialog.open(RegisterComponent, {\r\n data: { form_name: \"login\" },\r\n });\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result == \"forgot_password\") {\r\n }\r\n });\r\n }\r\n });\r\n }\r\n else if (result == \"forgot_password\") {\r\n }\r\n else if (result == \"login\") {\r\n }\r\n });\r\n }\r\n async loginOrRegistrationButtonClicked(form_name) {\r\n const modal = await this.modalController.create({\r\n component: RegistrationFormComponent,\r\n cssClass: \"my-modal\",\r\n componentProps: {\r\n form_name,\r\n },\r\n\r\n });\r\n return await modal.present();\r\n }\r\n\r\n async presentAmountAlert() {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"Checkout failed\",\r\n\r\n message:\r\n \"Your basket is having less items to deliver.Please fill some more items in it before proceeding to check-out page\",\r\n buttons: [\r\n {\r\n text: \"OK\",\r\n role: \"OK\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => {\r\n },\r\n },\r\n ],\r\n });\r\n\r\n await alert.present();\r\n }\r\n async presentEmptyBasketAlert() {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"Checkout failed!!\",\r\n\r\n message:\r\n \"Your basket is empty.\",\r\n buttons: [\r\n {\r\n text: \"OK\",\r\n role: \"OK\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => {\r\n },\r\n },\r\n ],\r\n });\r\n\r\n await alert.present();\r\n }\r\n async presentMinimumDeliveryAlert(amount) {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"CheckOut failed\",\r\n\r\n message: `Minimum delivery of $${amount} should be entered`,\r\n buttons: [\r\n \"OK\",\r\n ],\r\n });\r\n\r\n await alert.present();\r\n }\r\n async presentAlert() {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"Checkout failed\",\r\n message: \"You have to login prior to proceeding to checkout section\",\r\n buttons: [\r\n \"OK\",\r\n {\r\n text: \"Login\",\r\n role: \"cancel\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => {\r\n this.loginOrRegistrationButtonClicked(\"login\");\r\n },\r\n },\r\n ],\r\n });\r\n\r\n await alert.present();\r\n }\r\n createUtc(offset) {\r\n var d = new Date();\r\n\r\n var utc = d.getTime() + d.getTimezoneOffset() * 60000;\r\n\r\n var nd = new Date(utc + 3600000 * offset);\r\n return nd;\r\n }\r\n async checkOpeningHours(offset) {\r\n var vm = this;\r\n\r\n if (JSON.parse(localStorage.getItem(\"selected_resturant_timings\"))) {\r\n var current_hotel_period = JSON.parse(\r\n localStorage.getItem(\"selected_resturant_timings\")\r\n );\r\n if (\r\n current_hotel_period[\"endLocalTime\"] &&\r\n current_hotel_period[\"startLocalTime\"]\r\n ) {\r\n var end_time_split = current_hotel_period[\"endLocalTime\"].split(\":\", 3);\r\n var start_time_split = current_hotel_period[\"startLocalTime\"].split(\r\n \":\",\r\n 3\r\n );\r\n var end_hour = parseInt(end_time_split[0]);\r\n var start_hour = parseInt(start_time_split[0]);\r\n var end_minute = parseInt(end_time_split[1]);\r\n var start_minute = parseInt(start_time_split[1]);\r\n var nd = this.createUtc(offset);\r\n if (nd.getHours() >= start_hour && end_hour >= nd.getHours()) {\r\n if (start_hour == nd.getHours()) {\r\n if (start_minute == nd.getMinutes()) {\r\n vm.resturant_state = \"Reesturant is close\";\r\n return \"close\";\r\n } else {\r\n vm.resturant_state = \"Resturant is open\";\r\n return \"open\";\r\n }\r\n } else if (end_hour == nd.getHours()) {\r\n if (end_minute == nd.getMinutes()) {\r\n vm.resturant_state = \"Resturant is close\";\r\n\r\n return \"close\";\r\n } else {\r\n vm.resturant_state = \"Resturant is open\";\r\n\r\n return \"open\";\r\n }\r\n } else {\r\n vm.resturant_state = \"Resturant is open\";\r\n\r\n return \"open\";\r\n }\r\n } else {\r\n vm.resturant_state = \"Resturant is close\";\r\n return \"close\";\r\n }\r\n }\r\n } else {\r\n return \"close\";\r\n }\r\n }\r\n // addAddressAgain() {\r\n // this.presentModal(\"change_addresses\");\r\n // }\r\n async deliveryTime(ev) {\r\n var vm = this;\r\n var obj: any;\r\n obj = JSON.stringify({ order_time_mode: ev[\"value\"], time: \"\" }); //moment(Date.now()).format( \"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\")\r\n if (ev[\"value\"] == \"ASAP\") {\r\n localStorage.removeItem(\"schedule_time\");\r\n if (localStorage.getItem(\"selected_resturant_timings\")) {\r\n if ((await this.checkOpeningHours(\"-5\")) == \"close\") {\r\n this.presentAlertofClose();\r\n } else {\r\n }\r\n }\r\n }\r\n if (ev[\"value\"] == \"Scheduled\") {\r\n }\r\n\r\n localStorage.setItem(\"order_fulfilment_time\", obj);\r\n this.subject_service.getOrderTimeMode(obj);\r\n if (vm.navigatto_check_out_clicked == true) {\r\n if (\r\n vm.order_option == \"\" ||\r\n vm.order_option == undefined ||\r\n vm.order_option == null ||\r\n !vm.order_option\r\n ) {\r\n vm.error_message = \"Please select the Delivery option\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n } else if (\r\n vm.order_option == \"Delivery\" &&\r\n localStorage.getItem(\"address_of_delivery\")\r\n ) {\r\n vm.error_message = \"\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n } else if (\r\n vm.order_option == \"Delivery\" &&\r\n !localStorage.getItem(\"address_of_delivery\")\r\n ) {\r\n vm.error_message = \"Enter the address of delivery\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n } else {\r\n vm.error_message = \"\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n }\r\n if (\r\n ev[\"value\"] == \"Scheduled\" &&\r\n !localStorage.getItem(\"timing_of_fulfilment\")\r\n ) {\r\n vm.error_message = vm.error_message\r\n ? vm.error_message + \"\" + \"and please select the schedule timing\"\r\n : \"Please select the schedule timing\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n }\r\n }\r\n }\r\n radioButtonClicked(ev) {\r\n }\r\n async presentAlertofClose() {\r\n var vm = this;\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"Alert\",\r\n message: \"This resturant is currently closed\",\r\n buttons: [\r\n {\r\n text: \"OK\",\r\n role: \"OK\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => {\r\n vm.order_for = \"Scheduled\";\r\n },\r\n },\r\n ],\r\n });\r\n\r\n await alert.present();\r\n }\r\n // deliveryMode(ev) {\r\n // var vm = this;\r\n // var obj: any;\r\n // obj = JSON.stringify({ order_delivery_mode: ev[\"value\"], address: \"\" }); //moment(Date.now()).format( \"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\")\r\n // if (ev[\"value\"] == \"Delivery\") {\r\n // this.presentModal(\"change_addresses\");\r\n // if (vm.order_option == 'Delivery') {\r\n // vm.subject_service.getTotalPayableAmount(vm.total_with_delivery_charges)\r\n // }\r\n // else {\r\n // vm.subject_service.getTotalPayableAmount(vm.total_amount)\r\n\r\n // }\r\n // }\r\n // if (ev[\"value\"] == \"Pickup\") {\r\n // if (vm.order_option == 'Delivery') {\r\n // vm.subject_service.getTotalPayableAmount(vm.total_with_delivery_charges)\r\n // }\r\n // else {\r\n // vm.subject_service.getTotalPayableAmount(vm.total_amount)\r\n\r\n // }\r\n // }\r\n\r\n // localStorage.setItem(\"order_fulfilment_mode\", obj);\r\n // vm.subject_service.getOrderMode(obj);\r\n // if (vm.navigatto_check_out_clicked == true) {\r\n // if (\r\n // vm.order_for == \"\" ||\r\n // vm.order_for == undefined ||\r\n // vm.order_for == null ||\r\n // !vm.order_for\r\n // ) {\r\n // vm.error_message = \"Please select the order_for option\";\r\n // vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n // vm.error_message\r\n // );\r\n // } else if (vm.order_for == \"ASAP\") {\r\n // vm.error_message = \"\";\r\n // vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n // vm.error_message\r\n // );\r\n // } else if (\r\n // vm.order_for == \"Scheduled\" &&\r\n // !localStorage.getItem(\"timing_of_fulfilment\")\r\n // ) {\r\n // vm.error_message = \"Enter the Schedule timing\";\r\n // vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n // vm.error_message\r\n // );\r\n // } else {\r\n // vm.error_message = \"\";\r\n // vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n // vm.error_message\r\n // );\r\n // }\r\n // }\r\n // }\r\n async proceedToCheckOut() {\r\n\r\n if (JSON.parse(localStorage.getItem(\"cart_response\")) != null) {\r\n var Olength = 0;\r\n length = 0;\r\n var menu = JSON.parse(localStorage.getItem(\"menu\"));\r\n var cart = JSON.parse(localStorage.getItem(\"cart_response\"));\r\n cart.forEach(function (cart) {\r\n \r\n var a = menu.filter(x => x.itemName == cart.item_name)\r\n a.forEach(function (a) {\r\n if (a.categoryName == \"BREAKFAST\" || a.categoryName == \"SNACKS\" || a.categoryName == \"DESSERTS\" || a.categoryName == \"BEVERAGES\") {\r\n\r\n if (a.categoryName == \"BREAKFAST\") {\r\n Olength = Olength + 1;\r\n }\r\n length = length + 1;\r\n\r\n }\r\n });\r\n\r\n });\r\n if (length == cart.length && Olength != 0) {\r\n this.cart_Cat = \"BREAKFAST\";\r\n }\r\n else if (Olength == 0 && length == cart.length) {\r\n this.cart_Cat = \"\";\r\n }\r\n else if (Olength == 0 && length != cart.length) {\r\n this.cart_Cat = \"lunch\";\r\n }\r\n\r\n\r\n\r\n }\r\n if (JSON.parse(localStorage.getItem(\"current_resturant_timings\")) != null) {\r\n var current_period = new Date();\r\n if (this.cart_Cat == \"BREAKFAST\") {\r\n this.min_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"startLocalTime\"];\r\n this.max_date = environment.timing.Bf_Maxtime;\r\n\r\n\r\n } else if (this.cart_Cat == \"lunch\") {\r\n this.min_date = environment.timing.Lunch_mintime;\r\n this.max_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"endLocalTime\"];\r\n } else {\r\n this.min_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"startLocalTime\"];\r\n this.max_date = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"endLocalTime\"];\r\n }\r\n var current_time = this.datepipe.transform(current_period, 'HH:mm');\r\n var time = this.datepipe.transform(current_period, 'yyyy-MM-dd');\r\n var closed = JSON.parse(localStorage.getItem(\"current_resturant_timings\"))[\"isClosed\"];\r\n\r\n\r\n if (!closed) {\r\n\r\n \r\n if (current_time > this.min_date && current_time < this.max_date) {\r\n this.pickup_abled = true;\r\n }\r\n else {\r\n this.pickup_abled = false;\r\n }\r\n \r\n\r\n }\r\n else {\r\n this.pickup_abled = false;\r\n }\r\n\r\n }\r\n else {\r\n this.pickup_abled = false;\r\n }\r\n var location =localStorage.getItem(\"current_resturant_data\")? JSON.parse(\r\n localStorage.getItem(\"current_resturant_data\")\r\n )[\"id\"]: [];\r\n var cart_response = localStorage.getItem(\"cart_response\")\r\n ? JSON.parse(localStorage.getItem(\"cart_response\"))\r\n : [];\r\n var user_info = JSON.parse(localStorage.getItem('user_info'));\r\n const navigationExtras: NavigationExtras = {\r\n state: {\r\n data_of_order: this.order_content,\r\n form_name: user_info ? 'login' : 'check-out',\r\n next: 'account',\r\n pickup_abled: this.pickup_abled\r\n },\r\n };\r\n if (window.location.href.includes('/gain-credentials/')) {\r\n this.router.routeReuseStrategy.shouldReuseRoute = function () {\r\n return false;\r\n }\r\n this.router.onSameUrlNavigation = 'reload';\r\n }\r\n if (cart_response && cart_response.length > 0) {\r\n this.navCtrl.navigateRoot([`/gain-credentials/${location}`], {\r\n ...navigationExtras,\r\n });\r\n this.subject_service.getProceedToCheckOutClicked('check-out')\r\n }\r\n else {\r\n await this.presentEmptyBasketAlert();\r\n }\r\n this.menu.close();\r\n }\r\n async proceedToCheckOut1() {\r\n var vm = this;\r\n vm.navigatto_check_out_clicked = true;\r\n localStorage.setItem(\r\n \"Proceed_to_check_out_clicked\",\r\n vm.navigatto_check_out_clicked\r\n );\r\n vm.subject_service.getProceedToCheckOutClicked(true);\r\n var total_amount =\r\n JSON.parse(localStorage.getItem(\"cart_subtotal\")) != null\r\n ? JSON.parse(localStorage.getItem(\"cart_subtotal\"))[\"subtotal\"][\r\n \"amount\"\r\n ]\r\n : null;\r\n if (localStorage.getItem(\"selected_resturant_data\")) {\r\n if (\r\n localStorage.getItem(\"cart_response\") &&\r\n JSON.parse(localStorage.getItem(\"cart_response\")).length > 0\r\n ) {\r\n const navigationExtras: NavigationExtras = {\r\n state: {\r\n data_of_order: this.order_content,\r\n },\r\n };\r\n this.navCtrl.navigateForward(\r\n [\"check-out\"],\r\n navigationExtras\r\n );\r\n this.menu.close();\r\n } else {\r\n vm.presentEmptyBasketAlert();\r\n return;\r\n }\r\n } else {\r\n vm.presentEmptyBasketAlert();\r\n return;\r\n }\r\n }\r\n async navigateToCheckOutWithoutUser() {\r\n var vm = this;\r\n vm.navigatto_check_out_clicked = true;\r\n localStorage.setItem(\r\n \"Proceed_to_check_out_clicked\",\r\n vm.navigatto_check_out_clicked\r\n );\r\n vm.subject_service.getProceedToCheckOutClicked(true);\r\n var total_amount =\r\n JSON.parse(localStorage.getItem(\"cart_subtotal\")) != null\r\n ? JSON.parse(localStorage.getItem(\"cart_subtotal\"))[\"subtotal\"][\r\n \"amount\"\r\n ]\r\n : null;\r\n if (localStorage.getItem(\"selected_resturant_data\")) {\r\n if (\r\n localStorage.getItem(\"cart_response\") &&\r\n JSON.parse(localStorage.getItem(\"cart_response\")).length > 0\r\n ) {\r\n } else {\r\n vm.presentEmptyBasketAlert();\r\n return;\r\n }\r\n } else {\r\n vm.presentEmptyBasketAlert();\r\n return;\r\n }\r\n var order_fulfilment_time = localStorage.getItem(\"order_fulfilment_time\")\r\n ? JSON.parse(localStorage.getItem(\"order_fulfilment_time\"))[\r\n \"order_time_mode\"\r\n ]\r\n : null;\r\n var order_fulfilment_mode = localStorage.getItem(\"order_fulfilment_mode\")\r\n ? JSON.parse(localStorage.getItem(\"order_fulfilment_mode\"))[\r\n \"order_delivery_mode\"\r\n ]\r\n : null;\r\n var address_of_shipment: any;\r\n if (order_fulfilment_mode == \"Pickup\") {\r\n address_of_shipment = localStorage.getItem(\"selected_resturant_data\");\r\n } else {\r\n address_of_shipment = localStorage.getItem(\"address_of_delivery\");\r\n }\r\n if (order_fulfilment_time && order_fulfilment_mode) {\r\n if (address_of_shipment) {\r\n if (order_fulfilment_time == \"ASAP\") {\r\n if (total_amount) {\r\n const navigationExtras: NavigationExtras = {\r\n state: {\r\n data_of_order: this.order_content,\r\n },\r\n };\r\n if (localStorage.getItem(\"selected_resturant_data\")) {\r\n var min_delivery_amont = parseFloat(\r\n JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"minimumDelivery\"\r\n ]\r\n );\r\n var amount_in_basket = JSON.parse(\r\n localStorage.getItem(\"cart_subtotal\")\r\n );\r\n var t =\r\n (parseFloat(amount_in_basket[\"subtotal\"][\"amount\"]) +\r\n parseFloat(amount_in_basket[\"tax\"][\"amount\"]))\r\n ;\r\n if (amount_in_basket && vm.delivery_charges) {\r\n debugger;\r\n // vm.subtotal_value = parseFloat(vm.sub_total_data.subtotal.amount);\r\n // vm.tax_amont = vm.subtotal_value * (1 + 0.0825) * (1 + 0.10) - vm.subtotal_value;\r\n // //parseFloat(vm.sub_total_data.tax.amount)\r\n // vm.total_amount =\r\n // parseFloat(vm.sub_total_data.subtotal.amount) +\r\n // vm.tax_amont;\r\n\r\n vm.subtotal_value = parseFloat(vm.sub_total_data.subtotal.amount);\r\n \r\n // Calculate tax at 18.25% and round it to two decimal places\r\n vm.tax_amont = Math.round(vm.subtotal_value * 0.1825 * 100) / 100;\r\n \r\n // Calculate the total amount by adding tax to the subtotal\r\n vm.total_amount = vm.subtotal_value + vm.tax_amont;\r\n\r\n\r\n vm.total_with_delivery_charges =\r\n (vm.total_amount + parseFloat(vm.delivery_charges));\r\n var total_with_delivery_charges: any;\r\n total_with_delivery_charges = vm.total_with_delivery_charges\r\n }\r\n var total_amount_obtained = t;\r\n if (vm.order_option == \"Delivery\") {\r\n if (min_delivery_amont <= total_with_delivery_charges) {\r\n if ((await vm.checkOpeningHours(\"-5\")) == \"open\") {\r\n this.navCtrl.navigateForward(\r\n [\"check-out\"],\r\n navigationExtras\r\n );\r\n this.menu.close();\r\n } else {\r\n vm.presentAlertofClose();\r\n }\r\n } else {\r\n this.menu.close();\r\n\r\n vm.presentMinimumDeliveryAlert(min_delivery_amont);\r\n }\r\n } else {\r\n if (total_amount_obtained) {\r\n if ((await vm.checkOpeningHours(\"-5\")) == \"open\") {\r\n this.navCtrl.navigateForward(\r\n [\"check-out\"],\r\n navigationExtras\r\n );\r\n this.menu.close();\r\n } else {\r\n vm.presentAlertofClose();\r\n }\r\n } else {\r\n this.menu.close();\r\n vm.presentEmptyBasketAlert();\r\n }\r\n }\r\n } else {\r\n }\r\n } else {\r\n vm.presentEmptyBasketAlert();\r\n }\r\n } else if (order_fulfilment_time == \"Scheduled\") {\r\n if (localStorage.getItem(\"timing_of_fulfilment\")) {\r\n if (total_amount) {\r\n const navigationExtras: NavigationExtras = {\r\n state: {\r\n data_of_order: this.order_content,\r\n },\r\n };\r\n if (localStorage.getItem(\"selected_resturant_data\")) {\r\n var min_delivery_amont = parseFloat(\r\n JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"minimumDelivery\"\r\n ]\r\n );\r\n var amount_in_basket: any\r\n amount_in_basket = JSON.parse(\r\n localStorage.getItem(\"cart_subtotal\")\r\n );\r\n\r\n var t =\r\n (parseFloat(amount_in_basket[\"subtotal\"][\"amount\"]) +\r\n parseFloat(amount_in_basket[\"tax\"][\"amount\"]))\r\n ;\r\n var total_amount_obtained = t;\r\n var total_with_delivery_charges: any;\r\n if (vm.delivery_charges) {\r\n total_with_delivery_charges =\r\n (parseFloat(amount_in_basket[\"subtotal\"][\"amount\"]) +\r\n parseFloat(amount_in_basket[\"tax\"][\"amount\"]) +\r\n parseFloat(vm.delivery_charges))\r\n ;\r\n }\r\n var total_amount_obtained = t;\r\n if (vm.order_option == \"Delivery\") {\r\n if (min_delivery_amont <= total_with_delivery_charges) {\r\n if ((await vm.checkOpeningHours(\"-5\")) == \"open\") {\r\n this.navCtrl.navigateForward(\r\n [\"check-out\"],\r\n navigationExtras\r\n );\r\n this.menu.close();\r\n } else {\r\n vm.presentAlertofClose();\r\n }\r\n } else {\r\n this.menu.close();\r\n vm.presentMinimumDeliveryAlert(min_delivery_amont);\r\n }\r\n } else {\r\n if (total_amount_obtained) {\r\n if ((await vm.checkOpeningHours(\"-5\")) == \"open\") {\r\n this.navCtrl.navigateForward(\r\n [\"check-out\"],\r\n navigationExtras\r\n );\r\n this.menu.close();\r\n } else {\r\n vm.presentAlertofClose();\r\n }\r\n } else {\r\n this.menu.close();\r\n vm.presentEmptyBasketAlert();\r\n }\r\n }\r\n } else {\r\n }\r\n } else {\r\n vm.presentEmptyBasketAlert();\r\n }\r\n } else {\r\n vm.error_message = \"Time of schedule should be selected first\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n }\r\n }\r\n } else {\r\n if (order_fulfilment_time == \"ASAP\") {\r\n vm.error_message = \"Address is not entered\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n }\r\n if (order_fulfilment_time == \"Scheduled\") {\r\n if (localStorage.getItem(\"timing_of_fulfilment\")) {\r\n vm.error_message = \"Address is not entered\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n } else {\r\n vm.error_message = \"Address and scheduled time is not enttered\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n }\r\n }\r\n }\r\n } else {\r\n this.error_message = \"Please select time or delivery mode or both\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n }\r\n }\r\n async navigateToCheckOut() {\r\n var vm = this;\r\n vm.navigatto_check_out_clicked = true;\r\n localStorage.setItem(\r\n \"Proceed_to_check_out_clicked\",\r\n vm.navigatto_check_out_clicked\r\n );\r\n vm.subject_service.getProceedToCheckOutClicked(true);\r\n var user_info = JSON.parse(localStorage.getItem(\"user_info\"));\r\n var total_amount =\r\n JSON.parse(localStorage.getItem(\"cart_subtotal\")) != null\r\n ? JSON.parse(localStorage.getItem(\"cart_subtotal\"))[\"subtotal\"][\r\n \"amount\"\r\n ]\r\n : null;\r\n if (user_info) {\r\n if (localStorage.getItem(\"selected_resturant_data\")) {\r\n if (\r\n localStorage.getItem(\"cart_response\") &&\r\n JSON.parse(localStorage.getItem(\"cart_response\")).length > 0\r\n ) {\r\n } else {\r\n vm.presentEmptyBasketAlert();\r\n return;\r\n }\r\n } else {\r\n vm.presentEmptyBasketAlert();\r\n\r\n return;\r\n }\r\n var order_fulfilment_time = localStorage.getItem(\"order_fulfilment_time\")\r\n ? JSON.parse(localStorage.getItem(\"order_fulfilment_time\"))[\r\n \"order_time_mode\"\r\n ]\r\n : null;\r\n var order_fulfilment_mode = localStorage.getItem(\"order_fulfilment_mode\")\r\n ? JSON.parse(localStorage.getItem(\"order_fulfilment_mode\"))[\r\n \"order_delivery_mode\"\r\n ]\r\n : null;\r\n var address_of_shipment: any;\r\n if (order_fulfilment_mode == \"Pickup\") {\r\n address_of_shipment = localStorage.getItem(\"selected_resturant_data\");\r\n } else {\r\n address_of_shipment = localStorage.getItem(\"address_of_delivery\");\r\n }\r\n if (order_fulfilment_time && order_fulfilment_mode) {\r\n if (address_of_shipment) {\r\n if (order_fulfilment_time == \"ASAP\") {\r\n if (total_amount) {\r\n const navigationExtras: NavigationExtras = {\r\n state: {\r\n data_of_order: this.order_content,\r\n },\r\n };\r\n if (localStorage.getItem(\"selected_resturant_data\")) {\r\n var min_delivery_amont = parseFloat(\r\n JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"minimumDelivery\"\r\n ]\r\n );\r\n var amount_in_basket = JSON.parse(\r\n localStorage.getItem(\"cart_subtotal\")\r\n );\r\n var t =\r\n (parseFloat(amount_in_basket[\"subtotal\"][\"amount\"]) +\r\n parseFloat(amount_in_basket[\"tax\"][\"amount\"]))\r\n ;\r\n var total_with_delivery_charges: any;\r\n total_with_delivery_charges = (parseFloat(amount_in_basket[\"subtotal\"][\"amount\"]) +\r\n parseFloat(amount_in_basket[\"tax\"][\"amount\"]) +\r\n parseFloat(vm.delivery_charges))\r\n ;\r\n\r\n var total_amount_obtained = t;\r\n if (vm.order_option == \"Delivery\") {\r\n if (min_delivery_amont <= total_with_delivery_charges) {\r\n if ((await vm.checkOpeningHours(\"-5\")) == \"open\") {\r\n this.navCtrl.navigateForward(\r\n [\"check-out\"],\r\n navigationExtras\r\n );\r\n this.menu.close();\r\n } else {\r\n vm.presentAlertofClose();\r\n }\r\n } else {\r\n this.menu.close();\r\n\r\n vm.presentMinimumDeliveryAlert(min_delivery_amont);\r\n }\r\n } else {\r\n if (total_amount_obtained) {\r\n if ((await vm.checkOpeningHours(\"-5\")) == \"open\") {\r\n this.navCtrl.navigateForward(\r\n [\"check-out\"],\r\n navigationExtras\r\n );\r\n this.menu.close();\r\n } else {\r\n vm.presentAlertofClose();\r\n }\r\n } else {\r\n this.menu.close();\r\n\r\n vm.presentEmptyBasketAlert();\r\n }\r\n }\r\n } else {\r\n }\r\n } else {\r\n vm.presentEmptyBasketAlert();\r\n }\r\n } else if (order_fulfilment_time == \"Scheduled\") {\r\n if (localStorage.getItem(\"timing_of_fulfilment\")) {\r\n if (total_amount) {\r\n const navigationExtras: NavigationExtras = {\r\n state: {\r\n data_of_order: this.order_content,\r\n },\r\n };\r\n if (localStorage.getItem(\"selected_resturant_data\")) {\r\n\r\n var min_delivery_amont = parseFloat(\r\n JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"minimumDelivery\"\r\n ]\r\n );\r\n var amount_in_basket = JSON.parse(\r\n localStorage.getItem(\"cart_subtotal\")\r\n );\r\n var t =\r\n (parseFloat(amount_in_basket[\"subtotal\"][\"amount\"]) +\r\n parseFloat(amount_in_basket[\"tax\"][\"amount\"]))\r\n ;\r\n var total_amount_obtained = t;\r\n var total_with_delivery_charges: any\r\n total_with_delivery_charges = parseFloat(amount_in_basket[\"subtotal\"][\"amount\"]) +\r\n parseFloat(amount_in_basket[\"tax\"][\"amount\"]) +\r\n parseFloat(vm.delivery_charges)\r\n ;\r\n var total_amount_obtained = t;\r\n if (vm.order_option == \"Delivery\") {\r\n if (min_delivery_amont <= total_with_delivery_charges) {\r\n if ((await vm.checkOpeningHours(\"-5\")) == \"open\") {\r\n this.navCtrl.navigateForward(\r\n [\"check-out\"],\r\n navigationExtras\r\n );\r\n this.menu.close();\r\n } else {\r\n vm.presentAlertofClose();\r\n }\r\n } else {\r\n this.menu.close();\r\n\r\n vm.presentMinimumDeliveryAlert(min_delivery_amont);\r\n }\r\n } else {\r\n if (total_amount_obtained) {\r\n if ((await vm.checkOpeningHours(\"-5\")) == \"open\") {\r\n this.navCtrl.navigateForward(\r\n [\"check-out\"],\r\n navigationExtras\r\n );\r\n this.menu.close();\r\n } else {\r\n vm.presentAlertofClose();\r\n }\r\n } else {\r\n this.menu.close();\r\n\r\n vm.presentEmptyBasketAlert();\r\n }\r\n }\r\n } else {\r\n }\r\n } else {\r\n vm.presentEmptyBasketAlert();\r\n }\r\n } else {\r\n vm.error_message = \"Time of schedule should be selected first\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n }\r\n }\r\n } else {\r\n if (order_fulfilment_time == \"ASAP\") {\r\n vm.error_message = \"Address is not entered\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n }\r\n if (order_fulfilment_time == \"Scheduled\") {\r\n if (localStorage.getItem(\"timing_of_fulfilment\")) {\r\n vm.error_message = \"Address is not entered\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n } else {\r\n vm.error_message = \"Address and scheduled time is not enttered\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n }\r\n }\r\n }\r\n } else {\r\n this.error_message = \"Please select time or delivery mode or both\";\r\n vm.subject_service.getErrorMessageOnProceedToCheckOutClicked(\r\n vm.error_message\r\n );\r\n }\r\n } else {\r\n await vm.presentAlert();\r\n }\r\n }\r\n // async startGroupOrder(data_entered?) {\r\n // const vm = this;\r\n // const modal = await this.modalController.create({\r\n // component: GroupOrderComponent,\r\n // cssClass: \"my-custom-class\",\r\n // componentProps: { data_entered: vm.group_order_data },\r\n // });\r\n // modal.onDidDismiss().then(\r\n // (data) => {\r\n\r\n // if (data) {\r\n // if (data.data) {\r\n // vm.group_order_data = \"\";\r\n // vm.group_order_data = data.data.data;\r\n // this.group_order_date = moment(vm.group_order_data.date).format(\r\n // \"DD-MM-YYYY\"\r\n // );\r\n // this.group_order_time = moment(vm.group_order_data.time).format(\r\n // \"h:mm:ss\"\r\n // );\r\n // }\r\n // }\r\n // },\r\n // (error) => {\r\n // }\r\n // );\r\n // return await modal.present();\r\n // }\r\n tabNameChanged(ev) {\r\n if (ev.index == 0) {\r\n }\r\n if (ev.index == 1) {\r\n this.user_info_from_local = localStorage.getItem(\"user_info\");\r\n }\r\n }\r\n getDataAfterPayment(ev) {\r\n this.data_after_payment.emit(ev);\r\n }\r\n}\r\n","export default \".button-group {\\n margin: auto;\\n text-align: center;\\n}\\n\\n.button-css {\\n margin: 6px;\\n font-family: \\\"Barlow-Medium\\\";\\n cursor: pointer;\\n --background:#ff6614;\\n --background-activated:#ff6614 ;\\n --background-focused: #ff6614;\\n --background-hover:#ff6614 ;\\n width: 100px;\\n}\\n\\n.setting-css {\\n float: right;\\n position: absolute;\\n right: 10px;\\n top: 6px;\\n}\\n\\n.more-css {\\n float: right;\\n position: absolute;\\n right: 37px;\\n top: 6px;\\n}\\n\\n.right-col-css {\\n position: relative;\\n}\\n\\n.div-css {\\n padding: 2px;\\n}\\n\\n.user-css {\\n font-family: \\\"Montserrat-Bold\\\";\\n font-size: 16px !important;\\n cursor: default;\\n}\\n\\n.user-info-css {\\n font-family: \\\"Montserrat-SemiBold\\\";\\n font-size: 14px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50L3VzZXItaW5mby9DOlxcUm9oaXRoX1dvcmtcXENpdGFkZWxcXENpdGFkZWxcXHRobnhnaXZpbmdmcm9udGVuZG5ld1xcdGhhbmtzZ2l2aW5nZnJvbnRlbmQvc3JjXFxhcHBcXGNvbXBvbmVudFxcdXNlci1pbmZvXFx1c2VyLWluZm8uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvbXBvbmVudC91c2VyLWluZm8vdXNlci1pbmZvLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksWUFBQTtFQUNBLGtCQUFBO0FDQ0o7O0FEQ0E7RUFDSSxXQUFBO0VBQ0EsNEJBQUE7RUFDQSxlQUFBO0VBQ0Esb0JBQUE7RUFDQSwrQkFBQTtFQUNBLDZCQUFBO0VBQ0EsMkJBQUE7RUFDQSxZQUFBO0FDRUo7O0FEQUE7RUFDSSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQTtBQ0dKOztBRERBO0VBQ0ksWUFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7QUNJSjs7QURGQTtFQUNJLGtCQUFBO0FDS0o7O0FESEE7RUFDSSxZQUFBO0FDTUo7O0FESkE7RUFDSSw4QkFBQTtFQUNBLDBCQUFBO0VBQ0EsZUFBQTtBQ09KOztBRExBO0VBQ0ksa0NBQUE7RUFDQSwwQkFBQTtBQ1FKIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50L3VzZXItaW5mby91c2VyLWluZm8uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYnV0dG9uLWdyb3Vwe1xyXG4gICAgbWFyZ2luOmF1dG87XHJcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxufVxyXG4uYnV0dG9uLWNzc3tcclxuICAgIG1hcmdpbjogNnB4O1xyXG4gICAgZm9udC1mYW1pbHk6IFwiQmFybG93LU1lZGl1bVwiO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgLS1iYWNrZ3JvdW5kOiNmZjY2MTQ7XHJcbiAgICAtLWJhY2tncm91bmQtYWN0aXZhdGVkOiNmZjY2MTQgO1xyXG4gICAgLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6ICNmZjY2MTQ7XHJcbiAgICAtLWJhY2tncm91bmQtaG92ZXI6I2ZmNjYxNCA7XHJcbiAgICB3aWR0aDoxMDBweDtcclxufVxyXG4uc2V0dGluZy1jc3N7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgIHJpZ2h0OjEwcHg7XHJcbiAgICB0b3A6NnB4O1xyXG59XHJcbi5tb3JlLWNzc3tcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgcmlnaHQ6MzdweDtcclxuICAgIHRvcDo2cHg7XHJcbn1cclxuLnJpZ2h0LWNvbC1jc3N7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxufVxyXG4uZGl2LWNzc3tcclxuICAgIHBhZGRpbmc6MnB4O1xyXG59XHJcbi51c2VyLWNzc3tcclxuICAgIGZvbnQtZmFtaWx5OidNb250c2VycmF0LUJvbGQnO1xyXG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuLnVzZXItaW5mby1jc3N7XHJcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQtU2VtaUJvbGQnO1xyXG4gICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAvLyBmb250LWZhbWlseTogJ20nO1xyXG59XHJcbiIsIi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW46IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJ1dHRvbi1jc3Mge1xuICBtYXJnaW46IDZweDtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LU1lZGl1bVwiO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC0tYmFja2dyb3VuZDojZmY2NjE0O1xuICAtLWJhY2tncm91bmQtYWN0aXZhdGVkOiNmZjY2MTQgO1xuICAtLWJhY2tncm91bmQtZm9jdXNlZDogI2ZmNjYxNDtcbiAgLS1iYWNrZ3JvdW5kLWhvdmVyOiNmZjY2MTQgO1xuICB3aWR0aDogMTAwcHg7XG59XG5cbi5zZXR0aW5nLWNzcyB7XG4gIGZsb2F0OiByaWdodDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTBweDtcbiAgdG9wOiA2cHg7XG59XG5cbi5tb3JlLWNzcyB7XG4gIGZsb2F0OiByaWdodDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMzdweDtcbiAgdG9wOiA2cHg7XG59XG5cbi5yaWdodC1jb2wtY3NzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZGl2LWNzcyB7XG4gIHBhZGRpbmc6IDJweDtcbn1cblxuLnVzZXItY3NzIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi51c2VyLWluZm8tY3NzIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1TZW1pQm9sZFwiO1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbn0iXX0= */\";","import { Component, OnInit, Input } from '@angular/core';\r\nimport { AuthService } from 'src/app/service/auth.service';\r\nimport { UtilityService } from 'src/app/service/utility.service';\r\nimport {\r\n MenuController,\r\n NavParams,\r\n NavController,\r\n PopoverController,\r\n ModalController,\r\n} from '@ionic/angular';\r\nimport { SubjectCollectionService } from 'src/app/service/subject-collection.service';\r\n//import { OptionSelectedComponent } from '../option-selected/option-selected.component';\r\nimport { ActivatedRoute, NavigationExtras, Router } from '@angular/router';\r\nimport { RegistrationFormComponent } from '../registration-form/registration-form.component';\r\n\r\n@Component({\r\n selector: 'app-user-info',\r\n templateUrl: './user-info.component.html',\r\n styleUrls: ['./user-info.component.scss'],\r\n})\r\nexport class UserInfoComponent implements OnInit {\r\n @Input() data: any;\r\n @Input() items:any;\r\n public user_info: any;\r\n @Input() current_resturant: any;\r\n public header_button_clicked: any;\r\n public thanks_giving_form_display:any;\r\n constructor(\r\n public auth: AuthService,\r\n public util: UtilityService,\r\n public menu: MenuController,\r\n public subject_service: SubjectCollectionService,\r\n public navCtrl: NavController,\r\n public popoverController: PopoverController,\r\n public modalController: ModalController,\r\n public popoverCtrl: PopoverController,\r\n public router: Router,\r\n public route:ActivatedRoute\r\n ) {\r\n route.params.subscribe(val => {\r\n });\r\n }\r\n ngOnInit() {\r\n const vm = this;\r\n this.user_info = this.data;\r\n }\r\n ngAfterViewInit() {\r\n }\r\n formToOpen(form_name) {\r\n this.header_button_clicked = form_name;\r\n this.thanks_giving_form_display=false\r\n const vm = this;\r\n vm.util.dismissPopover();\r\n const navigationExtras: NavigationExtras = {\r\n state: {\r\n form_name: form_name,\r\n },\r\n };\r\n if(location.href.includes('/gain-credentials/'))\r\n { \r\n this.router.routeReuseStrategy.shouldReuseRoute = function () {\r\n return false;}\r\n this.router.onSameUrlNavigation = 'reload';\r\n this.util.presentLoading();\r\n }\r\n this.router.navigate([`/gain-credentials/${this.current_resturant}`], {\r\n\r\n ...navigationExtras,\r\n });\r\n }\r\n async logout() {\r\n const vm = this;\r\n await vm.util.presentLoading();\r\n await this.auth.logOut().subscribe((data) => {\r\n for (var key in localStorage) {\r\n if(key!=\"resturant_timings\" && key!=\"current_resturant_data\" && key!=\"SUN_resturant_timings\")\r\n {\r\n localStorage.removeItem(key);\r\n }\r\n }\r\n \r\n // localStorage.clear();\r\n this.user_info = 'null';\r\n vm.util.dismissPopover();\r\n vm.util.dismissLoader();\r\n (error) => {\r\n vm.util.dismissLoader();\r\n };\r\n });\r\n }\r\n openCart() {\r\n const vm = this;\r\n vm.util.dismissPopover();\r\n this.menu.open('cart');\r\n }\r\n // async presentModalWIthSelectedOptions(option_name) {\r\n // this.popoverCtrl.dismiss();\r\n // const modal = await this.modalController.create({\r\n // component: OptionSelectedComponent,\r\n // cssClass: 'my-custom-class',\r\n // swipeToClose: true,\r\n // componentProps: { option_selected: option_name, user_info: this.data },\r\n // });\r\n // return await modal.present();\r\n // }\r\n}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appPhoneNumber]'\r\n})\r\nexport class PhoneNumberDirective {\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { Directive } from '@angular/core';\r\nimport { FormControl, ValidationErrors } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[appPhone]'\r\n})\r\nexport class PhoneDirective {\r\n\r\n constructor() { }\r\n validate(c: FormControl): ValidationErrors {\r\n const isValidPhoneNumber = /^\\d{3,3}-\\d{3,3}-\\d{3,3}$/.test(c.value);\r\n const message = {\r\n 'telephoneNumber': {\r\n 'message': 'The phone number must be valid (XXX-XXX-XXX, where X is a digit)'\r\n }\r\n };\r\n return isValidPhoneNumber ? null : message;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { ParallexHeaderDirective } from './parallex-header.directive';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { TooltipDirective } from './tooltip.directive';\r\nimport { PhoneDirective } from './Validator/phone.directive';\r\nimport { PhoneNumberDirective } from './Validator/phone-number.directive';\r\nimport { EvokeButtonDirective } from './evoke-button.directive';\r\nimport { FontweightChangeDirective } from './fontweight-change.directive';\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [ CommonModule,\r\n\r\n FormsModule,\r\n IonicModule, ],\r\n\r\n declarations: [ParallexHeaderDirective, FontweightChangeDirective,TooltipDirective, PhoneDirective, PhoneNumberDirective, EvokeButtonDirective, FontweightChangeDirective],\r\n exports: [ParallexHeaderDirective, TooltipDirective,EvokeButtonDirective,FontweightChangeDirective]\r\n})\r\nexport class DirectiveModule{}\r\n","import { Directive, ElementRef, HostListener, Output, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appEvokeButton]'\r\n})\r\nexport class EvokeButtonDirective {\r\n @Input() show?:any;\r\n // @Output() value:any;\r\n constructor(public el: ElementRef) {\r\n console.log(\"Evoke button enterd\")\r\n // el.nativeElement.style.backgroundColor = 'yellow';\r\n }\r\n @HostListener('mouseenter') onMouseEnter() {\r\n this.highlight('yellow');\r\n this.show=!this.show\r\n // this.value.emit(this.show)\r\n\r\n}\r\n\r\n@HostListener('mouseleave') onMouseLeave() {\r\n this.highlight(null);\r\n this.show=!this.show\r\n // this.value.emit(this.show)\r\n\r\n}\r\nngOnChanges(){\r\n console.log(\"Show on evoke directive\",this.show)\r\n}\r\n\r\nprivate highlight(color: string) {\r\n this.el.nativeElement.style.backgroundColor = color;\r\n}\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appFontweightChange]'\r\n})\r\nexport class FontweightChangeDirective {\r\n\r\n constructor(private element:ElementRef) {\r\n // console.log(\"FOnt-weight direcctive entered\")\r\n \r\n }\r\n\r\n\r\n // @HostListener('mouseenter') onMouseEnter(){\r\n // console.log(\"mouse enterde\",this.element.nativeElement.style)\r\n // this.element.nativeElement.style.fontFamily = 'Barlow-Bold';\r\n \r\n // }\r\n // @HostListener('mouseleave') onMouseLeave(){\r\n // console.log(\"mouse left \")\r\n\r\n // this.element.nativeElement.style.fontFamily = 'Barlow-Medium';\r\n // }\r\n @HostListener('mouseenter') onMouseEnter(){\r\n var p=this.element.nativeElement.getElementsByClassName(\"para\")[0]\r\n // console.log(\"mouse enterde\",this.element.nativeElement.getElementsByClassName(\"para\"))\r\n // this.element.nativeElement.style.position = 'absolute';\r\n p.style.opacity = '0.8';\r\n\r\n \r\n }\r\n @HostListener('mouseleave') onMouseLeave(){\r\n // console.log(\"mouse left \")\r\n var p=this.element.nativeElement.getElementsByClassName(\"para\")[0]\r\n // this.element.nativeElement.style.position = null;\r\n p.style.opacity =null;\r\n }\r\n\r\n}\r\n","import { Directive, Input, ElementRef, Renderer2 } from '@angular/core';\r\nimport { DomController } from '@ionic/angular';\r\n\r\n@Directive({\r\n\t// tslint:disable-next-line: indent\r\n\tselector: '[appParallexHeader]'\r\n})\r\nexport class ParallexHeaderDirective {\r\n\r\n\t@Input('parallaxHeader') imagePath: string;\r\n\t// tslint:disable-next-line: indent\r\n\t// tslint:disable-next-line: no-input-rename\r\n\t@Input('parallaxHeight') parallaxHeight: number;\r\n\r\n\tprivate headerHeight: number;\r\n\t// tslint:disable-next-line: indent\r\n\tprivate header: HTMLDivElement;\r\n\t// tslint:disable-next-line: indent\r\n\tprivate mainContent: HTMLDivElement;\r\n\r\n\tconstructor(private element: ElementRef, private renderer: Renderer2, private domCtrl: DomController) {\r\n\t\tconsole.log(\"parallexheader entered\")\r\n\t}\r\n\r\n\tngAfterViewInit() {\r\n\r\n\t\tthis.headerHeight = this.parallaxHeight;\r\n\t\tthis.mainContent = this.element.nativeElement.querySelector('.main-content');\r\n\r\n\t\tthis.domCtrl.write(() => {\r\n\r\n\t\t\tthis.header = this.renderer.createElement('div');\r\n\r\n\t\t\tthis.renderer.insertBefore(this.element.nativeElement, this.header, this.element.nativeElement.firstChild);\r\n\r\n\t\t\tthis.renderer.setStyle(this.header, 'background-image', 'url(' + this.imagePath + ')');\r\n\t\t\tthis.renderer.setStyle(this.header, 'height', this.headerHeight + 'px');\r\n\t\t\tthis.renderer.setStyle(this.header, 'background-size', 'contain');\r\n\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tonContentScroll(ev) {\r\nthis.domCtrl.read(() => { let translateAmt, scaleAmt;\r\n\r\n\t\t\t// Already scrolled past the point at which the header image is visible\r\n\t\t\tif (ev.detail.scrollTop > this.parallaxHeight) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (ev.detail.scrollTop >= 0) {\r\n\t\t\t\ttranslateAmt = -(ev.detail.scrollTop / 2);\r\n\t\t\t\tscaleAmt = 1;\r\n\t\t\t} else {\r\n\t\t\t\ttranslateAmt = 0;\r\n\t\t\t\tscaleAmt = -ev.detail.scrollTop / this.headerHeight + 1;\r\n\t\t\t}\r\n\r\n\t\t\tthis.domCtrl.write(() => {\r\n\t\t\t\tthis.renderer.setStyle(this.header, 'transform', 'translate3d(0,' + translateAmt + 'px,0) scale(' + scaleAmt + ',' + scaleAmt + ')');\r\n\t\t\t\tthis.renderer.setStyle(this.mainContent, 'transform', 'translate3d(0, ' + (-ev.detail.scrollTop) + 'px, 0');\r\n\t\t\t});\r\n\r\n\t// tslint:disable-next-line: indent\r\n\t\r\n\t\t});\r\n\r\n\r\n\r\n\t}\r\n}\r\n","import { Directive, HostListener, ComponentRef, Input, ElementRef } from '@angular/core';\r\nimport { Overlay, OverlayRef, OverlayPositionBuilder } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { TooltipComponent } from '@angular/material/tooltip';\r\n//import { AwaesometooltipComponent } from '../component/awaesometooltip/awaesometooltip.component';\r\nimport { PopoverController } from '@ionic/angular';\r\n\r\n@Directive({\r\n selector: '[appTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n @Input('appTooltip') text = '';\r\n private overlayRef: OverlayRef;\r\n constructor(\r\n private overlay: Overlay,\r\n private overlayPositionBuilder: OverlayPositionBuilder,\r\n public popoverController:PopoverController,\r\n private elementRef: ElementRef\r\n\r\n ) { }\r\n // tslint:disable-next-line: use-lifecycle-interface\r\n ngOnInit() {\r\n\r\n const positionStrategy = this.overlayPositionBuilder\r\n .flexibleConnectedTo(this.elementRef)\r\n .withPositions([{\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n }]);\r\n\r\n // Connect position strategy\r\n this.overlayRef = this.overlay.create({ positionStrategy });\r\n }\r\n // xxx(){\r\n // const tooltipPortal = new ComponentPortal(AwaesometooltipComponent);\r\n\r\n // // Attach tooltip portal to overlay\r\n // const tooltipRef: ComponentRef = this.overlayRef.attach(tooltipPortal);\r\n\r\n // // Pass content to tooltip component instance\r\n // console.log(' tooltipRef.instance', tooltipRef.instance);\r\n // console.log('this.text***********', this.text);\r\n // tooltipRef.instance.text = this.text;\r\n // }\r\ngg(){\r\n console.log(\"Hide api is called\")\r\n this.overlayRef.detach();\r\n}\r\n @HostListener('mouseenter') async mouseover($event){\r\n // const tooltipPortal = new ComponentPortal(AwaesometooltipComponent);\r\n\r\n // const tooltipRef: ComponentRef = this.overlayRef.attach(tooltipPortal);\r\n\r\n // // Pass content to tooltip component instance\r\n // console.log(' tooltipRef.instance', tooltipRef.instance);\r\n // console.log('this.text***********', this.text);\r\n // tooltipRef.instance.text = this.text;\r\n\r\n // console.log(\"mouse entered\")\r\n \r\n }\r\n \r\n \r\n // show() {\r\n // // Create tooltip portal\r\n // const tooltipPortal = new ComponentPortal(AwaesometooltipComponent);\r\n\r\n // // Attach tooltip portal to overlay\r\n // const tooltipRef: ComponentRef = this.overlayRef.attach(tooltipPortal);\r\n\r\n // // Pass content to tooltip component instance\r\n // console.log(' tooltipRef.instance', tooltipRef.instance);\r\n // console.log('this.text***********', this.text);\r\n // tooltipRef.instance.text = this.text;\r\n // }\r\n @HostListener('mouseleave') mouseleave(){\r\n console.log(\"Hide api is called\")\r\n this.overlayRef.detach();\r\n }\r\n // @HostListener('mouseout')\r\n // hide() {\r\n // console.log(\"Hide api is called\")\r\n // this.overlayRef.detach();\r\n // }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\n\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatDialogModule, MatDialogRef, MatDialog } from '@angular/material/dialog';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport {MatButtonToggleModule} from '@angular/material/button-toggle';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport {MatTableModule} from '@angular/material/table';\r\n\r\nconst modules = [\r\n MatCheckboxModule,\r\n MatDatepickerModule,\r\n MatSliderModule,\r\n MatFormFieldModule,\r\n MatSelectModule,\r\n MatTabsModule,\r\n MatSidenavModule,\r\n MatBottomSheetModule,\r\n MatToolbarModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatDialogModule,\r\n MatInputModule,\r\n MatDividerModule,\r\n MatListModule,\r\n MatCardModule,\r\n MatTooltipModule,\r\n MatGridListModule,\r\n MatMenuModule,\r\n MatSlideToggleModule,\r\n MatExpansionModule,\r\n MatNativeDateModule,\r\n MatRadioModule,\r\n MatBadgeModule,\r\n MatChipsModule,\r\n MatTreeModule,\r\n MatProgressSpinnerModule,\r\n MatProgressSpinnerModule,\r\n MatSnackBarModule,\r\n MatTableModule,\r\n MatButtonToggleModule,\r\n \r\n\r\n\r\n];\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n [...modules]\r\n ],\r\n exports: [\r\n [...modules]\r\n\r\n ],\r\n providers: [\r\n MatDatepickerModule,\r\n ],\r\n})\r\nexport class MaterialModule { }\r\n\r\n\r\n","export default \".toolbar-css {\\n height: 25px;\\n margin-top: 6px;\\n width: 98%;\\n margin-left: 1%;\\n}\\n\\n.close-button-css {\\n float: right;\\n padding-top: 3px;\\n cursor: pointer;\\n}\\n\\n.heading-for-new {\\n font-size: 28px;\\n color: #ff6614;\\n font-family: \\\"Barlow-Bold\\\";\\n text-align: center;\\n cursor: default;\\n}\\n\\n.warning-css {\\n color: black;\\n /* width: 100%; */\\n font-size: large;\\n background-color: red;\\n padding-left: 13px;\\n margin-bottom: 10px;\\n padding: 10px;\\n margin: auto;\\n text-align: center;\\n border-radius: 62px;\\n margin: 10px;\\n}\\n\\n.header-css {\\n width: 100%;\\n}\\n\\n.customisation-css {\\n width: 99%;\\n margin: auto;\\n padding: 5px;\\n}\\n\\n.note-css {\\n font-size: 13px;\\n font-weight: bolder;\\n}\\n\\n.customisation-css {\\n width: 99%;\\n margin: auto;\\n padding: 5px;\\n}\\n\\n.customisation-div {\\n text-align: center;\\n}\\n\\n.skip-button {\\n font-family: \\\"Barlow-Bold\\\";\\n padding-left: 20px;\\n padding-bottom: 7px;\\n cursor: pointer;\\n --background:#ff6614;\\n --background-activated:#ff6614 ;\\n --background-focused: #ff6614;\\n --background-hover:#ff6614 ;\\n}\\n\\n.last-buttons {\\n font-family: \\\"Barlow-Medium\\\";\\n --border-radius: 0px !important;\\n width: 200px;\\n height: 40px;\\n}\\n\\n.button-css {\\n border: 2px solid #8d6e63;\\n margin: 1px;\\n padding: 0px !important;\\n}\\n\\n.main-div-css {\\n padding: 20px;\\n min-height: 100%;\\n}\\n\\nselect {\\n background: red;\\n}\\n\\n.title-css {\\n font-size: 18px;\\n font-family: \\\"Montserrat-Bold\\\";\\n color: #ff6614;\\n text-transform: uppercase;\\n}\\n\\n.hr-css {\\n margin-top: 0px !important;\\n margin-bottom: 0px !important;\\n}\\n\\nion-checkbox {\\n margin: 0px !important;\\n}\\n\\nion-label {\\n margin: 0px !important;\\n}\\n\\n.all-options {\\n padding-left: 16px;\\n}\\n\\n.row-options-css {\\n margin-top: 9px;\\n}\\n\\n.customisation-button-css {\\n margin-top: 10px;\\n}\\n\\n.row-for-customisation {\\n margin: 10px;\\n height: auto;\\n}\\n\\n.checkbox-with-option-selected {\\n margin: 10px;\\n}\\n\\n.item-name-css {\\n color: blue;\\n font-size: x-large;\\n}\\n\\n.price-css {\\n color: blue;\\n font-size: 16px;\\n}\\n\\n.special-name-css-for-items {\\n padding-left: 7px;\\n white-space: pre-wrap !important;\\n position: absolute;\\n bottom: -10px;\\n font-family: \\\"Barlow-Bold\\\";\\n align-items: center;\\n color: #f7f6f5;\\n background: #ff6614;\\n font-size: 22px;\\n width: 100%;\\n cursor: pointer;\\n text-transform: uppercase;\\n}\\n\\n.column-for-items {\\n flex: 50%;\\n max-width: 50%;\\n padding: 0 7px;\\n position: relative;\\n margin-bottom: 10px;\\n}\\n\\n.row {\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 4px;\\n}\\n\\n.row-width {\\n width: 100%;\\n}\\n\\n.column-position {\\n position: relative;\\n cursor: pointer;\\n}\\n\\n.slider-margin {\\n margin: 8px;\\n}\\n\\n.slider-div {\\n display: flex;\\n align-items: center;\\n position: relative;\\n width: 100%;\\n /* left: 43%; */\\n margin-left: 17px;\\n}\\n\\n.button-div {\\n margin-bottom: 10px;\\n margin-right: 17px;\\n display: flex;\\n align-items: flex-end;\\n}\\n\\n.slider-col {\\n display: flex;\\n align-items: center;\\n}\\n\\n.quantity-css {\\n position: relative;\\n top: 5px;\\n}\\n\\n.top-image {\\n height: 100%;\\n width: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.radio-button-css {\\n margin-top: 10px !important;\\n}\\n\\n.amont-currency-css {\\n margin-left: 6px;\\n}\\n\\n.column-for-items img {\\n margin-top: 8px;\\n vertical-align: middle;\\n width: 100%;\\n}\\n\\n@media screen and (max-width: 1100px) {\\n .heading-for-new {\\n font-size: 40px;\\n }\\n\\n .special-name-css-for-items {\\n font-size: 35px;\\n }\\n\\n .skip-button {\\n height: 50px;\\n font-size: 25px;\\n }\\n}\\n\\n@media screen and (max-width: 1000px) {\\n .heading-for-new {\\n font-size: 30px;\\n }\\n\\n .special-name-css-for-items {\\n font-size: 28px;\\n }\\n\\n .skip-button {\\n height: 50px;\\n font-size: 25px;\\n }\\n}\\n\\n@media screen and (max-width: 550px) {\\n .heading-for-new {\\n font-size: 25px;\\n }\\n\\n .special-name-css-for-items {\\n font-size: 22px;\\n }\\n\\n .skip-button {\\n height: 35px;\\n font-size: 15px;\\n }\\n}\\n\\n@media screen and (max-width: 415px) {\\n .heading-for-new {\\n font-size: 22px;\\n }\\n\\n .special-name-css-for-items {\\n font-size: 20px;\\n }\\n\\n .column-for-items {\\n flex: 100%;\\n max-width: 100%;\\n }\\n\\n .skip-button {\\n height: 35px;\\n font-size: 15px;\\n }\\n}\\n\\n@media screen and (max-width: 350px) {\\n .heading-for-new {\\n font-size: 20px;\\n }\\n\\n .special-name-css-for-items {\\n font-size: 19px;\\n }\\n\\n .column-for-items {\\n flex: 100%;\\n max-width: 100%;\\n }\\n\\n .skip-button {\\n height: 35px;\\n font-size: 15px;\\n }\\n}\\n\\n@media screen and (max-width: 290px) {\\n .heading-for-new {\\n font-size: 18px;\\n }\\n\\n .special-name-css-for-items {\\n font-size: 17px;\\n }\\n\\n .column-for-items {\\n flex: 100%;\\n max-width: 100%;\\n }\\n\\n .skip-button {\\n height: 30px;\\n }\\n}\\n\\n/* Responsive layout - makes a two column-layout instead of four columns */\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZS9jdXN0b21pc2UvQzpcXFJvaGl0aF9Xb3JrXFxDaXRhZGVsXFxDaXRhZGVsXFx0aG54Z2l2aW5nZnJvbnRlbmRuZXdcXHRoYW5rc2dpdmluZ2Zyb250ZW5kL3NyY1xcYXBwXFxwYWdlXFxjdXN0b21pc2VcXGN1c3RvbWlzZS5wYWdlLnNjc3MiLCJzcmMvYXBwL3BhZ2UvY3VzdG9taXNlL2N1c3RvbWlzZS5wYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxZQUFBO0VBQ0EsZUFBQTtFQUNBLFVBQUE7RUFDQSxlQUFBO0FDQ0o7O0FEQ0E7RUFDSSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0FDRUo7O0FEQUE7RUFDSSxlQUFBO0VBQ0EsY0FBQTtFQUNBLDBCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0FDR0o7O0FEREE7RUFDSSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGFBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLFlBQUE7QUNJSjs7QUREQTtFQUNJLFdBQUE7QUNJSjs7QURGQTtFQUNJLFVBQUE7RUFHQSxZQUFBO0VBQ0EsWUFBQTtBQ0dKOztBRERBO0VBQ0ksZUFBQTtFQUNBLG1CQUFBO0FDSUo7O0FERkE7RUFDSSxVQUFBO0VBR0EsWUFBQTtFQUNBLFlBQUE7QUNHSjs7QUREQTtFQUNJLGtCQUFBO0FDSUo7O0FEREE7RUFDSSwwQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0Esb0JBQUE7RUFDQSwrQkFBQTtFQUNBLDZCQUFBO0VBQ0EsMkJBQUE7QUNJSjs7QURGQTtFQUNJLDRCQUFBO0VBQ0EsK0JBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtBQ0tKOztBREhBO0VBQ0kseUJBQUE7RUFDQSxXQUFBO0VBQ0EsdUJBQUE7QUNNSjs7QURKQTtFQUNJLGFBQUE7RUFDQSxnQkFBQTtBQ09KOztBRExBO0VBQ0ksZUFBQTtBQ1FKOztBRE5BO0VBQ0ksZUFBQTtFQUNBLDhCQUFBO0VBQ0EsY0FBQTtFQUNBLHlCQUFBO0FDU0o7O0FEUEE7RUFDSSwwQkFBQTtFQUNBLDZCQUFBO0FDVUo7O0FEUkE7RUFDSSxzQkFBQTtBQ1dKOztBRFRBO0VBQ0ksc0JBQUE7QUNZSjs7QURWQTtFQUVJLGtCQUFBO0FDWUo7O0FEVkE7RUFDSSxlQUFBO0FDYUo7O0FEWEE7RUFDSSxnQkFBQTtBQ2NKOztBRFpBO0VBRUksWUFBQTtFQUNBLFlBQUE7QUNjSjs7QURUQTtFQUNLLFlBQUE7QUNZTDs7QURYQTtFQUNJLFdBQUE7RUFDQSxrQkFBQTtBQ2NKOztBRFpBO0VBQ0ksV0FBQTtFQUNBLGVBQUE7QUNlSjs7QURaQTtFQUVJLGlCQUFBO0VBQ0EsZ0NBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQUE7RUFDQSwwQkFBQTtFQUNBLG1CQUFBO0VBQ0EsY0FBQTtFQUNBLG1CQUFBO0VBRUEsZUFBQTtFQUVBLFdBQUE7RUFDQSxlQUFBO0VBR0EseUJBQUE7QUNVSjs7QURSQTtFQUNJLFNBQUE7RUFDQSxjQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7QUNXSjs7QURSRTtFQUNFLGFBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtBQ1dKOztBRFRFO0VBQ0UsV0FBQTtBQ1lKOztBRFZBO0VBQ0ksa0JBQUE7RUFDQSxlQUFBO0FDYUo7O0FEWEE7RUFFUSxXQUFBO0FDYVI7O0FEVEE7RUFFSSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7QUNXSjs7QURUQTtFQUNJLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0EscUJBQUE7QUNZSjs7QURUQTtFQUNJLGFBQUE7RUFDQSxtQkFBQTtBQ1lKOztBRFZBO0VBQ0ksa0JBQUE7RUFDQSxRQUFBO0FDYUo7O0FEWEE7RUFDSSxZQUFBO0VBQ0EsV0FBQTtFQUNBLG9CQUFBO0tBQUEsaUJBQUE7QUNjSjs7QURaQTtFQUNJLDJCQUFBO0FDZUo7O0FEYkE7RUFDSSxnQkFBQTtBQ2dCSjs7QUQyQ0U7RUFDRSxlQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0FDeENKOztBRDBDRTtFQUNFO0lBQ0UsZUFBQTtFQ3ZDSjs7RUR5Q0U7SUFDRSxlQUFBO0VDdENKOztFRHdDRTtJQUNJLFlBQUE7SUFDQSxlQUFBO0VDckNOO0FBQ0Y7O0FEd0NBO0VBQ0k7SUFDRSxlQUFBO0VDdENKOztFRHdDRTtJQUNFLGVBQUE7RUNyQ0o7O0VEdUNFO0lBQ0ksWUFBQTtJQUNBLGVBQUE7RUNwQ047QUFDRjs7QURzQ0E7RUFDSTtJQUNFLGVBQUE7RUNwQ0o7O0VEc0NFO0lBQ0UsZUFBQTtFQ25DSjs7RURxQ0U7SUFDSSxZQUFBO0lBQ0EsZUFBQTtFQ2xDTjtBQUNGOztBRG9DRTtFQUNJO0lBQ0UsZUFBQTtFQ2xDTjs7RURvQ0k7SUFDRSxlQUFBO0VDakNOOztFRG1DSTtJQUNFLFVBQUE7SUFDQSxlQUFBO0VDaENOOztFRGtDSTtJQUNFLFlBQUE7SUFDQSxlQUFBO0VDL0JOO0FBQ0Y7O0FEaUNFO0VBQ0U7SUFDRSxlQUFBO0VDL0JKOztFRGlDRTtJQUNFLGVBQUE7RUM5Qko7O0VEZ0NFO0lBQ0ksVUFBQTtJQUNBLGVBQUE7RUM3Qk47O0VEK0JJO0lBQ0UsWUFBQTtJQUNBLGVBQUE7RUM1Qk47QUFDRjs7QUQ4QkE7RUFDSTtJQUNFLGVBQUE7RUM1Qko7O0VEOEJFO0lBQ0UsZUFBQTtFQzNCSjs7RUQ2QkU7SUFDSSxVQUFBO0lBQ0EsZUFBQTtFQzFCTjs7RUQ0Qkk7SUFDSSxZQUFBO0VDekJSO0FBQ0Y7O0FEOEJFLDBFQUFBIiwiZmlsZSI6InNyYy9hcHAvcGFnZS9jdXN0b21pc2UvY3VzdG9taXNlLnBhZ2Uuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi50b29sYmFyLWNzc3tcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIG1hcmdpbi10b3A6IDZweDtcclxuICAgIHdpZHRoOiA5OCU7XHJcbiAgICBtYXJnaW4tbGVmdDogMSU7XHJcbn1cclxuLmNsb3NlLWJ1dHRvbi1jc3N7XHJcbiAgICBmbG9hdDpyaWdodDtcclxuICAgIHBhZGRpbmctdG9wOjNweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4uaGVhZGluZy1mb3ItbmV3e1xyXG4gICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgY29sb3I6ICNmZjY2MTQ7XHJcbiAgICBmb250LWZhbWlseTogJ0Jhcmxvdy1Cb2xkJztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG4ud2FybmluZy1jc3N7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAvKiB3aWR0aDogMTAwJTsgKi9cclxuICAgIGZvbnQtc2l6ZTogbGFyZ2U7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDYycHg7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbn1cclxuXHJcbi5oZWFkZXItY3Nze1xyXG4gICAgd2lkdGg6MTAwJTtcclxufVxyXG4uY3VzdG9taXNhdGlvbi1jc3N7XHJcbiAgICB3aWR0aDogOTklO1xyXG4gICAgLy8gYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgLy8gYm9yZGVyOjFweCBzb2xpZCByZ2IoMTQxLCAxMTAsIDk5KTs7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbn1cclxuLm5vdGUtY3Nze1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxufVxyXG4uY3VzdG9taXNhdGlvbi1jc3N7XHJcbiAgICB3aWR0aDogOTklO1xyXG4gICAgLy8gYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgLy8gYm9yZGVyOjFweCBzb2xpZCByZ2IoMTQxLCAxMTAsIDk5KTs7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbn1cclxuLmN1c3RvbWlzYXRpb24tZGl2e1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uc2tpcC1idXR0b257XHJcbiAgICBmb250LWZhbWlseTogJ0Jhcmxvdy1Cb2xkJztcclxuICAgIHBhZGRpbmctbGVmdDoyMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDdweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIC0tYmFja2dyb3VuZDojZmY2NjE0O1xyXG4gICAgLS1iYWNrZ3JvdW5kLWFjdGl2YXRlZDojZmY2NjE0IDtcclxuICAgIC0tYmFja2dyb3VuZC1mb2N1c2VkOiAjZmY2NjE0O1xyXG4gICAgLS1iYWNrZ3JvdW5kLWhvdmVyOiNmZjY2MTQgO1xyXG59XHJcbi5sYXN0LWJ1dHRvbnN7XHJcbiAgICBmb250LWZhbWlseTogJ0Jhcmxvdy1NZWRpdW0nO1xyXG4gICAgLS1ib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIGhlaWdodDogNDBweDtcclxufVxyXG4uYnV0dG9uLWNzc3tcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYigxNDEsIDExMCwgOTkpOztcclxuICAgIG1hcmdpbjoxcHg7XHJcbiAgICBwYWRkaW5nOjBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5tYWluLWRpdi1jc3N7XHJcbiAgICBwYWRkaW5nOjIwcHg7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG59XHJcbnNlbGVjdHtcclxuICAgIGJhY2tncm91bmQ6cmVkO1xyXG59XHJcbi50aXRsZS1jc3N7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LWZhbWlseTonTW9udHNlcnJhdC1Cb2xkJztcclxuICAgIGNvbG9yOiAjZmY2NjE0O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG4uaHItY3Nze1xyXG4gICAgbWFyZ2luLXRvcDowcHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuaW9uLWNoZWNrYm94e1xyXG4gICAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcclxufVxyXG5pb24tbGFiZWx7XHJcbiAgICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5hbGwtb3B0aW9uc3tcclxuICAgIFxyXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xyXG59XHJcbi5yb3ctb3B0aW9ucy1jc3N7XHJcbiAgICBtYXJnaW4tdG9wOjlweDtcclxufVxyXG4uY3VzdG9taXNhdGlvbi1idXR0b24tY3Nze1xyXG4gICAgbWFyZ2luLXRvcDoxMHB4O1xyXG59XHJcbi5yb3ctZm9yLWN1c3RvbWlzYXRpb257XHJcbiAgICAvLyBib3JkZXI6IDJweCBzb2xpZCByZ2IoMTQxLCAxMTAsIDk5KTs7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbiAgICBoZWlnaHQ6YXV0bztcclxuICAgIC8vIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAvLyBiYWNrZ3JvdW5kOiByZ2IoMjE0IDIxNCAyMTQgLyA3NiUpO1xyXG5cclxufVxyXG4uY2hlY2tib3gtd2l0aC1vcHRpb24tc2VsZWN0ZWRcclxueyAgICBtYXJnaW46IDEwcHh9XHJcbi5pdGVtLW5hbWUtY3Nze1xyXG4gICAgY29sb3I6IGJsdWU7XHJcbiAgICBmb250LXNpemU6IHgtbGFyZ2U7XHJcbn1cclxuLnByaWNlLWNzc3tcclxuICAgIGNvbG9yOmJsdWU7XHJcbiAgICBmb250LXNpemU6MTZweDtcclxufVxyXG5cclxuLnNwZWNpYWwtbmFtZS1jc3MtZm9yLWl0ZW1zXHJcbntcclxuICAgIHBhZGRpbmctbGVmdDogN3B4O1xyXG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IC0xMHB4O1xyXG4gICAgZm9udC1mYW1pbHk6J0Jhcmxvdy1Cb2xkJztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogI2Y3ZjZmNTtcclxuICAgIGJhY2tncm91bmQ6ICNmZjY2MTQ7XHJcbiAgICAvLyBvcGFjaXR5OiAwLjg7XHJcbiAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTsgXHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgIFxyXG4gICAgLy8gd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcbi5jb2x1bW4tZm9yLWl0ZW1ze1xyXG4gICAgZmxleDogNTAlO1xyXG4gICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICBwYWRkaW5nOiAwIDdweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgXHJcbiAgfVxyXG4gIC5yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIHBhZGRpbmc6IDAgNHB4O1xyXG4gIH1cclxuICAucm93LXdpZHRoe1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICB9XHJcbi5jb2x1bW4tcG9zaXRpb257XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbi5zbGlkZXItbWFyZ2lue1xyXG4gIFxyXG4gICAgICAgIG1hcmdpbjogOHB4O1xyXG4gICAgICAgIC8vIGZsb2F0OnJpZ2h0O1xyXG4gICAgICBcclxufVxyXG4uc2xpZGVyLWRpdntcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLyogbGVmdDogNDMlOyAqL1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE3cHg7XHJcbn1cclxuLmJ1dHRvbi1kaXZ7XHJcbiAgICBtYXJnaW4tYm90dG9tOjEwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE3cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG5cclxufVxyXG4uc2xpZGVyLWNvbHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbi5xdWFudGl0eS1jc3N7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDVweDtcclxufVxyXG4udG9wLWltYWdle1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxufVxyXG4ucmFkaW8tYnV0dG9uLWNzc3tcclxuICAgIG1hcmdpbi10b3A6MTBweCFpbXBvcnRhbnQ7XHJcbn1cclxuLmFtb250LWN1cnJlbmN5LWNzc3tcclxuICAgIG1hcmdpbi1sZWZ0OjZweDtcclxufVxyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogNzcwcHgpIHtcclxuLy8gICAgIC8qIENTUyB0aGF0IHNob3VsZCBiZSBkaXNwbGF5ZWQgaWYgd2lkdGggaXMgZXF1YWwgdG8gb3IgbGVzcyB0aGFuIDgwMHB4IGdvZXMgaGVyZSAqL1xyXG4vLyAgICAgLnNwZWNpYWwtbmFtZS1jc3MtZm9yLWl0ZW1zXHJcbi8vIHtcclxuLy8gICAgIHBhZGRpbmctbGVmdDogN3B4O1xyXG4vLyAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XHJcbi8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbi8vICAgICBib3R0b206IC0xMHB4O1xyXG4vLyAgICAgZm9udC1mYW1pbHk6J0Jhcmxvdy1Cb2xkJztcclxuLy8gICAgIC8vIGZvbnQtZmFtaWx5OiAnQmFybG93LU1lZGl1bSc7XHJcbi8vICAgICAvLyBsZWZ0OiA1cHg7XHJcbi8vICAgICAvLyBmb250LWZhbWlseTogJ0Jhcmxvdy1NZWRpdW0nO1xyXG4vLyAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuLy8gICAgIC8vIGNvbG9yOiAjZmY2NjE0O1xyXG4vLyAgICAgY29sb3I6YmxhY2s7XHJcbi8vICAgICAvLyBiYWNrZ3JvdW5kOiAjRkJFRUQ4O1xyXG4vLyAgICAgLy8gb3BhY2l0eTogMC44O1xyXG4vLyAgICAgZm9udC1zaXplOiA4MCU7XHJcbi8vICAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbi8vICAgICB3aWR0aDogMTAwJTsgXHJcbi8vICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgXHJcbi8vICAgICAvLyB3aWR0aDogMTAwJTtcclxuLy8gICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbi8vIH1cclxuLy8gICB9XHJcbi8vICAgQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XHJcbi8vICAgICAvKiBDU1MgdGhhdCBzaG91bGQgYmUgZGlzcGxheWVkIGlmIHdpZHRoIGlzIGVxdWFsIHRvIG9yIGxlc3MgdGhhbiA4MDBweCBnb2VzIGhlcmUgKi9cclxuLy8gICAgIC5zcGVjaWFsLW5hbWUtY3NzLWZvci1pdGVtc1xyXG4vLyB7XHJcbi8vICAgICAvLyBwYWRkaW5nLWxlZnQ6IDdweDtcclxuLy8gICAgIC8vIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50O1xyXG4vLyAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgICAgLy8gYm90dG9tOiAtMTBweDtcclxuLy8gICAgIC8vIGZvbnQtZmFtaWx5OidCYXJsb3ctQm9sZCc7XHJcbi8vICAgICAvLyAvLyBmb250LWZhbWlseTogJ0Jhcmxvdy1NZWRpdW0nO1xyXG4vLyAgICAgLy8gLy8gbGVmdDogNXB4O1xyXG4vLyAgICAgLy8gLy8gZm9udC1mYW1pbHk6ICdCYXJsb3ctTWVkaXVtJztcclxuLy8gICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbi8vICAgICAvLyAvLyBjb2xvcjogI2ZmNjYxNDtcclxuLy8gICAgICBjb2xvcjpncmVlbjtcclxuLy8gICAgIC8vIC8vIGJhY2tncm91bmQ6ICNGQkVFRDg7XHJcbi8vICAgICAvLyAvLyBvcGFjaXR5OiAwLjg7XHJcbi8vICAgICBmb250LXNpemU6IDYwJTtcclxuLy8gICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuLy8gICAgIC8vIHdpZHRoOiAxMDAlOyBcclxuLy8gICAgIC8vIGN1cnNvcjogcG9pbnRlcjtcclxuICBcclxuLy8gICAgIC8vIC8vIHdpZHRoOiAxMDAlO1xyXG4vLyAgICAgLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuLy8gfVxyXG4vLyAgIH1cclxuLy8gLmNvbHVtbiBpbWcge1xyXG4vLyAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4vLyAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuLy8gICAgIHdpZHRoOiAxMDAlO1xyXG4vLyAgIH1cclxuICAuY29sdW1uLWZvci1pdGVtcyBpbWcge1xyXG4gICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcclxuICAgIC5oZWFkaW5nLWZvci1uZXd7XHJcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgIH1cclxuICAgIC5zcGVjaWFsLW5hbWUtY3NzLWZvci1pdGVtc3tcclxuICAgICAgZm9udC1zaXplOiAzNXB4O1xyXG4gICAgfVxyXG4gICAgLnNraXAtYnV0dG9ue1xyXG4gICAgICAgIGhlaWdodDo1MHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgIH1cclxuXHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XHJcbiAgICAuaGVhZGluZy1mb3ItbmV3e1xyXG4gICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICB9XHJcbiAgICAuc3BlY2lhbC1uYW1lLWNzcy1mb3ItaXRlbXN7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIH1cclxuICAgIC5za2lwLWJ1dHRvbntcclxuICAgICAgICBoZWlnaHQ6NTBweDtcclxuICAgICAgICBmb250LXNpemU6IDI1cHg7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIHtcclxuICAgIC5oZWFkaW5nLWZvci1uZXd7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgIH1cclxuICAgIC5zcGVjaWFsLW5hbWUtY3NzLWZvci1pdGVtc3tcclxuICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgfVxyXG4gICAgLnNraXAtYnV0dG9ue1xyXG4gICAgICAgIGhlaWdodDozNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIH1cclxufVxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNXB4KSB7XHJcbiAgICAgIC5oZWFkaW5nLWZvci1uZXd7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICB9XHJcbiAgICAgIC5zcGVjaWFsLW5hbWUtY3NzLWZvci1pdGVtc3tcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIH1cclxuICAgICAgLmNvbHVtbi1mb3ItaXRlbXN7XHJcbiAgICAgICAgZmxleDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgICAgLnNraXAtYnV0dG9ue1xyXG4gICAgICAgIGhlaWdodDozNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIH1cclxuICB9XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzUwcHgpIHtcclxuICAgIC5oZWFkaW5nLWZvci1uZXd7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIH1cclxuICAgIC5zcGVjaWFsLW5hbWUtY3NzLWZvci1pdGVtc3tcclxuICAgICAgZm9udC1zaXplOiAxOXB4O1xyXG4gICAgfVxyXG4gICAgLmNvbHVtbi1mb3ItaXRlbXN7XHJcbiAgICAgICAgZmxleDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgICAgLnNraXAtYnV0dG9ue1xyXG4gICAgICAgIGhlaWdodDozNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIH1cclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOTBweCkge1xyXG4gICAgLmhlYWRpbmctZm9yLW5ld3tcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgfVxyXG4gICAgLnNwZWNpYWwtbmFtZS1jc3MtZm9yLWl0ZW1ze1xyXG4gICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICB9XHJcbiAgICAuY29sdW1uLWZvci1pdGVtc3tcclxuICAgICAgICBmbGV4OiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgICAuc2tpcC1idXR0b257XHJcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgIH1cclxufVxyXG4gXHJcblxyXG4gIFxyXG4gIC8qIFJlc3BvbnNpdmUgbGF5b3V0IC0gbWFrZXMgYSB0d28gY29sdW1uLWxheW91dCBpbnN0ZWFkIG9mIGZvdXIgY29sdW1ucyAqL1xyXG4vLyAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XHJcbi8vICAgICAuY29sdW1uIHtcclxuLy8gICAgICAgZmxleDogNTAlO1xyXG4vLyAgICAgICBtYXgtd2lkdGg6IDUwJTtcclxuLy8gICAgIH1cclxuLy8gICB9XHJcbiAgXHJcbi8vICAgLyogUmVzcG9uc2l2ZSBsYXlvdXQgLSBtYWtlcyB0aGUgdHdvIGNvbHVtbnMgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIgaW5zdGVhZCBvZiBuZXh0IHRvIGVhY2ggb3RoZXIgKi9cclxuLy8gICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xyXG4vLyAgICAgLmNvbHVtbiB7XHJcbi8vICAgICAgIGZsZXg6IDEwMCU7XHJcbi8vICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuLy8gICAgIH1cclxuLy8gICB9IiwiLnRvb2xiYXItY3NzIHtcbiAgaGVpZ2h0OiAyNXB4O1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIHdpZHRoOiA5OCU7XG4gIG1hcmdpbi1sZWZ0OiAxJTtcbn1cblxuLmNsb3NlLWJ1dHRvbi1jc3Mge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctdG9wOiAzcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmhlYWRpbmctZm9yLW5ldyB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgY29sb3I6ICNmZjY2MTQ7XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvdy1Cb2xkXCI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ud2FybmluZy1jc3Mge1xuICBjb2xvcjogYmxhY2s7XG4gIC8qIHdpZHRoOiAxMDAlOyAqL1xuICBmb250LXNpemU6IGxhcmdlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG4gIHBhZGRpbmctbGVmdDogMTNweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDYycHg7XG4gIG1hcmdpbjogMTBweDtcbn1cblxuLmhlYWRlci1jc3Mge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmN1c3RvbWlzYXRpb24tY3NzIHtcbiAgd2lkdGg6IDk5JTtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi5ub3RlLWNzcyB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLmN1c3RvbWlzYXRpb24tY3NzIHtcbiAgd2lkdGg6IDk5JTtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi5jdXN0b21pc2F0aW9uLWRpdiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNraXAtYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LUJvbGRcIjtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC0tYmFja2dyb3VuZDojZmY2NjE0O1xuICAtLWJhY2tncm91bmQtYWN0aXZhdGVkOiNmZjY2MTQgO1xuICAtLWJhY2tncm91bmQtZm9jdXNlZDogI2ZmNjYxNDtcbiAgLS1iYWNrZ3JvdW5kLWhvdmVyOiNmZjY2MTQgO1xufVxuXG4ubGFzdC1idXR0b25zIHtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LU1lZGl1bVwiO1xuICAtLWJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogNDBweDtcbn1cblxuLmJ1dHRvbi1jc3Mge1xuICBib3JkZXI6IDJweCBzb2xpZCAjOGQ2ZTYzO1xuICBtYXJnaW46IDFweDtcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYWluLWRpdi1jc3Mge1xuICBwYWRkaW5nOiAyMHB4O1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuXG5zZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiByZWQ7XG59XG5cbi50aXRsZS1jc3Mge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXQtQm9sZFwiO1xuICBjb2xvcjogI2ZmNjYxNDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmhyLWNzcyB7XG4gIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbn1cblxuaW9uLWNoZWNrYm94IHtcbiAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcbn1cblxuaW9uLWxhYmVsIHtcbiAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcbn1cblxuLmFsbC1vcHRpb25zIHtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xufVxuXG4ucm93LW9wdGlvbnMtY3NzIHtcbiAgbWFyZ2luLXRvcDogOXB4O1xufVxuXG4uY3VzdG9taXNhdGlvbi1idXR0b24tY3NzIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnJvdy1mb3ItY3VzdG9taXNhdGlvbiB7XG4gIG1hcmdpbjogMTBweDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uY2hlY2tib3gtd2l0aC1vcHRpb24tc2VsZWN0ZWQge1xuICBtYXJnaW46IDEwcHg7XG59XG5cbi5pdGVtLW5hbWUtY3NzIHtcbiAgY29sb3I6IGJsdWU7XG4gIGZvbnQtc2l6ZTogeC1sYXJnZTtcbn1cblxuLnByaWNlLWNzcyB7XG4gIGNvbG9yOiBibHVlO1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5zcGVjaWFsLW5hbWUtY3NzLWZvci1pdGVtcyB7XG4gIHBhZGRpbmctbGVmdDogN3B4O1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xMHB4O1xuICBmb250LWZhbWlseTogXCJCYXJsb3ctQm9sZFwiO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogI2Y3ZjZmNTtcbiAgYmFja2dyb3VuZDogI2ZmNjYxNDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uY29sdW1uLWZvci1pdGVtcyB7XG4gIGZsZXg6IDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7XG4gIHBhZGRpbmc6IDAgN3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDAgNHB4O1xufVxuXG4ucm93LXdpZHRoIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb2x1bW4tcG9zaXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnNsaWRlci1tYXJnaW4ge1xuICBtYXJnaW46IDhweDtcbn1cblxuLnNsaWRlci1kaXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBsZWZ0OiA0MyU7ICovXG4gIG1hcmdpbi1sZWZ0OiAxN3B4O1xufVxuXG4uYnV0dG9uLWRpdiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMTdweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uc2xpZGVyLWNvbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5xdWFudGl0eS1jc3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNXB4O1xufVxuXG4udG9wLWltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5yYWRpby1idXR0b24tY3NzIHtcbiAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xufVxuXG4uYW1vbnQtY3VycmVuY3ktY3NzIHtcbiAgbWFyZ2luLWxlZnQ6IDZweDtcbn1cblxuLmNvbHVtbi1mb3ItaXRlbXMgaW1nIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gIC5oZWFkaW5nLWZvci1uZXcge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgfVxuXG4gIC5zcGVjaWFsLW5hbWUtY3NzLWZvci1pdGVtcyB7XG4gICAgZm9udC1zaXplOiAzNXB4O1xuICB9XG5cbiAgLnNraXAtYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgLmhlYWRpbmctZm9yLW5ldyB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICB9XG5cbiAgLnNwZWNpYWwtbmFtZS1jc3MtZm9yLWl0ZW1zIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gIH1cblxuICAuc2tpcC1idXR0b24ge1xuICAgIGhlaWdodDogNTBweDtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1MHB4KSB7XG4gIC5oZWFkaW5nLWZvci1uZXcge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgfVxuXG4gIC5zcGVjaWFsLW5hbWUtY3NzLWZvci1pdGVtcyB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICB9XG5cbiAgLnNraXAtYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTVweCkge1xuICAuaGVhZGluZy1mb3ItbmV3IHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gIH1cblxuICAuc3BlY2lhbC1uYW1lLWNzcy1mb3ItaXRlbXMge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxuXG4gIC5jb2x1bW4tZm9yLWl0ZW1zIHtcbiAgICBmbGV4OiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5za2lwLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzUwcHgpIHtcbiAgLmhlYWRpbmctZm9yLW5ldyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG5cbiAgLnNwZWNpYWwtbmFtZS1jc3MtZm9yLWl0ZW1zIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cblxuICAuY29sdW1uLWZvci1pdGVtcyB7XG4gICAgZmxleDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuc2tpcC1idXR0b24ge1xuICAgIGhlaWdodDogMzVweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5MHB4KSB7XG4gIC5oZWFkaW5nLWZvci1uZXcge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuXG4gIC5zcGVjaWFsLW5hbWUtY3NzLWZvci1pdGVtcyB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICB9XG5cbiAgLmNvbHVtbi1mb3ItaXRlbXMge1xuICAgIGZsZXg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnNraXAtYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gIH1cbn1cbi8qIFJlc3BvbnNpdmUgbGF5b3V0IC0gbWFrZXMgYSB0d28gY29sdW1uLWxheW91dCBpbnN0ZWFkIG9mIGZvdXIgY29sdW1ucyAqLyJdfQ== */\";","import { Component, OnInit, Input, ViewChild } from \"@angular/core\";\r\nimport {\r\n FormControl,\r\n FormBuilder,\r\n Validators,\r\n FormGroup,\r\n FormArray,\r\n} from \"@angular/forms\";\r\nimport { ModalController, AlertController, IonContent, NavController } from \"@ionic/angular\";\r\nimport { ConfigService } from \"src/app/service/config.service\";\r\nimport { RegistrationFormComponent } from \"src/app/component/registration-form/registration-form.component\";\r\nimport { ResturantApiService } from \"src/app/service/resturant-api.service\";\r\nimport { SubjectCollectionService } from \"src/app/service/subject-collection.service\";\r\nimport { async } from \"@angular/core/testing\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { UtilityService } from \"src/app/service/utility.service\";\r\nimport { MatListOption, MatSelectionList } from \"@angular/material/list\";\r\nimport { NavigationExtras, Router } from \"@angular/router\";\r\nimport { MatSidenav } from \"@angular/material/sidenav\";\r\n\r\n@Component({\r\n selector: \"app-customise\",\r\n templateUrl: \"./customise.page.html\",\r\n styleUrls: [\"./customise.page.scss\"],\r\n})\r\nexport class CustomisePage implements OnInit {\r\n // tslint:disable-next-line: variable-name\r\n @Input() item_selected: any;\r\n @Input() edited_values?: any;\r\n @Input() complete_menu: any;\r\n public show_order_total: any;\r\n public all_categories_available: any;\r\n public title: any;\r\n public image_src: any;\r\n @ViewChild(\"drawer\", { static: false }) drawerMenu: MatSidenav;\r\n @ViewChild(MatSelectionList) selectionList: MatSelectionList;\r\n public last_button: any;\r\n @Input() all_categories: any = [];\r\n @Input() menu_items: any = [];\r\n @Input() index?: any;\r\n public new_slider: any = 3;\r\n public loader_present:any;\r\n public image_url_for_smaller: any;\r\n public image_url_for_larger: any;\r\n public incomingSelectedAlert: any;\r\n public customise_option_variation: any = [];\r\n public warning_message: any;\r\n public isLoading:any;\r\n public is_loaded:any;\r\n @Input() current_resturant?: any;\r\n public collect_values: any = [];\r\n public money: any;\r\n public calculate_warning: any;\r\n public currency: any;\r\n public option_selcted: any;\r\n public variations_data: any = [];\r\n public option_value: any;\r\n public item_selected_out_of_category: any;\r\n public collect_customisation_ids: any = [];\r\n public again_test_customisation: any = [];\r\n public py: any = [];\r\n public addToCartButton: boolean = false;\r\n public skip: boolean = false;\r\n @ViewChild(IonContent) content: IonContent;\r\n public get_consumisation_from_api: any = [];\r\n public variation_id: any;\r\n public check_box_options_selected: any = [];\r\n public selected_values_obtained: any = [];\r\n public selected_complete_customisation: any = [];\r\n // tslint:disable-next-line: variable-name\r\n // tslint:disable-next-line: variable-name\r\n public customisation_options: any = [];\r\n // tslint:disable-next-line: variable-name\r\n public other_options: any = [];\r\n public availableColors: any = [];\r\n // tslint:disable-next-line: variable-name\r\n public slider_value: any;\r\n public todo: FormGroup;\r\n\r\n public customisation_options_selection: any;\r\n public skills = new FormArray([]);\r\n public user: any = new FormGroup({\r\n skills: new FormArray([]),\r\n });\r\n public customisation_options_of_selected: any = [];\r\n\r\n public questions: any = [];\r\n public angForm = new FormGroup({\r\n names1: new FormArray([new FormControl(\"\", Validators.required)]),\r\n });\r\n get names1(): FormArray {\r\n return this.angForm.get(\"names1\") as FormArray;\r\n }\r\n // public updateForm:FormGroup;\r\n // public value:any=[];\r\n // toppings = new FormControl();\r\n\r\n // toppingList: any = [];\r\n public selected: any;\r\n get names(): FormArray {\r\n return this.user.get(\"skills\") as FormArray;\r\n }\r\n selectVariation(ev) {\r\n const vm = this;\r\n for (let i = 0; i < this.variations_data.length; i++) {\r\n if (vm.variations_data[i].name == ev.value) {\r\n vm.money = vm.variations_data[i].amount;\r\n vm.currency = vm.variations_data[i].currency;\r\n vm.variation_id = vm.variations_data[i].id;\r\n }\r\n }\r\n }\r\n ngOnChanges() {}\r\n onFormSubmit1(): void {\r\n for (let i = 0; i < this.names1.length; i++) {\r\n }\r\n }\r\n addNameField() {\r\n this.names1.push(new FormControl(\"\", Validators.required));\r\n }\r\n\r\n deleteNameField(index: number) {\r\n if (this.names1.length !== 1) {\r\n this.names1.removeAt(index);\r\n }\r\n }\r\n constructor(\r\n public modal_controller: ModalController,\r\n private formBuilder: FormBuilder,\r\n public config: ConfigService,\r\n public alertController: AlertController,\r\n public resturant_service: ResturantApiService,\r\n public subject_service: SubjectCollectionService,\r\n public _snackBar: MatSnackBar,\r\n public util: UtilityService,\r\n public navCtrl: NavController,\r\n public router: Router,\r\n \r\n ) {\r\n var vm=this;\r\n this.isLoading=false;\r\n this.is_loaded=false;\r\n vm.navCtrl.setDirection('forward');\r\n this.item_selected_out_of_category = false;\r\n this.todo = this.formBuilder.group({\r\n title: [\"\", Validators.required],\r\n description_1: [\"\"],\r\n description_2: [\"\"],\r\n description_3: [\"\"],\r\n });\r\n const val = {};\r\n this.questions.map((e) => (val[e.key] = e.value));\r\n this.collect_values[0] = { quantity: this.slider_value };\r\n this.collect_values[1] = { title: \"main_customisation\", ...val };\r\n }\r\n addCheck(){\r\n var vm=this;\r\n let ids: any = [];\r\n for (let y = 0; y < this.collect_customisation_ids.length; y++) {\r\n this.collect_customisation_ids[y].map((e, index) => {\r\n if (e != null && e != \"\" && e != undefined && e) {\r\n var b = vm.customise_option_variation.findIndex((f) => {\r\n return f.id_value == e;\r\n });\r\n if (b > -1) {\r\n ids.push({\r\n ItemCustomizationOptionId: e,\r\n CustomizationOptionPrice:\r\n vm.customise_option_variation[b].variation[1],\r\n CustomizationOptionVariationName:\r\n vm.customise_option_variation[b].variation[0],\r\n });\r\n } else {\r\n ids.push({\r\n ItemCustomizationOptionId: e,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n this.modal_controller.dismiss({customisaion_collected:[...ids],cancel:'no'})\r\n \r\n }\r\n\r\n async addWithoutUser() {\r\n debugger\r\n let vm = this;\r\n await vm.collectnewData();\r\n await vm.util.presentLoading();\r\n if (this.variation_id) {\r\n var tax: any = [];\r\n var tax_id: any = [];\r\n if (vm.item_selected.other_info.itemTax.length > 0) {\r\n tax = [];\r\n tax_id = [];\r\n for (var i = 0; i < vm.item_selected.other_info.itemTax.length; i++) {\r\n tax.push({\r\n OrderDetailTaxId: vm.item_selected.other_info.itemTax[i].id,\r\n });\r\n tax_id.push({ TaxId: vm.item_selected.other_info.itemTax[i].id });\r\n }\r\n } else {\r\n tax = \"\";\r\n tax_id: \"\";\r\n }\r\n let order_id = localStorage.getItem(\"order_id\");\r\n\r\n this.subject_service.getWaitingForCart(true);\r\n this.subject_service.getWaitingForSubtotal(true);\r\n if (this.current_resturant) {\r\n if (localStorage.getItem(\"current_resturant\")) {\r\n\r\n if (\r\n \r\n this.current_resturant == localStorage.getItem(\"current_resturant\")\r\n ) {\r\n let ids: any = [];\r\n for (let y = 0; y < this.collect_customisation_ids.length; y++) {\r\n this.collect_customisation_ids[y].map((e, index) => {\r\n if (e != null && e != \"\" && e != undefined && e) {\r\n var b = vm.customise_option_variation.findIndex((f) => {\r\n return f.id_value == e;\r\n });\r\n if (b > -1) {\r\n ids.push({\r\n ItemCustomizationOptionId: e,\r\n CustomizationOptionPrice:\r\n vm.customise_option_variation[b].variation[1],\r\n CustomizationOptionVariationName:\r\n vm.customise_option_variation[b].variation[0],\r\n });\r\n } else {\r\n ids.push({\r\n ItemCustomizationOptionId: e,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n let item_add_to_cart: any;\r\n if (this.current_resturant) {\r\n item_add_to_cart = {\r\n OrderId: order_id ? order_id : \"\",\r\n LocationId: this.current_resturant,\r\n OrderDetails: [\r\n {\r\n VariationId: this.variation_id,\r\n Quantity: JSON.stringify(this.slider_value),\r\n OrderDetailTaxes: [...tax],\r\n OrderDetailCustomizations: [...ids],\r\n },\r\n ],\r\n Taxes: [...tax_id],\r\n };\r\n var p = await vm.clean(item_add_to_cart);\r\n p.OrderDetails = p.OrderDetails.map((e) => {\r\n return vm.clean(e);\r\n });\r\n if (p.Taxes) {\r\n p.Taxes.TaxId = await vm.removeByAttr(p.Taxes, \"TaxId\", \"\");\r\n }\r\n this.resturant_service.createOrderWithoutUserInfo(p).subscribe(\r\n (data: any) => {\r\n vm.util.dismissLoader();\r\n vm.afterGettingResponseFromOrderApiWithoutUser(data);\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm._snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n } else {\r\n await vm.util.presentLoading();\r\n vm.presentAlertLocation();\r\n }\r\n this.collect_values[0] = {\r\n quantity: this.slider_value,\r\n currency: this.currency,\r\n price: this.money,\r\n vegetarian: this.item_selected.vegetarian,\r\n image_title: this.item_selected.image_title,\r\n name: this.item_selected.name,\r\n image: this.item_selected.image,\r\n description: this.item_selected.description,\r\n };\r\n this.modal_controller.dismiss({\r\n collect_values: this.collect_values,\r\n index: this.index,\r\n });\r\n } else {\r\n if (localStorage.getItem(\"cart_response\")) {\r\n let get_local_storage_items = JSON.parse(\r\n localStorage.getItem(\"cart_response\")\r\n );\r\n let item_id: any = [];\r\n get_local_storage_items.map((e) => {\r\n let val = \"line_items[\" + e.uid + \"]\";\r\n item_id.push(val);\r\n });\r\n let data = {\r\n OrderId: order_id,\r\n LocationId: localStorage.getItem(\"current_resturant\"),\r\n FieldsToClear: [...item_id],\r\n };\r\n vm.resturant_service.createOrderWithoutUserInfo(data).subscribe(\r\n async (data) => {\r\n if (vm.item_selected.other_info.itemTax.length > 0) {\r\n tax = [];\r\n tax_id = [];\r\n for (\r\n var i = 0;\r\n i < vm.item_selected.other_info.itemTax.length;\r\n i++\r\n ) {\r\n tax.push({\r\n OrderDetailTaxId:\r\n vm.item_selected.other_info.itemTax[i].id,\r\n });\r\n tax_id.push({\r\n TaxId: vm.item_selected.other_info.itemTax[i].id,\r\n });\r\n }\r\n } else {\r\n tax = \"\";\r\n tax_id: \"\";\r\n }\r\n await vm.afterGettingResponseFromOrderApiWithoutUser(data);\r\n localStorage.setItem(\r\n \"current_resturant\",\r\n this.current_resturant\r\n );\r\n localStorage.setItem(\r\n \"selected_resturant_data\",\r\n localStorage.getItem(\"current_resturant_data\")\r\n );\r\n localStorage.setItem(\r\n \"selected_resturant_timings\",\r\n localStorage.getItem(\"current_resturant_timings\")\r\n );\r\n localStorage.setItem(\r\n \"deliver_charges\",\r\n JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"deliveryFee\"\r\n ] != null\r\n ? JSON.parse(\r\n localStorage.getItem(\"selected_resturant_data\")\r\n )[\"deliveryFee\"]\r\n : 0\r\n );\r\n\r\n localStorage.removeItem(\"order_id\");\r\n if (localStorage.getItem(\"fulfilment\")) {\r\n localStorage.removeItem(\"fulfilment\");\r\n vm.subject_service.getFulfilment(false);\r\n }\r\n order_id = localStorage.getItem(\"order_id\");\r\n vm.current_resturant = localStorage.getItem(\r\n \"current_resturant\"\r\n );\r\n let ids: any = [];\r\n for (\r\n let y = 0;\r\n y < this.collect_customisation_ids.length;\r\n y++\r\n ) {\r\n this.collect_customisation_ids[y].map((e, index) => {\r\n if (e != null && e != \"\" && e != undefined && e) {\r\n var b = vm.customise_option_variation.findIndex((f) => {\r\n return f.id_value == e;\r\n });\r\n if (b > -1) {\r\n ids.push({\r\n ItemCustomizationOptionId: e,\r\n CustomizationOptionPrice:\r\n vm.customise_option_variation[b].variation[1],\r\n CustomizationOptionVariationName:\r\n vm.customise_option_variation[b].variation[0],\r\n });\r\n } else {\r\n ids.push({\r\n ItemCustomizationOptionId: e,\r\n });\r\n }\r\n \r\n }\r\n });\r\n }\r\n let item_add_to_cart: any;\r\n\r\n if (this.current_resturant) {\r\n item_add_to_cart = {\r\n OrderId: order_id,\r\n LocationId: this.current_resturant,\r\n OrderDetails: [\r\n {\r\n VariationId: this.variation_id,\r\n Quantity: JSON.stringify(this.slider_value),\r\n OrderDetailTaxes: [...tax],\r\n OrderDetailCustomizations: [...ids],\r\n },\r\n ],\r\n Taxes: [...tax_id],\r\n };\r\n var p = await vm.clean(item_add_to_cart);\r\n p.OrderDetails = p.OrderDetails.map((e) => {\r\n return vm.clean(e);\r\n });\r\n if (p.Taxes) {\r\n p.Taxes.TaxId = await vm.removeByAttr(\r\n p.Taxes,\r\n \"TaxId\",\r\n \"\"\r\n );\r\n }\r\n this.resturant_service\r\n .createOrderWithoutUserInfo(p)\r\n .subscribe(\r\n (data: any) => {\r\n vm.util.dismissLoader();\r\n vm.afterGettingResponseFromOrderApiWithoutUser(data);\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm._snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n } else {\r\n vm.presentAlertLocation();\r\n }\r\n\r\n this.collect_values[0] = {\r\n quantity: this.slider_value,\r\n currency: this.currency,\r\n price: this.money,\r\n vegetarian: this.item_selected.vegetarian,\r\n image_title: this.item_selected.image_title,\r\n name: this.item_selected.name,\r\n image: this.item_selected.image,\r\n description: this.item_selected.description,\r\n };\r\n this.modal_controller.dismiss({\r\n collect_values: this.collect_values,\r\n index: this.index,\r\n });\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm._snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n } else {\r\n localStorage.setItem(\"current_resturant\", this.current_resturant);\r\n localStorage.setItem(\r\n \"selected_resturant_data\",\r\n localStorage.getItem(\"current_resturant_data\")\r\n );\r\n localStorage.setItem(\r\n \"selected_resturant_timings\",\r\n localStorage.getItem(\"current_resturant_timings\")\r\n );\r\n\r\n localStorage.setItem(\r\n \"deliver_charges\",\r\n JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"deliveryFee\"\r\n ] != null\r\n ? JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"deliveryFee\"\r\n ]\r\n : 0\r\n );\r\n let ids: any = [];\r\n for (let y = 0; y < this.collect_customisation_ids.length; y++) {\r\n this.collect_customisation_ids[y].map((e, index) => {\r\n if (e != null && e != \"\" && e != undefined && e) {\r\n var b = vm.customise_option_variation.findIndex((f) => {\r\n return f.id_value == e;\r\n });\r\n if (b > -1) {\r\n ids.push({\r\n ItemCustomizationOptionId: e,\r\n CustomizationOptionPrice:\r\n vm.customise_option_variation[b].variation[1],\r\n CustomizationOptionVariationName:\r\n vm.customise_option_variation[b].variation[0],\r\n });\r\n } else {\r\n ids.push({\r\n ItemCustomizationOptionId: e,\r\n });\r\n }\r\n \r\n }\r\n });\r\n }\r\n let item_add_to_cart: any;\r\n if (this.current_resturant) {\r\n var tax: any = [];\r\n var tax_id: any = [];\r\n if (vm.item_selected.other_info.itemTax.length > 0) {\r\n for (\r\n var i = 0;\r\n i < vm.item_selected.other_info.itemTax.length;\r\n i++\r\n ) {\r\n tax.push({\r\n OrderDetailTaxId:\r\n vm.item_selected.other_info.itemTax[i].id,\r\n });\r\n tax_id.push({\r\n TaxId: vm.item_selected.other_info.itemTax[i].id,\r\n });\r\n }\r\n } else {\r\n tax = \"\";\r\n tax_id = \"\";\r\n }\r\n item_add_to_cart = {\r\n OrderId: order_id ? order_id : \"\",\r\n LocationId: this.current_resturant,\r\n OrderDetails: [\r\n {\r\n VariationId: this.variation_id,\r\n Quantity: JSON.stringify(this.slider_value),\r\n OrderDetailTaxes: tax,\r\n OrderDetailCustomizations: [...ids],\r\n },\r\n ],\r\n Taxes: tax_id,\r\n };\r\n var p = await vm.clean(item_add_to_cart);\r\n p.OrderDetails = p.OrderDetails.map((e) => {\r\n return vm.clean(e);\r\n });\r\n if (p.Taxes) {\r\n p.Taxes.TaxId = await vm.removeByAttr(p.Taxes, \"TaxId\", \"\");\r\n }\r\n this.resturant_service.createOrderWithoutUserInfo(p).subscribe(\r\n (data: any) => {\r\n vm.util.dismissLoader();\r\n vm.afterGettingResponseFromOrderApiWithoutUser(data);\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm._snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n } else {\r\n this.presentAlertLocation();\r\n vm.util.dismissLoader();\r\n }\r\n\r\n this.collect_values[0] = {\r\n quantity: this.slider_value,\r\n currency: this.currency,\r\n price: this.money,\r\n vegetarian: this.item_selected.vegetarian,\r\n image_title: this.item_selected.image_title,\r\n name: this.item_selected.name,\r\n image: this.item_selected.image,\r\n description: this.item_selected.description,\r\n };\r\n this.modal_controller.dismiss({\r\n collect_values: this.collect_values,\r\n index: this.index,\r\n });\r\n }\r\n }\r\n } else {\r\n localStorage.setItem(\"current_resturant\", this.current_resturant);\r\n localStorage.setItem(\r\n \"selected_resturant_data\",\r\n localStorage.getItem(\"current_resturant_data\")\r\n );\r\n localStorage.setItem(\r\n \"selected_resturant_timings\",\r\n localStorage.getItem(\"current_resturant_timings\")\r\n );\r\n\r\n localStorage.setItem(\r\n \"deliver_charges\",\r\n JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"deliveryFee\"\r\n ] != null\r\n ? JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"deliveryFee\"\r\n ]\r\n : 0\r\n );\r\n let ids: any = [];\r\n for (let y = 0; y < this.collect_customisation_ids.length; y++) {\r\n this.collect_customisation_ids[y].map((e, index) => {\r\n if (e != null && e != \"\" && e != undefined && e) {\r\n var b = vm.customise_option_variation.findIndex((f) => {\r\n return f.id_value == e;\r\n });\r\n if (b > -1) {\r\n ids.push({\r\n ItemCustomizationOptionId: e,\r\n CustomizationOptionPrice:\r\n vm.customise_option_variation[b].variation[1],\r\n CustomizationOptionVariationName:\r\n vm.customise_option_variation[b].variation[0],\r\n });\r\n } else {\r\n ids.push({\r\n ItemCustomizationOptionId: e,\r\n });\r\n }\r\n \r\n }\r\n });\r\n }\r\n let item_add_to_cart: any;\r\n if (this.current_resturant) {\r\n if (vm.item_selected.other_info.itemTax.length > 0) {\r\n var tax: any = [];\r\n var tax_id: any = [];\r\n for (\r\n var i = 0;\r\n i < vm.item_selected.other_info.itemTax.length;\r\n i++\r\n ) {\r\n tax.push({\r\n OrderDetailTaxId: vm.item_selected.other_info.itemTax[i].id,\r\n });\r\n tax_id.push({\r\n TaxId: vm.item_selected.other_info.itemTax[i].id,\r\n });\r\n }\r\n } else {\r\n tax = \"\";\r\n tax_id = \"\";\r\n }\r\n item_add_to_cart = {\r\n OrderId: order_id ? order_id : \"\",\r\n LocationId: this.current_resturant,\r\n OrderDetails: [\r\n {\r\n VariationId: this.variation_id,\r\n Quantity: JSON.stringify(this.slider_value),\r\n OrderDetailTaxes: tax,\r\n OrderDetailCustomizations: [...ids],\r\n },\r\n ],\r\n Taxes: tax_id,\r\n };\r\n var p = await vm.clean(item_add_to_cart);\r\n p.OrderDetails = p.OrderDetails.map((e) => {\r\n return vm.clean(e);\r\n });\r\n if (p.Taxes) {\r\n p.Taxes.TaxId = await vm.removeByAttr(p.Taxes, \"TaxId\", \"\");\r\n }\r\n this.resturant_service.createOrderWithoutUserInfo(p).subscribe(\r\n (data: any) => {\r\n vm.util.dismissLoader();\r\n vm.afterGettingResponseFromOrderApiWithoutUser(data);\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm._snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n } else {\r\n this.presentAlertLocation();\r\n vm.util.dismissLoader();\r\n }\r\n\r\n this.collect_values[0] = {\r\n quantity: this.slider_value,\r\n currency: this.currency,\r\n price: this.money,\r\n vegetarian: this.item_selected.vegetarian,\r\n image_title: this.item_selected.image_title,\r\n name: this.item_selected.name,\r\n image: this.item_selected.image,\r\n description: this.item_selected.description,\r\n };\r\n this.modal_controller.dismiss({\r\n collect_values: this.collect_values,\r\n index: this.index,\r\n });\r\n }\r\n } else {\r\n this._snackBar.open(\r\n \"Without Resturant name item cannot be added to cart\",\r\n \"Done\",\r\n {\r\n duration: 2000,\r\n }\r\n );\r\n vm.util.dismissLoader();\r\n this.modal_controller.dismiss();\r\n }\r\n } else {\r\n this._snackBar.open(\r\n \"Items without variation cannot be added to cart\",\r\n \"Done\",\r\n {\r\n duration: 2000,\r\n }\r\n );\r\n this.modal_controller.dismiss();\r\n vm.util.dismissLoader();\r\n }\r\n // }\r\n }\r\n async loginOrRegistrationButtonClicked(form_name) {\r\n const modal = await this.modal_controller.create({\r\n component: RegistrationFormComponent,\r\n cssClass: \"my-modal\",\r\n componentProps: {\r\n form_name,\r\n },\r\n });\r\n return await modal.present();\r\n }\r\n async presentAlertLocation() {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"CheckOut failed\",\r\n\r\n message: \"You have to select some location\",\r\n buttons: [\r\n \"OK\",\r\n {\r\n text: \"Login\",\r\n role: \"cancel\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => {\r\n this.loginOrRegistrationButtonClicked(\"login\");\r\n },\r\n },\r\n ],\r\n });\r\n await alert.present();\r\n }\r\n async presentAlert() {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"Checkout failed\",\r\n message: \"You have to login prior to adding items to cart\",\r\n buttons: [\r\n \"OK\",\r\n {\r\n text: \"Login\",\r\n role: \"cancel\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => {\r\n this.loginOrRegistrationButtonClicked(\"login\");\r\n },\r\n },\r\n ],\r\n });\r\n await alert.present();\r\n }\r\n onFormSubmit(): void {\r\n for (let i = 0; i < this.skills.length; i++) {\r\n }\r\n }\r\n createItem(): FormGroup {\r\n return this.formBuilder.group({\r\n name: \"\",\r\n description: \"\",\r\n price: \"\",\r\n });\r\n }\r\n userForm() {\r\n }\r\n addSkill() {\r\n this.skills.push(\r\n new FormGroup({\r\n value: new FormControl(\"\"),\r\n })\r\n );\r\n }\r\n logForm() {\r\n\r\n }\r\n getKeyByValue(object) {\r\n let object_keys: any = [];\r\n for (let prop in object) {\r\n if (object.hasOwnProperty(prop)) {\r\n if (object[prop] == \"true\" || object[prop] == true) {\r\n object_keys.push(prop);\r\n }\r\n }\r\n }\r\n return object_keys;\r\n }\r\n gotVariationName(ev, index, item) {\r\n var t: any;\r\n if (this.customise_option_variation.length > 0) {\r\n for (var i = 0; i < this.customise_option_variation.length; i++) {\r\n if (this.customise_option_variation[i][\"id_value\"] == ev.id_value) {\r\n t = i;\r\n break;\r\n } else {\r\n t = -1;\r\n }\r\n }\r\n if (t > -1) {\r\n var obj = {\r\n variation: ev.value_inside_selection,\r\n id_value: ev.id_value,\r\n index: index,\r\n };\r\n this.customise_option_variation[i] = obj;\r\n } else {\r\n this.customise_option_variation.push({\r\n variation: ev.value_inside_selection,\r\n id_value: ev.id_value,\r\n index: index,\r\n });\r\n }\r\n } else if (this.customise_option_variation.length == 0) {\r\n this.customise_option_variation.push({\r\n variation: ev.value_inside_selection,\r\n id_value: ev.id_value,\r\n index: index,\r\n });\r\n }\r\n }\r\n errorAfterOrderApi() {\r\n var vm = this;\r\n\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n vm.subject_service.getWaitingForCart(false);\r\n }\r\n afterGettingResponseFromOrderApiWithoutUser(data) {\r\n\r\n let vm = this;\r\n let data_got: any = [];\r\n let subtotal: any = null;\r\n if (data) {\r\n if (data.subTotal) {\r\n subtotal = {\r\n subtotal: {\r\n amount: data.subTotal,\r\n currency: \"USD\",\r\n },\r\n tax: {\r\n amount: data.totalTax*(0.19075/0.1825),\r\n currency: \"USD\",\r\n },\r\n };\r\n }\r\n\r\n if (data.orderDetails) {\r\n data.orderDetails.map((e) => {\r\n let p: any = [];\r\n let taxes: any = [];\r\n var total_money: any = 0;\r\n if (\r\n e.orderDetailCustomizations &&\r\n e.orderDetailCustomizations.length > 0\r\n ) {\r\n e.orderDetailCustomizations.map((f) => {\r\n p.push({\r\n name: f.customizationOptionName,\r\n catalog_id: f.itemCustomizationOptionId,\r\n customizationOptionPrice: f.customizationOptionPrice\r\n ? f.customizationOptionPrice\r\n : null,\r\n customizationOptionVariationName: f.customizationOptionVariationName\r\n ? f.customizationOptionVariationName\r\n : null,\r\n uid: f.uid,\r\n amount: f.customizationOptionPrice,\r\n });\r\n total_money =\r\n total_money + parseFloat(f.customizationOptionPrice);\r\n });\r\n }\r\n if (e.orderDetailTaxes && e.orderDetailTaxes.length > 0) {\r\n e.orderDetailTaxes.map((g) => {\r\n taxes.push({\r\n OrderDetailTaxId: g.orderDetailTaxId,\r\n });\r\n });\r\n }\r\n data_got.push({\r\n variation_price: e.variationPrice,\r\n variation_currency: \"USD\",\r\n variation_name: e.variationName,\r\n uid: e.uid,\r\n catalog_id: e.variationId,\r\n item_name: e.itemName,\r\n quantity: e.quantity,\r\n amount: JSON.stringify(\r\n JSON.parse(e.quantity) *\r\n (JSON.parse(e.variationPrice) + total_money)\r\n ),\r\n currency: \"USD\",\r\n customisation: p,\r\n tax_id: taxes,\r\n });\r\n });\r\n }\r\n }\r\n localStorage.setItem(\"order_id\", data[\"orderId\"]);\r\n localStorage.setItem(\r\n \"deliver_charges\",\r\n JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"deliveryFee\"\r\n ] != null\r\n ? JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"deliveryFee\"\r\n ]\r\n : 0\r\n );\r\n vm.subject_service.getcartReponse(data_got);\r\n localStorage.setItem(\"cart_response\", JSON.stringify(data_got));\r\n localStorage.setItem(\"cart_subtotal\", JSON.stringify(subtotal));//subtotal\r\n vm.subject_service.getSubtotalReponse(subtotal);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n vm.subject_service.getWaitingForCart(false);\r\n }\r\n afterGettingResponseFromOrderApi(data) {\r\n let vm = this;\r\n let data_got: any = [];\r\n let subtotal: any = null;\r\n if (data) {\r\n if (data.totalMoney) {\r\n subtotal = {\r\n subtotal: {\r\n amount: JSON.stringify(\r\n parseFloat(data.totalMoney.amount) -\r\n parseFloat(data.totalTaxMoney.amount)\r\n ),\r\n currency: data.totalMoney.currency,\r\n },\r\n tax: {\r\n amount: data.totalTaxMoney.amount*(0.19075/0.1825),\r\n currency: data.totalTaxMoney.currency,\r\n },\r\n };\r\n }\r\n if (data.lineItems) {\r\n data.lineItems.map((e) => {\r\n let p: any = [];\r\n let taxes: any = [];\r\n if (e.modifiers && e.modifiers.length > 0) {\r\n e.modifiers.map((f) => {\r\n p.push({\r\n name: f.name,\r\n catalog_id: f.catalogObjectId,\r\n uid: f.uid,\r\n amount: f.basePriceMoney.amount,\r\n });\r\n });\r\n }\r\n if (e.appliedTaxes && e.appliedTaxes.length > 0) {\r\n e.appliedTaxes.map((g) => {\r\n taxes.push({\r\n OrderDetailTaxId: g.taxUid,\r\n });\r\n });\r\n }\r\n data_got.push({\r\n variation_price: JSON.stringify(\r\n parseFloat(e.basePriceMoney.amount) / 100\r\n ),\r\n variation_currency: e.basePriceMoney.currency,\r\n variation_name: e.variationName,\r\n uid: e.uid,\r\n catalog_id: e.catalogObjectId,\r\n item_name: e.name,\r\n quantity: e.quantity,\r\n amount: e.totalMoney.amount - parseFloat(e.totalTaxMoney.amount),\r\n currency: e.totalMoney.currency,\r\n customisation: p,\r\n tax_id: taxes,\r\n });\r\n });\r\n }\r\n }\r\n localStorage.setItem(\"order_id\", data[\"orderId\"]);\r\n localStorage.setItem(\r\n \"deliver_charges\",\r\n JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"deliveryFee\"\r\n ] != null\r\n ? JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"deliveryFee\"\r\n ]\r\n : 0\r\n );\r\n vm.subject_service.getcartReponse(data_got);\r\n localStorage.setItem(\"cart_response\", JSON.stringify(data_got));\r\n localStorage.setItem(\"cart_subtotal\", JSON.stringify(subtotal));//subtotal\r\n vm.subject_service.getSubtotalReponse(subtotal);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n vm.subject_service.getWaitingForCart(false);\r\n }\r\n async gotFormValues(ev, item_name, index) {\r\n let vm = this;\r\n vm.collect_customisation_ids[index] = [];\r\n let get_selected_values: any[] = await this.getKeyByValue(ev);\r\n let collect_names: any = [];\r\n collect_names[index] = get_selected_values;\r\n let option_array: any = [];\r\n option_array = [\r\n ...this.item_selected.other_info.customization[index][\r\n \"customizationOptions\"\r\n ],\r\n ];\r\n if (get_selected_values.length > 0) {\r\n collect_names[index].map((e) => {\r\n option_array.map((f) => {\r\n if (\r\n f.name == e &&\r\n vm.collect_customisation_ids[index].includes(f.id) == false\r\n ) {\r\n vm.collect_customisation_ids[index].push(f.id);\r\n }\r\n });\r\n });\r\n } else {\r\n }\r\n this.customisation_options_selection = ev;\r\n this.collect_values[1] = { title: this.item_selected.name, ...ev };\r\n }\r\n async ngOnInit() {\r\n const vm = this;\r\n vm.again_test_customisation = new Array(\r\n this.item_selected.other_info.customization.length\r\n );\r\n vm.collect_customisation_ids = new Array(\r\n this.item_selected.other_info.customization.length\r\n );\r\n this.new_slider = this.edited_values\r\n ? parseFloat(this.edited_values.quantity)\r\n : 1;\r\n this.slider_value = this.edited_values\r\n ? parseFloat(this.edited_values.quantity)\r\n : 1;\r\n this.image_url_for_larger = this.config.image_url_for_larger_image;\r\n this.image_url_for_smaller = this.config.image_url_for_smaller_image;\r\n\r\n vm.py = new Array(this.item_selected.other_info.customization.length);\r\n for (let u = 0; u < vm.collect_customisation_ids.length; u++) {\r\n vm.collect_customisation_ids[u] = new Array();\r\n vm.again_test_customisation[u] = new Array();\r\n }\r\n this.collect_values[1].title = this.item_selected.name;\r\n if (this.index > -1) {\r\n const val = JSON.parse(localStorage.getItem(\"cart_items\"));\r\n let identifiers = Object.keys(val[this.index][1]);\r\n identifiers = identifiers.filter((e) => {\r\n if (\r\n val[this.index][1][e] == true ||\r\n val[this.index][1][e] == false ||\r\n val[this.index][1][e] == \"true\" ||\r\n val[this.index][1][e] == \"false\"\r\n ) {\r\n return true;\r\n }\r\n else {\r\n false;\r\n }\r\n });\r\n const active = identifiers.map(function (e) {\r\n if (val[vm.index][1][e] == true || val[vm.index][1][e] == \"true\") {\r\n return {\r\n key: e,\r\n label: \"check_bopx_selction\",\r\n value: true,\r\n selected: true,\r\n controlType: \"check_box\",\r\n };\r\n } else {\r\n return {\r\n key: e,\r\n label: \"check_bopx_selction\",\r\n value: false,\r\n selected: false,\r\n controlType: \"check_box\",\r\n };\r\n }\r\n });\r\n this.questions = [...active];\r\n if (val[this.index].length > 1) {\r\n for (let i = 2; i < val[this.index].length; i++) {\r\n const next_values = Object.keys(val[this.index][i]);\r\n }\r\n }\r\n }\r\n this.variations_data = this.item_selected.other_info\r\n ? this.item_selected.other_info.variation\r\n ? this.item_selected.other_info.variation\r\n : []\r\n : [];\r\n this.variations_data =\r\n this.variations_data.length > 0\r\n ? this.variations_data.map((e) => {\r\n return {\r\n name: e.name,\r\n amount: e.amount,\r\n currency: \"USD\",\r\n id: e.id,\r\n };\r\n })\r\n : [];\r\n if (this.edited_values) {\r\n this.option_value = this.edited_values.variation_name;\r\n vm.currency = this.edited_values.variation_currency;\r\n vm.money = this.edited_values.variation_price;\r\n await vm.edited_values.customisation.map((e) => {\r\n vm.selected_values_obtained.push(e.catalog_id);\r\n vm.selected_complete_customisation.push({\r\n catalog_id: e.catalog_id,\r\n variation_name: e.customizationOptionVariationName,\r\n amount: e.customizationOptionPrice,\r\n });\r\n });\r\n } else {\r\n vm.option_value =\r\n vm.variations_data.length > 0 ? vm.variations_data[0].name : \"\";\r\n vm.money =\r\n vm.variations_data.length > 0 ? vm.variations_data[0].amount : \"\";\r\n vm.currency =\r\n vm.variations_data.length > 0 ? vm.variations_data[0].currency : \"USD\";\r\n vm.variation_id =\r\n vm.variations_data.length > 0 ? vm.variations_data[0].id : \"\";\r\n }\r\n }\r\n clean(obj) {\r\n var vm = this;\r\n for (var propName in obj) {\r\n if (\r\n obj[propName] == null ||\r\n obj[propName] == \"\" ||\r\n obj[propName] == undefined\r\n ) {\r\n delete obj[propName];\r\n }\r\n }\r\n return obj;\r\n }\r\n removeByAttr(arr, attr, value) {\r\n var i = arr.length;\r\n while (i--) {\r\n if (\r\n arr[i] &&\r\n arr[i].hasOwnProperty(attr) &&\r\n arguments.length > 2 &&\r\n arr[i][attr] === value\r\n ) {\r\n arr.splice(i, 1);\r\n }\r\n }\r\n return arr;\r\n }\r\n async addToCart() {\r\n debugger\r\n let vm = this;\r\n await vm.util.presentLoading();\r\n\r\n if (this.variation_id) {\r\n var tax: any = [];\r\n var tax_id: any = [];\r\n if (vm.item_selected.other_info.itemTax.length > 0) {\r\n tax = [];\r\n tax_id = [];\r\n for (var i = 0; i < vm.item_selected.other_info.itemTax.length; i++) {\r\n tax.push({\r\n OrderDetailTaxId: vm.item_selected.other_info.itemTax[i].id,\r\n });\r\n tax_id.push({ TaxId: vm.item_selected.other_info.itemTax[i].id });\r\n }\r\n } else {\r\n tax = \"\";\r\n tax_id: \"\";\r\n }\r\n let order_id = localStorage.getItem(\"order_id\");\r\n this.subject_service.getWaitingForCart(true);\r\n this.subject_service.getWaitingForSubtotal(true);\r\n if (this.current_resturant) {\r\n if (localStorage.getItem(\"current_resturant\")) {\r\n if (\r\n this.current_resturant == localStorage.getItem(\"current_resturant\")\r\n ) {\r\n let ids: any = [];\r\n for (let y = 0; y < this.collect_customisation_ids.length; y++) {\r\n this.collect_customisation_ids[y].map((e) => {\r\n if (e != null && e != \"\" && e != undefined && e) {\r\n ids.push({\r\n ItemCustomizationOptionId: e,\r\n });\r\n }\r\n });\r\n }\r\n\r\n let user_info = JSON.parse(localStorage.getItem(\"user_info\"));\r\n let item_add_to_cart: any;\r\n\r\n if (user_info && this.current_resturant) {\r\n item_add_to_cart = {\r\n OrderId: order_id ? order_id : \"\",\r\n LocationId: this.current_resturant,\r\n OrderDetails: [\r\n {\r\n VariationId: this.variation_id,\r\n Quantity: JSON.stringify(this.slider_value),\r\n OrderDetailTaxes: [...tax],\r\n OrderDetailCustomizations: [...ids],\r\n },\r\n ],\r\n Taxes: [...tax_id],\r\n };\r\n var p = await vm.clean(item_add_to_cart);\r\n p.OrderDetails = p.OrderDetails.map((e) => {\r\n return vm.clean(e);\r\n });\r\n if (p.Taxes) {\r\n p.Taxes.TaxId = await vm.removeByAttr(p.Taxes, \"TaxId\", \"\");\r\n }\r\n this.resturant_service.createOrderWithoutUserInfo(p).subscribe(\r\n (data: any) => {\r\n vm.util.dismissLoader();\r\n vm.afterGettingResponseFromOrderApi(data);\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm._snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n } else {\r\n await vm.util.presentLoading();\r\n vm.presentAlert();\r\n }\r\n this.collect_values[0] = {\r\n quantity: this.slider_value,\r\n currency: this.currency,\r\n price: this.money,\r\n vegetarian: this.item_selected.vegetarian,\r\n image_title: this.item_selected.image_title,\r\n name: this.item_selected.name,\r\n image: this.item_selected.image,\r\n description: this.item_selected.description,\r\n };\r\n this.modal_controller.dismiss({\r\n collect_values: this.collect_values,\r\n index: this.index,\r\n });\r\n } else {\r\n if (localStorage.getItem(\"cart_response\")) {\r\n let get_local_storage_items = JSON.parse(\r\n localStorage.getItem(\"cart_response\")\r\n );\r\n let item_id: any = [];\r\n let customer_id = JSON.parse(localStorage.getItem(\"user_info\"))[\r\n \"squareCustomerid\"\r\n ];\r\n get_local_storage_items.map((e) => {\r\n let val = \"line_items[\" + e.uid + \"]\";\r\n item_id.push(val);\r\n });\r\n let data = {\r\n OrderId: order_id,\r\n LocationId: localStorage.getItem(\"current_resturant\"),\r\n FieldsToClear: [...item_id],\r\n };\r\n vm.resturant_service.createOrderWithoutUserInfo(data).subscribe(\r\n async (data) => {\r\n if (vm.item_selected.other_info.itemTax.length > 0) {\r\n tax = [];\r\n tax_id = [];\r\n for (\r\n var i = 0;\r\n i < vm.item_selected.other_info.itemTax.length;\r\n i++\r\n ) {\r\n tax.push({\r\n OrderDetailTaxId:\r\n vm.item_selected.other_info.itemTax[i].id,\r\n });\r\n tax_id.push({\r\n TaxId: vm.item_selected.other_info.itemTax[i].id,\r\n });\r\n }\r\n } else {\r\n tax = \"\";\r\n tax_id: \"\";\r\n }\r\n await vm.afterGettingResponseFromOrderApi(data);\r\n localStorage.setItem(\r\n \"current_resturant\",\r\n this.current_resturant\r\n );\r\n localStorage.setItem(\r\n \"selected_resturant_data\",\r\n localStorage.getItem(\"current_resturant_data\")\r\n );\r\n localStorage.setItem(\r\n \"selected_resturant_timings\",\r\n localStorage.getItem(\"current_resturant_timings\")\r\n );\r\n localStorage.setItem(\r\n \"deliver_charges\",\r\n JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"deliveryFee\"\r\n ] != null\r\n ? JSON.parse(\r\n localStorage.getItem(\"selected_resturant_data\")\r\n )[\"deliveryFee\"]\r\n : 0\r\n );\r\n\r\n localStorage.removeItem(\"order_id\");\r\n if (localStorage.getItem(\"fulfilment\")) {\r\n localStorage.removeItem(\"fulfilment\");\r\n vm.subject_service.getFulfilment(false);\r\n }\r\n order_id = localStorage.getItem(\"order_id\");\r\n vm.current_resturant = localStorage.getItem(\r\n \"current_resturant\"\r\n );\r\n let ids: any = [];\r\n for (\r\n let y = 0;\r\n y < this.collect_customisation_ids.length;\r\n y++\r\n ) {\r\n this.collect_customisation_ids[y].map((e) => {\r\n if (e) {\r\n ids.push({\r\n ItemCustomizationOptionId: e,\r\n });\r\n }\r\n });\r\n }\r\n let user_info = JSON.parse(localStorage.getItem(\"user_info\"));\r\n let item_add_to_cart: any;\r\n\r\n if (user_info && this.current_resturant) {\r\n item_add_to_cart = {\r\n OrderId: order_id,\r\n LocationId: this.current_resturant,\r\n OrderDetails: [\r\n {\r\n VariationId: this.variation_id,\r\n Quantity: JSON.stringify(this.slider_value),\r\n OrderDetailTaxes: [...tax],\r\n\r\n OrderDetailCustomizations: [...ids],\r\n },\r\n ],\r\n Taxes: [...tax_id],\r\n };\r\n var p = await vm.clean(item_add_to_cart);\r\n p.OrderDetails = p.OrderDetails.map((e) => {\r\n return vm.clean(e);\r\n });\r\n if (p.Taxes) {\r\n p.Taxes.TaxId = await vm.removeByAttr(\r\n p.Taxes,\r\n \"TaxId\",\r\n \"\"\r\n );\r\n }\r\n this.resturant_service.createOrderWithoutUserInfo(p).subscribe(\r\n (data: any) => {\r\n vm.util.dismissLoader();\r\n vm.afterGettingResponseFromOrderApi(data);\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm._snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n } else {\r\n this.presentAlert();\r\n }\r\n\r\n this.collect_values[0] = {\r\n quantity: this.slider_value,\r\n currency: this.currency,\r\n price: this.money,\r\n vegetarian: this.item_selected.vegetarian,\r\n image_title: this.item_selected.image_title,\r\n name: this.item_selected.name,\r\n image: this.item_selected.image,\r\n description: this.item_selected.description,\r\n };\r\n this.modal_controller.dismiss({\r\n collect_values: this.collect_values,\r\n index: this.index,\r\n });\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm._snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n } else {\r\n localStorage.setItem(\"current_resturant\", this.current_resturant);\r\n localStorage.setItem(\r\n \"selected_resturant_data\",\r\n localStorage.getItem(\"current_resturant_data\")\r\n );\r\n localStorage.setItem(\r\n \"selected_resturant_timings\",\r\n localStorage.getItem(\"current_resturant_timings\")\r\n );\r\n\r\n localStorage.setItem(\r\n \"deliver_charges\",\r\n JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"deliveryFee\"\r\n ] != null\r\n ? JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"deliveryFee\"\r\n ]\r\n : 0\r\n );\r\n let ids: any = [];\r\n for (let y = 0; y < this.collect_customisation_ids.length; y++) {\r\n this.collect_customisation_ids[y].map((e) => {\r\n if (e) {\r\n ids.push({\r\n ItemCustomizationOptionId: e,\r\n });\r\n }\r\n });\r\n }\r\n let user_info = JSON.parse(localStorage.getItem(\"user_info\"));\r\n let item_add_to_cart: any;\r\n\r\n if (user_info && this.current_resturant) {\r\n var tax: any = [];\r\n var tax_id: any = [];\r\n if (vm.item_selected.other_info.itemTax.length > 0) {\r\n for (\r\n var i = 0;\r\n i < vm.item_selected.other_info.itemTax.length;\r\n i++\r\n ) {\r\n tax.push({\r\n OrderDetailTaxId:\r\n vm.item_selected.other_info.itemTax[i].id,\r\n });\r\n tax_id.push({\r\n TaxId: vm.item_selected.other_info.itemTax[i].id,\r\n });\r\n }\r\n } else {\r\n tax = \"\";\r\n tax_id = \"\";\r\n }\r\n item_add_to_cart = {\r\n OrderId: order_id ? order_id : \"\",\r\n LocationId: this.current_resturant,\r\n OrderDetails: [\r\n {\r\n VariationId: this.variation_id,\r\n Quantity: JSON.stringify(this.slider_value),\r\n OrderDetailTaxes: tax,\r\n OrderDetailCustomizations: [...ids],\r\n },\r\n ],\r\n Taxes: tax_id,\r\n };\r\n var p = await vm.clean(item_add_to_cart);\r\n p.OrderDetails = p.OrderDetails.map((e) => {\r\n return vm.clean(e);\r\n });\r\n if (p.Taxes) {\r\n p.Taxes.TaxId = await vm.removeByAttr(p.Taxes, \"TaxId\", \"\");\r\n }\r\n this.resturant_service.createOrderWithoutUserInfo(p).subscribe(\r\n (data: any) => {\r\n vm.util.dismissLoader();\r\n vm.afterGettingResponseFromOrderApi(data);\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm._snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n } else {\r\n this.presentAlert();\r\n vm.util.dismissLoader();\r\n }\r\n\r\n this.collect_values[0] = {\r\n quantity: this.slider_value,\r\n currency: this.currency,\r\n price: this.money,\r\n vegetarian: this.item_selected.vegetarian,\r\n image_title: this.item_selected.image_title,\r\n name: this.item_selected.name,\r\n image: this.item_selected.image,\r\n description: this.item_selected.description,\r\n };\r\n this.modal_controller.dismiss({\r\n collect_values: this.collect_values,\r\n index: this.index,\r\n });\r\n }\r\n }\r\n } else {\r\n localStorage.setItem(\"current_resturant\", this.current_resturant);\r\n localStorage.setItem(\r\n \"selected_resturant_data\",\r\n localStorage.getItem(\"current_resturant_data\")\r\n );\r\n localStorage.setItem(\r\n \"selected_resturant_timings\",\r\n localStorage.getItem(\"current_resturant_timings\")\r\n );\r\n\r\n localStorage.setItem(\r\n \"deliver_charges\",\r\n JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"deliveryFee\"\r\n ] != null\r\n ? JSON.parse(localStorage.getItem(\"selected_resturant_data\"))[\r\n \"deliveryFee\"\r\n ]\r\n : 0\r\n );\r\n let ids: any = [];\r\n for (let y = 0; y < this.collect_customisation_ids.length; y++) {\r\n this.collect_customisation_ids[y].map((e) => {\r\n if (e) {\r\n ids.push({\r\n ItemCustomizationOptionId: e,\r\n });\r\n }\r\n });\r\n }\r\n let user_info = JSON.parse(localStorage.getItem(\"user_info\"));\r\n let item_add_to_cart: any;\r\n\r\n if (user_info && this.current_resturant) {\r\n if (vm.item_selected.other_info.itemTax.length > 0) {\r\n var tax: any = [];\r\n var tax_id: any = [];\r\n for (\r\n var i = 0;\r\n i < vm.item_selected.other_info.itemTax.length;\r\n i++\r\n ) {\r\n tax.push({\r\n OrderDetailTaxId: vm.item_selected.other_info.itemTax[i].id,\r\n });\r\n tax_id.push({\r\n TaxId: vm.item_selected.other_info.itemTax[i].id,\r\n });\r\n }\r\n } else {\r\n tax = \"\";\r\n tax_id = \"\";\r\n }\r\n item_add_to_cart = {\r\n OrderId: order_id ? order_id : \"\",\r\n LocationId: this.current_resturant,\r\n OrderDetails: [\r\n {\r\n VariationId: this.variation_id,\r\n Quantity: JSON.stringify(this.slider_value),\r\n OrderDetailTaxes: tax,\r\n OrderDetailCustomizations: [...ids],\r\n },\r\n ],\r\n Taxes: tax_id,\r\n };\r\n var p = await vm.clean(item_add_to_cart);\r\n p.OrderDetails = p.OrderDetails.map((e) => {\r\n return vm.clean(e);\r\n });\r\n if (p.Taxes) {\r\n p.Taxes.TaxId = await vm.removeByAttr(p.Taxes, \"TaxId\", \"\");\r\n }\r\n this.resturant_service.createOrderWithoutUserInfo(p).subscribe(\r\n (data: any) => {\r\n vm.util.dismissLoader();\r\n vm.afterGettingResponseFromOrderApi(data);\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm._snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n } else {\r\n this.presentAlert();\r\n vm.util.dismissLoader();\r\n }\r\n\r\n this.collect_values[0] = {\r\n quantity: this.slider_value,\r\n currency: this.currency,\r\n price: this.money,\r\n vegetarian: this.item_selected.vegetarian,\r\n image_title: this.item_selected.image_title,\r\n name: this.item_selected.name,\r\n image: this.item_selected.image,\r\n description: this.item_selected.description,\r\n };\r\n this.modal_controller.dismiss({\r\n collect_values: this.collect_values,\r\n index: this.index,\r\n });\r\n }\r\n } else {\r\n this._snackBar.open(\r\n \"Without Resturant name item cannot be added to cart\",\r\n \"Done\",\r\n {\r\n duration: 2000,\r\n }\r\n );\r\n vm.util.dismissLoader();\r\n this.modal_controller.dismiss();\r\n }\r\n } else {\r\n this._snackBar.open(\r\n \"Items without variation cannot be added to cart\",\r\n \"Done\",\r\n {\r\n duration: 2000,\r\n }\r\n );\r\n this.modal_controller.dismiss();\r\n vm.util.dismissLoader();\r\n }\r\n }\r\n\r\n collectnewData() {\r\n this.calculate_warning = true;\r\n for (var i = 0; i < this.collect_customisation_ids.length; i++) {\r\n if (\r\n this.collect_customisation_ids[i].length !=\r\n this.item_selected.other_info.customization[i][\"selectionCount\"] &&\r\n this.item_selected.other_info.customization[i][\"selectionCount\"]\r\n ) {\r\n this.warning_message = true;\r\n this.content.scrollToTop();\r\n return;\r\n } else {\r\n this.warning_message = false;\r\n }\r\n }\r\n }\r\n async recustomiseWithoutUser() {\r\n debugger\r\n let vm = this;\r\n await vm.collectnewData();\r\n await vm.util.presentLoading();\r\n this.subject_service.getWaitingForCart(true);\r\n this.subject_service.getWaitingForSubtotal(true);\r\n let order_id = localStorage.getItem(\"order_id\");\r\n let fiels_to_clear: any = [];\r\n this.edited_values.customisation.map((e) => {\r\n let p =\r\n \"line_items[\" + this.edited_values.uid + \"].modifiers[\" + e.uid + \"]\";\r\n fiels_to_clear.push(p);\r\n });\r\n\r\n let remove_data = {\r\n OrderId: order_id,\r\n LocationId: this.current_resturant,\r\n // CustomerId: user_info.squareCustomerid,\r\n // [...fiels_to_clear]\r\n FieldsToClear: [...fiels_to_clear],\r\n };\r\n vm.resturant_service.createOrderWithoutUserInfo(remove_data).subscribe(\r\n (removed_modifier) => {\r\n vm.afterGettingResponseFromOrderApiWithoutUser(removed_modifier);\r\n let items_to_be_added: any = [];\r\n for (let y = 0; y < this.collect_customisation_ids.length; y++) {\r\n this.collect_customisation_ids[y].map((e, index) => {\r\n if (e != null && e != \"\" && e != undefined && e) {\r\n var b = vm.customise_option_variation.findIndex((f) => {\r\n return f.id_value == e;\r\n });\r\n if (b > -1) {\r\n items_to_be_added.push({\r\n ItemCustomizationOptionId: e,\r\n CustomizationOptionPrice:\r\n vm.customise_option_variation[b].variation[1],\r\n CustomizationOptionVariationName:\r\n vm.customise_option_variation[b].variation[0],\r\n });\r\n } else {\r\n items_to_be_added.push({\r\n ItemCustomizationOptionId: e,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n var tax_id: any = [];\r\n vm.edited_values.tax_id.map((t) => {\r\n tax_id.push({ TaxId: t.OrderDetailTaxId });\r\n });\r\n let new_data = {\r\n OrderId: order_id,\r\n LocationId: vm.current_resturant,\r\n OrderDetails: [\r\n {\r\n VariationId: vm.edited_values.uid,\r\n Quantity: JSON.stringify(vm.slider_value),\r\n OrderDetailCustomizations: [...items_to_be_added],\r\n OrderDetailTaxes: vm.edited_values.tax_id\r\n ? [...vm.edited_values.tax_id]\r\n : [],\r\n },\r\n ],\r\n Taxes: [...tax_id],\r\n };\r\n vm.resturant_service.createOrderWithoutUserInfo(new_data).subscribe(\r\n (data) => {\r\n vm.afterGettingResponseFromOrderApiWithoutUser(data);\r\n vm.close();\r\n vm.util.dismissLoader();\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm._snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm._snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n }\r\n async reCustomise() {\r\n debugger\r\n let vm = this;\r\n await vm.util.presentLoading();\r\n this.subject_service.getWaitingForCart(true);\r\n this.subject_service.getWaitingForSubtotal(true);\r\n let order_id = localStorage.getItem(\"order_id\");\r\n let fiels_to_clear: any = [];\r\n this.edited_values.customisation.map((e) => {\r\n let p =\r\n \"line_items[\" + this.edited_values.uid + \"].modifiers[\" + e.uid + \"]\";\r\n fiels_to_clear.push(p);\r\n });\r\n\r\n let remove_data = {\r\n OrderId: order_id,\r\n LocationId: this.current_resturant,\r\n // CustomerId: user_info.squareCustomerid,\r\n FieldsToClear: [...fiels_to_clear],\r\n };\r\n vm.resturant_service.createOrderWithoutUserInfo(remove_data).subscribe(\r\n (removed_modifier) => {\r\n vm.afterGettingResponseFromOrderApi(removed_modifier);\r\n let items_to_be_added: any = [];\r\n for (let y = 0; y < this.collect_customisation_ids.length; y++) {\r\n this.collect_customisation_ids[y].map((e) => {\r\n if (e) {\r\n items_to_be_added.push({\r\n ItemCustomizationOptionId: e,\r\n });\r\n }\r\n });\r\n }\r\n\r\n let new_data = {\r\n OrderId: order_id,\r\n LocationId: vm.current_resturant,\r\n OrderDetails: [\r\n {\r\n uid: vm.edited_values.uid,\r\n Quantity: JSON.stringify(vm.slider_value),\r\n OrderDetailCustomizations: [...items_to_be_added],\r\n OrderDetailTaxes: [...vm.edited_values.tax_id],\r\n },\r\n ],\r\n OrderDetailTaxes: [...vm.edited_values.tax_id],\r\n };\r\n vm.resturant_service.createOrderWithoutUserInfo(new_data).subscribe(\r\n (data) => {\r\n vm.afterGettingResponseFromOrderApi(data);\r\n vm.close();\r\n vm.util.dismissLoader();\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm._snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm._snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n }\r\n async navigateToSelectedCategoryItemPage(id,item){\r\n \r\n this.closeModel();\r\n var vm=this;\r\n vm.menu_items=[];\r\n if (item == \"get_all\")\r\n {\r\n vm.menu_items = vm.complete_menu.map((e) => {\r\n return {\r\n name: e.itemName,\r\n vegetarian: true,\r\n image_title: \"Red color\",\r\n other_info: { ...e },\r\n image: e.itemImageName,\r\n description: e.description,\r\n price: \"$14\",\r\n };\r\n });\r\n } else {\r\n vm.complete_menu.map((e) => {\r\n if (id == e.categoryId) {\r\n vm.menu_items.push({\r\n name: e.itemName,\r\n vegetarian: true,\r\n image_title: \"Red color\",\r\n other_info: { ...e },\r\n image: e.itemImageName,\r\n description: e.description,\r\n price: \"$14\",\r\n });\r\n }\r\n });\r\n }\r\n if (item.category_name == \"GIFT CARDS\") {\r\n var data: any = [];\r\n vm.menu_items.map((e) => {\r\n data.push(e.other_info);\r\n });\r\n const navigationExtras: NavigationExtras = {\r\n state: {\r\n item: vm.menu_items,\r\n category_name:'GIFT CARDS'\r\n },\r\n };\r\n this.navCtrl.pop()\r\n this.router.navigate([`/item-selected/${vm.current_resturant}`], {\r\n ...navigationExtras,\r\n });\r\n }\r\n else{\r\n if(vm.menu_items.length>1)\r\n {\r\n const navigationExtras: NavigationExtras = {\r\n state: {\r\n item: item,\r\n category_id:id,\r\n title:vm.menu_items[0].other_info.categoryName,\r\n loader_present:false\r\n }\r\n };\r\n \r\n vm.router.navigate([`/ordering-system/${navigationExtras.state.title.replace(/-/g, \"-\").toLowerCase()}`],navigationExtras)\r\n //vm.router.navigate([`/get-items/${vm.current_resturant}`],navigationExtras)\r\n await vm.util.dismissLoader(true);\r\n vm.loader_present=false;\r\n }\r\n else{\r\n console.log(\"menudata\",vm.menu_items[0])\r\n \r\n const navigationExtras: NavigationExtras = {\r\n state: {\r\n item: vm.menu_items[0],\r\n category_id: vm.menu_items[0].other_info.category_id,\r\n item_data: vm.menu_items[0].other_info,\r\n },\r\n };\r\n // const navigationExtras: NavigationExtras = {\r\n // state: {\r\n // item: item,\r\n // category_id: item.category_id,\r\n // item_data: item.other_info,\r\n // title:vm.menu_items[0].other_info.categoryName,\r\n // loader_present:false\r\n // },\r\n // };\r\n debugger\r\n vm.router.navigate([`/item-selected/${navigationExtras.state.item.name.replace(/\\s/g, \"-\").toLowerCase()}`], navigationExtras);\r\n \r\n // this.router.navigate([`/item-selected/${vm.current_resturant}`], {\r\n // ...navigationExtras,\r\n // });\r\n // await vm.util.dismissLoader(true);\r\n // vm.loader_present=false;\r\n }\r\n }\r\n \r\n this.menuDisplay()\r\n }\r\n menuDisplay() {\r\n this.item_selected_out_of_category = false;\r\n if (this.show_order_total == false) {\r\n this.drawerMenu.close();\r\n }\r\n this.all_categories_available = true;\r\n this.menu_items = [];\r\n this.title = \"MENU\";\r\n this.image_src = \"\";\r\n this.incomingSelectedAlert = \"\";\r\n }\r\n ngAfterViewInit() {\r\n this.item_selected.other_info.customization = this.item_selected.other_info.customization.slice(\r\n 0\r\n );\r\n this.item_selected.other_info.customization.sort(function (a, b) {\r\n return a.priority - b.priority;\r\n });\r\n this.last_button = this.edited_values\r\n ? \"Save Recustomisation\"\r\n : \"Add to Cart\";\r\n this.get_consumisation_from_api = [];\r\n this.get_consumisation_from_api.push(\r\n ...this.item_selected.other_info.associatedCategories\r\n );\r\n this.skip=true;\r\n this.addToCartButton=true;\r\n const vm = this;\r\n if (typeof this.item_selected == \"number\") {\r\n const cart_content = JSON.parse(localStorage.getItem(\"cart_items\"));\r\n this.item_selected = cart_content[this.item_selected];\r\n this.item_selected = {\r\n vegetarian: cart_content[this.item_selected][0].vegetarian,\r\n image_title: cart_content[this.item_selected][0].image_title,\r\n name: cart_content[this.item_selected][0].name,\r\n image: cart_content[this.item_selected][0].image,\r\n description: cart_content[this.item_selected][0].description,\r\n price: cart_content[this.item_selected][0].price,\r\n quantity: cart_content[this.item_selected][0].quantity,\r\n };\r\n vm.slider_value = cart_content[this.item_selected][0].quantity;\r\n }\r\n }\r\n sliderValueGot(ev) {\r\n this.slider_value = ev;\r\n }\r\n sliderCount(ev) {\r\n this.slider_value = JSON.parse(ev);\r\n }\r\n closeModel()\r\n {\r\n this.modal_controller.dismiss({customisaion_collected:[],cancel:'no',model:'yes'});\r\n }\r\n closeWithSkip(){\r\n this.modal_controller.dismiss({customisaion_collected:[],cancel:'no',model:'no'});\r\n }\r\n close(decide?) {\r\n if(decide){\r\n this.modal_controller.dismiss({'cancel':decide});\r\n }\r\n else{\r\n this.modal_controller.dismiss();\r\n }\r\n }\r\n radioButtonClicked(group_name, ev) {\r\n this.option_selcted = ev.value;\r\n }\r\n changeTheColor(event, value, index) {\r\n if (event.checked == true) {\r\n this.customisation_options[index].selected = true;\r\n } else {\r\n this.customisation_options[index].selected = false;\r\n }\r\n }\r\n checkBoxButtonClicked(event, value, index) {\r\n if (event.checked == true) {\r\n this.check_box_options_selected.push(value);\r\n } else {\r\n }\r\n }\r\n gotEveryOptionCustomisation(ev) {\r\n if (this.collect_values.some((e) => e.title == ev.title)) {\r\n const index = this.collect_values.findIndex((e) => e.title == ev.title);\r\n this.collect_values[index] = { ...ev };\r\n } else {\r\n this.collect_values.push({ ...ev });\r\n }\r\n }\r\n}\r\n","export default \"p {\\n margin: 0 0 0px;\\n}\\n\\n.close-button-css {\\n float: right;\\n padding-top: 3px;\\n cursor: pointer;\\n}\\n\\n.container {\\n text-align: center;\\n left: 0;\\n right: 0;\\n}\\n\\n.details {\\n font-size: 12px;\\n margin: -9px 0px 0px 0px;\\n font-family: \\\"Montserrat-Regular\\\";\\n color: black;\\n}\\n\\n.main {\\n width: 64px;\\n height: 22px;\\n border: 1px solid black;\\n padding: 10px;\\n border-radius: 12px;\\n margin: auto;\\n}\\n\\n.rewards {\\n display: flex;\\n min-height: 20px;\\n max-height: 50px;\\n margin-bottom: 10px;\\n}\\n\\n.heading-for-new {\\n font-size: 28px;\\n color: #E80510;\\n font-family: \\\"Barlow-Bold\\\";\\n text-align: center;\\n cursor: default;\\n}\\n\\n.radio-button-text {\\n display: flex;\\n font-family: \\\"Montserrat-Regular\\\";\\n font-size: 15px !important;\\n}\\n\\nstrong {\\n font-size: 20px;\\n font-family: \\\"Montserrat-SemiBold\\\";\\n}\\n\\n.add_item {\\n float: left;\\n color: black;\\n}\\n\\n.heading {\\n font-family: \\\"Montserrat-Bold\\\";\\n font-size: 15px;\\n color: black;\\n}\\n\\n.crown {\\n font-weight: 900;\\n font-family: \\\"Montserrat-Bold\\\";\\n text-align: center;\\n font-size: 40px;\\n color: black;\\n}\\n\\n.image-point-width {\\n max-width: 28px;\\n margin-bottom: 6px;\\n}\\n\\n.p_heading {\\n font-family: \\\"Montserrat-SemiBold\\\";\\n text-align: center;\\n font-size: 20px;\\n color: black;\\n}\\n\\n.rewards-css {\\n margin: 0px 0px 0px 6px;\\n}\\n\\n.skip-button {\\n font-family: \\\"Barlow-Bold\\\";\\n padding-left: 12px;\\n padding-bottom: 7px;\\n cursor: pointer;\\n --background:#E80510;\\n --background-activated:#E80510 ;\\n --background-focused: #E80510;\\n --background-hover:#E80510 ;\\n float: right;\\n margin-right: 16px;\\n}\\n\\n.submit-button {\\n font-family: \\\"Barlow-Bold\\\";\\n padding-left: 12px;\\n padding-bottom: 7px;\\n cursor: pointer;\\n --background:#E80510;\\n --background-activated:#E80510 ;\\n --background-focused: #E80510;\\n --background-hover:#E80510 ;\\n}\\n\\n.image-width {\\n max-width: 55px;\\n margin-bottom: 9px;\\n}\\n\\n.mat-card {\\n padding-top: 13px !important;\\n padding-bottom: 10px !important;\\n margin-right: -28px;\\n}\\n\\n.item-name-css {\\n color: black;\\n font-size: 15px;\\n font-family: \\\"Montserrat-Regular\\\";\\n}\\n\\n.row {\\n font-size: 19px;\\n padding: 0 30px;\\n}\\n\\n.row-width {\\n width: 100%;\\n}\\n\\n.card-css {\\n background: rgba(211, 211, 211, 0.43);\\n}\\n\\n.back-css {\\n font-size: 14px;\\n font-family: \\\"Barlow-Regular\\\";\\n float: right;\\n margin-top: 10px;\\n margin-bottom: 20px;\\n text-transform: uppercase;\\n cursor: pointer;\\n color: black;\\n margin-right: 16px;\\n}\\n\\n@media screen and (max-width: 1100px) {\\n .heading-for-new {\\n font-size: 30px;\\n }\\n\\n .p_heading {\\n font-size: 20px;\\n }\\n\\n .heading {\\n font-size: 15px;\\n }\\n}\\n\\n@media screen and (max-width: 1000px) {\\n .heading-for-new {\\n font-size: 27px;\\n }\\n\\n .p_heading {\\n font-size: 20px;\\n }\\n\\n .heading {\\n font-size: 15px;\\n }\\n}\\n\\n@media screen and (max-width: 550px) {\\n .heading-for-new {\\n font-size: 25px;\\n }\\n\\n .p_heading {\\n font-size: 17px;\\n }\\n\\n .heading {\\n font-size: 15px;\\n }\\n}\\n\\n@media screen and (max-width: 415px) {\\n .heading-for-new {\\n font-size: 22px;\\n }\\n\\n .p_heading {\\n font-size: 14px;\\n }\\n\\n .heading {\\n font-size: 12px;\\n }\\n\\n .skip-button {\\n float: left;\\n }\\n}\\n\\n@media screen and (max-width: 350px) {\\n .heading-for-new {\\n font-size: 20px;\\n }\\n\\n .p_heading {\\n font-size: 12px;\\n }\\n\\n .heading {\\n font-size: 12px;\\n }\\n}\\n\\n@media screen and (max-width: 290px) {\\n .heading-for-new {\\n font-size: 18px;\\n }\\n\\n .p_heading {\\n font-size: 10px;\\n }\\n\\n .heading {\\n font-size: 12px;\\n }\\n\\n .submit-button {\\n width: 260px;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZS9yZXdhcmRzL0M6XFxSb2hpdGhfV29ya1xcQ2l0YWRlbFxcQ2l0YWRlbFxcdGhueGdpdmluZ2Zyb250ZW5kbmV3XFx0aGFua3NnaXZpbmdmcm9udGVuZC9zcmNcXGFwcFxccGFnZVxccmV3YXJkc1xccmV3YXJkcy5wYWdlLnNjc3MiLCJzcmMvYXBwL3BhZ2UvcmV3YXJkcy9yZXdhcmRzLnBhZ2Uuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGVBQUE7QUNDRjs7QURDQTtFQUNJLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7QUNFSjs7QURBQTtFQUNFLGtCQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7QUNHRjs7QUREQztFQUNDLGVBQUE7RUFDQSx3QkFBQTtFQUNBLGlDQUFBO0VBQ0EsWUFBQTtBQ0lGOztBREZBO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSx1QkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLFlBQUE7QUNLRjs7QURIQTtFQUNFLGFBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7QUNNRjs7QURKQTtFQUNJLGVBQUE7RUFDQSxjQUFBO0VBQ0EsMEJBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7QUNPSjs7QURMQTtFQUNFLGFBQUE7RUFDQSxpQ0FBQTtFQUNBLDBCQUFBO0FDUUY7O0FETkE7RUFDQSxlQUFBO0VBQ0Esa0NBQUE7QUNTQTs7QURQQTtFQUNFLFdBQUE7RUFDQSxZQUFBO0FDVUY7O0FEUkE7RUFDRSw4QkFBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0FDV0Y7O0FEVEE7RUFDRSxnQkFBQTtFQUNBLDhCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtBQ1lGOztBRFZBO0VBQ0UsZUFBQTtFQUNBLGtCQUFBO0FDYUY7O0FEWEE7RUFDRSxrQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7QUNjRjs7QURaQTtFQUVFLHVCQUFBO0FDY0Y7O0FEWkE7RUFDRSwwQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0Esb0JBQUE7RUFDQSwrQkFBQTtFQUNBLDZCQUFBO0VBQ0EsMkJBQUE7RUFDQSxZQUFBO0VBQ0Msa0JBQUE7QUNlSDs7QURiQTtFQUNFLDBCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7RUFDQSxvQkFBQTtFQUNBLCtCQUFBO0VBQ0EsNkJBQUE7RUFDQSwyQkFBQTtBQ2dCRjs7QURkQTtFQUNFLGVBQUE7RUFDQSxrQkFBQTtBQ2lCRjs7QURmQTtFQUNFLDRCQUFBO0VBQ0EsK0JBQUE7RUFDQSxtQkFBQTtBQ2tCRjs7QURoQkE7RUFDRSxZQUFBO0VBQ0EsZUFBQTtFQUNBLGlDQUFBO0FDbUJGOztBRGpCQTtFQUNFLGVBQUE7RUFDQSxlQUFBO0FDb0JGOztBRGxCQTtFQUNFLFdBQUE7QUNxQkY7O0FEbkJBO0VBQ0UscUNBQUE7QUNzQkY7O0FEcEJBO0VBQ0UsZUFBQTtFQUNBLDZCQUFBO0VBQ0QsWUFBQTtFQUNDLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSx5QkFBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7QUN1QkY7O0FEckJBO0VBQ0k7SUFDRSxlQUFBO0VDd0JKOztFRHRCRTtJQUNFLGVBQUE7RUN5Qko7O0VEdkJFO0lBQ0UsZUFBQTtFQzBCSjtBQUNGOztBRHhCQTtFQUNJO0lBQ0UsZUFBQTtFQzBCSjs7RUR4QkU7SUFDRSxlQUFBO0VDMkJKOztFRHpCRTtJQUNFLGVBQUE7RUM0Qko7QUFDRjs7QUQxQkE7RUFDSTtJQUNFLGVBQUE7RUM0Qko7O0VEMUJFO0lBQ0UsZUFBQTtFQzZCSjs7RUQzQkU7SUFDRSxlQUFBO0VDOEJKO0FBQ0Y7O0FENUJBO0VBQ0k7SUFDRSxlQUFBO0VDOEJKOztFRDVCRTtJQUNFLGVBQUE7RUMrQko7O0VEN0JFO0lBQ0UsZUFBQTtFQ2dDSjs7RUQ5QkU7SUFDRSxXQUFBO0VDaUNKO0FBQ0Y7O0FEL0JBO0VBQ0k7SUFDRSxlQUFBO0VDaUNKOztFRC9CRTtJQUNFLGVBQUE7RUNrQ0o7O0VEaENFO0lBQ0UsZUFBQTtFQ21DSjtBQUNGOztBRGpDQTtFQUNJO0lBQ0UsZUFBQTtFQ21DSjs7RURqQ0U7SUFDRSxlQUFBO0VDb0NKOztFRGxDRTtJQUNFLGVBQUE7RUNxQ0o7O0VEbkNFO0lBQ0UsWUFBQTtFQ3NDSjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvcGFnZS9yZXdhcmRzL3Jld2FyZHMucGFnZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsicHtcclxuICBtYXJnaW46MCAwIDBweDtcclxufVxyXG4uY2xvc2UtYnV0dG9uLWNzc3tcclxuICAgIGZsb2F0OnJpZ2h0O1xyXG4gICAgcGFkZGluZy10b3A6M3B4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5jb250YWluZXIge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gfVxyXG4gLmRldGFpbHN7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIG1hcmdpbjogLTlweCAwcHggMHB4IDBweDtcclxuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQtUmVndWxhcic7XHJcbiAgY29sb3I6YmxhY2s7XHJcbn1cclxuLm1haW4ge1xyXG4gIHdpZHRoOiA2NHB4O1xyXG4gIGhlaWdodDogMjJweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgbWFyZ2luOmF1dG87XHJcbn1cclxuLnJld2FyZHN7XHJcbiAgZGlzcGxheTogZmxleDsgICBcclxuICBtaW4taGVpZ2h0OiAyMHB4OyBcclxuICBtYXgtaGVpZ2h0OiA1MHB4OyBcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcbi5oZWFkaW5nLWZvci1uZXd7XHJcbiAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICBjb2xvcjogI0U4MDUxMDtcclxuICAgIGZvbnQtZmFtaWx5OiAnQmFybG93LUJvbGQnO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcbi5yYWRpby1idXR0b24tdGV4dHtcclxuICBkaXNwbGF5OmZsZXg7XHJcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0LVJlZ3VsYXInO1xyXG4gIGZvbnQtc2l6ZToxNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuc3Ryb25ne1xyXG5mb250LXNpemU6IDIwcHg7XHJcbmZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdC1TZW1pQm9sZCc7XHJcbn1cclxuLmFkZF9pdGVte1xyXG4gIGZsb2F0OmxlZnQ7XHJcbiAgY29sb3I6YmxhY2s7XHJcbn1cclxuLmhlYWRpbmd7XHJcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0LUJvbGQnO1xyXG4gIGZvbnQtc2l6ZTogMTVweDtcclxuICBjb2xvcjpibGFjaztcclxufVxyXG4uY3Jvd257XHJcbiAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQtQm9sZCc7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGZvbnQtc2l6ZTogNDBweDtcclxuICBjb2xvcjpibGFjaztcclxufVxyXG4uaW1hZ2UtcG9pbnQtd2lkdGh7XHJcbiAgbWF4LXdpZHRoOiAyOHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDZweDtcclxufVxyXG4ucF9oZWFkaW5ne1xyXG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdC1TZW1pQm9sZCc7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBjb2xvcjpibGFjaztcclxufVxyXG4ucmV3YXJkcy1jc3Ncclxue1xyXG4gIG1hcmdpbjogMHB4IDBweCAwcHggNnB4O1xyXG59XHJcbi5za2lwLWJ1dHRvbntcclxuICBmb250LWZhbWlseTogJ0Jhcmxvdy1Cb2xkJztcclxuICBwYWRkaW5nLWxlZnQ6MTJweDtcclxuICBwYWRkaW5nLWJvdHRvbTogN3B4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICAtLWJhY2tncm91bmQ6I0U4MDUxMDtcclxuICAtLWJhY2tncm91bmQtYWN0aXZhdGVkOiNFODA1MTAgO1xyXG4gIC0tYmFja2dyb3VuZC1mb2N1c2VkOiAjRTgwNTEwO1xyXG4gIC0tYmFja2dyb3VuZC1ob3ZlcjojRTgwNTEwIDtcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgIG1hcmdpbi1yaWdodDoxNnB4O1xyXG59XHJcbi5zdWJtaXQtYnV0dG9ue1xyXG4gIGZvbnQtZmFtaWx5OiAnQmFybG93LUJvbGQnO1xyXG4gIHBhZGRpbmctbGVmdDoxMnB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiA3cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIC0tYmFja2dyb3VuZDojRTgwNTEwO1xyXG4gIC0tYmFja2dyb3VuZC1hY3RpdmF0ZWQ6I0U4MDUxMCA7XHJcbiAgLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6ICNFODA1MTA7XHJcbiAgLS1iYWNrZ3JvdW5kLWhvdmVyOiNFODA1MTAgO1xyXG59XHJcbi5pbWFnZS13aWR0aHtcclxuICBtYXgtd2lkdGg6IDU1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogOXB4O1xyXG59XHJcbi5tYXQtY2FyZHtcclxuICBwYWRkaW5nLXRvcDogMTNweCAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtMjhweDtcclxufVxyXG4uaXRlbS1uYW1lLWNzc3tcclxuICBjb2xvcjogYmxhY2s7XHJcbiAgZm9udC1zaXplOiAxNXB4O1xyXG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdC1SZWd1bGFyJztcclxufVxyXG4ucm93IHtcclxuICBmb250LXNpemU6MTlweDtcclxuICBwYWRkaW5nOiAwIDMwcHg7XHJcbn1cclxuLnJvdy13aWR0aHtcclxuICB3aWR0aDoxMDAlO1xyXG59XHJcbi5jYXJkLWNzc3tcclxuICBiYWNrZ3JvdW5kOnJnYigyMTEgMjExIDIxMSAvIDQzJSk7XHJcbn1cclxuLmJhY2stY3Nze1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBmb250LWZhbWlseTogJ0Jhcmxvdy1SZWd1bGFyJztcclxuIGZsb2F0OnJpZ2h0O1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBjb2xvcjpibGFjaztcclxuICBtYXJnaW4tcmlnaHQ6MTZweDtcclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcclxuICAgIC5oZWFkaW5nLWZvci1uZXd7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIH1cclxuICAgIC5wX2hlYWRpbmd7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIH1cclxuICAgIC5oZWFkaW5ne1xyXG4gICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XHJcbiAgICAuaGVhZGluZy1mb3ItbmV3e1xyXG4gICAgICBmb250LXNpemU6IDI3cHg7XHJcbiAgICB9XHJcbiAgICAucF9oZWFkaW5ne1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAuaGVhZGluZ3tcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgfVxyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1MHB4KSB7XHJcbiAgICAuaGVhZGluZy1mb3ItbmV3e1xyXG4gICAgICBmb250LXNpemU6IDI1cHg7XHJcbiAgICB9XHJcbiAgICAucF9oZWFkaW5ne1xyXG4gICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICB9XHJcbiAgICAuaGVhZGluZ3tcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgfVxyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNXB4KSB7XHJcbiAgICAuaGVhZGluZy1mb3ItbmV3e1xyXG4gICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICB9XHJcbiAgICAucF9oZWFkaW5ne1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcbiAgICAuaGVhZGluZ3tcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgfVxyXG4gICAgLnNraXAtYnV0dG9ue1xyXG4gICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgfVxyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1MHB4KSB7XHJcbiAgICAuaGVhZGluZy1mb3ItbmV3e1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAucF9oZWFkaW5ne1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICB9XHJcbiAgICAuaGVhZGluZ3tcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgfVxyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5MHB4KSB7XHJcbiAgICAuaGVhZGluZy1mb3ItbmV3e1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcbiAgICAucF9oZWFkaW5ne1xyXG4gICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuaGVhZGluZ3tcclxuICAgICAgZm9udC1zaXplOjEycHg7XHJcbiAgICB9XHJcbiAgICAuc3VibWl0LWJ1dHRvbntcclxuICAgICAgd2lkdGg6MjYwcHg7XHJcbiAgICB9XHJcbn1cclxuIiwicCB7XG4gIG1hcmdpbjogMCAwIDBweDtcbn1cblxuLmNsb3NlLWJ1dHRvbi1jc3Mge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctdG9wOiAzcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5kZXRhaWxzIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW46IC05cHggMHB4IDBweCAwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXQtUmVndWxhclwiO1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5tYWluIHtcbiAgd2lkdGg6IDY0cHg7XG4gIGhlaWdodDogMjJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLnJld2FyZHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAyMHB4O1xuICBtYXgtaGVpZ2h0OiA1MHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uaGVhZGluZy1mb3ItbmV3IHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBjb2xvcjogI0U4MDUxMDtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93LUJvbGRcIjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5yYWRpby1idXR0b24tdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXQtUmVndWxhclwiO1xuICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbn1cblxuc3Ryb25nIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LVNlbWlCb2xkXCI7XG59XG5cbi5hZGRfaXRlbSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5oZWFkaW5nIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdC1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG4uY3Jvd24ge1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LUJvbGRcIjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDQwcHg7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLmltYWdlLXBvaW50LXdpZHRoIHtcbiAgbWF4LXdpZHRoOiAyOHB4O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG5cbi5wX2hlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0LVNlbWlCb2xkXCI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5yZXdhcmRzLWNzcyB7XG4gIG1hcmdpbjogMHB4IDBweCAwcHggNnB4O1xufVxuXG4uc2tpcC1idXR0b24ge1xuICBmb250LWZhbWlseTogXCJCYXJsb3ctQm9sZFwiO1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLS1iYWNrZ3JvdW5kOiNFODA1MTA7XG4gIC0tYmFja2dyb3VuZC1hY3RpdmF0ZWQ6I0U4MDUxMCA7XG4gIC0tYmFja2dyb3VuZC1mb2N1c2VkOiAjRTgwNTEwO1xuICAtLWJhY2tncm91bmQtaG92ZXI6I0U4MDUxMCA7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xufVxuXG4uc3VibWl0LWJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvdy1Cb2xkXCI7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtLWJhY2tncm91bmQ6I0U4MDUxMDtcbiAgLS1iYWNrZ3JvdW5kLWFjdGl2YXRlZDojRTgwNTEwIDtcbiAgLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6ICNFODA1MTA7XG4gIC0tYmFja2dyb3VuZC1ob3ZlcjojRTgwNTEwIDtcbn1cblxuLmltYWdlLXdpZHRoIHtcbiAgbWF4LXdpZHRoOiA1NXB4O1xuICBtYXJnaW4tYm90dG9tOiA5cHg7XG59XG5cbi5tYXQtY2FyZCB7XG4gIHBhZGRpbmctdG9wOiAxM3B4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogLTI4cHg7XG59XG5cbi5pdGVtLW5hbWUtY3NzIHtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXQtUmVndWxhclwiO1xufVxuXG4ucm93IHtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBwYWRkaW5nOiAwIDMwcHg7XG59XG5cbi5yb3ctd2lkdGgge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNhcmQtY3NzIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMTEsIDIxMSwgMjExLCAwLjQzKTtcbn1cblxuLmJhY2stY3NzIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogXCJCYXJsb3ctUmVndWxhclwiO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IGJsYWNrO1xuICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAuaGVhZGluZy1mb3ItbmV3IHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gIH1cblxuICAucF9oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cblxuICAuaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgLmhlYWRpbmctZm9yLW5ldyB7XG4gICAgZm9udC1zaXplOiAyN3B4O1xuICB9XG5cbiAgLnBfaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG5cbiAgLmhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgLmhlYWRpbmctZm9yLW5ldyB7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICB9XG5cbiAgLnBfaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICB9XG5cbiAgLmhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE1cHgpIHtcbiAgLmhlYWRpbmctZm9yLW5ldyB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICB9XG5cbiAgLnBfaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgLmhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuXG4gIC5za2lwLWJ1dHRvbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1MHB4KSB7XG4gIC5oZWFkaW5nLWZvci1uZXcge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxuXG4gIC5wX2hlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuXG4gIC5oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5MHB4KSB7XG4gIC5oZWFkaW5nLWZvci1uZXcge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuXG4gIC5wX2hlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgfVxuXG4gIC5oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cblxuICAuc3VibWl0LWJ1dHRvbiB7XG4gICAgd2lkdGg6IDI2MHB4O1xuICB9XG59Il19 */\";","import { Component, OnInit } from '@angular/core';\r\nimport { AlertController, MenuController, ModalController, NavController } from '@ionic/angular';\r\nimport {Input} from \"@angular/core\";\r\nimport { SubjectCollectionService } from 'src/app/service/subject-collection.service';\r\nimport { ResturantApiService } from 'src/app/service/resturant-api.service';\r\nimport { UtilityService } from 'src/app/service/utility.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Component({\r\n selector: 'app-rewards',\r\n templateUrl: './rewards.page.html',\r\n styleUrls: ['./rewards.page.scss'],\r\n})\r\nexport class RewardsPage implements OnInit {\r\n @Input() rewards_programs:any;\r\n @Input() account_info:any;\r\n public reward_tiers:any;\r\n public reward_tier_id: any;\r\n public chck: boolean = false;\r\n public reward_button? : any;\r\n public free_item_available: any;\r\n constructor(\r\n public menu: MenuController,\r\n public modal_controller: ModalController,\r\n public navCtrl: NavController, \r\n public alertController: AlertController,\r\n public subject_service: SubjectCollectionService,\r\n public resturant_service: ResturantApiService,\r\n public util: UtilityService,\r\n public snackBar: MatSnackBar,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.reward_tiers=this.rewards_programs[0].reward_tiers;\r\n }\r\n handleSelected() {\r\n if (this.chck==false)\r\n {\r\n this.chck=true;\r\n }\r\n else{\r\n this.chck=false;\r\n this.reward_button = false;\r\n }\r\n }\r\n closeWithSkip(){\r\n this.modal_controller.dismiss({reward_tier_id : null , do_payment : true});\r\n \r\n }\r\n closeModel()\r\n {\r\n this.modal_controller.dismiss({reward_tier_id : this.reward_tier_id , do_payment : true});\r\n }\r\n async alertMessage(question, message,time) {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: question,\r\n message: message,\r\n buttons: [\r\n {\r\n text: \"OK\",\r\n role: \"OK\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => { },\r\n },\r\n ],\r\n });\r\n setTimeout(async ()=>await alert.present(),time);\r\n }\r\n async add_to_cart_free_item(id){\r\n debugger\r\n var menu=JSON.parse(localStorage.getItem(\"menu\"));\r\n var a = menu.filter(x => x.variation.some((obj) => obj.id ==id));\r\n\r\n if(a[0].isSold==true)\r\n {\r\n this.alertMessage(\"Sold out!!\",\"Item is sold out.\",0);\r\n }\r\n else{\r\n var vm = this;\r\n vm.util.presentLoading();\r\n var order_detail: any = [];\r\n var all_taxes: any = [];\r\n order_detail = await a.map(\r\n (e) => {\r\n var taxes: any = [];\r\n if (e.itemTax && e.itemTax.length > 0) {\r\n for (let j = 0; j < e.itemTax.length; j++) {\r\n taxes.push({\r\n OrderDetailTaxId: e.itemTax[j].id,\r\n });\r\n }\r\n }\r\n var data = {\r\n VariationId: id,\r\n Quantity: \"1\",\r\n OrderDetailTaxes: [...taxes]\r\n };\r\n return data;\r\n }\r\n );\r\n\r\n order_detail.map((f) => {\r\n f.OrderDetailTaxes.map((g) => {\r\n all_taxes.push({ OrderDetailTaxId: g.OrderDetailTaxId });\r\n });\r\n });\r\n\r\n var result = all_taxes.reduce((unique, o) => {\r\n if (!unique.some((obj) => obj.OrderDetailTaxId == o.OrderDetailTaxId)) {\r\n unique.push(o);\r\n }\r\n return unique;\r\n }, []);\r\n\r\n var all_taxes_filtered: any;\r\n all_taxes_filtered = result.map((e) => {\r\n return { TaxId: e.OrderDetailTaxId };\r\n });\r\n vm.subject_service.getWaitingForCart(true);\r\n vm.subject_service.getWaitingForSubtotal(true);\r\n \r\n let order_id = localStorage.getItem(\"order_id\");\r\n var location_id = JSON.parse(\r\n localStorage.getItem(\"current_resturant_data\")\r\n )[\"id\"];\r\n var item_add_to_cart = {\r\n LocationId:location_id,\r\n OrderDetails: [...order_detail],\r\n Taxes: [...all_taxes_filtered],\r\n OrderId:order_id\r\n };\r\n var p = await vm.clean(item_add_to_cart);\r\n p.OrderDetails = p.OrderDetails.map((e) => {\r\n return vm.clean(e);\r\n });\r\n if (p.Taxes) {\r\n p.Taxes.TaxId = await vm.removeByAttr(p.Taxes, \"TaxId\", \"\");\r\n }\r\n vm.resturant_service.createOrderWithoutUserInfo(p).subscribe(\r\n (data: any) => {\r\n vm.util.dismissLoader();\r\n vm.afterGettingResponseFromOrderApiWithoutUser(data);\r\n },\r\n (error) => {\r\n vm.util.dismissLoader();\r\n vm.snackBar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n vm.subject_service.getWaitingForCart(false);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n }\r\n );\r\n this.reward_button = true;\r\n }\r\n\r\n }\r\n afterGettingResponseFromOrderApiWithoutUser(data) {\r\n\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let vm = this;\r\n let data_got: any = [];\r\n let subtotal: any = null;\r\n if (data) {\r\n if (data.subTotal) {\r\n subtotal = {\r\n subtotal: {\r\n amount: data.subTotal,\r\n currency: \"USD\",\r\n },\r\n tax: {\r\n amount: data.totalTax *(0.19075/0.1825),\r\n currency: \"USD\",\r\n },\r\n };\r\n }\r\n\r\n if (data.orderDetails) {\r\n data.orderDetails.map((e) => {\r\n let p: any = [];\r\n let taxes: any = [];\r\n var total_money: any = 0;\r\n if (\r\n e.orderDetailCustomizations &&\r\n e.orderDetailCustomizations.length > 0\r\n ) {\r\n e.orderDetailCustomizations.map((f) => {\r\n p.push({\r\n name: f.customizationOptionName,\r\n catalog_id: f.itemCustomizationOptionId,\r\n customizationOptionPrice: f.customizationOptionPrice\r\n ? f.customizationOptionPrice\r\n : null,\r\n customizationOptionVariationName: f.customizationOptionVariationName\r\n ? f.customizationOptionVariationName\r\n : null,\r\n uid: f.uid,\r\n amount: f.customizationOptionPrice,\r\n });\r\n total_money =\r\n total_money + parseFloat(f.customizationOptionPrice);\r\n });\r\n }\r\n if (e.orderDetailTaxes && e.orderDetailTaxes.length > 0) {\r\n e.orderDetailTaxes.map((g) => {\r\n taxes.push({\r\n OrderDetailTaxId: g.orderDetailTaxId,\r\n });\r\n });\r\n }\r\n data_got.push({\r\n variation_price: e.variationPrice,\r\n variation_currency: \"USD\",\r\n variation_name: e.variationName,\r\n uid: e.uid,\r\n catalog_id: e.variationId,\r\n item_name: e.itemName,\r\n quantity: e.quantity,\r\n amount: JSON.stringify(\r\n JSON.parse(e.quantity) *\r\n (JSON.parse(e.variationPrice) + total_money)\r\n ),\r\n currency: \"USD\",\r\n customisation: p,\r\n tax_id: taxes,\r\n });\r\n });\r\n }\r\n }\r\n localStorage.setItem(\"order_id\", data[\"orderId\"]);\r\n vm.subject_service.getcartReponse(data_got);\r\n localStorage.setItem(\"cart_response\", JSON.stringify(data_got));\r\n localStorage.setItem(\"cart_subtotal\", JSON.stringify(subtotal));//subtotal\r\n vm.subject_service.getSubtotalReponse(subtotal);\r\n vm.subject_service.getWaitingForSubtotal(false);\r\n vm.subject_service.getWaitingForCart(false);\r\n resolve(\"success\");\r\n } catch (error) {\r\n reject(\"error\");\r\n }\r\n });\r\n }\r\n clean(obj) {\r\n var vm = this;\r\n for (var propName in obj) {\r\n if (\r\n obj[propName] == null ||\r\n obj[propName] == \"\" ||\r\n obj[propName] == undefined\r\n ) {\r\n delete obj[propName];\r\n }\r\n }\r\n return obj;\r\n }\r\n removeByAttr(arr, attr, value) {\r\n var i = arr.length;\r\n while (i--) {\r\n if (\r\n arr[i] &&\r\n arr[i].hasOwnProperty(attr) &&\r\n arguments.length > 2 &&\r\n arr[i][attr] === value\r\n ) {\r\n arr.splice(i, 1);\r\n }\r\n }\r\n return arr;\r\n }\r\n rewardChange(event,id,definition)\r\n {\r\n var cart_response = localStorage.getItem(\"cart_response\")\r\n ? JSON.parse(localStorage.getItem(\"cart_response\"))\r\n : [];\r\n cart_response.some(element=>{\r\n if(element.catalog_id == definition.catalog_object_ids[0] )\r\n {\r\n this.free_item_available = true;\r\n return true;\r\n }\r\n else{\r\n this.free_item_available = false;\r\n }\r\n });\r\n if(this.free_item_available == true)\r\n {\r\n this.reward_button = true;\r\n }\r\n else{\r\n this.reward_button = false;\r\n // this.presentAlert(definition.catalog_object_ids[0]);\r\n this.add_to_cart_free_item(definition.catalog_object_ids[0]);\r\n }\r\n this.reward_tier_id=id;\r\n }\r\n async presentAlert(id) {\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"Add Free Item In The Cart!!\",\r\n message:\r\n \"Your basket does not contain free item to redeem this reward.\",\r\n buttons: [\r\n \r\n {\r\n text: \"ADD FREE ITEM\",\r\n role: \"OK\",\r\n cssClass: \"add_item\",\r\n handler: () => {\r\n this.add_to_cart_free_item(id);\r\n },\r\n },\r\n {\r\n text: \"OK\",\r\n role: \"OK\",\r\n cssClass: \"secondary\",\r\n handler: () => {\r\n },\r\n }\r\n ],\r\n });\r\n\r\n await alert.present();\r\n }\r\n openHome() {\r\n this.modal_controller.dismiss({reward_tier_id : null , do_payment : false});\r\n this.navCtrl.navigateRoot(\"ordering-system\");\r\n\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Observable, throwError } from \"rxjs\";\r\nimport { Storage } from \"@ionic/storage\";\r\nimport { Platform, NavController } from \"@ionic/angular\";\r\nimport { UtilityService } from \"./utility.service\";\r\nimport { tap, catchError } from \"rxjs/operators\";\r\nimport { SubjectCollectionService } from \"./subject-collection.service\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AuthService {\r\n public base_url: any;\r\n constructor(\r\n private http: HttpClient,\r\n private storage: Storage,\r\n // tslint:disable-next-line: whitespace\r\n public plt: Platform,\r\n public util: UtilityService,\r\n public snackbar: MatSnackBar,\r\n // tslint:disable-next-line: variable-name\r\n public subject_service: SubjectCollectionService,\r\n public navCtrl: NavController\r\n ) {\r\n this.base_url = environment.test_url;\r\n }\r\n // tslint:disable-next-line: variable-name\r\n sendAuthCredentialsToBackend(data_to_be_send) {\r\n var vm = this;\r\n // vm.util.presentLoading();\r\n return new Promise((resolve, reject) => {\r\n\r\n this.http\r\n .post(this.base_url + \"/Authentication/ExternalLogin\", {\r\n ...data_to_be_send,\r\n })\r\n .subscribe(\r\n (result: any) => {\r\n vm.subject_service.getLoginData(result);\r\n localStorage.setItem(\"user_info\", JSON.stringify(result));\r\n resolve(result);\r\n },\r\n (error) => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n }\r\n register(data_to_be_send) {\r\n return new Promise((resolve, reject) => {\r\n const vm = this;\r\n this.http\r\n .post(this.base_url + \"/Authentication/register\", {\r\n ...data_to_be_send,\r\n })\r\n .subscribe(\r\n async (result) => {\r\n resolve(result);\r\n },\r\n (error) => {\r\n vm.snackbar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n reject(error);\r\n }\r\n );\r\n });\r\n }\r\n resetPassword(body_to_be_sent){\r\n return new Promise((resolve, reject) => {\r\n this.http\r\n .post(\r\n this.base_url + \"/Authentication/ResetPassword\",\r\n { ...body_to_be_sent },\r\n { responseType: \"json\", observe: \"response\" }\r\n )\r\n .subscribe(\r\n (data)=>{\r\n resolve(data);\r\n },\r\n (error)=>{\r\n reject(error);\r\n }\r\n );\r\n });\r\n }\r\n login(data_to_be_send: { username?: any; password?: any; email?: any }) {\r\n return new Promise((resolve, reject) => {\r\n const vm = this;\r\n const httpOptions = {\r\n observe: \"response\" as \"response\",\r\n };\r\n this.http\r\n .post(\r\n this.base_url + \"/Authentication/login\",\r\n { ...data_to_be_send },\r\n { responseType: \"json\", observe: \"response\" }\r\n )\r\n .subscribe(\r\n (result) => {\r\n localStorage.setItem(\"token\", result.headers.get(\"Token\"));\r\n localStorage.setItem(\"user_info\", JSON.stringify(result.body));\r\n vm.subject_service.getLoginData(result.body);\r\n vm.snackbar.open(\"Login successful\", \"Done\", { duration: 2000 });\r\n resolve(\"success\");\r\n },\r\n (error) => {\r\n vm.snackbar.open(error, \"Done\", {\r\n duration: 2000,\r\n });\r\n reject(error);\r\n }\r\n );\r\n });\r\n }\r\n logOut(): Observable {\r\n // tslint:disable-next-line: prefer-const\r\n let vm = this;\r\n return this.http.get(this.base_url + \"/Authentication/logout\").pipe(\r\n tap((data) => {\r\n vm.subject_service.getLoginData(null);\r\n vm.navCtrl.navigateRoot(\"ordering-system\");\r\n vm.subject_service.getOrderAddress(null);\r\n vm.subject_service.getOrderTiming(null);\r\n vm.subject_service.getOrderTimeMode(null);\r\n vm.subject_service.getOrderMode(null);\r\n vm.subject_service.getLocationItems(null);\r\n vm.subject_service.getSubtotalReponse(null);\r\n vm.subject_service.getcartReponse(null);\r\n vm.subject_service.getcartValue(null);\r\n vm.subject_service.getItemCount(0);\r\n catchError((error) => {\r\n return throwError(error);\r\n });\r\n })\r\n );\r\n }\r\n changePassword(data) {\r\n return this.http.post(\r\n this.base_url + \"/Authentication/ChangePassword\",\r\n data\r\n );\r\n }\r\n cancelAccount(email) {\r\n var data = { Email: email };\r\n return this.http.post(this.base_url + \"/Authentication/Cancel\", data);\r\n }\r\n updateProfile(data) {\r\n return this.http.post(\r\n this.base_url + \"/Authentication/UpdateUserDetail\",\r\n data\r\n );\r\n }\r\n updateAccount(data_to_be_send) {\r\n return new Promise((resolve, reject) => {\r\n const vm = this;\r\n let header = new HttpHeaders().set(\r\n \"Authorization\",\r\n localStorage.getItem(\"token\")\r\n );\r\n this.http\r\n .post(this.base_url + \"/Authentication/UpdateUserDetail\", {\r\n ...data_to_be_send}, { responseType: \"json\", observe: \"response\" ,headers: header}\r\n )\r\n .subscribe(\r\n (result) => {\r\n localStorage.setItem(\"user_info\", JSON.stringify(result.body));\r\n resolve(result);\r\n },\r\n (error) => {\r\n vm.snackbar.open(\"Error occured during update\", \"Done\", {\r\n duration: 2000,\r\n });\r\n reject(error);\r\n }\r\n );\r\n });\r\n }\r\n forgotPassword(forgot_password) {\r\n var data = { Email: forgot_password.email };\r\n return this.http.post(\r\n this.base_url + \"/Authentication/ForgotPassword\",\r\n data\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigService {\r\npublic image_url_for_smaller_image:any;\r\npublic image_url_for_larger_image:any;\r\n\r\n constructor() { \r\n this.image_url_for_smaller_image=environment.image_url_for_smaller;\r\n this.image_url_for_larger_image=environment.image_url_for_larger;\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { catchError } from 'rxjs/internal/operators/catchError';\r\nimport {\r\n HttpErrorResponse,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n} from '@angular/common/http';\r\nimport { throwError, Observable } from 'rxjs';\r\nimport { retry } from 'rxjs/operators';\r\nimport { AlertController } from '@ionic/angular';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class InterceptorService implements HttpInterceptor {\r\n constructor(\r\n public alertController: AlertController\r\n ) {}\r\n async presentAlert(message) {\r\n const alert = await this.alertController.create({\r\n cssClass: 'my-custom-class',\r\n header: 'Report to Administrator',\r\n \r\n message: message,\r\n buttons: ['OK']\r\n });\r\n\r\n await alert.present();\r\n }\r\n intercept(\r\n request: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n var vm=this;\r\n // if (!window.navigator.onLine) {\r\n // // if there is no internet, throw a HttpErrorResponse error\r\n // // since an error is thrown, the function will terminate here\r\n // const error = {\r\n // status: 0,\r\n // error: {\r\n // description: 'Check Connectivity!'\r\n // },\r\n // statusText: 'Check Connectivity!'\r\n // };\r\n // return throwError(new HttpErrorResponse(error));\r\n // } \r\n \r\n request = request.clone({\r\n setHeaders: {\r\n 'Content-Type': 'application/json; charset=utf-8',\r\n Accept: 'application/json',\r\n Authorization: `Bearer ${localStorage.getItem('token')}`,\r\n },\r\n });\r\n return next.handle(request).pipe(\r\n // retry(1),\r\n catchError((error: HttpErrorResponse) => {\r\n let errorMessage = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // client-side error\r\n errorMessage = `Error: ${error.error.message}`;\r\n } else {\r\n // server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n if(error.status==500){\r\n vm.presentAlert(error.error)\r\n }\r\n return throwError(error.error);\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FormControl, Validators, FormGroup } from '@angular/forms';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OptionsService {\r\n\r\n constructor() { }\r\n toFormGroup(questions: any ) {\r\n let group: any = {};\r\n\r\n questions.forEach(question => {\r\n group[question.key] = question.required ? new FormControl(question.value || '', Validators.required)\r\n : new FormControl(question.value || '');\r\n });\r\n return new FormGroup(group);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { UtilityService } from './utility.service';\r\nimport { tap, catchError, map } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ResturantApiService {\r\n // tslint:disable-next-line: variable-name\r\n public base_url :any\r\n constructor(\r\n public http: HttpClient,\r\n public util: UtilityService\r\n ) { \r\n this.base_url=environment.base_url;\r\n }\r\n\r\n createOrderWithoutUserInfo(body_to_be_sent){\r\n debugger\r\n if(localStorage.getItem('user_info')){\r\n body_to_be_sent.CustomerId=localStorage.getItem('user_info')?JSON.parse(localStorage.getItem('user_info'))['squareCustomerid']:\"\"\r\n }\r\n if(localStorage.getItem('guest_info')){\r\n body_to_be_sent.CustomerId=localStorage.getItem('guest_info')?JSON.parse(localStorage.getItem('guest_info'))['squareCustomerId']:\"\"\r\n }\r\n debugger;\r\n console.log(\"BodyToBeSent\");\r\n console.log(body_to_be_sent);\r\n return this.http.post(this.base_url + '/order/CreateSquareOrder',body_to_be_sent);\r\n\r\n }\r\n getRecentOrders(): Observable{\r\n debugger;\r\n var customer_id=localStorage.getItem('user_info')?JSON.parse(localStorage.getItem('user_info'))['squareCustomerid']:\"\"\r\n var location_id = JSON.parse(\r\n localStorage.getItem(\"current_resturant_data\")\r\n )[\"id\"];\r\n return this.http.get(this.base_url + '/order/GetPaidOrders?customerId='+customer_id +'&locationId='+location_id);\r\n\r\n }\r\n errorService(){\r\n return this.http.get(this.base_url + '/Order/SearchOrderr');\r\n\r\n }\r\n searchOrder(order_to_searched){\r\n return this.http.post(this.base_url + '/Order/SearchOrder',order_to_searched);\r\n\r\n }\r\n placeOrder(body_to_be_sent,square_customer_id?){\r\n debugger\r\n var customer_id:any;\r\n if(!square_customer_id){\r\n customer_id=localStorage.getItem('user_info')?JSON.parse(localStorage.getItem('user_info'))['squareCustomerid']:\"\"\r\n\r\n }\r\n if(localStorage.getItem('guest_info')){\r\n debugger\r\n customer_id=localStorage.getItem('guest_info')?JSON.parse(localStorage.getItem('guest_info'))['squareCustomerId']:\"\"\r\n }\r\n else{\r\n customer_id:square_customer_id\r\n }\r\n \r\n body_to_be_sent['CustomerId']=customer_id\r\n return this.http.post(this.base_url + '/order/CreatePayment',body_to_be_sent);\r\n\r\n }\r\n contactUs(body_to_be_sent){\r\n return this.http.post( 'https://testservice.citadelbbq.com' + '/Home/ContactUs',body_to_be_sent);\r\n\r\n }\r\n createOrderApi(body_to_be_sent,customer_id?){\r\n debugger\r\n var customer_id:any\r\n if(customer_id){\r\n customer_id=customer_id\r\n }\r\n else{\r\n debugger\r\n customer_id=localStorage.getItem('user_info')?JSON.parse(localStorage.getItem('user_info'))['squareCustomerid']:\"\"\r\n \r\n }\r\n\r\n body_to_be_sent.CustomerId=customer_id\r\n return this.http.post(this.base_url + '/order/CreateOrder',body_to_be_sent);\r\n\r\n }\r\n\r\n getAllResturants(): Observable {\r\n \r\n return this.http.get(this.base_url + '/Location/GetAll');\r\n }\r\n\r\n getResturantById(id): Observable {\r\n return this.http.get(this.base_url + '/Location/GetById/?id=' + id);\r\n }\r\n getCard(): Observable{\r\n var customer_id=localStorage.getItem('user_info')?JSON.parse(localStorage.getItem('user_info'))['squareCustomerid']:\"\"\r\n return this.http.get(this.base_url + '/order/GetCards?customerId='+customer_id );\r\n\r\n }\r\n createCard(body_of_card): Observable{\r\n var customer_id=localStorage.getItem('user_info')?JSON.parse(localStorage.getItem('user_info'))['squareCustomerid']:\"\"\r\nbody_of_card.CustomerId=customer_id\r\n return this.http.post(this.base_url + '/order/CreateCustomerCard',body_of_card);\r\n\r\n }\r\n getCompleteMenu(): Observable{\r\n return this.http.get(this.base_url + '/Catalog/GetItems');\r\n }\r\n getCategoriesOfEachResturant(resturant_id?){\r\n // return this.http.get(this.base_url + '/Items/GetAllMenuCategoriesByRestaurantId?RestaurantId=' + resturant_id);\r\n return this.http.get(this.base_url + '/Catalog/GetCategories');\r\n\r\n }\r\n getCompleteMenuByLocation(location_id){\r\n\r\n return this.http.get(this.base_url+'/Catalog/GetItemsByLocationId?id='+location_id)\r\n }\r\n GetCategoriesbyLoaction(location_id){\r\n \r\n return this.http.get(this.base_url+'/Catalog/GetCategoriesbyLoaction?locationid='+location_id)\r\n }\r\n getItemsForEachCategory(category_id){\r\n return this.http.get(this.base_url + '/Catalog/GetItemsByCategoryId?id=' + category_id);\r\n }\r\n getCustomisationTypes(){\r\n return this.http.get(this.base_url + '/Items/GetAllCustomizationTypes');\r\n\r\n }\r\n getItemById(item_id){\r\n return this.http.get(this.base_url + '/Catalog/GetItemById?id='+item_id);\r\n\r\n }\r\n saveFavoriteOrders(body_of_favorite): Observable{\r\n return this.http.post(this.base_url + '/Order/SaveFavorite',body_of_favorite);\r\n\r\n }\r\n getFavorite(): Observable{\r\n return this.http.get(this.base_url+'/order/GetFavorite')\r\n }\r\n getLoyaltyPrograms(): Observable{\r\n return this.http.get(this.base_url+'/order/ListLoyaltyPrograms')\r\n } \r\n getLoyaltyAccount(customer_id):Observable{\r\n return this.http.get(this.base_url+'/order/RetrieveLoyaltyAccount?customerId='+customer_id);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport * as square from \"square-connect\";\r\nimport { environment } from \"src/environments/environment\";\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class SquareUtilService {\r\n public SquareConnect: any;\r\n public defaultClient: any;\r\n public oauth2: any;\r\n public catalogApi:any;\r\n public locationApi:any;\r\n public orderApi:any;\r\n public paymentApi:any;\r\n public loyaltyApi:any;\r\n constructor() {\r\n // this.SquareConnect = require(\"square-connect\");\r\n // this.defaultClient = this.SquareConnect.ApiClient.instance;\r\n // this.oauth2 = this.defaultClient.authentications[\"oauth2\"];\r\n // this.oauth2.accessToken = environment.square_keys.squareAccessToken;\r\n // this.defaultClient.basePath = environment.square_keys.path;\r\n // this.catalogApi = this.SquareConnect.CatalogApi();\r\n // this.locationApi = this.SquareConnect.LocationsApi();\r\n // this.orderApi = this.SquareConnect.OrdersApi();\r\n // this.paymentApi = this.SquareConnect.PaymentsApi();\r\n // this.loyaltyApi = this.SquareConnect.LoyaltyApi();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SubjectCollectionService {\r\n public form_modal_request = new Subject();\r\n public user_data = new Subject();\r\npublic cart_data = new Subject();\r\npublic cart_response = new Subject();\r\npublic waitng_for_cart_response = new Subject();\r\npublic waitng_for_subtotal_response = new Subject();\r\npublic get_sub_total = new Subject();\r\npublic all_items = new Subject();\r\npublic order_mode=new Subject();\r\npublic order_timing=new Subject();\r\npublic order_timing_type=new Subject();\r\npublic order_address=new Subject();\r\npublic schedule_time=new Subject();\r\npublic item_count=new Subject();\r\npublic total_amount_payable=new Subject();\r\npublic delivery_address=new Subject();\r\npublic current_resturant_data=new Subject();\r\npublic sign_up_sign_in_clicked=new Subject();\r\npublic got_fulfiment=new Subject();\r\npublic proceed_to_checkout_clicked=new Subject();\r\npublic error_message_onproceed_to_checkout_clicked=new Subject();\r\n constructor() { }\r\n getheaderButtonClicked(value){\r\n this.sign_up_sign_in_clicked.next(value);\r\n }\r\n subscibeToHeaderButtonClicked(): Observable{\r\n return this.sign_up_sign_in_clicked.asObservable();\r\n }\r\n getItemCount(value){\r\n this.item_count.next(value);\r\n }\r\n subscibeToItemCount(): Observable{\r\n return this.item_count.asObservable();\r\n }\r\n getTotalPayableAmount(value){\r\n this.total_amount_payable.next(value);\r\n }\r\n subscibeToTotalAmountPayable(): Observable{\r\n return this.total_amount_payable.asObservable();\r\n }\r\n getErrorMessageOnProceedToCheckOutClicked(value){\r\n localStorage.setItem(\"Proceed_checkout_error_message\",value)\r\n this.error_message_onproceed_to_checkout_clicked.next(value);\r\n }\r\n subscibeToErrormessageProceedToCheckOutClicked(): Observable{\r\n return this.error_message_onproceed_to_checkout_clicked.asObservable();\r\n }\r\n getProceedToCheckOutClicked(value){\r\n this.proceed_to_checkout_clicked.next(value);\r\n }\r\n subscibeToProceedToCheckOutClicked(): Observable{\r\n return this.proceed_to_checkout_clicked.asObservable();\r\n }\r\n getFulfilment(value){\r\n this.got_fulfiment.next(value);\r\n }\r\n subscibeToFulfimnet(): Observable{\r\n return this.got_fulfiment.asObservable();\r\n }\r\n getCurrentResturant(value){\r\n this.current_resturant_data.next(value);\r\n }\r\n subscibeToCurrentResturent(): Observable{\r\n return this.current_resturant_data.asObservable();\r\n }\r\n geScheduleTime(value){\r\n this.schedule_time.next(value);\r\n }\r\n subscibeToScheduleTime(): Observable{\r\n return this.schedule_time.asObservable();\r\n }\r\n subscibeToOrderAddress(){\r\n return this.order_address.asObservable();\r\n\r\n }\r\n getOrderAddress(value){\r\n this.order_address.next(value);\r\n }\r\n subscibeToOrderTiming(){\r\n return this.order_timing.asObservable();\r\n\r\n }\r\n getOrderTiming(value){\r\n this.order_timing.next(value);\r\n }\r\n getOrderTimeMode(value){\r\n this.order_timing_type.next(value);\r\n }\r\n subscibeToOrderTimeMode(): Observable{\r\n return this.order_timing_type.asObservable();\r\n }\r\n getOrderMode(value){\r\n this.order_mode.next(value);\r\n }\r\n subscibeToOrderMode(): Observable{\r\n return this.order_mode.asObservable();\r\n }\r\n getLocationItems(value){\r\n this.all_items.next(value);\r\n }\r\n subscibeTolocatinItems(): Observable{\r\n return this.all_items.asObservable();\r\n }\r\n getSubtotalReponse(value){\r\n this.get_sub_total.next(value);\r\n }\r\n subscibeToSubtotal(): Observable{\r\n return this.get_sub_total.asObservable();\r\n }\r\n getcartReponse(value){\r\n this.cart_response.next(value);\r\n }\r\n subscibeToResponseFromCart(): Observable{\r\n return this.cart_response.asObservable();\r\n }\r\n getWaitingForSubtotal(value){\r\n this.waitng_for_subtotal_response.next(value);\r\n }\r\n subscibeToWaitingSubtotal(): Observable{\r\n return this.waitng_for_subtotal_response.asObservable();\r\n }\r\n getWaitingForCart(value){\r\n this.waitng_for_cart_response.next(value);\r\n }\r\n subscibeToWaitingAddToCart(): Observable{\r\n return this.waitng_for_cart_response.asObservable();\r\n }\r\n getcartValue(form_name){\r\n this.cart_data.next(form_name);\r\n }\r\n subscibeToCartValue(): Observable{\r\n return this.cart_data.asObservable();\r\n }\r\n getFormModalTypeToBeOpened(form_name){\r\n this.form_modal_request.next(form_name);\r\n }\r\n subscibeToFormModalType(): Observable{\r\n return this.form_modal_request.asObservable();\r\n }\r\n getThemeToBeApplied(form_name){\r\n this.form_modal_request.next(form_name);\r\n }\r\n subscibeToThemeApplied(): Observable{\r\n return this.form_modal_request.asObservable();\r\n }\r\n getLoginData(user_info){\r\n this.user_data.next(user_info);\r\n }\r\n subscibeToLoginData(): Observable{\r\n return this.user_data.asObservable();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AlertController, LoadingController, PopoverController } from '@ionic/angular';\r\nimport { UserInfoComponent } from '../component/user-info/user-info.component';\r\nimport { environment } from 'src/environments/environment';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { RegisterSignInComponent } from '../component/register-sign-in/register-sign-in.component';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UtilityService {\r\npublic isLoading:any;\r\n constructor(\r\n public loadingController: LoadingController,\r\n public popoverController: PopoverController,\r\n private _snackBar: MatSnackBar,\r\n public alertController: AlertController\r\n ) { \r\n this.isLoading=false;\r\n }\r\n log(message?,data?){\r\nif(environment.production==false){\r\n if(message && data){\r\n\r\n }\r\n if(message){\r\n }\r\n if(!data && !message){\r\n }\r\n}\r\n }\r\n async presentLoading() {\r\n return new Promise(async (resolve,reject)=>{\r\n var vm=this;\r\n const loading = await this.loadingController.create({\r\n cssClass: 'waiting-loader',\r\n spinner: 'bubbles'\r\n // message: 'Please wait...',\r\n \r\n });\r\n loading.present().then((data)=>{\r\n vm.isLoading=true;\r\n resolve(\"success********\")\r\n },(error)=>{\r\n reject(error)\r\n })\r\n \r\n })\r\n }\r\n async dismissLoader(load?){\r\n var vm=this;\r\n this.isLoading=true;\r\n if(this.isLoading==true){\r\n this.loadingController.dismiss().then(()=>{\r\n vm.isLoading=false;\r\n }).catch(() => {});\r\n }\r\n\r\n }\r\n async presentPopover1(ev: any,items,current_resturant){\r\n const popover = await this.popoverController.create({\r\n component: RegisterSignInComponent,\r\n cssClass: '',\r\n event: ev,\r\n componentProps:{items:items,current_resturant:current_resturant},\r\n translucent: true\r\n });\r\n return await popover.present();\r\n }\r\n async presentPopover(ev: any,data,items,current_resturant) {\r\n const popover = await this.popoverController.create({\r\n component: UserInfoComponent,\r\n cssClass: 'user-info-css',\r\n event: ev,\r\n componentProps:{data:data,items:items,current_resturant:current_resturant},\r\n translucent: true\r\n });\r\n return await popover.present();\r\n }\r\n dismissPopover(){\r\n this.popoverController.dismiss();\r\n }\r\n showErrorMessage(error){\r\n if(typeof(error)==\"object\"){\r\n var message:any=\"\";\r\n for(var i=0;i${error[Object.keys(error)[i]]}`\r\n }\r\n this.openAlertMessage(message)\r\n }\r\n else if(typeof(error)==\"string\"){\r\n this.openAlertMessage(error)\r\n }\r\n }\r\n async openAlertMessage(message) {\r\n var vm = this;\r\n const alert = await this.alertController.create({\r\n cssClass: \"my-custom-class\",\r\n header: \"Following error has occurred\",\r\n message: message,\r\n buttons: [\r\n {\r\n text: \"OK\",\r\n role: \"OK\",\r\n cssClass: \"secondary\",\r\n handler: (blah) => {},\r\n },\r\n ],\r\n });\r\n await alert.present();\r\n }\r\n}\r\n","export const environment = {\r\n production: false,\r\n//prod\r\n image_url_for_larger: 'https://azapp-citadeladmin-thanksgiving-prod.azurewebsites.net/images(500X300)/',\r\n image_url_for_smaller: 'https://azapp-citadeladmin-thanksgiving-prod.azurewebsites.net/images(300X200)/',\r\n base_url: 'https://azapp-citadelservice-thanksgiving-prod.azurewebsites.net',\r\n test_url: 'https://azapp-citadelservice-thanksgiving-prod.azurewebsites.net',\r\n\r\n //test\r\n// image_url_for_larger: 'https://azapp-citadeladmin-thanksgiving-prod.azurewebsites.net/images(500X300)/',\r\n// image_url_for_smaller: 'https://azapp-citadeladmin-thanksgiving-prod.azurewebsites.net/images(300X200)/',\r\n// base_url : 'http://localhost:61689',\r\n// test_url:'http://localhost:61689',\r\n\r\n//sandbox\r\n \r\n// square_keys: {\r\n// squareApplicationId: \"sandbox-sq0idb-LWZjuN3GR88-6KZ4YgU0Xg\",\r\n// squareAccessToken:\"EAAAEM2Jj5gbPazY1ObFmhq5_naDn-uFsYG3L4GjVhIxPWlI0G6lfJAbQ93Xnfdw\",\r\n// path: \"https://connect.squareupsandbox.com\",\r\n// script_path: \"https://js.squareupsandbox.com/v2/paymentform\"\r\n// },\r\n\r\n//production\r\n\r\n square_keys: {\r\n squareApplicationId: \"sq0idp-uS3DRVFAuyrgxCxSbQT3bw\",\r\n squareAccessToken: \"EAAAFE1dzBpE8i_0BeBB9bZxjTv4ttPHsvfPIz_AKfGpWRDGzSJ2u-pV4DH3dVfj\",\r\n path: \"https://connect.squareup.com\",\r\n script_path: \"https://js.squareup.com/v2/paymentform\"\r\n }, \r\n\r\n\r\n //sandbox\r\n // payment_form:{\r\n // src:\"https://sandbox.web.squarecdn.com/v1/square.js\" \r\n\r\n // }, \r\n //production\r\n payment_form:{\r\n // src:\"https://js.squareup.com/v2/paymentform\" \r\n src:\"https://web.squarecdn.com/v1/square.js\" \r\n },\r\n \r\n \r\n //sandbox -->\r\n //