{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/core/token.interceptors.ts","webpack:///src/app/pages/pages.component.ts","webpack:///src/app/pages/pages.component.html","webpack:///src/app/shared/cms/cms.component.ts","webpack:///src/app/shared/cms/cms.component.html","webpack:///src/app/shared/components/breadcrumb/breadcrumb.component.ts","webpack:///src/app/shared/components/breadcrumb/breadcrumb.component.html","webpack:///src/app/shared/components/categories/categories.component.ts","webpack:///src/app/shared/components/categories/categories.component.html","webpack:///src/app/shared/components/left-menu/left-menu.component.ts","webpack:///src/app/shared/components/left-menu/left-menu.component.html","webpack:///src/app/shared/components/menu/menu.component.ts","webpack:///src/app/shared/components/menu/menu.component.html","webpack:///src/app/shared/components/modal/accept-cookies/accept-cookies.component.ts","webpack:///src/app/shared/components/modal/accept-cookies/accept-cookies.component.html","webpack:///src/app/shared/components/modal/cart-modal/cart-modal.component.html","webpack:///src/app/shared/components/modal/cart-modal/cart-modal.component.ts","webpack:///src/app/shared/components/modal/cart-variation/cart-variation.component.ts","webpack:///src/app/shared/components/modal/cart-variation/cart-variation.component.html","webpack:///src/app/shared/components/modal/newsletter/newsletter.component.ts","webpack:///src/app/shared/components/modal/newsletter/newsletter.component.html","webpack:///src/app/shared/components/modal/quick-view/quick-view.component.html","webpack:///src/app/shared/components/modal/quick-view/quick-view.component.ts","webpack:///src/app/shared/components/modal/size-modal/size-modal.component.ts","webpack:///src/app/shared/components/modal/size-modal/size-modal.component.html","webpack:///src/app/shared/components/modal/video-modal/video-modal.component.ts","webpack:///src/app/shared/components/modal/video-modal/video-modal.component.html","webpack:///src/app/shared/components/product/product-box-one/product-box-one.component.html","webpack:///src/app/shared/components/product/product-box-one/product-box-one.component.ts","webpack:///src/app/shared/components/product/product-box-vertical-slider/product-box-vertical-slider.component.ts","webpack:///src/app/shared/components/product/product-box-vertical-slider/product-box-vertical-slider.component.html","webpack:///src/app/shared/components/settings/settings.component.ts","webpack:///src/app/shared/components/settings/settings.component.html","webpack:///src/app/shared/components/skeleton/skeleton-product-box/skeleton-product-box.component.ts","webpack:///src/app/shared/components/skeleton/skeleton-product-box/skeleton-product-box.component.html","webpack:///src/app/shared/components/tap-to-top/tap-to-top.component.ts","webpack:///src/app/shared/components/tap-to-top/tap-to-top.component.html","webpack:///src/app/shared/data/slider.ts","webpack:///src/app/shared/footer/footer-one/footer-one.component.ts","webpack:///src/app/shared/footer/footer-one/footer-one.component.html","webpack:///src/app/shared/header/header-two/header-two.component.ts","webpack:///src/app/shared/header/header-two/header-two.component.html","webpack:///src/app/shared/pipes/discount.pipe.ts","webpack:///src/app/shared/pipes/santize.pipe.ts","webpack:///src/app/shared/services/nav.service.ts","webpack:///src/app/shared/services/product.service.ts","webpack:///src/app/shared/services/token.service.ts","webpack:///src/app/shared/shared.module.ts","webpack:///src/app/shop/shop.component.ts","webpack:///src/app/shop/shop.component.html","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","createTranslateLoader","translate","location","settings","routes","path","redirectTo","pathMatch","loadChildren","m","HomeModule","data","discriminantPathKey","ShopModule","PagesModule","AppRoutingModule","forRoot","initialNavigation","relativeLinkResolution","scrollPositionRestoration","parser","provide","useFactory","deps","imports","AppComponent","platformId","router","http","titleService","metaService","loader","localize","home","loaders","progress$","pipe","v","GetMainSeo","setDefaultLang","events","subscribe","event","url","split","length","window","scrollTo","get","currentLang","setTitle","Data","MetaTitle","removeTag","addTags","name","content","MetaKeywords","MetaDescription","selector","templateUrl","styleUrls","Object","HttpLoaderFactory","alwaysSetPrefix","AppModule","appId","platform","withServerTransition","declarations","providers","bootstrap","TokenInterceptor","request","next","token","localStorage","getItem","header","setHeaders","clone","handle","PagesComponent","themeLogo","CMSContentComponent","route","toastr","viewScroller","separateDialCode","SearchCountryField","CountryISO","PhoneNumberFormat","preferredCountries","UnitedStates","UnitedKingdom","isLoading","ContactModel","WideBanner","GetBanners","routerEvents","language","navigateByUrl","params","decodeURI","$","css","find","x","BannerTypeRef","RowLink","LangCode","toUpperCase","contactPosition","document","getElementById","offsetTop","scrollToPosition","value","isSendingMail","post","Email","FirstName","LastName","PhoneNumber","internationalNumber","Subject","Message","Success","resetForm","translations","success","error","encapsulation","None","BreadcrumbComponent","title","breadcrumb","category","link","CategoriesComponent","collapse","props","PropsFilter","SendPropsList","categories","console","log","propsList","forEach","element","CategoryRef","Props","emit","paramsprops","undefined","keyNames","getOwnPropertyNames","item","propname","PropNameAlias","replace","index","indexOf","PropName","val","push","prop","changes","ngOnInit","hasClass","removeClass","addClass","proptype","target","checked","index2","splice","join","items","RemoveAllTags","LeftMenuComponent","navServices","mainMenuToggle","leftMenuToggle","active","MenuComponent","tokenService","MenuList","MenuListByLanguage","responsivethemeLogodark","ColumnMenuItems","RowMenuItems","languages","flag","IsActive","RowActive","Columns","column","Rows","row","Ref","Categories","filter","RowTypeStr","overflow","position","changeLanguage","ActiveItemName","ActiveItemRef","isRowMenuOpen","isColumnMenuOpen","ActiveItem","LanguageCode","setByLanguage","lastscroll","documentElement","scrollTop","FontStyle","ref","removeItem","navigate","transform","animations","stick","IsSearching","AcceptCookiesComponent","IsCookieAccept","setItem","CartModalComponent","modalService","productService","modalOpen","products","product","getProducts","response","addToCart","status","open","CartModal","size","ariaLabelledBy","centered","windowClass","result","reason","closeResult","getDismissReason","ESC","BACKDROP_CLICK","dismissAll","currency","CartVariationComponent","direction","cartItems","OpenCart","removeCartItem","closeCart","cartTotalAmount","NewsletterComponent","datePipe","PopUpModel","isLoadingPopup","PopupImage","substring","isVideo","PopupLogo","isVideo2","PopupCounter","now","Date","PopupRefresh","openModal","olddate","newdate","setHours","getHours","Number","NewsLetterModal","translatedPath","translateRoute","opacity","QuickViewComponent","toastrService","render","activeSlide","counter","Item","StockRef","ProductVariant","VariantRef","Images","QuickView","scrollable","MinPurchaseSetAmountForSoldOut","cartItem","JSON","parse","Barcode","Balance","SetCount","variants","uniqColor","i","ColorName","ItemSizes","uniqSize","ImageSrc","ImageRef","ImageLocation","color","StockVariants","parentElement","descriptiontext","detailtext","CartAmount","stock","Code","getUser","getwishlistItems","addToWishlist","removeWishlistItem","height","SizeModalComponent","SizeChart","VideoModalComponent","VideoModal","ProductBoxOneComponent","breakpointObserver","gridFlex","Currency","thumbnail","onHowerChangeImage","cartModal","collection","isMobile","Variants","ProductVariantCode","observe","matches","VariantCode","routerurl","setTimeout","width","ImageSrc2","src","IsSoldOutPage","addToCompare","onResize","ProductBoxVerticalSliderComponent","type","NewProductSliderConfig","SettingsComponent","elementRef","cdref","LoginModel","wishlist","currentLanguage","myevent","isSmallScreen","innerWidth","logoLeftPosition","SearchModel","SearchProducts","time","isLoginLoading","isSearchPage","currencies","price","wishlistItems","SearchText","Searching","user","logoElement","nativeElement","querySelector","screenWidth","logoWidth","offsetWidth","setLogoPosition","detectChanges","body","mail","Password","password","Wish","stringify","Cart","reload","navigatioExtra","queryParams","q","clearTimeout","timer","IsLoadingSearch","cartItemsAmount","onWindowResize","sticky","onKeydownHandler","SkeletonProductBoxComponent","TapToTopComponent","show","number","pageYOffset","tapToTop","onWindowScroll","HomeSlider","loop","smartSpeed","navContainerClass","nav","dots","video","mouseDrag","touchDrag","autoplay","autoplayTimeout","navClass","navText","responsive","InstaSlider","navSpeed","BlogSlider","pullDrag","margin","LogoSlider","CollectionSlider","CategorySlider","TestimonialSlider","TeamSlider","CompareSlider","ProductSlider","ProductOneSlider","NewProductSlider","ProductDetailsMainSlider","slideSpeed","ProductDetailsThumbSlider","ProductDetailsThumbSlider2","autoWidth","FooterOneComponent","today","FooterMenu","GetPolicies","policies","HeaderTwoComponent","responsivethemeLogo","topbar","alerts","backgroundwhite","updateScreenVariable","click","DiscountPipe","args","discount","CardStoreSalesPrice","sanitizeHtmlPipe","_sanitizer","bypassSecurityTrustHtml","NavService","providedIn","state","compare","cart","ProductService","slug","wishlistItem","Amount","Price","compareItem","reduce","prev","curr","amount","IsSoldOut","qty","calculateStockCounts","Quantity","Tags","some","tags","includes","payload","sort","a","b","Name","IsNewProduct","totalItems","currentPage","pageSize","totalPages","Math","ceil","paginateRange","startPage","endPage","startIndex","endIndex","min","pages","Array","from","map","Products","itemsStream","observer","complete","cartitems","TokenService","jwtToken","SharedModule","useClass","multi","forChild","ShopComponent","environment","production","instagram_token","stripe_token","paypal_token","addEventListener","bootstrapModule","err"],"mappings":"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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { LocalizeParser, LocalizeRouterModule, LocalizeRouterSettings, ManualParserLoader } from '@gilsdav/ngx-translate-router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nexport function createTranslateLoader(translate: TranslateService, location: Location, settings: LocalizeRouterSettings) {\r\n return new ManualParserLoader(translate, location, settings, ['en', 'tr','ru'], 'ROUTES.');\r\n}\r\n\r\nexport const routes: Routes = [\r\n { path: '', redirectTo: '/', pathMatch: 'full' },\r\n { path: '**', redirectTo: '/' },\r\n {\r\n path: '',\r\n loadChildren: () => import('./home/home.module').then(m => m.HomeModule),\r\n data: {\r\n discriminantPathKey: 'HOMEPATH'\r\n }\r\n },\r\n {\r\n path: '',\r\n loadChildren: () => import('./shop/shop.module').then(m => m.ShopModule),\r\n data: {\r\n discriminantPathKey: 'SHOPPATH'\r\n }\r\n },\r\n {\r\n path: '',\r\n loadChildren: () => import('./pages/pages.module').then(m => m.PagesModule),\r\n data: {\r\n discriminantPathKey: 'PAGESPATH'\r\n }\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, { initialNavigation: 'disabled', relativeLinkResolution: 'legacy', scrollPositionRestoration: 'enabled' }),\r\n LocalizeRouterModule.forRoot(routes, {\r\n parser: {\r\n provide: LocalizeParser,\r\n useFactory: (createTranslateLoader),\r\n deps: [TranslateService, Location, LocalizeRouterSettings/*, HttpClient*/]\r\n },\r\n initialNavigation: true\r\n })\r\n ],\r\n exports: [ RouterModule, LocalizeRouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, Injectable, PLATFORM_ID, Inject, OnInit } from '@angular/core';\r\nimport { isPlatformBrowser, isPlatformServer } from '@angular/common';\r\nimport { LoadingBarService } from '@ngx-loading-bar/core';\r\nimport { map, delay, withLatestFrom } from 'rxjs/operators';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { LocalizeRouterService } from '@gilsdav/ngx-translate-router';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Meta, Title } from '@angular/platform-browser';\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 implements OnInit {\r\n home = false;\r\n\r\n // For Progressbar\r\n loaders = this.loader.progress$.pipe(\r\n delay(1000),\r\n withLatestFrom(this.loader.progress$),\r\n map(v => v[1]),\r\n );\r\n\r\n constructor(@Inject(PLATFORM_ID) private platformId: Object, private router: Router, private http: HttpClient,private titleService: Title, private metaService: Meta,\r\n private loader: LoadingBarService,private translate: TranslateService, private localize: LocalizeRouterService) {\r\n \r\n this.GetMainSeo();\r\n if (isPlatformBrowser(this.platformId)) {\r\n translate.setDefaultLang('en');\r\n }\r\n router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n if (event.url.split('/').length > 2) {\r\n this.GetMainSeo();\r\n this.home = false;\r\n }\r\n else {\r\n this.GetMainSeo();\r\n this.home = true;\r\n }\r\n }\r\n if (!(event instanceof NavigationEnd)) {\r\n return;\r\n }\r\n window.scrollTo(0, 0);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (this.router.url.split('/').length > 2) {\r\n this.home = false;\r\n }\r\n else {\r\n this.home = true;\r\n }\r\n }\r\n GetMainSeo(){\r\n this.http.get(environment.url + 'MainPageSeo/GetMainPageSeoByLangCode?LangCode=' + this.translate.currentLang).subscribe(data => {\r\n this.titleService.setTitle(data.Data[0].MetaTitle);\r\n this.metaService.removeTag(\"name='description'\");\r\n this.metaService.removeTag(\"name='keywords'\");\r\n this.metaService.addTags([\r\n {name: 'keywords', content: data.Data[0].MetaKeywords},\r\n {name: 'description', content: data.Data[0].MetaDescription}\r\n ]);\r\n });\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { APP_ID, Inject, NgModule, PLATFORM_ID } from '@angular/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { LoadingBarHttpClientModule } from '@ngx-loading-bar/http-client';\r\nimport { LoadingBarRouterModule } from '@ngx-loading-bar/router';\r\nimport { ToastrModule } from 'ngx-toastr';\r\n\r\nimport { DatePipe, isPlatformBrowser, Location } from '@angular/common';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { TranslateModule, TranslateLoader, TranslateService } from '@ngx-translate/core';\r\nimport { AppRoutingModule } from './app-routing.module';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { ShopComponent } from './shop/shop.component';\r\nimport { PagesComponent } from './pages/pages.component';\r\n\r\nimport { LocalizeRouterSettings } from '@gilsdav/ngx-translate-router';\r\nimport { LocalizeRouterHttpLoader } from '@gilsdav/ngx-translate-router-http-loader';\r\nimport { environment } from 'src/environments/environment';\r\nimport { NgxIntlTelInputModule } from 'ngx-intl-tel-input';\r\n\r\n\r\nexport function createTranslateLoader(http: HttpClient) {\r\n //return new TranslateHttpLoader(http, '/assets/locales/', '.json');\r\n return new TranslateHttpLoader(http, environment.url + \"app/GetTranslateWebPanel?langCode=\", \"\");\r\n}\r\nexport function HttpLoaderFactory(translate: TranslateService, location: Location, settings: LocalizeRouterSettings, http: HttpClient) {\r\n return new LocalizeRouterHttpLoader(translate, location, { ...settings, alwaysSetPrefix: true }, http);\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n ShopComponent,\r\n PagesComponent\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'mibebito' }),\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n NgbModule,\r\n LoadingBarHttpClientModule,\r\n AppRoutingModule,\r\n LoadingBarRouterModule,\r\n BrowserModule,\r\n HttpClientModule,\r\n ToastrModule.forRoot(),\r\n BrowserModule,\r\n HttpClientModule,\r\n NgxIntlTelInputModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: (createTranslateLoader),\r\n deps: [/* PLATFORM_ID, */HttpClient]\r\n }\r\n }),\r\n // RouterModule.forRoot(routes, {\r\n // initialNavigation: 'enabled',\r\n // useHash: false,\r\n // anchorScrolling: 'enabled',\r\n // scrollPositionRestoration: 'enabled'\r\n // }),\r\n // LocalizeRouterModule.forRoot(routes, {\r\n // parser: {\r\n // provide: LocalizeParser,\r\n // useFactory: HttpLoaderFactory,\r\n // deps: [TranslateService, Location, LocalizeRouterSettings, HttpClient]\r\n // },\r\n\r\n // cacheMechanism: CacheMechanism.Cookie,\r\n // cookieFormat: '{{value}};{{expires:20}};path=/',\r\n // }),\r\n SharedModule\r\n ],\r\n providers: [ DatePipe],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n constructor(\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n @Inject(APP_ID) private appId: string) {\r\n const platform = isPlatformBrowser(platformId) ?\r\n 'in the browser' : 'on the server';\r\n }\r\n }\r\n","import { Inject, Injectable, PLATFORM_ID } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor {\r\n constructor(@Inject(PLATFORM_ID) private platformId: Object) { }\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n if (isPlatformBrowser(this.platformId)) {\r\n let token = localStorage.getItem(\"tokenVIP\");\r\n let header = {};\r\n if (token) {\r\n header = {\r\n setHeaders: {\r\n token: token\r\n }\r\n };\r\n }\r\n \r\n request = request.clone(header);\r\n return next.handle(request);\r\n }\r\n\r\n \r\n }\r\n}","import { Component, OnInit } from '@angular/core';\nimport { Router, NavigationEnd } from '@angular/router';\n\n@Component({\n selector: 'app-pages',\n templateUrl: './pages.component.html',\n styleUrls: ['./pages.component.scss']\n})\nexport class PagesComponent implements OnInit {\n\n public url : any; \n\n constructor(private router: Router) { \n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.url = event.url;\n }\n });\n }\n public themeLogo: string = 'assets/images/icon/logo.png'; // Change Logo\n ngOnInit(): void {\n }\n\n}\n","\n\n","import { HttpClient } from '@angular/common/http';\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { LocalizeRouterService } from '@gilsdav/ngx-translate-router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { environment } from 'src/environments/environment';\nimport { SearchCountryField, CountryISO, PhoneNumberFormat } from 'ngx-intl-tel-input';\nimport { ViewportScroller } from '@angular/common';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-cms',\n templateUrl: './cms.component.html',\n styleUrls: ['./cms.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class CMSContentComponent implements OnInit {\n\n @Input() content: any = {};\n data;\n isSendingMail;\n\n separateDialCode = true;\n SearchCountryField = SearchCountryField;\n CountryISO = CountryISO;\n PhoneNumberFormat = PhoneNumberFormat;\n preferredCountries: CountryISO[] = [CountryISO.UnitedStates, CountryISO.UnitedKingdom];\n isLoading = false;\n ContactModel: any = {};\n \n WideBanner: any = {};\n constructor(private localize: LocalizeRouterService, private route: ActivatedRoute,private http: HttpClient, private translate: TranslateService,private router: Router, private toastr: ToastrService,private viewScroller: ViewportScroller,) { \n \n }\n\n ngOnInit(): void {\n this.data = this.content.Data[0];\n this.GetBanners();\n this.localize.routerEvents.subscribe((language: string) => {\n this.router.navigateByUrl('/' + language);\n });\n this.route.params.subscribe(\n params => {\n this.GetBanners();\n this.http.get(environment.url + 'resolver/resolveURL?resolve=' + '/' + decodeURI(this.router.url.split('/')[2]) + '&langCode=' + this.translate.currentLang).subscribe(data => {\n this.data = data.content.Data[0];\n });\n });\n }\n ngAfterContentChecked(): void {\n //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.\n //Add 'implements AfterViewInit' to the class.\n $('p').css('font-size','14');\n $('p').css('font-weight','500');\n $('p').css('color','black');\n $('p').css('line-height','21px');\n\n }\n GetBanners() {\n this.WideBanner = {};\n this.http.get(environment.url + 'Banner/GetBanners').subscribe(data => {\n this.WideBanner = data.find(x => x.BannerTypeRef == 8 && '/' + this.translate.currentLang + x.RowLink == this.router.url && x.LangCode === this.translate.currentLang.toUpperCase());\n });\n }\n\n gotoContact(){\n var contactPosition = document.getElementById(\"contact-form\").offsetTop - 150;\n \n this.viewScroller.scrollToPosition([0, contactPosition]);\n\n }\n\n SendMail(value: any){\n this.isSendingMail = true;\n this.http.post(environment.url + 'Request/Contact?LanguageCode=' + this.translate.currentLang + '&Email=' + this.ContactModel.Email + '&FirstName=' + this.ContactModel.FirstName+ '&LastName=' + this.ContactModel.LastName+ '&PhoneNumber=' + this.ContactModel.PhoneNumber.internationalNumber+ '&Subject=' + this.ContactModel.Subject+ '&Message=' + this.ContactModel.Message, null).subscribe(data => {\n if (data.Success) {\n this.isSendingMail = false;\n this.ContactModel = {};\n value.resetForm();\n let translate = this.translate.translations[this.translate.currentLang];\n this.toastr.success(translate['contact:form-sended']);\n }\n else {\n this.isSendingMail = false;\n let translate = this.translate.translations[this.translate.currentLang];\n this.toastr.error(translate['contact-error:form-sended']);\n }\n },\n error => {\n this.isSendingMail = false;\n let translate = this.translate.translations[this.translate.currentLang];\n this.toastr.error(translate['contact-error:form-sended']);\n });\n }\n}\n","\n\n
\n \n
\n \n \n \n
\n
\n \n
\n
\n
\n\n
\n
\n \n\n \n
\n
\n \n
\n
\n
\n
\n
\n

{{'apply:contact-form-title' | translate}}\n

\n {{'apply:contact-form-text' | translate}}\n
\n
\n
\n \n\n {}\\/|;:.,~!?@#$%^=&'_()+* ]+$\"\n placeholder=\"{{'apply:contact-first-name-placeholder' | translate}}\"\n [(ngModel)]=\"ContactModel.FirstName\"\n [ngClass]=\"{ 'is-invalid': contactform.submitted && FirstName.invalid}\" required>\n
\n
{{'apply:contact-firstname-validation' | translate}}
\n
\n
\n
\n \n\n {}\\/|;:.,~!?@#$%^=&'_()+* ]+$\"\n placeholder=\"{{'apply:contact-last-name-placeholder' | translate}}\"\n [(ngModel)]=\"ContactModel.LastName\"\n [ngClass]=\"{ 'is-invalid': contactform.submitted && LastName.invalid}\" required>\n
\n
{{'apply:contact-lastname-validation' | translate}}
\n
\n
\n
\n \n\n \n \n
\n
{{'apply:contact-phone-validation' | translate}}
\n
\n
\n
\n \n \n
\n
{{'apply:contact-email-validation' | translate}}
\n
\n\n
\n
\n \n\n \n
\n
{{'apply:contact-subject-validation' | translate}}
\n
\n
\n
\n \n \n
\n
{{'apply:contact-message-validation' | translate}}
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
","import { HttpClient } from '@angular/common/http';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n styleUrls: ['./breadcrumb.component.scss']\r\n})\r\nexport class BreadcrumbComponent implements OnInit {\r\n\r\n @Input() title: string;\r\n @Input() breadcrumb: string;\r\n @Input() category: any;\r\n @Input() link: any;\r\n\r\n constructor(private http: HttpClient,\r\n private translate: TranslateService,) {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { HttpClient } from '@angular/common/http';\nimport { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { LocalizeRouterService } from '@gilsdav/ngx-translate-router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { map } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\ndeclare var $: any;\n@Component({\n selector: 'app-categories',\n templateUrl: './categories.component.html',\n styleUrls: ['./categories.component.scss']\n})\nexport class CategoriesComponent implements OnInit {\n\n @Input() category;\n public collapse: boolean = true;\n propsList;\n props: Array = [];\n @Input() paramsprops;\n @Input() RemoveAllTags;\n\n @Output() PropsFilter: EventEmitter = new EventEmitter();\n @Output() SendPropsList: EventEmitter = new EventEmitter();\n categories: any = [];\n constructor(private http: HttpClient, private localize: LocalizeRouterService, private toastr: ToastrService,\n private translate: TranslateService) {\n\n\n console.log('categories', this.categories);\n console.log('category', this.category);\n console.log('propsList', this.propsList);\n console.log('props', this.props);\n \n }\n\n ngOnInit(): void {\n\n if (!this.categories.length) {\n this.http.get(environment.url + 'Category/GetAllCategories?&LangCode=' + this.translate.currentLang).subscribe(data => {\n\n this.categories = data;\n\n\n data.forEach(element => {\n if (element.CategoryRef == this.category) {\n this.propsList = element.Props;\n this.SendPropsList.emit(this.propsList);\n if (this.paramsprops != undefined) {\n const keyNames = Object.getOwnPropertyNames(this.paramsprops);\n\n keyNames.forEach(element => {\n\n if (element != 'Category') {\n\n this.propsList.forEach(item => {\n let propname = keyNames.find(x => x == item.PropNameAlias.replace(/ /g, '-'));\n if (propname) {\n if (this.props.length) {\n let index = this.props.indexOf(this.props.find(x => x.PropName === propname));\n if (index === -1) {\n let val = this.paramsprops[propname];\n this.props.push({ PropName: propname, prop: val.split(',') });\n }\n }\n else {\n let val = this.paramsprops[propname];\n this.props.push({ PropName: propname, prop: val.split(',') });\n }\n }\n });\n }\n else {\n if (!this.props.length) {\n let val = this.paramsprops['Category'];\n this.props.push({ PropName: 'Category', prop: val.split(',') });\n }\n }\n });\n }\n }\n });\n });\n }\n else {\n this.categories.forEach(element => {\n if (element.CategoryRef == this.category) {\n this.propsList = element.Props;\n this.SendPropsList.emit(this.propsList);\n if (this.paramsprops != undefined) {\n const keyNames = Object.getOwnPropertyNames(this.paramsprops);\n keyNames.forEach(element => {\n if (element != 'Category') {\n this.propsList.forEach(item => {\n let propname = keyNames.find(x => x == item.PropNameAlias.replace(/ /g, '-'));\n if (propname) {\n if (this.props.length) {\n let index = this.props.indexOf(this.props.find(x => x.PropName === propname));\n if (index === -1) {\n let val = this.paramsprops[propname];\n this.props.push({ PropName: propname, prop: val.split(',') });\n }\n }\n else {\n let val = this.paramsprops[propname];\n this.props.push({ PropName: propname, prop: val.split(',') });\n }\n }\n });\n }\n else {\n if (!this.props.length) {\n let val = this.paramsprops['Category'];\n this.props.push({ PropName: 'Category', prop: val.split(',') });\n }\n }\n });\n }\n }\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['paramsprops']) {\n // Do your logic here\n this.props = [];\n this.ngOnInit();\n }\n }\n\n OpenCollapse(id) {\n if ($('#OpenCollapse' + id).hasClass(\"open\")) {\n $('#OpenCollapse' + id).removeClass('open');\n }\n else {\n $('#OpenCollapse' + id).addClass('open');\n }\n }\n\n appliedFilter(event, proptype) {\n proptype = proptype.replace(/ /g, '-');\n if (event.target.checked) {\n let index;\n\n if (this.props.length) {\n\n index = this.props.indexOf(this.props.find(x => x.PropName == proptype));\n if (index === -1) {\n this.props.push({ PropName: proptype, prop: [event.target.value.replace(/ /g, '-')] }); // push in array cheked value\n }\n else {\n this.props[index].prop.push(event.target.value.replace(/ /g, '-'));\n }\n }\n else {\n index = -1\n this.props.push({ PropName: proptype, prop: [event.target.value.replace(/ /g, '-')] }); // push in array cheked value\n }\n\n }\n else {\n\n let index = this.props.indexOf(this.props.find(x => x.PropName == proptype));\n let index2 = this.props[index].prop.indexOf(event.target.value.replace(/ /g, '-'));\n if (index2 != -1) this.props[index].prop.splice(index2, 1);\n if (!this.props[index].prop.length) {\n this.props.splice(index, 1); // removed in array unchecked value \n }\n }\n\n let props = this.props.length ? this.props.find(x => x.PropName == proptype) ? { [proptype]: this.props.find(x => x.PropName == proptype).prop.join(\",\").replace(/ /g, '-') } : { [proptype]: null } : { [proptype]: null };\n\n this.PropsFilter.emit(props);\n }\n\n // check if the item are selected\n checked(item) {\n if (this.props.length) {\n if (this.props.indexOf(this.props.find(x => x.prop.find(items => items === item.replace(/ /g, '-')))) != -1) {\n return true;\n }\n }\n }\n}","\n
\n

{{'categories:categories-title' | translate}}

\n
\n
\n \n
\n \n \n
\n
\n \n \n \n
\n\n
\n
\n\n
\n

{{prop.PropName}}

\n
\n
\n
\n \n \n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\r\nimport { NavService, Menu } from '../../services/nav.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-left-menu',\r\n templateUrl: './left-menu.component.html',\r\n styleUrls: ['./left-menu.component.scss']\r\n})\r\nexport class LeftMenuComponent implements OnInit {\r\n\r\n public menuItems: Menu[];\r\n\r\n constructor(private router: Router, public navServices: NavService) {\r\n //this.navServices.leftMenuItems.subscribe(menuItems => this.menuItems = menuItems );\r\n this.router.events.subscribe((event) => {\r\n this.navServices.mainMenuToggle = false;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n leftMenuToggle(): void {\r\n this.navServices.leftMenuToggle = !this.navServices.leftMenuToggle;\r\n }\r\n\r\n // Click Toggle menu (Mobile)\r\n toggletNavActive(item) {\r\n item.active = !item.active;\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n","import { Component, Inject, Input, OnInit, PLATFORM_ID } from \"@angular/core\";\r\nimport { NavService, Menu } from \"../../services/nav.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { LocalizeRouterService } from \"@gilsdav/ngx-translate-router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport {\r\n animate,\r\n group,\r\n query,\r\n style,\r\n transition,\r\n trigger,\r\n} from \"@angular/animations\";\r\nimport { TokenService } from \"../../services/token.service\";\r\nimport { isPlatformBrowser, ViewportScroller } from \"@angular/common\";\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: \"app-menu\",\r\n animations: [\r\n trigger(\"slideInOut\", [\r\n transition(\":enter\", [\r\n style({ transform: \"translateX(-100%)\" }),\r\n animate(\"300ms ease-in\", style({ transform: \"translateX(0%)\" })),\r\n ]),\r\n transition(\":leave\", [\r\n animate(\"300ms ease-in\", style({ transform: \"translateX(-100%)\" })),\r\n ]),\r\n ]),\r\n ],\r\n templateUrl: \"./menu.component.html\",\r\n styleUrls: [\"./menu.component.scss\"],\r\n})\r\nexport class MenuComponent implements OnInit {\r\n MenuList: Array = [];\r\n Categories;\r\n MenuListByLanguage: Array = [];\r\n @Input() stick: boolean;\r\n @Input() home: boolean;\r\n @Input() IsSearching: boolean;\r\n @Input() responsivethemeLogodark: string =\r\n \"assets/images/icon/mibebito_logo_black.png\"; // Default Logo\r\n lastscroll;\r\n\r\n isRowMenuOpen;\r\n isColumnMenuOpen;\r\n ColumnMenuItems: any = [];\r\n RowMenuItems: any = [];\r\n ActiveItem;\r\n ActiveItemRef;\r\n ActiveItemName;\r\n\r\n public languages = [\r\n {\r\n name: \"English\",\r\n code: \"en\",\r\n flag: \"gb\",\r\n },\r\n {\r\n name: \"Türkçe\",\r\n code: \"tr\",\r\n flag: \"tr\",\r\n },\r\n {\r\n name: \"Russian\",\r\n code: \"ru\",\r\n flag: \"ru\",\r\n },\r\n ];\r\n\r\n constructor(\r\n private router: Router,\r\n private viewScroller: ViewportScroller,\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n public tokenService: TokenService,\r\n private http: HttpClient,\r\n public navServices: NavService,\r\n private toastr: ToastrService,\r\n private translate: TranslateService,\r\n private localize: LocalizeRouterService\r\n ) {\r\n this.http\r\n .get(\r\n environment.url +\r\n \"Menu/GetMegaMenu?LangCode=\" +\r\n this.translate.currentLang.toUpperCase()\r\n )\r\n .subscribe((data) => {\r\n this.MenuList = data.Data;\r\n data.Data.forEach((element: any) => {\r\n // element.LanguageCode == translate.currentLang.toUpperCase() &&\r\n if (element.IsActive) {\r\n element.RowActive = false;\r\n if (element.Columns.length) {\r\n element.Columns.forEach((column: any) => {\r\n if (column.Rows.length) {\r\n column.Rows.forEach((row: any) => {\r\n if (row.IsActive) element.RowActive = true;\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (element.Ref == 22 || element.Ref == 26 || element.Ref == 30) {\r\n this.Categories = element.Columns[0].Rows.filter(\r\n (item) => item.RowTypeStr == \"Kategori\"\r\n );\r\n }\r\n this.MenuListByLanguage.push(element);\r\n }\r\n });\r\n });\r\n // this.navServices.items.subscribe(menuItems => this.menuItems = menuItems);\r\n this.router.events.subscribe((event) => {\r\n this.navServices.mainMenuToggle = false;\r\n $(\"body\").css({ overflow: \"\" });\r\n $(\"body\").css({ position: \"\" });\r\n });\r\n }\r\n public switchLang(code) {\r\n this.localize.changeLanguage(code);\r\n this.ActiveItemName = null;\r\n this.ActiveItemRef = null;\r\n this.isRowMenuOpen = false;\r\n this.isColumnMenuOpen = false;\r\n this.ActiveItem = null;\r\n this.ColumnMenuItems = [];\r\n this.RowMenuItems = [];\r\n }\r\n\r\n getMenuFontSize() {\r\n try {\r\n if (this.translate.currentLang.toUpperCase() == \"RU\") return \"14px\";\r\n else return \"16px\";\r\n } catch (error) {\r\n return \"16px\";\r\n }\r\n }\r\n\r\n setByLanguage() {\r\n this.MenuListByLanguage = [];\r\n\r\n //\r\n this.MenuList.forEach((element) => {\r\n if (\r\n element.LanguageCode == this.translate.currentLang.toUpperCase() &&\r\n element.IsActive\r\n ) {\r\n element.RowActive = false;\r\n if (element.Columns.length) {\r\n element.Columns.forEach((column: any) => {\r\n if (column.Rows.length) {\r\n column.Rows.forEach((row: any) => {\r\n if (row.IsActive) element.RowActive = true;\r\n });\r\n }\r\n });\r\n }\r\n this.MenuListByLanguage.push(element);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.localize.routerEvents.subscribe((language: string) => {\r\n this.http\r\n .get(\r\n environment.url +\r\n \"Menu/GetMegaMenu?LangCode=\" +\r\n this.translate.currentLang.toUpperCase()\r\n )\r\n .subscribe((data) => {\r\n data.Data.forEach((element: any) => {\r\n // element.LanguageCode == this.translate.currentLang.toUpperCase() &&\r\n if (element.IsActive) {\r\n element.RowActive = false;\r\n if (element.Columns.length) {\r\n element.Columns.forEach((column: any) => {\r\n if (column.Rows.length) {\r\n column.Rows.forEach((row: any) => {\r\n if (row.IsActive) element.RowActive = true;\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (element.Ref == 22 || element.Ref == 26 || element.Ref == 30) {\r\n this.Categories = element.Columns[0].Rows.filter(\r\n (item) => item.RowTypeStr == \"Kategori\"\r\n );\r\n }\r\n }\r\n });\r\n this.MenuList = data.Data;\r\n this.setByLanguage();\r\n });\r\n });\r\n }\r\n mainMenuToggle(): void {\r\n this.navServices.mainMenuToggle = !this.navServices.mainMenuToggle;\r\n if (this.navServices.mainMenuToggle) {\r\n this.lastscroll = document.documentElement.scrollTop;\r\n $(\"body\").css({ overflow: \"hidden\" });\r\n $(\"body\").css({ position: \"fixed\" });\r\n } else {\r\n $(\"body\").css({ overflow: \"\" });\r\n $(\"body\").css({ position: \"\" });\r\n this.viewScroller.scrollToPosition([0, this.lastscroll]);\r\n }\r\n }\r\n // Click Toggle menu (Mobile)\r\n OpenColumnNavActive(item) {\r\n this.ActiveItem = item;\r\n this.ColumnMenuItems = [];\r\n\r\n item.Columns.forEach((element) => {\r\n element.Rows.forEach((row) => {\r\n if (row.FontStyle == \"Bold\" && row.IsActive) {\r\n this.ActiveItemRef = element.Ref;\r\n this.ColumnMenuItems.push(row);\r\n }\r\n });\r\n });\r\n \r\n this.isRowMenuOpen = false;\r\n this.isColumnMenuOpen = true;\r\n }\r\n OpenRowNavActive(item, name, ref) {\r\n this.RowMenuItems = [];\r\n this.ActiveItemName = name;\r\n item.Columns.forEach((element) => {\r\n if (element.Ref == ref) {\r\n element.Rows.forEach((row) => {\r\n if (row.FontStyle != \"Bold\" && row.IsActive)\r\n this.RowMenuItems.push(row);\r\n });\r\n }\r\n });\r\n\r\n this.isColumnMenuOpen = false;\r\n this.isRowMenuOpen = true;\r\n }\r\n\r\n backToMainMenu() {\r\n this.ActiveItemName = null;\r\n this.ActiveItemRef = null;\r\n this.isRowMenuOpen = false;\r\n this.isColumnMenuOpen = false;\r\n this.ColumnMenuItems = [];\r\n this.RowMenuItems = [];\r\n }\r\n backToColumnMenu() {\r\n this.isRowMenuOpen = false;\r\n this.isColumnMenuOpen = true;\r\n this.RowMenuItems = [];\r\n }\r\n\r\n LogOut() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.removeItem(\"tokenVIP\");\r\n localStorage.removeItem(\"wishlistItems\");\r\n localStorage.removeItem(\"cartItems\");\r\n }\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastr.success(translate[\"notification:exit\"]);\r\n this.router.navigate([\"/\"]);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
","import {\r\n Component, OnInit, PLATFORM_ID, Inject\r\n} from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-accept-cookies',\r\n templateUrl: './accept-cookies.component.html',\r\n styleUrls: ['./accept-cookies.component.scss']\r\n})\r\nexport class AcceptCookiesComponent implements OnInit {\r\n IsCookieAccept;\r\n\r\n constructor(@Inject(PLATFORM_ID) private platformId: Object) { }\r\n\r\n ngOnInit(): void {\r\n if (isPlatformBrowser(this.platformId)) {\r\n if (localStorage.getItem(\"accept-cookies\") == 'true') this.IsCookieAccept = true;\r\n }\r\n }\r\n CloseTheCookies(){\r\n this.IsCookieAccept = true;\r\n localStorage.setItem(\"accept-cookies\", 'true');\r\n }\r\n}","
\r\n {{'accept-cookies:accept-cookies-text' | translate}}\r\n \r\n {{'accept-cookies:accept-cookies-button' | translate}}\r\n \r\n
","\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy, ViewChild, TemplateRef, Input, AfterViewInit,\r\n Injectable, PLATFORM_ID, Inject } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { NgbModal, ModalDismissReasons, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ProductService } from \"../../../services/product.service\";\r\nimport { Product } from \"../../../classes/product\";\r\n\r\n@Component({\r\n selector: 'app-cart-modal',\r\n templateUrl: './cart-modal.component.html',\r\n styleUrls: ['./cart-modal.component.scss']\r\n})\r\nexport class CartModalComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n @Input() product: Product;\r\n @Input() currency : any;\r\n \r\n @ViewChild(\"cartModal\", { static: false }) CartModal: TemplateRef;\r\n\r\n public closeResult: string;\r\n public modalOpen: boolean = false;\r\n public products: any[] = [];\r\n\r\n constructor(@Inject(PLATFORM_ID) private platformId: Object,\r\n private modalService: NgbModal,\r\n private productService: ProductService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n async openModal(product) {\r\n await this.productService.getProducts.subscribe(response => this.products = response);\r\n this.products = await this.products.filter(items => items.category == product.category && items.id != product.id);\r\n const status = await this.productService.addToCart(product);\r\n if(status) {\r\n this.modalOpen = true;\r\n if (isPlatformBrowser(this.platformId)) { // For SSR \r\n this.modalService.open(this.CartModal, { \r\n size: 'lg',\r\n ariaLabelledBy: 'Cart-Modal',\r\n centered: true,\r\n windowClass: 'theme-modal cart-modal CartModal'\r\n }).result.then((result) => {\r\n `Result ${result}`\r\n }, (reason) => {\r\n this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n });\r\n }\r\n }\r\n }\r\n\r\n private getDismissReason(reason: any): string {\r\n if (reason === ModalDismissReasons.ESC) {\r\n return 'by pressing ESC';\r\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n return 'by clicking on a backdrop';\r\n } else {\r\n return `with: ${reason}`;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if(this.modalOpen){\r\n this.modalService.dismissAll();\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnInit, OnDestroy, Input } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ProductService } from \"../../../services/product.service\";\nimport { Product } from \"../../../classes/product\";\n\n@Component({\n selector: 'app-cart-variation',\n templateUrl: './cart-variation.component.html',\n styleUrls: ['./cart-variation.component.scss']\n})\nexport class CartVariationComponent implements OnInit, OnDestroy {\n\n @Input() direction: string = 'right'; // Default Direction Right\n\n public products: Product[] = [];\n\n constructor(public productService: ProductService) {\n this.productService.cartItems.subscribe(response => this.products = response);\n }\n\n ngOnInit(): void {\n this.productService.OpenCart = false;\n }\n\n closeCart() {\n this.productService.OpenCart = false;\n }\n\n get getTotal(): Observable {\n return this.productService.cartTotalAmount();\n }\n\n removeItem(product: any) {\n this.productService.removeCartItem(product);\n }\n\n ngOnDestroy(): void {\n this.closeCart();\n }\n\n}\n","
\n \n
\n
\n

my cart

\n
\n \n \n \n
\n
\n
\n \n
    \n
  • \n
    \n
    \n subtotal :\n {{ getTotal | async | currency:productService?.Currency.currency:'symbol' }}\n
    \n
    \n
  • \n
  • \n \n
  • \n
\n
\n
\n

\n Your Cart is Empty\n

\n continue shopping\n
\n
\n
","import {\r\n Component, OnInit, OnDestroy, ViewChild, TemplateRef, Input, AfterViewInit,\r\n Injectable, PLATFORM_ID, Inject\r\n} from '@angular/core';\r\nimport { DatePipe, isPlatformBrowser } from '@angular/common';\r\nimport { NgbModal, ModalDismissReasons } from '@ng-bootstrap/ng-bootstrap';\r\nimport { LocalizeRouterService } from '@gilsdav/ngx-translate-router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'app-newsletter',\r\n animations: [\r\n trigger('fadeInOut', [\r\n transition(':enter', [ // :enter is alias to 'void => *'\r\n style({ opacity: 0 }),\r\n animate(500, style({ opacity: 1 }))\r\n ]),\r\n transition(':leave', [ // :leave is alias to '* => void'\r\n animate(500, style({ opacity: 0 }))\r\n ])\r\n ])\r\n ],\r\n templateUrl: './newsletter.component.html',\r\n styleUrls: ['./newsletter.component.scss']\r\n})\r\nexport class NewsletterComponent implements OnInit, OnDestroy {\r\n\r\n @ViewChild(\"newsletter\", { static: false }) NewsLetterModal: TemplateRef;\r\n\r\n public closeResult: string;\r\n public modalOpen: boolean = false;\r\n language;\r\n PopUpModel: any = {};\r\n isLoadingPopup;\r\n isVideo;\r\n isVideo2;\r\n\r\n @Input() responsivethemeLogodark: string = 'assets/images/icon/mibebito_logo_black.png'; // Default Logo\r\n\r\n\r\n constructor(@Inject(PLATFORM_ID) private platformId: Object, private localize: LocalizeRouterService, private datePipe: DatePipe, private translate: TranslateService, private router: Router, private http: HttpClient,\r\n private modalService: NgbModal) { }\r\n\r\n ngOnInit(): void {\r\n this.language = this.translate.currentLang;\r\n this.isLoadingPopup = false;\r\n this.http.get(environment.url + 'PopUp/GetPopups').subscribe(data => {\r\n if (data.Data.length) {\r\n this.PopUpModel = data.Data.find(x => x.LangCode === this.translate.currentLang.toUpperCase());\r\n if(this.PopUpModel.PopupImage && this.PopUpModel.PopupImage.substring(this.PopUpModel.PopupImage.length - 3) == 'mp4') this.isVideo = true;\r\n if(this.PopUpModel.PopupLogo && this.PopUpModel.PopupLogo.substring(this.PopUpModel.PopupLogo.length - 3) == 'mp4') this.isVideo2 = true;\r\n if(localStorage.getItem(\"newsletter-counter\") != this.PopUpModel.PopupCounter){\r\n var now = new Date();\r\n localStorage.setItem(\"old-newsletter-date\", this.datePipe.transform(now, \"yyyy-MM-ddTHH:mm\"));\r\n localStorage.setItem(\"newsletter\", this.PopUpModel.PopupRefresh);\r\n localStorage.setItem(\"newsletter-counter\", this.PopUpModel.PopupCounter);\r\n this.isLoadingPopup = true;\r\n this.openModal();\r\n }\r\n else{\r\n if (this.PopUpModel && localStorage.getItem(\"old-newsletter-date\") && localStorage.getItem(\"newsletter-counter\")) {\r\n const olddate = new Date(localStorage.getItem(\"old-newsletter-date\"));\r\n var newdate = new Date(localStorage.getItem(\"old-newsletter-date\"));\r\n newdate.setHours(olddate.getHours() + Number(localStorage.getItem(\"newsletter\")));\r\n \r\n if (newdate < new Date()) {\r\n var now = new Date();\r\n localStorage.setItem(\"old-newsletter-date\", this.datePipe.transform(now, \"yyyy-MM-ddTHH:mm\"));\r\n localStorage.setItem(\"newsletter\", this.PopUpModel.PopupRefresh);\r\n localStorage.setItem(\"newsletter-counter\", this.PopUpModel.PopupCounter);\r\n this.isLoadingPopup = true;\r\n this.openModal();\r\n }\r\n }\r\n else {\r\n var now = new Date();\r\n localStorage.setItem(\"old-newsletter-date\", this.datePipe.transform(now, \"yyyy-MM-ddTHH:mm\"));\r\n localStorage.setItem(\"newsletter\", this.PopUpModel.PopupRefresh);\r\n localStorage.setItem(\"newsletter-counter\", this.PopUpModel.PopupCounter);\r\n this.isLoadingPopup = true;\r\n this.openModal();\r\n }\r\n }\r\n \r\n\r\n }\r\n\r\n\r\n\r\n });\r\n this.localize.routerEvents.subscribe((language: string) => {\r\n this.language = language;\r\n });\r\n }\r\n\r\n // ngAfterViewInit(): void {\r\n // if (isPlatformBrowser(this.platformId)) {\r\n // if (localStorage.getItem(\"newsletter\") != 'true') {\r\n // this.openModal();\r\n // localStorage.setItem(\"newsletter\", 'true');\r\n // }\r\n\r\n // }\r\n // }\r\n\r\n\r\n openModal() {\r\n if (isPlatformBrowser(this.platformId)) { // For SSR \r\n this.modalService.open(this.NewsLetterModal, {\r\n size: 'lg',\r\n ariaLabelledBy: 'NewsLetter-Modal',\r\n centered: true,\r\n windowClass: 'theme-modal newsletterm NewsLetterModal myCustomModalClass'\r\n }).result.then((result) => {\r\n this.modalOpen = true;\r\n `Result ${result}`\r\n }, (reason) => {\r\n this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n });\r\n }\r\n }\r\n\r\n private getDismissReason(reason: any): string {\r\n if (reason === ModalDismissReasons.ESC) {\r\n return 'by pressing ESC';\r\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n return 'by clicking on a backdrop';\r\n } else {\r\n return `with: ${reason}`;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.modalOpen) {\r\n this.modalService.dismissAll();\r\n }\r\n }\r\n\r\n gotoRegisterPage() {\r\n let translatedPath: any = this.localize.translateRoute('/register');\r\n this.router.navigate([translatedPath]);\r\n this.modalService.dismissAll();\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"\"\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{{'popup:popup-welcome' | translate}}

\r\n \"\"\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{'popup:popup-welcome' | translate}}

\r\n \"\"\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{{'popup:popup-welcome' | translate}}

\r\n \"\"\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n

{{'popup:popup-welcome' | translate}}

\r\n \"\"\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n {{'product:new-title' |\r\n translate}}\r\n
\r\n \r\n {{'product:product-sale-text' | translate}} \r\n 0?true : false\" >\r\n \"\"{{\r\n ((product?.OldSalesPrice /\r\n product?.CardStoreSalesPrice )*100) - 100 | number: '1.0-0' }}%\r\n\r\n
\r\n\r\n {{'product:no-stock'\r\n |\r\n translate}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{\r\n product?.Name | titlecase }}\r\n \r\n

${{ product?.OldSalesPrice >\r\n product?.CardStoreSalesPrice ? (product?.OldSalesPrice | currency: '\r\n ':'symbol':'.2-2':'it') : product?.CardStoreSalesPrice |\r\n discount:product |\r\n currency: ' ':'symbol':'.2-2':'it' }}

\r\n
\r\n \r\n product?.OldSalesPrice\">\r\n ${{ product?.CardStoreSalesPrice | currency: ' ':'symbol':'.2-2':'it'\r\n }}\r\n

\r\n ${{ product?.OldSalesPrice\r\n | currency: '\r\n ':'symbol':'.2-2':'it' }}\r\n ${{ product?.CardStoreSalesPrice | currency: ' ':'symbol':'.2-2':'it' }} (-{{\r\n ((product?.OldSalesPrice /\r\n product?.CardStoreSalesPrice )*100) - 100 | number: '1.0-0' }}%)\r\n

\r\n
\r\n \r\n {{'product:product-only-member' | translate}}\r\n \r\n
\r\n \r\n\r\n\r\n
\r\n\r\n
\r\n

\r\n {{'product:set-quantity-text' | translate }} {{product?.SetCount}}\r\n

\r\n
\r\n \r\n
    \r\n
  • \r\n {{size.SizeAmount}}\r\n
  • \r\n\r\n {{'product:size-weight-text'\r\n | translate }} : {{product?.SetWeight}} gr\r\n
\r\n
\r\n
\r\n {{'product:in-stock-text' |\r\n translate }}
\r\n
product.ProductVariant.Balance\">\r\n {{'product:out-of-stock-text'\r\n | translate }}
\r\n
\r\n {{'product:quantity-text' |\r\n translate }}\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {{'product:balance-text'\r\n | translate }} : {{product.ProductVariant.Balance}}\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{'product:details-text' | translate}}
\r\n \"\"\r\n \"\"\r\n
\r\n
\r\n
\r\n

- {{product?.Season}}

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

- {{product?.ArmType}}

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

- {{product?.CategoryName}}

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

- {{product?.ClosureType}}

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

- {{product?.CollarType}}

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

- {{product?.Fabric}}

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

- {{product?.FabricClass}}

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

- {{product?.FabricType}}

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

- {{product?.Gender}}

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

- {{product?.HoodDetail}}

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

- {{product?.Liner}}

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

- {{product?.MarkName}}

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

- {{product?.MetarialType}}

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

- {{product?.NeckDetail}}

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

- {{product?.Period}}

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

- {{product?.PocketDetail}}

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

- {{product?.TrotType}}

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

- {{product?.YarnType}}

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

- {{product?.WashInfo}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{'product:description-text' | translate}}\r\n
\r\n \"\"\r\n \"\"\r\n
\r\n
\r\n {{ product?.WEBDescription }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import {\r\n Component, OnInit, OnDestroy, ViewChild, TemplateRef, Input,\r\n PLATFORM_ID, Inject, Renderer2\r\n} from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { NgbModal, ModalDismissReasons } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Router } from '@angular/router';\r\nimport { ProductService } from '../../../../shared/services/product.service';\r\nimport { TokenService } from 'src/app/shared/services/token.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { environment } from 'src/environments/environment';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-quick-view',\r\n animations: [\r\n trigger('fadeInOut', [\r\n transition(':enter', [ // :enter is alias to 'void => *'\r\n style({ opacity: 0 }),\r\n animate(500, style({ opacity: 1 }))\r\n ]),\r\n transition(':leave', [ // :leave is alias to '* => void'\r\n animate(500, style({ opacity: 0 }))\r\n ])\r\n ]),\r\n trigger('slideIn', [\r\n state('*', style({ 'overflow-y': 'hidden' })),\r\n state('void', style({ 'overflow-y': 'hidden' })),\r\n transition('* => void', [\r\n style({ height: '*' }),\r\n animate(200, style({ height: 0 }))\r\n ]),\r\n transition('void => *', [\r\n style({ height: '0' }),\r\n animate(200, style({ height: '*' }))\r\n ])\r\n ])\r\n ],\r\n templateUrl: './quick-view.component.html',\r\n styleUrls: ['./quick-view.component.scss']\r\n})\r\nexport class QuickViewComponent implements OnInit, OnDestroy {\r\n\r\n @Input() Item: any;\r\n product: any = {};\r\n @Input() currency: any;\r\n public activeSlide: any = 0;\r\n products: any = [];\r\n descriptiontext;\r\n detailtext;\r\n @ViewChild(\"quickView\", { static: false }) QuickView: TemplateRef;\r\n\r\n public closeResult: string;\r\n public ImageSrc: string;\r\n public counter: number = 1;\r\n public modalOpen: boolean = false;\r\n MinPurchaseSetAmountForSoldOut;\r\n\r\n constructor(@Inject(PLATFORM_ID) private platformId: Object, private http: HttpClient, public tokenService: TokenService, private toastrService: ToastrService, private render: Renderer2,\r\n private translate: TranslateService,\r\n private router: Router, private modalService: NgbModal,\r\n public productService: ProductService) { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n openModal() {\r\n\r\n console.log(this.Item);\r\n this.modalOpen = true;\r\n this.http.get(environment.url + 'Products/GetProductByRef?Ref=' + this.Item.StockRef+'&variantRef='+this.Item.ProductVariant.VariantRef + '&LangCode=' + this.translate.currentLang).subscribe(data => {\r\n this.product = data;\r\n this.product.ProductVariant = this.Item.ProductVariant;\r\n this.product.ProductVariant.Images = this.product.ProductVariant.Images.filter(x => x.VariantRef === this.product.ProductVariant.VariantRef)\r\n\r\n if (isPlatformBrowser(this.platformId)) { // For SSR \r\n this.modalService.open(this.QuickView, {\r\n size: 'xl',\r\n ariaLabelledBy: 'modal-basic-title',\r\n centered: true,\r\n scrollable: true,\r\n windowClass: 'modal-holder'\r\n }).result.then((result) => {\r\n `Result ${result}`\r\n }, (reason) => {\r\n this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n });\r\n }\r\n this.http.get(environment.url + 'FirmMultipler/GetFirmMultipler').subscribe(data => {\r\n this.MinPurchaseSetAmountForSoldOut = data.MinPurchaseSetAmountForSoldOut;\r\n let cartItem = undefined;\r\n if (localStorage['cartItems']) {\r\n cartItem = JSON.parse(localStorage['cartItems']).find(item => item.ProductVariant.Barcode === this.product.ProductVariant.Barcode);\r\n }\r\n this.counter = this.product.ProductVariant.Balance == 0 && cartItem == undefined ? this.product.SetCount * this.MinPurchaseSetAmountForSoldOut : this.product.SetCount;\r\n });\r\n\r\n });\r\n }\r\n\r\n private getDismissReason(reason: any): string {\r\n if (reason === ModalDismissReasons.ESC) {\r\n return 'by pressing ESC';\r\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n return 'by clicking on a backdrop';\r\n } else {\r\n return `with: ${reason}`;\r\n }\r\n }\r\n\r\n // Get Product Color\r\n Color(variants) {\r\n const uniqColor = [];\r\n for (let i = 0; i < Object.keys(variants).length; i++) {\r\n if (uniqColor.indexOf(variants[i].ColorName) === -1 && variants[i].ColorName) {\r\n uniqColor.push(variants[i])\r\n }\r\n }\r\n return uniqColor\r\n }\r\n\r\n // Get Product Size\r\n Size(ItemSizes) {\r\n const uniqSize = [];\r\n for (let i = 0; i < Object.keys(ItemSizes).length; i++) {\r\n if (uniqSize.indexOf(ItemSizes[i]) === -1 && ItemSizes[i]) {\r\n uniqSize.push(ItemSizes[i])\r\n }\r\n }\r\n return uniqSize\r\n }\r\n\r\n OpenImage(ref) {\r\n this.ImageSrc = this.product.ProductVariant.Images.find(x => x.ImageRef == ref).ImageLocation;\r\n\r\n }\r\n // Change Variants\r\n ChangeVariants(color, product, event, id) {\r\n let item = product.StockVariants.find(x => x.ColorName == color);\r\n this.ImageSrc = item.Images[0].ImageLocation\r\n this.product.ProductVariant = item;\r\n let cartItem = undefined;\r\n if (localStorage['cartItems']) {\r\n cartItem = JSON.parse(localStorage['cartItems']).find(item => item.ProductVariant.Barcode === this.product.ProductVariant.Barcode);\r\n }\r\n this.counter = this.product.ProductVariant.Balance == 0 && cartItem == undefined ? this.product.SetCount * this.MinPurchaseSetAmountForSoldOut : this.product.SetCount;\r\n $('#color2-variant' + id + ' li').removeClass(\"color-variant-active\");\r\n this.render.addClass(event.target.parentElement, \"color-variant-active\");\r\n }\r\n\r\n OpenDescriptionText() {\r\n if (this.descriptiontext) this.descriptiontext = false;\r\n else this.descriptiontext = true;\r\n }\r\n OpenDetailText() {\r\n if (this.detailtext) this.detailtext = false;\r\n else this.detailtext = true;\r\n }\r\n\r\n // Increament\r\n increment(product: any = {}) {\r\n if (product.ProductVariant.Balance == 0) {\r\n this.counter = this.counter + product.SetCount;\r\n }\r\n else {\r\n if (product.ProductVariant.Balance < this.counter + product.SetCount) {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.error(translate['notification-error:product-add-more-item'] + product.ProductVariant.Balance);\r\n }\r\n else {\r\n this.counter = this.counter + product.SetCount;\r\n }\r\n }\r\n }\r\n\r\n // Decrement\r\n decrement(product: any = {}) {\r\n if (this.counter > 1) {\r\n if (this.counter > product.SetCount) {\r\n this.counter = this.counter - product.SetCount;\r\n }\r\n }\r\n }\r\n\r\n // Add to cart\r\n async addToCart(product: any = {}) {\r\n product.CartAmount = this.counter || 1;\r\n product.stock = product.ProductVariant.Balance;\r\n product.Code = product.ProductVariant.Barcode;\r\n const status = await this.productService.addToCart(product);\r\n this.counter = product.SetCount;\r\n if (status) {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.success(translate['notification:product-added-cart']);\r\n\r\n }\r\n }\r\n Wishlist() {\r\n if (this.tokenService.getUser()) {\r\n if (this.products.length <= 0) {\r\n this.products = this.productService.getwishlistItems;\r\n if (this.products.find(x => x.ProductVariant.Barcode === this.product.ProductVariant.Barcode)) {\r\n return true\r\n }\r\n else {\r\n return false\r\n }\r\n }\r\n else {\r\n if (this.products.find(x => x.ProductVariant.Barcode === this.product.ProductVariant.Barcode)) {\r\n return true\r\n }\r\n else {\r\n return false\r\n }\r\n }\r\n }\r\n else {\r\n return false\r\n }\r\n\r\n }\r\n addToWishlist(product: any) {\r\n product.CartAmount = this.product.SetCount;\r\n this.productService.addToWishlist(product);\r\n this.products = this.productService.getwishlistItems;\r\n }\r\n removeToWishlist(product: any) {\r\n this.productService.removeWishlistItem(product);\r\n this.products = this.productService.getwishlistItems;\r\n }\r\n ngOnDestroy() {\r\n if (this.modalOpen) {\r\n this.product = {};\r\n this.modalService.dismissAll();\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnInit, OnDestroy, ViewChild, TemplateRef, Input,\n Injectable, PLATFORM_ID, Inject } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { NgbModal, ModalDismissReasons } from '@ng-bootstrap/ng-bootstrap';\nimport { Product } from \"../../../classes/product\";\n\n@Component({\n selector: 'app-size-modal',\n templateUrl: './size-modal.component.html',\n styleUrls: ['./size-modal.component.scss']\n})\nexport class SizeModalComponent implements OnInit, OnDestroy {\n \n @Input() product: Product;\n\n @ViewChild(\"sizeChart\", { static: false }) SizeChart: TemplateRef;\n\n public closeResult: string;\n public modalOpen: boolean = false;\n\n constructor(@Inject(PLATFORM_ID) private platformId: Object,\n private modalService: NgbModal) { }\n\n ngOnInit(): void {\n }\n\n openModal() {\n this.modalOpen = true;\n if (isPlatformBrowser(this.platformId)) { // For SSR \n this.modalService.open(this.SizeChart, { \n size: 'md',\n ariaLabelledBy: 'size-modal',\n centered: true,\n windowClass: 'SizeChart' \n }).result.then((result) => {\n `Result ${result}`\n }, (reason) => {\n this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\n });\n }\n }\n\n private getDismissReason(reason: any): string {\n if (reason === ModalDismissReasons.ESC) {\n return 'by pressing ESC';\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\n return 'by clicking on a backdrop';\n } else {\n return `with: ${reason}`;\n }\n }\n\n ngOnDestroy() {\n if(this.modalOpen){\n this.modalService.dismissAll();\n }\n }\n\n}\n","\n\t
\n\t
\n\t
{{product?.title}}
\n\t \n\t
\n\t
\n\t \"\"\n\t
\n\t
\n
","import { Component, OnInit, OnDestroy, ViewChild, TemplateRef,\n Injectable, PLATFORM_ID, Inject } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { NgbModal, ModalDismissReasons } from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-video-modal',\n templateUrl: './video-modal.component.html',\n styleUrls: ['./video-modal.component.scss']\n})\nexport class VideoModalComponent implements OnInit, OnDestroy {\n \n @ViewChild(\"videoModal\", { static: false }) VideoModal: TemplateRef;\n\n public closeResult: string;\n public modalOpen: boolean = false;\n\n constructor(@Inject(PLATFORM_ID) private platformId: Object,\n private modalService: NgbModal) { }\n\n ngOnInit(): void {\n }\n\n openModal() {\n this.modalOpen = true;\n if (isPlatformBrowser(this.platformId)) { // For SSR \n this.modalService.open(this.VideoModal, { \n size: 'lg',\n ariaLabelledBy: 'Video-Modal',\n centered: true,\n windowClass: 'modal fade video-modal' \n }).result.then((result) => {\n `Result ${result}`\n }, (reason) => {\n this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\n });\n }\n }\n\n private getDismissReason(reason: any): string {\n if (reason === ModalDismissReasons.ESC) {\n return 'by pressing ESC';\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\n return 'by clicking on a backdrop';\n } else {\n return `with: ${reason}`;\n }\n }\n\n ngOnDestroy() {\n if(this.modalOpen){\n this.modalService.dismissAll();\n }\n }\n\n\n}\n","\n
\n
\n \n
\n
\n
\n","
\r\n
\r\n
\r\n {{'product:new-title' | translate}}\r\n \r\n
\r\n {{'product:product-sale-text'\r\n | translate}}\r\n \r\n \"\"{{ ((product?.OldSalesPrice /\r\n product?.CardStoreSalesPrice )*100) - 100 | number: '1.0-0' }}%\r\n
\r\n {{'product:no-stock' | translate}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n {{ size.SizeName | titlecase }}\r\n \r\n {{size.SizeAmount}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {{ size.SizeName | titlecase }}\r\n \r\n {{size.SizeAmount}}\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n {{ size.SizeName | titlecase }}\r\n \r\n {{size.SizeAmount}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
{{ product?.Name | titlecase }}
\r\n
\r\n

{{ product?.description }}

\r\n \r\n

${{ product?.OldSalesPrice > product?.CardStoreSalesPrice ?\r\n (product?.OldSalesPrice | currency: ' ':'symbol':'.2-2':'it') : product?.CardStoreSalesPrice | currency: '\r\n ':'symbol':'.2-2':'it' }}

\r\n
\r\n \r\n product?.OldSalesPrice\">\r\n ${{ product?.CardStoreSalesPrice | currency: ' ':'symbol':'.2-2':'it' }}\r\n \r\n ${{ product?.OldSalesPrice | currency: '\r\n ':'symbol':'.2-2':'it' }}\r\n ${{ product?.CardStoreSalesPrice | currency: ' ':'symbol':'.2-2':'it' }} (-{{ ((product?.OldSalesPrice /\r\n product?.CardStoreSalesPrice )*100) - 100 | number: '1.0-0' }}%)\r\n \r\n \r\n\r\n \r\n {{'product:product-only-member' | translate}}\r\n \r\n 1\" class=\"color-available\"\r\n [ngClass]=\"{'color-available-gridflex': !gridFlex}\">{{ product.StockVariants.length}}\r\n {{'product:product-colors-available' | translate}}\r\n {{\r\n product.StockVariants[0].ColorName}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{'product:new-title' | translate}}\r\n
\r\n {{'product:product-sale-text'\r\n | translate}}\r\n \r\n \"\"{{ ((product?.OldSalesPrice /\r\n product?.CardStoreSalesPrice )*100) - 100 | number: '1.0-0' }}%\r\n
\r\n {{'product:no-stock' | translate}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n {{ size.SizeName | titlecase }}\r\n \r\n {{size.SizeAmount}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {{ size.SizeName | titlecase }}\r\n \r\n {{size.SizeAmount}}\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n {{ size.SizeName | titlecase }}\r\n \r\n {{size.SizeAmount}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
{{ product?.Name | titlecase }}
\r\n
\r\n

{{ product?.description }}

\r\n \r\n

${{ product?.OldSalesPrice > product?.CardStoreSalesPrice ?\r\n (product?.OldSalesPrice | currency: ' ':'symbol':'.2-2':'it') : product?.CardStoreSalesPrice | currency: '\r\n ':'symbol':'.2-2':'it' }}

\r\n
\r\n \r\n product?.OldSalesPrice\">\r\n ${{ product?.CardStoreSalesPrice | currency: ' ':'symbol':'.2-2':'it' }}\r\n \r\n ${{ product?.OldSalesPrice | currency: '\r\n ':'symbol':'.2-2':'it' }}\r\n ${{ product?.CardStoreSalesPrice | currency: ' ':'symbol':'.2-2':'it' }} (-{{ ((product?.OldSalesPrice /\r\n product?.CardStoreSalesPrice )*100) - 100 | number: '1.0-0' }}%)\r\n \r\n \r\n\r\n \r\n {{'product:product-only-member' | translate}}\r\n \r\n 1\" class=\"color-available\"\r\n [ngClass]=\"{'color-available-gridflex': !gridFlex}\">{{ product.StockVariants.length}}\r\n {{'product:product-colors-available' | translate}}\r\n {{\r\n product.StockVariants[0].ColorName}}\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n ViewChild,\r\n Renderer2,\r\n HostListener,\r\n} from \"@angular/core\";\r\nimport { QuickViewComponent } from \"../../modal/quick-view/quick-view.component\";\r\nimport { CartModalComponent } from \"../../modal/cart-modal/cart-modal.component\";\r\nimport { Product } from \"../../../classes/product\";\r\nimport { ProductService } from \"../../../services/product.service\";\r\nimport { LangChangeEvent, TranslateService } from \"@ngx-translate/core\";\r\nimport { UserModel } from \"src/app/shared/models/user.model\";\r\nimport { TokenService } from \"src/app/shared/services/token.service\";\r\nimport { registerLocaleData } from \"@angular/common\";\r\nimport localeIt from \"@angular/common/locales/it\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { BreakpointObserver, BreakpointState } from \"@angular/cdk/layout\";\r\nregisterLocaleData(localeIt, \"it\");\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-product-box-one\",\r\n templateUrl: \"./product-box-one.component.html\",\r\n styleUrls: [\"./product-box-one.component.scss\"],\r\n})\r\nexport class ProductBoxOneComponent implements OnInit {\r\n user: UserModel;\r\n @Input() product: Product;\r\n @Input() gridFlex: boolean = true; // Default False\r\n @Input() currency: any = this.productService.Currency; // Default Currency\r\n @Input() thumbnail: boolean = false; // Default False\r\n @Input() onHowerChangeImage: boolean = false; // Default False\r\n @Input() cartModal: boolean = false; // Default False\r\n @Input() loader: boolean = false;\r\n @Input() collection: boolean = false;\r\n public selectedSize: any;\r\n isMobile: boolean = false;\r\n Variants: any = [];\r\n VariantCode;\r\n ProductVariantCode: any = {};\r\n Balance;\r\n @ViewChild(\"quickView\") QuickView: QuickViewComponent;\r\n @ViewChild(\"cartModal\") CartModal: CartModalComponent;\r\n\r\n public ImageSrc: string;\r\n public ImageSrc2: string;\r\n products: any = [];\r\n routerurl;\r\n\r\n constructor(\r\n private productService: ProductService,\r\n private toastrService: ToastrService,\r\n private toastr: ToastrService,\r\n public tokenService: TokenService,\r\n private render: Renderer2,\r\n private breakpointObserver: BreakpointObserver,\r\n private translate: TranslateService\r\n ) {\r\n this.breakpointObserver\r\n .observe([\"(max-width: 768px)\"])\r\n .subscribe((result: BreakpointState) => {\r\n if (result.matches) {\r\n this.isMobile = true;\r\n } else {\r\n this.isMobile = false;\r\n }\r\n });\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.VariantCode = this.product.StockVariants.length\r\n ? this.product.StockVariants[0].VariantCode\r\n : \"\";\r\n this.ProductVariantCode = this.product.StockVariants.length\r\n ? this.product.StockVariants[0]\r\n : \"\";\r\n this.product.ProductVariant = this.ProductVariantCode;\r\n if (this.collection) {\r\n this.routerurl = \"..\";\r\n } else {\r\n this.routerurl = \"\";\r\n }\r\n if (this.loader) {\r\n setTimeout(() => {\r\n this.loader = false;\r\n }, 50); // Skeleton Loader\r\n }\r\n\r\n }\r\n\r\n // Windows width\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n onResize(event?) {\r\n if ($(\"#cart-info\").width() >= 200) this.gridFlex = true;\r\n else this.gridFlex = false;\r\n }\r\n\r\n Wishlist() {\r\n if (this.tokenService.getUser()) {\r\n if (this.products.length <= 0) {\r\n this.products = this.productService.getwishlistItems;\r\n if (\r\n this.products.find(\r\n (x) => x.ProductVariant.Barcode === this.ProductVariantCode.Barcode\r\n )\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n if (\r\n this.products.find(\r\n (x) => x.ProductVariant.Barcode === this.ProductVariantCode.Barcode\r\n )\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n // Get Product Color\r\n Color(variants) {\r\n const uniqColor = [];\r\n for (let i = 0; i < Object.keys(variants).length; i++) {\r\n if (\r\n uniqColor.indexOf(variants[i].VariantCode) === -1 &&\r\n variants[i].VariantCode\r\n ) {\r\n uniqColor.push(variants[i]);\r\n }\r\n }\r\n return uniqColor;\r\n }\r\n // Change Variants\r\n ChangeVariants(color, product, event, id) {\r\n product.StockVariants.find((item) => {\r\n if (item.ColorName === color) {\r\n this.ImageSrc = item.Images[0].ImageLocation;\r\n this.ImageSrc2 = item.Images[1].ImageLocation;\r\n this.ProductVariantCode = item;\r\n this.product.ProductVariant = item;\r\n this.VariantCode = item.VariantCode;\r\n }\r\n });\r\n $(\"#color-variant\" + id + \" li\").removeClass(\"color-variant-active\");\r\n this.render.addClass(event.target.parentElement, \"color-variant-active\");\r\n }\r\n // Change Variants Image\r\n ChangeVariantsImage(src) {\r\n this.ImageSrc = src;\r\n }\r\n async addToCart(product: any) {\r\n product.ProductVariant = this.ProductVariantCode;\r\n product.CartAmount = this.product.SetCount;\r\n product.IsSoldOutPage = true;\r\n const status = await this.productService.addToCart(product);\r\n if (status) {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.success(translate[\"notification:product-added-cart\"]);\r\n }\r\n }\r\n Size(ItemSizes) {\r\n const uniqSize = [];\r\n for (let i = 0; i < Object.keys(ItemSizes).length; i++) {\r\n if (uniqSize.indexOf(ItemSizes[i]) === -1 && ItemSizes[i]) {\r\n uniqSize.push(ItemSizes[i]);\r\n }\r\n }\r\n return uniqSize;\r\n }\r\n addToWishlist(product: any) {\r\n product.ProductVariant = this.ProductVariantCode;\r\n product.CartAmount = this.product.SetCount;\r\n this.productService.addToWishlist(product);\r\n this.products = this.productService.getwishlistItems;\r\n }\r\n removeToWishlist(product: any) {\r\n product.ProductVariant = this.ProductVariantCode;\r\n this.productService.removeWishlistItem(product);\r\n this.products = this.productService.getwishlistItems;\r\n }\r\n addToCompare(product: any) {\r\n this.productService.addToCompare(product);\r\n }\r\n}\r\n","import { Component, OnInit, Input } from \"@angular/core\";\nimport { NewProductSlider } from \"../../../data/slider\";\nimport { Product } from \"../../../classes/product\";\nimport { ProductService } from \"../../../services/product.service\";\nimport { LangChangeEvent, TranslateService } from \"@ngx-translate/core\";\nimport { TokenService } from \"src/app/shared/services/token.service\";\nimport { registerLocaleData } from \"@angular/common\";\nimport localeIt from \"@angular/common/locales/it\";\nregisterLocaleData(localeIt, \"it\");\n\n@Component({\n selector: \"app-product-box-vertical-slider\",\n templateUrl: \"./product-box-vertical-slider.component.html\",\n styleUrls: [\"./product-box-vertical-slider.component.scss\"],\n})\nexport class ProductBoxVerticalSliderComponent implements OnInit {\n @Input() title: string = \"New Product\"; // Default\n @Input() type: string = \"fashion\"; // Default Fashion\n @Input() collection: boolean = false;\n routerurl;\n\n @Input() products: Product[] = [];\n\n public NewProductSliderConfig: any = NewProductSlider;\n\n constructor(\n public productService: ProductService,\n private translate: TranslateService,\n public tokenService: TokenService\n ) {\n // console.log(this.products);\n }\n\n ngOnInit(): void {\n if (this.collection) {\n this.routerurl = \"..\";\n } else {\n this.routerurl = \"\";\n }\n }\n}\n","\n
\n
{{ title }}
\n \n \n \n
\n
\n \n \n \n
\n \n
{{ product.Name | titlecase }}
\n \n

${{ product?.OldSalesPrice > product?.CardStoreSalesPrice ? (product?.OldSalesPrice | currency: ' ':'symbol':'.2-2':'it') : product?.CardStoreSalesPrice | currency: ' ':'symbol':'.2-2':'it' }}

\n
\n \n product?.OldSalesPrice\">\n ${{ product?.CardStoreSalesPrice | currency: ' ':'symbol':'.2-2':'it' }}\n \n ${{ product?.OldSalesPrice | currency: '\n ':'symbol':'.2-2':'it' }}\n ${{ product?.CardStoreSalesPrice | currency: ' ':'symbol':'.2-2':'it' }} (-{{ ((product?.OldSalesPrice /\n product?.CardStoreSalesPrice )*100) - 100 | number: '1.0-0' }}%)\n \n \n \n {{'product:product-only-member' | translate}}\n \n
\n
\n
\n
\n \n
\n
\n \n \"\"\n \n
\n \n
{{ product.Name | titlecase }}
\n \n

${{ product?.CardStoreSalesPrice | currency: ' ':'symbol':'.2-2':'it' }}

\n
\n \n product?.OldSalesPrice\">\n ${{ product?.CardStoreSalesPrice | currency: ' ':'symbol':'.2-2':'it' }}\n \n ${{ product?.OldSalesPrice | currency: '\n ':'symbol':'.2-2':'it' }}\n ${{ product?.CardStoreSalesPrice | currency: ' ':'symbol':'.2-2':'it' }} (-{{ ((product?.OldSalesPrice /\n product?.CardStoreSalesPrice )*100) - 100 | number: '1.0-0' }}%)\n \n \n \n {{'product:product-only-member' | translate}}\n \n
\n
\n
\n
\n
\n
\n
\n\n","import {\r\n Component,\r\n OnInit,\r\n PLATFORM_ID,\r\n Inject,\r\n Input,\r\n ChangeDetectorRef,\r\n EventEmitter,\r\n Output,\r\n HostListener,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport { isPlatformBrowser } from \"@angular/common\";\r\nimport { Observable } from \"rxjs\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ProductService } from \"../../services/product.service\";\r\nimport { Product } from \"../../classes/product\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { TokenService } from \"../../services/token.service\";\r\nimport { UserModel } from \"../../models/user.model\";\r\nimport { NavigationEnd, NavigationExtras, Router } from \"@angular/router\";\r\nimport { LocalizeRouterService } from \"@gilsdav/ngx-translate-router\";\r\nimport { map } from \"rxjs/operators\";\r\nimport {\r\n animate,\r\n state,\r\n style,\r\n transition,\r\n trigger,\r\n} from \"@angular/animations\";\r\n\r\n@Component({\r\n selector: \"app-settings\",\r\n animations: [\r\n trigger(\"slideIn\", [\r\n state(\"*\", style({ \"overflow-y\": \"hidden\" })),\r\n state(\"void\", style({ \"overflow-y\": \"hidden\" })),\r\n transition(\"* => void\", [\r\n style({ height: \"*\" }),\r\n animate(300, style({ height: 0 })),\r\n ]),\r\n transition(\"void => *\", [\r\n style({ height: \"0\" }),\r\n animate(300, style({ height: \"*\" })),\r\n ]),\r\n ]),\r\n ],\r\n templateUrl: \"./settings.component.html\",\r\n styleUrls: [\"./settings.component.scss\"],\r\n})\r\nexport class SettingsComponent implements OnInit {\r\n user: UserModel;\r\n LoginModel: any = {};\r\n public products: Product[] = [];\r\n public wishlist: Product[] = [];\r\n currentLanguage: any = {};\r\n currentLangLink;\r\n routerurl;\r\n Wish;\r\n Cart;\r\n IsSearching;\r\n @Output() myevent: EventEmitter = new EventEmitter();\r\n\r\n public isSmallScreen = window.innerWidth < 768;\r\n\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n onWindowResize(event?) {\r\n this.isSmallScreen = window.innerWidth < 768;\r\n }\r\n\r\n logoLeftPosition: string = \"50%\";\r\n\r\n setLogoPosition() {\r\n try {\r\n const logoElement =\r\n this.elementRef.nativeElement.querySelector(\".absolute-logo\");\r\n const screenWidth = window.innerWidth;\r\n const logoWidth = logoElement.offsetWidth;\r\n this.logoLeftPosition = `${(screenWidth - logoWidth) / 2}px`;\r\n } catch (error) {}\r\n }\r\n\r\n SearchModel: any = {};\r\n Searching;\r\n IsLoadingSearch;\r\n SearchProducts: any = [];\r\n First;\r\n timer;\r\n time = 500;\r\n\r\n isLoginLoading = false;\r\n isSearchPage = false;\r\n @Input() themeLogo: string = \"assets/images/icon/mibebito_logo_black.png\"; // Default Logo\r\n @Input() sticky: boolean;\r\n @Input() home: boolean;\r\n\r\n public languages = [\r\n {\r\n name: \"English\",\r\n code: \"en\",\r\n flag: \"gb\",\r\n },\r\n {\r\n name: \"Türkçe\",\r\n code: \"tr\",\r\n flag: \"tr\",\r\n },\r\n {\r\n name: \"Russian\",\r\n code: \"ru\",\r\n flag: \"ru\",\r\n },\r\n ];\r\n\r\n public currencies = [\r\n {\r\n name: \"Euro\",\r\n currency: \"EUR\",\r\n price: 0.9, // price of euro\r\n },\r\n {\r\n name: \"Rupees\",\r\n currency: \"INR\",\r\n price: 70.93, // price of inr\r\n },\r\n {\r\n name: \"Pound\",\r\n currency: \"GBP\",\r\n price: 0.78, // price of euro\r\n },\r\n {\r\n name: \"Dollar\",\r\n currency: \"USD\",\r\n price: 1, // price of usd\r\n },\r\n ];\r\n @HostListener(\"document:keydown.escape\", [\"$event\"]) onKeydownHandler(\r\n event: KeyboardEvent\r\n ) {\r\n this.IsSearching = false;\r\n this.SearchModel.SearchText = null;\r\n this.SearchProducts = [];\r\n this.myevent.emit({ IsSearching: false });\r\n this.Searching = false;\r\n }\r\n constructor(\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n private elementRef: ElementRef,\r\n private tokenService: TokenService,\r\n private translate: TranslateService,\r\n private router: Router,\r\n private http: HttpClient,\r\n private toastr: ToastrService,\r\n private cdref: ChangeDetectorRef,\r\n public productService: ProductService,\r\n private localize: LocalizeRouterService\r\n ) {\r\n let translatedPath: any = this.localize.translateRoute(\"/search\");\r\n if (this.router.url.split(\"?\")[0] == translatedPath) {\r\n this.isSearchPage = true;\r\n } else {\r\n this.isSearchPage = false;\r\n }\r\n\r\n if (this.tokenService.getUser()) {\r\n this.productService.cartItems.subscribe(\r\n (response) => (this.products = response)\r\n );\r\n this.productService.wishlistItems.subscribe(\r\n (response) => (this.wishlist = response)\r\n );\r\n }\r\n\r\n router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.SearchProducts = [];\r\n this.IsSearching = false;\r\n this.SearchModel.SearchText = null;\r\n this.Searching = false;\r\n this.myevent.emit({ IsSearching: false });\r\n let translatedPath: any = this.localize.translateRoute(\"/search\");\r\n if (this.router.url.split(\"?\")[0] == translatedPath) {\r\n this.isSearchPage = true;\r\n } else {\r\n this.isSearchPage = false;\r\n }\r\n\r\n this.user = this.tokenService.getUser();\r\n if (this.tokenService.getUser()) {\r\n this.productService.cartItems.subscribe(\r\n (response) => (this.products = response)\r\n );\r\n this.productService.wishlistItems.subscribe(\r\n (response) => (this.wishlist = response)\r\n );\r\n }\r\n if (this.localize.parser.currentLang) {\r\n this.currentLanguage = this.languages.find(\r\n (x) => x.code === this.localize.parser.currentLang\r\n );\r\n } else {\r\n this.currentLanguage = this.languages.find((x) => x.code === \"en\");\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.routerurl = \"/\";\r\n\r\n this.user = this.tokenService.getUser();\r\n if (this.localize.parser.currentLang) {\r\n this.currentLanguage = this.languages.find(\r\n (x) => x.code === this.localize.parser.currentLang\r\n );\r\n } else {\r\n this.currentLanguage = this.languages.find((x) => x.code === \"en\");\r\n }\r\n this.setLogoPosition();\r\n }\r\n ngAfterContentChecked() {\r\n this.cdref.detectChanges();\r\n }\r\n\r\n public switchLang(code) {\r\n this.localize.changeLanguage(code);\r\n this.currentLanguage = this.languages.find((x) => x.code === code);\r\n }\r\n public get getAmount(): Observable {\r\n return this.productService.cartItemsAmount();\r\n }\r\n get getTotal(): Observable {\r\n return this.productService.cartTotalAmount();\r\n }\r\n\r\n Login() {\r\n this.isLoginLoading = true;\r\n const body = {\r\n Email: this.LoginModel.mail,\r\n Password: this.LoginModel.password,\r\n };\r\n this.http.post(environment.url + \"Login/Authenticate\", body).subscribe(\r\n (data) => {\r\n if (data) {\r\n this.isLoginLoading = false;\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.setItem(\"tokenVIP\", data);\r\n }\r\n this.user = this.tokenService.getUser();\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.removeItem(\"wishlistItems\");\r\n }\r\n\r\n this.wishlist = [];\r\n this.Wish = this.http\r\n .get(\r\n environment.url +\r\n \"Wish/GetWishList?LangCode=\" +\r\n this.translate.currentLang\r\n )\r\n .pipe(map((data) => data));\r\n this.Wish.subscribe((next) => {\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage[\"wishlistItems\"] = JSON.stringify(next);\r\n }\r\n this.productService.wishlistItems.subscribe(\r\n (response) => (this.wishlist = response)\r\n );\r\n });\r\n\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.removeItem(\"cartItems\");\r\n }\r\n this.products = [];\r\n this.Cart = this.http\r\n .get(\r\n environment.url +\r\n \"Cart/GetCartList?LangCode=\" +\r\n this.translate.currentLang\r\n )\r\n .pipe(map((data) => data));\r\n this.Cart.subscribe((next) => {\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage[\"cartItems\"] = JSON.stringify(next);\r\n }\r\n this.productService.cartItems.subscribe(\r\n (response) => (this.products = response)\r\n );\r\n });\r\n window.location.reload();\r\n\r\n let translate =\r\n this.translate.translations[this.translate.currentLang];\r\n this.toastr.success(translate[\"notification:login\"]);\r\n let translatedPath: any = this.localize.translateRoute(\"/\");\r\n this.router.navigate([translatedPath]);\r\n }\r\n },\r\n (error) => {\r\n this.isLoginLoading = false;\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastr.error(\r\n translate[\"notification-error:username-password-incorrect\"]\r\n );\r\n }\r\n );\r\n }\r\n LogOut() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.removeItem(\"tokenVIP\");\r\n localStorage.removeItem(\"tokenVIP\");\r\n localStorage.removeItem(\"wishlistItems\");\r\n localStorage.removeItem(\"cartItems\");\r\n }\r\n this.wishlist = [];\r\n this.products = [];\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastr.success(translate[\"notification:exit\"]);\r\n let translatedPath: any = this.localize.translateRoute(\"/\");\r\n this.router.navigate([translatedPath]);\r\n this.user = this.tokenService.getUser();\r\n }\r\n\r\n gotoSearch() {\r\n const navigatioExtra: NavigationExtras = {\r\n queryParams: { q: this.SearchModel.SearchText },\r\n };\r\n let translatedPath: any = this.localize.translateRoute(\"/search\");\r\n this.router.navigate([translatedPath], navigatioExtra);\r\n }\r\n ClearSearch() {\r\n this.SearchProducts = [];\r\n this.SearchModel.SearchText = null;\r\n this.Searching = false;\r\n }\r\n searchBar() {\r\n if (this.SearchModel.SearchText.length >= 3) {\r\n clearTimeout(this.timer);\r\n this.timer = setTimeout(() => {\r\n this.Searching = true;\r\n this.IsLoadingSearch = true;\r\n this.http\r\n .get(\r\n environment.url +\r\n \"Products/Search?searchKeys=\" +\r\n this.SearchModel.SearchText +\r\n \"&langCode=\" +\r\n this.translate.currentLang\r\n )\r\n .subscribe((data) => {\r\n this.SearchProducts = data;\r\n this.IsLoadingSearch = false;\r\n });\r\n }, this.time);\r\n } else {\r\n this.Searching = false;\r\n }\r\n }\r\n CloseTheSearch() {\r\n this.IsSearching = false;\r\n this.myevent.emit({ IsSearching: false });\r\n }\r\n OpenSearchModal() {\r\n if (!this.isSearchPage) {\r\n if (this.IsSearching) {\r\n this.IsSearching = false;\r\n this.myevent.emit({ IsSearching: false });\r\n } else {\r\n this.IsSearching = true;\r\n this.myevent.emit({ IsSearching: true });\r\n }\r\n } else {\r\n this.IsSearching = false;\r\n }\r\n }\r\n\r\n removeItem(product: any) {\r\n this.productService.removeCartItem(product);\r\n }\r\n removeWishlistItem(product: any) {\r\n this.productService.removeWishlistItem(product);\r\n }\r\n\r\n changeCurrency(currency: any) {\r\n this.productService.Currency = currency;\r\n }\r\n}\r\n","
\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n {{ \"search:search-clear-text\" | translate }}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n\r\n \r\n {{ item.Name }}\r\n {{ item.FirmModelCode }} - {{ item.VariantCode }}\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
\r\n\r\n \r\n \r\n

{{ \"search:search-sorry-search-title\" | translate }}

\r\n

{{ \"search:search-sorry-search-text\" | translate }}

\r\n {{\r\n \"search:search-continue-shopping\" | translate\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n\r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-skeleton-product-box',\n templateUrl: './skeleton-product-box.component.html',\n styleUrls: ['./skeleton-product-box.component.scss']\n})\nexport class SkeletonProductBoxComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n \n
\n
\n

\n \n \n

\n
\n \n \n
\n
\n \n \n
\n
\n
","import { Component, OnInit, HostListener } from '@angular/core';\nimport { ViewportScroller } from '@angular/common';\n\n@Component({\n selector: 'app-tap-to-top',\n templateUrl: './tap-to-top.component.html',\n styleUrls: ['./tap-to-top.component.scss']\n})\nexport class TapToTopComponent implements OnInit {\n \n public show: boolean = false;\n\n constructor(private viewScroller: ViewportScroller) { }\n\n ngOnInit(): void {\n }\n\n // @HostListener Decorator\n @HostListener(\"window:scroll\", [])\n onWindowScroll() {\n let number = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n \tif (number > 600) { \n \t this.show = true;\n \t} else {\n \t this.show = false;\n \t}\n }\n\n tapToTop() {\n \tthis.viewScroller.scrollToPosition([0, 0]);\n }\n\n}\n","\n
\n
\n \n
\n
\n","// Home Slider\r\nexport let HomeSlider: any = {\r\n loop: true,\r\n smartSpeed: 1000,\r\n navContainerClass: 'owl-nav',\r\n nav: true,\r\n dots: false,\r\n video: true,\r\n mouseDrag: false,\r\n touchDrag: true,\r\n autoplay: false,\r\n autoplayTimeout: 7000,\r\n navClass: ['owl-prev', 'owl-next'],\r\n navText: ['', ''],\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 1\r\n },\r\n 740: {\r\n items: 1\r\n },\r\n 940: {\r\n items: 1\r\n }\r\n },\r\n};\r\n\r\n// Insta Slider\r\nexport let InstaSlider: any = {\r\n nav: true,\r\n navSpeed: 700,\r\n navContainerClass: 'owl-nav',\r\n autoplay: false,\r\n mouseDrag: false,\r\n touchDrag: true,\r\n dots: false,\r\n loop: true,\r\n navClass: ['owl-prev', 'owl-next'],\r\n navText: ['', ''],\r\n width: 400,\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 2\r\n },\r\n 740: {\r\n items: 4.3\r\n },\r\n 940: {\r\n items: 6\r\n }\r\n }\r\n};\r\n\r\n\r\n// Blog Slider\r\nexport let BlogSlider: any = {\r\n loop: false,\r\n dots: false,\r\n mouseDrag: false,\r\n touchDrag: true,\r\n pullDrag: false,\r\n navSpeed: 700,\r\n width: 450,\r\n margin: 20,\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 2\r\n },\r\n 740: {\r\n items: 4.3\r\n },\r\n 940: {\r\n items: 4.3\r\n }\r\n }\r\n};\r\n\r\n\r\n\r\n// Logo Slider\r\nexport let LogoSlider: any = {\r\n loop: true,\r\n dots: false,\r\n navSpeed: 300,\r\n responsive: {\r\n 767: {\r\n items: 5\r\n },\r\n 576: {\r\n items: 4\r\n },\r\n 480: {\r\n items: 3\r\n },\r\n 0: {\r\n items: 2\r\n }\r\n }\r\n};\r\n\r\n// Collection Slider\r\nexport let CollectionSlider: any = {\r\n loop: false,\r\n dots: false,\r\n navSpeed: 300,\r\n responsive: {\r\n 991: {\r\n items: 5\r\n },\r\n 767: {\r\n items: 3\r\n },\r\n 586: {\r\n items: 2\r\n },\r\n 0: {\r\n items: 1\r\n }\r\n }\r\n};\r\n\r\n// Category Slider\r\nexport let CategorySlider: any = {\r\n loop: true,\r\n dots: false,\r\n navSpeed: 300,\r\n responsive: {\r\n 1024: {\r\n items: 6\r\n },\r\n 767: {\r\n items: 5\r\n },\r\n 576: {\r\n items: 5\r\n },\r\n 480: {\r\n items: 3\r\n },\r\n 0: {\r\n items: 2\r\n }\r\n }\r\n};\r\n\r\n// Testimonial Slider\r\nexport let TestimonialSlider: any = {\r\n loop: true,\r\n dots: false,\r\n navSpeed: 300,\r\n responsive: {\r\n 991: {\r\n items: 2\r\n },\r\n 0: {\r\n items: 1\r\n }\r\n }\r\n}\r\n\r\n// Team Slider\r\nexport let TeamSlider: any = {\r\n loop: true,\r\n dots: false,\r\n navSpeed: 300,\r\n responsive: {\r\n 991: {\r\n items: 4\r\n },\r\n 767: {\r\n items: 3\r\n },\r\n 586: {\r\n items: 2\r\n },\r\n 0: {\r\n items: 2\r\n }\r\n }\r\n}\r\n\r\n// Compare Slider\r\nexport let CompareSlider: any = {\r\n loop: true,\r\n dots: false,\r\n navSpeed: 300,\r\n responsive: {\r\n 991: {\r\n items: 4\r\n },\r\n 767: {\r\n items: 3\r\n },\r\n 586: {\r\n items: 2\r\n },\r\n 0: {\r\n items: 1\r\n }\r\n }\r\n}\r\n\r\n// Product Slider\r\nexport let ProductSlider: any = {\r\n loop: false,\r\n dots: false,\r\n navSpeed: 300,\r\n responsive: {\r\n 991: {\r\n items: 4\r\n },\r\n 767: {\r\n items: 3\r\n },\r\n 420: {\r\n items: 2\r\n },\r\n 0: {\r\n items: 1\r\n }\r\n }\r\n}\r\n\r\n// Product Slider\r\nexport let ProductOneSlider: any = {\r\n items: 1,\r\n loop: true,\r\n dots: false,\r\n navSpeed: 300\r\n}\r\n\r\n// New Product Slider\r\nexport let NewProductSlider: any = {\r\n items: 1,\r\n loop: true,\r\n nav: true,\r\n dots: false,\r\n navContainerClass: 'owl-nav',\r\n navClass: ['owl-prev', 'owl-next'],\r\n navText: ['', ''],\r\n}\r\n\r\n// Product Details Main Slider\r\nexport let ProductDetailsMainSlider: any = {\r\n items: 1.2,\r\n nav: false,\r\n dots: false,\r\n autoplay: false,\r\n slideSpeed: 300,\r\n loop: true,\r\n margin: 9,\r\n}\r\n\r\n// Product Details Thumb Slider\r\nexport let ProductDetailsThumbSlider: any = {\r\n items: 3,\r\n loop: true,\r\n margin: 10,\r\n dots: false\r\n}\r\n\r\nexport let ProductDetailsThumbSlider2: any = {\r\n nav: true,\r\n navSpeed: 700,\r\n navContainerClass: 'owl-nav',\r\n autoplay: false,\r\n autoWidth: true,\r\n mouseDrag: false,\r\n dots: false,\r\n navClass: ['owl-prev', 'owl-next'],\r\n navText: ['', ''],\r\n items: 4\r\n\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { LocalizeRouterService } from '@gilsdav/ngx-translate-router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-footer-one',\r\n templateUrl: './footer-one.component.html',\r\n styleUrls: ['./footer-one.component.scss']\r\n})\r\nexport class FooterOneComponent implements OnInit {\r\n\r\n @Input() class: string = 'footer-light' // Default class \r\n\r\n public languages = [{\r\n name: 'English',\r\n code: 'en',\r\n flag: 'gb'\r\n }, {\r\n name: 'Türkçe',\r\n code: 'tr',\r\n flag: 'tr'\r\n }, {\r\n name: 'Russian',\r\n code: 'ru',\r\n flag: 'ru'\r\n }];\r\n public today: number = Date.now();\r\n\r\n MenuList: Array = [];\r\n FooterMenu;\r\n LoginModel: any = {};\r\n MenuListByLanguage: Array = [];\r\n policies;\r\n\r\n constructor(private http: HttpClient,\r\n private translate: TranslateService, private localize: LocalizeRouterService) {\r\n this.http.get(environment.url + 'Menu/GetFooterMenuByLang?langCode=' + this.translate.currentLang).subscribe(data => {\r\n this.FooterMenu = data.Data[0];\r\n this.MenuList = data.Data[0].Columns;\r\n });\r\n this.localize.routerEvents.subscribe((language: string) => {\r\n this.http.get(environment.url + 'Menu/GetFooterMenuByLang?langCode=' + this.translate.currentLang).subscribe(data => {\r\n this.FooterMenu = data.Data[0];\r\n this.MenuList = data.Data[0].Columns;\r\n });\r\n this.GetPolicies();\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.GetPolicies();\r\n\r\n }\r\n public switchLang(code) {\r\n this.localize.changeLanguage(code);\r\n }\r\n Newsteller(){}\r\n GetPolicies() {\r\n this.http.get(environment.url + 'Policies/GetPoliciesPages?&LanguageCode=' + this.translate.currentLang).subscribe(data => {\r\n this.policies = data.Data;\r\n });\r\n }\r\n}\r\n","\r\n\r\n","import {\n Component,\n OnInit,\n Input,\n HostListener,\n PLATFORM_ID,\n Inject,\n} from \"@angular/core\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { Observable } from \"rxjs\";\nimport { Product } from \"../../classes/product\";\nimport { ProductService } from \"../../services/product.service\";\nimport { LocalizeRouterService } from \"@gilsdav/ngx-translate-router\";\nimport { NavigationExtras, Router } from \"@angular/router\";\nimport { environment } from \"src/environments/environment\";\nimport { HttpClient } from \"@angular/common/http\";\n\n@Component({\n selector: \"app-header-two\",\n templateUrl: \"./header-two.component.html\",\n styleUrls: [\"./header-two.component.scss\"],\n})\nexport class HeaderTwoComponent implements OnInit {\n public products: Product[] = [];\n isMobile: boolean = false;\n constructor(\n @Inject(PLATFORM_ID) private platformId: Object,\n private translate: TranslateService,\n public productService: ProductService,\n private localize: LocalizeRouterService,\n private router: Router,\n private http: HttpClient\n ) {\n let translatedPath: any = this.localize.translateRoute(\"/search\");\n if (this.router.url.split(\"?\")[0] == translatedPath) {\n this.isSearchPage = true;\n } else {\n this.isSearchPage = false;\n }\n }\n\n ngOnInit(): void {\n this.updateScreenVariable();\n }\n\n updateScreenVariable() {\n this.isSmallScreen = window.innerWidth < 768;\n\n this.isMobile = window.innerWidth < 1200;\n }\n\n timer;\n time = 500;\n\n public isSmallScreen = window.innerWidth < 768;\n\n @HostListener(\"window:resize\", [\"$event\"])\n onWindowResize(event?) {\n this.updateScreenVariable();\n }\n\n SearchModel: any = {};\n Searching;\n IsLoadingSearch;\n SearchProducts: any = [];\n isSearchPage = false;\n\n OpenSearchModal() {\n if (!this.isSearchPage) {\n if (this.IsSearching) {\n this.IsSearching = false;\n this.click({ IsSearching: false });\n } else {\n this.IsSearching = true;\n this.click({ IsSearching: true });\n }\n } else {\n this.IsSearching = false;\n }\n }\n\n gotoSearch() {\n const navigatioExtra: NavigationExtras = {\n queryParams: { q: this.SearchModel.SearchText },\n };\n let translatedPath: any = this.localize.translateRoute(\"/search\");\n this.router.navigate([translatedPath], navigatioExtra);\n }\n ClearSearch() {\n this.SearchProducts = [];\n this.SearchModel.SearchText = null;\n this.Searching = false;\n }\n searchBar() {\n if (this.SearchModel.SearchText.length >= 3) {\n clearTimeout(this.timer);\n this.timer = setTimeout(() => {\n this.Searching = true;\n this.IsLoadingSearch = true;\n this.http\n .get(\n environment.url +\n \"Products/Search?searchKeys=\" +\n this.SearchModel.SearchText +\n \"&langCode=\" +\n this.translate.currentLang\n )\n .subscribe((data) => {\n this.SearchProducts = data;\n this.IsLoadingSearch = false;\n });\n }, this.time);\n } else {\n this.Searching = false;\n }\n }\n CloseTheSearch() {\n this.IsSearching = false;\n this.click({ IsSearching: false });\n }\n\n public currencies = [\n {\n name: \"Euro\",\n currency: \"EUR\",\n price: 0.9, // price of euro\n },\n {\n name: \"Rupees\",\n currency: \"INR\",\n price: 70.93, // price of inr\n },\n {\n name: \"Pound\",\n currency: \"GBP\",\n price: 0.78, // price of euro\n },\n {\n name: \"Dollar\",\n currency: \"USD\",\n price: 1, // price of usd\n },\n ];\n\n IsSearching;\n @Input() home: boolean = false;\n @Input() themeLogo: string = \"assets/images/icon/mibebito_logo_black.png\"; // Default Logo\n @Input() responsivethemeLogo: string =\n \"assets/images/icon/mibebito_logo_black.png\"; // Default Logo\n @Input() responsivethemeLogodark: string =\n \"assets/images/icon/mibebito_logo_black.png\"; // Default Logo\n @Input() topbar: boolean = true; // Default True\n @Input() sticky: boolean = false; // Default false\n @Input() stick: boolean = false; // Default false\n alerts = true;\n backgroundwhite: boolean = false;\n\n get getTotal(): Observable {\n return this.productService.cartTotalAmount();\n }\n\n removeItem(product: any) {\n this.productService.removeCartItem(product);\n }\n\n changeCurrency(currency: any) {\n this.productService.Currency = currency;\n }\n click(data) {\n if (data.IsSearching) this.IsSearching = true;\n else this.IsSearching = false;\n }\n CloseAlert() {\n this.alerts = false;\n }\n // @HostListener Decorator\n @HostListener(\"window:scroll\", [])\n onWindowScroll() {\n let number =\n window.pageYOffset ||\n document.documentElement.scrollTop ||\n document.body.scrollTop ||\n 0;\n if (number >= 10 && window.innerWidth > 200) {\n this.stick = true;\n } else {\n this.stick = false;\n }\n }\n}\n","\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'discount'\n})\nexport class DiscountPipe implements PipeTransform {\n\n transform(value: any, args?: any): any {\n const price = args.discount ? args.CardStoreSalesPrice - (args.CardStoreSalesPrice * args.discount / 100) : args.CardStoreSalesPrice;\n return price\n }\n\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\n\r\n@Pipe({ name: \"sanitizeHtml\" })\r\nexport class sanitizeHtmlPipe implements PipeTransform {\r\n constructor(private _sanitizer: DomSanitizer) {}\r\n\r\n transform(value: string): SafeHtml {\r\n return this._sanitizer.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n","import { Injectable, HostListener } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n// Menu\r\nexport interface Menu {\r\n\tRef?: number;\r\n\tColumnCount?: number;\r\n\tFontColor?: string;\r\n\tFontStyle?: string;\r\n\tLanguageCode?: string;\r\n\tIsActive?: boolean;\r\n\tMenuName?: string;\r\n\tMenuTag?: string;\r\n\tMenuType?: number;\r\n\tMenuTypeStr?: string;\r\n\tOpenType?: string;\r\n\tColumns?: Columns[];\r\n}\r\nexport interface Columns {\r\n\tRef?: number;\r\n\tRows?: Rows[];\r\n}\r\nexport interface Rows {\r\n\tRef?: number;\r\n\tId?: number;\r\n\tImageLocation?: string;\r\n\tImageName?: string;\r\n\tBackColor?: string;\r\n\tContentType?: number;\r\n\tContentTypeStr?: number;\r\n\tColumnCount?: number;\r\n\tFontColor?: string;\r\n\tFontStyle?: string;\r\n\tLanguageCode?: string;\r\n\tIsActive?: boolean;\r\n\tMenuName?: string;\r\n\tMegaMenuRef?: number;\r\n\tMenuColumnRef?: number;\r\n\tMenuTag?: string;\r\n\tRowLink?: string;\r\n\tRowType?: number;\r\n\tRowTypeStr?: string;\r\n\tStockControl?: number;\r\n\tMenuType?: number;\r\n\tMenuTypeStr?: string;\r\n\tOpenType?: string;\r\n}\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\n\r\nexport class NavService {\r\n\r\n\tconstructor() { }\r\n\r\n\tpublic screenWidth: any;\r\n\tpublic leftMenuToggle: boolean = false;\r\n\tpublic mainMenuToggle: boolean = false;\r\n\r\n\t// Windows width\r\n\t@HostListener('window:resize', ['$event'])\r\n\tonResize(event?) {\r\n\t\tthis.screenWidth = window.innerWidth;\r\n\t}\r\n\r\n\t// MENUITEMS: Menu[] = [\r\n\t// \t{\r\n\t// \t\ttitle: 'MEN', type: 'sub', color: 'black', megaMenu: true, active: false, children: [\r\n\t// \t\t\t{\r\n\t// \t\t\t\ttitle: 'CATEGORIES', type: 'sub', color: 'gray', active: false, children: [\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'View All', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Shirt', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'T-Shirt', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Sweatshirt', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Cardigan', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Sweaters', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Shorts', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Capri', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Trousers', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Jackets', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Denim', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'School Clothing', type: 'link' }\r\n\t// \t\t\t\t]\r\n\t// \t\t\t},\r\n\t// \t\t\t{\r\n\t// \t\t\t\ttitle: 'FABRIC', type: 'sub', color: 'gray', active: false, children: [\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Cashmere', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Cotton', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Acrylic', type: 'link' }\r\n\t// \t\t\t\t]\r\n\t// \t\t\t},\r\n\t// \t\t\t{\r\n\t// \t\t\t\ttitle: 'HIGHLIGHTS', type: 'sub', color: 'gray',src:'', active: false, children: [\r\n\t// \t\t\t\t\t{ path: '/collection', color: '#e44747', title: 'Summer Sale', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Polo-Neck T-Shirts', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: '9\" Chino Shorts ', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'NEW - Lightweight Hoodies', type: 'link' }\r\n\t// \t\t\t\t]\r\n\t// \t\t\t},\r\n\t// \t\t\t{\r\n\t// \t\t\t\ttitle: 'Best Seller', type: 'sub', color: '#2a6cbd', src:'assets/images/collection/bestseller.jpg', active: false, children: [\r\n\t// \t\t\t\t\t{ path: '/collection', color: '#493cef', title: 'Summer Trend', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Cashmere Lightweight Sweaters', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Starting from 6.00 USD', type: 'link' }\r\n\t// \t\t\t\t]\r\n\t// \t\t\t}\r\n\t// \t\t]\r\n\t// \t},\r\n\t// \t{\r\n\t// \t\ttitle: 'NEW ARRIVALS', type: 'sub', color: 'black', megaMenu: true, active: false, children: [\r\n\t// \t\t\t{\r\n\t// \t\t\t\ttitle: 'CATEGORIES', type: 'sub', color: 'gray', active: false, children: [\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'View All', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Under 5 USD T-Shirts', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Sweaters Keeping Warm', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Winter Cardigans', type: 'link' }\r\n\t// \t\t\t\t]\r\n\t// \t\t\t},\r\n\t// \t\t\t{\r\n\t// \t\t\t\ttitle: 'FABRIC', type: 'sub', color: 'gray', active: false, children: [\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Cashmere', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Cotton', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Acrylic', type: 'link' }\r\n\t// \t\t\t\t]\r\n\t// \t\t\t},\r\n\t// \t\t\t{\r\n\t// \t\t\t\ttitle: 'HIGHLIGHTS', type: 'sub', color: 'gray', src:'assets/images/collection/megamenusale.jpg' , active: false, children: [\r\n\t// \t\t\t\t\t{ path: '/collection', color: '#e44747', title: 'Cold Weather Picks', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'New Year is Coming', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'NEW - Lightweight Hoodies', type: 'link' }\r\n\t// \t\t\t\t]\r\n\t// \t\t\t},\r\n\t// \t\t\t{\r\n\t// \t\t\t\ttitle: 'Best Seller', type: 'sub', color: '#2a6cbd', src: 'assets/images/collection/christmas.jpg', active: false, children: [\r\n\t// \t\t\t\t\t{ path: '/collection', color: '#493cef', title: 'Be quick to catch Early Christmas Sale', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Cashmere Lightweight Sweaters', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Starting from 6.00 USD', type: 'link' }\r\n\t// \t\t\t\t]\r\n\t// \t\t\t}\r\n\t// \t\t]\r\n\t// \t},\r\n\t// \t{\r\n\t// \t\ttitle: 'SALE', type: 'sub2', color: '#d03146', megaMenu: true, active: false, children: [\r\n\t// \t\t\t{\r\n\t// \t\t\t\ttitle: 'SALE', type: 'sub2', color: 'gray', active: false, children: [\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'View All', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: '30% Sale offer on T-Shirts', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Big Summer-end Sale up to 60%', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Early Christmas SALE!', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Two Strands of Yarn Cardigans, Catch 30% Sale', type: 'link' }\r\n\t// \t\t\t\t]\r\n\t// \t\t\t},\r\n\t// \t\t\t{\r\n\t// \t\t\t\ttitle: '', type: 'sub2', active: false, children: [\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'black', src:'assets/images/collection/sale.jpg' , title: '', type: 'image' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'black', src:'assets/images/collection/sale2.jpg' , title: '', type: 'image' }\r\n\t// \t\t\t\t]\r\n\t// \t\t\t}\r\n\t// \t\t]\r\n\t// \t},\r\n\t// \t{\r\n\t// \t\ttitle: 'TIMELESS STYLE', color: 'black', type: 'sub2', megaMenu: true, active: false, children: [\r\n\t// \t\t\t{\r\n\t// \t\t\t\ttitle: 'TIMELESS STYLE', type: 'sub2', color: 'gray', active: false, children: [\r\n\t// \t\t\t\t\t{ path: '/collection', color: '#f9a277', title: 'Uniform Essentials', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'black', title: 'Men in Black Series', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'White Classics', type: 'link' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'gray', title: 'Half Turtle Neck Jumpers', type: 'link' }\r\n\t// \t\t\t\t]\r\n\t// \t\t\t},\r\n\t// \t\t\t{\r\n\t// \t\t\t\ttitle: '', type: 'sub2', active: false, children: [\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'black', title: '', src:'assets/images/collection/timeless.jpg' , type: 'image' },\r\n\t// \t\t\t\t\t{ path: '/collection', color: 'black', title: '', src:'assets/images/collection/timeless2.jpg' , type: 'image' }\r\n\t// \t\t\t\t]\r\n\t// \t\t\t}\r\n\t// \t\t]\r\n\t// \t}\r\n\t// ];\r\n\r\n\t// LEFTMENUITEMS: Menu[] = [\r\n\t// \t{\r\n\t// \t\ttitle: 'clothing', type: 'sub', megaMenu: true, active: false, children: [\r\n\t// \t\t {\r\n\t// \t\t\t title: 'mens fashion', type: 'link', active: false, children: [\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'sports wear', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'top', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'bottom', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'ethic wear', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'sports wear', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'shirts', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'bottom', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'ethic wear', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'sports wear', type: 'link' }\r\n\t// \t\t\t ]\r\n\t// \t\t },\r\n\t// \t\t {\r\n\t// \t\t\t title: 'women fashion', type: 'link', active: false, children: [\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'dresses', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'skirts', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'westarn wear', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'ethic wear', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'bottom', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'ethic wear', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'sports wear', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'sports wear', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'bottom wear', type: 'link' }\r\n\t// \t\t\t ]\r\n\t// \t\t },\r\n\t// \t\t]\r\n\t// \t},\r\n\t// \t{\r\n\t// \t\ttitle: 'bags', type: 'sub', active: false, children: [\r\n\t// \t\t { path: '/collection', color: 'black', title: 'shopper bags', type: 'link' },\r\n\t// \t\t { path: '/collection', color: 'black', title: 'laptop bags', type: 'link' },\r\n\t// \t\t { path: '/collection', color: 'black', title: 'clutches', type: 'link' },\r\n\t// \t\t {\r\n\t// \t\t\t path: '/collection', color: 'black', title: 'purses', type: 'link', active: false, children: [\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'purses', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'wallets', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'leathers', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'satchels', type: 'link' }\r\n\t// \t\t\t ]\r\n\t// \t\t },\r\n\t// \t\t]\r\n\t// \t},\r\n\t// \t{\r\n\t// \t\ttitle: 'footwear', type: 'sub', active: false, children: [\r\n\t// \t\t { path: '/collection', color: 'black', title: 'sport shoes', type: 'link' },\r\n\t// \t\t { path: '/collection', color: 'black', title: 'formal shoes', type: 'link' },\r\n\t// \t\t { path: '/collection', color: 'black', title: 'casual shoes', type: 'link' }\r\n\t// \t\t]\r\n\t// \t},\r\n\t// \t{\r\n\t// \t\tpath: '/collection', color: 'black', title: 'watches', type: 'link'\r\n\t// \t},\r\n\t// \t{\r\n\t// \t\ttitle: 'Accessories', type: 'sub', active: false, children: [\r\n\t// \t\t { path: '/collection', color: 'black', title: 'fashion jewellery', type: 'link' },\r\n\t// \t\t { path: '/collection', color: 'black', title: 'caps and hats', type: 'link' },\r\n\t// \t\t { path: '/collection', color: 'black', title: 'precious jewellery', type: 'link' },\r\n\t// \t\t {\r\n\t// \t\t\t path: '/collection', color: 'black', title: 'more..', type: 'link', active: false, children: [\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'necklaces', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'earrings', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'rings & wrist wear', type: 'link' },\r\n\t// \t\t\t\t {\r\n\t// \t\t\t\t\t path: '/collection', color: 'black', title: 'more...', type: 'link', active: false, children: [\r\n\t// \t\t\t\t\t\t { path: '/collection', color: 'black', title: 'ties', type: 'link' },\r\n\t// \t\t\t\t\t\t { path: '/collection', color: 'black', title: 'cufflinks', type: 'link' },\r\n\t// \t\t\t\t\t\t { path: '/collection', color: 'black', title: 'pockets squares', type: 'link' },\r\n\t// \t\t\t\t\t\t { path: '/collection', color: 'black', title: 'helmets', type: 'link' },\r\n\t// \t\t\t\t\t\t { path: '/collection', color: 'black', title: 'scarves', type: 'link' },\r\n\t// \t\t\t\t\t\t {\r\n\t// \t\t\t\t\t\t\t path: '/collection', color: 'black', title: 'more...', type: 'link', active: false, children: [\r\n\t// \t\t\t\t\t\t\t\t { path: '/collection', color: 'black', title: 'accessory gift sets', type: 'link' },\r\n\t// \t\t\t\t\t\t\t\t { path: '/collection', color: 'black', title: 'travel accessories', type: 'link' },\r\n\t// \t\t\t\t\t\t\t\t { path: '/collection', color: 'black', title: 'phone cases', type: 'link' }\r\n\t// \t\t\t\t\t\t\t ]\r\n\t// \t\t\t\t\t\t },\r\n\t// \t\t\t\t\t]\r\n\t// \t\t\t\t }\r\n\t// \t\t\t ]\r\n\t// \t\t },\r\n\t// \t\t]\r\n\t// \t},\r\n\t// \t{\r\n\t// \t\tpath: '/collection', color: 'black', title: 'house of design', type: 'link'\r\n\t// \t},\r\n\t// \t{\r\n\t// \t\ttitle: 'beauty & personal care', type: 'sub', active: false, children: [\r\n\t// \t\t { path: '/collection', color: 'black', title: 'makeup', type: 'link' },\r\n\t// \t\t { path: '/collection', color: 'black', title: 'skincare', type: 'link' },\r\n\t// \t\t { path: '/collection', color: 'black', title: 'premium beaty', type: 'link' },\r\n\t// \t\t {\r\n\t// \t\t\t path: '/collection', color: 'black', title: 'more..', type: 'link', active: false, children: [\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'fragrances', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'luxury beauty', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'hair care', type: 'link' },\r\n\t// \t\t\t\t { path: '/collection', color: 'black', title: 'tools & brushes', type: 'link' }\r\n\t// \t\t\t ]\r\n\t// \t\t },\r\n\t// \t\t]\r\n\t// \t},\r\n\t// \t{\r\n\t// \t\tpath: '/collection', color: 'black', title: 'home & decor', type: 'link'\r\n\t// \t},\r\n\t// \t{\r\n\t// \t\tpath: '/collection', color: 'black', title: 'kitchen', type: 'link'\r\n\t// \t},\r\n\t// ];\r\n\r\n\t// Array\r\n\t// items = new BehaviorSubject(this.MENUITEMS);\r\n\t// leftMenuItems = new BehaviorSubject(this.LEFTMENUITEMS);\r\n\r\n}\r\n","import { Inject, Injectable, PLATFORM_ID } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { map, startWith, delay } from 'rxjs/operators';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Product } from '../classes/product';\r\nimport { environment } from 'src/environments/environment';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { TokenService } from './token.service';\r\nimport { Router } from '@angular/router';\r\nimport { LocalizeRouterService } from '@gilsdav/ngx-translate-router';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\nconst state = {\r\n products: JSON.parse('[]'),\r\n wishlist: JSON.parse('[]'),\r\n compare: JSON.parse('[]'),\r\n cart: JSON.parse('[]')\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductService {\r\n\r\n public Currency = { name: 'Dollar', currency: 'USD', price: 1 } // Default Currency\r\n public OpenCart: boolean = false;\r\n public Products\r\n\r\n constructor(private http: HttpClient,\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n private toastrService: ToastrService,\r\n private translate: TranslateService,\r\n public tokenService: TokenService, private localize: LocalizeRouterService,\r\n private router: Router) {\r\n }\r\n\r\n /*\r\n ---------------------------------------------\r\n --------------- Product -------------------\r\n ---------------------------------------------\r\n */\r\n\r\n // Product\r\n private get products(): Observable {\r\n this.Products = this.http.get(environment.url + 'Products/GetAllProducts?LangCode=' + this.translate.currentLang).pipe(map(data => data));\r\n this.Products.subscribe(next => {\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage['products'] = JSON.stringify(next)\r\n }\r\n });\r\n if (isPlatformBrowser(this.platformId)) {\r\n return this.Products = this.Products.pipe(startWith(JSON.parse(localStorage['products'] || '[]')));\r\n }\r\n }\r\n\r\n // Get Products\r\n public get getProducts(): Observable {\r\n return this.products;\r\n }\r\n\r\n // Get Products By Slug\r\n public getProductBySlug(slug: string) {\r\n // return this.products.pipe(map(items => {\r\n // return items.find((item: any) => {\r\n // return item.URL + '-' + slug.substring(slug.length - 3) === slug;\r\n // });\r\n // }));\r\n return this.http.get(environment.url + 'resolver/resolve?resolve=' + '/' + slug + '&langCode=' + this.translate.currentLang).pipe(map(data => data));\r\n }\r\n\r\n public getProductsByCategory(slug: string): Observable {\r\n return this.http.get(environment.url + 'Products/GetAllProductsByURL?URL=' + '/' + slug + '&LangCode=' + this.translate.currentLang).pipe(map(data => data));\r\n }\r\n\r\n // Get Products By Slug\r\n public async getCMSContents(slug: string): Promise> {\r\n return await this.http.get(environment.url + 'Policies/GetPoliciesPages?LanguageCode=' + this.translate.currentLang + '&link=' + '/' + slug).pipe(map(data => data));\r\n }\r\n /*\r\n ---------------------------------------------\r\n --------------- Wish List -----------------\r\n ---------------------------------------------\r\n */\r\n\r\n // Get Wishlist Items\r\n public get wishlistItems(): Observable {\r\n if (this.tokenService.getUser()) {\r\n let wishlist\r\n if (isPlatformBrowser(this.platformId)) {\r\n wishlist = localStorage.getItem(\"wishlistItems\");\r\n }\r\n if (isPlatformBrowser(this.platformId)) {\r\n if (wishlist != null && wishlist.length) state.wishlist = JSON.parse(localStorage['wishlistItems']);\r\n }\r\n const itemsStream = new Observable(observer => {\r\n observer.next(state.wishlist);\r\n observer.complete();\r\n });\r\n return >itemsStream;\r\n }\r\n\r\n }\r\n public get getwishlistItems(): Observable {\r\n return state.wishlist;\r\n }\r\n // Add to Wishlist\r\n public addToWishlist(product): any {\r\n if (this.tokenService.getUser()) {\r\n const wishlistItem = state.wishlist.find(item => item.ProductVariant.Barcode === product.ProductVariant.Barcode)\r\n if (!wishlistItem) {\r\n const body = { StockRef: product.StockRef, VariantRef: product.ProductVariant.VariantRef, Amount: 0, Price: product.CardStoreSalesPrice };\r\n this.http.post(environment.url + 'Wish/AddToWish', body).subscribe(data => {\r\n if (!data.Error) {\r\n state.wishlist.push({\r\n ...product\r\n })\r\n\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.success(translate['notification:product-added-wishlist']);\r\n\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.setItem(\"wishlistItems\", JSON.stringify(state.wishlist));\r\n }\r\n return true\r\n }\r\n else {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.error(translate['notification-error:product-added-wishlist']);\r\n\r\n return false\r\n }\r\n });\r\n\r\n }\r\n }\r\n else {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.error(translate['notification-error:only-registered-wishlist']);\r\n let translatedPath: any = this.localize.translateRoute('/login');\r\n this.router.navigate([translatedPath]);\r\n }\r\n }\r\n\r\n // Remove Wishlist items\r\n public removeWishlistItem(product): any {\r\n if (this.tokenService.getUser()) {\r\n const index = state.wishlist.indexOf(state.wishlist.find(item => item.ProductVariant.Barcode === product.ProductVariant.Barcode));\r\n if (index != -1) {\r\n const body = { StockRef: product.StockRef, VariantRef: product.ProductVariant.VariantRef, Amount: product.ProductVariant.Balance, Price: product.CardStoreSalesPrice };\r\n this.http.post(environment.url + 'Wish/RemoveToWish', body).subscribe(data => {\r\n if (!data.Error) {\r\n state.wishlist.splice(index, 1);\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.success(translate['notification:product-removed-wishlist']);\r\n\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.setItem(\"wishlistItems\", JSON.stringify(state.wishlist));\r\n }\r\n return true\r\n }\r\n else {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.error(translate['notification-error:product-removed-wishlist']);\r\n return false\r\n }\r\n });\r\n\r\n }\r\n else {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.error(translate['notification-error:product-not-removed-wishlist']);\r\n return false\r\n }\r\n }\r\n else {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.error(translate['notification-error:only-registered-remove-wishlist']);\r\n let translatedPath: any = this.localize.translateRoute('/login');\r\n this.router.navigate([translatedPath]);\r\n }\r\n\r\n\r\n }\r\n\r\n /*\r\n ---------------------------------------------\r\n ------------- Compare Product -------------\r\n ---------------------------------------------\r\n */\r\n // Get Compare Items\r\n public get compareItems(): Observable {\r\n const itemsStream = new Observable(observer => {\r\n observer.next(state.compare);\r\n observer.complete();\r\n });\r\n return >itemsStream;\r\n }\r\n\r\n // Add to Compare\r\n public addToCompare(product): any {\r\n const compareItem = state.compare.find(item => item.Code === product.Code)\r\n if (!compareItem) {\r\n state.compare.push({\r\n ...product\r\n })\r\n }\r\n this.toastrService.success('Product has been added in compare.');\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.setItem(\"compareItems\", JSON.stringify(state.compare));\r\n }\r\n return true\r\n }\r\n\r\n // Remove Compare items\r\n public removeCompareItem(product: Product): any {\r\n const index = state.compare.indexOf(product);\r\n state.compare.splice(index, 1);\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.setItem(\"compareItems\", JSON.stringify(state.compare));\r\n }\r\n return true\r\n }\r\n\r\n /*\r\n ---------------------------------------------\r\n ----------------- Cart --------------------\r\n ---------------------------------------------\r\n */\r\n\r\n // Get Cart Items\r\n public get cartItems(): Observable {\r\n if (this.tokenService.getUser()) {\r\n let cartitems\r\n if (isPlatformBrowser(this.platformId)) {\r\n cartitems = localStorage.getItem(\"cartItems\");\r\n }\r\n if (isPlatformBrowser(this.platformId)) {\r\n if (cartitems != null && cartitems.length) state.cart = JSON.parse(localStorage['cartItems']);\r\n }\r\n const itemsStream = new Observable(observer => {\r\n observer.next(state.cart);\r\n observer.complete();\r\n });\r\n return >itemsStream;\r\n }\r\n\r\n }\r\n public cartItemsAmount(): Observable {\r\n if (this.tokenService.getUser()) {\r\n return this.cartItems.pipe(map((product: Product[]) => {\r\n return product.reduce((prev, curr: Product) => {\r\n let amount = curr.CartAmount;\r\n return prev + amount;\r\n }, 0);\r\n }));\r\n }\r\n }\r\n\r\n\r\n // Add to Cart\r\n public addToCart(product): any {\r\n if (this.tokenService.getUser()) {\r\n if(product.ProductVariant.Balance == 0) product.IsSoldOut = true;\r\n else product.IsSoldOut = false;\r\n if (product.IsSoldOut) {\r\n this.http.get(environment.url + 'FirmMultipler/GetFirmMultipler').subscribe(data => {\r\n const cartItem = state.cart.find(item => item.ProductVariant.Barcode === product.ProductVariant.Barcode);\r\n let qty: number = 0;\r\n if (cartItem) {\r\n qty = product.CartAmount ? product.CartAmount : product.SetCount;\r\n }\r\n else {\r\n if (product.CartAmount == 0) {\r\n product.CartAmount = product.SetCount;\r\n }\r\n }\r\n const items = cartItem ? cartItem : product;\r\n const stock = this.calculateStockCounts(items, qty);\r\n if (!stock) return false\r\n if (cartItem) {\r\n cartItem.CartAmount += qty\r\n const body = { StockRef: product.StockRef, VariantRef: product.ProductVariant.VariantRef, Amount: cartItem.CartAmount, Price: product.CardStoreSalesPrice, IsSoldOut: product.IsSoldOut };\r\n this.http.post(environment.url + 'Cart/AddToCart', body).subscribe(data => {\r\n if (!data.Error) {\r\n this.OpenCart = true; // If we use cart variation modal\r\n state.cart.find((items, index) => {\r\n if (items.ProductVariant.Barcode === product.ProductVariant.Barcode) {\r\n state.cart[index].CartAmount = cartItem.CartAmount;\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.setItem(\"cartItems\", JSON.stringify(state.cart));\r\n }\r\n }\r\n });\r\n\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.success(translate['notification:product-added-cart']);\r\n return true;\r\n }\r\n else {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.error(translate['notification-error:product-added-cart']);\r\n return false\r\n }\r\n });\r\n } else {\r\n if(product.IsSoldOutPage) items.CartAmount *= data.MinPurchaseSetAmountForSoldOut;\r\n const body = { StockRef: product.StockRef, VariantRef: product.ProductVariant.VariantRef, Amount: items.CartAmount, Price: product.CardStoreSalesPrice, IsSoldOut: product.IsSoldOut };\r\n this.http.post(environment.url + 'Cart/AddToCart', body).subscribe(data => {\r\n if (!data.Error) {\r\n state.cart.push({\r\n ...product\r\n })\r\n this.OpenCart = true; // If we use cart variation modal\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.success(translate['notification:product-added-cart']);\r\n\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.setItem(\"cartItems\", JSON.stringify(state.cart));\r\n }\r\n return true;\r\n }\r\n else {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.error(translate['notification-error:product-removed-cart']);\r\n\r\n return false\r\n }\r\n });\r\n\r\n }\r\n });\r\n }\r\n else {\r\n const cartItem = state.cart.find(item => item.ProductVariant.Barcode === product.ProductVariant.Barcode);\r\n let qty: number = 0;\r\n if (cartItem) {\r\n qty = product.CartAmount ? product.CartAmount : product.SetCount;\r\n }\r\n else {\r\n if (product.CartAmount == 0) {\r\n product.CartAmount = product.SetCount;\r\n }\r\n }\r\n const items = cartItem ? cartItem : product;\r\n const stock = this.calculateStockCounts(items, qty);\r\n if (!stock) return false\r\n if (cartItem) {\r\n cartItem.CartAmount += qty\r\n const body = { StockRef: product.StockRef, VariantRef: product.ProductVariant.VariantRef, Amount: cartItem.CartAmount, Price: product.CardStoreSalesPrice, IsSoldOut: product.IsSoldOut };\r\n this.http.post(environment.url + 'Cart/AddToCart', body).subscribe(data => {\r\n if (!data.Error) {\r\n this.OpenCart = true; // If we use cart variation modal\r\n state.cart.find((items, index) => {\r\n if (items.ProductVariant.Barcode === product.ProductVariant.Barcode) {\r\n state.cart[index].CartAmount = cartItem.CartAmount;\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.setItem(\"cartItems\", JSON.stringify(state.cart));\r\n }\r\n }\r\n });\r\n\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.success(translate['notification:product-added-cart']);\r\n return true;\r\n }\r\n else {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.error(translate['notification-error:product-added-cart']);\r\n return false\r\n }\r\n });\r\n } else {\r\n const body = { StockRef: product.StockRef, VariantRef: product.ProductVariant.VariantRef, Amount: items.CartAmount, Price: product.CardStoreSalesPrice, IsSoldOut: product.IsSoldOut };\r\n this.http.post(environment.url + 'Cart/AddToCart', body).subscribe(data => {\r\n if (!data.Error) {\r\n state.cart.push({\r\n ...product\r\n })\r\n this.OpenCart = true; // If we use cart variation modal\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.success(translate['notification:product-added-cart']);\r\n\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.setItem(\"cartItems\", JSON.stringify(state.cart));\r\n }\r\n return true;\r\n }\r\n else {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.error(translate['notification-error:product-removed-cart']);\r\n\r\n return false\r\n }\r\n });\r\n\r\n }\r\n }\r\n\r\n }\r\n else {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.error(translate['notification-error:only-registered-cart']);\r\n let translatedPath: any = this.localize.translateRoute('/login');\r\n this.router.navigate([translatedPath]);\r\n }\r\n\r\n }\r\n\r\n // Update Cart Quantity\r\n public updateCartQuantity(product: Product, SetCount: number): Product | boolean {\r\n return state.cart.find((items, index) => {\r\n if (items.Code === product.Code) {\r\n const qty = state.cart[index].CartAmount + SetCount\r\n const stock = this.calculateStockCounts(state.cart[index], 0)\r\n if (qty !== 0 && stock) {\r\n state.cart[index].CartAmount = qty\r\n\r\n }\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.setItem(\"cartItems\", JSON.stringify(state.cart));\r\n }\r\n return true\r\n }\r\n })\r\n }\r\n // Update Cart Amount\r\n public UpdateAmount(product) {\r\n return state.cart.find((items, index) => {\r\n if (items.ProductVariant.Barcode === product.ProductVariant.Barcode) {\r\n const qty = product.CartAmount\r\n const stock = this.calculateStockCounts(state.cart[index], 0)\r\n if (qty !== 0 && stock) {\r\n const body = { StockRef: product.StockRef, VariantRef: product.ProductVariant.VariantRef, Amount: product.CartAmount, Price: product.CardStoreSalesPrice };\r\n this.http.post(environment.url + 'Cart/UpdateCart', body).subscribe(data => {\r\n if (!data.Error) {\r\n state.cart[index].CartAmount = qty\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.success(translate['notification:update-amount']);\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.setItem(\"cartItems\", JSON.stringify(state.cart));\r\n }\r\n return true;\r\n }\r\n else {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.error(translate['notification:update-amount']);\r\n return false\r\n }\r\n });\r\n }\r\n }\r\n })\r\n }\r\n\r\n // Calculate Stock Counts\r\n public calculateStockCounts(product, Quantity) {\r\n const qty = product.CartAmount + Quantity\r\n const stock = product.ProductVariant.Balance;\r\n if(product.ProductVariant.Balance == 0) product.IsSoldOut = true;\r\n if ((stock < qty || stock == 0) && !product.IsSoldOut) {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.error(translate['notification-error:product-add-more-item'] + stock);\r\n return false\r\n }\r\n return true\r\n }\r\n // Calculate Stock Counts\r\n public calculateStockCountsincart(product, Quantity) {\r\n const qty = Quantity;\r\n const stock = product.ProductVariant.Balance;\r\n if(product.ProductVariant.Balance == 0) product.IsSoldOut = true;\r\n if ((stock < qty || stock == 0) && !product.IsSoldOut) {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.error(translate['notification-error:product-add-more-item'] + stock);\r\n return false\r\n }\r\n return true\r\n }\r\n // Remove Cart items\r\n public removeCartItem(product): any {\r\n if (this.tokenService.getUser()) {\r\n const index = state.cart.indexOf(state.cart.find(item => item.ProductVariant.Barcode === product.ProductVariant.Barcode));\r\n if (index != -1) {\r\n const body = { StockRef: product.StockRef, VariantRef: product.ProductVariant.VariantRef, Amount: product.CartAmount, Price: product.CardStoreSalesPrice };\r\n this.http.post(environment.url + 'Cart/RemoveToCart', body).subscribe(data => {\r\n if (!data.Error) {\r\n state.cart.splice(index, 1);\r\n if (isPlatformBrowser(this.platformId)) {\r\n localStorage.setItem(\"cartItems\", JSON.stringify(state.cart));\r\n }\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.success(translate['notification:product-removed']);\r\n return true\r\n }\r\n else {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.error(translate['notification-error:product-removed']);\r\n return false\r\n }\r\n });\r\n\r\n }\r\n else {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.error(translate['notification-error:product-not-removed']);\r\n return false\r\n }\r\n }\r\n else {\r\n let translate = this.translate.translations[this.translate.currentLang];\r\n this.toastrService.error(translate['notification-error:only-registered-product-removed-cart']);\r\n let translatedPath: any = this.localize.translateRoute('/login');\r\n this.router.navigate([translatedPath]);\r\n }\r\n }\r\n\r\n // Total amount \r\n public cartTotalAmount(): Observable {\r\n return this.cartItems.pipe(map((product: Product[]) => {\r\n return product.reduce((prev, curr: Product) => {\r\n let price = curr.CardStoreSalesPrice;\r\n if (curr.discount) {\r\n price = curr.CardStoreSalesPrice - (curr.CardStoreSalesPrice * curr.discount / 100)\r\n }\r\n return (prev + price * curr.CartAmount) * this.Currency.price;\r\n }, 0);\r\n }));\r\n }\r\n\r\n\r\n\r\n /*\r\n ---------------------------------------------\r\n ------------ Filter Product ---------------\r\n ---------------------------------------------\r\n */\r\n\r\n // Get Product Filter\r\n public filterProducts(filter: any): Observable {\r\n return this.products.pipe(map(product =>\r\n product.filter((item: Product) => {\r\n if (!filter.length) return true\r\n const Tags = filter.some((prev) => { // Match Tags\r\n if (item.tags) {\r\n if (item.tags.includes(prev)) {\r\n return prev\r\n }\r\n }\r\n })\r\n return Tags\r\n })\r\n ));\r\n }\r\n\r\n // Sorting Filter\r\n public sortProducts(products: Product[], payload: string): any {\r\n if (payload === 'ascending') {\r\n return products.sort((a, b) => {\r\n if (a.Code < b.Code) {\r\n return -1;\r\n } else if (a.Code > b.Code) {\r\n return 1;\r\n }\r\n return 0;\r\n })\r\n } else if (payload === 'a-z') {\r\n return products.sort((a, b) => {\r\n if (a.Name < b.Name) {\r\n return -1;\r\n } else if (a.Name > b.Name) {\r\n return 1;\r\n }\r\n return 0;\r\n })\r\n } else if (payload === 'z-a') {\r\n return products.sort((a, b) => {\r\n if (a.Name > b.Name) {\r\n return -1;\r\n } else if (a.Name < b.Name) {\r\n return 1;\r\n }\r\n return 0;\r\n })\r\n } else if (payload === 'low') {\r\n return products.sort((a, b) => {\r\n if (a.CardStoreSalesPrice < b.CardStoreSalesPrice) {\r\n return -1;\r\n } else if (a.CardStoreSalesPrice > b.CardStoreSalesPrice) {\r\n return 1;\r\n }\r\n return 0;\r\n })\r\n } else if (payload === 'high') {\r\n return products.sort((a, b) => {\r\n if (a.CardStoreSalesPrice > b.CardStoreSalesPrice) {\r\n return -1;\r\n } else if (a.CardStoreSalesPrice < b.CardStoreSalesPrice) {\r\n return 1;\r\n }\r\n return 0;\r\n })\r\n }\r\n else if (payload === 'new') {\r\n return products.sort((a, b) => {\r\n return (a.IsNewProduct === b.IsNewProduct)? 0 : a? 1 : -1;\r\n })\r\n }\r\n }\r\n\r\n /*\r\n ---------------------------------------------\r\n ------------- Product Pagination -----------\r\n ---------------------------------------------\r\n */\r\n public getPager(totalItems: number, currentPage: number = 1, pageSize: number = 18) {\r\n // calculate total pages\r\n \r\n let totalPages = Math.ceil(totalItems / pageSize);\r\n\r\n // Paginate Range\r\n let paginateRange = 4;\r\n\r\n // ensure current page isn't out of range\r\n if (currentPage < 1) {\r\n currentPage = 1;\r\n } else if (currentPage > totalPages) {\r\n currentPage = totalPages;\r\n }\r\n\r\n let startPage: number, endPage: number;\r\n if (totalPages <= 6) {\r\n startPage = 1;\r\n endPage = totalPages;\r\n } else if (currentPage < paginateRange - 1) {\r\n startPage = 1;\r\n endPage = startPage + paginateRange - 1;\r\n } else if (totalPages == currentPage) {\r\n startPage = currentPage - 2;\r\n endPage = currentPage;\r\n } else {\r\n startPage = currentPage - 1;\r\n endPage = currentPage + 1;\r\n }\r\n\r\n // calculate start and end item indexes\r\n let startIndex = (currentPage - 1) * pageSize;\r\n let endIndex = Math.min(startIndex + pageSize - 1, totalItems - 1);\r\n\r\n // create an array of pages to ng-repeat in the pager control\r\n let pages = Array.from(Array((endPage + 1) - startPage).keys()).map(i => startPage + i);\r\n\r\n // return object with all pager properties required by the view\r\n return {\r\n totalItems: totalItems,\r\n currentPage: currentPage,\r\n pageSize: pageSize,\r\n totalPages: totalPages,\r\n startPage: startPage,\r\n endPage: endPage,\r\n startIndex: startIndex,\r\n endIndex: endIndex,\r\n pages: pages\r\n };\r\n }\r\n\r\n}\r\n","import { UserModel } from '../models/user.model';\r\nimport jwt_decode from 'jwt-decode';\r\nimport { Inject, Injectable, PLATFORM_ID } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TokenService {\r\n\r\n constructor(private router: Router,@Inject(PLATFORM_ID) private platformId: Object,) { }\r\n\r\n public getUser(): UserModel {\r\n \r\n if (isPlatformBrowser(this.platformId)) {\r\n let token;\r\n if (localStorage.getItem(\"tokenVIP\")) {\r\n token = localStorage.getItem(\"tokenVIP\");\r\n }\r\n\r\n if (token == null) {\r\n return null\r\n }\r\n let jwtToken;\r\n try{\r\n if(jwt_decode(token)){\r\n jwtToken = jwt_decode(token);\r\n }\r\n else{\r\n return null\r\n }\r\n \r\n return JSON.parse(JSON.stringify(jwtToken));\r\n }\r\n catch(Error){\r\n return null;\r\n }\r\n \r\n }\r\n }\r\n\r\n\r\n public jwtToUser(token: any): UserModel {\r\n let jwtToken = jwt_decode(token);\r\n return JSON.parse(JSON.stringify(jwtToken));\r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CarouselModule } from 'ngx-owl-carousel-o';\r\nimport { BarRatingModule } from \"ngx-bar-rating\";\r\nimport { LazyLoadImageModule, scrollPreset } from 'ng-lazyload-image';\r\nimport { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n// Header and Footer Components\r\nimport { FooterOneComponent } from './footer/footer-one/footer-one.component';\r\nimport { HeaderTwoComponent } from './header/header-two/header-two.component';\r\n\r\n// Components\r\nimport { CMSContentComponent } from './cms/cms.component';\r\nimport { LeftMenuComponent } from './components/left-menu/left-menu.component';\r\nimport { MenuComponent } from './components/menu/menu.component';\r\nimport { SettingsComponent } from './components/settings/settings.component';\r\nimport { CategoriesComponent } from './components/categories/categories.component';\r\nimport { BreadcrumbComponent } from './components/breadcrumb/breadcrumb.component';\r\nimport { ProductBoxOneComponent } from './components/product/product-box-one/product-box-one.component';\r\nimport { ProductBoxVerticalSliderComponent } from './components/product/product-box-vertical-slider/product-box-vertical-slider.component';\r\nimport { TokenInterceptor } from '../core/token.interceptors';\r\n\r\n// Modals Components\r\nimport { NewsletterComponent } from './components/modal/newsletter/newsletter.component';\r\nimport { AcceptCookiesComponent } from './components/modal/accept-cookies/accept-cookies.component';\r\nimport { QuickViewComponent } from './components/modal/quick-view/quick-view.component';\r\nimport { CartModalComponent } from './components/modal/cart-modal/cart-modal.component';\r\nimport { CartVariationComponent } from './components/modal/cart-variation/cart-variation.component';\r\nimport { VideoModalComponent } from './components/modal/video-modal/video-modal.component';\r\nimport { SizeModalComponent } from './components/modal/size-modal/size-modal.component';\r\n\r\n// Skeleton Loader Components\r\nimport { SkeletonProductBoxComponent } from './components/skeleton/skeleton-product-box/skeleton-product-box.component';\r\n\r\n// Tap To Top\r\nimport { TapToTopComponent } from './components/tap-to-top/tap-to-top.component';\r\n\r\n// Pipes\r\nimport { DiscountPipe } from './pipes/discount.pipe';\r\nimport { sanitizeHtmlPipe } from './pipes/santize.pipe';\r\nimport { LocalizeRouterModule } from '@gilsdav/ngx-translate-router';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { NgxIntlTelInputModule } from 'ngx-intl-tel-input';\r\n\r\n@NgModule({\r\n declarations: [\r\n FooterOneComponent,\r\n CMSContentComponent,\r\n LeftMenuComponent,\r\n MenuComponent,\r\n SettingsComponent,\r\n HeaderTwoComponent,\r\n BreadcrumbComponent,\r\n CategoriesComponent,\r\n ProductBoxOneComponent,\r\n ProductBoxVerticalSliderComponent,\r\n NewsletterComponent,\r\n AcceptCookiesComponent,\r\n QuickViewComponent,\r\n CartModalComponent,\r\n CartVariationComponent,\r\n VideoModalComponent,\r\n SizeModalComponent,\r\n SkeletonProductBoxComponent,\r\n TapToTopComponent,\r\n DiscountPipe,\r\n sanitizeHtmlPipe,\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TranslateModule.forChild(),\r\n NgbModule,\r\n CarouselModule,\r\n BarRatingModule,\r\n LazyLoadImageModule.forRoot({\r\n // preset: scrollPreset // <-- tell LazyLoadImage that you want to use scrollPreset\r\n }),\r\n NgxSkeletonLoaderModule,\r\n NgxIntlTelInputModule,\r\n LocalizeRouterModule\r\n ],\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgbModule,\r\n CarouselModule,\r\n BarRatingModule,\r\n LazyLoadImageModule,\r\n NgxSkeletonLoaderModule,\r\n FooterOneComponent,\r\n TranslateModule,\r\n HeaderTwoComponent,\r\n CMSContentComponent,\r\n BreadcrumbComponent,\r\n CategoriesComponent,\r\n ProductBoxOneComponent,\r\n ProductBoxVerticalSliderComponent,\r\n NewsletterComponent,\r\n QuickViewComponent,\r\n AcceptCookiesComponent,\r\n CartModalComponent,\r\n CartVariationComponent,\r\n LocalizeRouterModule,\r\n VideoModalComponent,\r\n SizeModalComponent,\r\n SkeletonProductBoxComponent,\r\n TapToTopComponent,\r\n DiscountPipe,\r\n sanitizeHtmlPipe\r\n ],\r\n providers: [{ provide: HTTP_INTERCEPTORS, useClass: TokenInterceptor, multi: true }],\r\n})\r\nexport class SharedModule { }\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-shop',\n templateUrl: './shop.component.html',\n styleUrls: ['./shop.component.scss']\n})\nexport class ShopComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n\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 url:\"https://scm.mibebito.com/AdminService/api/\",\r\n //url : \"http://localhost:51808/api/\",\r\n production: false,\r\n instagram_token: 'IGQVJWbDBib1IyV081a0lfd3IwRTFhS2FGbHZAtbWlXNkpzN3VFMllzaFM4bEtJMHFaSzN1SU1SQl92cU54ekJHbWcxaWx4cUpmNEFkQWtuVXRIZA3JWdGxUUF9tTEktUm9hV2hhRzdzR0JXYkdWam9zbQZDZD',\r\n stripe_token: 'STRIPE_PUBLISHABLE_KEY',\r\n paypal_token: 'PAYPAL_CLIENT_ID'\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/dist/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\nimport 'hammerjs';\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"]}