{"version":3,"file":"main.ad7a153fca77657d.js","mappings":"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","sources":["./src/app/admin/components/menu/menu.model.ts","./src/app/admin/components/menu/menu.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/app.service.ts","./src/app/app.settings.ts","./src/app/auth.service.ts","./src/app/pages/lock-screen/lock-screen.component.ts","./src/app/pages/lock-screen/lock-screen.component.html","./src/app/pages/not-found/not-found.component.ts","./src/app/pages/not-found/not-found.component.html","./src/app/pages/pages.component.ts","./src/app/pages/pages.component.html","./src/app/shared/alert-dialog/alert-dialog.component.ts","./src/app/shared/alert-dialog/alert-dialog.component.html","./src/app/shared/comments/comments.component.ts","./src/app/shared/comments/comments.component.html","./src/app/shared/confirm-dialog/confirm-dialog.component.ts","./src/app/shared/confirm-dialog/confirm-dialog.component.html","./src/app/shared/dialog-header-controls/dialog-header-controls.component.html","./src/app/shared/dialog-header-controls/dialog-header-controls.component.ts","./src/app/shared/header-carousel/header-carousel.component.html","./src/app/shared/header-carousel/header-carousel.component.ts","./src/app/shared/header-image/header-image.component.html","./src/app/shared/header-image/header-image.component.ts","./src/app/shared/header-video/header-video.component.html","./src/app/shared/header-video/header-video.component.ts","./src/app/shared/image-upload/image-upload.component.ts","./src/app/shared/image-upload/image-upload.component.html","./src/app/shared/lang/lang.component.html","./src/app/shared/lang/lang.component.ts","./src/app/shared/logo/logo.component.ts","./src/app/shared/logo/logo.component.html","./src/app/shared/menu-item-hoverable/menu-item-hoverable.component.html","./src/app/shared/menu-item-hoverable/menu-item-hoverable.component.ts","./src/app/shared/menu-item/menu-item.component.html","./src/app/shared/menu-item/menu-item.component.ts","./src/app/shared/menu-items-carousel/menu-items-carousel.component.html","./src/app/shared/menu-items-carousel/menu-items-carousel.component.ts","./src/app/shared/menu-items-toolbar/menu-items-toolbar.component.ts","./src/app/shared/menu-items-toolbar/menu-items-toolbar.component.html","./src/app/shared/shared.module.ts","./src/app/shared/social-icons/social-icons.component.ts","./src/app/shared/social-icons/social-icons.component.html","./src/app/theme/components/contacts/contacts.component.html","./src/app/theme/components/contacts/contacts.component.ts","./src/app/theme/components/footer/footer.component.ts","./src/app/theme/components/footer/footer.component.html","./src/app/theme/components/menu/horizontal-menu/horizontal-menu.component.ts","./src/app/theme/components/menu/horizontal-menu/horizontal-menu.component.html","./src/app/theme/components/menu/menu.model.ts","./src/app/theme/components/menu/menu.service.ts","./src/app/theme/components/menu/menu.ts","./src/app/theme/components/menu/vertical-menu/vertical-menu.component.ts","./src/app/theme/components/menu/vertical-menu/vertical-menu.component.html","./src/app/theme/components/toolbar1/toolbar1.component.ts","./src/app/theme/components/toolbar1/toolbar1.component.html","./src/app/theme/components/user-menu/user-menu.component.html","./src/app/theme/components/user-menu/user-menu.component.ts","./src/app/theme/directives/directives.module.ts","./src/app/theme/directives/encrypt_decrypt.ts","./src/app/theme/directives/mask-date.directive.ts","./src/app/theme/directives/only-number.directive.ts","./src/app/theme/directives/phone-mask.directive.ts","./src/app/theme/pipes/filter-by-id.pipe.ts","./src/app/theme/pipes/pipes.module.ts","./src/app/theme/pipes/profilePicture.pipe.ts","./src/app/theme/pipes/user-search.pipe.ts","./src/app/theme/utils/app-interceptor.ts","./src/app/theme/utils/app-validators.ts","./src/app/theme/utils/auth.guard.ts","./src/app/theme/utils/custom-overlay-container.ts","./src/app/theme/utils/error.interceptor.ts","./src/app/theme/utils/mat-paginator-i18n.service.ts","./src/environments/environment.ts","./src/main.ts","ignored|D:\\PROJECTS\\TAMU TAMU\\App\\node_modules\\crypto-js|crypto"],"sourcesContent":["export class Menu {\r\n    constructor(public id: number = 0,\r\n                public title: string = '',\r\n                public routerLink: string | null,\r\n                public href: string | null,\r\n                public icon: string | null,\r\n                public target: string | null,\r\n                public hasSubMenu: boolean = false,\r\n                public parentId: number = 0) { }\r\n} ","import { Menu } from './menu.model'; \r\n\r\nexport const menuItems = [ \r\n    new Menu (10, 'ADMIN_NAV.DASHBOARD', '/admin', null, 'dashboard', null, false, 0),\r\n    new Menu (20, 'ADMIN_NAV.MENU_ITEMS', null, null, 'grid_on', null, true, 0),  \r\n    new Menu (21, 'ADMIN_NAV.CATEGORIES', '/admin/menu-items/categories', null, 'category', null, false, 20), \r\n    new Menu (22, 'ADMIN_NAV.DIVISIONS', '/admin/menu-items/divisions', null, 'table_chart', null, false, 20), \r\n    new Menu (23, 'ADMIN_NAV.MENU_ITEMS_LIST', '/admin/menu-items/list', null, 'list', null, false, 20), \r\n    new Menu (24, 'ADMIN_NAV.ADD_MENU_ITEM', '/admin/menu-items/add', null, 'add_circle_outline', null, false, 20), \r\n    new Menu (25, 'ADMIN_NAV.MENU', '/admin/menu-items/menu', null, 'receipt', null, false, 20), \r\n    new Menu (30, 'ADMIN_NAV.SALES', null, null, 'monetization_on', null, true, 0),  \r\n    new Menu (31, 'ADMIN_NAV.ORDERS', '/admin/sales/orders', null, 'list_alt', null, false, 30), \r\n    new Menu (32, 'ADMIN_NAV.REPORTS', '/admin/sales/reports', null, 'assignment', null, false, 30),  \r\n    new Menu (33, 'ADMIN_NAV.DISCOUNTS', '/admin/sales/discounts', null, 'pie_chart', null, false, 30),  \r\n    new Menu (34, 'ADMIN_NAV.DEDUCTIONS', '/admin/sales/deductions', null, 'description', null, false, 30),  \r\n    new Menu (35, 'ADMIN_NAV.TEMPLATES', '/admin/sales/templates', null, 'message', null, false, 30),  \r\n    new Menu (36, 'ADMIN_NAV.SETTINGS', '/admin/sales/settings', null, 'settings', null, false, 30), \r\n    new Menu (50, 'ADMIN_NAV.ACCOUNTS', null, null, 'supervisor_account', null, true, 0),  \r\n    new Menu (51, 'ADMIN_NAV.PARENTS', '/admin/accounts/parents', null, 'person', null, false, 50),  \r\n    new Menu (52, 'ADMIN_NAV.TEACHERS', '/admin/accounts/teachers', null, 'school', null, false, 50), \r\n    new Menu (53, 'ADMIN_NAV.BALANCES', '/admin/accounts/balances', null, 'account_balance', null, false, 50),\r\n    new Menu (54, 'ADMIN_NAV.ARCHIVED', '/admin/accounts/archived', null, 'archive', null, false, 50),\r\n    new Menu (40, 'ADMIN_NAV.USERS', '/admin/users', null, 'group_add', null, false, 0),\r\n    new Menu (60, 'ADMIN_NAV.STUDENTS', '/admin/students', null, 'school', null, false, 0), \r\n    new Menu (70, 'ADMIN_NAV.NEWS', '/admin/news', null, 'comment', null, false, 0),  \r\n]","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule, PreloadAllModules } from '@angular/router'; \r\n\r\nimport { PagesComponent } from './pages/pages.component';\r\nimport { NotFoundComponent } from './pages/not-found/not-found.component';\r\nimport { LockScreenComponent } from './pages/lock-screen/lock-screen.component';\r\nimport { AuthGuard } from 'src/app/theme/utils/auth.guard';\r\nconst routes: Routes = [\r\n  { \r\n    path: '', \r\n    component: PagesComponent, children: [\r\n        //{ path: '', redirectTo: '/landing', pathMatch: 'full' },\r\n        { path: '', loadChildren: () => import('./pages/home/home.module').then(m => m.HomeModule) },\r\n        { path: 'about', loadChildren: () => import('./pages/about/about.module').then(m => m.AboutModule) },\r\n        { path: 'news', loadChildren: () => import('./pages/news/news.module').then(m => m.NewsModule) },\r\n        { path: 'menu', loadChildren: () => import('./pages/menu/menu.module').then(m => m.MenuModule) },\r\n        { path: 'account', loadChildren: () => import('./pages/account/account.module').then(m => m.AccountModule), canActivate: [AuthGuard] }, //\r\n        { path: 'pass', loadChildren: () => import('./pages/fpass/fpass.module').then(m => m.FpassModule) },\r\n        { path: 'login', loadChildren: () => import('./pages/login/login.module').then(m => m.LoginModule) },\r\n        { path: 'register', loadChildren: () => import('./pages/register/register.module').then(m => m.RegisterModule) },\r\n        { path: 'reset', loadChildren: () => import('./pages/reset/reset.module').then(m => m.ResetModule) },\r\n        { path: 'changepassword', loadChildren: () => import('./pages/changepassword/changepassword.module').then(m => m.ChangepasswordModule) },\r\n        { path: 'terms-conditions', loadChildren: () => import('./pages/terms-conditions/terms-conditions.module').then(m => m.TermsConditionsModule) },\r\n        { path: 'howtoregister', loadChildren: () => import('./pages/faqregister/faqregister.module').then(m => m.FaqregisterModule) },\r\n        { path: 'howtoorder', loadChildren: () => import('./pages/faqorder/faqorder.module').then(m => m.FaqorderModule), canActivate: [AuthGuard] },\r\n        { path: 'howtopay', loadChildren: () => import('./pages/faqpay/faqpay.module').then(m => m.FaqpayModule), canActivate: [AuthGuard] },\r\n    ]\r\n  },\r\n  { path: 'admin', loadChildren: () => import('./admin/admin.module').then(m => m.AdminModule), canActivate: [AuthGuard] },\r\n  { path: 'lock-screen', component: LockScreenComponent },\r\n  { path: '**', component: NotFoundComponent } \r\n];\r\n\r\n@NgModule({\r\n  imports: [\r\n    RouterModule.forRoot(routes, {\r\n      preloadingStrategy: PreloadAllModules, // <- comment this line for activate lazy load\r\n      initialNavigation: 'enabledBlocking', // for one load page, without reload\r\n      relativeLinkResolution: 'legacy'\r\n      // useHash: true\r\n    })\r\n  ],\r\n  exports: [\r\n    RouterModule\r\n  ]\r\n})\r\nexport class AppRoutingModule { }","import { Component, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { Settings, AppSettings } from './app.settings';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from './app.service';\r\n\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   \r\n  public settings: Settings;\r\n  constructor(public appSettings:AppSettings, \r\n              public router:Router,\r\n              public appService: AppService,\r\n              @Inject(PLATFORM_ID) private platformId: Object,\r\n              public translate: TranslateService){\r\n    this.settings = this.appSettings.settings;\r\n    translate.addLangs(['en','de','fr','ru','tr']);\r\n    translate.setDefaultLang('en'); \r\n    translate.use('en');\r\n    this.appService.Connect()\r\n    .subscribe({\r\n      next: (data) => {\r\n\r\n\r\n      },\r\n      error: (e) => {\r\n\r\n      },\r\n      complete: () => {\r\n\r\n      }\r\n    })\r\n\r\n  }\r\n\r\n  ngAfterViewInit(){ \r\n\r\n\r\n    this.router.events.subscribe(event => {\r\n      if (event instanceof NavigationEnd) {   \r\n        setTimeout(() => {\r\n          if (isPlatformBrowser(this.platformId)) {\r\n            window.scrollTo(0,0);\r\n          }\r\n        }); \r\n      }            \r\n    });    \r\n  }\r\n\r\n}\r\n","<div id=\"app\" class=\"app\" [dir]=\"(settings.rtl) ? 'rtl' : 'ltr'\"\r\n            [ngClass]=\"[settings.theme, 'toolbar-'+settings.toolbar]\" \r\n            [class.main-toolbar-fixed]=\"settings.mainToolbarFixed\"> \r\n    <router-outlet></router-outlet>\r\n    <ng-progress [spinner]=\"false\" [meteor]=\"false\" color=\"#e91e63\"></ng-progress>\r\n</div>","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'; \r\nimport { DatePipe } from '@angular/common';\r\n\r\nimport { NgProgressModule } from 'ngx-progressbar';\r\nimport { NgProgressHttpModule } from 'ngx-progressbar/http';\r\nimport { AgmCoreModule } from '@agm/core'; \r\n\r\n\r\n\r\nimport { environment } from 'src/environments/environment';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader'; \r\nexport function HttpLoaderFactory(httpClient: HttpClient) { \r\n  return new TranslateHttpLoader(httpClient, environment.url +'/assets/i18n/', '.json');\r\n}\r\nimport { MatPaginatorIntl } from '@angular/material/paginator';\r\nimport { MatPaginatorI18nService } from './theme/utils/mat-paginator-i18n.service';\r\n\r\nimport { OverlayContainer } from '@angular/cdk/overlay';\r\nimport { CustomOverlayContainer } from './theme/utils/custom-overlay-container';\r\nimport { AppInterceptor } from './theme/utils/app-interceptor';\r\nimport { AuthGuard } from './theme/utils/auth.guard';\r\n\r\n\r\nimport { AppRoutingModule } from './app-routing.module'; \r\nimport { SharedModule } from './shared/shared.module'; \r\n\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { AppSettings } from './app.settings';\r\nimport { AuthService } from './auth.service';\r\n\r\nimport { PagesComponent } from './pages/pages.component';\r\nimport { NotFoundComponent } from './pages/not-found/not-found.component'; \r\nimport { Toolbar1Component } from './theme/components/toolbar1/toolbar1.component';\r\nimport { UserMenuComponent } from './theme/components/user-menu/user-menu.component';  \r\nimport { ContactsComponent } from './theme/components/contacts/contacts.component'; \r\nimport { HorizontalMenuComponent } from './theme/components/menu/horizontal-menu/horizontal-menu.component';\r\nimport { VerticalMenuComponent } from './theme/components/menu/vertical-menu/vertical-menu.component';\r\nimport { FooterComponent } from './theme/components/footer/footer.component'; \r\nimport { LockScreenComponent } from './pages/lock-screen/lock-screen.component';\r\nimport { ErrorInterceptor } from './theme/utils/error.interceptor';\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    AppComponent,\r\n    PagesComponent,\r\n    NotFoundComponent,\r\n    UserMenuComponent,  \r\n    ContactsComponent, \r\n    Toolbar1Component,\r\n    HorizontalMenuComponent,\r\n    VerticalMenuComponent,\r\n    FooterComponent,\r\n    LockScreenComponent\r\n  ],\r\n  imports: [\r\n    BrowserModule.withServerTransition({ appId: 'serverApp' }), \r\n    BrowserAnimationsModule,\r\n    HttpClientModule, \r\n    NgProgressModule,\r\n    NgProgressHttpModule,\r\n    AgmCoreModule.forRoot({\r\n      apiKey: 'AIzaSyBN9YkO5EzYhk_xNxw5VcODNTdwgc60K08',\r\n      libraries: [\"places\"]\r\n    }), \r\n    TranslateModule.forRoot({\r\n      loader: {\r\n        provide: TranslateLoader,\r\n        useFactory: HttpLoaderFactory,\r\n        deps: [HttpClient]\r\n      }\r\n    }),\r\n    AppRoutingModule,\r\n    SharedModule,\r\n        \r\n  ],\r\n  providers: [ \r\n    AppSettings,\r\n    AuthService,\r\n    AuthGuard,\r\n    { provide: OverlayContainer, useClass: CustomOverlayContainer },\r\n    { provide: HTTP_INTERCEPTORS, useClass: AppInterceptor, multi: true },\r\n    { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n    DatePipe,\r\n    { provide: MatPaginatorIntl, useClass: MatPaginatorI18nService }\r\n  ],\r\n  bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Observable } from 'rxjs';\r\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MenuItem, Order, Category, Division } from 'src/app/app.models';\r\nimport { AppSettings } from 'src/app/app.settings';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ConfirmDialogComponent, ConfirmDialogModel } from './shared/confirm-dialog/confirm-dialog.component';\r\nimport { AlertDialogComponent } from './shared/alert-dialog/alert-dialog.component';\r\nimport { map } from 'rxjs/operators';\r\n\r\nexport class Data {\r\n  constructor(public categories: Category[],\r\n    public divisions: Division[],\r\n    public cartList: MenuItem[],\r\n    public orderList: Order[],\r\n    public favorites: MenuItem[],\r\n    public totalPrice: number,\r\n    public totalCartCount: number, \r\n    public menuslist: any, \r\n    public ParentStudents: any,\r\n    public UserData: any,\r\n    public AccountInfo: any\r\n  ) { }\r\n}\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class AppService {\r\n  public Data = new Data(\r\n    [],  // categories \r\n    [],  // divisions \r\n    [],  // cartList\r\n    [],  // orderList\r\n    [],  // favorites \r\n    0, // totalPrice\r\n    0, //totalCartCount\r\n    [], //menuslist,\r\n    [], // ParentStudents\r\n    [], //UserData\r\n    [] //AccountInfo\r\n  )\r\n  public loggedin = false;\r\n  public userfullnames =\"\";\r\n  public usergroup = \"0\"; \r\n  public username = \"\";\r\n  public timeZone = \"Africa/Nairobi\"; //Africa/Abidjan\r\n  public url = environment.url + '/assets/data/';\r\n\r\n  constructor(public http: HttpClient,\r\n    private datePipe: DatePipe,\r\n    private bottomSheet: MatBottomSheet,\r\n    private snackBar: MatSnackBar,\r\n    public dialog: MatDialog,\r\n    public appSettings: AppSettings,\r\n    public translateService: TranslateService) { }\r\n\r\n  validateToken() {\r\n    return this.http.get(environment.apiurl + '/validateToken');\r\n  }\r\n  Connect() {\r\n    return this.http.get(environment.apiurl + '/Connect');\r\n  }\r\n  VerifyStudentId(req: any) {\r\n    return this.http.post(environment.apiurl + '/VerifyStudentId', req);\r\n  }\r\n\r\n  ParentRegister(req: any) {\r\n    return this.http.post(environment.apiurl + '/ParentRegister', req);\r\n  }\r\n  ShowTodaysMenu() {\r\n    return this.http.get(environment.apiurl + '/ShowTodaysMenu');\r\n  }\r\n  ShowWeeklyMenu() {\r\n    return this.http.get(environment.apiurl + '/ShowWeeklyMenu');\r\n  }\r\n  ListMenuShedules(req:any) {\r\n    return this.http.post(environment.apiurl + '/ListMenuShedules',req);\r\n  }\r\n  ShowCategories() {\r\n    return this.http.get(environment.apiurl + '/ShowCategories');\r\n  }\r\n\r\n  ChangeFirstPassword(req: any) {\r\n    return this.http.post(environment.apiurl + '/ChangeFirstPassword', req);\r\n  }\r\n  ResetPasswordLink(req: any) {\r\n    return this.http.post(environment.apiurl + '/ResetPasswordLink', req);\r\n  }\r\n  VerifyResetLink(req: any) {\r\n    return this.http.post(environment.apiurl + '/VerifyResetLink', req);\r\n  }\r\n  \r\n\r\n  ParentStudents(req: any) {\r\n    return this.http.post(environment.apiurl + '/ParentStudents', req);\r\n  }\r\n  \r\n  AccountInfo(req: any) {\r\n    return this.http.post(environment.apiurl + '/AccountInfo', req);\r\n  }\r\n  VerifyStudentIdUnMasked(req: any) {\r\n    return this.http.post(environment.apiurl + '/VerifyStudentIdUnMasked', req);\r\n  }\r\n  ParentStudentRegister(req: any) {\r\n    return this.http.post(environment.apiurl + '/ParentStudentRegister', req);\r\n  }\r\n  CategoriesList() {\r\n    return this.http.get(environment.apiurl + '/CategoriesList');\r\n  }\r\n  MenuCategories(req: any) {\r\n    return this.http.post(environment.apiurl + '/MenuCategories', req);\r\n  }\r\n  DeleteCategory(req: any) {\r\n    return this.http.post(environment.apiurl + '/DeleteCategory', req);\r\n  }\r\n\r\n  DivisionsList() {\r\n    return this.http.get(environment.apiurl + '/DivisionsList');\r\n  }\r\n  MenuDivisions(req: any) {\r\n    return this.http.post(environment.apiurl + '/MenuDivisions', req);\r\n  }\r\n  DeleteDivision(req: any) {\r\n    return this.http.post(environment.apiurl + '/DeleteDivision', req);\r\n  }\r\n\r\n  MenuList() {\r\n    return this.http.get(environment.apiurl + '/MenuList');\r\n  }\r\n  Menus(req: any) {\r\n    return this.http.post(environment.apiurl + '/Menus', req);\r\n  }\r\n  DeleteMenu(req: any) {\r\n    return this.http.post(environment.apiurl + '/DeleteMenu', req);\r\n  }\r\n\r\n  getMenuById(id: any) {\r\n    return this.http.get(environment.apiurl + '/getMenuById/' + id);\r\n  } \r\n  \r\n  LoadOrderMenuList(id: any) {\r\n    return this.http.get(environment.apiurl + '/LoadOrderMenuList/' + id);\r\n  } \r\n  \r\n \r\n  UploadMenuImage(req: any) {\r\n    return this.http.post(environment.apiurl + '/UploadMenuImage', req);\r\n  }\r\n  \r\n  DeleteMenuImage(req: any) {\r\n    return this.http.post(environment.apiurl + '/DeleteMenuImage', req);\r\n  }\r\n  \r\n  getFilteredMenu(req: any) {\r\n    return this.http.post(environment.apiurl + '/getFilteredMenu', req);\r\n  }\r\n  MenuSchedules(req: any) {\r\n    return this.http.post(environment.apiurl + '/MenuSchedules', req);\r\n  }\r\n  DeleteMenuSchedule(req: any) {\r\n    return this.http.post(environment.apiurl + '/DeleteMenuSchedule', req);\r\n  }\r\n\r\n  OrderMenu(req: any) {\r\n    return this.http.post(environment.apiurl + '/OrderMenu', req);\r\n  }\r\n  ParentOrdersList(req: any) {\r\n    return this.http.post(environment.apiurl + '/ParentOrdersList', req);\r\n  }\r\n\r\n  CancelOrder(req: any) {\r\n    return this.http.post(environment.apiurl + '/CancelOrder', req);\r\n  } \r\n  OrdersList(req: any) {\r\n    return this.http.post(environment.apiurl + '/OrdersList', req);\r\n  } \r\n\r\n  Grades() {\r\n    return this.http.get(environment.apiurl + '/Grades');\r\n  } \r\n  DeductionsReport(req: any) {\r\n    return this.http.post(environment.apiurl + '/DeductionsReport', req);\r\n  } \r\n  OrdersReport(req: any) {\r\n    return this.http.post(environment.apiurl + '/OrdersReport', req);\r\n  } \r\n  ManualPostedReport(req: any) {\r\n    return this.http.post(environment.apiurl + '/ManualPostedReport', req);\r\n  } \r\n  ChefOrdersList(req: any) {\r\n    return this.http.post(environment.apiurl + '/ChefOrdersList', req);\r\n  } \r\n  OrdersListReport(req: any) {\r\n    return this.http.post(environment.apiurl + '/OrdersListReport', req);\r\n  } \r\n  OrderMenuListByDate(req: any) {\r\n    return this.http.post(environment.apiurl + '/OrderMenuListByDate', req);\r\n  } \r\n  Parents() {\r\n    return this.http.get(environment.apiurl + '/Parents');\r\n  } \r\n  ListTeachers() {\r\n    return this.http.get(environment.apiurl + '/ListTeachers');\r\n  } \r\n  ParentStudentById(id: any) {\r\n    return this.http.get(environment.apiurl + '/ParentStudentById/' + id);\r\n  } \r\n  Discounts(req: any) {\r\n    return this.http.post(environment.apiurl + '/Discounts', req);\r\n  }   \r\n  \r\n  AddSystemSettings(req: any) {\r\n    return this.http.post(environment.apiurl + '/AddSystemSettings', req);\r\n  }\r\n  ShowDiscounts() {\r\n    return this.http.get(environment.apiurl + '/ShowDiscounts');\r\n  } \r\n  ShowDiscountsByCategory(id:any) {\r\n    return this.http.get(environment.apiurl + '/ShowDiscountsByCategory/' + id);\r\n  } \r\n  DiscountList() {\r\n    return this.http.get(environment.apiurl + '/DiscountList');\r\n  } \r\n  LoadSystemSettings() {\r\n    return this.http.get(environment.apiurl + '/LoadSystemSettings');\r\n  } \r\n  DeleteDiscounts(req: any) {\r\n    return this.http.post(environment.apiurl + '/DeleteDiscounts', req);\r\n  } \r\n\r\n  DiscountMemberList(id: any) {\r\n    return this.http.get(environment.apiurl + '/DiscountMemberList/' + id);\r\n  } \r\n\r\n  SelectMemberList(id: any) {\r\n    return this.http.get(environment.apiurl + '/SelectMemberList/' + id);\r\n  } \r\n\r\n  DiscountMembers(req: any) {\r\n    return this.http.post(environment.apiurl + '/DiscountMembers', req);\r\n  } \r\n  DeleteMembers(req: any) {\r\n    return this.http.post(environment.apiurl + '/DeleteMembers', req);\r\n  } \r\n  ParentList() {\r\n    return this.http.get(environment.apiurl + '/ParentList');\r\n  } \r\n  TeacherList() {\r\n    return this.http.get(environment.apiurl + '/TeacherList');\r\n  } \r\n  Parent(req: any) {\r\n    return this.http.post(environment.apiurl + '/Parent', req);\r\n  } \r\n  Teacher(req: any) {\r\n    return this.http.post(environment.apiurl + '/Teacher', req);\r\n  } \r\n  RemoveParentStudent(req: any) {\r\n    return this.http.post(environment.apiurl + '/RemoveParentStudent', req);\r\n  } \r\n  AdminStudentRegister(req: any) {\r\n    return this.http.post(environment.apiurl + '/AdminStudentRegister', req);\r\n  } \r\n  DiscountMember(req: any) {\r\n    return this.http.post(environment.apiurl + '/DiscountMember', req);\r\n  } \r\n  ReverseAccounts(req: any) {\r\n    return this.http.post(environment.apiurl + '/ReverseAccounts', req);\r\n  } \r\n  CustomerAccounts(req: any) {\r\n    return this.http.post(environment.apiurl + '/CustomerAccounts', req);\r\n  }  \r\n  CustomerAccountsList(req: any) {\r\n    return this.http.post(environment.apiurl + '/CustomerAccountsList', req);\r\n  } \r\n  CustomerAccountsListByUser(req: any) {\r\n    return this.http.post(environment.apiurl + '/CustomerAccountsListByUser', req);\r\n  } \r\n  DeductOrders(req: any) {\r\n    return this.http.post(environment.apiurl + '/DeductOrders', req);\r\n  } \r\n  AccountBalancesList(req: any) {\r\n    return this.http.post(environment.apiurl + '/AccountBalancesList', req);\r\n  } \r\n  ArchivedAccountBalancesList(req: any) {\r\n    return this.http.post(environment.apiurl + '/ArchivedAccountBalancesList', req);\r\n  } \r\n  DisableAccounts(req: any) {\r\n    return this.http.post(environment.apiurl + '/DisableAccounts', req);\r\n  } \r\n  ArchiveAccount(req: any) {\r\n    return this.http.post(environment.apiurl + '/ArchiveAccount', req);\r\n  } \r\n  UndoArchiveAccount(req: any) {\r\n    return this.http.post(environment.apiurl + '/UndoArchiveAccount', req);\r\n  } \r\n  StudentList() {\r\n    return this.http.get(environment.apiurl + '/StudentList');\r\n  } \r\n  Student(req: any) {\r\n    return this.http.post(environment.apiurl + '/Student', req);\r\n  } \r\n  StudentImport(req: any) {\r\n    return this.http.post(environment.apiurl + '/StudentImport', req);\r\n  } \r\n\r\n  users() {\r\n    return this.http.get(environment.apiurl + '/users');\r\n  } \r\n  user(req: any) {\r\n    return this.http.post(environment.apiurl + '/users', req);\r\n  } \r\n  UserRoles() {\r\n    return this.http.get(environment.apiurl + '/UserRoles');\r\n  } \r\n  ResetUserPassword(req: any) {\r\n    return this.http.post(environment.apiurl + '/ResetUserPassword', req);\r\n  } \r\n  disableuser(req: any) {\r\n    return this.http.post(environment.apiurl + '/disableuser', req);\r\n  } \r\n  UserRoleList() {\r\n    return this.http.get(environment.apiurl + '/UserRoleList');\r\n  } \r\n  UserRole(req: any) {\r\n    return this.http.post(environment.apiurl + '/UserRole', req);\r\n  } \r\n  RemoveUserRole(req: any) {\r\n    return this.http.post(environment.apiurl + '/RemoveUserRole', req);\r\n  } \r\n  UserRoleDetail(id: any) {\r\n    return this.http.get(environment.apiurl + '/UserRoleDetail/' + id);\r\n  } \r\n  RoleDetail(req: any) {\r\n    return this.http.post(environment.apiurl + '/RoleDetail', req);\r\n  } \r\n  SystemProcesses() {\r\n    return this.http.get(environment.apiurl + '/SystemProcesses');\r\n  } \r\n  EmailTemplate(id: any) {\r\n    return this.http.get(environment.apiurl + '/EmailTemplate/' + id);\r\n  } \r\n  EmailTemplates(req: any) {\r\n    return this.http.post(environment.apiurl + '/EmailTemplates', req);\r\n  } \r\n  AccountAlertDetails(req: any) {\r\n    return this.http.post(environment.apiurl + '/AccountAlertDetails', req);\r\n  } \r\n  SendBalanceAlertEmail(req: any) {\r\n    return this.http.post(environment.apiurl + '/SendBalanceAlertEmail', req);\r\n  } \r\n  OrderConfirmationEmail(req: any) {\r\n    return this.http.post(environment.apiurl + '/OrderConfirmationEmail', req);\r\n  } \r\n  StudentOrderList() {\r\n    return this.http.get(environment.apiurl + '/StudentOrderList');\r\n  } \r\n  NewsList() {\r\n    return this.http.get(environment.apiurl + '/NewsList');\r\n  } \r\n  getNewsById(id: any) {\r\n    return this.http.get(environment.apiurl + '/getNewsById/' + id);\r\n  } \r\n  News(req: any) {\r\n    return this.http.post(environment.apiurl + '/News', req);\r\n  } \r\n  DeleteNews(req: any) {\r\n    return this.http.post(environment.apiurl + '/DeleteNews', req);\r\n  } \r\n\r\n  ChangePassword(req: any) {\r\n    return this.http.post(environment.apiurl + '/ChangeUserPassword', req);\r\n  } \r\n  RefTypes() {\r\n    return this.http.get(environment.apiurl + '/RefTypes');\r\n  } \r\n\r\n  DashboardTiles() {\r\n    return this.http.get(environment.apiurl + '/DashboardTiles');\r\n  } \r\n  AccountStatus() {\r\n    return this.http.get(environment.apiurl + '/AccountStatus');\r\n  } \r\n  OrdersByStatus() {\r\n    return this.http.get(environment.apiurl + '/OrdersByStatus');\r\n  } \r\n  MonthlyOrders() {\r\n    return this.http.get(environment.apiurl + '/MonthlyOrders');\r\n  }\r\n\r\n  WeeklyOrders() {\r\n    return this.http.get(environment.apiurl + '/WeeklyOrders');\r\n  }\r\n\r\n  TopGrades() {\r\n    return this.http.get(environment.apiurl + '/TopGrades');\r\n  }\r\n\r\n  TopMenus() {\r\n    return this.http.get(environment.apiurl + '/TopMenus');\r\n  }\r\n\r\n  \r\n  \r\n\r\n  //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------             \r\n \r\n  public openDialog(component: any, data: any, panelClass: any) {\r\n    return this.dialog.open(component, {\r\n      data: data,\r\n      panelClass: panelClass,\r\n      autoFocus: false,\r\n      direction: (this.appSettings.settings.rtl) ? 'rtl' : 'ltr'\r\n    });\r\n  }\r\n\r\n  public openConfirmDialog(title: string, message: string) {\r\n    const dialogData = new ConfirmDialogModel(title, message);\r\n    const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n      maxWidth: \"400px\",\r\n      data: dialogData\r\n    });\r\n    return dialogRef;\r\n  }\r\n\r\n  public openAlertDialog(message: string) {\r\n    const dialogRef = this.dialog.open(AlertDialogComponent, {\r\n      maxWidth: \"400px\",\r\n      data: message\r\n    });\r\n    return dialogRef;\r\n  }\r\n  \r\n  public getTranslateValue(key: string, param: string = '') {\r\n    let value = '';\r\n    this.translateService.get(key, { param: param }).subscribe((res: string) => {\r\n      value = res;\r\n    })\r\n    return value;\r\n  }\r\n\r\n  public convertImgToBase64(url:string, callback:any){\r\n    var xhr = new XMLHttpRequest();\r\n    xhr.onload = function() {\r\n      var reader = new FileReader();\r\n      reader.onloadend = function() {\r\n        callback(reader.result);\r\n      }\r\n      reader.readAsDataURL(xhr.response);\r\n    };\r\n    xhr.open('GET', url);\r\n    xhr.responseType = 'blob';\r\n    xhr.send();\r\n  }\r\n  private mailApi = 'https://mailthis.to/codeninja'\r\n  public PostMessage(input: any) {\r\n    return this.http.post(this.mailApi, input, { responseType: 'text' })\r\n      .pipe(\r\n        map(\r\n          (response:any) => {\r\n            if (response) {\r\n              return response;\r\n            }\r\n          },\r\n          (error: any) => {\r\n            return error;\r\n          }\r\n        )\r\n      )\r\n  }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nexport class Settings {\r\n    constructor(public name: string,\r\n                public theme: string,\r\n                public toolbar: number,\r\n                public stickyMenuToolbar: boolean,                \r\n                public header: string,\r\n                public rtl: boolean, \r\n                public adminSidenavIsOpened: boolean,\r\n                public adminSidenavIsPinned: boolean,\r\n                public adminSidenavUserBlock: boolean,\r\n\r\n                //additional options\r\n                public mainToolbarFixed:boolean,\r\n                public contentOffsetToTop:boolean,                \r\n                public headerBgImage: boolean,\r\n                public headerBgVideo: boolean\r\n                ) { }\r\n}\r\n\r\n@Injectable()\r\nexport class AppSettings {\r\n    public settings = new Settings(\r\n        'Tamu Tamu Cuisine Sarl',    // theme name\r\n        'grey',       // red, green, blue, pink, purple, grey, orange-dark, custom\r\n        1,           // 1   \r\n        true,        // true = sticky, false = not sticky\r\n        'image',     // default, image, carousel\r\n        false,       // true = rtl, false = ltr \r\n        true,        // adminSidenavIsOpened\r\n        true,        // adminSidenavIsPinned \r\n        true,         // adminSidenavUserBlock \r\n\r\n        //NOTE:  don't change additional options values, they used for theme performance\r\n        false,\r\n        false,        \r\n        false,\r\n        false \r\n    )\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { first } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { environment } from '../environments/environment';\r\nimport { EncryptDecrypt  } from './theme//directives/encrypt_decrypt';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n    constructor(private router: Router, private http: HttpClient, private encrypt: EncryptDecrypt) { }\r\n\r\n    login(username: string, password: string) {\r\n        const getHeaders: HttpHeaders = new HttpHeaders({\r\n            'Content-Type': 'application/json'\r\n          });\r\n        return this.http.post<any>( environment.apiurl + '/Authenticate',\r\n         { Username: username, Password: password }, {headers: getHeaders })\r\n            .pipe(map(user => {\r\n\r\n\r\n                // login successful if there's a jwt token in the response\r\n                if (user.Token != null) {\r\n\r\n\r\n                    // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n                    localStorage.setItem('TamuApp', this.encrypt.Encrypt(JSON.stringify(user)));\r\n                }\r\n\r\n                return user;\r\n            }));\r\n    }\r\n\r\n    logout() {\r\n        // remove user from local storage to log user out\r\n        localStorage.removeItem('TamuApp');\r\n    }\r\n\r\n}\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { UntypedFormGroup, UntypedFormBuilder, Validators} from '@angular/forms';\r\n\r\n@Component({\r\n  selector: 'app-lock-screen',\r\n  templateUrl: './lock-screen.component.html',\r\n  styleUrls: ['./lock-screen.component.scss'],\r\n  encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LockScreenComponent implements OnInit {\r\n  public date:any = new Date();\r\n  public timerInterval:any;\r\n  public form!: UntypedFormGroup;\r\n  constructor(public fb: UntypedFormBuilder, public router:Router) { }\r\n\r\n  ngOnInit() {\r\n    this.timerInterval = setInterval(() => {\r\n      this.date = new Date();\r\n    }, 1000);\r\n    this.form = this.fb.group({ \r\n      password: [null, Validators.compose([Validators.required, Validators.minLength(3)])]\r\n    });\r\n  }\r\n\r\n  ngAfterViewInit(){\r\n    document.getElementById('preloader')?.classList.add('hide');\r\n  }\r\n\r\n  ngOnDestroy(){\r\n    clearInterval(this.timerInterval);\r\n  }\r\n\r\n  public onSubmit(values:Object):void {\r\n    if (this.form.valid) {\r\n      this.router.navigate(['/']);\r\n    }\r\n  }\r\n\r\n}\r\n","<mat-drawer-container fxFlexFill>\r\n  <div fxFlexFill fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"p-3 lock-screen\"> \r\n    <form [formGroup]=\"form\" (ngSubmit)=\"onSubmit(form.value)\" fxLayout=\"row\" fxLayoutAlign=\"center center\"> \r\n        <h3 class=\"name text-muted\">Adam Sandler</h3>  \r\n        <img src=\"assets/images/profile/adam.jpg\" alt=\"\" class=\"mat-elevation-z4\">             \r\n        <input placeholder=\"Enter password\" formControlName=\"password\" required type=\"password\">\r\n        <button mat-icon-button color=\"primary\" type=\"submit\" class=\"submit\" [disabled]=\"!form.valid\">\r\n          <mat-icon>arrow_forward</mat-icon>\r\n        </button>\r\n        <a mat-button routerLink=\"/login\" color=\"primary\">Or sign in as a different user</a>  \r\n    </form>\r\n     <p class=\"time\">{{ date | date:\"hh:mm:ss a\" }}</p> \r\n  </div>\r\n</mat-drawer-container>","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n  selector: 'app-not-found',\r\n  templateUrl: './not-found.component.html',\r\n  styleUrls: ['./not-found.component.scss']\r\n})\r\nexport class NotFoundComponent implements OnInit {\r\n\r\n  constructor(public router:Router) { }\r\n\r\n  ngOnInit() {\r\n  }\r\n\r\n  public goHome(): void {\r\n    this.router.navigate(['/']);\r\n  }\r\n\r\n  ngAfterViewInit(){\r\n    document.getElementById('preloader')?.classList.add('hide');    \r\n  }\r\n\r\n}","<div fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"h-100\">\r\n    <div fxFlex=\"80\" fxFlex.gt-sm=\"30\" fxFlex.sm=\"60\">\r\n        <mat-card class=\"p-0 mat-elevation-z6 box\">\r\n            <div fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"bg-primary box-header\">\r\n                <mat-icon class=\"mat-icon-xlg\">error</mat-icon>\r\n                <h1 class=\"error\">404</h1>\r\n            </div>\r\n            <mat-card-content fxLayout=\"column\" fxLayoutAlign=\"end center\" class=\"box-content\">\r\n                <mat-card fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"mat-elevation-z8 box-content-inner\">\r\n                    <p class=\"box-text\">Opps, it seems that this page does not exist.</p> \r\n                    <p class=\"box-text\">If you are sure it should, search for it.</p> \r\n                    <mat-form-field appearance=\"outline\" class=\"w-100\">\r\n                        <mat-label>Search keyword</mat-label>\r\n                        <input matInput placeholder=\"Enter search keyword...\">\r\n                    </mat-form-field>\r\n                </mat-card>\r\n                <div class=\"box-footer\">\r\n                    <button mat-raised-button color=\"primary\" class=\"mat-elevation-z8\" type=\"button\" (click)=\"goHome()\">\r\n                        <mat-icon>home</mat-icon>\r\n                    </button>\r\n                    <button mat-raised-button color=\"primary\" class=\"mat-elevation-z8\" type=\"button\" (click)=\"goHome()\">\r\n                        <mat-icon>search</mat-icon>\r\n                    </button>\r\n                </div>\r\n            </mat-card-content>\r\n        </mat-card>          \r\n    </div>\r\n</div>","import { Component, OnInit, ViewChild, HostListener, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { Settings, AppSettings } from '../app.settings';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { AppService } from '../app.service';\r\n\r\n@Component({\r\n  selector: 'app-pages',\r\n  templateUrl: './pages.component.html',\r\n  styleUrls: ['./pages.component.scss']\r\n})\r\nexport class PagesComponent implements OnInit {\r\n  @ViewChild('sidenav') sidenav:any;   \r\n  public headerTypes = ['default', 'image', 'carousel', 'video'];\r\n  public headerTypeOption:string = ''; \r\n  public headerFixed: boolean = false;\r\n  public showBackToTop: boolean = false;\r\n  public message:string | null = '';\r\n  public newsdata:any[] = [];\r\n  public settings: Settings;\r\n  constructor(public appSettings:AppSettings, \r\n              public router:Router, \r\n              @Inject(PLATFORM_ID) private platformId: Object, \r\n              public appService:AppService) {\r\n    this.settings = this.appSettings.settings;  \r\n  } \r\n\r\n  ngOnInit() {    \r\n    this.headerTypeOption = this.settings.header;\r\n this.getNews();\r\n  }\r\n  \r\n  public changeTheme(theme:string){\r\n    this.settings.theme = theme;       \r\n  }\r\n\r\n\r\n  public chooseHeaderType(){\r\n    this.settings.header = this.headerTypeOption;    \r\n    if (isPlatformBrowser(this.platformId)) {\r\n      window.scrollTo(0,0);\r\n    } \r\n    this.router.navigate(['/']);\r\n  }\r\n \r\n\r\n  @HostListener('window:scroll') onWindowScroll() {\r\n    const scrollTop = Math.max(window.pageYOffset, document.documentElement.scrollTop, document.body.scrollTop);\r\n    (scrollTop > 300) ? this.showBackToTop = true : this.showBackToTop = false; \r\n\r\n    if(this.settings.stickyMenuToolbar){      \r\n      let top_toolbar = document.getElementById('top-toolbar');\r\n      if(top_toolbar){ \r\n        if(scrollTop >= top_toolbar.clientHeight) {\r\n          this.settings.mainToolbarFixed = true;\r\n        }\r\n        else{\r\n          if(!document.documentElement.classList.contains('cdk-global-scrollblock')){\r\n            this.settings.mainToolbarFixed = false;\r\n          }  \r\n        } \r\n      }        \r\n    } \r\n  }\r\n\r\n  public scrollToTop(){\r\n    var scrollDuration = 200;\r\n    var scrollStep = -window.pageYOffset  / (scrollDuration / 20);\r\n    var scrollInterval = setInterval(()=>{\r\n      if(window.pageYOffset != 0){\r\n         window.scrollBy(0, scrollStep);\r\n      }\r\n      else{\r\n        clearInterval(scrollInterval); \r\n      }\r\n    },10);\r\n    if(window.innerWidth <= 768){\r\n      setTimeout(() => { \r\n        if (isPlatformBrowser(this.platformId)) {\r\n          window.scrollTo(0,0);\r\n        }\r\n      });\r\n    }\r\n  }\r\n  public getNews(){\r\n    this.appService.NewsList()\r\n      .subscribe({\r\n        next: (data) => {\r\n         \r\n\r\n          const ndata: any = JSON.parse(JSON.stringify(data));\r\n          console.log(ndata);\r\n\r\n          if(ndata.length == 0){\r\n            this.message = 'No Results Found'; \r\n          } \r\n          else{\r\n\r\n            this.message = null;\r\n          \r\n            this.newsdata =  ndata;\r\n          } \r\n\r\n         \r\n\r\n\r\n        },\r\n        error: (e) => {\r\n\r\n         \r\n\r\n\r\n        },\r\n        complete: () => {\r\n\r\n        }\r\n      })\r\n\r\n    \r\n  } \r\n  ngAfterViewInit(){\r\n    if(document.getElementById('preloader')){\r\n      document.getElementById('preloader')?.classList.add('hide');\r\n    } \r\n    this.router.events.subscribe(event => {\r\n      if (event instanceof NavigationEnd) {        \r\n        this.sidenav.close();\r\n        this.settings.mainToolbarFixed = false;\r\n        setTimeout(() => {\r\n          if (isPlatformBrowser(this.platformId)) {\r\n            window.scrollTo(0,0);\r\n          } \r\n        }); \r\n      }            \r\n    });    \r\n  } \r\n\r\n\r\n}\r\n","<mat-sidenav-container> \r\n    <mat-sidenav [opened]=\"false\" mode=\"over\" #sidenav class=\"sidenav mat-elevation-z6\">\r\n        <button mat-icon-button color=\"warn\" class=\"close\" (click)=\"sidenav.close()\">\r\n           <mat-icon color=\"warn\">close</mat-icon>\r\n        </button>\r\n        <div class=\"divider\"></div>\r\n\r\n        <div [perfectScrollbar]=\"\" class=\"vertical-menu-wrapper\">\r\n            <app-vertical-menu [menuParentId]=\"0\"></app-vertical-menu>    \r\n        </div>       \r\n\r\n        <div class=\"divider\"></div>\r\n        <app-social-icons [iconSize]=\"'lg'\" [iconColor]=\"'primary'\" fxLayout=\"row\" fxLayoutAlign=\"center center\"></app-social-icons>\r\n        \r\n    </mat-sidenav>\r\n\r\n    <mat-sidenav-content class=\"page-wrapper\" fxLayout=\"column\" fxLayoutAlign=\"start stretch\">\r\n\r\n        <header [ngClass]=\"'toolbar-'+settings.toolbar\" [class.has-bg-image]=\"settings.headerBgImage\"  [class.has-bg-video]=\"settings.headerBgVideo\" [class.main-toolbar-fixed]=\"settings.mainToolbarFixed\">\r\n\r\n            <app-toolbar1 *ngIf=\"settings.toolbar == 1\" (onMenuIconClick)=\"sidenav.toggle()\"></app-toolbar1> \r\n        \r\n        </header>\r\n          \r\n        <main [class.content-offset-to-top]=\"settings.contentOffsetToTop\">\r\n            <router-outlet></router-outlet>              \r\n        </main>\r\n\r\n        <div class=\"sticky-footer-helper\" fxFlex=\"grow\"></div>\r\n        <div class=\"ticker-wrap\">\r\n            <div class=\"ticker-heading\">News</div>\r\n          <div class=\"ticker\">\r\n        \r\n            <div class=\"ticker__item\" *ngFor=\"let new of newsdata\">\r\n              <a href=\"/news\">{{new.Subject}}</a>  \r\n            </div>\r\n            <div class=\"ticker__item\"  *ngIf=\"message\">{{message}}</div>\r\n           \r\n          </div>\r\n          </div>\r\n        <app-footer></app-footer>\r\n       \r\n<!--         <div fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"options-icon\" (click)=\"options.toggle()\">\r\n            <mat-icon>settings</mat-icon>\r\n        </div>\r\n         -->\r\n        <div *ngIf=\"showBackToTop\" fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"back-to-top\" (click)=\"scrollToTop()\">\r\n            <mat-icon>arrow_upward</mat-icon>\r\n        </div>\r\n\r\n    </mat-sidenav-content> \r\n    \r\n    <mat-sidenav #options position=\"end\" class=\"options\" autoFocus=\"false\">\r\n        <div fxLayout=\"row\" fxLayoutAlign=\"space-between center\" class=\"op-header mat-elevation-z1\">\r\n            <h2>Settings</h2>\r\n            <button mat-icon-button (click)=\"options.toggle()\" color=\"accent\">\r\n                <mat-icon>close</mat-icon>\r\n            </button>\r\n        </div> \r\n        <div [perfectScrollbar]=\"\">\r\n            <div fxLayout=\"column\" class=\"control\">\r\n                <h4>Layout</h4>\r\n                <div fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\r\n                    <span>Sticky Menu Toolbar</span>\r\n                    <mat-slide-toggle [checked]=\"settings.stickyMenuToolbar\" (change)=\"settings.stickyMenuToolbar = !settings.stickyMenuToolbar\" labelPosition=\"before\"></mat-slide-toggle>\r\n                </div>                 \r\n                <div fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\r\n                    <span>RTL</span>\r\n                    <mat-slide-toggle [checked]=\"settings.rtl\" (change)=\"settings.rtl = !settings.rtl\" labelPosition=\"before\"></mat-slide-toggle>\r\n                </div> \r\n            </div>\r\n            \r\n            <div fxLayout=\"column\" class=\"control\">\r\n                <h4>Choose header type</h4>\r\n                <mat-radio-group [(ngModel)]=\"headerTypeOption\" (change)=\"chooseHeaderType()\">\r\n                    <mat-radio-button *ngFor=\"let headerType of headerTypes\" [value]=\"headerType\">{{headerType}}</mat-radio-button>\r\n                </mat-radio-group>\r\n            </div>\r\n\r\n            <div fxLayout=\"column\" class=\"control\">\r\n                <h4>Choose theme skin</h4> \r\n                <div fxLayout=\"row\" fxLayoutAlign=\"space-between center\"> \r\n                    <div class=\"skin-primary red\" (click)=\"changeTheme('red')\"></div>\r\n                    <div class=\"skin-primary blue\" (click)=\"changeTheme('blue')\"></div>  \r\n                    <div class=\"skin-primary green\" (click)=\"changeTheme('green')\"></div>  \r\n                    <div class=\"skin-primary pink\" (click)=\"changeTheme('pink')\"></div> \r\n                    <div class=\"skin-primary purple\" (click)=\"changeTheme('purple')\"></div>\r\n                    <div class=\"skin-primary grey\" (click)=\"changeTheme('grey')\"></div>\r\n                    <div class=\"skin-primary orange-dark\" (click)=\"changeTheme('orange-dark')\"><div class=\"skin-secondary\"></div></div>\r\n                </div>\r\n            </div>\r\n\r\n            <!-- <div fxLayout=\"column\" class=\"control\">\r\n                <h4>Choose search panel variant</h4>\r\n                <mat-radio-group [(ngModel)]=\"searchPanelVariantOption\" (change)=\"chooseSearchPanelVariant()\">\r\n                    <mat-radio-button *ngFor=\"let searchPanelVariant of searchPanelVariants\" [value]=\"searchPanelVariant\">variant-{{searchPanelVariant}}</mat-radio-button>\r\n                </mat-radio-group>\r\n                <mat-slide-toggle [checked]=\"settings.searchOnBtnClick\" (change)=\"settings.searchOnBtnClick = !settings.searchOnBtnClick\" labelPosition=\"after\">Search On Button Click</mat-slide-toggle>\r\n            </div>  -->\r\n\r\n        </div>\r\n    </mat-sidenav>\r\n   \r\n</mat-sidenav-container> ","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n  selector: 'app-alert-dialog',\r\n  templateUrl: './alert-dialog.component.html',\r\n  styleUrls: ['./alert-dialog.component.scss']\r\n})\r\nexport class AlertDialogComponent implements OnInit { \r\n\r\n  constructor(public dialogRef: MatDialogRef<AlertDialogComponent>,\r\n              @Inject(MAT_DIALOG_DATA) public message:string) { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n  close(): void { \r\n    this.dialogRef.close();\r\n  }\r\n\r\n}\r\n","<h1 mat-dialog-title>\r\n    <div class=\"text-center\">\r\n        <mat-icon class=\"mat-icon-xlg\" color=\"primary\">notification_important</mat-icon>\r\n    </div>\r\n</h1>\r\n  \r\n<div mat-dialog-content>\r\n    <p>{{message}}</p>\r\n</div>\r\n  \r\n<div mat-dialog-actions> \r\n    <button mat-raised-button color=\"primary\" (click)=\"close()\" class=\"m-auto\">{{ 'BTN.OK' | translate }}</button>\r\n</div>","import { Component, OnInit, Input } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { emailValidator } from 'src/app/theme/utils/app-validators';\r\n\r\n@Component({\r\n  selector: 'app-comments',\r\n  templateUrl: './comments.component.html',\r\n  styleUrls: ['./comments.component.scss']\r\n})\r\nexport class CommentsComponent implements OnInit {\r\n  @Input('menuItemId') menuItemId = 0;\r\n  public commentForm!: UntypedFormGroup;\r\n  public reviews = [\r\n    { \r\n      author: 'Bruno Vespa', \r\n      avatar: 'assets/images/avatars/avatar-1.png', \r\n      tooltip: 'Dissatisfied', \r\n      icon: 'sentiment_dissatisfied',\r\n      date: '13 January, 2018 at 7:09',\r\n      text: 'Integer id eros et mi fringilla imperdiet. In dictum turpis eget magna viverra condimentum. Ut malesuada interdum ultrices. Proin tristique sem pellentesque, posuere dui in, maximus magna. Aenean vehicula, tortor gravida elementum tincidunt, justo lorem vestibulum ex, eget egestas arcu tellus in magna.'\r\n    },\r\n    { \r\n      author: 'Julia Aniston', \r\n      avatar: 'assets/images/avatars/avatar-2.png', \r\n      tooltip: 'Very Satisfied', \r\n      icon: 'sentiment_very_satisfied',\r\n      date: '04 February, 2018 at 10:22',\r\n      text: 'Nulla accumsan, lacus sed suscipit rutrum, turpis augue accumsan metus, in accumsan urna mi vehicula lorem. Pellentesque semper nibh vitae augue placerat finibus. Nulla sed porttitor nunc, quis tristique sem. Quisque in varius nisl. Integer turpis lorem, ultricies sed sem nec, commodo molestie arcu. Nulla finibus ex tortor, et suscipit magna semper consectetur. Cras sit amet metus dui. Maecenas eget dui at ex varius malesuada vel non felis.'\r\n    },\r\n    { \r\n      author: 'Andy Warhol', \r\n      avatar: 'assets/images/avatars/avatar-3.png', \r\n      tooltip: 'Neutral', \r\n      icon: 'sentiment_neutral',\r\n      date: '14 February, 2018 at 11:10',\r\n      text: 'Pellentesque hendrerit vel turpis aliquam placerat. Suspendisse ullamcorper congue feugiat. Etiam gravida metus ac massa posuere venenatis. Pellentesque vehicula lobortis dolor, ac pretium dolor maximus quis. Fusce vitae iaculis mauris, quis posuere ex. Mauris vitae convallis nibh. Etiam eget enim at orci interdum maximus nec in ante.'\r\n    }\r\n  ];\r\n  public ratings = [\r\n    { title: 'Very Dissatisfied', icon: 'sentiment_very_dissatisfied', percentage: 20, selected: false },\r\n    { title: 'Dissatisfied', icon: 'sentiment_dissatisfied', percentage: 40, selected: false },\r\n    { title: 'Neutral', icon: 'sentiment_neutral', percentage: 60, selected: false },\r\n    { title: 'Satisfied', icon: 'sentiment_satisfied', percentage: 80, selected: false },\r\n    { title: 'Very Satisfied', icon: 'sentiment_very_satisfied', percentage: 100, selected: false }\r\n  ];\r\n  constructor(public fb: UntypedFormBuilder) { }\r\n\r\n  ngOnInit() {\r\n    this.commentForm = this.fb.group({ \r\n      review: [null, Validators.required],            \r\n      name: [null, Validators.compose([Validators.required, Validators.minLength(4)])],\r\n      email: [null, Validators.compose([Validators.required, emailValidator])],\r\n      rate: null,\r\n      menuItemId: this.menuItemId\r\n    }); \r\n  }\r\n\r\n  public onCommentFormSubmit(values:any){\r\n    if (this.commentForm.valid) { \r\n      console.log(values);\r\n      if(values.rate){\r\n        //menuItem.ratingsCount++,\r\n        //menuItem.ratingsValue = menuItem.ratingsValue + values.rate,\r\n      }     \r\n    } \r\n  }\r\n\r\n  public rate(rating:any){\r\n    this.ratings.filter(r => r.selected = false);\r\n    this.ratings.filter(r => r.percentage == rating.percentage)[0].selected = true;\r\n    this.commentForm.controls.rate.setValue(rating.percentage);\r\n  }\r\n\r\n}","<div class=\"comments\">\r\n    <div fxLayoutAlign=\"center center\"> \r\n        <h2 class=\"secondary-font mb-3\">Leave a Reply</h2> \r\n    </div>                \r\n    <div class=\"divider\"></div>\r\n    <mat-list class=\"reviews mt-3\">\r\n        <mat-list-item *ngFor=\"let review of reviews\" class=\"h-100\">\r\n            <img matListAvatar [src]=\"review.avatar\" alt=\"image\" class=\"review-author\">\r\n            <p matLine fxLayoutAlign=\"start center\">\r\n                <span class=\"fw-500\">{{review.author}}</span> \r\n                <mat-icon class=\"text-muted px-1\" [matTooltip]=\"review.tooltip\" matTooltipPosition=\"after\">{{review.icon}}</mat-icon>\r\n            </p>\r\n            <p matLine class=\"text-muted\"><small>{{review.date}}</small></p>\r\n            <p matLine class=\"text\">{{review.text}}</p>\r\n        </mat-list-item>\r\n    </mat-list>                    \r\n    <h3 class=\"mt-3\">LEAVE YOUR REVIEW</h3>\r\n    <div class=\"divider\"></div>\r\n    <p class=\"mt-3 text-muted\">Your email address will not be published. Required fields are marked *</p>\r\n    <h3 fxLayoutAlign=\"start center\" class=\"my-3 text-muted\">\r\n        <span>Your Rating:</span>\r\n        <button *ngFor=\"let rating of ratings\" mat-icon-button [matTooltip]=\"rating.title\" matTooltipPosition=\"above\" (click)=\"rate(rating)\">\r\n          <mat-icon class=\"mat-icon-lg\" [class.primary-color]=\"rating.selected\">{{rating.icon}}</mat-icon>\r\n        </button>\r\n    </h3>\r\n    <form [formGroup]=\"commentForm\" (ngSubmit)=\"onCommentFormSubmit(commentForm.value)\" fxLayout=\"row wrap\" fxLayoutAlign=\"space-between\" class=\"comment-form\">\r\n        <div fxFlex=\"100\" class=\"p-2\">\r\n            <mat-form-field appearance=\"outline\" class=\"w-100\">\r\n                <mat-label>Your review</mat-label>\r\n                <textarea matInput placeholder=\"Your review\" formControlName=\"review\" required rows=\"5\"></textarea>\r\n                <mat-error *ngIf=\"commentForm.controls.review.errors?.required\">Review is required</mat-error>\r\n            </mat-form-field>\r\n        </div>\r\n        <div fxFlex=\"100\" fxFlex.gt-sm=\"49\" class=\"p-2\">\r\n            <mat-form-field appearance=\"outline\" class=\"w-100\">\r\n                <mat-label>Your name</mat-label>\r\n                <input matInput placeholder=\"Your name\" formControlName=\"name\" required>\r\n                <mat-error *ngIf=\"commentForm.controls.name.errors?.required\">Name is required</mat-error>\r\n                <mat-error *ngIf=\"commentForm.controls.name.hasError('minlength')\">Name isn't long enough, minimum of 4 characters</mat-error>\r\n            </mat-form-field> \r\n        </div>\r\n        <div fxFlex=\"100\" fxFlex.gt-sm=\"49\" class=\"p-2\">\r\n            <mat-form-field appearance=\"outline\" class=\"w-100\">\r\n                <mat-label>Your email</mat-label>\r\n                <input matInput placeholder=\"Your email\" formControlName=\"email\" required>\r\n                <mat-error *ngIf=\"commentForm.controls.email.errors?.required\">Email is required</mat-error>\r\n                <mat-error *ngIf=\"commentForm.controls.email.hasError('invalidEmail')\">Invalid email address</mat-error>\r\n            </mat-form-field> \r\n        </div>\r\n        <div fxFlex=\"100\" class=\"text-center w-100\">\r\n            <button mat-raised-button color=\"primary\" type=\"submit\" class=\"uppercase\">Submit review</button>\r\n        </div>\r\n    </form>\r\n</div>","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n  selector: 'app-confirm-dialog',\r\n  templateUrl: './confirm-dialog.component.html',\r\n  styleUrls: ['./confirm-dialog.component.scss']\r\n})\r\nexport class ConfirmDialogComponent implements OnInit {\r\n  public title: string;\r\n  public message: string;\r\n  constructor(public dialogRef: MatDialogRef<ConfirmDialogComponent>,\r\n              @Inject(MAT_DIALOG_DATA) public data: ConfirmDialogModel) { \r\n    this.title = data.title;\r\n    this.message = data.message;\r\n  }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n  onConfirm(): void { \r\n    this.dialogRef.close(true);\r\n  }\r\n\r\n  onDismiss(): void { \r\n    this.dialogRef.close(false);\r\n  }\r\n\r\n}\r\n\r\nexport class ConfirmDialogModel { \r\n  constructor(public title: string, public message: string) { }\r\n}\r\n","<div mat-dialog-title> \r\n    <div class=\"text-center\"> \r\n        <h4 class=\"mb-1\">{{title}}</h4>\r\n        <mat-icon class=\"mat-icon-xlg\" color=\"primary\">warning</mat-icon>\r\n    </div> \r\n</div>\r\n  \r\n<div mat-dialog-content>\r\n    <p>{{message}}</p>\r\n</div>\r\n  \r\n<div mat-dialog-actions fxLayoutAlign=\"space-between center\" class=\"pb-4\">\r\n    <button mat-button (click)=\"onDismiss()\">{{ 'BTN.NO' | translate }}</button>\r\n    <button mat-raised-button color=\"primary\" (click)=\"onConfirm()\">{{ 'BTN.YES' | translate }}</button>\r\n</div>","<div>\r\n    <button *ngIf=\"showFullscreenIcon\" mat-icon-button type=\"button\" (click)=\"toggleFullScreen()\">\r\n        <mat-icon>{{(isFullScreen)? 'fullscreen_exit' : 'fullscreen'}}</mat-icon>\r\n    </button>\r\n    <button mat-icon-button type=\"button\" (click)=\"close()\">\r\n        <mat-icon>cancel</mat-icon>\r\n    </button>\r\n</div>","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-dialog-header-controls',\r\n  templateUrl: './dialog-header-controls.component.html',\r\n  styleUrls: ['./dialog-header-controls.component.scss']\r\n})\r\nexport class DialogHeaderControlsComponent implements OnInit {\r\n  @Input('dialogRef') dialogRef:any;\r\n  @Input('showFullscreenIcon') showFullscreenIcon:boolean = true; \r\n  public isFullScreen:boolean = false;\r\n  constructor() { }\r\n\r\n  ngOnInit() {\r\n  }\r\n\r\n  public toggleFullScreen(){\r\n    this.isFullScreen = !this.isFullScreen;\r\n    if(this.isFullScreen){\r\n      this.dialogRef.addPanelClass('fullscreen');\r\n      document.getElementsByTagName('html')[0].style.overflowY = \"hidden\"; \r\n    }\r\n    else{\r\n      this.dialogRef.removePanelClass('fullscreen'); \r\n      (document.getElementsByTagName('html')[0] as any).style.overflowY = null; \r\n    } \r\n  }\r\n\r\n  public close(){  \r\n    this.dialogRef.close(); \r\n    (document.getElementsByTagName('html')[0] as any).style.overflowY = null; \r\n  }\r\n\r\n}\r\n","<div class=\"header-carousel\" [class.offset-bottom]=\"contentOffsetToTop\" [class.fullscreen]=\"fullscreen\" [ngClass]=\"'toolbar-'+settings.toolbar\">\r\n    <div *ngIf=\"slides.length > 1\"  class=\"swiper-container h-100\" [swiper]=\"config\" (indexChange)=\"onIndexChange($event)\">\r\n        <div class=\"swiper-wrapper h-100\">      \r\n            <div *ngFor=\"let slide of slides;\" class=\"swiper-slide\">\r\n                <div [attr.data-background]=\"slide.image\" class=\"slide-item swiper-lazy\">\r\n                    <div class=\"swiper-lazy-preloader\"></div>\r\n                </div>\r\n            </div>\r\n        </div>     \r\n        <button mat-raised-button color=\"primary\" class=\"swiper-button-prev swipe-arrow\"><mat-icon class=\"mat-icon-lg\">keyboard_arrow_left</mat-icon></button>\r\n        <button mat-raised-button color=\"primary\" class=\"swiper-button-next swipe-arrow\"><mat-icon class=\"mat-icon-lg\">keyboard_arrow_right</mat-icon></button>\r\n      \r\n        <div fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"slide-info\" [dir]=\"(settings.rtl) ? 'rtl' : 'ltr'\">\r\n            <mat-card class=\"p-4\">\r\n                <h1 class=\"slide-title\">{{currentSlide.title}}</h1>\r\n                <p class=\"desc\">{{currentSlide.desc}}</p> \r\n                <a routerLink=\"/menu\" mat-raised-button color=\"primary\" class=\"link\">Take a look at our menu</a> \r\n            </mat-card>  \r\n        </div> \r\n        <div class=\"mask\"></div>\r\n    </div>\r\n</div>","import { Component, OnInit, Input, ViewChild } from '@angular/core';\r\nimport { SwiperConfigInterface } from 'ngx-swiper-wrapper';\r\nimport { Settings, AppSettings } from '../../app.settings';\r\n\r\n@Component({\r\n  selector: 'app-header-carousel',\r\n  templateUrl: './header-carousel.component.html',\r\n  styleUrls: ['./header-carousel.component.scss'] \r\n})\r\nexport class HeaderCarouselComponent implements OnInit {\r\n  @Input('slides') slides: Array<any> = [];\r\n  @Input('contentOffsetToTop') contentOffsetToTop:boolean = false; \r\n  @Input('fullscreen') fullscreen: boolean = true; \r\n  public config: SwiperConfigInterface = {};  \r\n  public currentSlide:any; \r\n  public settings: Settings;\r\n  constructor(public appSettings:AppSettings) { \r\n    this.settings = this.appSettings.settings;\r\n  }\r\n\r\n  ngOnInit() {\r\n    if(this.contentOffsetToTop){\r\n      setTimeout(() => {\r\n        this.settings.contentOffsetToTop = this.contentOffsetToTop;\r\n      });\r\n    } \r\n  }\r\n\r\n  ngAfterViewInit(){    \r\n    this.initCarousel();\r\n  }\r\n\r\n  ngOnChanges(){\r\n    if(this.slides.length > 0){\r\n      this.currentSlide = this.slides[0];  \r\n    }\r\n  }\r\n\r\n  public initCarousel(){\r\n    this.config = {\r\n      slidesPerView: 1,\r\n      spaceBetween: 0,         \r\n      keyboard: true,\r\n      navigation: true,\r\n      pagination: false,\r\n      grabCursor: true,        \r\n      loop: true,\r\n      preloadImages: false,\r\n      lazy: true,     \r\n      autoplay: {\r\n        delay: 5000,\r\n        disableOnInteraction: false\r\n      },\r\n      speed: 500,\r\n      effect: \"slide\"\r\n    }\r\n  }\r\n\r\n  ngOnDestroy(){  \r\n    setTimeout(() => {\r\n      this.settings.contentOffsetToTop = false;\r\n    });  \r\n  }\r\n  \r\n  public onIndexChange(index: number) {  \r\n    this.currentSlide = this.slides[index];\r\n  }\r\n}","<div class=\"header-image-wrapper\" [dir]=\"(settings.rtl) ? 'rtl' : 'ltr'\" [class.fullscreen]=\"fullscreen\" [ngClass]=\"'toolbar-'+settings.toolbar\">\r\n    <div class=\"bg\" [style.background-image]=\"bgImage\" [class.bg-anime]=\"bgImageAnimate\"></div>\r\n    <div class=\"mask\"></div>   \r\n    <div class=\"header-image-content\" fxLayout=\"column\" fxLayoutAlign=\"center center\" [class.offset-bottom]=\"contentOffsetToTop\" [class.home-page]=\"isHomePage\"  [style.min-height.px]=\"contentMinHeight\">\r\n        <h1 *ngIf=\"title\" class=\"title\">{{title}}</h1>\r\n        <p *ngIf=\"desc\" class=\"desc\">{{desc}}</p>\r\n        <div *ngIf=\"isHomePage\" ngClass.gt-xs=\"mt-4\" ngClass.xs=\"mt-3\"> \r\n          <a mat-raised-button routerLink=\"/menu\">{{ 'MENU' | translate }}</a>\r\n          <a mat-raised-button color=\"primary\" routerLink=\"/account/orders\">{{ 'ORDER' | translate }}</a> \r\n        </div>\r\n    </div>\r\n</div>","import { Component, OnInit, Input } from '@angular/core';\r\nimport { DomSanitizer} from '@angular/platform-browser'\r\nimport { Settings, AppSettings } from '../../app.settings';\r\n\r\n@Component({\r\n  selector: 'app-header-image',\r\n  templateUrl: './header-image.component.html',\r\n  styleUrls: ['./header-image.component.scss']\r\n})\r\nexport class HeaderImageComponent implements OnInit {\r\n  @Input('backgroundImage') backgroundImage:any;\r\n  @Input('bgImageAnimate') bgImageAnimate:any;\r\n  @Input('contentOffsetToTop') contentOffsetToTop:boolean = false;\r\n  @Input('contentMinHeight') contentMinHeight:any;\r\n  @Input('title') title:any;\r\n  @Input('desc') desc:any;\r\n  @Input('isHomePage') isHomePage:boolean = false;\r\n  @Input('fullscreen') fullscreen: boolean = false; \r\n  public bgImage:any;\r\n  public settings: Settings;\r\n  constructor(public appSettings:AppSettings, private sanitizer:DomSanitizer) {\r\n    this.settings = this.appSettings.settings;\r\n    setTimeout(() => {\r\n      this.settings.headerBgImage = true;\r\n    }); \r\n  }\r\n\r\n  ngOnInit() {\r\n    if(this.contentOffsetToTop){\r\n      setTimeout(() => {\r\n        this.settings.contentOffsetToTop = this.contentOffsetToTop;\r\n      }); \r\n    } \r\n    if(this.backgroundImage){\r\n      this.bgImage = this.sanitizer.bypassSecurityTrustStyle('url('+this.backgroundImage +')'); \r\n    }\r\n  }\r\n\r\n  ngOnDestroy(){    \r\n    setTimeout(() => {\r\n      this.settings.headerBgImage = false; \r\n      this.settings.contentOffsetToTop = false;\r\n    });  \r\n  }\r\n\r\n}\r\n","<div class=\"header-video-wrapper\" [class.fullscreen]=\"fullscreen\" [ngClass]=\"'toolbar-'+settings.toolbar\"> \r\n    <video id=\"bgVideo\" autoplay muted loop [src]=\"backgroundVideo\"></video> \r\n    <div class=\"mask\"></div> \r\n    <div class=\"header-video-content\" fxLayout=\"column\" fxLayoutAlign=\"center center\" [class.offset-bottom]=\"contentOffsetToTop\" [class.home-page]=\"isHomePage\" [style.min-height.px]=\"contentMinHeight\">\r\n        <h1 *ngIf=\"title\" class=\"title\">{{title}}</h1>\r\n        <p *ngIf=\"desc\" class=\"desc\">{{desc}}</p> \r\n        <div *ngIf=\"isHomePage\" ngClass.gt-xs=\"mt-4\" ngClass.xs=\"mt-3\"> \r\n            <a mat-raised-button routerLink=\"/menu\">{{ 'MENU' | translate }}</a>\r\n            <a mat-raised-button color=\"primary\" routerLink=\"/reservation\">{{ 'RESERVATION' | translate }}</a> \r\n          </div>\r\n    </div>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { AppSettings, Settings } from 'src/app/app.settings';\r\n\r\n@Component({\r\n  selector: 'app-header-video',\r\n  templateUrl: './header-video.component.html',\r\n  styleUrls: ['./header-video.component.scss']\r\n})\r\nexport class HeaderVideoComponent implements OnInit {\r\n  @Input('backgroundVideo') backgroundVideo:any; \r\n  @Input('contentOffsetToTop') contentOffsetToTop:boolean = false;\r\n  @Input('contentMinHeight') contentMinHeight:any;\r\n  @Input('title') title:any;\r\n  @Input('desc') desc:any;\r\n  @Input('isHomePage') isHomePage:boolean = false;\r\n  @Input('fullscreen') fullscreen: boolean = false;\r\n  public settings: Settings;\r\n  constructor(public appSettings:AppSettings) { \r\n    this.settings = this.appSettings.settings;\r\n    setTimeout(() => {\r\n      this.settings.headerBgVideo = true;\r\n    }); \r\n  }\r\n\r\n  ngOnInit(): void {\r\n    if(this.contentOffsetToTop){\r\n      setTimeout(() => {\r\n        this.settings.contentOffsetToTop = this.contentOffsetToTop;\r\n      });\r\n    } \r\n    var vid = <HTMLVideoElement> document.getElementById(\"bgVideo\");\r\n    vid.muted = true;\r\n  }\r\n\r\n  ngOnDestroy(){  \r\n    setTimeout(() => {\r\n      this.settings.headerBgVideo = false; \r\n      this.settings.contentOffsetToTop = false;\r\n    });  \r\n  }\r\n\r\n}\r\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';  \r\nimport { AppService } from 'src/app/app.service';\r\n\r\n@Component({\r\n  selector: 'app-image-upload',\r\n  templateUrl: './image-upload.component.html',\r\n  styleUrls: ['./image-upload.component.scss']\r\n})\r\nexport class ImageUploadComponent implements OnInit {\r\n  @Input('base64') base64:string = ''; \r\n  @Input('fileSize') fileSize = 500;  \r\n  @Input('acceptTypes') acceptTypes:any; \r\n  @Output() onFileChange: EventEmitter<any> = new EventEmitter(); \r\n  @Output() onFileUploadClick: EventEmitter<any> = new EventEmitter();\r\n  public files:any[] = [];  \r\n\r\n  constructor(public appService:AppService) { } \r\n\r\n  ngOnInit(): void {  \r\n    if(this.base64){ \r\n      this.files.push({\r\n        name: 'image-' + new Date().getDate, \r\n        content: this.base64,\r\n        size: null\r\n      })\r\n    } \r\n  }\r\n \r\n\r\n  public fileChange(input:any){  \r\n    if(input.files.length){\r\n      for (var i = 0; i < input.files.length; i++){\r\n        const reader = new FileReader(); \r\n        if (input.files[i].size / 1024 > this.fileSize) {  \r\n          const message = this.appService.getTranslateValue('MESSAGE.FILE_SIZE', this.fileSize.toString()); //'The file size cannot exceed '+this.fileSize.toString()+' kb.';\r\n          let dialogRef = this.appService.openAlertDialog(message!); \r\n          dialogRef.afterClosed().subscribe(dialogResult => {\r\n            this.clearInput();  \r\n          });  \r\n        } \r\n        else {  \r\n          let name = input.files[i].name;\r\n          let size = input.files[i].size; \r\n          reader.readAsDataURL(input.files[i]);\r\n          reader.onload = () => {  \r\n            var img = new Image(); \r\n            img.onload = () => { \r\n              // console.log(img.width + \" \" + img.height);\r\n              // if(img.width > 300){ \r\n              //   const message = 'The size of the image should be 300x300!';\r\n              //   let dialogRef = this.appService.openAlertDialog(message);             \r\n              // }\r\n              // else{\r\n              //   this.files.push({\r\n              //     \"name\": name, \r\n              //     \"size\": size, \r\n              //     \"content\": reader.result \r\n              //   }); \r\n              //   this.onFileChange.emit(this.files);  \r\n              // }\r\n              this.files.push({\r\n                \"name\": name, \r\n                \"size\": size, \r\n                \"content\": reader.result \r\n              }); \r\n              this.onFileChange.emit(this.files);  \r\n            }; \r\n            img.src = reader.result as string; \r\n          } \r\n        }  \r\n      }\r\n    }  \r\n  }\r\n   \r\n  public fileUploadClick(){ \r\n    this.onFileUploadClick.emit();\r\n  }\r\n\r\n  public clearInput(){\r\n    if(this.files.length == 0){  \r\n      if(document.getElementById('singleFileUploader')){ \r\n        (<HTMLInputElement>document.getElementById('singleFileUploader')).value = ''; \r\n      }\r\n    }  \r\n  } \r\n\r\n  public deleteFile() {  \r\n    const message = this.appService.getTranslateValue('MESSAGE.SURE_DELETE');\r\n    let dialogRef = this.appService.openConfirmDialog('', message!);\r\n    dialogRef.afterClosed().subscribe(dialogResult => {\r\n      if(dialogResult){\r\n        this.files.length = 0;          \r\n        this.onFileChange.emit(this.files);\r\n        this.clearInput();   \r\n      }\r\n    });  \r\n  }  \r\n\r\n}\r\n","<div fxLayout=\"row wrap\" [style.minHeight.px]=\"132\">\r\n    <div *ngFor=\"let file of files\" class=\"w-100\"> \r\n        <img useCache=\"false\" [src]=\"file.content\" alt=\"image\" class=\"d-block w-100 mat-elevation-z2\">\r\n    </div> \r\n    <img useCache=\"false\" *ngIf=\"!files.length\" src=\"assets/images/others/noimage.png\" class=\"d-block mw-100 mat-elevation-z2\">\r\n</div>\r\n<div class=\"file-upload mb-2\">  \r\n    <input *ngIf=\"!files.length\" id=\"singleFileUploader\" type=\"file\" [accept]=\"acceptTypes\" (change)=\"fileChange(input)\" #input/> \r\n    <button *ngIf=\"!files.length\" mat-raised-button color=\"primary\" class=\"uppercase w-100\" type=\"button\" (click)=\"fileUploadClick()\">{{ 'BTN.UPLOAD' | translate }}</button>\r\n    <button *ngIf=\"files.length\" mat-raised-button color=\"warn\" class=\"uppercase w-100\" type=\"button\" (click)=\"deleteFile()\">{{ 'BTN.REMOVE' | translate }}</button>\r\n</div> ","<button mat-button [matMenuTriggerFor]=\"langMenu\" #langMenuTrigger=\"matMenuTrigger\" class=\"lang-btn\">\r\n    <img [src]=\"'assets/images/flags/'+translateService.currentLang+'.svg'\" width=\"22\" [alt]=\"translateService.currentLang\" class=\"mat-elevation-z1\">   \r\n</button>\r\n<mat-menu #langMenu=\"matMenu\" [overlapTrigger]=\"false\" class=\"app-menu-panel lang\">\r\n    <span (mouseleave)=\"langMenuTrigger.closeMenu()\">  \r\n        <button *ngFor=\"let lang of translateService.getLangs()\" mat-menu-item (click)=\"changeLang(lang)\">  \r\n            <img [src]=\"'assets/images/flags/'+lang+'.svg'\" width=\"22\" [alt]=\"lang\" class=\"mat-elevation-z1\">  \r\n        </button> \r\n    </span>\r\n</mat-menu>","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n  selector: 'app-lang',\r\n  templateUrl: './lang.component.html',\r\n  styleUrls: ['./lang.component.scss']\r\n})\r\nexport class LangComponent implements OnInit {  \r\n  constructor(public translateService: TranslateService) { }\r\n\r\n  ngOnInit() { } \r\n\r\n  public changeLang(lang:string){ \r\n    this.translateService.use(lang);   \r\n  } \r\n\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-logo',\r\n  templateUrl: './logo.component.html'\r\n})\r\nexport class LogoComponent { }\r\n","<div class=\"logo\"> \r\n <img src=\"assets/images/others/Logo.png\" style=\"width:180px\">\r\n\r\n</div>\r\n\r\n\r\n \r\n\r\n\r\n\r\n","<div class=\"hoverable-image\">\r\n    <h1 *ngIf=\"!onlyImage\" class=\"title\"><a [routerLink]=\"['/menu', menuItem.id]\">{{menuItem.name}}</a></h1>   \r\n    <img *ngIf=\"!onlyImage\" [src]=\"menuItem.image.medium\" [alt]=\"menuItem.name\"> \r\n    <a *ngIf=\"onlyImage\" [routerLink]=\"['/menu', menuItem.id]\">\r\n        <img [src]=\"menuItem.image.medium\" [alt]=\"menuItem.name\"> \r\n    </a>\r\n    <div *ngIf=\"!onlyImage\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\" class=\"bottom-section\">  \r\n       \r\n      \r\n        <div>  \r\n            \r\n            \r\n        </div> \r\n    </div> \r\n</div> ","import { Component, Input, OnInit } from '@angular/core';\r\nimport { MenuItem } from 'src/app/app.models';\r\nimport { AppService } from 'src/app/app.service';\r\n \r\n\r\n@Component({\r\n  selector: 'app-menu-item-hoverable',\r\n  templateUrl: './menu-item-hoverable.component.html',\r\n  styleUrls: ['./menu-item-hoverable.component.scss']\r\n})\r\nexport class MenuItemHoverableComponent implements OnInit {\r\n  @Input() menuItem!: MenuItem;\r\n  @Input() onlyImage: boolean = false;\r\n  constructor(public appService:AppService) { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n  \r\n \r\n \r\n}\r\n","<mat-card class=\"menu-item p-0\" [fxLayout]=\"(viewType == 'grid') ? 'column' : 'row'\"\r\n    [ngClass]=\"[viewType + '-item', 'column-'+column]\" style=\"max-height: 550px; min-height: 550px;\">\r\n    <div fxLayout=\"column\" fxLayoutAlign=\"space-between center\">\r\n\r\n\r\n        <h1 class=\"title\">{{menuItem.division}}</h1>\r\n\r\n\r\n    </div>\r\n    <div fxLayout=\"column\" fxLayoutAlign=\"space-between center\" class=\"divider mt-1\">\r\n    </div>\r\n\r\n    <div fxFlex=\"100\" [fxShrink]=\"(viewType == 'grid') ? '3' : '2'\" class=\"thumbnail-section\">\r\n\r\n        <div *ngIf=\"lazyLoad\">\r\n            <img useCache=\"false\" [attr.data-src]=\"menuItem.image.medium\" class=\"w-100 d-block swiper-lazy\">\r\n            <div class=\"swiper-lazy-preloader\"></div>\r\n        </div>\r\n        <img useCache=\"false\" *ngIf=\"!lazyLoad\" [src]=\"menuItem.image.medium\" class=\"w-100 d-block\">\r\n    </div>\r\n    <div fxFlex=\"100\" class=\"p-3\">\r\n        <div fxLayout=\"column\" fxLayoutAlign=\"start stretch\" class=\"h-100\">\r\n            <mat-card-content class=\"mb-0\">\r\n                <h1 class=\"title\">{{menuItem.name}}</h1>\r\n                <div class=\"mt-2\">\r\n                    <p>{{menuItem.description}}</p>\r\n                 \r\n                </div>\r\n            </mat-card-content>\r\n            <div class=\"sticky-footer-helper\" fxFlex=\"grow\"></div>\r\n            <mat-card-actions class=\"m-0 p-0\">\r\n                <div class=\"features\">\r\n\r\n\r\n\r\n                    <p fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"mb-1\">\r\n                        <span fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n                            <span class=\"mat-icon mat-icon-sm primary-color\">\r\n                                <svg viewBox=\"0 0 24 24\">\r\n                                    <path *ngIf=\"!menuItem.isVegetarian\"\r\n                                        d=\"M20.84 22.73L15.14 17.03C13.26 18.79 10.92 20 8 20C7.64 20 7.14 19.87 6.66 19.7L5.71 22L3.82 21.34C5.15 18.03 6.5 14.32 9.66 11.55L8.77 10.66C6.76 12.03 4.86 14.1 3.75 17.25C3.75 17.25 2 15.5 2 13.5C2 12 3.12 9.32 5.72 7.61L1.11 3L2.39 1.73C2.39 1.73 16.39 15.74 16.39 15.74L22.11 21.46L20.84 22.73M17 8C15.35 8.37 13.93 8.88 12.7 9.5L17.5 14.29C20.87 9.35 22 3 22 3C21.03 4.95 14.35 5.24 9.38 6.18L12.15 8.95C14.81 8 17 8 17 8Z\" />\r\n                                    <path *ngIf=\"menuItem.isVegetarian\"\r\n                                        d=\"M17,8C8,10 5.9,16.17 3.82,21.34L5.71,22L6.66,19.7C7.14,19.87 7.64,20 8,20C19,20 22,3 22,3C21,5 14,5.25 9,6.25C4,7.25 2,11.5 2,13.5C2,15.5 3.75,17.25 3.75,17.25C7,8 17,8 17,8Z\" />\r\n                                </svg>\r\n                            </span>\r\n                        </span>\r\n                        <span class=\"px-1\">Vegetarian:</span>\r\n                        <span class=\"dots\"></span>\r\n                        <span class=\"fw-500\">{{ (menuItem.isVegetarian) ? 'Yes':'No'}}</span>\r\n\r\n\r\n\r\n                    </p>\r\n\r\n                    <div fxLayout=\"column\" class=\"divider  text-right\">\r\n\r\n                        <h2 class=\"primary-color text-right\">\r\n                            {{menuItem.price | currency:'':''}}\r\n                        </h2>\r\n\r\n\r\n\r\n\r\n                    </div>\r\n\r\n\r\n                </div>\r\n\r\n\r\n\r\n            </mat-card-actions>\r\n        </div>\r\n    </div>\r\n</mat-card>","import { Component, Input, OnInit, SimpleChange } from '@angular/core';\r\nimport { MenuItem } from 'src/app/app.models';\r\nimport { AppService } from 'src/app/app.service';\r\n \r\n\r\n@Component({\r\n  selector: 'app-menu-item',\r\n  templateUrl: './menu-item.component.html',\r\n  styleUrls: ['./menu-item.component.scss']\r\n})\r\nexport class MenuItemComponent implements OnInit {\r\n  @Input() menuItem!: MenuItem;\r\n  @Input() lazyLoad: boolean = false;\r\n  @Input() viewType: string = \"grid\";\r\n  @Input() viewColChanged: any; \r\n  public column:number = 4;\r\n  constructor(public appService:AppService) { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n  ngOnChanges(changes: {[propKey: string]: SimpleChange}){  \r\n    if(changes.viewColChanged){\r\n      this.getColumnCount(changes.viewColChanged.currentValue); \r\n    }   \r\n  }\r\n\r\n  public getColumnCount(value:number){\r\n    if(value == 25){\r\n      this.column = 4;\r\n    }\r\n    else if(value == 33.3){\r\n      this.column = 3;\r\n    }\r\n    else if(value == 50){\r\n      this.column = 2\r\n    }\r\n    else{\r\n      this.column = 1;\r\n    }\r\n  }\r\n\r\n \r\n\r\n \r\n \r\n\r\n}\r\n","<div *ngIf=\"menuItems.length\" class=\"menu-items-carousel\">   \r\n    <div class=\"swiper-container h-100 carousel-outer\" [swiper]=\"config\"> \r\n        <div class=\"swiper-wrapper h-100\">      \r\n            <div *ngFor=\"let menuItem of menuItems\" class=\"swiper-slide\">\r\n                <app-menu-item [menuItem]=\"menuItem\" [lazyLoad]=\"true\"></app-menu-item>                 \r\n            </div>\r\n        </div>                      \r\n        <button mat-mini-fab color=\"primary\" class=\"prop-prev swiper-button-prev swipe-arrow\"><mat-icon>keyboard_arrow_left</mat-icon></button>\r\n        <button mat-mini-fab color=\"primary\" class=\"prop-next swiper-button-next swipe-arrow\"><mat-icon>keyboard_arrow_right</mat-icon></button> \r\n    </div>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { SwiperConfigInterface } from 'ngx-swiper-wrapper';\r\nimport { MenuItem } from 'src/app/app.models';\r\n\r\n@Component({\r\n  selector: 'app-menu-items-carousel',\r\n  templateUrl: './menu-items-carousel.component.html',\r\n  styleUrls: ['./menu-items-carousel.component.scss']\r\n})\r\nexport class MenuItemsCarouselComponent implements OnInit {\r\n  @Input('menuItems') menuItems: Array<MenuItem> = [];\r\n  public config: SwiperConfigInterface = {}; \r\n\r\n  constructor() { }\r\n\r\n  ngOnInit() {\r\n  }\r\n\r\n  ngAfterViewInit(){\r\n    this.config = {\r\n      observer: true,\r\n      slidesPerView: 4,\r\n      spaceBetween: 16,       \r\n      keyboard: true,\r\n      navigation: { nextEl: '.prop-next', prevEl: '.prop-prev'},\r\n      pagination: true,\r\n      grabCursor: true,        \r\n      loop: false,\r\n      preloadImages: false,\r\n      lazy: true,   \r\n      breakpoints: {\r\n        280: {\r\n          slidesPerView: 1\r\n        },\r\n        600: {\r\n          slidesPerView: 2\r\n        },\r\n        960: {\r\n          slidesPerView: 3\r\n        },\r\n        1280: {\r\n          slidesPerView: 4\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-menu-items-toolbar',\r\n  templateUrl: './menu-items-toolbar.component.html',\r\n  styleUrls: ['./menu-items-toolbar.component.scss']\r\n})\r\nexport class MenuItemsToolbarComponent implements OnInit {\r\n  @Input() showSidenavToggle:boolean = false;\r\n  @Output() onSidenavToggle: EventEmitter<any> = new EventEmitter<any>();\r\n  @Output() onChangeCount: EventEmitter<any> = new EventEmitter<any>();\r\n  @Output() onChangeSorting: EventEmitter<any> = new EventEmitter<any>();\r\n  @Output() onChangeViewType: EventEmitter<any> = new EventEmitter<any>();\r\n  public viewType: string = 'grid';\r\n  public viewCol: number = 25;\r\n  public counts = [8, 12, 16, 24, 36];\r\n  public count:any;\r\n  public sortings = ['Sort by Default', 'Popular', 'Price (Low to High)', 'Price (High to Low)'];\r\n  public sort:any;\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit() {\r\n    this.count = this.counts[1];\r\n    this.sort = this.sortings[0];\r\n  }\r\n\r\n  ngOnChanges(){\r\n    // console.log(' show toggle - ' ,this.showSidenavToggle)\r\n  }\r\n\r\n  public changeCount(count:number){\r\n    this.count = count;\r\n    this.onChangeCount.emit(count);\r\n    // this.getAllProducts(); \r\n  }\r\n\r\n  public changeSorting(sort:string){\r\n    this.sort = sort;\r\n    this.onChangeSorting.emit(sort);\r\n  }\r\n\r\n  public changeViewType(viewType:any, viewCol:any){\r\n    this.viewType = viewType;\r\n    this.viewCol = viewCol;\r\n    this.onChangeViewType.emit({viewType:viewType, viewCol:viewCol});\r\n  }\r\n\r\n  public sidenavToggle(){\r\n    this.onSidenavToggle.emit();\r\n  }\r\n\r\n}\r\n","<mat-card fxLayout=\"row\" fxLayoutAlign=\"space-between center\" class=\"w-100 p-2 filter-row mat-elevation-z1 text-muted\">\r\n    <button *ngIf=\"showSidenavToggle\" mat-icon-button (click)=\"sidenavToggle()\">\r\n        <mat-icon>more_vert</mat-icon>\r\n    </button>\r\n    <div>\r\n        <a mat-button [matMenuTriggerFor]=\"sortMenu\" #sortMenuTrigger=\"matMenuTrigger\">\r\n            {{sort}}<mat-icon class=\"mat-icon-sm caret\">arrow_drop_down</mat-icon>\r\n        </a>\r\n        <mat-menu #sortMenu=\"matMenu\" xPosition=\"before\" overlapTrigger=\"true\">\r\n            <span (mouseleave)=\"sortMenuTrigger.closeMenu()\">\r\n                <button mat-menu-item *ngFor=\"let sort of sortings\" (click)=\"changeSorting(sort)\">\r\n                    <span>{{sort}}</span>\r\n                </button>\r\n            </span>\r\n        </mat-menu>\r\n    </div>\r\n    <div fxShow=\"false\" fxShow.gt-xs>\r\n        <!-- <span *ngIf=\"isHomePage\"> -->\r\n            <a mat-button [matMenuTriggerFor]=\"countsMenu\" #countsMenuTrigger=\"matMenuTrigger\">\r\n                Show {{count}}<mat-icon class=\"mat-icon-sm caret\">arrow_drop_down</mat-icon>\r\n            </a>\r\n            <mat-menu #countsMenu=\"matMenu\" xPosition=\"before\" overlapTrigger=\"true\">\r\n                <span (mouseleave)=\"countsMenuTrigger.closeMenu()\">\r\n                    <button mat-menu-item *ngFor=\"let count of counts\" (click)=\"changeCount(count)\">\r\n                        <span>{{count}}</span>\r\n                    </button>\r\n                </span>\r\n            </mat-menu>\r\n        <!-- </span>        -->\r\n        <button mat-icon-button (click)=\"changeViewType('list', 100)\">\r\n            <mat-icon>view_list</mat-icon>\r\n        </button>\r\n        <button mat-icon-button (click)=\"changeViewType('grid', 50)\">\r\n            <svg class=\"mat-icon mat-icon-sm\" viewBox=\"0 0 25 25\">\r\n                <path d=\"M3,11H11V3H3M3,21H11V13H3M13,21H21V13H13M13,3V11H21V3\" />\r\n            </svg>\r\n        </button> \r\n        <button mat-icon-button fxShow=\"false\" fxShow.gt-sm (click)=\"changeViewType('grid', 33.3)\">\r\n            <mat-icon>view_module</mat-icon>\r\n        </button>\r\n        <button fxShow=\"false\" fxShow.gt-md mat-icon-button (click)=\"changeViewType('grid', 25)\">\r\n            <mat-icon>view_comfy</mat-icon>\r\n        </button> \r\n    </div>\r\n</mat-card>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';  \r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { SwiperModule } from 'ngx-swiper-wrapper'; \r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatNativeDateModule, MatRippleModule, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { AngularEditorModule } from '@kolkov/angular-editor';\r\nimport { NgxMatIntlTelInputComponent } from 'ngx-mat-intl-tel-input'\r\n\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { PERFECT_SCROLLBAR_CONFIG } from 'ngx-perfect-scrollbar';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\r\n  wheelPropagation: false,\r\n  suppressScrollX: true               \r\n};\r\n\r\nimport { PipesModule } from '../theme/pipes/pipes.module';\r\nimport { DirectivesModule } from '../theme/directives/directives.module';\r\n\r\nimport { LogoComponent } from './logo/logo.component';\r\nimport { HeaderImageComponent } from './header-image/header-image.component';\r\nimport { HeaderCarouselComponent } from './header-carousel/header-carousel.component';\r\nimport { MenuItemComponent } from './menu-item/menu-item.component';\r\nimport { MenuItemsCarouselComponent } from './menu-items-carousel/menu-items-carousel.component';\r\nimport { CommentsComponent } from './comments/comments.component';\r\nimport { MenuItemsToolbarComponent } from './menu-items-toolbar/menu-items-toolbar.component';\r\nimport { MenuItemHoverableComponent } from './menu-item-hoverable/menu-item-hoverable.component';\r\nimport { DialogHeaderControlsComponent } from './dialog-header-controls/dialog-header-controls.component'; \r\nimport { ImageUploadComponent } from './image-upload/image-upload.component';\r\nimport { ConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';\r\nimport { AlertDialogComponent } from './alert-dialog/alert-dialog.component'; \r\nimport { SocialIconsComponent } from './social-icons/social-icons.component';\r\nimport { LangComponent } from './lang/lang.component';\r\nimport { HeaderVideoComponent } from './header-video/header-video.component'; \r\nimport { DxDataGridModule, DxDropDownBoxModule } from 'devextreme-angular';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    LogoComponent,\r\n    HeaderImageComponent,\r\n    HeaderCarouselComponent,\r\n    MenuItemComponent,\r\n    MenuItemsCarouselComponent,\r\n    CommentsComponent,\r\n    MenuItemsToolbarComponent,\r\n    MenuItemHoverableComponent,\r\n    DialogHeaderControlsComponent,\r\n    ImageUploadComponent,\r\n    ConfirmDialogComponent,\r\n    AlertDialogComponent,\r\n    SocialIconsComponent,\r\n    LangComponent,\r\n    HeaderVideoComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    RouterModule,\r\n    ReactiveFormsModule,\r\n    FormsModule, \r\n    FlexLayoutModule,\r\n    SwiperModule, \r\n    TranslateModule,\r\n    MatAutocompleteModule,\r\n    MatBadgeModule,\r\n    MatBottomSheetModule,\r\n    MatButtonModule,\r\n    MatButtonToggleModule,\r\n    MatCardModule,\r\n    MatCheckboxModule,\r\n    MatChipsModule,\r\n    MatDatepickerModule,\r\n    MatDialogModule,\r\n    MatExpansionModule,\r\n    MatGridListModule,\r\n    MatIconModule,\r\n    MatInputModule,\r\n    MatListModule,\r\n    MatMenuModule,\r\n    MatNativeDateModule,\r\n    MatPaginatorModule,\r\n    MatProgressBarModule,\r\n    MatProgressSpinnerModule,\r\n    MatRadioModule,\r\n    MatRippleModule,\r\n    MatSelectModule,\r\n    MatSidenavModule,\r\n    MatSliderModule,\r\n    MatSlideToggleModule,\r\n    MatSnackBarModule,\r\n    MatSortModule,\r\n    MatTableModule,\r\n    MatTabsModule,\r\n    MatToolbarModule,\r\n    MatTooltipModule,\r\n    MatStepperModule,\r\n    PerfectScrollbarModule,\r\n    PipesModule,\r\n    DirectivesModule,\r\n    DxDataGridModule,\r\n    DxDropDownBoxModule,\r\n    NgSelectModule,\r\n    NgxMatIntlTelInputComponent,\r\n    AngularEditorModule\r\n  ],\r\n  exports: [\r\n    RouterModule,\r\n    ReactiveFormsModule,\r\n    FormsModule, \r\n    FlexLayoutModule,\r\n    SwiperModule, \r\n    TranslateModule,\r\n    MatAutocompleteModule,\r\n    MatBadgeModule,\r\n    MatBottomSheetModule,\r\n    MatButtonModule,\r\n    MatButtonToggleModule,\r\n    MatCardModule,\r\n    MatCheckboxModule,\r\n    MatChipsModule,\r\n    MatDatepickerModule,\r\n    MatDialogModule,\r\n    MatExpansionModule,\r\n    MatGridListModule,\r\n    MatIconModule,\r\n    MatInputModule,\r\n    MatListModule,\r\n    MatMenuModule,\r\n    MatNativeDateModule,\r\n    MatPaginatorModule,\r\n    MatProgressBarModule,\r\n    MatProgressSpinnerModule,\r\n    MatRadioModule,\r\n    MatRippleModule,\r\n    MatSelectModule,\r\n    MatSidenavModule,\r\n    MatSliderModule,\r\n    MatSlideToggleModule,\r\n    MatSnackBarModule,\r\n    MatSortModule,\r\n    MatTableModule,\r\n    MatTabsModule,\r\n    MatToolbarModule,\r\n    MatTooltipModule,\r\n    MatStepperModule,\r\n    PerfectScrollbarModule,\r\n    PipesModule,\r\n    DirectivesModule,\r\n    DxDataGridModule,\r\n    DxDropDownBoxModule,\r\n    NgSelectModule,\r\n    LogoComponent,\r\n    HeaderImageComponent,\r\n    HeaderCarouselComponent,\r\n    MenuItemComponent,\r\n    MenuItemsCarouselComponent,\r\n    CommentsComponent,\r\n    MenuItemsToolbarComponent,\r\n    MenuItemHoverableComponent,\r\n    DialogHeaderControlsComponent,\r\n    ImageUploadComponent,\r\n    ConfirmDialogComponent,\r\n    AlertDialogComponent,\r\n    SocialIconsComponent,\r\n    LangComponent,\r\n    HeaderVideoComponent\r\n  ],\r\n  providers:[\r\n    { provide: PERFECT_SCROLLBAR_CONFIG, useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG },\r\n    {provide: MAT_DATE_LOCALE, useValue: 'en-GB'},\r\n  ]\r\n})\r\nexport class SharedModule { }\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-social-icons',\r\n  templateUrl: './social-icons.component.html',\r\n  styleUrls: ['./social-icons.component.scss']\r\n})\r\nexport class SocialIconsComponent implements OnInit {\r\n  @Input() iconSize:string = '';\r\n  @Input() iconColor:string = '';\r\n  constructor() { }\r\n\r\n  ngOnInit() {\r\n  }\r\n\r\n}\r\n","<a href=\"/\" class=\"social-icon\">\r\n  <svg class=\"mat-icon\" viewBox=\"0 0 24 24\" [ngClass]=\"['mat-icon-' + iconSize, 'mat-'+ iconColor]\">\r\n    <path d=\"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M18,5H15.5A3.5,3.5 0 0,0 12,8.5V11H10V14H12V21H15V14H18V11H15V9A1,1 0 0,1 16,8H18V5Z\" />\r\n  </svg>\r\n</a>\r\n<a href=\"/\" class=\"social-icon\">\r\n  <svg class=\"mat-icon\" viewBox=\"0 0 24 24\" [ngClass]=\"['mat-icon-' + iconSize, 'mat-'+ iconColor]\">\r\n      <path d=\"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M17.71,9.33C18.19,8.93 18.75,8.45 19,7.92C18.59,8.13 18.1,8.26 17.56,8.33C18.06,7.97 18.47,7.5 18.68,6.86C18.16,7.14 17.63,7.38 16.97,7.5C15.42,5.63 11.71,7.15 12.37,9.95C9.76,9.79 8.17,8.61 6.85,7.16C6.1,8.38 6.75,10.23 7.64,10.74C7.18,10.71 6.83,10.57 6.5,10.41C6.54,11.95 7.39,12.69 8.58,13.09C8.22,13.16 7.82,13.18 7.44,13.12C7.81,14.19 8.58,14.86 9.9,15C9,15.76 7.34,16.29 6,16.08C7.15,16.81 8.46,17.39 10.28,17.31C14.69,17.11 17.64,13.95 17.71,9.33Z\" />\r\n  </svg> \r\n</a>\r\n<a href=\"/\" class=\"social-icon\"> \r\n  <svg class=\"mat-icon\" viewBox=\"0 0 24 24\" [ngClass]=\"['mat-icon-' + iconSize, 'mat-'+ iconColor]\">\r\n    <path d=\"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M18.5,18.5V13.2A3.26,3.26 0 0,0 15.24,9.94C14.39,9.94 13.4,10.46 12.92,11.24V10.13H10.13V18.5H12.92V13.57C12.92,12.8 13.54,12.17 14.31,12.17A1.4,1.4 0 0,1 15.71,13.57V18.5H18.5M6.88,8.56A1.68,1.68 0 0,0 8.56,6.88C8.56,5.95 7.81,5.19 6.88,5.19A1.69,1.69 0 0,0 5.19,6.88C5.19,7.81 5.95,8.56 6.88,8.56M8.27,18.5V10.13H5.5V18.5H8.27Z\" />\r\n  </svg>\r\n</a>\r\n<a href=\"/\" class=\"social-icon\"> \r\n  <svg class=\"mat-icon\" viewBox=\"0 0 24 24\" [ngClass]=\"['mat-icon-' + iconSize, 'mat-'+ iconColor]\">\r\n    <path d=\"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M19.5,12H18V10.5H17V12H15.5V13H17V14.5H18V13H19.5V12M9.65,11.36V12.9H12.22C12.09,13.54 11.45,14.83 9.65,14.83C8.11,14.83 6.89,13.54 6.89,12C6.89,10.46 8.11,9.17 9.65,9.17C10.55,9.17 11.13,9.56 11.45,9.88L12.67,8.72C11.9,7.95 10.87,7.5 9.65,7.5C7.14,7.5 5.15,9.5 5.15,12C5.15,14.5 7.14,16.5 9.65,16.5C12.22,16.5 13.96,14.7 13.96,12.13C13.96,11.81 13.96,11.61 13.89,11.36H9.65Z\" />\r\n  </svg>\r\n</a>\r\n<a href=\"/\" class=\"social-icon\"> \r\n  <svg class=\"mat-icon\" viewBox=\"0 -1 26 26\" [ngClass]=\"['mat-icon-' + iconSize, 'mat-'+ iconColor]\">\r\n    <path d=\"M7.8,2H16.2C19.4,2 22,4.6 22,7.8V16.2A5.8,5.8 0 0,1 16.2,22H7.8C4.6,22 2,19.4 2,16.2V7.8A5.8,5.8 0 0,1 7.8,2M7.6,4A3.6,3.6 0 0,0 4,7.6V16.4C4,18.39 5.61,20 7.6,20H16.4A3.6,3.6 0 0,0 20,16.4V7.6C20,5.61 18.39,4 16.4,4H7.6M17.25,5.5A1.25,1.25 0 0,1 18.5,6.75A1.25,1.25 0 0,1 17.25,8A1.25,1.25 0 0,1 16,6.75A1.25,1.25 0 0,1 17.25,5.5M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\" />\r\n  </svg>\r\n</a>\r\n ","<span fxLayoutAlign=\"center center\" class=\"item\">\r\n  <mat-icon [color]=\"iconColor\" [ngClass]=\"'mat-icon-' + iconSize\">call</mat-icon>\r\n  <span class=\"px-1\">0585608514</span>\r\n</span>\r\n<span *ngIf=\"dividers\" class=\"v-divider\" fxShow=\"false\" fxShow.gt-xs></span>\r\n<span fxLayoutAlign=\"center center\" class=\"item\" fxShow=\"false\" fxShow.gt-xs>\r\n  <mat-icon [color]=\"iconColor\" [ngClass]=\"'mat-icon-' + iconSize\">location_on</mat-icon>\r\n  <span class=\"px-1\">Abidjan</span>\r\n</span>\r\n<span *ngIf=\"dividers\" class=\"v-divider\" fxShow=\"false\" fxShow.gt-sm></span>\r\n<span fxLayoutAlign=\"center center\" class=\"item\" fxShow=\"false\" fxShow.gt-sm>\r\n  <mat-icon [color]=\"iconColor\" [ngClass]=\"'mat-icon-' + iconSize\">mail</mat-icon>\r\n  <span class=\"px-1\">md@tamucuisine.com</span>\r\n</span>\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-contacts',\r\n  templateUrl: './contacts.component.html',\r\n  styleUrls: ['./contacts.component.scss']\r\n})\r\nexport class ContactsComponent implements OnInit {\r\n  @Input() dividers:boolean = true;\r\n  @Input() iconSize:string = 'sm';\r\n  @Input() iconColor:string = '';\r\n  constructor() { }\r\n\r\n  ngOnInit() {\r\n  }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UntypedFormGroup, UntypedFormBuilder, Validators } from '@angular/forms';\r\nimport { emailValidator } from '../../utils/app-validators';\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 lat: number = 40.678178;\r\n    public lng: number = -73.944158;\r\n    public zoom: number = 12; \r\n    public mapStyles:any = [\r\n        {\r\n            \"featureType\": \"all\",\r\n            \"elementType\": \"labels.text.fill\",\r\n            \"stylers\": [\r\n                {\r\n                    \"saturation\": 36\r\n                },\r\n                {\r\n                    \"color\": \"#000000\"\r\n                },\r\n                {\r\n                    \"lightness\": 40\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"all\",\r\n            \"elementType\": \"labels.text.stroke\",\r\n            \"stylers\": [\r\n                {\r\n                    \"visibility\": \"on\"\r\n                },\r\n                {\r\n                    \"color\": \"#000000\"\r\n                },\r\n                {\r\n                    \"lightness\": 16\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"all\",\r\n            \"elementType\": \"labels.icon\",\r\n            \"stylers\": [\r\n                {\r\n                    \"visibility\": \"off\"\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"administrative\",\r\n            \"elementType\": \"geometry.fill\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#000000\"\r\n                },\r\n                {\r\n                    \"lightness\": 20\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"administrative\",\r\n            \"elementType\": \"geometry.stroke\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#000000\"\r\n                },\r\n                {\r\n                    \"lightness\": 17\r\n                },\r\n                {\r\n                    \"weight\": 1.2\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"administrative\",\r\n            \"elementType\": \"labels.text.fill\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#8b9198\"\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"landscape\",\r\n            \"elementType\": \"geometry\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#000000\"\r\n                },\r\n                {\r\n                    \"lightness\": 20\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"landscape\",\r\n            \"elementType\": \"geometry.fill\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#323336\"\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"landscape.man_made\",\r\n            \"elementType\": \"geometry.stroke\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#414954\"\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"poi\",\r\n            \"elementType\": \"geometry\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#000000\"\r\n                },\r\n                {\r\n                    \"lightness\": 21\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"poi\",\r\n            \"elementType\": \"geometry.fill\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#2e2f31\"\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"road\",\r\n            \"elementType\": \"labels.text.fill\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#7a7c80\"\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"road.highway\",\r\n            \"elementType\": \"geometry.fill\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#242427\"\r\n                },\r\n                {\r\n                    \"lightness\": 17\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"road.highway\",\r\n            \"elementType\": \"geometry.stroke\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#202022\"\r\n                },\r\n                {\r\n                    \"lightness\": 29\r\n                },\r\n                {\r\n                    \"weight\": 0.2\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"road.arterial\",\r\n            \"elementType\": \"geometry\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#000000\"\r\n                },\r\n                {\r\n                    \"lightness\": 18\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"road.arterial\",\r\n            \"elementType\": \"geometry.fill\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#393a3f\"\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"road.arterial\",\r\n            \"elementType\": \"geometry.stroke\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#202022\"\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"road.local\",\r\n            \"elementType\": \"geometry\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#000000\"\r\n                },\r\n                {\r\n                    \"lightness\": 16\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"road.local\",\r\n            \"elementType\": \"geometry.fill\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#393a3f\"\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"road.local\",\r\n            \"elementType\": \"geometry.stroke\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#202022\"\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"transit\",\r\n            \"elementType\": \"geometry\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#000000\"\r\n                },\r\n                {\r\n                    \"lightness\": 19\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"water\",\r\n            \"elementType\": \"geometry\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#000000\"\r\n                },\r\n                {\r\n                    \"lightness\": 17\r\n                }\r\n            ]\r\n        },\r\n        {\r\n            \"featureType\": \"water\",\r\n            \"elementType\": \"geometry.fill\",\r\n            \"stylers\": [\r\n                {\r\n                    \"color\": \"#202124\"\r\n                }\r\n            ]\r\n        }\r\n    ];  \r\n    public feedbackForm!: UntypedFormGroup;\r\n    public subscribeForm!: UntypedFormGroup;\r\n    constructor(public formBuilder: UntypedFormBuilder) { }\r\n\r\n    ngOnInit() {\r\n        this.feedbackForm = this.formBuilder.group({ \r\n            email: ['', Validators.compose([Validators.required, emailValidator])], \r\n            message: ['', Validators.required]\r\n        });\r\n        this.subscribeForm = this.formBuilder.group({\r\n            email: ['', Validators.compose([Validators.required, emailValidator])]\r\n        })\r\n    }\r\n\r\n    public onFeedbackFormSubmit(values:Object):void {\r\n        if (this.feedbackForm.valid) {\r\n            console.log(values);\r\n        }\r\n    }\r\n\r\n    public onSubscribeFormSubmit(values:Object):void {\r\n        if (this.subscribeForm.valid) {\r\n            console.log(values);\r\n        }\r\n    }\r\n\r\n}\r\n","<footer>    \r\n    <div class=\"px-3\" style=\"padding-bottom: 40px;\">\r\n        <div class=\"theme-container\"> \r\n           \r\n            <div class=\"py-5 content border-lighter\"> \r\n                <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between\"> \r\n                    <div fxFlex=\"100\" fxFlex.gt-sm=\"30\" fxFlex.sm=\"45\"> \r\n                        <a class=\"logo\" routerLink=\"/\"><app-logo></app-logo></a>\r\n                        <p class=\"mt-4 mb-3 desc\">\r\n                            Tamu Tamu Cuisine Sarl\r\n                        </p>\r\n                        <p fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"mt-2\">\r\n                            <mat-icon color=\"primary\">location_on</mat-icon>\r\n                            <span class=\"mx-2\">Abidjan</span>\r\n                        </p>\r\n                        <p fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"mt-1\">\r\n                            <mat-icon color=\"primary\">call</mat-icon>\r\n                            <span class=\"mx-2\">0585608514</span>\r\n                        </p>\r\n                        <p fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"mt-1\">\r\n                            <mat-icon color=\"primary\">mail_outline</mat-icon>\r\n                            <span class=\"mx-2\">md@tamucuisine.com</span>\r\n                        </p>\r\n                        <p fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"mt-1\">\r\n                            <mat-icon color=\"primary\">schedule</mat-icon>\r\n                            <span class=\"mx-2\">Mon - Fri / 8:00AM - 5:00PM</span>\r\n                        </p>\r\n                        <app-social-icons [iconSize]=\"'lg'\" fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"desc\"></app-social-icons>                    \r\n                    </div>\r\n\r\n              \r\n\r\n                    <div fxFlex=\"100\" fxFlex.gt-sm=\"30\" fxFlex.sm=\"45\" ngClass.xs=\"pt-5\"> \r\n                        <h1 class=\"secondary-font\">Feedback</h1>\r\n                        <p class=\"desc\">We want your feedback about everything</p>\r\n                        <form [formGroup]=\"feedbackForm\" (ngSubmit)=\"onFeedbackFormSubmit(feedbackForm.value)\" class=\"custom-form pt-2\">                            \r\n                            <mat-form-field appearance=\"outline\" class=\"w-100\">\r\n                                <mat-label>E-mail</mat-label> \r\n                                <input matInput autocomplete=\"off\" formControlName=\"email\">\r\n                                <mat-error *ngIf=\"feedbackForm.controls.email.errors?.required\">Email is required</mat-error>\r\n                                <mat-error *ngIf=\"feedbackForm.controls.email.hasError('invalidEmail')\">Invalid email address</mat-error>\r\n                            </mat-form-field>\r\n                            <mat-form-field appearance=\"outline\" class=\"w-100\">\r\n                                <mat-label>Message for us</mat-label> \r\n                                <textarea matInput formControlName=\"message\" rows=\"6\"></textarea> \r\n                                <mat-error *ngIf=\"feedbackForm.controls.message.errors?.required\">Message is required</mat-error>\r\n                            </mat-form-field>\r\n                            <div class=\"w-100 text-center\">\r\n                                <button mat-flat-button color=\"primary\" class=\"uppercase\" type=\"submit\">Submit</button> \r\n                            </div> \r\n                        </form> \r\n                    </div>\r\n \r\n             \r\n                </div>  \r\n            </div> \r\n           \r\n            <div fxLayout=\"row\" fxLayout.xs=\"column\" fxLayoutAlign=\"space-between center\" class=\"copyright py-2\" >\r\n                <div fxLayout=\"row\" fxLayout.xs=\"column\" fxLayoutAlign=\"center\">\r\n                    <p style=\"margin-right: 5px;\">\r\n                        <a mat-button href=\"/news\">News</a></p>\r\n                    &nbsp;\r\n                    <p  style=\"margin-left: 5px;\">\r\n                        <a mat-button href=\"/terms-conditions\">Terms</a>\r\n                    </p>  \r\n                </div>\r\n               \r\n                <p>Designed & Developed by <a mat-button href=\"https://lucentsolutions.co.ke/\" target=\"_blank\">Lucent Solutions</a></p>\r\n            </div> \r\n           \r\n          \r\n        </div>\r\n    </div>      \r\n</footer>","import { Component, OnInit, Input, ViewChildren, QueryList } from '@angular/core';\r\nimport { MenuService } from '../menu.service';\r\nimport { Menu } from '../menu.model';\r\nimport { MatMenuTrigger } from '@angular/material/menu';\r\n\r\n@Component({\r\n  selector: 'app-horizontal-menu',\r\n  templateUrl: './horizontal-menu.component.html',\r\n  styleUrls: ['./horizontal-menu.component.scss'],\r\n  providers: [ MenuService ]\r\n})\r\nexport class HorizontalMenuComponent implements OnInit {\r\n  @Input('menuParentId') menuParentId = 0;\r\n  public menuItems: Array<Menu> = []; \r\n  @ViewChildren(MatMenuTrigger) triggers!: QueryList<MatMenuTrigger>;\r\n\r\n  constructor(public menuService:MenuService) { }\r\n\r\n  ngOnInit() {\r\n    this.menuItems = this.menuService.getHorizontalMenuItems();\r\n    this.menuItems = this.menuItems.filter(item => item.parentId == this.menuParentId); \r\n  }\r\n\r\n  public closeOthers(trigger:MatMenuTrigger){ \r\n    const currentIndex: number = this.triggers.toArray().findIndex(t => t == trigger); \r\n    this.triggers.forEach((menu, index) => {\r\n      if(index != currentIndex){\r\n        menu.closeMenu();\r\n      }\r\n    });\r\n  }\r\n\r\n}\r\n","<ng-container *ngFor=\"let menuItem of menuItems\">\r\n\r\n  <a *ngIf=\"menuItem.routerLink && !menuItem.hasSubMenu\" mat-button [routerLink]=\"[menuItem.routerLink]\" \r\n    routerLinkActive=\"horizontal-active-link\" [routerLinkActiveOptions]=\"{exact:true}\">\r\n    <span>{{ menuItem.title | translate }}</span>\r\n  </a>\r\n\r\n  <a *ngIf=\"menuItem.href && !menuItem.hasSubMenu\" mat-button \r\n    [attr.href]=\"menuItem.href || ''\" [attr.target]=\"menuItem.target || ''\">\r\n    <span>{{ menuItem.title | translate }}</span>\r\n  </a>\r\n\r\n  <a *ngIf=\"menuItem.hasSubMenu && menuItem.parentId == 0\" mat-button [matMenuTriggerFor]=\"menu\"> \r\n    <span>{{ menuItem.title | translate }}</span><mat-icon class=\"caret\">arrow_drop_down</mat-icon> \r\n  </a>\r\n\r\n  <a *ngIf=\"menuItem.hasSubMenu && menuItem.parentId != 0\" mat-menu-item [matMenuTriggerFor]=\"menu\" #t=\"matMenuTrigger\" (menuOpened)=\"closeOthers(t)\"> \r\n    <span>{{ menuItem.title | translate }}</span> \r\n  </a> \r\n\r\n  <mat-menu #menu=\"matMenu\" class=\"horizontal-sub-menu\">\r\n      <app-horizontal-menu [menuParentId]=\"menuItem.id\"></app-horizontal-menu>\r\n  </mat-menu>\r\n    \r\n</ng-container>","export class Menu {\r\n    constructor(public id: number,\r\n                public title: string,\r\n                public routerLink: string | null,\r\n                public href: string | null, \r\n                public target: string | null,\r\n                public hasSubMenu: boolean,\r\n                public parentId: number) { }\r\n} ","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\n\r\nimport { Menu } from './menu.model';\r\nimport { verticalMenuItems, horizontalMenuItems } from './menu';\r\n\r\n@Injectable()\r\nexport class MenuService {\r\n\r\n  constructor(private location:Location,\r\n              private router:Router){ } \r\n    \r\n  public getVerticalMenuItems():Array<Menu> {\r\n    return verticalMenuItems;\r\n  }\r\n\r\n  public getHorizontalMenuItems():Array<Menu> {\r\n    return horizontalMenuItems;\r\n  }\r\n\r\n  public expandActiveSubMenu(menu:Array<Menu>){\r\n    let url = this.location.path();\r\n    let routerLink = decodeURIComponent(url);\r\n    let activeMenuItem = menu.filter(item => item.routerLink === routerLink);\r\n    if(activeMenuItem[0]){\r\n      let menuItem = activeMenuItem[0];\r\n      while (menuItem.parentId != 0){  \r\n        let parentMenuItem = menu.filter(item => item.id == menuItem.parentId)[0];\r\n        menuItem = parentMenuItem;\r\n        this.toggleMenuItem(menuItem.id);\r\n      }\r\n    }\r\n  }\r\n\r\n  public toggleMenuItem(menuId:number){\r\n    let menuItem = document.getElementById('menu-item-'+menuId);\r\n    let subMenu = document.getElementById('sub-menu-'+menuId);  \r\n    if(subMenu){\r\n      if(subMenu.classList.contains('show')){\r\n        subMenu.classList.remove('show');\r\n        menuItem?.classList.remove('expanded');\r\n      }\r\n      else{\r\n        subMenu.classList.add('show');\r\n        menuItem?.classList.add('expanded');\r\n      }      \r\n    }\r\n  }\r\n\r\n  public closeOtherSubMenus(menu:Array<Menu>, menuId:number){\r\n    let currentMenuItem = menu.filter(item => item.id == menuId)[0];\r\n    menu.forEach(item => {\r\n      if((item.id != menuId && item.parentId == currentMenuItem.parentId) || (currentMenuItem.parentId == 0 && item.id != menuId) ){\r\n        let subMenu = document.getElementById('sub-menu-'+item.id);\r\n        let menuItem = document.getElementById('menu-item-'+item.id);\r\n        if(subMenu){\r\n          if(subMenu.classList.contains('show')){\r\n            subMenu.classList.remove('show');\r\n            menuItem?.classList.remove('expanded');\r\n          }              \r\n        } \r\n      }\r\n    });\r\n  } \r\n \r\n  public closeAllSubMenus(){        \r\n    verticalMenuItems.forEach(item => {\r\n      let subMenu = document.getElementById('sub-menu-'+item.id);\r\n      let menuItem = document.getElementById('menu-item-'+item.id);\r\n      if(subMenu){\r\n        if(subMenu.classList.contains('show')){\r\n          subMenu.classList.remove('show');\r\n          menuItem?.classList.remove('expanded');\r\n        }              \r\n      } \r\n    });           \r\n  }\r\n  \r\n\r\n}","import { Menu } from './menu.model';\r\n\r\nexport const horizontalMenuItems = [ \r\n    new Menu (1, 'NAV.HOME', '/', null, null, false, 0),\r\n    new Menu (2, 'Menu', '/menu', null, null, false, 0), \r\n    new Menu (3, 'How to register', '/howtoregister', null, null, false, 0),  \r\n    new Menu (4, 'How to Order ', '/howtoorder', null, null, false, 0),  \r\n    new Menu (5, 'How to Pay', '/howtopay', null, null, false, 0),  \r\n    new Menu (6, 'NAV.ABOUT_US', '/about', null, null, false, 0),   \r\n   \r\n]\r\n\r\nexport const verticalMenuItems = [ \r\n    new Menu (1, 'NAV.HOME', '/', null, null, false, 0),\r\n    new Menu (2, 'Menu', '/menu', null, null, false, 0), \r\n    new Menu (3, 'How to register', '/howtoregister', null, null, false, 0),  \r\n    new Menu (4, 'How to Order ', '/howtoorder', null, null, false, 0),  \r\n    new Menu (5, 'How to Pay', '/howtopay', null, null, false, 0),  \r\n    new Menu (6, 'NAV.ABOUT_US', '/about', null, null, false, 0),  \r\n   \r\n]","import { Component, OnInit, Input } from '@angular/core';\r\nimport { MenuService } from '../menu.service';\r\nimport { Menu } from '../menu.model';\r\n\r\n@Component({\r\n  selector: 'app-vertical-menu',\r\n  templateUrl: './vertical-menu.component.html',\r\n  styleUrls: ['./vertical-menu.component.scss'],\r\n  providers: [ MenuService ]\r\n})\r\nexport class VerticalMenuComponent implements OnInit {\r\n  @Input('menuParentId') menuParentId = 0;\r\n  public menuItems: Array<Menu> = [];\r\n  constructor(public menuService:MenuService) { }\r\n\r\n  ngOnInit() {\r\n    this.menuItems = this.menuService.getVerticalMenuItems();\r\n    this.menuItems = this.menuItems.filter(item => item.parentId == this.menuParentId);\r\n  }\r\n\r\n  onClick(menuId:number){\r\n    this.menuService.toggleMenuItem(menuId);\r\n    this.menuService.closeOtherSubMenus(this.menuService.getVerticalMenuItems(), menuId);    \r\n  }\r\n\r\n}\r\n","<div *ngFor=\"let menuItem of menuItems\" class=\"menu-item\">\r\n  <a *ngIf=\"menuItem.routerLink && !menuItem.hasSubMenu\" mat-button fxLayout=\"row\" fxLayoutAlign=\"start center\"\r\n      [routerLink]=\"[menuItem.routerLink]\" routerLinkActive=\"active-link\" [routerLinkActiveOptions]=\"{exact:true}\"        \r\n      (click)=\"onClick(menuItem.id)\" [id]=\"'menu-item-'+menuItem.id\">\r\n      <span class=\"menu-title\">{{ menuItem.title | translate }}</span>\r\n  </a>\r\n  <a *ngIf=\"menuItem.href && !menuItem.hasSubMenu\" mat-button fxLayout=\"row\" fxLayoutAlign=\"start center\"\r\n      [attr.href]=\"menuItem.href || ''\" [attr.target]=\"menuItem.target || ''\"       \r\n      (click)=\"onClick(menuItem.id)\" [id]=\"'menu-item-'+menuItem.id\">\r\n      <span class=\"menu-title\">{{ menuItem.title | translate }}</span>\r\n  </a>\r\n  <a *ngIf=\"menuItem.hasSubMenu\" mat-button fxLayout=\"row\" fxLayoutAlign=\"start center\"       \r\n      (click)=\"onClick(menuItem.id)\" [id]=\"'menu-item-'+menuItem.id\">\r\n      <span class=\"menu-title\">{{ menuItem.title | translate }}</span>\r\n      <mat-icon class=\"menu-expand-icon transition-2\">arrow_drop_down</mat-icon>\r\n  </a>\r\n  <div *ngIf=\"menuItem.hasSubMenu\" class=\"sub-menu\" [id]=\"'sub-menu-'+menuItem.id\">\r\n      <app-vertical-menu [menuParentId]=\"menuItem.id\"></app-vertical-menu>\r\n  </div>\r\n</div>","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\r\n \r\nimport { AppService } from 'src/app/app.service';\r\n \r\n@Component({\r\n  selector: 'app-toolbar1',\r\n  templateUrl: './toolbar1.component.html'\r\n})\r\nexport class Toolbar1Component implements OnInit {\r\n  @Output() onMenuIconClick: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n\r\n  constructor(public appService: AppService) {\r\n   \r\n\r\n  }\r\n\r\n  ngOnInit() {\r\n \r\n    if (localStorage.getItem('TamuApp')) {\r\n      this.appService.loggedin = true;\r\n    }\r\n    else { \r\n      this.appService.loggedin = false;\r\n\r\n    }\r\n  }\r\n\r\n  public sidenavToggle() {\r\n    this.onMenuIconClick.emit();\r\n  }\r\n  \r\n}","<mat-toolbar id=\"top-toolbar\" class=\"top-toolbar\">\r\n  <div class=\"theme-container\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\r\n    <div fxLayout=\"row\" fxLayoutAlign=\"start center\"> \r\n      <app-contacts fxLayout=\"row\" fxLayoutAlign=\"start center\"></app-contacts>         \r\n    </div>\r\n    <app-social-icons fxLayout=\"row\" fxLayoutAlign=\"start center\" fxShow=\"false\" fxShow.gt-md></app-social-icons>\r\n    <div fxLayout=\"row\" fxLayoutAlign=\"end center\" class=\"\"> \r\n      <app-lang></app-lang>\r\n   \r\n      <span class=\"v-divider\" *ngIf=\"!appService.loggedin\"></span>\r\n      <span fxLayoutAlign=\"center center\" class=\"item\" *ngIf=\"!appService.loggedin\">\r\n        <a routerLink=\"/login\" class=\"px-1\">Login</a>\r\n      </span>\r\n      <span class=\"v-divider\" *ngIf=\"!appService.loggedin\"></span>\r\n      <span fxLayoutAlign=\"center center\" class=\"item\" *ngIf=\"!appService.loggedin\">\r\n        <a routerLink=\"/register\" class=\"px-1\">Register</a>\r\n      </span>\r\n      <span class=\"v-divider\" *ngIf=\"!appService.loggedin\"></span>\r\n  \r\n     \r\n    <div *ngIf=\"appService.loggedin\">\r\n    <app-user-menu></app-user-menu>\r\n     \r\n    </div>\r\n      \r\n      \r\n    \r\n\r\n    </div>    \r\n  </div>           \r\n</mat-toolbar>  \r\n<mat-toolbar id=\"main-toolbar\" class=\"mat-elevation-z2\"> \r\n  <div class=\"theme-container\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\r\n    <span fxHide=\"false\" fxHide.gt-sm>\r\n      <button mat-icon-button (click)=\"sidenavToggle()\">\r\n        <mat-icon class=\"mat-icon-lg\">menu</mat-icon>\r\n      </button> \r\n    </span>\r\n    <a class=\"logo\" routerLink=\"/\" ><app-logo></app-logo></a> \r\n    <div fxShow=\"false\" fxShow.gt-sm class=\"horizontal-menu\">            \r\n        <app-horizontal-menu [menuParentId]=\"0\"></app-horizontal-menu>\r\n    </div> \r\n    <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n      <!-- <button (click)=\"reservation()\" mat-icon-button [matTooltip]=\"'RESERVATION' | translate\" fxShow=\"false\" fxShow.gt-xs=\"true\">\r\n        <mat-icon>event</mat-icon>\r\n      </button> \r\n      <a routerLink=\"/account/favorites\" mat-icon-button matTooltip=\"Favorites\" class=\"mx-2\"  fxShow=\"false\" fxShow.gt-xs=\"true\">\r\n          <mat-icon [matBadge]=\"appService.Data.favorites.length\" \r\n                    [matBadgeHidden]=\"appService.Data.favorites.length == 0\" \r\n                    matBadgeSize=\"small\" \r\n                    matBadgeColor=\"warn\">favorite_border</mat-icon>\r\n      </a> \r\n      <button (click)=\"openCart()\" mat-icon-button matTooltip=\"Cart list\">\r\n        <mat-icon [matBadge]=\"appService.Data.totalCartCount\" \r\n                  [matBadgeHidden]=\"appService.Data.totalCartCount == 0\" \r\n                  matBadgeSize=\"small\" \r\n                  matBadgeColor=\"warn\">shopping_cart</mat-icon>\r\n      </button>   -->\r\n    </div>   \r\n  </div>     \r\n</mat-toolbar>","<a mat-button [matMenuTriggerFor]=\"userMenu\" #userMenuTrigger=\"matMenuTrigger\">\r\n    <mat-icon class=\"mat-icon-sm\">person</mat-icon>\r\n    <span fxShow=\"false\" fxShow.gt-sm class=\"mx-1 uppercase\">{{ 'ACCOUNT' | translate }}</span> \r\n    <mat-icon class=\"mat-icon-sm caret\">arrow_drop_down</mat-icon>\r\n</a>\r\n<mat-menu #userMenu=\"matMenu\" [overlapTrigger]=\"false\" xPosition=\"before\" class=\"app-menu-panel user-menu\">\r\n    <span (mouseleave)=\"userMenuTrigger.closeMenu()\">\r\n        <div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"user-info\">                   \r\n            <img src=\"assets/images/others/user.jpg\" alt=\"user-image\" width=\"40\">\r\n            <p class=\"m-0\">{{appService.userfullnames}}<br> <small><i>{{appService.username}}</i></small></p>\r\n        </div>\r\n        <div class=\"divider\"></div>\r\n\r\n        <a mat-menu-item routerLink=\"/account/dashboard\" *ngIf=\"usergroup!='1'\" > \r\n            <mat-icon class=\"mat-icon-sm\">settings</mat-icon>\r\n            <span>My Account</span> \r\n        </a>\r\n       \r\n        <a mat-menu-item routerLink=\"/admin\" *ngIf=\"usergroup=='1'\" > \r\n            <mat-icon class=\"mat-icon-sm\">settings</mat-icon>\r\n            <span>My Account</span> \r\n        </a>\r\n       \r\n        <a mat-menu-item routerLink=\"/faq\" > \r\n            <mat-icon class=\"mat-icon-sm\">help</mat-icon>\r\n            <span>Help</span> \r\n        </a>\r\n        <div class=\"divider\"></div>\r\n        <a mat-menu-item routerLink=\"/login\"> \r\n            <mat-icon class=\"mat-icon-sm\">power_settings_new</mat-icon>\r\n            <span>Sign Out</span> \r\n        </a>\r\n    </span>\r\n</mat-menu>  ","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from 'src/app/app.service';\r\nimport { EncryptDecrypt } from '../../directives/encrypt_decrypt';\r\n\r\n@Component({\r\n  selector: 'app-user-menu',\r\n  templateUrl: './user-menu.component.html',\r\n  styleUrls: ['./user-menu.component.scss']\r\n})\r\nexport class UserMenuComponent implements OnInit {\r\n usergroup=\"0\";\r\n  constructor(public appService:AppService,\r\n    private encrypt: EncryptDecrypt,) { }\r\n\r\n  ngOnInit() {\r\n\r\n    if (localStorage.getItem(\"TamuApp\")) {\r\n      const currentUser = JSON.parse(\r\n        this.encrypt.Decrypt(localStorage.getItem(\"TamuApp\"))\r\n      );\r\n \r\n      this.usergroup=currentUser.Usergroup;\r\n\r\n\r\n    }\r\n\r\n\r\n  }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OnlyNumberDirective } from './only-number.directive';\r\nimport { MaskDateDirective } from './mask-date.directive';\r\nimport { PhoneMaskDirective } from './phone-mask.directive';\r\nimport { EncryptDecrypt } from './encrypt_decrypt';\r\n@NgModule({\r\n  declarations: [\r\n    OnlyNumberDirective,\r\n    MaskDateDirective,\r\n    PhoneMaskDirective\r\n  ],\r\n  exports: [\r\n    OnlyNumberDirective,\r\n    MaskDateDirective,\r\n    PhoneMaskDirective\r\n  ],\r\n  providers: [ \r\n    EncryptDecrypt,\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ]\r\n})\r\nexport class DirectivesModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport * as CryptoJS from 'crypto-js';\r\n\r\n\r\n@Injectable()\r\nexport class EncryptDecrypt {\r\n\r\n    set(keys: string, value : string){\r\n        var key = CryptoJS.enc.Utf8.parse(keys);\r\n        var iv = CryptoJS.enc.Utf8.parse(keys);\r\n        var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(value.toString()), key,\r\n        {\r\n            keySize: 128 / 8,\r\n            iv: iv,\r\n            mode: CryptoJS.mode.CBC,\r\n            padding: CryptoJS.pad.Pkcs7\r\n        });\r\n    \r\n        return encrypted.toString();\r\n      }\r\n\r\n      get(keys: string, value : string){\r\n        var key = CryptoJS.enc.Utf8.parse(keys);\r\n        var iv = CryptoJS.enc.Utf8.parse(keys);\r\n        var decrypted = CryptoJS.AES.decrypt(value, key, {\r\n            keySize: 128 / 8,\r\n            iv: iv,\r\n            mode: CryptoJS.mode.CBC,\r\n            padding: CryptoJS.pad.Pkcs7\r\n        });\r\n    \r\n        return decrypted.toString(CryptoJS.enc.Utf8);\r\n      }\r\nEncrypt(text: any) {\r\n\r\n    var encodedString = this.set('NBZYSwQLCFlDBBFZHgxdGwoKCB0NHwpZHxxMD0UNBRBe', text);\r\n\r\n    return encodedString;\r\n}\r\nDecrypt(text: any) {\r\n    var decodedString = this.get('NBZYSwQLCFlDBBFZHgxdGwoKCB0NHwpZHxxMD0UNBRBe', text);\r\n    return decodedString;\r\n}\r\n}\r\n","import { Directive, OnDestroy, ElementRef, Optional, Self } from '@angular/core'; \r\nimport * as textMask from 'vanilla-text-mask/dist/vanillaTextMask.js';\r\nimport { MatDatepickerInput } from '@angular/material/datepicker';\r\nimport { Subscription, fromEvent } from 'rxjs';\r\n\r\n@Directive({\r\n  selector: '[appMaskDate]'\r\n})\r\nexport class MaskDateDirective implements OnDestroy { \r\n  public mask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];  \r\n  public maskedInputController:any; \r\n  public eventSubscription!: Subscription;  \r\n\r\n  constructor(@Optional() @Self() public datepickerInput: MatDatepickerInput<any>, private element: ElementRef) {\r\n    this.maskedInputController = textMask.maskInput({\r\n      inputElement: this.element.nativeElement,\r\n      mask: this.mask, \r\n      guide: true\r\n    }); \r\n  }\r\n\r\n  ngAfterViewInit(){ \r\n    this.eventSubscription = fromEvent(this.element.nativeElement, 'input').subscribe(_ => {\r\n      this.datepickerInput._onInput(this.element.nativeElement.value);\r\n    });\r\n  } \r\n\r\n  ngOnDestroy() {\r\n    this.maskedInputController.destroy();\r\n    this.eventSubscription.unsubscribe();\r\n  } \r\n\r\n}","import { Directive, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n  selector: 'input[onlyNumber]'\r\n})\r\nexport class OnlyNumberDirective {\r\n\r\n  constructor() { }  \r\n  \r\n  @HostListener('keypress', ['$event']) onInputChange(e:any) {\r\n   \r\n    if (e.target.value.length == 0 && e.which == 48 ){\r\n      return false;\r\n    } \r\n\r\n    var verified = String.fromCharCode(e.which).match(/[^0-9]/g);     \r\n    if (verified) { \r\n      e.preventDefault(); \r\n      return false;\r\n    }  \r\n\r\n    return true;\r\n    \r\n    // var regex = new RegExp(\"[^0-9]\");\r\n    // var key = String.fromCharCode(!e.charCode ? e.which : e.charCode);\r\n    // if (regex.test(key)) {\r\n    //     event.preventDefault();\r\n    //     return false;\r\n    // }    \r\n    \r\n  }\r\n}","import { Directive, ElementRef } from '@angular/core'; \r\nimport * as textMask from 'vanilla-text-mask/dist/vanillaTextMask.js';  \r\n\r\n@Directive({\r\n  selector: '[appPhoneMask]'\r\n})\r\nexport class PhoneMaskDirective {\r\n  public mask = ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];  \r\n  public maskedInputController:any;   \r\n\r\n  constructor(private element: ElementRef) {\r\n    this.maskedInputController = textMask.maskInput({\r\n      inputElement: this.element.nativeElement,\r\n      mask: this.mask, \r\n      guide: true\r\n    }); \r\n  } \r\n\r\n  ngOnDestroy() {\r\n    this.maskedInputController.destroy(); \r\n  } \r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n  name: 'filterById'\r\n})\r\nexport class FilterByIdPipe implements PipeTransform {\r\n  transform(items:Array<any>, id?:number) {\r\n    return items.find(item => item.id == id);\r\n  }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FilterByIdPipe } from './filter-by-id.pipe'; \r\nimport { ProfilePicturePipe } from './profilePicture.pipe';\r\nimport { UserSearchPipe } from './user-search.pipe';\r\n\r\n@NgModule({\r\n    imports: [ \r\n        CommonModule \r\n    ],\r\n    declarations: [\r\n        FilterByIdPipe,\r\n        ProfilePicturePipe,\r\n        UserSearchPipe\r\n    ],\r\n    exports: [\r\n        FilterByIdPipe,\r\n        ProfilePicturePipe,\r\n        UserSearchPipe\r\n    ]\r\n})\r\nexport class PipesModule { }\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({name: 'profilePicture'})\r\nexport class ProfilePicturePipe implements PipeTransform {\r\n  transform(input:string, ext = 'jpg'):string {\r\n    return '../assets/images/profile/' + input + '.' + ext;\r\n  }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'UserSearchPipe', pure: false })\r\nexport class UserSearchPipe implements PipeTransform {\r\n  transform(value:any, args?:any) {\r\n    let searchText = new RegExp(args, 'ig');\r\n    if (value) {\r\n      return value.filter((user:any) => {\r\n        if (user.profile.name) {\r\n          return user.profile.name.search(searchText) !== -1;\r\n        }\r\n        else{\r\n          return user.username.search(searchText) !== -1;\r\n        }\r\n      });\r\n    }\r\n  }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpResponse, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { EncryptDecrypt  } from '../directives/encrypt_decrypt';\r\n@Injectable()\r\nexport class AppInterceptor implements HttpInterceptor {\r\n    constructor(private encrypt: EncryptDecrypt) {}\r\n  \r\n    intercept (req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n\r\n        // console.log(`Request for ${req.urlWithParams} started...`);\r\n\r\n        if (localStorage.getItem('TamuApp')) {\r\n          const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\r\n      if (TamuApp && TamuApp.Token) {\r\n          req = req.clone({\r\n              setHeaders: {\r\n                  Token: `${TamuApp.Token}`\r\n              }\r\n          });\r\n      }\r\n  }\r\n\r\n\r\n\r\n\r\n\r\n        return next.handle(req).pipe(map((event: HttpEvent<any>) => {\r\n            if (event instanceof HttpResponse) {\r\n              // console.log(`Request for ${req.urlWithParams} completed...`);\r\n            }\r\n            return event;\r\n          }),\r\n          catchError((error: HttpErrorResponse) => {\r\n            const started = Date.now();            \r\n            const elapsed = Date.now() - started;\r\n            console.log(`Request for ${req.urlWithParams} failed after ${elapsed} ms.`);\r\n           // debugger;\r\n            return throwError(error);\r\n          })\r\n        );\r\n\r\n    }  \r\n}","import { UntypedFormGroup, UntypedFormControl } from '@angular/forms';\r\n\r\nexport function emailValidator(control: UntypedFormControl): {[key: string]: boolean} {\r\n    var emailRegexp = /[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,3}$/;   \r\n    if (control.value && !emailRegexp.test(control.value)) { \r\n        return {invalidEmail: true};\r\n    }\r\n    return { };\r\n}\r\n\r\nexport function matchingPasswords(passwordKey: string, passwordConfirmationKey: string) {\r\n    return (group: UntypedFormGroup) => {\r\n        let password= group.controls[passwordKey];\r\n        let passwordConfirmation= group.controls[passwordConfirmationKey];\r\n        if (password.value !== passwordConfirmation.value) {\r\n            return passwordConfirmation.setErrors({mismatchedPasswords: true})\r\n        }\r\n    }\r\n}\r\n\r\nexport function maxWordsValidator(maxWordsCount: number) {\r\n\treturn function maxWordsValidator(control: UntypedFormControl): { [key: string]: boolean } {\r\n\t\tif(control.value){\r\n\t\t\tlet nameSplit = control.value.trim().split(' ');\r\n\t\t\tif (nameSplit.length > maxWordsCount) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tmaxNumberOfWordsExceeded: true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn { };\r\n\t}\r\n}","import { Injectable } from \"@angular/core\";\r\nimport {\r\n  Router,\r\n  CanActivate,\r\n  ActivatedRouteSnapshot,\r\n  RouterStateSnapshot,\r\n} from \"@angular/router\";\r\nimport { menuItems } from '../../admin/components/menu/menu';\r\nimport { EncryptDecrypt } from '../directives/encrypt_decrypt';\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n  constructor(\r\n    private router: Router,\r\n    private encrypt: EncryptDecrypt,\r\n  ) { }\r\n\r\n  canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n    if (localStorage.getItem(\"TamuApp\")) {\r\n      const currentUser = JSON.parse(\r\n        this.encrypt.Decrypt(localStorage.getItem(\"TamuApp\"))\r\n      );\r\n\r\n    \r\n      var url = state.url.split(';')[0];\r\n\r\n\r\n  \r\n\r\n      if (currentUser.Usergroup != 1 && url.indexOf('admin') >= 0) {\r\n        this.router.navigate([\"/\"]);\r\n        return true;\r\n\r\n      }\r\n      if (currentUser.Usergroup == 1 && url.indexOf('admin') == -1) {\r\n        this.router.navigate([\"/\"]);\r\n        return true;\r\n\r\n      }\r\n\r\n      if (currentUser.Usergroup == 1) {\r\n\r\n        var values = currentUser.Roles.split(',');\r\n\r\n        if (values.indexOf(menuItems.filter(x => x.routerLink == url)[0].id.toString()) == -1) {\r\n          this.router.navigate([\"/admin\"]);\r\n          return true;\r\n\r\n        }\r\n     \r\n\r\n\r\n      }\r\n\r\n\r\n\r\n      if (currentUser.PasswordChanged === false) {\r\n        this.router.navigate([\"changepassword\"], {\r\n          queryParams: { returnUrl: state.url },\r\n        });\r\n        return true;\r\n      }\r\n\r\n      //   if (currentUser.OTPRequired === true && currentUser.OTPVerified === 0 ) {\r\n      //     this.router.navigate([\"otp\"], {\r\n      //       queryParams: { returnUrl: state.url },\r\n      //     });\r\n      //     return true;\r\n\r\n      //   }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n      return true;\r\n    }\r\n\r\n    // not logged in so redirect to login page with the return url\r\n    this.router.navigate([\"login\"], { queryParams: { returnUrl: state.url } });\r\n    return false;\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { OverlayContainer } from '@angular/cdk/overlay';\r\n\r\n@Injectable() \r\nexport class CustomOverlayContainer extends OverlayContainer {\r\n  override _createContainer(): void {\r\n    let container = document.createElement('div');\r\n    container.classList.add('cdk-overlay-container'); \r\n    document.getElementById('app')?.appendChild(container); \r\n    this._containerElement = container;\r\n  }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { AuthService } from '../../auth.service';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n    constructor(private authService: AuthService) {}\r\n\r\n    intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n\r\n        return next.handle(request).pipe(catchError(err => {\r\n            console.log('====================================');\r\n            console.log(err);\r\n            console.log('====================================');\r\n            if (err.status === 401) {\r\n                // auto logout if 401 response returned from api\r\n                this.authService.logout();\r\n                location.reload();\r\n            } else if (err.status === 200) {\r\n              return next.handle(request);\r\n          }\r\n            const error = err.error.message || err.statusText;\r\n            return throwError(() => new Error(error))\r\n        }));\r\n    }\r\n}\r\n","import { MatPaginatorIntl } from '@angular/material/paginator';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Injectable } from '@angular/core';\r\n\r\nconst ITEMS_PER_PAGE = 'PAGINATION.ITEMS_PER_PAGE';\r\nconst NEXT_PAGE = 'PAGINATION.NEXT_PAGE';\r\nconst PREV_PAGE = 'PAGINATION.PREV_PAGE';\r\nconst FIRST_PAGE = 'PAGINATION.FIRST_PAGE';\r\nconst LAST_PAGE = 'PAGINATION.LAST_PAGE';\r\n\r\n@Injectable()\r\nexport class MatPaginatorI18nService extends MatPaginatorIntl {\r\npublic constructor(private translate: TranslateService) {\r\n  super();\r\n\r\n  this.translate.onLangChange.subscribe((e: Event) => {\r\n    this.getAndInitTranslations();\r\n  });\r\n\r\n  this.getAndInitTranslations();\r\n}\r\n\r\npublic override getRangeLabel = (page: number, pageSize: number, length: number): string => {\r\n  if (length === 0 || pageSize === 0) {\r\n    return `0 / ${length}`;\r\n  }\r\n\r\n  length = Math.max(length, 0);\r\n\r\n  const startIndex: number = page * pageSize;\r\n  const endIndex: number = startIndex < length\r\n    ? Math.min(startIndex + pageSize, length)\r\n    : startIndex + pageSize;\r\n\r\n  return `${startIndex + 1} - ${endIndex} / ${length}`;\r\n};\r\n\r\npublic getAndInitTranslations(): void {\r\n  this.translate.get([\r\n    ITEMS_PER_PAGE,\r\n    NEXT_PAGE,\r\n    PREV_PAGE,\r\n    FIRST_PAGE,\r\n    LAST_PAGE,\r\n  ]).subscribe((translation: any) => { \r\n      this.itemsPerPageLabel = translation[ITEMS_PER_PAGE];\r\n      this.nextPageLabel = translation[NEXT_PAGE];\r\n      this.previousPageLabel = translation[PREV_PAGE];\r\n      this.firstPageLabel = translation[FIRST_PAGE];\r\n      this.lastPageLabel = translation[LAST_PAGE]; \r\n      this.changes.next();\r\n    });\r\n  }\r\n}","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n  production: false,\r\n  url: '',\r\n  //apiurl:'http://localhost:44301/Api.svc'\r\n  apiurl: 'https://tamucuisine.com:8020/Api.svc',\r\n\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error';  // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n  enableProdMode();\r\n}\r\n\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n  platformBrowserDynamic().bootstrapModule(AppModule)\r\n  .catch(err => console.error(err));\r\n});\r\n","/* (ignored) */"],"names":["Menu","constructor","id","title","routerLink","href","icon","target","hasSubMenu","parentId","menuItems","RouterModule","PreloadAllModules","PagesComponent","NotFoundComponent","LockScreenComponent","AuthGuard","routes","path","component","children","loadChildren","then","m","HomeModule","AboutModule","NewsModule","MenuModule","AccountModule","canActivate","FpassModule","LoginModule","RegisterModule","ResetModule","ChangepasswordModule","TermsConditionsModule","FaqregisterModule","FaqorderModule","FaqpayModule","AdminModule","AppRoutingModule","forRoot","preloadingStrategy","initialNavigation","relativeLinkResolution","imports","exports","PLATFORM_ID","NavigationEnd","isPlatformBrowser","AppComponent","appSettings","router","appService","platformId","translate","settings","addLangs","setDefaultLang","use","Connect","subscribe","next","data","error","e","complete","ngAfterViewInit","events","event","setTimeout","window","scrollTo","i0","selectors","decls","vars","consts","template","BrowserModule","BrowserAnimationsModule","HttpClient","HttpClientModule","HTTP_INTERCEPTORS","DatePipe","NgProgressModule","NgProgressHttpModule","AgmCoreModule","environment","TranslateModule","TranslateLoader","TranslateHttpLoader","MatPaginatorIntl","MatPaginatorI18nService","OverlayContainer","CustomOverlayContainer","AppInterceptor","SharedModule","AppSettings","AuthService","Toolbar1Component","UserMenuComponent","ContactsComponent","HorizontalMenuComponent","VerticalMenuComponent","FooterComponent","ErrorInterceptor","HttpLoaderFactory","httpClient","url","AppModule","bootstrap","provide","useClass","multi","withServerTransition","appId","apiKey","libraries","loader","useFactory","deps","declarations","i2","i3","ConfirmDialogComponent","ConfirmDialogModel","AlertDialogComponent","map","Data","categories","divisions","cartList","orderList","favorites","totalPrice","totalCartCount","menuslist","ParentStudents","UserData","AccountInfo","AppService","http","datePipe","bottomSheet","snackBar","dialog","translateService","validateToken","get","apiurl","VerifyStudentId","req","post","ParentRegister","ShowTodaysMenu","ShowWeeklyMenu","ListMenuShedules","ShowCategories","ChangeFirstPassword","ResetPasswordLink","VerifyResetLink","VerifyStudentIdUnMasked","ParentStudentRegister","CategoriesList","MenuCategories","DeleteCategory","DivisionsList","MenuDivisions","DeleteDivision","MenuList","Menus","DeleteMenu","getMenuById","LoadOrderMenuList","UploadMenuImage","DeleteMenuImage","getFilteredMenu","MenuSchedules","DeleteMenuSchedule","OrderMenu","ParentOrdersList","CancelOrder","OrdersList","Grades","DeductionsReport","OrdersReport","ManualPostedReport","ChefOrdersList","OrdersListReport","OrderMenuListByDate","Parents","ListTeachers","ParentStudentById","Discounts","AddSystemSettings","ShowDiscounts","ShowDiscountsByCategory","DiscountList","LoadSystemSettings","DeleteDiscounts","DiscountMemberList","SelectMemberList","DiscountMembers","DeleteMembers","ParentList","TeacherList","Parent","Teacher","RemoveParentStudent","AdminStudentRegister","DiscountMember","ReverseAccounts","CustomerAccounts","CustomerAccountsList","CustomerAccountsListByUser","DeductOrders","AccountBalancesList","ArchivedAccountBalancesList","DisableAccounts","ArchiveAccount","UndoArchiveAccount","StudentList","Student","StudentImport","users","user","UserRoles","ResetUserPassword","disableuser","UserRoleList","UserRole","RemoveUserRole","UserRoleDetail","RoleDetail","SystemProcesses","EmailTemplate","EmailTemplates","AccountAlertDetails","SendBalanceAlertEmail","OrderConfirmationEmail","StudentOrderList","NewsList","getNewsById","News","DeleteNews","ChangePassword","RefTypes","DashboardTiles","AccountStatus","OrdersByStatus","MonthlyOrders","WeeklyOrders","TopGrades","TopMenus","openDialog","panelClass","open","autoFocus","direction","rtl","openConfirmDialog","message","dialogData","dialogRef","maxWidth","openAlertDialog","getTranslateValue","key","param","value","res","convertImgToBase64","callback","xhr","XMLHttpRequest","onload","reader","FileReader","onloadend","result","readAsDataURL","response","responseType","send","PostMessage","input","mailApi","pipe","factory","providedIn","Settings","name","theme","toolbar","stickyMenuToolbar","header","adminSidenavIsOpened","adminSidenavIsPinned","adminSidenavUserBlock","mainToolbarFixed","contentOffsetToTop","headerBgImage","headerBgVideo","HttpHeaders","encrypt","login","username","password","getHeaders","Username","Password","headers","Token","localStorage","setItem","Encrypt","JSON","stringify","logout","removeItem","Validators","fb","Date","ngOnInit","timerInterval","setInterval","date","form","group","compose","required","minLength","document","getElementById","classList","add","ngOnDestroy","clearInterval","onSubmit","values","valid","navigate","ctx","goHome","headerTypeOption","getNews","changeTheme","chooseHeaderType","onWindowScroll","scrollTop","Math","max","pageYOffset","documentElement","body","showBackToTop","top_toolbar","clientHeight","contains","scrollToTop","scrollDuration","scrollStep","scrollInterval","scrollBy","innerWidth","ndata","parse","console","log","length","newsdata","sidenav","close","viewQuery","MAT_DIALOG_DATA","emailValidator","CommentsComponent","author","avatar","tooltip","text","percentage","selected","commentForm","review","email","rate","menuItemId","onCommentFormSubmit","rating","ratings","filter","r","controls","setValue","inputs","onConfirm","onDismiss","DialogHeaderControlsComponent","toggleFullScreen","isFullScreen","addPanelClass","getElementsByTagName","style","overflowY","removePanelClass","showFullscreenIcon","HeaderCarouselComponent","initCarousel","ngOnChanges","slides","currentSlide","config","slidesPerView","spaceBetween","keyboard","navigation","pagination","grabCursor","loop","preloadImages","lazy","autoplay","delay","disableOnInteraction","speed","effect","onIndexChange","index","fullscreen","features","HeaderImageComponent","sanitizer","backgroundImage","bgImage","bypassSecurityTrustStyle","bgImageAnimate","contentMinHeight","desc","isHomePage","HeaderVideoComponent","vid","muted","backgroundVideo","EventEmitter","ImageUploadComponent","base64","files","push","getDate","content","size","fileChange","i","fileSize","toString","afterClosed","dialogResult","clearInput","img","Image","onFileChange","emit","src","fileUploadClick","onFileUploadClick","deleteFile","acceptTypes","outputs","lang_r3","LangComponent","changeLang","lang","LogoComponent","ctx_r1","ctx_r2","MenuItemHoverableComponent","menuItem","onlyImage","MenuItemComponent","changes","viewColChanged","getColumnCount","currentValue","column","lazyLoad","viewType","MenuItemsCarouselComponent","observer","nextEl","prevEl","breakpoints","MenuItemsToolbarComponent","count","counts","sort","sortings","changeCount","onChangeCount","changeSorting","onChangeSorting","changeViewType","viewCol","onChangeViewType","sidenavToggle","onSidenavToggle","showSidenavToggle","CommonModule","ReactiveFormsModule","FormsModule","FlexLayoutModule","SwiperModule","MatAutocompleteModule","MatBadgeModule","MatBottomSheetModule","MatButtonModule","MatButtonToggleModule","MatCardModule","MatCheckboxModule","MatChipsModule","MatNativeDateModule","MatRippleModule","MAT_DATE_LOCALE","MatDatepickerModule","MatDialogModule","MatExpansionModule","MatGridListModule","MatIconModule","MatInputModule","MatListModule","MatMenuModule","MatPaginatorModule","MatProgressBarModule","MatProgressSpinnerModule","MatRadioModule","MatSelectModule","MatSidenavModule","MatSlideToggleModule","MatSliderModule","MatSnackBarModule","MatSortModule","MatStepperModule","MatTableModule","MatTabsModule","MatToolbarModule","MatTooltipModule","NgSelectModule","AngularEditorModule","NgxMatIntlTelInputComponent","PerfectScrollbarModule","PERFECT_SCROLLBAR_CONFIG","PipesModule","DirectivesModule","SocialIconsComponent","DxDataGridModule","DxDropDownBoxModule","DEFAULT_PERFECT_SCROLLBAR_CONFIG","wheelPropagation","suppressScrollX","useValue","iconSize","iconColor","dividers","formBuilder","feedbackForm","subscribeForm","onFeedbackFormSubmit","onSubscribeFormSubmit","MenuService","MatMenuTrigger","menuItem_r1","menuService","getHorizontalMenuItems","item","menuParentId","closeOthers","trigger","currentIndex","triggers","toArray","findIndex","t","forEach","menu","closeMenu","i7","styles","verticalMenuItems","horizontalMenuItems","location","getVerticalMenuItems","expandActiveSubMenu","decodeURIComponent","activeMenuItem","parentMenuItem","toggleMenuItem","menuId","subMenu","remove","closeOtherSubMenus","currentMenuItem","closeAllSubMenus","onClick","getItem","loggedin","onMenuIconClick","currentUser","Decrypt","usergroup","Usergroup","OnlyNumberDirective","MaskDateDirective","PhoneMaskDirective","EncryptDecrypt","CryptoJS","set","keys","enc","Utf8","iv","encrypted","AES","keySize","mode","CBC","padding","pad","Pkcs7","decrypted","decrypt","encodedString","decodedString","textMask","fromEvent","datepickerInput","element","maskedInputController","maskInput","inputElement","nativeElement","mask","guide","eventSubscription","_","_onInput","destroy","unsubscribe","onInputChange","which","verified","String","fromCharCode","match","preventDefault","hostBindings","FilterByIdPipe","transform","items","find","pure","ProfilePicturePipe","UserSearchPipe","ext","args","searchText","RegExp","profile","search","HttpResponse","throwError","catchError","intercept","TamuApp","clone","setHeaders","handle","started","now","elapsed","urlWithParams","control","emailRegexp","test","invalidEmail","matchingPasswords","passwordKey","passwordConfirmationKey","passwordConfirmation","setErrors","mismatchedPasswords","maxWordsValidator","maxWordsCount","nameSplit","trim","split","maxNumberOfWordsExceeded","route","state","indexOf","Roles","x","PasswordChanged","queryParams","returnUrl","_createContainer","container","createElement","appendChild","_containerElement","authService","request","err","status","reload","statusText","Error","ITEMS_PER_PAGE","NEXT_PAGE","PREV_PAGE","FIRST_PAGE","LAST_PAGE","page","pageSize","startIndex","endIndex","min","onLangChange","getAndInitTranslations","translation","itemsPerPageLabel","nextPageLabel","previousPageLabel","firstPageLabel","lastPageLabel","production","enableProdMode","addEventListener","__NgCli_bootstrap_1","bootstrapModule","catch"],"sourceRoot":"webpack:///"}