1"use strict";(self.webpackChunkyumzy=self.webpackChunkyumzy||[]).push([[1146],{91146:function(e,o,n){n.r(o),n.d(o,{FoodPreferencesMobileModule:function(){return I}});var t=n(97582),i=n(37716),s=n(38583),r=n(67957),c=n(29410),d=n(34571),a=n(3679),l=n(63333),f=n(21633),p=n(53787),h=n(56371),g=n(53117),m=n(90787);let u=class{constructor(e,o,n,t,i){this.router=e,this.accountService=o,this.fb=n,this.toast=t,this.analyticsService=i,this.foodPreferencesFilterList=h.lp,this.foodPreferencesList=[],this.selectedIndex=null,this.isInitForm=!1,this.selectedCuisinesList=[],this.foodFilter="",this.selectFoodFilter="",this.foodPersonalizationList=[],this.isFoodPersonalizationView=!1,this.isFoodPresFormInited=!1,this.selectedCate=[],this.selectedCuisinesArr=[],this.activeAccordionId="",this.selectedFoodPreferences=[],this.selectedCuisinesLength=0,this.isInitForm=!1,this.isFoodPersonalizationView=!1,this.isFoodPresFormInited=!1,console.log(this.isFoodPersonalizationView),this.getFoodPreferencesData()}getFoodPreferencesData(){this.accountService.getFoodPreferences().then(e=>{const o=e.body.data;console.log(o),this.foodPreferencesList=o,this.initForm(),this.getSelectedFoodPreferences()})}initForm(){const e=this.foodPreferencesList.map(e=>new a.NI(!1));this.foodFilterForm=this.fb.group({foodPrefersArr:new a.Oe(e)}),this.isInitForm=!0}onFoodFilterItem(e,o){this.selectedIndex=o,this.foodFilter=e.val,this.selectFoodFilter=e.name}createObjForFoodFilter(){const e=this.foodFilterForm.value;return this.selectedCuisinesList=[],this.foodPreferencesList.filter((o,n)=>{e.foodPrefersArr.forEach((e,t)=>{n===t&&!0===e&&this.selectedCuisinesList.push(o.prefId)})}),{filter:this.foodFilter,selected:this.selectedCuisinesList}}onNext(){return(0,t.mG)(this,void 0,void 0,function*(){const e=yield this.createObjForFoodFilter();this.selectedCuisinesLength>1?this.foodFilter?this.accountService.foodPreferencesTags(e).then(e=>(0,t.mG)(this,void 0,void 0,function*(){const o=e.body.data;this.foodPersonalizationList=o,this.isFoodPersonalizationView=!0,yield this.initFoodPersonalizeForm(),this.selectedFoodPreferences.likedFoodCategories.length>0&&this.foodPersonalizationList.forEach((e,o)=>{this.selectedFoodPreferences.likedFoodCategories.some(o=>e.title===o)&&e.values.map((n,t)=>{this.selectedFoodPreferences.likedFoodTags.some(e=>n.toLowerCase()===e.toLowerCase())&&this.foodPersonalizeForm.controls.preferencesArr.controls[o].controls[e.title].controls[t].setValue(!0)})})})):this.toast.presentToast(g.B.SELECT_FOOD_FILTER_MSG,"Error","error"):this.toast.presentToast(g.B.SELECT_MIN_TWO_CUISINE_MSG,"","error")})}toggleAccordion(e,o){this.activeAccordionId=this.activeAccordionId==e.panelId?"":e.panelId}initFoodPersonalizeForm(){const e=this.foodPersonalizationList.map(e=>this.createGroup(e.title,e.values));this.foodPersonalizeForm=this.fb.group({preferencesArr:this.fb.array(e)}),this.isFoodPresFormInited=!0}createGroup(e,o){return this.fb.group({[e]:this.fb.array(o.map(e=>new a.NI(!1)))})}getFormValue(e,o,n){return this.foodPersonalizeForm.controls.preferencesArr.controls[e].controls[n].controls[o].value}onBackFoodPrefer(){this.isFoodPersonalizationView=!1}createObjForFoodPersonalization(){const e=this.foodPersonalizeForm.value;return this.selectedCuisinesArr=[],this.selectedCate=[],this.foodPersonalizationList.forEach(o=>{const n=e.preferencesArr.find(e=>e[o.title]);this.selectedCuisinesArr.push(o.title),n[o.title].some(e=>!0===e)&&o.values.filter((e,t)=>n[o.title].map((o,n)=>{t===n&&!0===o&&this.selectedCate.push(e)}))}),{likeTags:this.selectedCate,likeCategories:this.selectedCuisinesArr,preferenceType:this.foodFilter}}onDone(){return(0,t.mG)(this,void 0,void 0,function*(){const e=l.YG.userId,o=yield this.createObjForFoodPersonalization();this.accountService.updateFoodTag(o,e).then(e=>{this.router.navigate(["/account"]),this.analyticsService.cleverTapEvent(f.N.FOOD_PREFERENCE,this.foodPreferencesCleverTapEventObj(o))})})}foodPreferencesCleverTapEventObj(e){const o={cuisine_list:e.likeCategories.join(", "),cuisine_list_tag:e.likeTags.join(", ")};return Object.assign(o,(0,p.Pv)())}getSelectedFoodPreferences(){this.accountService.getSelectedFoodPreferences().then(e=>{const o=e.body.data;
1this.selectedFoodPreferences=o,o.likedFoodCategories.forEach(e=>{const o=this.foodPreferencesList.findIndex(o=>o.prefId===e);o>=0&&(this.foodFilterForm.controls.foodPrefersArr.controls[o].setValue(!0),this.selectedCuisinesList.push(this.foodPreferencesList[o].prefId))}),this.selectedIndex=h.lp.findIndex(e=>e.val===o.preferenceType),this.foodFilter=o.preferenceType,this.selectFoodFilter=h.lp[this.selectedIndex].name})}getSelectedCuisinesLength(){if(this.foodFilterForm){const e=this.foodFilterForm.controls.foodPrefersArr.controls.filter(e=>e.value);return this.selectedCuisinesLength=e.length}return this.selectedCuisinesLength=0}};u.ctorParameters=()=>[{type:r.F0},{type:d.B},{type:a.qu},{type:l.kl},{type:m.y}],u=(0,t.gn)([(0,i.Component)({template:""})],u);let F=class extends u{constructor(e,o,n,t,i){super(e,o,n,t,i),this.titleTxt="Food Preferences",this.navUrl="/account"}ngOnInit(){}};F.ctorParameters=()=>[{type:r.F0},{type:d.B},{type:a.qu},{type:l.kl},{type:m.y}],F=(0,t.gn)([(0,i.Component)({selector:"app-food-preferences-mobile",template:'<div *ngIf="!isFoodPersonalizationView">\n <app-top-header-mobile [title]="titleTxt" [url]="navUrl"></app-top-header-mobile>\n</div>\n<ion-content>\n <div *ngIf="isFoodPersonalizationView">\n <header class="header">\n <div class="row m-0">\n <div class="col-12 d-flex header-inner">\n <div class="p-2" (click)="onBackFoodPrefer()">\n <img src="assets/icon/common/left-back-black.svg" alt="" width="16px" height="16px">\n </div>\n <p class="m-0 fw-8 fs-18 pl-2 pt-2"> Food Personalization </p>\n </div>\n </div>\n </header>\n </div>\n <div class="food-preferences-page m-2 p-2">\n <div class="food-preferences pb-4">\n <div *ngIf="!isFoodPersonalizationView">\n <div class="row mr-0">\n <div class="col-4" *ngFor="let foodPrefFilter of foodPreferencesFilterList;index as i"\n (click)="onFoodFilterItem(foodPrefFilter,i)">\n <div class="filter-view-item" [ngClass]="{\'filter-active\': selectedIndex === i}">\n <img src="assets/icon/account/check-red.svg" alt="" class="check-item-img" *ngIf="selectedIndex === i">\n <img [src]="foodPrefFilter.img" alt="" class="mt-2">\n <p class="mt-2 fs-12 fw-6 text-capitalize display-txt w-100 px-1">{{foodPrefFilter.name}}</p>\n </div>\n </div>\n </div>\n <div>\n <p class="cod-black-clr fs-14 fw-4 mt-4 mb-2">Select your favourite cuisines! </p>\n </div>\n <form [formGroup]="foodFilterForm" *ngIf="isInitForm">\n <div class="row mr-0 cuisines-view">\n <div style="display: contents;" formArrayName="foodPrefersArr">\n <div class="col-4 mt-3" *ngFor="let foodPrefItem of foodPreferencesList;index as i">\n <div class="filter-view-item"\n [ngClass]="{\'filter-active\': foodFilterForm.controls[\'foodPrefersArr\'][\'controls\'][i][\'value\']}">\n <input type="checkbox" [formControlName]="i">\n <img src="assets/icon/account/check-red.svg" alt="" class="check-item-img"\n *ngIf="foodFilterForm.controls[\'foodPrefersArr\'][\'controls\'][i][\'value\']">\n\n <img [src]="foodPrefItem.imageurl" class="mt-1 food-icon">\n <p class="mt-2 fs-12 fw-6 text-capitalize display-txt w-100 px-1">\n {{foodPrefItem.displayName}}</p>\n </div>\n </div>\n </div>\n </div>\n </form>\n </div>\n <div *ngIf="isFoodPersonalizationView">\n <p class="text-center fs-11 fw-4 cool-grey-clr">\n Please help us with your food preferences to provide your personalized food suggestions\n </p>\n <div>\n <form [formGroup]="foodPersonalizeForm" *ngIf="isFoodPresFormInited">\n <div formArrayName="preferencesArr" class="cuisines-view">\n <div *ngFor="let foodPersItem of foodPersonalizationList; index as i" [formGroupName]="i">\n <ngb-accordion #acc="ngbAccordion" activeIds="ngb
1-panel-{{foodPersItem.title}}"\n (panelChange)="toggleAccordion($event,foodPersItem.title)">\n \x3c!-- id="ngb-panel-{{item.title}}" --\x3e\n <ngb-panel [formArrayName]="foodPersItem.title">\n <ng-template ngbPanelTitle>\n <span class="text-capitalize dark-black-clr fs-18 fw-6">{{foodPersItem.title}}\n </span>\n <img src="assets/icon/home/home-down-arrow.svg" alt="" width="16px">\n </ng-template>\n <ng-template ngbPanelContent>\n <p class="text-center fs-10 fw-4 cool-grey-clr">\n (Select at least 5 for better suggestion)</p>\n <div class="md-chip" *ngFor="let cat of foodPersItem.values;index as j"\n [ngClass]="{\'md-chip-active\': getFormValue(i, j, foodPersItem.title)}">\n <input type="checkbox" [formControlName]="j">\n {{cat}}\n </div>\n </ng-template>\n </ngb-panel>\n </ngb-accordion>\n </div>\n </div>\n </form>\n </div>\n </div>\n </div>\n </div>\n</ion-content>\n<div class="bottom-btn-view" *ngIf="!isFoodPersonalizationView">\n <p class="m-0 pb-2 fs-12 fw-6 px-1 text-capitalize">{{selectFoodFilter}}\n <span class="float-right pb-2" *ngIf="getSelectedCuisinesLength() > 0">\n {{ selectedCuisinesLength }} {{ selectedCuisinesLength > 1 ? \'Cuisines\' : \'Cuisine\' }} Selected!\n </span>\n </p>\n <button class="btn btn-lg btn-block btn-red-bg" (click)="onNext()">Next</button>\n</div>\n<div class="bottom-btn-view" *ngIf="isFoodPersonalizationView">\n <p class="m-0 pb-2 fs-12 fw-6 px-1 text-capitalize">\n <span class="float-right pb-2" *ngIf="selectedCate.length > 0">\n {{selectedCate.length}} selected\n </span>\n </p>\n <button class="btn btn-lg btn-block btn-red-bg" (click)="onDone()">Done</button>\n</div>',styles:[c]})],F);var v=n(8032),b=n(42549),P=n(94490);const x=[{path:"",component:F}];let I=class{};I=(0,t.gn)([(0,i.NgModule)({declarations:[F],imports:[s.ez,r.Bz.forChild(x),a.u5,a.UX,b.IJ,v.p,P.Pc]})],I)},29410:function(e){e.exports=".food-preferences-page .food-preferences {\n margin-top: 60px;\n}\n.food-preferences-page .food-preferences .filter-view-item {\n background: var(--food-prefer-filter-bg-clr);\n text-align: center;\n border-radius: 1rem;\n padding: 1rem;\n height: 7rem;\n width: 6rem;\n position: relative;\n}\n.food-preferences-page .food-preferences .filter-active {\n border: 1px solid #ff7286;\n}\n.food-preferences-page .food-preferences .check-item-img {\n position: absolute;\n right: 12px;\n top: 8px;\n}\n.food-preferences-page .food-preferences .food-icon {\n position: relative;\n}\n.food-preferences-page .food-preferences .display-txt {\n position: absolute;\n bottom: 16px;\n left: 0;\n}\n.food-preferences-page .food-preferences input {\n position: absolute;\n width: 80%;\n height: 100%;\n z-index: 100;\n opacity: 0;\n margin-left: -1.4rem;\n margin-top: -1.2rem;\n}\n.food-preferences-page .food-preferences .cuisines-view {\n margin-bottom: 5.8rem;\n}\n.food-preferences-page .food-preferences .accordion > .card {\n border: 0px !important;\n}\n.food-preferences-page .food-preferences ngb-accordion {\n text-align: center;\n}\n.food-preferences-page .food-preferences ngb-accordion ::ng-deep .card {\n border: 0px !important;\n}\n.food-preferences-page .food-preferences ngb-accordion ::ng-deep .card .card-header.active > a > span {\n color: #1d2124;\n}\n.food-preferences-page .food-preferences ngb-accordion ::ng-deep .btn-link {\n color: #212529;\n text-decoration: none;\n}\n.food-preferences-page .food-preferences ngb-accordion ::ng-deep .card-header {\n border: 0px;\n background: none;\n padding: 0px;\n}\n.food-preferences-page .food-preferences ngb-accordion ::ng-deep .card-body {\n padding: 0;\n text-align: left;\n}\n.food-preferences-page .food-preferences ngb-accordion .md-chip {\n display: inline-block;\n padding: 4px 12px;\n border-radius: 8px;\n margin: 4px;\n font-size: 13px;\n border: 1px solid #98c1d9;\n}\n.food-preferences-page .food-preferences ngb-accordion .md-chip.md-chip-hover:hover {\n background: #ccc;\n}\n.food-preferences-page .food-preferences ngb-accordion .md-chip-active {\n background: #fc6f7f;\n border: 1px solid #fc6f7f;\n color: white;\n}"}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.