{"version":3,"sources":["./src/app/shared/models/shopping-cart-item.model.ts","./src/app/shared/services/util/translatable.parameters.service.ts","./src/app/shared/models/user-identifier.enum.ts","./src/app/shared/services/util/onkeypress.service.ts","./src/app/shared/models/letter-credit-status.enum.ts","./src/app/shared/recommended-products/recommended-products.component.ts","./src/app/shared/recommended-products/recommended-products.component.html","./src/app/shared/models/file.model.ts","./src/app/shared/layout/header/header.component.ts","./src/app/shared/layout/header/header.component.html","./src/app/account/forgot/forgot.component.ts","./src/app/account/forgot/forgot.component.html","./src/app/credit-letter/credit-letter.component.ts","./src/app/credit-letter/credit-letter.component.html","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/shared/utils/local.storage.keys.ts","./src/environments/environment.ts","./src/app/shared/models/languages.enum.ts","./src/app/shared/validators/cpf-cnpj.validator.ts","./src/app/constants/water-mark.constants.ts","./src/app/shared/models/snackbar-theme.enum.ts","./src/app/shared/services/util/config.reader.service.ts","./src/app/shared/validators/password.validator.ts","./src/app/guards/auth-guard.service.ts","./src/app/shared/models/shopping-cart.model.ts","./src/app/shared/services/util/features-status.service.ts","./src/app/shared/services/adapters/shopping-cart-item.adapter.ts","./src/app/shared/services/prices/prices.service.ts","./src/app/credit-letter/how-works/how-works.component.ts","./src/app/credit-letter/how-works/how-works.component.html","./src/app/shared/services/categories/categories.service.ts","./src/app/shared/services/util/melhor.envio.service.ts","./src/app/shared/services/product/product.services.ts","./src/app/shared/schedule-contact-modal/schedule-contact-modal.component.ts","./src/app/shared/schedule-contact-modal/schedule-contact-modal.component.html","./src/app/shared/validators/email.validator.ts","./src/app/shared/services/util/paginator-translation.service.ts","./src/app/constants/snackbar.constants.ts","./src/app/credit-letter/new/new.component.ts","./src/app/credit-letter/new/new.component.html","./src/app/shared/shared.module.ts","./src/app/shared/validators/alpha-numeric.validator.ts","./src/app/shared/snackbar/snackbar.component.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/shared/simple-contact-modal/simple-contact-modal.component.ts","./src/app/shared/simple-contact-modal/simple-contact-modal.component.html","./src/app/shared/models/Requests.ts","./src/app/shared/validators/fullname.validator.ts","./src/app/shared/models/RequestsStatusEnum.ts","./src/app/credit-letter/credit-letter.module.ts","./src/app/shared/services/letter-of-credit/letter-of-credit.service.ts","./src/app/credit-letter/token-information/token-information.component.ts","./src/app/credit-letter/token-information/token-information.component.html","./src/app/shared/directives/mask-value.directive.ts","./src/app/credit-letter/modal-request/modal-request.component.ts","./src/app/credit-letter/modal-request/modal-request.component.html","./src/app/shared/services/util/error.handler.service.ts","./src/app/shared/services/services.module.ts","./src/app/app.module.ts","./src/app/shared/models/IContactDetails.ts","./src/app/shared/directives/stop-propagation.directive.ts","./src/app/shared/services/tokens/token.service.ts","./src/app/account/signup/signup.component.ts","./src/app/account/signup/signup.component.html","./src/app/shared/models/signup.encrypt.base.ts","./src/app/shared/services/cart/checkout.service.ts","./src/app/shared/services/util/translation.constants.ts","./src/app/shared/services/cart/shopping-cart.service.ts","./src/app/shared/directives/translate.directive.ts","./src/app/shared/watchlist-modal/watchlist-modal.component.ts","./src/app/shared/watchlist-modal/watchlist-modal.component.html","./src/app/home/home.module.ts","./src/app/shared/models/products.model.ts","./src/app/shared/models/encrypt.base.ts","./src/app/account/login/login.component.ts","./src/app/account/login/login.component.html","./src/app/shared/services/util/file.service.ts","./src/app/shared/models/bottom-sheet.model.ts","./src/app/shared/services/account/account.services.ts","./src/app/shared/models/category-type.enum.ts","./src/app/shared/models/all-category.enum.ts","./src/app/shared/services/store/order.service.ts","./src/app/account/account.component.ts","./src/app/account/account.component.html","./src/app/interceptors/jwt.interceptor.ts","./src/app/constants/rest-endpoint.constants.ts","./src/app/shared/models/verify.encrypted.model.ts","./src/app/shared/material/material.module.ts","./src/app/account/account.module.ts","./src/app/shared/services/util/value-converter.service.ts","./src/app/shared/service-button/service-button.component.ts","./src/app/shared/service-button/service-button.component.html","./src/app/shared/validators/external.document.validator.ts","./src/app/credit-letter/panel/panel.component.ts","./src/app/credit-letter/panel/panel.component.html","./src/app/shared/services/store/store.service.ts","./src/app/shared/layout/layout.module.ts","./src/app/shared/models/feature-names.enum.ts","./src/app/shared/layout/footer/footer.component.ts","./src/app/shared/layout/footer/footer.component.html","./src/app/shared/bottom-sheet/bottom-sheet.component.ts","./src/app/shared/bottom-sheet/bottom-sheet.component.html","./src/app/shared/waitlist-modal/waitlist-modal.component.ts","./src/app/shared/waitlist-modal/waitlist-modal.component.html","./src/app/shared/rate-modal/rate-modal.component.ts","./src/app/shared/rate-modal/rate-modal.component.html","./src/app/shared/directives/util.ts","./src/app/shared/services/util/cep.service.ts","./src/app/shared/directives/block-paste.directive.ts","./src/app/shared/services/util/util.service.ts","./src/app/app-routing.module.ts","./src/app/shared/models/media-type.enum.ts","./src/app/account/reset/reset.component.ts","./src/app/account/reset/reset.component.html","./src/app/shared/services/util/script.service.ts","./src/app/shared/services/adapters/shopping-cart.adapter.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import BigNumber from 'bignumber.js';\nimport { ProductsBackend } from './products.model';\n\nexport class ShoppingCartItem\n{\n public totalAmount?: number;\n public tokenAmount?: number;\n public expirationDate?: Date;\n constructor(\n public id: string,\n public item: ProductsBackend,\n public quantity: BigNumber,\n )\n {\n }\n}\n","import { ErrorHandlerService } from './error.handler.service';\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { RestEndpoint } from '../../../constants/rest-endpoint.constants';\nimport { forkJoin, isObservable, Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { IApplicationTranslatableLanguages } from '../../models/ITranslatableParameters';\nimport { LocalStorageService } from 'angular-web-storage';\nimport { LocalStorageKeys } from 'src/app/shared/utils/local.storage.keys';\nimport { TranslateParser } from '@ngx-translate/core';\n\n/**\n * Axia Image service\n */\n@Injectable()\nexport class TranslatableParametersService {\n\n\n constructor(\n private readonly http: HttpClient,\n private readonly errorHandler: ErrorHandlerService,\n private readonly session: LocalStorageService,\n public parser: TranslateParser,\n ) { }\n\n public instant(lang, key: any): any {\n let translationsRetrieved = this.getTextsFromMemory();\n\n if(!translationsRetrieved) {\n return undefined;\n }\n let translations = translationsRetrieved[lang];\n \n if(!translations) {\n return undefined;\n }\n \n let res: string | Observable | undefined;\n\n if (key instanceof Array) {\n let result: any = {},\n observables: boolean = false;\n for (let k of key) {\n result[k] = this.instant(translations, k);\n if (isObservable(result[k])) {\n observables = true;\n }\n }\n if (observables) {\n const sources = key.map(k => isObservable(result[k]) ? result[k] : of(result[k] as string));\n return forkJoin(sources).pipe(\n map((arr: Array) => {\n let obj: any = {};\n arr.forEach((value: string, index: number) => {\n obj[key[index]] = value;\n });\n return obj;\n })\n );\n }\n return result;\n }\n\n if (translations) {\n res = this.parser.interpolate(this.parser.getValue(translations, key));\n }\n\n if (typeof res === \"undefined\") {\n return undefined;\n }\n\n return typeof res !== \"undefined\" ? res : undefined;\n }\n\n public getTextsFromMemory(): IApplicationTranslatableLanguages {\n return this.session.get(LocalStorageKeys.TRANSLATABLE_TEXTS);\n }\n\n public getTexts(): Observable {\n return this.http.get(RestEndpoint.translatableTexts, { params: { 'applicationIdentifier': 'kairos' } })\n .pipe(\n map(data => {\n if (data) {\n this.session.set(LocalStorageKeys.TRANSLATABLE_TEXTS, data);\n }\n }),\n catchError((err) => { return this.errorHandler.validate(err); })\n );\n }\n}\n","export enum UserIdentifierEnum {\n CPF = 'cpf',\n CNPJ = 'cnpj',\n External = 'externalDoc'\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnkeypressService {\n\n constructor( ) { }\n\n /**\n * Used to restrict entering numbers only\n * @param event keypress\n * @param maxLength Max length to prevent event. Default is 14\n */\n public onlyAllowNumbers(event: any, allowDecimal: boolean = true, maxLength: number = 14): void {\n if(!allowDecimal) {\n // Allow Only Numbers\n if ((event?.target?.value?.length >= maxLength) || !(event.charCode >= 48 && event.charCode <= 57)) {\n event.preventDefault();\n }\n } else {\n //Allow Numbers, dot and comma.\n if ((event?.target?.value?.length >= maxLength) || !(event.charCode >= 48 && event.charCode <= 57 || event.charCode == 44 || event.charCode == 46)) {\n event.preventDefault();\n }\n }\n }\n\n /**\n * Used to allow currency transaction type characters, containing numbers, lowercase letters, and dash. ( a-z, 0-9, - )\n * @param event keypress\n */\n public allowNumbersLettersAndTrace(event: any): void {\n if (!(event.charCode >= 48 && event.charCode <= 57 || event.charCode >= 97 && event.charCode <= 122 || event.charCode == 45)) {\n event.preventDefault();\n }\n }\n\n /**\n * Used to restrict entering numbers only, lowercase letters and uppercase letters\n * @param event keypress\n */\n public blockSpecialCharacters(event: any): void {\n if (!(event.charCode >= 48 && event.charCode <= 57 || event.charCode >= 65 && event.charCode <= 90 || event.charCode >= 97 && event.charCode <= 122)) {\n event.preventDefault();\n }\n }\n}\n","export enum LetterOfCreditStatus {\n S=\"STARTED\",\n AN=\"ANALYSING\",\n R=\"RETURNED\",\n AP=\"APPROVED\",\n D=\"DENIED\"\n}","import { Component, Input, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ProductMedia } from '../models/product-media.model';\nimport { ProductsBackend } from '../models/products.model';\nimport { ProductsService } from '../services/product/product.services';\nimport { ValueConverterService } from '../services/util/value-converter.service';\nimport BigNumber from 'bignumber.js';\nimport { CategoriesService } from '../services/categories/categories.service';\nimport { CategoryItem } from '../models/category-item.model';\nimport { TypeAssociatedProd } from '../models/category-type.enum';\nimport { ConfigReaderService } from '../services/util/config.reader.service';\nimport { UtilService } from '../services/util/util.service';\n\n@Component({\n selector: 'app-recommended-products',\n templateUrl: './recommended-products.component.html',\n styleUrls: ['./recommended-products.component.scss']\n})\nexport class RecommendedProductsComponent implements OnInit {\n\n @Input() public recommended: Array = [];\n public quote: BigNumber;\n\n public hideAdvertisementPrice: boolean = false;\n public categories: Array = [];\n\n constructor(\n private readonly router: Router,\n private readonly productsService: ProductsService,\n private readonly categoriesService: CategoriesService,\n private readonly valueConverter: ValueConverterService, // used on HTML file\n private readonly configReaderService: ConfigReaderService\n ) { }\n\n public ngOnInit(): void {\n this.checkIfNeedFavorite();\n\n this.categoriesService.getCategories().subscribe(categories => {\n this.categories = categories;\n });\n\n this.configReaderService.getKairosConfig().subscribe(kairosConfigs => {\n this.hideAdvertisementPrice = kairosConfigs?.hideAdvertisementPrice;\n });\n }\n\n public checkIfNeedFavorite(): void {\n const hasProductId = this.productsService.getProductIdFromStorage();\n /**\n * If there is a productId in the storage, it means that the user tried to favorite a product before being logged in,\n * so we need to perform the favorite action after logging in.\n */\n if (hasProductId) {\n this.toggleFavorite(hasProductId, true);\n }\n }\n\n public toggleFavorite(productId: string, avoidRemoving: boolean = false): void {\n const productIndex = this.recommended.findIndex(product => product.id === productId);\n const product = this.recommended[productIndex];\n\n if (!product || (avoidRemoving && (product?.favorites?.length > 0))) {\n return;\n }\n\n const addFavorite: boolean = (product?.favorites?.length === 0);\n\n this.productsService.toggleFavoriteProduct(product?.id, addFavorite, this.router.url).subscribe((response: boolean) => {\n if (response) {\n if (addFavorite) {\n this.recommended[productIndex].isFavorite = true;\n this.recommended[productIndex].favorites.push({});\n } else {\n this.recommended[productIndex].isFavorite = false;\n this.recommended[productIndex].favorites.pop();\n }\n }\n });\n }\n\n public goToDetails(productId: string): void {\n window.location.href = `product-details/${productId}`;\n }\n\n public getProductImage(medias: Array): string {\n return UtilService.getExhibitionMediaData(medias);\n }\n\n public isAdvertisement(product: ProductsBackend): boolean {\n let category: CategoryItem = undefined;\n if (product?.values[\"subcategoryChild\"]) {\n category = this.categories.find(cat => cat.id === product?.values[\"subcategoryChild\"])\n } else if (product?.values[\"subcategoryParent\"]) {\n category = this.categories.find(cat => cat.id === product?.values[\"subcategoryParent\"])\n } else {\n category = this.categories.find(cat => cat.id === product?.category_id)\n }\n\n return category?.type_associated_prod === TypeAssociatedProd.ANNOUNCE;\n }\n}\n","
\n
\n

{{ 'shoppingCart.recommendedProducts' | translate }}

\n
\n \n
\n
\n {{ 'home.soldOut' | translate}}\n
\n \n {{ product?.isFavorite ? 'favorite' : 'favorite_border' }}\n \n
\n \"watermark\"\n
\n
\n

{{ product?.name }}

\n
\n
\n

{{ product?.price | currency:'BRL':true:'1.2-2'}}

\n

{{ product?.oldPrice | currency:'BRL':true:'1.2-2'}}

\n
\n\n
\n

{{ 'productDetails.knowMore' | translate }}

\n
\n\n
\n
\n local_shipping\n {{ 'home.freeShipping' | translate }}\n
\n
\n -{{ product?.discount | currency:'BRL':true:'1.2-2'}}\n
\n
\n
\n
\n

{{ 'home.unavailableItem' | translate}}

\n
\n
\n
\n
\n
\n","export class File\n{\n public name: string;\n public file: string | ArrayBuffer;\n public confidentiality?: FileStorageConfidentiality;\n public documentType?: FileStorageDocumentType;\n}\n\nexport enum FileStorageConfidentiality {\n PUBLIC = \"PUBLIC\",\n SECURED = \"SECURED\"\n}\n\nexport enum FileStorageDocumentType {\n PERSONAL_DOCUMENT = \"PERSONAL_DOCUMENT\",\n TRANSACTION_RECEIPT = \"TRANSACTION_RECEIPT\",\n CREDIT_LETTER = \"CREDIT_LETTER\"\n}\n","import { Component, HostListener, OnDestroy, OnInit, Output } from '@angular/core';\nimport { ActivatedRoute, Event, NavigationStart, Router } from '@angular/router';\nimport { EventEmitter } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AccountService } from '../../services/account/account.services';\nimport { ProductsService } from '../../services/product/product.services';\nimport { CategoriesService } from '../../services/categories/categories.service';\nimport { CategoryItem } from '../../models/category-item.model';\nimport { ShoppingCartService } from '../../services/cart/shopping-cart.service';\nimport BigNumber from 'bignumber.js';\nimport { FeaturesStatusService } from '../../services/util/features-status.service';\nimport { FeatureNames } from '../../models/feature-names.enum';\nimport { PlatformBalance } from '../../models/wallet.balance';\nimport { TranslateService } from '@ngx-translate/core';\nimport { SessionStorageService } from 'angular-web-storage';\nimport { LocalStorageKeys } from '../../utils/local.storage.keys';\nimport { LanguagesEnum } from '../../models/languages.enum';\nimport { SnackbarComponent } from '../../snackbar/snackbar.component';\nimport { TranslationConstants } from '../../services/util/translation.constants';\nimport { SnackBarTheme } from '../../models/snackbar-theme.enum';\nimport { AllCategories } from '../../models/all-category.enum';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit, OnDestroy {\n\n @Output() public returnLoggedUser: EventEmitter = new EventEmitter();\n public loading: boolean = false;\n public loggedUser: any = { firstName: '', favorites: [] };\n public shoppingCart: any = { products: [] };\n public onDestroy: any = new Subject();\n public favorites: any;\n public carts: number = 0;\n public urls: Array = [];\n public menuBarItems: Array = [];\n public lineBarItems: Array = [];\n public searchTime: any;\n public searchValue: string = '';\n public isTokenEnabled: boolean = false;\n public isLetterOfCreditEnabled: boolean = false;\n public browserWidth: number = 0;\n public balances: PlatformBalance[] = [];\n public selectedLanguage: LanguagesEnum;\n public SEARCH_TIME_VALUE: number = 1500; // In milliseconds\n public apiOfflineBalance: boolean = false;\n\n constructor(\n private readonly router: Router,\n private readonly route: ActivatedRoute,\n private readonly accountService: AccountService,\n private readonly productService: ProductsService,\n private readonly categoriesService: CategoriesService,\n private readonly shoppingService: ShoppingCartService,\n private readonly featuresStatusService: FeaturesStatusService,\n private readonly translate: TranslateService,\n private readonly sessionStorage: SessionStorageService,\n private readonly snackBarComponent: SnackbarComponent,\n private readonly translationConstants: TranslationConstants\n ) {\n this.router.events.subscribe((event: Event) => {\n if (event instanceof NavigationStart) {\n this.urls.push(event.url);\n\n if (!this.loggedUser\n && this.urls[this.urls.length - 2]\n && this.urls[this.urls.length - 2].match('login')) {\n this.userLogged();\n }\n }\n });\n }\n\n public ngOnInit(): void {\n this.browserWidth = window.innerWidth;\n this.userLogged();\n this.loadCategories();\n this.featuresStatusService.getFeatureStatus(FeatureNames.TOKEN_HANDLING).subscribe(data => {\n this.isTokenEnabled = data;\n });\n this.featuresStatusService.getFeatureStatus(FeatureNames.LETTER_OF_CREDIT).subscribe(data => {\n this.isLetterOfCreditEnabled = data;\n });\n\n this.getLastResearched();\n\n this.selectedLanguage = this.accountService.getUserLanguage();\n this.setLanguage();\n }\n\n public loadBalance(): void{\n this.shoppingService.allBalances().subscribe(balanceList => {\n this.balances = this.sortBalancesByName(balanceList?.filter(balance => balance?.balance > 0));\n }, error => {\n this.apiOfflineBalance = true;\n this.snackBarComponent.openSnackBar(this.translationConstants.translate(`snackbar.systemUnavailable`), SnackBarTheme.error, 3000);\n });\n }\n\n public sortBalancesByName(list: Array): Array {\n const sortedList: Array = list?.sort((a, b) => {\n return a?.unitOfMoney < b?.unitOfMoney ? -1 : a?.unitOfMoney > b?.unitOfMoney ? 1 : 0;\n });\n return sortedList || [];\n }\n\n\n /**\n * @param event to check the width of the browser.\n */\n @HostListener('window:resize', ['$event'])\n public onResize(event) {\n this.browserWidth = window.innerWidth;\n }\n\n /**\n * Checks the browser width to hide the menu item 'Favorite'.\n */\n public checkWidth(): boolean {\n if (this.browserWidth < 428) {\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * To keep the last research in the input\n */\n public getLastResearched(): void {\n this.route.params.subscribe(params => {\n if (params['search']) {\n this.searchValue = params['search'].replace(/\\&/g, ' ');\n }\n });\n }\n\n public userLogged(): void {\n this.accountService.isAuthenticated(true).subscribe(success => {\n if (success) {\n this.accountService.getUserDetails().subscribe((user: any) => {\n if (user?.firstName) {\n this.loggedUser = user;\n this.loggedUser.firstName = `${this.loggedUser.firstName.charAt(0).toUpperCase() + this.loggedUser.firstName.slice(1, this.loggedUser.firstName.length)}`\n }\n this.returnLoggedUser.emit(this.loggedUser);\n });\n\n this.loadBalance();\n\n this.productService.countFavorites().subscribe();\n }\n\n this.shoppingService.getShoppingCarts(false).subscribe(success => {\n if (success?.length > 0) {\n for (let cart of success) {\n for (let item of cart.items) {\n if(!new BigNumber(item.quantity).isNaN()) {\n this.carts += new BigNumber(item.quantity).toNumber();\n }\n }\n }\n }\n }, error => {\n\n });\n\n this.productService.favoriteCounted$.subscribe(data => {\n this.favorites = data;\n });\n }).add(() => {\n });\n }\n\n\n public loadCategories(): void {\n this.categoriesService.getCategories().subscribe(categories => {\n this.menuBarItems = categories?.filter(cat => !cat.parent_category_id);\n this.menuBarItems?.forEach((cat) => {\n cat.subcategories = [];\n categories?.forEach((subCat) => {\n\n if (cat.id === subCat.parent_category_id) {\n cat.subcategories.push(subCat);\n }\n });\n });\n\n this.lineBarItems = this.menuBarItems?.slice(0, 6);\n });\n }\n\n public searchProduct(forceSearch: boolean = false): void {\n // Clear the timeout to wait a little bit the user to finish typing the search\n clearTimeout(this.searchTime);\n this.searchTime = setTimeout(() => {\n const newValue = this.searchValue.replace(/\\s/g, '&');\n this.router.navigate([`/search/${newValue}`]);\n }, forceSearch ? 0 : this.SEARCH_TIME_VALUE);\n }\n\n public clearSearchTimeout(): void {\n clearTimeout(this.searchTime);\n }\n\n public goHome(): void {\n this.router.navigate(['/home']);\n }\n\n public goLogin(): void {\n this.router.navigate(['/account/login']);\n }\n\n public goOrder(): void {\n this.accountService.isAuthenticated(true).subscribe(success => {\n if (success) {\n this.router.navigate(['/order-history']);\n } else {\n this.router.navigate(['/account/login']);\n }\n });\n }\n\n public goToFavorites(): void {\n this.router.navigate(['/wishlist']);\n }\n\n public goToCart(): void {\n this.router.navigate(['/shopping-cart']);\n }\n\n public goToSignup(): void {\n this.router.navigate(['/account/signup']);\n }\n\n public searchCategory(category: CategoryItem, subCategory: boolean = false): void {\n const allSubcategories = this.translationConstants.translate(AllCategories.ALL);\n\n if (subCategory && !category.name.includes(allSubcategories)) {\n this.router.navigate([`search-category/${category?.name}`], { queryParams: { subcategoryParent: category?.id, parentCategoryId: category?.parent_category_id } });\n } else {\n this.router.navigate([`search-category/${category?.name}`], { queryParams: { categoryId: category?.id } });\n }\n }\n\n public async logout(): Promise {\n this.loading = true;\n this.accountService.destroySession().subscribe(() => {\n window.location.reload();\n }).add(() => {\n this.loggedUser = undefined;\n this.loading = false;\n });\n }\n\n public async changePassword(): Promise {\n this.router.navigate(['/account/forgot'], { queryParams: { 'isReset': true } });\n }\n\n public ngOnDestroy(): void {\n this.onDestroy.next();\n this.onDestroy.complete();\n }\n\n public setLanguage(): void {\n this.sessionStorage.set(LocalStorageKeys.LANGUAGE_LIST, this.selectedLanguage);\n this.translate.use(this.selectedLanguage);\n }\n}","
\n
\n \"logo\"\n
\n\n
\n \n \n \"flag\"\n {{ selectedLanguage === 'en' ? ('header.language.english' | translate ) : ('header.language.portuguese' | translate) }}\n \n \n \"flag\"\n {{ 'header.language.portuguese' | translate }}\n \n \n \"flag\"\n {{ 'header.language.english' | translate }}\n \n \n
\n\n
\n \n search\n
\n\n \n
\n account_circle\n
\n\n \n
\n account_circle\n \n
\n
\n \"token\"\n {{ 'token.name' | translate }}\n
\n

{{ 'header.myBalance' | translate }}

\n
\n {{ balance.balance | currency:balance.unitOfMoney:true:'1.6' }}\n
\n {{ 'header.unavailable' | translate }}\n
\n \n \n \n \n \n
\n
\n {{ loggedUser?.firstName }}\n keyboard_arrow_down\n
\n
\n
\n
0\">\n \n {{ (favorites?.value < 100) ? favorites?.value : '+99' }}\n \n
\n favorite\n
\n
\n
0\">\n 100) ? 'value': 'value small'\">\n {{ (carts < 100) ? carts : '+99' }}\n \n
\n shopping_cart\n
\n
\n
\n
\n menu\n {{ 'header.menuBar.all' | translate }}\n
\n \n \n \n \n \n \n \n \n \n\n
\n \n 0\" mat-menu-trigger [matMenuTriggerFor]=\"subCategory\">\n {{ item?.name }}\n \n \n \n \n \n {{ item?.name }}\n \n \n
\n
\n\n","import { Location } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AccountService } from 'src/app/shared/services/account/account.services';\nimport { SnackbarComponent } from '../../shared/snackbar/snackbar.component';\nimport { SnackBarTheme } from '../../shared/models/snackbar-theme.enum';\nimport { TranslationConstants } from '../../shared/services/util/translation.constants';\nimport { emailValidator } from 'src/app/shared/validators/email.validator';\nimport * as Sentry from \"@sentry/angular\";\n@Component({\n selector: 'app-forgot',\n templateUrl: './forgot.component.html',\n styleUrls: ['../styles/card.style.component.scss']\n})\nexport class ForgotComponent implements OnInit {\n\n public loading: boolean;\n public email: string;\n public errorHint: boolean;\n public isReseting: boolean = false;\n\n constructor(\n private readonly router: Router,\n private readonly route: ActivatedRoute,\n private readonly location: Location,\n private readonly accountService: AccountService,\n private readonly snackbarComponent: SnackbarComponent,\n private readonly translationConstants: TranslationConstants\n ) { }\n\n public ngOnInit(): void {\n this.route.queryParams.subscribe(params => {\n this.isReseting = params?.isReset;\n }\n );\n }\n\n public send(): void {\n Sentry.setUser({ email: this.email });\n this.loading = true;\n this.accountService.sendCode({email: this.email}).subscribe(success => {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('account.forgot.success'), SnackBarTheme.success, 4000);\n this.router.navigate(['account/reset']);\n }, error => {\n this.errorHint = true;\n this.snackbarComponent.openSnackBar(this.translationConstants.translate(`account.forgot.error.${error.code}`), SnackBarTheme.error, 4000);\n }).add(() => {\n this.loading = false;\n });\n }\n\n public verifyEmail(): void {\n this.errorHint = !emailValidator(this.email);\n }\n\n public cancel(): void {\n this.location.back();\n }\n}\n","\n\n
\n \n
\n \n

\n {{ 'account.forgot.title' | translate }}\n

\n

\n {{ 'account.reset.title' | translate }}\n

\n
\n

{{ 'account.forgot.subtitle' | translate }}

\n

{{ 'account.forgot.instruction' | translate }}

\n
\n
\n \n
\n {{ 'account.forgot.hint.invalidEmail' | translate }}\n
\n \n
\n \n
\n
\n
\n
\n \n
","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Event, NavigationEnd, NavigationStart, Router } from '@angular/router';\nimport { HowWorksComponent } from './how-works/how-works.component';\nimport { FeaturesStatusService } from '../shared/services/util/features-status.service';\nimport { FeatureNames } from '../shared/models/feature-names.enum';\n\n@Component({\n selector: 'app-credit-letter',\n templateUrl: './credit-letter.component.html',\n styleUrls: ['./credit-letter.component.scss']\n})\nexport class CreditLetterComponent implements OnInit {\n\n public loading: boolean;\n public showBackIcon: boolean = false;\n public userData: any;\n\n constructor(\n private readonly router: Router,\n private readonly dialog: MatDialog,\n private readonly featuresStatusService: FeaturesStatusService\n ) {\n this.router.events.subscribe((event: Event) => {\n if (event instanceof NavigationEnd || event instanceof NavigationStart) {\n if (this.router.url.substr(-8).match('letter')) {\n this.router.navigate(['/credit-conversion/panel']);\n }\n if (!this.router.url.substr(-8).match('panel')) {\n this.showBackIcon = true;\n } else {\n this.showBackIcon = false;\n }\n }\n });\n }\n\n public ngOnInit(): void {\n this.featuresStatusService.getFeatureStatus(FeatureNames.LETTER_OF_CREDIT).subscribe((data: boolean) => {\n if (!data) {\n this.router.navigate(['/home']);\n }\n });\n }\n\n public getLoggedUser(user: any): void {\n this.userData = user;\n }\n\n public openHowItWorks(): void {\n this.dialog.open(HowWorksComponent, {\n panelClass: 'how-works-modal'\n });\n }\n}\n","\n
\n
\n
\n
\n arrow_back\n

{{ 'creditLetter.title' | translate }}

\n help_outline\n
\n \n
\n\n \n
\n\n \n
\n","import { Component, HostListener, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { MatDialog } from '@angular/material/dialog';\nimport { OwlOptions } from 'ngx-owl-carousel-o';\nimport { forkJoin } from 'rxjs';\nimport { LoginUser } from '../shared/models/login.user.model';\nimport { PriceHistory } from '../shared/models/price-history.model';\nimport { ProductMedia } from '../shared/models/product-media.model';\nimport { ProductsBackend } from '../shared/models/products.model';\nimport { AccountService } from '../shared/services/account/account.services';\nimport { ProductsService } from '../shared/services/product/product.services';\nimport { WaitlistModalComponent } from '../shared/waitlist-modal/waitlist-modal.component';\nimport { SnackbarComponent } from '../shared/snackbar/snackbar.component';\nimport { TranslationConstants } from '../shared/services/util/translation.constants';\nimport { SnackBarTheme } from '../shared/models/snackbar-theme.enum';\nimport { CategoriesService } from '../shared/services/categories/categories.service';\nimport { CategoryItem } from '../shared/models/category-item.model';\nimport BigNumber from 'bignumber.js';\nimport { ValueConverterService } from '../shared/services/util/value-converter.service';\nimport { FeaturesStatusService } from '../shared/services/util/features-status.service';\nimport { FeatureNames } from '../shared/models/feature-names.enum';\nimport { ConfigReaderService } from '../shared/services/util/config.reader.service';\nimport { IKairosConfig } from '../shared/models/IKairosConfig';\nimport { IExternalLinks } from '../shared/models/IExternalLinks';\nimport { UtilService } from '../shared/services/util/util.service';\nimport { IKairosBanners } from '../shared/models/IKairosBanners.model';\nimport { TypeAssociatedProd } from '../shared/models/category-type.enum';\nimport { environment } from 'src/environments/environment';\nimport { realStateCategoryId, waterMark } from '../constants/water-mark.constants';\n\nexport class IInfoCards{\n public url: string;\n public description: string;\n}\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.scss']\n})\nexport class HomeComponent implements OnInit {\n\n public isLetterOfCreditEnabled: boolean;\n public kairosConfigs: IKairosConfig;\n public allowFreeShipping: boolean = false;\n public ratingProduct: number;\n public loggedUser: LoginUser;\n public loading: boolean;\n public email: string;\n public customOptions: OwlOptions = {\n dots: true,\n loop: true,\n navSpeed: 700,\n nav: true,\n mouseDrag: true,\n touchDrag: true,\n pullDrag: true,\n items: 1,\n navText: [\n `chevron_left`,\n `chevron_right`\n ]\n };\n public quote: BigNumber;\n public sales: Array = [];\n public infoCards: Array = [];\n public isInfoCardsLoaded: boolean = false;\n public bestSellers: Array = [];\n public featuredCategories: Array = [];\n public categories: Array = [];\n public releases: Array = [];\n public callToggleFavoriteAgain: boolean = false;\n private externalLinks: IExternalLinks = undefined;\n public browserWidth: number = 0;\n public hideAdvertisementPrice: boolean = false;\n public isSocialBannerEnabled: boolean = false;\n\n /**\n * To check the width of the browser.\n */\n @HostListener('window:resize', ['$event'])\n public onResize() {\n this.browserWidth = window.innerWidth;\n }\n\n constructor(\n public dialog: MatDialog,\n private readonly accountService: AccountService,\n private readonly productsService: ProductsService,\n private readonly categoriesService: CategoriesService,\n private readonly router: Router,\n private readonly snackbarComponent: SnackbarComponent,\n private readonly featuresStatusService: FeaturesStatusService,\n private readonly translationConstants: TranslationConstants,\n private readonly myConfigReaderService: ConfigReaderService,\n private readonly valueConverter: ValueConverterService // used on HTML file\n ) { }\n\n public async ngOnInit(): Promise {\n this.featuresStatusService.getFeatureStatus(FeatureNames.LETTER_OF_CREDIT).subscribe(data => {\n this.isLetterOfCreditEnabled = data;\n });\n\n this.initHome();\n }\n\n public ngOnChanges(): void{\n this.initHome();\n }\n\n public checkWaterMark(products: Array) {\n if (environment.waterMark && products.length) {\n products?.forEach((product) => {\n product.waterMark = product.category_id === realStateCategoryId ? waterMark.realState : waterMark.marketplace\n })\n }\n return products;\n }\n\n public initHome(): void {\n this.loading = true;\n this.browserWidth = window.innerWidth;\n\n this.accountService.isAuthenticated(true).subscribe(success => {\n let favorites: boolean;\n if (success) {\n favorites = true;\n }\n\n this.productsService.getBanners().subscribe(banners => {\n this.sales = banners?.filter(banner => !banner.productId || banner.productId === environment.productId) || [];\n })\n\n forkJoin([\n this.accountService.getUserDetails(),\n this.productsService.searchProduct({ orderBySell: true, limit: 5, favorites }),\n this.productsService.searchProduct({ orderByDate: true, limit: 5, favorites }),\n this.categoriesService.getCategories(),\n this.myConfigReaderService.getAllExternalLinks(),\n this.myConfigReaderService.getKairosConfig()\n ])\n .subscribe(([user, bestSellers, products, categories, externalLinks, kairosConfigs]) => {\n this.kairosConfigs = kairosConfigs;\n this.externalLinks = externalLinks;\n this.categories = categories;\n this.hideAdvertisementPrice = kairosConfigs?.hideAdvertisementPrice;\n this.isSocialBannerEnabled = kairosConfigs?.isSocialBannerEnabled;\n\n this.allowFreeShipping = this.kairosConfigs?.allowFreeShipping;\n\n this.infoCards = [];\n this.infoCards.push({ url: '/assets/images/payment.svg', description: 'payment' });\n this.infoCards.push({ url: '/assets/images/security.svg', description: 'security' });\n this.infoCards.push({ url: '/assets/images/exchange.svg', description: 'exchange' });\n this.infoCards.push({ url: '/assets/images/delivery.svg', description: 'delivery' });\n if (this.allowFreeShipping){\n this.infoCards.push({ url: '/assets/images/shipping.svg', description: 'shipping' });\n }\n //isInfoCardsLoaded must to be set after all infocards are loaded, othewise angular will not identify the list was reloaded.\n this.isInfoCardsLoaded = true;\n\n if (user) {\n this.loggedUser = user;\n this.email = user.email;\n }\n this.bestSellers = this.checkWaterMark(bestSellers) || [];\n this.releases = this.checkWaterMark(products) || [];\n this.featuredCategories = categories?.filter(cat => !cat.parent_category_id);\n }).add(() => {\n this.loading = false\n\n const hasProductId: string = this.productsService.getProductIdFromStorage();\n /**\n * If there is a productId in the storage, it means that the user tried to favorite a product before being logged in,\n * so we need to perform the favorite action after logging in.\n */\n if (hasProductId) {\n this.toggleFavorite(hasProductId, true);\n }\n });\n });\n }\n\n public receiveNewsLetter(): void {\n if (this.loggedUser?.id) {\n this.loading = true;\n this.accountService.changeNewsLetter(true, this.email).subscribe(success => {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('home.snackbar.newsLetterSuccess'), SnackBarTheme.success);\n }, error => {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate(`home.snackbar.newsLetterError`), SnackBarTheme.error, 4000);\n }).add(() => this.loading = false);\n } else {\n this.router.navigate(['/account/login']);\n }\n }\n\n public backTop(): void {\n const element = document.querySelector(\"#header\");\n\n if (element) {\n element.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }\n }\n\n public openWailistModal(): void {\n this.dialog.open(WaitlistModalComponent, {\n panelClass: 'customDialog'\n });\n }\n\n // Return the last product price\n public getPrice(priceHistory?: Array): number {\n if (priceHistory) {\n return priceHistory[0].price;\n } else {\n return 0;\n }\n }\n\n public getOldPrice(priceHistory?: Array): number {\n if (priceHistory) {\n return priceHistory[0].price;\n } else {\n return 0;\n }\n }\n\n public getProductImage(medias: Array): string {\n return UtilService.getExhibitionMediaData(medias);\n }\n\n public goToCategory(category: string): void {\n this.router.navigate([`search/${category}`]);\n }\n\n public searchAllCategories(): void {\n this.router.navigate([`search-category`]);\n }\n\n public searchCategory(categoryId: string, categoryName: string = ''): void {\n this.router.navigate([`search-category/${categoryName}`], { queryParams: { categoryId: categoryId } });\n }\n\n public definingAction(product: ProductsBackend): void {\n if (product.stock_amount === 0 || !this.getPrice(product?.prices)) {\n this.openWailistModal();\n } else {\n this.goToDetails(product.id);\n }\n }\n \n public goToDetails(productId: string): void {\n this.router.navigate([`product-details/${productId}`]);\n }\n\n public toggleFavorite(productId: string, avoidRemoving: boolean = false): void {\n const productBestSellersIndex: number = this.bestSellers.findIndex(product => product.id === productId);\n const productReleasesIndex: number = this.releases.findIndex(product => product.id === productId);\n\n let product: ProductsBackend = this.bestSellers[productBestSellersIndex] || this.releases[productReleasesIndex];\n\n if (!product || (avoidRemoving && (product?.favorites?.length > 0))) {\n return;\n }\n\n const addFavorite: boolean = (product?.favorites?.length === 0);\n\n this.productsService.toggleFavoriteProduct(productId, addFavorite, '/home').subscribe((response: boolean) => {\n if (response) {\n if (addFavorite) {\n if (productBestSellersIndex > -1) {\n this.bestSellers[productBestSellersIndex].isFavorite = true;\n this.bestSellers[productBestSellersIndex].favorites.push({});\n } else {\n this.releases[productReleasesIndex].isFavorite = true;\n this.releases[productReleasesIndex].favorites.push({});\n }\n } else {\n if (productBestSellersIndex > -1) {\n this.bestSellers[productBestSellersIndex].isFavorite = false;\n this.bestSellers[productBestSellersIndex].favorites.pop();\n } else {\n this.releases[productReleasesIndex].isFavorite = false;\n this.releases[productReleasesIndex].favorites.pop();\n }\n }\n }\n });\n }\n\n public goToCreditLetter(): void {\n if (this.loggedUser) {\n this.router.navigate(['/credit-conversion/panel']);\n } else {\n this.router.navigate(['/account/login'], { queryParams: { redirectUrl: '/credit-conversion/panel'}});\n }\n }\n\n public goToUrl(url): void {\n UtilService.goToUrl(url, this.externalLinks, this.router);\n }\n\n public getPhotoUrl(url: string, urlResponsive?: string): string{\n if(this.browserWidth <= 428 && urlResponsive){\n return urlResponsive;\n }\n return url;\n }\n\n public isAdvertisement(product: ProductsBackend): boolean {\n let category: CategoryItem = undefined;\n if (product?.values[\"subcategoryChild\"]) {\n category = this.categories?.find(cat => cat.id === product?.values[\"subcategoryChild\"])\n } else if (product?.values[\"subcategoryParent\"]) {\n category = this.categories?.find(cat => cat.id === product?.values[\"subcategoryParent\"])\n } else {\n category = this.categories?.find(cat => cat.id === product?.category_id)\n }\n\n return category?.type_associated_prod === TypeAssociatedProd.ANNOUNCE;\n }\n}\n","\n
\n \n\n
\n \n \n \n \n \n \n \n
\n\n \n
\n \"info?.description\"\n {{ 'home.' + info?.description | translate }}\n
\n
.
\n
\n\n
\n
{{ 'home.creditLetterTitle' | translate}}
\n
\n
{{ 'home.creditLetterText' | translate}}
\n \n
\n
\n\n
\n
\n

{{ 'home.bestSellers' | translate }}

\n {{ 'home.seeAll' | translate }}\n
\n \n
\n
\n {{ 'home.soldOut' | translate}}\n
\n
\n \n {{ product.isFavorite ? 'favorite' : 'favorite_border' }}\n \n
\n
\n \"watermark\"\n
\n
\n

{{ product?.name }}

\n
0\">\n
\n

{{ product?.price | currency:'BRL':true:'1.2-2' }}

\n

{{ product?.oldPrice | currency:'BRL':true:'1.2-2' }}

\n
\n
\n

{{ 'productDetails.knowMore' | translate }}

\n
\n
\n \n
\n local_shipping\n {{ 'home.freeShipping' | translate }}\n
\n
\n -{{ product?.discount | currency:'BRL':true:'1.2-2'}}\n
\n
\n
\n
\n

{{ 'home.unavailableItem' | translate}}

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

{{ 'home.featuredCategories' | translate }}

\n {{ 'home.seeAll' | translate }}\n
\n \n
\n \n {{ item?.name }}\n
\n
\n
\n\n
\n
\n
\n
\n

{{ 'home.helpFamily' | translate }}

\n

{{ 'home.helpText' | translate }}

\n\n \n
\n \"doação\"\n
\n\n
\n
\n email\n

{{ 'home.receiveEmail' | translate }}

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

{{ 'home.releases' | translate }}

\n {{ 'home.seeAll' | translate }}\n
\n \n
.
\n
\n
\n \"watermark\"\n
\n
\n

{{ product?.name }}

\n
\n

{{ product?.price | currency:'BRL':true:'1.2-2' }}

\n
\n\n
\n

{{ 'productDetails.knowMore' | translate }}

\n
\n\n
\n

{{ product?.oldPrice | currency:'BRL':true:'1.2-2'}}

\n local_offer\n
\n\n
\n
\n local_shipping\n {{ 'home.freeShipping' | translate }}\n
\n\n \n {{ product.isFavorite ? 'favorite' : 'favorite_border' }}\n \n
\n
\n
\n
.
\n
\n
\n \n
\n","export class LocalStorageKeys{\n public static USER_LOGGED_KEY: string = 'USER_LOGGED';\n\n public static USER_EMAIL_ENTRY: string = 'USER_EMAIL_ENTRY';\n\n public static FIAT_CURRENCY_KEY: string = 'FIAT_CURRENCY';\n\n //To be concatenated with feature name aftwards, leading to, for instance, FEATURE_isTokenEnabled\n public static FEATURE_STATUS: string = 'FEATURE_';\n\n public static CART_DETAILS: string = 'CART_DETAILS';\n\n // Used to store the id of the product that will be favorited when the user is not logged in yet\n public static FAVORITE_PRODUCT_ID: string = 'FAVORITE_PRODUCT_ID';\n\n public static TRANSLATABLE_TEXTS: string = 'TRANSLATABLE_TEXTS_KAIROS';\n\n public static LANGUAGE_LIST: string = 'LANGUAGE_LIST';\n\n public static SHIPPING_DATA: string = 'SHIPPING_DATA';\n}","export const environment = {\n production: false,\n apiBaseUrl: 'API_BASE_URL',\n pageTitle: 'Dillianz - Marketplace',\n productId: 'default',\n line1: 'Contato: +55 11 4004-2879 ',\n line2: 'Endereço: Rua Uruguai, Edif. Albert Einstein, 421 - Centro, Passo Fundo - RS, 99010-110',\n line3: 'CNPJ: 47.698.516/0001-15',\n line4: 'Razão Social: DILLIANZ STORE LTDA',\n signUpUrl: 'https://banking.dillianz.com.br/account/signup',\n waterMark: true,\n};\n","export enum LanguagesEnum {\n PORTUGUESE = 'pt-br',\n ENGLISH = 'en'\n}","import { Validator, NG_VALIDATORS, AbstractControl } from '@angular/forms';\nimport { ValidationErrors } from '@angular/forms';\n\nexport class CpfCnpjValidator implements Validator {\n\n public static cpfLength: number = 11;\n public static cnpjLength: number = 14;\n\n /**\n * Calcula o dígito verificador do CPF ou CNPJ.\n */\n public static buildDigit(arr: Array): number {\n\n const isCpf = arr.length < CpfCnpjValidator.cpfLength;\n const digit = arr\n .map((val, idx) => val * ((!isCpf ? idx % 8 : idx) + 2))\n .reduce((total, current) => total + current) % CpfCnpjValidator.cpfLength;\n\n return digit < 2 ? 0 : CpfCnpjValidator.cpfLength - digit;\n }\n\n public static validate(c: AbstractControl): ValidationErrors | null {\n\n if (!c.value) {\n return undefined;\n }\n\n const cpfCnpj = c.value.replace(/\\D/g, '');\n\n if ([CpfCnpjValidator.cpfLength, CpfCnpjValidator.cnpjLength].indexOf(cpfCnpj.length) < 0) {\n return { length: true };\n }\n\n if (/^([0-9])\\1*$/.test(cpfCnpj)) {\n return { equalDigits: true };\n }\n\n const cpfCnpjArr: Array = cpfCnpj.split('').reverse().slice(2);\n\n cpfCnpjArr.unshift(CpfCnpjValidator.buildDigit(cpfCnpjArr));\n cpfCnpjArr.unshift(CpfCnpjValidator.buildDigit(cpfCnpjArr));\n\n if (cpfCnpj !== cpfCnpjArr.reverse().join('')) {\n return { digit: true };\n }\n\n return undefined;\n }\n\n public validate(c: AbstractControl): ValidationErrors | null {\n return CpfCnpjValidator.validate(c);\n }\n}\n","export const waterMark = {\n marketplace: '/assets/images/watermark-marketplace.svg',\n realState: '/assets/images/watermark-imobiliaria.svg'\n}\n\nexport const realStateCategoryId = '0a15f51e-8dab-4038-94ac-84d72154cea3';","export enum SnackBarTheme {\n error = 'error',\n success = 'success',\n default = 'default'\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../constants/rest-endpoint.constants\";\nimport { IContactDetails } from \"../../models/IContactDetails\";\nimport { IExternalLinks } from \"../../models/IExternalLinks\";\nimport { IKairosConfig } from \"../../models/IKairosConfig\";\nimport { IPaymentScripts } from \"../../models/IPaymentScripts\";\n\n@Injectable()\nexport class ConfigReaderService {\n\n constructor(\n private readonly http: HttpClient\n ) { }\n\n public getAllExternalLinks(): Observable {\n\n return this.http.get(RestEndpoint.getExternalLinks)\n .pipe(\n map((data: IExternalLinks) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public getKairosConfig(): Observable {\n\n return this.http.get(RestEndpoint.getKairosConfig)\n .pipe(\n map((data: IKairosConfig) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public getPaymentScripts(): Observable {\n\n return this.http.get(RestEndpoint.getPaymentScripts)\n .pipe(\n map((data: IPaymentScripts) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public getContactDetails(): Observable {\n\n return this.http.get(RestEndpoint.getContactDetails)\n .pipe(\n map((data: IContactDetails) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n}","import { FormGroup, AbstractControl } from '@angular/forms';\n\nexport function matchingPasswords(passwordKey: string, confirmPasswordKey: string): any {\n return (group: FormGroup): {[key: string]: any} => {\n const password = group.controls[passwordKey];\n const confirmPassword = group.controls[confirmPasswordKey];\n\n if (password.value !== confirmPassword.value) {\n return {\n mismatchedPasswords: true\n };\n }\n };\n}\n\nexport function passwordPrerequisites(control: AbstractControl): any {\n const password = control.value;\n let hasLowerCase: boolean;\n let hasUpperCase: boolean;\n let hasNumber: boolean;\n let hasSpecialChar: boolean;\n\n const lowerCaseLetters = /[a-z]/g;\n if (password.match(lowerCaseLetters)) {\n hasLowerCase = true;\n }\n\n const upperCaseLetters = /[A-Z]/g;\n if (password.match(upperCaseLetters)) {\n hasUpperCase = true;\n }\n\n const numbers = /[0-9]/g;\n if (password.match(numbers)) {\n hasNumber = true;\n }\n\n const specialCharacter = /[-!@#$%^*()_+.]/g;\n if (password.match(specialCharacter) && password.length !== 0) {\n hasSpecialChar = true;\n }\n\n if (!hasLowerCase || !hasUpperCase || !hasNumber || !hasSpecialChar) {\n return { prerequisites: true };\n }\n else {\n return undefined;\n }\n}","import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\nimport { Injectable } from '@angular/core';\nimport { AccountService } from '../shared/services/account/account.services';\n\n/**\n * Block some route if is not logged\n */\n@Injectable()\nexport class AuthGuardService implements CanActivate\n{\n constructor(\n private readonly accountService: AccountService,\n private readonly router: Router\n )\n { }\n\n /**\n * Security guard for some routes\n */\n public canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n this.accountService.isAuthenticated().subscribe(success => {\n return true;\n }, error => {\n void this.router.navigate(['/']);\n });\n return true;\n }\n}\n","import { ShoppingCartItem } from './shopping-cart-item.model';\nimport { Store } from './store.model';\n\nexport class ShoppingCart\n{\n public store?: Store;\n\n constructor(\n public id: string,\n public userId: string,\n public storeId: string,\n public items: Array,\n public creationDate?: Date,\n public lastUpdate?: Date,\n public totalAmount?: number,\n public tokenAmount?: number,\n public shippingAmount?: number\n )\n {}\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { LocalStorageService } from \"angular-web-storage\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../constants/rest-endpoint.constants\";\nimport { FeatureNames } from \"../../models/feature-names.enum\";\nimport { LocalStorageKeys } from \"../../utils/local.storage.keys\";\n\n@Injectable()\nexport class FeaturesStatusService {\n\n constructor(\n private readonly http: HttpClient,\n private readonly storage: LocalStorageService\n ) { }\n\n public getFeatureStatus(featureName: FeatureNames, forceLoad: boolean = false): Observable {\n if (!forceLoad && this.storage.get(LocalStorageKeys.FEATURE_STATUS + featureName)){\n return of(this.storage.get(LocalStorageKeys.FEATURE_STATUS + featureName));\n }\n\n return this.http.get(RestEndpoint.getFeatureStatus, {\n params: {'featureName': featureName}\n })\n .pipe(\n map((data: {value: boolean}) => {\n this.storage.set(LocalStorageKeys.FEATURE_STATUS + featureName, data?.value);\n return data?.value;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n}","import BigNumber from 'bignumber.js';\nimport { Injectable } from '@angular/core';\nimport { ShoppingCartItem } from '../../models/shopping-cart-item.model';\nimport { ProductsBackend } from '../../models/products.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ShoppingCartItemAdapter\n{\n constructor(\n )\n {}\n\n public adapt(item: any): ShoppingCartItem\n {\n return new ShoppingCartItem(\n item.id,\n new ProductsBackend(item.item),\n new BigNumber(item.quantity)\n );\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../constants/rest-endpoint.constants\";\nimport { LocalStorageService } from 'angular-web-storage';\nimport { LocalStorageKeys } from \"../../utils/local.storage.keys\";\nimport { ShippingResponse } from \"../../models/states\";\nimport { BigNumber } from 'bignumber.js';\nimport { ProductsBackend } from \"../../models/products.model\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PricesService {\n\n constructor(\n private readonly http: HttpClient,\n private readonly storage: LocalStorageService,\n ) { }\n\n public getShippingData(forceLoad: boolean = false): Observable {\n if (!forceLoad && this.storage.get(LocalStorageKeys.SHIPPING_DATA)){\n return of(this.storage.get(LocalStorageKeys.SHIPPING_DATA));\n }\n\n return this.http.get(RestEndpoint.getShippingData)\n .pipe(\n map((data: ShippingResponse) => {\n this.storage.set(LocalStorageKeys.SHIPPING_DATA, data);\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public calculatePrice(uf: string, city: string, product: ProductsBackend, quantity: number, shippingData: ShippingResponse): BigNumber {\n\n let shippingAmount: BigNumber;\n let shippingSafeAmount: BigNumber;\n let shippingSafeAmountType: string;\n\n /**\n * The first priority is to consider the city\n */\n if(shippingData.cities?.length > 0) {\n const cityData = shippingData.cities.find(dt => dt.name?.normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") === city?.normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\"));\n shippingAmount = cityData?.shipping_amount;\n shippingSafeAmount = cityData?.shipping_safe_amount;\n shippingSafeAmountType = cityData?.shipping_safe_amount_type;\n }\n\n /**\n * Lets consider the state so\n */\n if(!shippingAmount || !shippingSafeAmount || !shippingSafeAmountType) {\n const state = shippingData.states.find(dt => dt.name?.normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") === uf?.normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\"));\n if(!shippingAmount) {\n shippingAmount = state?.shipping_amount;\n }\n\n /**\n * In case the safe shipping amount is not defined, we must also collect the safe amount type and vice versa\n */\n if(!shippingSafeAmount || !shippingSafeAmountType) {\n shippingSafeAmount = state?.shipping_safe_amount;\n shippingSafeAmountType = state?.shipping_safe_amount_type;\n }\n }\n\n /**\n * Lets start by calculate the price multiplying the quantity by the price\n */\n const productPrice: BigNumber = new BigNumber(product.price).multipliedBy(quantity);\n\n /**\n * Lets now calculate the shipping\n */\n const shippingFinalAmount: BigNumber = new BigNumber(shippingAmount) || new BigNumber(0);\n\n /**\n * Now we must consider the safe amount\n */\n const shippingSafetyAmount: BigNumber = this.calculateShippingSafetyAmount(shippingSafeAmount || product.bdmPrice?.safetyCharges, shippingAmount, shippingSafeAmountType);\n\n /**\n * We will sum the first 3 items\n */\n const sumMainAmount: BigNumber = new BigNumber(productPrice).plus(shippingFinalAmount).plus(shippingSafetyAmount);\n\n /**\n * Lets start to use the percentages\n */\n const admChargesAmount: BigNumber = sumMainAmount.multipliedBy(product.bdmPrice.administrativeCharges).dividedBy(100);\n\n const reservationChargesAmount: BigNumber = sumMainAmount.multipliedBy(product.bdmPrice.reservationCharges).dividedBy(100);\n\n const marginChargesAmount: BigNumber = sumMainAmount.multipliedBy(product.bdmPrice.marginCharges).dividedBy(100);\n\n const fundsChargesAmount: BigNumber = sumMainAmount.multipliedBy(product.bdmPrice.fundsCharges).dividedBy(100);\n\n /**\n * To finish the price calculation, we must calculate the BDM percentage\n */\n const auxAmount: BigNumber = sumMainAmount.plus(admChargesAmount).plus(reservationChargesAmount).plus(marginChargesAmount).plus(fundsChargesAmount);\n\n const bdmChargesAmount: BigNumber = auxAmount.multipliedBy(product.bdmPrice.bdmCharges).dividedBy(100);\n\n /**\n * This is the price calculation\n */\n return auxAmount.plus(bdmChargesAmount);\n }\n\n private calculateShippingSafetyAmount(shippingSafetyAmount: BigNumber, shippingAmount: BigNumber, shippingSafetyAmountType: string): BigNumber {\n if(new BigNumber(shippingSafetyAmount).isZero() || new BigNumber(shippingSafetyAmount).isNaN()) {\n return new BigNumber(0);\n }\n\n if(shippingSafetyAmountType === 'P') {\n if(new BigNumber(shippingAmount).isZero() || new BigNumber(shippingAmount).isNaN()) {\n throw new Error('Impossible to calculate the shipping safety amount');\n }\n return new BigNumber(shippingAmount).multipliedBy(shippingSafetyAmount).dividedBy(100);\n } else {\n return new BigNumber(shippingSafetyAmount);\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { EContactChannels, IContactDetails } from 'src/app/shared/models/IContactDetails';\nimport { ConfigReaderService } from 'src/app/shared/services/util/config.reader.service';\nimport { SimpleContactModalComponent } from 'src/app/shared/simple-contact-modal/simple-contact-modal.component';\n\n@Component({\n selector: 'app-how-works',\n templateUrl: './how-works.component.html',\n styleUrls: ['./how-works.component.scss']\n})\nexport class HowWorksComponent implements OnInit {\n\n public loading: boolean;\n private contactDetails: IContactDetails = undefined;\n public enableContactButton: boolean = false;\n\n constructor(\n private readonly dialogRef: MatDialogRef,\n private readonly dialog: MatDialog,\n private readonly myConfigReaderService: ConfigReaderService,\n ) { }\n\n public ngOnInit(): void {\n this.dialogRef.addPanelClass('custom-modal');\n this.myConfigReaderService.getContactDetails().subscribe(data => {\n this.contactDetails = new IContactDetails(data);\n this.enableContactButton = this.contactDetails.enableContactButton();\n });\n }\n\n public askQuestions(): void {\n const channel: EContactChannels = this.contactDetails.channelToUse();\n if (EContactChannels.EMAIL === channel){\n this.dialog.open( SimpleContactModalComponent, {\n panelClass: 'customDialog',\n data: {\n contactDetails: this.contactDetails\n } \n } );\n }else if (EContactChannels.CHAT === channel){\n window.open(this.contactDetails.tawkTo);\n }\n }\n\n}\n","
\n
\n

{{ 'creditLetter.howWorksModal.title' | translate }}

\n close\n
\n\n
\n

\n
\n\n
\n \n \n
\n \n
","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../constants/rest-endpoint.constants\";\nimport { CategoryItem } from \"../../models/category-item.model\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CategoriesService {\n\n constructor(\n private readonly http: HttpClient\n ) { }\n\n\n public getCategories(): Observable> {\n return this.http.get(RestEndpoint.getAllCategories, {})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public saveCategory(categoryItem: CategoryItem): Observable {\n return this.http.put(RestEndpoint.updateCategories, categoryItem)\n .pipe(\n map((templateId: string) => {\n if(templateId) {\n return true;\n } else {\n return false;\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public createCategory(categoryItem: CategoryItem): Observable {\n return this.http.post(RestEndpoint.createCategory, categoryItem)\n .pipe(\n map((templateId: string) => {\n if(templateId) {\n return true;\n } else {\n return false;\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public deleteCategory(id: string): Observable {\n const url = RestEndpoint.deleteCategory + id;\n return this.http.delete(url)\n .pipe(\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n \n}","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\n/**\n * Axia Melhor Envio service\n */\n@Injectable()\nexport class MelhorEnvioService {\n\n public url: string = 'https://sandbox.melhorenvio.com.br';\n\n constructor(\n private readonly http: HttpClient\n ) { }\n\n\n public getQuotation(from: string, to: string, height: number, width: number, length: number, weight: number): Observable {\n return this.http.post(`${this.url}/api/v2/me/shipment/calculate`, {\n \"from\": {\n \"postal_code\": from\n },\n \"to\": {\n \"postal_code\": to\n },\n \"package\": {\n \"height\": height,\n \"width\":width,\n \"length\":length,\n \"weight\": weight\n }\n },\n {\n headers: {\n 'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjBiNjYzNjMzNTE3OGU3MDVjZTk0OWI0NTc1NDliYWQwNTI5NzZiZjc0NzE1YjZlMThlNGY2NDhmZmY4NDFjNmM4NzUxMWRiOWFhMGQ1YmQzIn0.eyJhdWQiOiI5NTYiLCJqdGkiOiIwYjY2MzYzMzUxNzhlNzA1Y2U5NDliNDU3NTQ5YmFkMDUyOTc2YmY3NDcxNWI2ZTE4ZTRmNjQ4ZmZmODQxYzZjODc1MTFkYjlhYTBkNWJkMyIsImlhdCI6MTYyOTcyMDY2MCwibmJmIjoxNjI5NzIwNjYwLCJleHAiOjE2NjEyNTY2NjAsInN1YiI6IjBjZjRjY2E3LTE3Y2EtNGE5YS04N2Q2LWE5YTNkYmExMmYyYyIsInNjb3BlcyI6WyJjYXJ0LXJlYWQiLCJjYXJ0LXdyaXRlIiwiY29tcGFuaWVzLXJlYWQiLCJjb21wYW5pZXMtd3JpdGUiLCJjb3Vwb25zLXJlYWQiLCJjb3Vwb25zLXdyaXRlIiwibm90aWZpY2F0aW9ucy1yZWFkIiwib3JkZXJzLXJlYWQiLCJwcm9kdWN0cy1yZWFkIiwicHJvZHVjdHMtZGVzdHJveSIsInByb2R1Y3RzLXdyaXRlIiwicHVyY2hhc2VzLXJlYWQiLCJzaGlwcGluZy1jYWxjdWxhdGUiLCJzaGlwcGluZy1jYW5jZWwiLCJzaGlwcGluZy1jaGVja291dCIsInNoaXBwaW5nLWNvbXBhbmllcyIsInNoaXBwaW5nLWdlbmVyYXRlIiwic2hpcHBpbmctcHJldmlldyIsInNoaXBwaW5nLXByaW50Iiwic2hpcHBpbmctc2hhcmUiLCJzaGlwcGluZy10cmFja2luZyIsImVjb21tZXJjZS1zaGlwcGluZyIsInRyYW5zYWN0aW9ucy1yZWFkIiwidXNlcnMtcmVhZCIsInVzZXJzLXdyaXRlIiwid2ViaG9va3MtcmVhZCIsIndlYmhvb2tzLXdyaXRlIl19.EtO0syHFXdWDgD0vI4c9Ld0hP0fB_DBV_hS9uCgY1ybeXwnC7Gl_zqAFLvH_YIEuddf3b2Gta4RcKdEFT39zZN2REUFZtQNWelJMW6uQD7JyRQBoV8ERGDY-aojZroBvZ65ynO4QbfJwC4C9lC4ncThoxeQvY-KaCuUI9-RKCbzhXdrH5iNtLeIRXn1eazOq6b7M1jIYbU6Q7APwYu1OukSFmPGuiZYc7HYR2wImIsX_h3S3EgPMB3Gj0yeFLoZ4TRi2r5LP2FCol-d_kAQfWPZr-X4eXEY-2VKhzighWkRlrmUxctm6HqvbEJxgdKrD84E0taTwA7qWkx6rhkx6tRDi52e8agghMd9AlDwWliYDfMmfxRTWI_uK0onqsolJR4jwqf7lYB2WZ56tuf8nXoOZ-7afNQooTx7MXUxQzg5LxlwotEhRz745gt6WNv9jFIhlqcKfJNv99huGItFWrk9wgmRO2r3yVRe5-hZE5PblLIwRUUac_YZh7t3VE_9_w3e-JVjp1-8b_-FQfbbOk72HH48--j9CwHliDljir0YUE-ohDL5_FtI7OOvPkwR9tG-7q0SwnGVDovu4kzqKPAeKO7yYx-V91kVnjGOaj1ZUC8bmZnvia8nT9gas8BjiEEdvJUh3wUnP1X8pFW6P6L9PV1gpDiPN62S7kfsd_hw',\n 'User-Agent': 'Aplicação mateus@axiadigitalsolutions.com',\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n }\n })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../constants/rest-endpoint.constants\";\nimport { ProductSearch } from \"../../models/product-search.model\";\nimport { Product } from \"../../models/product.model\";\nimport { ProductsBackend } from \"../../models/products.model\";\n\n\nimport {BehaviorSubject} from 'rxjs/BehaviorSubject';\nimport { Router } from '@angular/router';\nimport { AccountService } from '../account/account.services';\nimport { LocalStorageService } from 'angular-web-storage';\nimport { LocalStorageKeys } from \"../../utils/local.storage.keys\";\nimport { IKairosBanners } from \"../../models/IKairosBanners.model\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProductsService {\n\n public _settingsSource = new BehaviorSubject(0);\n public favoriteCounted$ = this._settingsSource.asObservable();\n\n constructor(\n private readonly http: HttpClient,\n private readonly router: Router,\n private readonly accountService: AccountService,\n private readonly storage: LocalStorageService,\n ) { }\n\n public getProducts(): Observable> {\n return this.http.get(RestEndpoint.getAllProducts, {})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public searchProduct(filter: ProductSearch): Observable> {\n return this.http.post(RestEndpoint.searchProducts, filter)\n .pipe(\n map((data: Array) => {\n const convertedList: Array = [];\n if(data?.length > 0) {\n for(let dt of data) {\n convertedList.push(new ProductsBackend(dt));\n }\n }\n return convertedList;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getProductById(productIdentifier: string): Observable {\n return this.http.get(RestEndpoint.getProduct, { params: { productIdentifier } })\n .pipe(\n map((data: ProductsBackend) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public deleteProduct(id: string): Observable {\n const url = RestEndpoint.deleteProduct + id;\n return this.http.delete(url)\n .pipe(\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n\n public saveProduct(newParameter: ProductsBackend): Observable {\n return this.http.put(RestEndpoint.updateProducts, newParameter)\n .pipe(\n map((updated: boolean) => {\n return updated;\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public createProduct(product: ProductsBackend): Observable {\n return this.http.post(RestEndpoint.createProduct, product)\n .pipe(\n map((templateId: string) => {\n if (templateId) {\n return true;\n } else {\n return false;\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n /**\n * @param productId The product tha will be change the favorite\n * @param addFavorite If you are going to add the favorite\n * @param redirectUrl Route to go after logging in (if user was not logged in)\n * @returns Returns if the operation was successful\n */\n public toggleFavoriteProduct(productId: string, addFavorite?: boolean, redirectUrl?: string): Observable {\n let toggleFavoriteSuccess: boolean = false;\n return this.http.post( RestEndpoint.isAuthenticated, { })\n .pipe(\n map((authenticated: any) => {\n if ( !authenticated || !authenticated.isAuthenticated)\n {\n const favoriteProductSaved: string = this.storage.get(LocalStorageKeys.FAVORITE_PRODUCT_ID);\n // To prevent looping redirecting to login, in case the user gives up logging in.\n if (!favoriteProductSaved) {\n this.router.navigate(['/account/login'], {\n queryParams: {\n redirectUrl: redirectUrl,\n }\n });\n this.storage.set(LocalStorageKeys.FAVORITE_PRODUCT_ID, productId);\n } else {\n this.storage.remove(LocalStorageKeys.FAVORITE_PRODUCT_ID);\n toggleFavoriteSuccess = false;\n }\n toggleFavoriteSuccess = false;\n\n return toggleFavoriteSuccess;\n } else {\n if (addFavorite) {\n this.createFavorites(productId).subscribe();\n } else {\n this.deleteFavorites(productId).subscribe();\n }\n toggleFavoriteSuccess = true;\n this.storage.remove(LocalStorageKeys.FAVORITE_PRODUCT_ID);\n return toggleFavoriteSuccess;\n }\n })\n );\n }\n\n public deleteFavorites(productId: string): Observable {\n return this.http.post(RestEndpoint.updateFavorite, { productId: productId })\n .pipe(\n map((templateId: string) => {\n this.countFavorites().subscribe();\n if (templateId) {\n return true;\n } else {\n return false;\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public getProductIdFromStorage(): string {\n return this.storage.get(LocalStorageKeys.FAVORITE_PRODUCT_ID);\n }\n\n public createFavorites(productId: string): Observable {\n return this.http.post(RestEndpoint.createFavorite, { productId: productId })\n .pipe(\n map((templateId: string) => {\n this.countFavorites().subscribe();\n if (templateId) {\n return true;\n } else {\n return false;\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public createWatch(productId: string, email: string): Observable {\n return this.http.post(RestEndpoint.createWatch, { productId: productId, email: email })\n .pipe(\n map((templateId: string) => {\n if (templateId) {\n return true;\n } else {\n return false;\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public getBanners(): Observable> {\n return this.http.get(RestEndpoint.getAllKairosBanners, {})\n .pipe(\n map((data: any) => {\n this._settingsSource.next(data);\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public countFavorites(): Observable {\n return this.http.get(RestEndpoint.countFavorites, {})\n .pipe(\n map((data: any) => {\n this._settingsSource.next(data);\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public async getBrands(brand: string): Promise {\n try {\n const response: any = await this.http.get('https://parallelum.com.br/fipe/api/v1/carros/marcas').toPromise();\n if (response) {\n for(let data of response) {\n if(data[\"nome\"].toLowerCase() === brand.toLowerCase()) {\n return data[\"codigo\"]\n }\n }\n }\n } catch (err) { }\n }\n\n public async getModel(brand: string, model: string): Promise {\n try {\n const response: any = await this.http.get(`https://parallelum.com.br/fipe/api/v1/carros/marcas/${brand}/modelos`).toPromise();\n if (response) {\n for(let data of response[\"modelos\"]) {\n if(data[\"nome\"].toLowerCase() === model.toLowerCase()) {\n return data[\"codigo\"]\n }\n }\n }\n } catch (err) { }\n }\n\n public async getCarCode(brand: string, model: string, year: string): Promise {\n try {\n const response: any = await this.http.get(`https://parallelum.com.br/fipe/api/v1/carros/marcas/${brand}/modelos/${model}/anos`).toPromise();\n if (response) {\n for(let data of response) {\n if(data[\"nome\"].toLowerCase().includes(String(year).toLowerCase())) {\n return data[\"codigo\"]\n }\n }\n }\n } catch (err) { }\n }\n\n public async getPrice(brand: string, model: string, code: string): Promise {\n try {\n const response: any = await this.http.get(`https://parallelum.com.br/fipe/api/v1/carros/marcas/${brand}/modelos/${model}/anos/${code}`).toPromise();\n if (response) {\n return response[\"Valor\"];\n }\n } catch (err) { }\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { SnackBarTheme } from '../models/snackbar-theme.enum';\nimport { AccountService } from '../services/account/account.services';\nimport { TranslationConstants } from '../services/util/translation.constants';\nimport { SnackbarComponent } from '../snackbar/snackbar.component';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { ProductsBackend } from '../models/products.model';\nimport { UserLoggedModel } from '../models/user.logged.model';\nimport { OnkeypressService } from '../services/util/onkeypress.service';\n\n@Component({\n selector: 'app-schedule-contact-modal',\n templateUrl: './schedule-contact-modal.component.html',\n styleUrls: ['./schedule-contact-modal.component.scss']\n})\nexport class ScheduleContactModalComponent implements OnInit {\n\n public observation: string = '';\n public period: string = undefined;\n public contact: string = undefined;\n public loading: boolean;\n public contactForm: FormGroup = new FormGroup({\n email: new FormControl('', [Validators.email]),\n name: new FormControl('', []),\n });\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: { product: ProductsBackend, user: UserLoggedModel},\n private readonly accountService: AccountService,\n private readonly translationConstants: TranslationConstants,\n private readonly snackbarComponent: SnackbarComponent,\n private readonly keypressService: OnkeypressService // used in HTML\n ) { }\n\n public ngOnInit(): void {\n this.getUserLogged();\n }\n\n public close(): void {\n this.dialogRef.close();\n }\n\n public sendContact(): void {\n this.loading = true;\n this.accountService.sendNotification({\n name: this.contactForm?.value?.name,\n contact: this.contact,\n emailTo: this.contact,\n emailFrom: '',\n period: this.translationConstants.translate('scheduleContactDialog.' + this.period),\n observation: this.observation,\n product: this.data?.product?.name,\n storeId: this.data?.product?.store_id,\n subject: 'Contato - Kairos'\n }).subscribe(success => {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('scheduleContactDialog.success'), SnackBarTheme.success, 4000);\n setTimeout(() => {\n this.dialogRef.close()\n }, 2000);\n }).add(() => {\n this.loading = false;\n })\n }\n\n /**\n * To check if the user filled the Email or Number to contact and the period wished.\n */\n public checkToSend(): boolean {\n if (this.loading || (!this.contact || (!this.contactForm?.controls?.email || this.contactForm?.controls?.email?.invalid)) || !this.period) {\n return true;\n } else {\n return false;\n }\n }\n\n public getUserLogged(): void {\n if (this.data?.user) {\n this.contactForm.patchValue({name: this.data.user.name, email: this.data.user.email});\n }\n }\n\n public onKeyPressEvent(event: any){\n this.keypressService.onlyAllowNumbers(event, true, 15);\n }\n\n}\n","
\n \n close\n \n
\n

{{ 'scheduleContactDialog.title' | translate }}

\n
\n\n
\n \n\n \n
\n {{ 'simpleContactModal.hint.email' | translate }}\n
\n
\n\n
\n \n
\n \n {{ 'scheduleContactDialog.morning' | translate }}\n {{ 'scheduleContactDialog.afternoon' | translate }}\n {{ 'scheduleContactDialog.night' | translate}}\n \n
\n
\n\n \n {{ observation.length }} / 500\n\n
\n \n \n
\n \n
\n","/**\n * Verifies if the imputed email is valid.\n */\n export function emailValidator(email: string): boolean {\n const EMAIL_REGEX = /^(?:[\\w\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\`\\{\\|\\}\\~]+\\.)*[\\w\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\`\\{\\|\\}\\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\\-](?!\\.)){0,61}[a-zA-Z0-9]?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\\[(?:(?:[01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\.){3}(?:[01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\]))$/;\n \n return EMAIL_REGEX.test(email);\n}","import { Injectable } from '@angular/core';\nimport { MatPaginatorIntl } from '@angular/material/paginator';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TranslationConstants } from './translation.constants';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PaginatorTranslationService extends MatPaginatorIntl {\n\n constructor (\n private translate: TranslateService,\n private readonly translationConstants: TranslationConstants,\n\n ) {\n super();\n\n this.translate.onLangChange.subscribe((e: Event) => {\n this.initTranslations();\n });\n\n this.initTranslations();\n }\n\n public getRangeLabel = (page: number, pageSize: number, length: number): string => {\n const preposition: string = this.translationConstants.translate('paginator.of');\n if (length === 0 || pageSize === 0) {\n return `0 / ${length}`;\n }\n\n length = Math.max(length, 0);\n\n const startIndex: number = page * pageSize;\n const endIndex: number = startIndex < length\n ? Math.min(startIndex + pageSize, length)\n : startIndex + pageSize;\n\n return `${startIndex + 1} - ${endIndex} ${preposition} ${length}`;\n };\n\n public initTranslations(): void {\n this.itemsPerPageLabel = this.translationConstants.translate('paginator.itensPerPage');\n this.nextPageLabel = this.translationConstants.translate('paginator.nextPage');\n this.previousPageLabel = this.translationConstants.translate('paginator.previousPage');\n this.firstPageLabel = this.translationConstants.translate('paginator.firstPage');\n this.lastPageLabel = this.translationConstants.translate('paginator.lastPage');\n\n this.changes.next();\n }\n}\n","export const Snackbar = {\n DEFAULT_DURATION: 2000\n};\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { forkJoin, Subscription } from 'rxjs';\nimport { SnackBarTheme } from 'src/app/shared/models/snackbar-theme.enum';\nimport { LetterOfCreditService } from 'src/app/shared/services/letter-of-credit/letter-of-credit.service';\nimport { TranslationConstants } from 'src/app/shared/services/util/translation.constants';\nimport { SimpleContactModalComponent } from 'src/app/shared/simple-contact-modal/simple-contact-modal.component';\nimport { SnackbarComponent } from 'src/app/shared/snackbar/snackbar.component';\nimport { v4 as uuid } from 'uuid';\nimport { ModalRequestComponent } from '../modal-request/modal-request.component';\nimport { AccountService } from 'src/app/shared/services/account/account.services';\nimport BigNumber from 'bignumber.js';\nimport { RequestDocument } from 'src/app/shared/models/request-document.model';\nimport { ShoppingCartService } from 'src/app/shared/services/cart/shopping-cart.service';\nimport { FileService } from 'src/app/shared/services/util/file.service';\nimport { Requests } from 'src/app/shared/models/Requests';\nimport { RequestHistory } from 'src/app/shared/models/RequestHistory';\nimport { RequestStatus } from 'src/app/shared/models/RequestsStatusEnum';\nimport { ValueConverterService } from 'src/app/shared/services/util/value-converter.service';\nimport { OnkeypressService } from 'src/app/shared/services/util/onkeypress.service';\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\nimport { BottomSheetComponent } from 'src/app/shared/bottom-sheet/bottom-sheet.component';\nimport { ConfigReaderService } from 'src/app/shared/services/util/config.reader.service';\nimport { EContactChannels, IContactDetails } from 'src/app/shared/models/IContactDetails';\nimport { TokensService } from 'src/app/shared/services/tokens/token.service';\nimport { FileStorageConfidentiality, FileStorageDocumentType } from 'src/app/shared/models/file.model';\n\n@Component({\n selector: 'app-new',\n templateUrl: './new.component.html',\n styleUrls: ['./new.component.scss', '../panel/panel.component.scss']\n})\nexport class NewComponent implements OnInit {\n\n public userName: string = \"\";\n public loading: boolean = false;\n public new: boolean = false;\n public view: boolean = false;\n public newValueAnswered: boolean;\n public filesSizeError: boolean;\n public filesSize: number = 0;\n public maxSize = 10000000; // 10MB\n public requestAmount: number;\n public tokensAmount: string = '0,00';\n public tokenPrice: BigNumber = new BigNumber(0);\n public filesUploadedTable: Array = [];\n public documentRequest: Array = [];\n public displayedColumns: Array = ['name', 'date', 'select' ];\n public dataSource: MatTableDataSource;\n public creditLetter: Requests = new Requests();\n public requestedValueNumber: string = \"\";\n private paramsSubscription: Subscription;\n private contactDetails: IContactDetails = undefined;\n public enableContactButton: boolean = false;\n\n constructor(\n private readonly snackBarComponent: SnackbarComponent,\n private readonly translationConstants: TranslationConstants,\n private readonly router: Router,\n private readonly activatedRoute: ActivatedRoute,\n private readonly letterOfCreditService: LetterOfCreditService,\n private readonly shoppingCartService: ShoppingCartService,\n private readonly fileService: FileService,\n private readonly dialog: MatDialog,\n private readonly accountService: AccountService,\n private readonly valueConverter: ValueConverterService,\n private readonly bottomSheet: MatBottomSheet,\n private readonly myConfigReaderService: ConfigReaderService,\n private readonly tokenService: TokensService,\n private readonly keypressService: OnkeypressService // used in HTML\n ) { }\n\n public ngOnChanges(): void {\n this.initCreditLetterDetails();\n }\n\n public ngOnInit(): void {\n this.dataSource = new MatTableDataSource(this.filesUploadedTable);\n this.userName = \"\";\n this.accountService.getUserDetails().subscribe((user: any) => {\n if (user?.firstName) {\n this.userName = user.firstName;\n }\n });\n\n this.initCreditLetterDetails();\n\n this.tokenService.getTokens().subscribe(tokens => {\n let mainToken = tokens.find(tkn => tkn.isMain);\n forkJoin([\n this.shoppingCartService.quotations(mainToken?.id),\n this.myConfigReaderService.getContactDetails()\n ]).subscribe(async ([quotation, contactDetails]) => {\n this.tokenPrice = new BigNumber(quotation.amount || 0);\n this.contactDetails = new IContactDetails(contactDetails);\n this.enableContactButton = this.contactDetails.enableContactButton();\n });\n });\n\n \n }\n\n public initCreditLetterDetails(): void {\n const url = this.router.url;\n this.view = false;\n this.new = false;\n\n if (url.match('/view')) {\n this.view = true;\n } else if (url.match('/new')) {\n this.new = true;\n }\n if (!this.new) {\n this.paramsSubscription = this.activatedRoute.params.subscribe(\n (params: Params) => {\n const number: string = params['id'];\n if (number) {\n this.loading = true;\n this.letterOfCreditService.getRequest(number).subscribe(letter => {\n if (letter) {\n this.creditLetter = letter;\n this.filesUploadedTable = this.creditLetter.documentList;\n this.dataSource.data = this.filesUploadedTable;\n this.tokenPrice = new BigNumber(this.creditLetter.tokenQuotation);\n this.requestedValueNumber = this.creditLetter.valueRequested as any;\n this.convertTokens(this.requestedValueNumber);\n this.creditLetter.history = this.sortByDateTime(this.creditLetter.history);\n this.newValueAnswered = new BigNumber(this.creditLetter.valueOffered)?.isPositive();\n }\n }, err => {\n this.snackBarComponent.openSnackBar(this.translationConstants.translate('creditLetter.snackbar.error.undefined'), SnackBarTheme.error, 4000);\n this.router.navigate(['/credit-conversion/panel']);\n }).add(() => this.loading = false);\n } else {\n this.loading = false;\n }\n }\n );\n }\n }\n\n public mayEditByStatus(): boolean{\n return this.creditLetter.currentStatus === RequestStatus.S || this.creditLetter.currentStatus === RequestStatus.R;\n }\n\n public sortByDateTime(list: Array): Array {\n const sortedList = list.sort((a, b) => {\n return a.date < b.date ? -1 : a.date > b.date ? 1 : 0;\n });\n return sortedList.reverse();\n }\n\n public blockNegativeNumber(event: any, value: number): void {\n if (value == 0) {\n event.preventDefault();\n }\n }\n\n public onKeyPressEvent(event: any){\n this.keypressService.onlyAllowNumbers(event);\n }\n\n public convertTokens(amountMoney: number | string | BigNumber): void {\n let amountInBigNumber: BigNumber = new BigNumber(0);\n if (!BigNumber.isBigNumber(amountMoney)) {\n amountInBigNumber = this.valueConverter.fromStringFormatToBigNumber(amountMoney.toString());\n }\n this.tokensAmount = amountInBigNumber.dividedBy(this.tokenPrice).toFormat(6);\n }\n\n public addNewFile(files: FileList): void {\n if ((files?.length + this.dataSource?.data?.length) > 30) {\n this.snackBarComponent.openSnackBar( this.translationConstants.translate('creditLetter.new.fileLimit'), SnackBarTheme.error, 4000 );\n return;\n }\n\n if (files?.length) {\n if (!this.mapDocuments(files, true)){\n return;\n }\n }\n\n this.filesSizeError = this.filesSize > this.maxSize;\n if (this.filesSizeError) {\n this.snackBarComponent.openSnackBar( this.translationConstants.translate('creditLetter.new.fileLimit'), SnackBarTheme.error, 4000 );\n }\n }\n\n public openBottomSheet(element: string): void {\n const sheetRef: any = this.bottomSheet.open(BottomSheetComponent, {\n data: {\n text: this.translationConstants.translate('creditLetter.bottomSheet.confirmDeleteFile'),\n declineOption: this.translationConstants.translate('creditLetter.bottomSheet.cancel'),\n confirmOption: this.translationConstants.translate('creditLetter.bottomSheet.delete'),\n }\n });\n sheetRef.afterDismissed().subscribe(action => {\n if (action) {\n this.snackBarComponent.openSnackBar( this.translationConstants.translate('creditLetter.bottomSheet.removedFile'), SnackBarTheme.success, 4000 );\n this.removeFile(element);\n }\n }, error => {\n this.snackBarComponent.openSnackBar( this.translationConstants.translate('creditLetter.bottomSheet.removeError'), SnackBarTheme.error, 4000 );\n });\n }\n\n public removeFile(docId: string): void{\n this.creditLetter.documentList = this.creditLetter?.documentList.filter(doc => doc.id !== docId);\n this.filesUploadedTable = this.creditLetter.documentList;\n this.dataSource.data = this.filesUploadedTable;\n }\n\n // Verificar tipo do \"documents\"\n public mapDocuments(files: FileList | any[], load: boolean): boolean {\n for (let i = 0; i < files.length; i++) {\n\n this.filesSize += files[i].size;\n\n if (load) {\n const reader = new FileReader();\n const file = files[i];\n let normFileName: string = this.normalizeFileName(file.name);\n reader.readAsDataURL(file);\n reader.onload = (event) => {\n this.fileService.uploadFile({\n file: event.target.result,\n name: normFileName,\n confidentiality: FileStorageConfidentiality.SECURED,\n documentType: FileStorageDocumentType.CREDIT_LETTER\n }).subscribe(data => {\n this.documentRequest.push({\n id: uuid(),\n url: data?.value,\n providedAt: new Date()\n });\n this.filesUploadedTable.push(\n {\n url: data.value,\n providedAt: new Date(),\n size: file.size,\n id: uuid(),\n name: normFileName\n }\n );\n this.dataSource.data = this.filesUploadedTable;\n }, error => {\n this.snackBarComponent.openSnackBar(this.translationConstants.translate('creditLetter.docUploadError'), SnackBarTheme.error, 4000);\n return false;\n })\n };\n }\n }\n\n this.filesSizeError = this.filesSize > this.maxSize; // in MB\n return true;\n }\n\n public normalizeFileName(fileName: string): string{\n return fileName.normalize('NFD').replace(/([\\u0300-\\u036f]|[^0-9a-zA-Z][\\-\\_])/g, '');\n }\n\n public formatFileSize(size: any): string {\n if (typeof size === 'number') {\n const fileSize = size / (1000 * 1000); // in MB\n\n return fileSize >= 1 ? `${fileSize.toFixed(2)}MB` : `${(fileSize*1000).toFixed(2)}KB`;\n }\n }\n\n public getNameFromURL(url: string): string{\n let name: string = '';\n if (url && url.indexOf('/')){\n name = url.split('/').pop();\n }\n return name;\n }\n\n public deleteItem(size: number, index: number): void {\n\n this.filesSize -= size;\n\n this.filesUploadedTable = this.filesUploadedTable.filter((item, i) => index !== i);\n this.dataSource.data = this.filesUploadedTable;\n this.filesSizeError = this.filesSize > this.maxSize;\n }\n\n public backToPanel(): void {\n this.router.navigate(['/credit-conversion/panel']);\n }\n\n public createNewRequest(): void {\n this.loading = true;\n this.creditLetter.id = uuid();\n this.creditLetter.createdAt = new Date();\n this.creditLetter.currentStatus = RequestStatus.S;\n this.creditLetter.documentList = this.documentRequest;\n this.creditLetter.tokenQuotation = this.tokenPrice;\n this.creditLetter.history = [];\n this.creditLetter.valueRequested = this.valueConverter.handlingMonetaryAmount(this.requestedValueNumber);\n this.letterOfCreditService.createNewRequest(this.creditLetter).subscribe(success => {\n this.snackBarComponent.openSnackBar(this.translationConstants.translate('creditLetter.new.requestCreatedSuccess'), SnackBarTheme.success, 4000);\n this.router.navigate(['/credit-conversion/panel']);\n }, err => {\n this.snackBarComponent.openSnackBar(this.translationConstants.translate('creditLetter.new.creationError'), SnackBarTheme.error, 4000);\n }).add(() => this.loading = false);\n }\n\n // When the status in \"New\"\n public updateRequest(): void {\n const requestedValue: BigNumber = new BigNumber(this.valueConverter.handlingMonetaryAmount(this.requestedValueNumber).toString().replace('.', ''));\n if (requestedValue && requestedValue.isGreaterThan(0)) {\n this.creditLetter.valueRequested = requestedValue;\n this.updateLetter('requestSavedSuccess');\n } else {\n this.snackBarComponent.openSnackBar(this.translationConstants.translate('creditLetter.snackbar.error.undefined'), SnackBarTheme.error, 4000);\n }\n }\n\n // For all updates\n public updateLetter(successMessage: string): void {\n this.loading = true;\n\n this.letterOfCreditService.updateLetter(this.creditLetter).subscribe(success => {\n this.snackBarComponent.openSnackBar(this.translationConstants.translate(`creditLetter.new.${successMessage}`), SnackBarTheme.success, 4000);\n this.backToPanel();\n }, error => {\n this.snackBarComponent.openSnackBar(this.translationConstants.translate(`creditLetter.snackbar.error.${error.code}`), SnackBarTheme.error, 4000);\n }).add(() => this.loading = false);\n }\n\n public deny(): void {\n this.openModalRequest('deny');\n }\n\n public answer(): void {\n this.openModalRequest('answer');\n }\n\n public approve(): void {\n this.openModalRequest('approve');\n }\n\n public openModalRequest(title: string): void {\n const dialogRef = this.dialog.open(ModalRequestComponent, {\n panelClass: 'modal-letter-request',\n data: {\n title,\n letter: this.creditLetter\n }\n });\n\n dialogRef.afterClosed().subscribe((data: {operation: string, letter: Requests}) => {\n let serviceSuccess: boolean = false;\n let operationMessage: string;\n\n if (data) {\n if (data.operation === 'deny') {\n operationMessage = 'requestDeniedSuccess';\n } else if (data.operation === 'approve') {\n operationMessage = 'requestApprovedSuccess';\n } else if (data.operation === 'answer') {\n operationMessage = 'answeredSuccess';\n }\n this.updateLetter(operationMessage);\n }\n });\n }\n\n public openContactModal(): void {\n const channel: EContactChannels = this.contactDetails.channelToUse();\n if (EContactChannels.EMAIL === channel){\n this.dialog.open( SimpleContactModalComponent, {\n panelClass: 'customDialog',\n data: {\n contactDetails: this.contactDetails\n } \n } );\n }else if (EContactChannels.CHAT === channel){\n window.open(this.contactDetails.tawkTo);\n }\n }\n\n public bigToNumber(value: BigNumber): number {\n return value ? value.toNumber() : 0;\n }\n\n public editLetter(letterNumber: number): void {\n this.router.navigate([`/credit-conversion/edit/${letterNumber}`])\n }\n\n public disablingInput(): boolean {\n if (!this.new && this.creditLetter?.currentStatus != 'STARTED' || this.view) {\n return true;\n } else {\n return false;\n }\n }\n}\n","
\n

{{ 'creditLetter.new.title' | translate }}

\n

\n {{ '#' + creditLetter?.id }} - {{ 'creditLetter.statusEnum.' + creditLetter?.currentStatus | translate }}\n

\n\n

\n {{ 'creditLetter.new.analyzingText' | translate }}\n \n {{ 'creditLetter.new.contactPre' | translate }}\n {{ ('creditLetter.new.contact' | translate) }}.\n \n

\n\n

\n {{ 'creditLetter.new.approvedLn1' | translate }}\n {{ 'creditLetter.new.approvedLn2' | translate }}\n {{ 'creditLetter.new.approvedLn3' | translate }}\n {{ creditLetter?.valueOffered | currency: ('tokenInformation.currency' | translate ) }}\n\n

\n\n
\n
\n \n \n
\n swap_horiz\n
\n \n \n
\n
\n\n
\n

{{ 'creditLetter.new.documents' | translate }}

\n
\n \n \n

{{ 'creditLetter.new.fileType' | translate }}

\n
\n
\n\n
0\">\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n
{{ 'creditLetter.new.file' | translate }}\n {{getNameFromURL(element?.url)}}\n {{ 'creditLetter.new.date' | translate }}\n \n {{ element?.providedAt | date: 'shortDate' }}\n \n \n delete\n
\n
\n
\n\n

{{ 'creditLetter.new.shouldAdd' | translate }}

\n\n
\n

{{ 'creditLetter.new.history' | translate }}

\n\n
\n

\n {{ 'creditLetter.history.' + (creditLetter?.currentStatus == 'APPROVED' ? 'approvedBy' : 'deniedBy') | translate }}\n {{ (creditLetter?.history[0].analist ? creditLetter?.history[0].analist : userName) | titlecase }}\n {{ 'creditLetter.history.at' | translate }}\n {{ creditLetter?.history[0].date | date: 'shortDate' }} - {{ creditLetter?.history[0].date | date: 'shortTime' }}\n

\n

\n {{ 'creditLetter.history.' + (creditLetter?.currentStatus == 'APPROVED' ? 'approvedIn' : 'deniedIn') | translate }}\n {{ creditLetter?.valueRequested | currency: ('tokenInformation.currency' | translate ) }}\n ({{ tokensAmount }} {{ 'creditLetter.history.tokens' | translate }})\n

\n
\n\n
\n

\n {{ 'creditLetter.history.from' | translate }}\n {{ message?.analist ? message.analist : userName }}\n {{ 'creditLetter.history.requester' | translate }}\n {{ 'creditLetter.history.at' | translate }}\n {{ message.date | date: 'shortDate' }} - {{ message.date | date: 'shortTime' }}\n\n

\n

{{ message.comment }}

\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n \n
\n\n
\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MaterialModule } from './material/material.module';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { NgxMaskModule } from 'ngx-mask';\nimport { ServicesModule } from './services/services.module';\nimport { SnackbarComponent } from './snackbar/snackbar.component';\nimport { BottomSheetComponent } from './bottom-sheet/bottom-sheet.component';\nimport { LayoutModule } from './layout/layout.module';\nimport { CarouselModule } from 'ngx-owl-carousel-o';\nimport { DragScrollModule } from 'ngx-drag-scroll';\nimport { AuthGuardService } from '../guards/auth-guard.service';\nimport { BlockPasteDirective } from './directives/block-paste.directive';\nimport { NgxQRCodeModule } from '@techiediaries/ngx-qrcode';\nimport { ServiceButtonComponent } from './service-button/service-button.component';\nimport { WaitlistModalComponent } from './waitlist-modal/waitlist-modal.component';\nimport { WatchlistModalComponent } from './watchlist-modal/watchlist-modal.component';\nimport { ScheduleContactModalComponent } from './schedule-contact-modal/schedule-contact-modal.component';\nimport { RateModalComponent } from './rate-modal/rate-modal.component';\nimport { RecommendedProductsComponent } from './recommended-products/recommended-products.component';\nimport { ClickStopPropagation } from './directives/stop-propagation.directive';\nimport { SimpleContactModalComponent } from './simple-contact-modal/simple-contact-modal.component';\nimport { MaskValueDirective } from './directives/mask-value.directive';\n\n@NgModule({\n declarations: [\n SnackbarComponent,\n BottomSheetComponent,\n BlockPasteDirective,\n ServiceButtonComponent,\n WaitlistModalComponent,\n WatchlistModalComponent,\n ScheduleContactModalComponent,\n RateModalComponent,\n RecommendedProductsComponent,\n ClickStopPropagation,\n SimpleContactModalComponent,\n MaskValueDirective\n ],\n imports: [\n CommonModule,\n MaterialModule,\n RouterModule,\n TranslateModule,\n NgxMaskModule.forChild(),\n ServicesModule,\n ReactiveFormsModule,\n LayoutModule,\n NgxQRCodeModule,\n CarouselModule,\n DragScrollModule\n ],\n exports: [\n MaterialModule,\n RouterModule,\n TranslateModule,\n ServicesModule,\n SnackbarComponent,\n BottomSheetComponent,\n ReactiveFormsModule,\n LayoutModule,\n CarouselModule,\n DragScrollModule,\n BlockPasteDirective,\n ServiceButtonComponent,\n WaitlistModalComponent,\n WatchlistModalComponent,\n RateModalComponent,\n RecommendedProductsComponent,\n ClickStopPropagation,\n SimpleContactModalComponent,\n MaskValueDirective\n ],\n providers: [\n SnackbarComponent,\n AuthGuardService,\n ]\n})\nexport class SharedModule { }\n","import { FormControl, ValidationErrors } from '@angular/forms';\n\n/**\n * Verifies if the imputed name is positive.\n */\n\nconst ALPHA_NUMERIC_REGEX = /^[a-zA-ZÀ-ú1-9\\s]*$/;\nconst ALPHA_NUMERIC_VALIDATION_ERROR = { alphaNumericError: 'only alpha numeric values are allowed' };\n\nexport function alphaNumericValidator(control: FormControl): ValidationErrors | null {\n return ALPHA_NUMERIC_REGEX.test(control.value) ? undefined : ALPHA_NUMERIC_VALIDATION_ERROR;\n}","import { Component } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { SnackBarTheme } from '../models/snackbar-theme.enum';\nimport { Snackbar } from '../../constants/snackbar.constants';\n\n@Component({\n selector: 'app-snackbar',\n templateUrl: './snackbar.component.html'\n})\nexport class SnackbarComponent {\n constructor(\n public snackBar: MatSnackBar\n ) { }\n\n public openSnackBar(message: string, theme: SnackBarTheme, duration?: number): void {\n let themeNew: string;\n if (theme === SnackBarTheme.error) {\n themeNew = 'error_new';\n } else if (theme === SnackBarTheme.success) {\n themeNew = 'success_new';\n } else {\n themeNew = 'default_new';\n }\n\n this.snackBar.open(message, 'X', {\n duration: duration || Snackbar.DEFAULT_DURATION,\n panelClass: [themeNew]\n });\n }\n}","import { Component, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { environment } from 'src/environments/environment';\nimport { FeatureNames } from './shared/models/feature-names.enum';\nimport { PricesService } from './shared/services/prices/prices.service';\nimport { FeaturesStatusService } from './shared/services/util/features-status.service';\nimport { TranslatableParametersService } from './shared/services/util/translatable.parameters.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit {\n public title: string = 'kairos';\n\n constructor(\n private readonly translate: TranslateService,\n private readonly router: Router,\n private readonly featuresStatusService: FeaturesStatusService,\n private readonly priceService: PricesService,\n private readonly translatableService: TranslatableParametersService,\n private titleService: Title\n ) {\n this.translate.addLangs(['en', 'fr', 'pt-br']);\n this.translate.setDefaultLang('pt-br');\n\n const browserLang = this.translate.getBrowserLang();\n translate.use(browserLang.match(/en|fr|pt-br/) ? browserLang : 'pt-br');\n }\n\n public getAllFeatureStatus(): void {\n // Get all Features names\n const featuresList: Array<[string, FeatureNames]> = Object.entries(FeatureNames);\n\n // Load all feature statuses when loading the app\n featuresList.map(([key, value]) => this.featuresStatusService.getFeatureStatus(value, true).subscribe());\n }\n\n public ngOnInit(): void {\n if (environment?.pageTitle){\n this.titleService.setTitle(environment.pageTitle);\n }\n\n this.getAllFeatureStatus();\n this.priceService.getShippingData(true).subscribe();\n this.router.events.subscribe((evt) => {\n if (!(evt instanceof NavigationEnd)) {\n return;\n }\n window.scrollTo(0, 0);\n });\n\n this.translatableService.getTexts().subscribe();\n }\n}\n","\n","import { Component, Inject, OnInit, Output } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AccountService } from '../services/account/account.services';\nimport { LoginUser } from '../../shared/models/login.user.model'\nimport { SnackbarComponent } from '../snackbar/snackbar.component';\nimport { TranslationConstants } from '../services/util/translation.constants';\nimport { SnackBarTheme } from '../models/snackbar-theme.enum';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { IContactDetails } from '../models/IContactDetails';\n\n\n@Component({\n selector: 'app-simple-contact-modal',\n templateUrl: './simple-contact-modal.component.html',\n styleUrls: ['./simple-contact-modal.component.scss']\n})\nexport class SimpleContactModalComponent implements OnInit {\n\n public loading: boolean;\n public contactForm: FormGroup = new FormGroup({\n name: new FormControl('', [Validators.required]),\n email: new FormControl('', [Validators.required, Validators.email]),\n text: new FormControl('', [Validators.required, Validators.minLength(8)])\n });\n private contactDetails: IContactDetails = undefined;\n\n constructor(\n private readonly dialogRef: MatDialogRef,\n private readonly accountService: AccountService,\n private readonly translationConstants: TranslationConstants,\n private readonly snackbarComponent: SnackbarComponent,\n @Inject(MAT_DIALOG_DATA) public data: {contactDetails: IContactDetails},\n ) \n { \n this.contactDetails = data.contactDetails;\n }\n\n public ngOnInit(): void {\n // To be responsive\n this.dialogRef.addPanelClass('custom-modal');\n this.userLogged();\n }\n\n public mailMe(){\n this.loading = true;\n this.accountService.sendNotification({\n name: this.contactForm.value.name,\n contact: undefined,\n emailFrom: this.contactForm.value.email,\n emailTo: this.contactDetails.email,\n period: 'undefined',\n observation: this.contactForm.value.text,\n product: undefined,\n storeId: undefined,\n subject: 'Contato - Kairos'\n }).subscribe(success => {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('scheduleContactDialog.success'), SnackBarTheme.success, 4000);\n setTimeout(() => {\n this.dialogRef.close()\n }, 2000);\n }, error => {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('simpleContactModal.error'), SnackBarTheme.error, 4000);\n }).add(() => {\n this.loading = false;\n })\n\n }\n\n public close(): void {\n this.dialogRef.close();\n }\n\n public userLogged(): void {\n this.accountService.isAuthenticated(true).subscribe(success => {\n if (success) {\n this.accountService.getUserDetails().subscribe((user: LoginUser) => {\n if (user) {\n this.contactForm.patchValue({name: user.name.charAt(0).toUpperCase() + user.name.slice(1, user.name.length), email: user.email})\n }\n })\n }\n })\n }\n}\n","
\n
\n

{{ 'simpleContactModal.title' | translate }}

\n close\n
\n\n
\n
\n \n
\n {{ 'simpleContactModal.hint.name' | translate }}\n
\n
\n\n
\n \n
\n {{ 'simpleContactModal.hint.email' | translate }}\n
\n
\n\n
\n \n

{{ contactForm?.value?.text?.length }} / 500

\n
\n {{ 'simpleContactModal.hint.text' | translate }}\n
\n
\n\n
\n\n
\n \n \n
\n \n
\n","import { RequestDocument } from \"./DocumentList\";\nimport { RequestStatus } from \"./RequestsStatusEnum\";\nimport BigNumber from \"bignumber.js\";\nimport { RequestHistory } from \"./RequestHistory\";\n\nexport class Requests {\n public id: string;\n public userId: string;\n public currentStatus: RequestStatus;\n public documentList?: Array = [];\n public history?: Array = [];\n public createdAt: Date;\n public analist?: string;\n public approvedBy?: string;\n public valueRequested: BigNumber;\n public valueOffered?: BigNumber;\n public tokenQuotation: BigNumber;\n public userAccepted?: boolean;\n public analistInfo?: any;\n public user?: any;\n public comment?: string;\n}\n\nexport class RequestsSearch {\n public status: RequestStatus;\n public from: Date;\n public to: Date;\n public minValue: number;\n public maxValue: number;\n public orderForMax: boolean;\n public orderForMin: boolean;\n}","import { FormControl, ValidationErrors } from '@angular/forms';\n\n//Allow only letters, might be uppercase or lowercase\n//At least 3 characters for firstName\n//An space to indicate the lastName\n//Then at least 1 character for lastName\nconst FULL_NAME_REGEX = /^[a-zA-ZÀ-ú1-9]{3,} [a-zA-ZÀ-ú1-9]{1,}/;\nconst FULL_NAME_VALIDATION_ERROR = { alphaNumericError: 'should be provided a name and a last name' };\n\nexport function fullNameValidator(control: FormControl): ValidationErrors | null {\n return FULL_NAME_REGEX.test(control.value) ? undefined : FULL_NAME_VALIDATION_ERROR;\n}","export enum RequestStatus {\n S=\"STARTED\",\n AN=\"ANALYSING\",\n R=\"RETURNED\",\n AP=\"APPROVED\",\n D=\"DENIED\"\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedModule } from '../shared/shared.module';\nimport { RouterModule } from '@angular/router';\nimport { CreditLetterComponent } from './credit-letter.component';\nimport { TokenInformationComponent } from './token-information/token-information.component';\nimport { HowWorksComponent } from './how-works/how-works.component';\nimport { PanelComponent } from './panel/panel.component';\nimport { NewComponent } from './new/new.component';\nimport { ModalRequestComponent } from './modal-request/modal-request.component';\n\n@NgModule({\n declarations: [\n CreditLetterComponent,\n TokenInformationComponent,\n HowWorksComponent,\n PanelComponent,\n NewComponent,\n ModalRequestComponent\n ],\n imports: [\n CommonModule,\n SharedModule,\n RouterModule.forChild([\n {\n path: '',\n component: CreditLetterComponent,\n children: [\n {\n path: 'panel',\n component: PanelComponent\n },\n {\n path: 'new',\n component: NewComponent\n },\n {\n path: 'view/:id',\n component: NewComponent\n },\n {\n path: 'edit/:id',\n component: NewComponent\n }\n ]\n }\n ])\n ]\n})\nexport class CreditLetterModule { }\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../constants/rest-endpoint.constants\";\nimport { RequestDocument } from \"../../models/DocumentList\";\nimport { Requests } from \"../../models/Requests\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LetterOfCreditService {\n\n constructor(\n private readonly http: HttpClient\n ) { }\n\n public getRequests(): Observable> {\n return this.http.get(RestEndpoint.getAllRequests, {})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public getRequest(letterIdentifier: string): Observable {\n return this.http.get(RestEndpoint.getRequest, {\n params: {\n letterIdentifier\n }\n })\n .pipe(\n map((data: Requests) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public getLettersByNumber(id: string): Observable {\n return;\n }\n\n public createNewRequest(creditLetter: Requests): Observable {\n return this.http.post(`${RestEndpoint.createRequest}`, creditLetter)\n .pipe(\n map((data: any) => data.id)\n );\n }\n\n public updateLetter(updatedLetter: Requests): Observable {\n return this.http.put(`${RestEndpoint.updateRequest}`, updatedLetter)\n .pipe(\n map((data: any) => data)\n );\n }\n\n public assignToMe(updatedLetter: Requests): Observable {\n return this.http.put(`${RestEndpoint.assignToMe}`, updatedLetter)\n .pipe(\n map((data: any) => data.id)\n );\n }\n\n public createDocument(requestDocument: RequestDocument): Observable {\n return this.http.post(`${RestEndpoint.createDocument}`, requestDocument)\n .pipe(\n map((data: any) => data.id)\n );\n }\n\n public deleteDocument(documentId: string): Observable {\n return this.http.delete(`${RestEndpoint.deleteDocument}/${documentId}`)\n .pipe(\n map((data: any) => data.id)\n );\n }\n}\n","import { AfterViewInit, Component, OnInit } from '@angular/core';\nimport BigNumber from 'bignumber.js';\nimport { forkJoin } from 'rxjs';\nimport { ShoppingCartService } from 'src/app/shared/services/cart/shopping-cart.service';\nimport { TokensService } from 'src/app/shared/services/tokens/token.service';\n\n@Component({\n selector: 'app-token-information',\n templateUrl: './token-information.component.html',\n styleUrls: ['./token-information.component.scss']\n})\nexport class TokenInformationComponent implements OnInit, AfterViewInit {\n\n public loading: boolean;\n public quoteDay: BigNumber;\n public tokens: BigNumber = new BigNumber(0);\n public money: BigNumber = new BigNumber(0);\n public tokenName: string;\n public mainToken: string;\n public tokenIcon: string = ''; // image URL\n\n constructor(\n private readonly shoppingCartService: ShoppingCartService,\n private readonly tokenService: TokensService,\n ) { }\n\n public ngOnInit(): void {\n this.tokenService.getTokens().subscribe(tokens => {\n let mainToken = tokens.find(tkn => tkn.isMain);\n this.mainToken = mainToken.id;\n this.getUserBalance(mainToken.id);\n });\n }\n\n public getUserBalance(unitOfMoney: string): void {\n forkJoin([\n this.shoppingCartService.quotations(unitOfMoney),\n this.shoppingCartService.balance(unitOfMoney)\n ]).subscribe(async ([data, balance]) => {\n this.quoteDay = new BigNumber(data.amount || 0);\n this.tokens = new BigNumber(balance[0]?.balance);\n this.money = new BigNumber(this.tokens).multipliedBy(this.quoteDay);\n });\n }\n\n public ngAfterViewInit(): void {\n this.getCardWidth();\n window.addEventListener('resize', () => {\n this.getCardWidth();\n });\n }\n\n public getCardWidth(): void {\n // let tokenCard = document.querySelector('.token-card') as HTMLElement;\n // let tokenCardWidth = document.querySelector('.token-card').clientWidth;\n\n // if (tokenCardWidth < 330) {\n // tokenCard.classList.replace('inline', 'column');\n // } else {\n // tokenCard.classList.replace('column', 'inline');\n // }\n // console.log(tokenCard);\n }\n\n public toNumber(bigNumber: BigNumber): number {\n return bigNumber?.toNumber();\n }\n}\n","
\n
\n
\n monetization_on\n \"token\n
\n {{ mainToken ? mainToken : 'Tokens' }}\n
\n
\n
\n {{ 'tokenInformation.quoteDay' | translate }}\n R$ {{ toNumber(quoteDay) | number:'1.2-4' }}\n
\n
\n\n
\n
\n {{ 'tokenInformation.tokenBalance' | translate }}\n {{ toNumber(tokens) | number:'1.2-4' }}\n
\n\n
\n {{ 'tokenInformation.moneyBalance' | translate }}\n R$ {{ toNumber(money) | number:'1.2-4' }}\n
\n
\n
\n","import { Directive, ElementRef, HostListener, Injectable } from '@angular/core';\nimport { ValueConverterService } from '../services/util/value-converter.service';\n\n@Directive({\n selector: '[appMaskValue]'\n})\nexport class MaskValueDirective {\n\n constructor(private el: ElementRef,\n public readonly valueConverterService: ValueConverterService,\n ) { }\n\n @HostListener('input', ['$event'])\n public inputChange(event: any): void {\n this.onInputChange(event.target.value);\n }\n\n public onInputChange(originalValue) {\n let newVal = this.valueConverterService.formatMonetaryInput(originalValue, false);\n if (newVal){\n this.el.nativeElement.value = newVal;\n }\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport BigNumber from 'bignumber.js';\nimport { forkJoin } from 'rxjs';\nimport { LetterOfCreditStatus } from 'src/app/shared/models/letter-credit-status.enum';\nimport { ShoppingCartService } from 'src/app/shared/services/cart/shopping-cart.service';\nimport { TokensService } from 'src/app/shared/services/tokens/token.service';\nimport { OnkeypressService } from 'src/app/shared/services/util/onkeypress.service';\nimport { ValueConverterService } from 'src/app/shared/services/util/value-converter.service';\nimport { LetterOfCredit } from '../../shared/models/letter-of-credit.model';\n\n@Component({\n selector: 'app-modal-request',\n templateUrl: './modal-request.component.html',\n styleUrls: ['./modal-request.component.scss', '../new/new.component.scss']\n})\nexport class ModalRequestComponent implements OnInit {\n\n public title: string = 'answer';\n public letter: LetterOfCredit;\n public suggestValue: boolean;\n public tokensAmount: string = '0,00';\n public tokenPrice: BigNumber = new BigNumber(0);\n public message: string;\n public proposedValue: number = 0;\n\n constructor(\n private readonly dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private readonly shoppingCartService: ShoppingCartService,\n private readonly valueConverter: ValueConverterService,\n private readonly tokenService: TokensService,\n private readonly keypressService: OnkeypressService // used in HTML\n ) { }\n\n public ngOnInit(): void {\n if (this.data) {\n this.title = this.data.title;\n this.letter = this.data.letter;\n this.tokenPrice = this.letter.tokenQuotation;\n this.proposedValue = new BigNumber(this.letter.valueOffered).toNumber();\n this.tokenService.getTokens().subscribe(tokens => {\n let mainToken = tokens.find(tkn => tkn.isMain);\n forkJoin([\n this.shoppingCartService.quotations(mainToken?.id),\n ]).subscribe(async ([data]) => {\n this.tokenPrice = new BigNumber(data.amount);\n this.convertTokens(this.letter.valueOffered);\n });\n });\n \n }\n this.dialogRef.addPanelClass('custom-modal');\n }\n\n public onKeyPressEvent(event: any){\n this.keypressService.onlyAllowNumbers(event);\n }\n\n public blockNegativeNumber(event: any, value: number): void {\n if (value == 0) {\n event.preventDefault();\n }\n }\n\n public convertTokens(amountMoney: number | string | BigNumber): void {\n this.tokensAmount = this.valueConverter.convertCurrencyToTokens(this.tokenPrice, amountMoney);\n }\n\n public confirmOperation(): void {\n if (this.title === 'answer') {\n this.letter.valueRequested = new BigNumber(this.proposedValue);\n this.letter.currentStatus = LetterOfCreditStatus.AN;\n } else if (this.title === 'deny') {\n this.letter.currentStatus = LetterOfCreditStatus.D;\n } else if (this.title === 'approve') {\n this.letter.currentStatus = LetterOfCreditStatus.AP;\n this.letter.valueRequested = new BigNumber(this.proposedValue);\n }\n this.letter.comment = this.message;\n this.dialogRef.close({\n operation: this.title,\n letter: this.letter\n });\n }\n}\n","
\n
\n

{{ 'creditLetter.modalRequest.' + title | translate }}

\n close\n
\n\n
\n
\n
\n \n \n
\n swap_horiz\n swap_vert\n
\n \n \n
\n
\n
\n {{ 'creditLetter.modalRequest.suggestValue' | translate }}\n
\n
\n\n
\n \n

{{ textarea?.value?.length }} / 200

\n
\n\n
\n \n \n \n \n
\n\n
\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { TranslationConstants } from '../util/translation.constants';\n\n\n@Injectable()\nexport class ErrorHandlerService\n{\n constructor(\n private readonly translationConstants: TranslationConstants\n ){ }\n\n public validate(err: any): Observable\n {\n try\n {\n const intError = JSON.parse(err.error);\n\n if (intError && intError.message)\n {\n err.error.message = this.translationConstants.translate(err.error.message);\n throw new Error(err.error.message);\n }\n\n if (err.message)\n {\n err.message = this.translationConstants.translate(err.message);\n throw err;\n }\n\n if (err.error)\n {\n throw err.error;\n }\n }\n catch(ex)\n {\n throw err;\n }\n\n\n\n throw err;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AccountService } from './account/account.services';\nimport { CategoriesService } from './categories/categories.service';\nimport { ProductsService } from './product/product.services';\nimport { StoreService } from './store/store.service';\nimport { CepService } from './util/cep.service';\nimport { MelhorEnvioService } from './util/melhor.envio.service';\nimport { CheckoutService } from './cart/checkout.service';\nimport { ScriptService } from './util/script.service';\nimport { OrderService } from './store/order.service';\nimport { LetterOfCreditService } from './letter-of-credit/letter-of-credit.service';\nimport { FileService } from './util/file.service';\nimport { ErrorHandlerService } from './util/error.handler.service';\nimport { CurrencyPipe, DecimalPipe } from '@angular/common';\nimport { OnkeypressService } from './util/onkeypress.service';\nimport { FeaturesStatusService } from './util/features-status.service';\nimport { ConfigReaderService } from './util/config.reader.service';\nimport { TranslatableParametersService } from './util/translatable.parameters.service';\nimport { TokensService } from './tokens/token.service';\nimport { MatPaginatorIntl } from '@angular/material/paginator';\nimport { PaginatorTranslationService } from './util/paginator-translation.service';\nimport { PricesService } from './prices/prices.service';\n\n@NgModule({\n providers: [\n AccountService,\n ProductsService,\n CategoriesService,\n OrderService,\n StoreService,\n ErrorHandlerService,\n ProductsService,\n FileService,\n TokensService,\n MelhorEnvioService,\n TranslatableParametersService,\n ScriptService,\n CheckoutService,\n CepService,\n LetterOfCreditService,\n CurrencyPipe,\n DecimalPipe,\n PricesService,\n OnkeypressService,\n FeaturesStatusService,\n ConfigReaderService,\n {\n provide: MatPaginatorIntl,\n useClass: PaginatorTranslationService\n }\n ]\n})\nexport class ServicesModule { }\n","import { BrowserModule, Title } from '@angular/platform-browser';\nimport { NgModule, LOCALE_ID,APP_INITIALIZER, ErrorHandler } from '@angular/core';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { TranslationConstants } from './shared/services/util/translation.constants';\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { registerLocaleData } from '@angular/common';\nimport ptBr from '@angular/common/locales/pt';\nimport { AccountModule } from './account/account.module';\nimport { LayoutModule } from './shared/layout/layout.module';\nimport { HomeModule } from './home/home.module';\nimport { CreditLetterModule } from './credit-letter/credit-letter.module';\nimport { Router } from \"@angular/router\";\nimport * as Sentry from \"@sentry/angular\";\nimport { JwtInterceptor } from './interceptors/jwt.interceptor';\n\nregisterLocaleData(ptBr);\n\n/**\n * Custom HTTP language loader\n *\n * @param httpClient The httpClient\n */\nexport function LangHttpLoaderFactory(httpClient: HttpClient): TranslateHttpLoader {\n return new TranslateHttpLoader(httpClient, './../i18n/', '.json');\n}\n\n@NgModule({\n declarations: [ AppComponent ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n BrowserAnimationsModule,\n HttpClientModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: LangHttpLoaderFactory,\n deps: [HttpClient],\n },\n }),\n AccountModule,\n LayoutModule,\n HomeModule,\n CreditLetterModule\n ],\n providers: [\n TranslationConstants,\n { provide: LOCALE_ID, useValue: 'pt-br' },\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\n\n {\n provide: ErrorHandler,\n useValue: Sentry.createErrorHandler({\n showDialog: false,\n }),\n },\n {\n provide: Sentry.TraceService,\n deps: [Router],\n },\n {\n provide: APP_INITIALIZER,\n useFactory: () => () => {},\n deps: [Sentry.TraceService],\n multi: true,\n },\n Title,\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","\nexport enum EContactChannels{\n EMAIL,\n CHAT,\n NONE\n}\n\nexport class IContactDetails{\n public useEmail?: boolean;\n public email?: string;\n public tawkTo?: string;\n\n constructor(object: IContactDetails){\n if (object){\n Object.assign(this, object);\n }\n }\n\n public enableContactButton(): boolean{\n if (\n (this.useEmail && this.email) || \n this.tawkTo\n ){\n return true;\n }\n return false;\n }\n\n public channelToUse(): EContactChannels {\n if (this.useEmail && this.email){\n return EContactChannels.EMAIL;\n }else if (this.tawkTo){\n return EContactChannels.CHAT\n }\n return EContactChannels.NONE\n }\n}\n","import {Directive, HostListener} from \"@angular/core\";\n \n@Directive({\n selector: \"[click-stop-propagation]\"\n})\nexport class ClickStopPropagation\n{\n @HostListener(\"click\", [\"$event\"])\n public onClick(event: any): void {\n event.stopPropagation();\n }\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../constants/rest-endpoint.constants\";\nimport { Token } from \"../../models/tokens\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TokensService {\n\n constructor(\n private readonly http: HttpClient\n ) { }\n\n public getTokens(): Observable> {\n return this.http.get(RestEndpoint.getAllTokens, {})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public searchToken(filter: Token): Observable> {\n return this.http.post(RestEndpoint.searchTokens, filter)\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public getTokenById(TokenIdentifier: string): Observable {\n return this.http.get(RestEndpoint.getToken, { params: { TokenIdentifier } })\n .pipe(\n map((data: Token) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n\n public deleteToken(id: string): Observable {\n const url = RestEndpoint.deleteToken + id;\n return this.http.delete(url)\n .pipe(\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n\n public saveToken(newParameter: Token): Observable {\n return this.http.put(RestEndpoint.updateTokens, newParameter)\n .pipe(\n map((updated: boolean) => {\n return updated;\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public createToken(Token: Token): Observable {\n return this.http.post(RestEndpoint.createToken, Token)\n .pipe(\n map((templateId: string) => {\n if (templateId) {\n return true;\n } else {\n return false;\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n}","import { Component, OnInit, ViewChild, Renderer2 } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { matchingPasswords, passwordPrerequisites } from 'src/app/shared/validators/password.validator';\nimport { alphaNumericValidator } from 'src/app/shared/validators/alpha-numeric.validator';\nimport { fullNameValidator } from 'src/app/shared/validators/fullname.validator';\nimport { SnackbarComponent } from 'src/app/shared/snackbar/snackbar.component';\nimport { TranslationConstants } from 'src/app/shared/services/util/translation.constants';\nimport { SnackBarTheme } from 'src/app/shared/models/snackbar-theme.enum';\nimport { Router } from '@angular/router';\nimport { AccountService } from 'src/app/shared/services/account/account.services';\nimport { CpfCnpjValidator } from './../../shared/validators/cpf-cnpj.validator';\nimport * as Sentry from \"@sentry/angular\";\nimport { ConfigReaderService } from 'src/app/shared/services/util/config.reader.service';\nimport { UserIdentifierEnum } from 'src/app/shared/models/user-identifier.enum';\nimport { ExternalDocumentValidator } from 'src/app/shared/validators/external.document.validator';\nimport { FeaturesStatusService } from 'src/app/shared/services/util/features-status.service';\nimport { FeatureNames } from 'src/app/shared/models/feature-names.enum';\nimport { FileService } from 'src/app/shared/services/util/file.service';\nimport { OnkeypressService } from 'src/app/shared/services/util/onkeypress.service';\n\n@Component({\n selector: 'app-signup',\n templateUrl: './signup.component.html',\n styleUrls: ['../styles/card.style.component.scss', './signup.component.scss']\n})\nexport class SignUpComponent implements OnInit {\n\n public loading: boolean = false;\n public loadingData: boolean = false;\n public documentAlreadyRegistered: boolean = false;\n public showPassword: boolean = false;\n public hasMinChars: boolean = false;\n public hasLowerCase: boolean = false;\n public hasUpperCase: boolean = false;\n public hasNumber: boolean = false;\n public hasSpecialChar: boolean = false;\n public hideVisiblePwd: boolean = true;\n public hideVisibleConfirmPwd: boolean = true;\n public showPrerequisites: boolean = true;\n public match: boolean = true;\n public showNewPassword: boolean = false;\n public showRepeatedPassword: boolean = false;\n public accept: boolean = false;\n public isBrazilian: boolean = true;\n public isBrazilianCheck: boolean = true;\n public termsOfUseURL: string = '';\n public termsOfUseLoaded: boolean = false;\n\n @ViewChild('stepper') public stepper: any;\n\n public terms: FormGroup = this._formBuilder.group({\n accept: ['', [Validators.requiredTrue]]\n });\n\n public personalData: FormGroup = this._formBuilder.group({\n name: ['', [Validators.required, alphaNumericValidator, fullNameValidator]],\n cpg: ['', [Validators.required, CpfCnpjValidator]],\n person: [true],\n isBrazilian: [true]\n });\n\n public userData: FormGroup = this._formBuilder.group({\n email: ['', [Validators.required, Validators.email]],\n password: ['', [Validators.required, Validators.minLength(8), Validators.maxLength(20), passwordPrerequisites]],\n confirmPassword: ['', [Validators.required, Validators.minLength(8), Validators.maxLength(20)]]\n }, [matchingPasswords('password', 'confirmPassword')]);\n\n constructor(\n private readonly accountService: AccountService,\n private readonly location: Location,\n private readonly _formBuilder: FormBuilder,\n private readonly snackbarComponent: SnackbarComponent,\n private readonly translationConstants: TranslationConstants,\n private readonly featureStatusService: FeaturesStatusService,\n private readonly router: Router,\n private readonly renderer: Renderer2,\n private readonly myConfigReaderService: ConfigReaderService,\n private readonly fileService: FileService,\n private readonly onKeyPressService: OnkeypressService\n ) { }\n\n public ngOnInit(): void {\n this.accountService.getRsaPublicKey().subscribe();\n this.myConfigReaderService.getAllExternalLinks().subscribe(data => {\n if (data?.externalFiles?.termsOfUse){\n this.termsOfUseURL = data?.externalFiles?.termsOfUse;\n }\n });\n }\n\n public ngAfterViewChecked(): void{\n if (!this.termsOfUseLoaded){\n let iFrameElement: HTMLIFrameElement = document.getElementById(\"termsOfUseIFrame\") as HTMLIFrameElement;\n if (iFrameElement){\n iFrameElement.src = this.termsOfUseURL;\n this.termsOfUseLoaded = true;\n }\n }\n }\n\n public acceptTerms(element: any): void {\n this.accept = !this.accept;\n\n setTimeout(() => {\n this.terms.patchValue({ accept: this.accept });\n if (!this.accept) {\n element.checked = false;\n this.renderer.removeClass(element['_elementRef'].nativeElement, 'cdk-focused');\n this.renderer.removeClass(element['_elementRef'].nativeElement, 'cdk-program-focused');\n }\n });\n }\n\n public clearInputCpg(): void {\n this.personalData.patchValue({cpg: ''});\n if (this.isBrazilianCheck) {\n this.personalData.controls.cpg.clearValidators();\n this.personalData.controls.cpg.setValidators([Validators.required, CpfCnpjValidator.validate]);\n } else {\n this.personalData.controls.cpg.clearValidators();\n this.personalData.controls.cpg.setValidators([Validators.required, ExternalDocumentValidator.validate]);\n }\n }\n\n private defineDocumentType(): UserIdentifierEnum {\n if (!this.isBrazilianCheck) {\n return UserIdentifierEnum.External;\n } else if (this.personalData.value.cpg.length === 11) {\n return UserIdentifierEnum.CPF;\n } else if (this.personalData.value.cpg.length === 14) {\n return UserIdentifierEnum.CNPJ;\n }\n }\n\n public signUp(): void {\n this.loading = true;\n const firstName = this.personalData.value.name.split(' ')[0];\n const auxLastName = this.personalData.value.name.split(' ');\n let lastName: string = '';\n auxLastName.forEach( (name: string, index: number) => {\n if (index === 1) {\n lastName += `${name}`;\n } else if (index > 1) {\n lastName += ` ${name}`;\n }\n });\n Sentry.setUser({ email: this.userData.value.email });\n this.accountService.createUser(this.userData.value.email, this.userData.value.password, firstName, lastName, this.personalData.value.cpg, this.defineDocumentType()).subscribe(() => {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('account.signUp.snackbar.success'), SnackBarTheme.success, 8000);\n this.router.navigate(['account/login']);\n }, error => {\n if(error?.error?.message?.includes('User already exists')) {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('account.signUp.error.existingAccount'), SnackBarTheme.error, 8000);\n } else if(error?.error?.message?.includes('Document already exists')) {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('account.signUp.error.existingDocument'), SnackBarTheme.error, 8000);\n } else {\n this.snackbarComponent.openSnackBar(error?.error?.message, SnackBarTheme.error, 8000);\n }\n }).add(() => {\n this.loading = false;\n });\n }\n\n public cancel(): void {\n this.location.back();\n }\n\n /**\n * To validate confirm password input\n */\n public matchPass(): any {\n this.match = this.userData.value.password === this.userData.value.confirmPassword;\n }\n\n /**\n * Validate password prerequisites to show on screen\n * @param password\n */\n public validatePassword(): any {\n\n if (this.showPrerequisites) {\n const password = this.userData.value.password;\n this.hasMinChars = false;\n this.hasLowerCase = false;\n this.hasUpperCase = false;\n this.hasNumber = false;\n this.hasSpecialChar = false;\n\n if (password.length > 7) {\n this.hasMinChars = true;\n }\n\n const lowerCaseLetters = /[a-z]/g;\n if (password.match(lowerCaseLetters)) {\n this.hasLowerCase = true;\n }\n\n const upperCaseLetters = /[A-Z]/g;\n if (password.match(upperCaseLetters)) {\n this.hasUpperCase = true;\n }\n\n const numbers = /[0-9]/g;\n if (password.match(numbers)) {\n this.hasNumber = true;\n }\n\n const specialCharacter = /[-!@#$%^*()_+.]/g;\n if (password.match(specialCharacter) && password.length !== 0) {\n this.hasSpecialChar = true;\n }\n }\n\n if (this.userData.value.confirmPassword) {\n this.matchPass();\n }\n }\n\n public onDrop(event: any): void {\n event.preventDefault();\n }\n\n public verifyDocument(): void {\n this.loadingData = true;\n if (this.personalData.value.cpg) {\n if (!this.isBrazilianCheck) {\n this.documentAlreadyRegistered = false;\n this.stepper.next();\n } else {\n const cpf = this.personalData.value.cpg.length === 11 ? this.personalData.value.cpg : undefined;\n const cnpj = this.personalData.value.cpg.length === 14 ? this.personalData.value.cpg : undefined;\n\n this.accountService.verifyDocument(cpf, cnpj).subscribe(documentFound => {\n if (documentFound[\"value\"]) {\n this.documentAlreadyRegistered = true;\n } else {\n this.documentAlreadyRegistered = false;\n this.stepper.next();\n }\n }, error => {\n this.loadingData = false;\n }).add(() => {\n this.loadingData = false;\n })\n }\n }\n this.loadingData = false;\n }\n\n public blockSpecialCharacters(event: any): void {\n this.onKeyPressService.blockSpecialCharacters(event);\n }\n\n public toDisabledForwardStepperButton(): boolean {\n const dataValidation: boolean = this.personalData.invalid || !this.accept || this.loading;\n const externalDocValidation: boolean = this.personalData.invalid;\n\n if (this.isBrazilianCheck) {\n return dataValidation;\n } else {\n return externalDocValidation;\n }\n }\n}\n","
\n \n

{{ 'account.signUp.title' | translate }}

\n \n \n
\n {{'account.signUp.terms' | translate }}\n
\n
\n \n
\n
\n \n {{ 'account.signUp.accept' | translate }}\n \n\n
\n \n \n
\n
\n
\n \n
\n {{'account.signUp.personalData' | translate }}\n

{{'account.signUp.personalData' | translate }}

\n
\n \n
\n {{ 'account.signUp.hint.name' | translate }}\n
\n
\n\n
\n \n {{ 'account.signUp.brazilian' | translate }}\n \n\n \n {{ 'account.signUp.naturalPerson' | translate }}\n {{ 'account.signUp.legalEntity' | translate }}\n \n
\n
\n \n
\n {{ 'account.signUp.hint.identification' | translate }}\n
\n
\n {{ 'account.validation.exists' | translate }}\n
\n
\n \n \n
\n \n \n
\n
\n
\n\n \n {{'account.signUp.userData' | translate }}\n
\n

{{'account.signUp.userData' | translate }}

\n
\n \n
\n {{ 'account.signUp.hint.email' | translate }}\n
\n
\n\n
\n
\n \n {{ showNewPassword ? 'visibility_off'\n : 'visibility' }}\n
\n
\n {{ 'account.signUp.hint.password' | translate }}\n
\n
\n\n
\n info\n {{ 'account.signUp.prerequisites.title' |\n translate }}\n
\n \n keyboard_arrow_up\n
\n
\n done\n {{ 'account.signUp.prerequisites.long' | translate }}\n
\n
\n done\n \n {{ 'account.signUp.prerequisites.lower' | translate }}\n
\n
\n done\n \n {{ 'account.signUp.prerequisites.upper' | translate }}\n
\n
\n
\n
\n done\n {{ 'account.signUp.prerequisites.number' | translate }}\n
\n
\n done\n \n {{ 'account.signUp.prerequisites.special' | translate }}\n
\n
\n
\n
\n\n
\n \n {{ showRepeatedPassword ?\n 'visibility_off' : 'visibility' }}\n
\n
\n {{ 'account.reset.hint.notMatch' | translate }}\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n\n","import JSEncrypt from 'jsencrypt';\nimport { UserIdentifierEnum } from './user-identifier.enum'\n\nclass EncryptedBase\n{\n private static PRIVATE_KEY: string;\n\n constructor(rsaKey: string)\n {\n EncryptedBase.PRIVATE_KEY = rsaKey;\n }\n\n protected encrypt(msg: string): any\n {\n const encryptor = new JSEncrypt({});\n\n encryptor.setPublicKey(EncryptedBase.PRIVATE_KEY);\n\n return encryptor.encrypt(msg);\n }\n}\n\nexport class SignupEncrypt extends EncryptedBase\n{\n public email: string;\n public username: string;\n public firstName: string;\n public lastName: string;\n public passport: string;\n public password: string;\n public cpf: string;\n public cnpj: string;\n\n constructor(email: string, password: string, username: string, firstName: string, lastName: string, documentId: string, rsaKey: string, documentType: UserIdentifierEnum)\n {\n super(rsaKey);\n this.email = email;\n this.username = username;\n this.password = this.encrypt(password);\n this.firstName = firstName;\n this.lastName = lastName;\n this.cpf = '';\n this.cnpj = '';\n this.passport = '';\n\n if (documentType === UserIdentifierEnum.External) {\n this.passport = documentId;\n } else if (documentType === UserIdentifierEnum.CNPJ) {\n this.cnpj = documentId;\n } else if (documentType === UserIdentifierEnum.CPF) {\n this.cpf = documentId\n }\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { RestEndpoint } from '../../../constants/rest-endpoint.constants';\nimport { IOrderEvent } from '../../models/order.event';\n\n@Injectable()\nexport class CheckoutService\n{\n constructor(\n private readonly http: HttpClient\n )\n { }\n\n public createCheckout(order: IOrderEvent): Observable\n {\n return this.http.post(\n RestEndpoint.createCheckout, order\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n// tslint:disable: max-line-length\n@Injectable()\nexport class TranslationConstants\n{\n constructor(\n private readonly translateService: TranslateService\n )\n { }\n\n public translate(path: string): string\n {\n return this.translateService.instant(path);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { ShoppingCartItem } from '../../models/shopping-cart-item.model';\nimport BigNumber from 'bignumber.js';\nimport { ShoppingCart } from '../../models/shopping-cart.model';\nimport { HttpClient } from '@angular/common/http';\nimport { catchError, map, tap } from 'rxjs/operators';\nimport { ShoppingCartAdapter } from '../adapters/shopping-cart.adapter';\nimport { RestEndpoint } from '../../../constants/rest-endpoint.constants';\nimport { PlatformBalance } from '../../models/wallet.balance';\n\n/**\n * Shopping WiBX cart service\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ShoppingCartService {\n private shoppingCarts: Array = [];\n private readonly cachedShoppingCartsByEnteprise: Map;\n private readonly ZERO: BigNumber = new BigNumber(0);\n\n constructor(\n private readonly http: HttpClient,\n private readonly shoppingCartAdapter: ShoppingCartAdapter\n ) {\n this.cachedShoppingCartsByEnteprise = new Map();\n }\n\n /**\n * Gets the shopping carts of the current user session.\n */\n public getShoppingCarts(cached: boolean = true): Observable> {\n if (cached && this.shoppingCarts.length > 0) {\n return of(this.shoppingCarts);\n }\n\n return this.http.get>(RestEndpoint.shoppingCarts)\n .pipe(\n map((data: Array) => data.map((item: any) => {\n return this.shoppingCartAdapter.adapt(item);\n })),\n tap((shoppingCartsFounded: Array) => this.shoppingCarts = shoppingCartsFounded),\n tap((shoppingCartsFounded: Array) => {\n shoppingCartsFounded.forEach((shoppingCart: ShoppingCart) => {\n this.cachedShoppingCartsByEnteprise.set(shoppingCart.storeId.trim(), shoppingCart);\n });\n })\n );\n }\n\n /**\n * Gets the shopping cart total amount of the given enterprise.\n *\n * This total amount includes the discount if it exists.\n *\n * @param storeId the interprise identifier.\n */\n public getTotalByEnterprise(storeId: string): BigNumber {\n const shoppingCart: ShoppingCart = this.cachedShoppingCartsByEnteprise.get(storeId.trim());\n\n if (shoppingCart && shoppingCart.items.length > 0) {\n let total: BigNumber = shoppingCart.items\n .map((cartItem: ShoppingCartItem) => new BigNumber(cartItem.item.price).multipliedBy(cartItem.quantity))\n .reduce((previousValue: BigNumber, currentValue: BigNumber) => previousValue.plus(currentValue), this.ZERO);\n\n return total;\n }\n\n return this.ZERO;\n }\n\n\n /**\n * Gets the shopping cart total amount of the given enterprise considering the wibx Percentage.\n *\n * This total amount includes the discount if it exists.\n *\n * @param storeId the interprise identifier.\n */\n public getTotalWithPercentageByEnterprise(storeId: string): BigNumber {\n const shoppingCart: ShoppingCart = this.cachedShoppingCartsByEnteprise.get(storeId.trim());\n\n if (shoppingCart && shoppingCart.items.length > 0) {\n let total: BigNumber = shoppingCart.items\n .map((cartItem: ShoppingCartItem) => {\n return new BigNumber(cartItem.item.price).multipliedBy(cartItem.quantity);\n\n })\n .reduce((previousValue: BigNumber, currentValue: BigNumber) => previousValue.plus(currentValue), this.ZERO);\n\n return total;\n }\n\n return this.ZERO;\n }\n\n /**\n * Gets the shopping cart subtotal amount of the given enterprise.\n *\n * @param storeId the interprise identifier.\n */\n public getSubTotalByEnterprise(storeId: string): BigNumber {\n const shoppingCart: ShoppingCart = this.cachedShoppingCartsByEnteprise.get(storeId.trim());\n\n if (shoppingCart && shoppingCart.items.length > 0) {\n const total: BigNumber = shoppingCart.items\n .map((cartItem: ShoppingCartItem) => new BigNumber(cartItem.item.price)\n .multipliedBy(cartItem.quantity))\n .reduce((previousValue: BigNumber, currentValue: BigNumber) => previousValue.plus(currentValue), this.ZERO);\n return total;\n }\n\n return this.ZERO;\n }\n\n /**\n * Gets the total of items of a shopping cart of the give enterprise.\n *\n * @param storeId the enterprise id.\n */\n public getTotalOfItemsByEnterprise(storeId: string): BigNumber {\n const shoppingCart: ShoppingCart = this.cachedShoppingCartsByEnteprise.get(storeId);\n\n if (shoppingCart && shoppingCart.items.length > 0) {\n return shoppingCart.items\n .map((cartItem: ShoppingCartItem) => {\n\n return cartItem.quantity;\n })\n .reduce((previousValue: BigNumber, currentValue: BigNumber) => previousValue.plus(currentValue), this.ZERO);\n }\n\n return this.ZERO;\n }\n\n /**\n * Gets the total of items of a shopping cart\n */\n public getTotalOfItems(): BigNumber {\n let quantityTotal: BigNumber = this.ZERO;\n\n for (const shoppingCart of this.cachedShoppingCartsByEnteprise.values()) {\n const cartQuantityTotal = shoppingCart.items.map((cartItem: ShoppingCartItem) => {\n return cartItem.quantity;\n })\n .reduce((previousValue: BigNumber, currentValue: BigNumber) => previousValue.plus(currentValue), this.ZERO);\n\n quantityTotal = quantityTotal.plus(cartQuantityTotal);\n }\n\n return quantityTotal;\n }\n\n /**\n * Gets the shopping cart by enterprise id.\n *\n * @param storeId the enterprise id.\n */\n public getShoppingCartByEnterprise(storeId: string): ShoppingCart {\n return this.cachedShoppingCartsByEnteprise.get(storeId?.trim());\n }\n\n /**\n * Removes the shopping cart item of the give enterprise.\n *\n * @param storeId the enterprise identifier.\n * @param shoppingCartItem the shopping cart item to be removed.\n */\n public removeShoppingCartItemByEnterprise(storeId: string, shoppingCartItem: ShoppingCartItem): Observable {\n const shoppingCart: ShoppingCart = this.cachedShoppingCartsByEnteprise.get(storeId.trim());\n return this.removeShoppingCartItem(shoppingCart, shoppingCartItem);\n }\n\n /**\n * Add a shopping cart item.\n *\n * The quantity of the shopping cart item will be increased.\n *\n * @param shoppingCart the shopping cart tha the item belongs to.\n * @param shoppingCartItem the shopping cart item.\n */\n public addShoppingCartItem(shoppingCart: ShoppingCart, shoppingCartItem: ShoppingCartItem): Observable {\n return this.http.post(`${RestEndpoint.shoppingCarts}`, {\n storeId: shoppingCart.storeId,\n itemId: shoppingCartItem.item.id,\n product_name: shoppingCartItem.item.name,\n quantity: shoppingCartItem.quantity || 1,\n shoppingCartId: shoppingCart?.id\n })\n .pipe(\n map((data: any) => data.id)\n );\n }\n\n public quotations(currency: string): Observable {\n let unitOfMoney = currency;\n return this.http.get(RestEndpoint.quotations, { params: { currency, unitOfMoney } })\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((error) => {\n throw new Error('Not possible to get the quotation')\n })\n );\n }\n\n public balance(unitOfMoney): Observable {\n return this.http.get(RestEndpoint.balance, {\n params: {\n unitOfMoney\n }\n })\n .pipe(\n map((data: PlatformBalance[]) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the quotation')\n })\n );\n }\n\n /**\n * Removes a shopping cart item.\n *\n * The quantity of the shopping cart item will be decreased.\n *\n * @param shoppingCart the shopping cart tha the item belongs to.\n * @param shoppingCartItem the shopping cart item.\n */\n public removeShoppingCartItem(shoppingCart: ShoppingCart, shoppingCartItem: ShoppingCartItem, quantity?: number): Observable {\n return this.http.put(`${RestEndpoint.shoppingCarts}${shoppingCart.id}/item/${shoppingCartItem.item.id}`, {\n shoppingCartId: shoppingCart.id,\n itemId: shoppingCartItem.item.id,\n product_name: shoppingCartItem.item.name,\n quantity: quantity ? quantity : 1\n })\n .pipe();\n }\n\n\n public clearCachedShoppingCarts(enterprise?: string): void {\n if (enterprise) {\n this.cachedShoppingCartsByEnteprise.delete(enterprise);\n } else {\n this.cachedShoppingCartsByEnteprise.clear();\n }\n }\n\n\n\n public allBalances(): Observable {\n return this.http.get(RestEndpoint.balance, {\n })\n .pipe(\n map((data: PlatformBalance[]) => {\n return data;\n }),\n catchError(() => {\n throw new Error('Not possible to get the balance')\n })\n );\n }\n\n}\n","import { ChangeDetectorRef, Injectable, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { isObservable } from 'rxjs';\nimport { LangChangeEvent, TranslateService, TranslationChangeEvent } from '@ngx-translate/core';\nimport { equals, isDefined } from './util';\nimport { Subscription } from 'rxjs';\nimport { TranslatableParametersService } from '../services/util/translatable.parameters.service';\n\n@Injectable()\n@Pipe({\n name: 'translate',\n pure: false // required to update the value when the promise is resolved\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n value: string = '';\n lastKey: string | null = null;\n lastParams: any[] = [];\n onTranslationChange: Subscription | undefined;\n onLangChange: Subscription | undefined;\n onDefaultLangChange: Subscription | undefined;\n\n constructor(private translate: TranslateService, private translatableParameters: TranslatableParametersService, private _ref: ChangeDetectorRef) {\n }\n\n updateValue(key: string, interpolateParams?: Object, translations?: any): void {\n let onTranslation = (res: string) => {\n this.value = res !== undefined ? res : key;\n this.lastKey = key;\n this._ref.markForCheck();\n };\n if (translations) {\n let res = this.translate.getParsedResult(translations, key, interpolateParams);\n if (isObservable(res.subscribe)) {\n res.subscribe(onTranslation);\n } else {\n onTranslation(res);\n }\n }\n this.translate.get(key, interpolateParams).subscribe(onTranslation);\n }\n\n transform(query: string, ...args: any[]): any {\n if (!query || !query.length) {\n return query;\n }\n\n // if we ask another time for the same key, return the last value\n if (equals(query, this.lastKey) && equals(args, this.lastParams)) {\n return this.value;\n }\n\n let internalTranslate = this.translatableParameters.instant(this.translate.currentLang, query);\n\n if(internalTranslate) {\n return internalTranslate;\n }\n\n let interpolateParams: Object | undefined = undefined;\n if (isDefined(args[0]) && args.length) {\n if (typeof args[0] === 'string' && args[0].length) {\n // we accept objects written in the template such as {n:1}, {'n':1}, {n:'v'}\n // which is why we might need to change it to real JSON objects such as {\"n\":1} or {\"n\":\"v\"}\n let validArgs: string = args[0]\n .replace(/(\\')?([a-zA-Z0-9_]+)(\\')?(\\s)?:/g, '\"$2\":')\n .replace(/:(\\s)?(\\')(.*?)(\\')/g, ':\"$3\"');\n try {\n interpolateParams = JSON.parse(validArgs);\n } catch (e) {\n throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${args[0]}`);\n }\n } else if (typeof args[0] === 'object' && !Array.isArray(args[0])) {\n interpolateParams = args[0];\n }\n }\n\n // store the query, in case it changes\n this.lastKey = query;\n\n // store the params, in case they change\n this.lastParams = args;\n\n // set the value\n this.updateValue(query, interpolateParams);\n\n // if there is a subscription to onLangChange, clean it\n this._dispose();\n\n // subscribe to onTranslationChange event, in case the translations change\n if (!this.onTranslationChange) {\n this.onTranslationChange = this.translate.onTranslationChange.subscribe((event: TranslationChangeEvent) => {\n if (this.lastKey && event.lang === this.translate.currentLang) {\n this.lastKey = null;\n this.updateValue(query, interpolateParams, event.translations);\n }\n });\n }\n\n // subscribe to onLangChange event, in case the language changes\n if (!this.onLangChange) {\n this.onLangChange = this.translate.onLangChange.subscribe((event: LangChangeEvent) => {\n if (this.lastKey) {\n this.lastKey = null; // we want to make sure it doesn't return the same value until it's been updated\n this.updateValue(query, interpolateParams, event.translations);\n }\n });\n }\n\n // subscribe to onDefaultLangChange event, in case the default language changes\n if (!this.onDefaultLangChange) {\n this.onDefaultLangChange = this.translate.onDefaultLangChange.subscribe(() => {\n if (this.lastKey) {\n this.lastKey = null; // we want to make sure it doesn't return the same value until it's been updated\n this.updateValue(query, interpolateParams);\n }\n });\n }\n\n return this.value;\n }\n\n /**\n * Clean any existing subscription to change events\n */\n private _dispose(): void {\n if (typeof this.onTranslationChange !== 'undefined') {\n this.onTranslationChange.unsubscribe();\n this.onTranslationChange = undefined;\n }\n if (typeof this.onLangChange !== 'undefined') {\n this.onLangChange.unsubscribe();\n this.onLangChange = undefined;\n }\n if (typeof this.onDefaultLangChange !== 'undefined') {\n this.onDefaultLangChange.unsubscribe();\n this.onDefaultLangChange = undefined;\n }\n }\n\n ngOnDestroy(): void {\n this._dispose();\n }\n}","import { Component, OnInit } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-watchlist-modal',\n templateUrl: './watchlist-modal.component.html',\n styleUrls: ['./watchlist-modal.component.scss']\n})\nexport class WatchlistModalComponent implements OnInit {\n\n public isLogged = false;\n public loggedUser: any = { email: 'arlindo@email.com'};\n public email: string = '';\n\n constructor(\n public dialogRef: MatDialogRef\n ) { }\n\n ngOnInit(): void {\n this.getLoggedUser();\n }\n\n getLoggedUser(): void {\n // Buscar no serviço o usuário logado\n this.isLogged = true;\n this.email = this.loggedUser.email;\n }\n\n close() {\n this.dialogRef.close();\n }\n\n}\n","
\n \n close\n \n
\n

{{ 'watchlistDialog.title' | translate }}

\n
\n

{{ 'waitlistDialog.message' | translate }}

\n \n\n
\n \n \n
\n
","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SharedModule } from '../shared/shared.module';\nimport { HomeComponent } from './home.component';\n\n@NgModule({\n declarations: [\n HomeComponent,\n ],\n imports: [\n CommonModule,\n SharedModule,\n RouterModule.forChild([\n {\n path: '',\n component: HomeComponent\n }\n ])\n ]\n})\nexport class HomeModule {}\n","import { MediaType } from \"./media-type.enum\";\nimport { PriceHistory } from \"./price-history.model\";\nimport { ProductMedia } from \"./product-media.model\";\nimport { BdmProductsSpecialPrice } from \"./products.bdm.special.price\";\n\nexport class ProductsBackend {\n public id: string;\n\n public name: string;\n\n public description: string;\n\n public category_id: string;\n\n public store_id?: string;\n\n public is_vip?: boolean;\n\n public freeShipping?: boolean;\n\n public enabled?: boolean;\n\n public important?: boolean;\n\n public stock_amount?: number;\n\n public grace_period?: number;\n\n public values?: object;\n\n public when?: Date;\n\n public disabled?: Date;\n\n public midias?: Array;\n\n public price?: number;\n\n public who?: string;\n\n public prices?: Array;\n public favorites?: Array;\n\n public promotions?: Array;\n\n ////////////////\n public oldPrice?: number;\n public discount?: number;\n public isFavorite?: boolean;\n public fipePrice?: number;\n public rating?: any;\n public photos?: string[];\n public video?: string;\n public bdmPrice?: BdmProductsSpecialPrice;\n public waterMark?: string;\n\n constructor(data: ProductsBackend) {\n if (data.promotions && data.promotions[0]) {\n const promotion: PromotionApplication = data.promotions[0];\n if (promotion.enabled) {\n this.oldPrice = data.prices[0].price;\n this.price = promotion.promotion.method === 'A' ? data.prices[0].price - promotion.promotion.amount_to_apply : data.prices[0].price *\n (1 - (promotion.promotion.amount_to_apply / 100));\n this.discount = this.oldPrice - this.price;\n } else {\n this.price = data.prices[0].price;\n }\n } else {\n this.price = data.prices[0].price;\n }\n this.id = data.id;\n this.name = data.name;\n this.description = data.description;\n this.stock_amount = data.stock_amount;\n this.store_id = data.store_id;\n this.is_vip = data.is_vip;\n this.enabled = data.enabled;\n this.important = data.important;\n this.favorites = data.favorites;\n this.grace_period = data.grace_period;\n this.category_id = data.category_id;\n this.values = data.values;\n this.when = data.when;\n this.midias = data.midias;\n this.prices = data.prices;\n this.bdmPrice = data.bdmPrice;\n this.photos = [];\n if (data.midias) {\n\n for (let midia of data.midias) {\n this.photos.push(midia.midia_url);\n\n if(midia.type === MediaType.VIDEO) {\n this.video = midia.midia_url;\n }\n }\n }\n\n if(data?.favorites?.length > 0) {\n this.isFavorite = true;\n } else {\n this.favorites = [];\n }\n }\n\n\n // public getOldPrice(): number {\n // return this.prices[0].price;\n // }\n\n // public getPrice(): number {\n // return this.prices[0].price;\n // }\n}\n\n\nexport class PromotionApplication {\n\n public id: string;\n\n public promotionId: string;\n\n public enabled: boolean;\n\n public productId: string;\n\n public from: Date;\n\n public until: Date;\n\n public products: ProductsBackend[];\n\n public promotion?: any;\n}","import JSEncrypt from 'jsencrypt';\n\n// tslint: disable-next-line: max-classes-per-file\nclass EncryptedBase\n{\n private static PRIVATE_KEY: string;\n\n constructor(rsaKey: string)\n {\n EncryptedBase.PRIVATE_KEY = rsaKey;\n }\n\n protected encrypt(msg: string): any\n {\n const encryptor = new JSEncrypt({});\n\n encryptor.setPublicKey(EncryptedBase.PRIVATE_KEY);\n\n return encryptor.encrypt(msg);\n }\n}\n\nexport class LoginEncrypted extends EncryptedBase\n{\n public email: string;\n public password: string;\n public username: string;\n public code: string;\n public secretcode: string;\n\n constructor(email: string, password: string, username: string, code: string, rsaKey: string)\n {\n super(rsaKey);\n this.email = email;\n this.username = username;\n this.password = this.encrypt(password);\n this.code = code;\n this.secretcode = code;\n }\n\n}","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { AccountService } from 'src/app/shared/services/account/account.services';\nimport { LocalStorageService } from 'angular-web-storage';\nimport * as Sentry from \"@sentry/angular\";\nimport { LocalStorageKeys } from 'src/app/shared/utils/local.storage.keys';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['../styles/card.style.component.scss']\n})\nexport class LoginComponent implements OnInit {\n\n public loading: boolean = false;;\n public errorHint: boolean = false;\n public showPassword: boolean = false;\n public email: string = '';\n public password: string = '';\n public checked: boolean = false;\n public errorHintGeneric: boolean = false;;\n public code: string = '';\n public showCode: boolean = false;\n public errorApprovedHint: boolean = false;\n public redirectUrl: string = '';\n\n constructor(\n private readonly location: Location,\n private readonly router: Router,\n private readonly accountService: AccountService,\n private readonly localStorageService: LocalStorageService,\n private readonly activatedRoute: ActivatedRoute,\n ) { }\n\n public ngOnInit(): void {\n this.initLoginComponent();\n }\n\n public async initLoginComponent(): Promise {\n this.loading = true;\n await this.verifyIfHasRedirectUrl();\n this.accountService.getRsaPublicKey().subscribe();\n this.accountService.verifyAuthentication().subscribe((authenticated) => {\n Sentry.setUser({ email: this.localStorageService.get(LocalStorageKeys.USER_EMAIL_ENTRY) });\n\n if (authenticated) {\n this.router.navigate(['/home']);\n } else {\n this.accountService.getRsaPublicKey().subscribe();\n this.email = this.localStorageService.get(LocalStorageKeys.USER_EMAIL_ENTRY);\n }\n\n this.checked = this.email ? true : false;\n }).add(() => this.loading = false);\n }\n\n public login(): void {\n this.errorHint = false;\n this.errorHintGeneric = false;\n this.errorApprovedHint = false;\n this.loading = true;\n Sentry.setUser({ email: this.email });\n this.accountService.loginUser(this.email, this.password, this.code).subscribe(async () => {\n if(this.checked) {\n this.localStorageService.set(LocalStorageKeys.USER_EMAIL_ENTRY, this.email);\n }\n this.router.navigate([this.redirectUrl || '/home']);\n }, error => {\n if(error?.error?.message?.includes('UserNotConfirmedException')) {\n this.showCode = true;\n } else if(error?.error?.message?.includes('This user has MFA enabled, and secret code has not been sent')){\n this.showCode = true;\n } else if(error?.error?.message?.includes('incorrect')) {\n this.errorHint = true;\n }\n else if(error?.error?.message?.includes('User not approved yet')) {\n this.errorApprovedHint = true;\n }\n else {\n this.errorHintGeneric = true;\n }\n }).add(() => {\n this.loading = false;\n });\n }\n\n public cancel(): void {\n this.location.back();\n }\n\n public forgotPassword(): void {\n this.router.navigate(['account/forgot']);\n }\n\n public createAccount(): void {\n window.open(environment.signUpUrl);\n }\n\n public async verifyIfHasRedirectUrl(): Promise {\n await this.activatedRoute.queryParams.subscribe(\n (params: Params) => {\n this.redirectUrl = params['redirectUrl'];\n }\n );\n }\n\n public disableLoginButton(): boolean {\n if (!this.showCode) {\n return (!this.email || !this.password);\n } else {\n return (!this.email || !this.password || this.code?.length !== 6);\n }\n }\n}\n","
\n \n
\n \n\n \n
\n \n
\n
\n \n {{ showPassword ? 'visibility_off' : 'visibility' }}\n
\n
\n {{ 'account.login.loginError' | translate }}\n
\n
\n {{ 'account.login.loginErrorGeneric' | translate }}\n
\n
\n {{ 'account.login.loginErrorKyc' | translate }}\n
\n
\n
\n
\n \n
\n
\n
\n \n {{ 'account.login.remember' | translate }}\n \n \n {{ 'account.login.forgotPass' | translate }}\n \n
\n
\n \n
\n {{ 'account.login.haveAccount' | translate }}\n {{ 'account.login.signUp' | translate }}\n \n
\n
\n
\n
\n\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { RestEndpoint } from '../../../constants/rest-endpoint.constants';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { File } from '../../models/file.model';\nimport { ErrorHandlerService } from './error.handler.service';\n\n/**\n * File service\n */\n@Injectable()\nexport class FileService {\n\n constructor(\n private readonly http: HttpClient,\n private readonly errorHandler: ErrorHandlerService\n ) {\n }\n\n /**\n * Upload a file\n * @param file File to be uploaded to s3\n */\n public uploadFile(file: File): Observable {\n const header: HttpHeaders = new HttpHeaders({ });\n return this.http.post(RestEndpoint.files, file, {headers: header})\n .pipe(\n catchError((err) => { return this.errorHandler.validate(err); })\n );\n }\n}","export class BottomSheetModel {\n public text: string;\n public declineOption: string;\n public confirmOption: string;\n}","import { VerifyUserEncrypted } from './../../models/verify.encrypted.model';\nimport { UserLoggedModel } from './../../models/user.logged.model';\nimport { RestEndpoint } from './../../../constants/rest-endpoint.constants';\nimport { LoginEncrypted } from './../../models/encrypt.base';\nimport { BehaviorSubject } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { ResetModel } from '../../models/reset.model';\nimport { ForgotModel } from '../../models/forgot.model';\nimport { LoginUser } from '../../models/login.user.model';\nimport { LocalStorageService, SessionStorageService } from 'angular-web-storage';\nimport { Router } from '@angular/router';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { map, catchError } from 'rxjs/operators';\nimport { SignupEncrypt } from '../../models/signup.encrypt.base';\nimport { v4 as uuidv4 } from 'uuid';\nimport { LocalStorageKeys } from '../../utils/local.storage.keys';\nimport { UserIdentifierEnum } from '../../models/user-identifier.enum';\nimport { LanguagesEnum } from '../../models/languages.enum';\nimport { TranslateService } from '@ngx-translate/core';\nimport { IUserAddress } from '../../models/IUserAddress';\n\n@Injectable()\nexport class AccountService {\n public static RSA_KEY: string;\n\n /**\n * Stores the user to be resetted\n */\n public userEmail: string;\n\n private readonly registerAccess: BehaviorSubject = new BehaviorSubject(true);\n public getUserLogger$: Observable = this.registerAccess.asObservable();\n\n constructor(\n private readonly storage: LocalStorageService,\n private readonly router: Router,\n private readonly http: HttpClient,\n private readonly sessionStorage: SessionStorageService,\n private readonly translate: TranslateService\n ) {\n }\n\n public getUsers(): Observable> {\n return this.http.get(RestEndpoint.getAllUsers, {})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public getRsaPublicKey(): Observable {\n if (AccountService.RSA_KEY)\n {\n return of ();\n }\n\n return this.http.get(RestEndpoint.publicRsa, {})\n .pipe(\n map((data: any) => {\n if (!data.value) {\n throw new Error('Problems to retrieve RSA Key.');\n }\n AccountService.RSA_KEY = data.value;\n return of ();\n }),\n map(() => true),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n /**\n * Get name and password inserted on login and compare with data. If it's match, return true to do login.\n * @param name\n * @param password\n */\n public loginUser(name: string, password: string, code: string): Observable {\n return this.http.post(RestEndpoint.authenticateUser, new LoginEncrypted(name, password, name, code, AccountService.RSA_KEY))\n .pipe(\n map((userData: UserLoggedModel) => {\n if (!userData)\n {\n throw new HttpErrorResponse({status: 405, statusText: 'Impossible to retrieve user data.'});\n }\n userData.name = `${userData.firstName} ${userData.lastName}`;\n this.storage.set(LocalStorageKeys.USER_LOGGED_KEY, userData);\n this.registerAccess.next(true);\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public createUser(email: string, password: string, firstName: string, lastName: string, identifier: string, documentType: UserIdentifierEnum): Observable {\n return this.http.post(RestEndpoint.createUser, new SignupEncrypt(email, password, email, firstName, lastName, identifier, AccountService.RSA_KEY, documentType))\n .pipe(\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n /**\n * Check email on Forgot Password page. If don't match, don't let go to Reset Password Page\n * @param user\n */\n public sendCode(user: ForgotModel): Observable {\n this.userEmail = user.email;\n return this.http.post(RestEndpoint.lostpassword, user)\n .pipe(\n catchError((err) => {\n throw err;\n })\n );\n }\n\n /**\n * Destroy the session\n */\n public destroySession (): Observable\n {\n this.storage.set(LocalStorageKeys.USER_LOGGED_KEY, undefined);\n this.registerAccess.next(false);\n return this.http.delete( RestEndpoint.destroySession );\n }\n\n /**\n * Compare the email, verification code and new password to reset the password on Reset Password Page\n * @param reset\n */\n public resetPassword(reset: ResetModel): Observable {\n return this.http.post(RestEndpoint.changelostpassword, new VerifyUserEncrypted(reset, AccountService.RSA_KEY))\n .pipe(\n catchError((err) => {\n throw err;\n })\n );\n }\n\n public getUserDetails(): Observable {\n const user = this.storage.get(LocalStorageKeys.USER_LOGGED_KEY);\n if (user) {\n return of(user);\n } else {\n return of(undefined);\n }\n }\n\n public logout(): void {\n this.destroySession().subscribe();\n }\n\n /**\n * Check if the user is authenticated\n */\n public isAuthenticated (menu?: boolean): Observable\n {\n return this.internalIsAuthenticated(menu);\n\n }\n\n private internalIsAuthenticated(menu?: boolean): Observable\n {\n return this.http.post( RestEndpoint.isAuthenticated, { })\n .pipe(\n map((authenticated: any) => {\n if ( !authenticated || !authenticated.isAuthenticated)\n {\n if (!menu) {\n this.destroySession().subscribe();\n void this.router.navigate(['/']);\n\n }\n return;\n }\n if(authenticated.user) {\n authenticated.user.name = `${authenticated.user.firstName} ${authenticated.user.lastName}`;\n\n this.storage.set(LocalStorageKeys.USER_LOGGED_KEY, authenticated.user);\n }\n return of (this.storage.get(LocalStorageKeys.USER_LOGGED_KEY));\n })\n );\n }\n\n public getUserLanguage(): LanguagesEnum {\n const language: string = this.sessionStorage.get(LocalStorageKeys.LANGUAGE_LIST);\n if (!language) {\n const browserLang: string = this.translate.getBrowserLang();\n if (browserLang.match(/pt/)) {\n return LanguagesEnum.PORTUGUESE;\n } else {\n return LanguagesEnum.ENGLISH;\n }\n }\n return language as LanguagesEnum;\n }\n\n public changeBu(buId: string): Observable {\n return this.http.post(RestEndpoint.changeBu, {buId})\n .pipe(\n map((userData: any) => {\n if (!userData)\n {\n throw new HttpErrorResponse({status: 405, statusText: 'Impossible to change BU.'});\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n public sendNotification(data: {\n name: string,\n contact: string,\n observation: string,\n emailFrom: string,\n emailTo: string,\n product: string,\n period: string,\n storeId: string,\n subject: string\n }): Observable {\n return this.http.post(RestEndpoint.sendContactEmail, data)\n .pipe(\n map((userData: any) => {\n if (!userData)\n {\n throw new HttpErrorResponse({status: 405, statusText: 'Impossible to send notification.'});\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n\n\n /**\n * Return if the user is authenticated, but don't destroy the session if he isn't\n */\n public verifyAuthentication(): Observable {\n return this.http.post( RestEndpoint.isAuthenticated, { })\n .pipe(\n map((authenticated: any) => {\n if ( !authenticated || !authenticated.isAuthenticated)\n {\n return false;\n } else {\n return true;\n }\n })\n );\n }\n\n public verifyDocument(cpf: string, cnpj: string): Observable {\n return this.http.get(RestEndpoint.verifyDocument, {\n params: {\n 'cpf': cpf,\n 'cnpj': cnpj\n }\n }).pipe(\n catchError((err) => { throw err; })\n );\n }\n\n public changeNewsLetter(receivesNewletter: boolean, email: string): Observable {\n return this.http.post(RestEndpoint.changeNewsLetter, {receivesNewletter, email})\n .pipe(\n map((res: any) => {\n return res;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public readLocation(): Observable> {\n return this.http.get(RestEndpoint.readLocation, {\n })\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public createAddress(data: {\n id: string,\n street_address: string,\n city: string,\n state: string,\n country: string,\n postal_code: string,\n isDefault: boolean\n }): Observable {\n data.id = uuidv4();\n return this.http.post(RestEndpoint.createUserAddress, data)\n .pipe(\n map((userData: any) => {\n if (!userData)\n {\n throw new HttpErrorResponse({status: 405, statusText: 'Impossible to send notification.'});\n }\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n}\n","export enum TypeAssociatedProd {\n BUYABLE='buyable',\n ANNOUNCE='announce',\n NOT_APPLICABLE='notApplicable'\n}","export enum AllCategories {\n ALL='header.menuBar.allSubcategories',\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../constants/rest-endpoint.constants\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OrderService {\n\n\n constructor(\n private readonly http: HttpClient\n ) { }\n\n public getOrders(): Observable> {\n return this.http.get(RestEndpoint.getAllOrders, {params: { kairosRequest: 'true'}})\n .pipe(\n map((data: Array) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n\n public getOrderById(id: number): Observable {\n return of(undefined);\n }\n\n public changeOrderStatus(parameter: {id: string, status: string}): Observable {\n return this.http.post(RestEndpoint.changeOrderStatus, parameter)\n .pipe(\n map((templateId: string) => {\n return true;\n }),\n catchError((err) => {\n throw err;\n\n })\n );\n }\n}","import { Component, OnDestroy, OnInit, Renderer2 } from '@angular/core';\n\n@Component({\n selector: 'app-account',\n templateUrl: './account.component.html',\n styleUrls: ['./account.component.scss']\n})\nexport class AccountComponent implements OnInit, OnDestroy {\n\n constructor(\n private readonly renderer: Renderer2\n ) { }\n\n public ngOnInit(): void {\n this.renderer.addClass(document.body, 'no-header-footer');\n }\n\n public ngOnDestroy(): void {\n this.renderer.removeClass(document.body, 'no-header-footer');\n }\n}\n","
\n
\n
\n
\n
\n \n
\n
\n
","import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\n@Injectable()\nexport class JwtInterceptor implements HttpInterceptor {\n constructor() { }\n\n public intercept(request: HttpRequest, next: HttpHandler): Observable> {\n const modifiedReq = request.clone({ \n headers: request.headers.set('x-product-id', environment.productId),\n });\n return next.handle(modifiedReq);\n }\n}\n","import { environment } from '../../environments/environment';\n\nexport const prefixUrl = environment.apiBaseUrl;\n\nexport const RestEndpoint = {\n authenticateUser: prefixUrl + '/v1/authentication/authenticateUser',\n publicRsa: prefixUrl + '/v1/authentication/getPublicKeyRsa',\n getAllUsers: prefixUrl + '/v1/authentication/getAllUsers',\n changeBu: prefixUrl + '/v1/authentication/changeBu',\n sendContactEmail: prefixUrl + '/v1/authentication/sendKairosContactEmail',\n updateFavorite: prefixUrl + '/v1/products-favorites/updateFavorite',\n countFavorites: prefixUrl + '/v1/products-favorites/countFavorites',\n createFavorite: prefixUrl + '/v1/products-favorites/createFavorite',\n getStore: prefixUrl + '/v1/stores/getStore',\n createWatch: prefixUrl + '/v1/products-favorites/createWatch',\n createUser: prefixUrl + '/v1/authentication/createuser',\n translatableTexts: prefixUrl + '/v1/translate/getTranslatableTexts',\n destroySession: prefixUrl + '/v1/authentication/destroySession',\n lostpassword: prefixUrl + '/v1/authentication/lostpassword',\n changelostpassword: prefixUrl + '/v1/authentication/changelostpassword',\n isAuthenticated: prefixUrl + '/v1/authentication/isAuthenticated',\n verifyDocument: prefixUrl + '/v1/authentication/validateDocument',\n changeNewsLetter: prefixUrl + '/v1/authentication/changeNewsLetter',\n getAllProducts: prefixUrl + '/v1/products/getAllProducts',\n searchProducts: prefixUrl + '/v1/products/searchProducts',\n balance: prefixUrl + '/v1/financial/plataformbalance',\n getAllOrders: prefixUrl + '/v1/orders/user',\n changeOrderStatus: prefixUrl + '/v1/orders/updateInformation/',\n createProduct: prefixUrl + '/v1/products/createProduct',\n updateProducts: prefixUrl + '/v1/products/updateProducts',\n getProduct: prefixUrl + '/v1/products/getProduct',\n deleteProduct: prefixUrl + '/v1/products/product/',\n getAllCategories: prefixUrl + '/v1/categories/getAllCategories',\n createCategory: prefixUrl + '/v1/categories/createCategory',\n updateCategories: prefixUrl + '/v1/categories/updateCategories',\n deleteCategory: prefixUrl + '/v1/categories/category/',\n getAllParameters: prefixUrl + '/v1/parameters/getAllParameters',\n readLocation: prefixUrl + '/v1/location/getAll',\n createUserAddress: prefixUrl + '/v1/location/createUserAddress',\n getParameter: prefixUrl + '/v1/parameters/getParameter',\n deleteParameter: prefixUrl + '/v1/parameters/parameter/',\n shoppingCarts: prefixUrl + '/v1/shopping-carts/',\n quotations: prefixUrl + '/v1/authentication/quotations',\n createParameter: prefixUrl + '/v1/parameters/createParameter',\n updateParameters: prefixUrl + '/v1/parameters/updateParameters',\n createCheckout: prefixUrl + '/v1/checkout',\n files: prefixUrl + '/v1/files',\n getAllRequests: prefixUrl + '/v1/letter-credit/getAllUserRequests',\n createRequest : prefixUrl + '/v1/letter-credit/createRequest',\n updateRequest: prefixUrl + '/v1/letter-credit/updateRequest',\n getRequest: prefixUrl + '/v1/letter-credit/getRequest',\n assignToMe: prefixUrl + '/v1/letter-credit/assignToMe',\n createDocument: prefixUrl + '/v1/letter-credit/createDocument',\n deleteDocument: prefixUrl + '/v1/letter-credit/document',\n getAllKairosBanners: prefixUrl + '/v1/banners/getAllKairosBanners',\n //Read secret configs\n getFeatureStatus: prefixUrl + '/v1/features/getFeatureStatus',\n getExternalLinks: prefixUrl + '/v1/external-links/readAll',\n getPaymentScripts: prefixUrl + '/v1/external-links/getPaymentScripts',\n getKairosConfig: prefixUrl + '/v1/kairos-config/readAll',\n getContactDetails: '/api/v1/external-links/getContactDetails',\n\n createToken: '/api/v1/tokens/createToken',\n updateTokens: '/api/v1/tokens/updateTokens',\n getToken: '/api/v1/tokens/getToken',\n deleteToken: '/api/v1/tokens/token/',\n getAllTokens: '/api/v1/tokens/getAllTokens',\n searchTokens: '/api/v1/tokens/searchTokens',\n getShippingData: prefixUrl + '/v1/products/getShippingData',\n\n};\n","import { ResetModel } from './reset.model';\nimport { LoginEncrypted } from './encrypt.base';\n\nexport class VerifyUserEncrypted extends LoginEncrypted\n{\n public newPassword?: string;\n public secretcode: string;\n\n constructor(resetModel: ResetModel, rsaKey: string)\n {\n super(resetModel.email, resetModel.newPassword, resetModel.email, undefined, rsaKey );\n this.newPassword = this.encrypt(resetModel.newPassword);\n this.secretcode = resetModel.secretCode;\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\nimport { MatListModule } from '@angular/material/list';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CdkTreeModule } from '@angular/cdk/tree';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule\n ],\n exports: [\n MatFormFieldModule,\n MatDialogModule,\n MatInputModule,\n MatButtonModule,\n MatIconModule,\n MatBadgeModule,\n MatButtonToggleModule,\n MatStepperModule,\n MatDatepickerModule,\n MatDividerModule,\n MatExpansionModule,\n MatGridListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatSidenavModule,\n MatSliderModule,\n MatSortModule,\n MatToolbarModule,\n MatTableModule,\n MatListModule,\n MatCheckboxModule,\n MatCardModule,\n MatPaginatorModule,\n MatTooltipModule,\n MatSelectModule,\n MatSlideToggleModule,\n MatRadioModule,\n MatTabsModule,\n MatSnackBarModule,\n MatAutocompleteModule,\n MatBottomSheetModule,\n MatRippleModule,\n MatProgressSpinnerModule,\n MatChipsModule,\n A11yModule,\n ClipboardModule,\n DragDropModule,\n PortalModule,\n ScrollingModule,\n CdkTableModule,\n CdkTreeModule,\n OverlayModule\n ]\n})\nexport class MaterialModule { }","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SharedModule } from '../shared/shared.module';\nimport { AccountComponent } from './account.component';\nimport { ForgotComponent } from './forgot/forgot.component';\nimport { LoginComponent } from './login/login.component';\nimport { ResetComponent } from './reset/reset.component';\nimport { SignUpComponent } from './signup/signup.component';\nimport { NgxMaskModule } from 'ngx-mask';\nimport { STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';\n\n@NgModule({\n declarations: [\n AccountComponent,\n LoginComponent,\n SignUpComponent,\n ForgotComponent,\n ResetComponent\n ],\n imports: [\n CommonModule,\n SharedModule,\n NgxMaskModule.forRoot(),\n RouterModule.forChild([\n {\n path: '',\n component: AccountComponent,\n children: [\n {\n path: 'login',\n component: LoginComponent\n },\n {\n path: 'forgot',\n component: ForgotComponent\n },\n {\n path: 'reset',\n component: ResetComponent\n },\n {\n path: 'signup',\n component: SignUpComponent\n }\n ]\n }\n ])\n ],\n providers: [\n {\n provide: STEPPER_GLOBAL_OPTIONS,\n useValue: { displayDefaultIndicatorType: false }\n }\n ]\n})\nexport class AccountModule {}\n","import { CurrencyPipe, DecimalPipe } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport BigNumber from 'bignumber.js';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ValueConverterService {\n\n public decimalSeparator: string = ',';\n\n constructor(\n private readonly decimalPipe: DecimalPipe,\n private readonly currencyPipe: CurrencyPipe\n ) { }\n\n\n /**\n * This method coverts some value in BigNumber to a value in number.\n * @param value Value in BigNumber.\n * @returns Value in number.\n */\n public bigNumberToNumber(value: BigNumber): number {\n return value?.toNumber() || 0;\n }\n\n /**\n * This method converts some monetary value into monetary value token value.\n * @param tokenPrice the token value in relation to the currency type to be formatted. Ex: 1 token = R$ 1,50 => tokenPrice = new BigNumber(1.50).\n * @param amountMoney the monetary amount, without symbol. Ex: R$123,45 => 123,45.\n * @returns value in tokens formatted '1.2-2'.\n */\n public convertCurrencyToTokens(tokenPrice: BigNumber, amountMoney: BigNumber | number | string): string {\n let amountInBig: BigNumber;\n if (typeof amountMoney === 'number' ) {\n amountInBig = new BigNumber(amountMoney);\n } else if (typeof amountMoney === 'string') {\n amountInBig = new BigNumber(parseFloat(amountMoney.replace(',','.')));\n } else {\n amountInBig = amountMoney || new BigNumber(0);\n }\n const tokenAmountInBig = amountInBig.dividedBy(tokenPrice);\n return this.decimalPipe.transform(tokenAmountInBig.toNumber() || 0, '1.6-6');\n }\n\n\n /**\n * This method converts some token value into monetary value.\n * @param tokenPrice the token value in relation to the currency type to be formatted. Ex: 1 token = R$ 1,50 => tokenPrice = new BigNumber(1.50).\n * @param tokens value in tokens, without symbol.\n * @param currencySymbol The currency symbol to format the value.\n * @returns value formatted in a currency symbol if the currency symbol was imputed. Example: R$ 123,45 (with currency symbol) or 123,45 (without currency symbol).\n */\n public convertTokensToCurrency(tokenPrice: BigNumber, tokens: BigNumber | number | string, currencySymbol?: string): string {\n let tokenInBig: BigNumber;\n\n if (typeof tokens === 'number' ) {\n tokenInBig = new BigNumber(tokenInBig);\n } else if (typeof tokens === 'string') {\n tokenInBig = new BigNumber(parseFloat(tokens.replace(',','.')));\n } else {\n tokenInBig = tokens\n }\n const moneyAmountInBig = tokenInBig.multipliedBy(tokenPrice);\n if (currencySymbol) {\n return this.currencyPipe.transform(moneyAmountInBig.toNumber() || 0, currencySymbol);\n } else {\n return this.decimalPipe.transform(moneyAmountInBig.toNumber(), '1.1-5');\n }\n }\n\n /**\n * This method convert any amount into a monerary format for exhibition purposes\n * \n * @param amount Amount to be converted\n * @param currencySymbol Currency symbol to appear to such amount\n * @returns \n */\n public convertToMonetaryFormat(amount: number, currencySymbol: string): string{\n return this.currencyPipe.transform(amount || 0, currencySymbol);\n }\n\n /**\n * This method calculate how many days are left for expiration based on current date.\n * @param expirationDate It's the expiration date\n *\n * @returns Returns the remaining days relative to today.\n */\n public getDifferenceInDays(expirationDate: Date): string {\n // TODO: check this method\n const expiration = expirationDate.getTime();\n const today = new Date().getTime();\n const leftDay = (expiration - today) / (24*3600000); // in days\n const newDate = new Date(leftDay)\n return leftDay.toFixed(0) || \"0\";\n }\n\n /**\n * This method calculate how many hours are left for expiration based on current date.\n * @param expirationDate It's the expiration date\n *\n * @returns Returns the remaining days relative to the current time.\n */\n public getDifferenceInHours(expirationDate: Date): string {\n // TODO: check this method\n const expiration = expirationDate.getTime();\n const today = new Date().getTime();\n const leftHours = (expiration - today) / 3600000; // total in hours\n const onlyHours = leftHours % 24;\n return onlyHours.toFixed(0) || \"0\";\n }\n\n /**\n * Method created to handle the monetary amount formated by mask-currency.directive\n *\n * @param value string value handled by mask-currency.directive\n * format expected: $ 5.423,99\n * @returns String provided converted in BigNumber: 5423,99\n */\n public handlingMonetaryAmount(value: string): BigNumber{\n let convertedValue = new BigNumber(0);\n if (value){\n //Remove non-digits, for instance: 5423,99 becames 542399\n let newVal: string = value.replace(/\\D/g, '');\n\n let cents: string;\n let tempCents: BigNumber;\n let integerValue: string = '0';\n //For a monetary amount, latest 2 digits will always be the cents\n if (newVal.length <= 2){\n cents = newVal;\n }else {\n //Split the cents from integers\n //for instance, given the known example 542399\n //cents became 99 and integerValue becames 5423\n cents = newVal.slice(newVal.length - 2, newVal.length);\n integerValue = newVal.slice(0, newVal.length - 2);\n }\n //Divide by 100 to transform in decimal, the example 99 becamse to 0,99\n tempCents = new BigNumber(cents).dividedBy(100);\n //Add again to integerValue, which becames 5423,99 formated as BigNumber\n convertedValue = new BigNumber(integerValue).plus(tempCents);\n }\n return convertedValue;\n }\n\n /**\n * Method created to handle the monetary amount formated by mask-currency.directive\n * This method accepts only 1 decimal place\n *\n * @param value string value handled by mask-currency.directive\n * format expected: 75,0 (without the % symbol)\n * @returns String provided converted in BigNumber: 75\n */\n public handlingPercentualAmount(value: string): BigNumber{\n let convertedValue = new BigNumber(0);\n if (value){\n let newVal: string = value.replace(/\\D/g, '');\n\n let decimalPlace: string;\n let tempDecimalPlace: BigNumber;\n let integerValue: string = '0';\n //In case there is only 1 digit, it means the decimal place\n if (newVal.length === 1){\n integerValue = '0';\n decimalPlace = newVal;\n }else if(newVal.length === 2){\n integerValue = newVal.substring(0,1);\n decimalPlace = newVal.substring(1,2);\n }else if(newVal.length === 3){\n integerValue = newVal.substring(0,2);\n decimalPlace = newVal.substring(2,3);\n //In case the user typed 100 or a number bigger than 100\n //It is expected to string to be 100.0, hence, more than 3 characters\n } else{\n integerValue = '100';\n decimalPlace = '0';\n }\n if (decimalPlace){\n tempDecimalPlace = new BigNumber(decimalPlace).dividedBy(10);\n }\n convertedValue = new BigNumber(integerValue).plus(tempDecimalPlace);\n }\n\n return convertedValue;\n }\n\n //Method to format the input monetary data\n //Given a input data 523400, such method will format to 5.234,00\n public formatMonetaryInput(originalValue: string, withCurrency$: boolean = true): string{\n //Remove all non-digit characters\n let newVal = originalValue.replace(/\\D/g, '');\n if (newVal[0] === '0'){\n let i = 0;\n for(; i < newVal.length && newVal[i] === '0'; i++){\n //Do nothing indeed, just go to latest 0 in the string in order to remove it afterwards\n //for instance, given a string 0012, it must to go to index 2, indicating that from\n //index 0 to index 1 it must to be removed\n }\n newVal = newVal.substring(i, newVal.length);\n }\n\n if (newVal.length === 0) {\n newVal = '';\n } else if (newVal.length <= 1) {\n //Very first digit is a cent,\n //for instance, if the user typed 5, it becames 0,05\n newVal = newVal.replace(/^(\\d{1})/, '0,0$1');\n } else if (newVal.length <= 2) {\n //Second digit is a cent,\n //for instance, if after the 5 the user types 2, it becames 0,52\n newVal = newVal.replace(/^(\\d{2})/, '0,$1');\n } else if (newVal.length <= 3) {\n //Then in case the user types a 3, it becames 5,23\n newVal = newVal.replace(/^(\\d{0,1})(\\d{0,2})/, '$1,$2');\n } else if (newVal.length <= 4) {\n newVal = newVal.replace(/^(\\d{0,2})(\\d{0,2})/, '$1,$2');\n } else if (newVal.length <= 5) {\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,2})/, '$1,$2');\n } else if (newVal.length <= 6) {\n //Deal with thousands: 5.234,00\n newVal = newVal.replace(/^(\\d{0,1})(\\d{0,3})(\\d{0,2})/, '$1.$2,$3');\n } else if (newVal.length <= 7) {\n newVal = newVal.replace(/^(\\d{0,2})(\\d{0,3})(\\d{0,2})/, '$1.$2,$3');\n } else if (newVal.length <= 8) {\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(\\d{0,2})/, '$1.$2,$3');\n } else if (newVal.length <= 9) {\n //Deal with millions: 5.234.001,58\n newVal = newVal.replace(/^(\\d{0,1})(\\d{0,3})(\\d{0,3})(\\d{0,2})/, '$1.$2.$3,$4');\n } else if (newVal.length <= 10) {\n newVal = newVal.replace(/^(\\d{0,2})(\\d{0,3})(\\d{0,3})(\\d{0,2})/, '$1.$2.$3,$4');\n } else if (newVal.length <= 11) {\n newVal = newVal.replace(/^(\\d{0,3})(\\d{0,3})(\\d{0,3})(\\d{0,2})/, '$1.$2.$3,$4');\n } else {\n //10 places before comma + 2 places for cents are the max value handled.\n newVal = newVal.substring(0, 12);\n newVal = newVal.replace(/^(\\d{0,1})(\\d{0,3})(\\d{0,3})(\\d{0,3})(\\d{0,2})/, '$1.$2.$3.$4,$5');\n }\n if (newVal){\n return `${withCurrency$ ? '$' : ''}` + newVal;\n }\n return ;\n }\n\n /**\n * Reverses the formatting used in the toStringFormat method.\n * @param value The formatted value in string (based on user language).\n * @returns The value in BigNumber without formatting. E.g: 11.540,64 (pt-br) or 11,540.64 (en) will return new BigNumber(11540.64)\n */\n public fromStringFormatToBigNumber(value: string): BigNumber {\n if (!value || (typeof value!== 'string' && typeof value !== 'number' && !BigNumber.isBigNumber(value)) ) {\n return new BigNumber(0);\n }\n if (typeof value === 'string') {\n const integer: string = value.split(this.decimalSeparator)[0].replace(/\\D/g, '');\n const decimal: string = value.split(this.decimalSeparator)[1];\n const newValue: string = `${integer || 0}.${decimal || 0}`;\n return new BigNumber(newValue);\n } else if (BigNumber.isBigNumber(value)) {\n return value;\n } else if (typeof value === 'number') {\n return new BigNumber(value);\n }\n }\n}\n","import { AfterViewInit, Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { EContactChannels, IContactDetails } from '../models/IContactDetails';\nimport { ConfigReaderService } from '../services/util/config.reader.service';\nimport { SimpleContactModalComponent } from '../simple-contact-modal/simple-contact-modal.component'\n\n@Component( {\n selector: 'app-service-button',\n templateUrl: './service-button.component.html',\n styleUrls: [ './service-button.component.scss' ]\n} )\nexport class ServiceButtonComponent implements OnInit, AfterViewInit {\n\n private contactDetails: IContactDetails = undefined;\n constructor( public dialog: MatDialog,\n private readonly myConfigReaderService: ConfigReaderService,\n ) { }\n\n public serviceButtons: HTMLElement;\n public firstScroll: boolean = true;\n public enableContactButton: boolean = false;\n\n public ngOnInit(): void {\n this.myConfigReaderService.getContactDetails().subscribe(data => {\n this.contactDetails = new IContactDetails(data);\n this.enableContactButton = this.contactDetails.enableContactButton();\n });\n }\n\n public ngAfterViewInit(): void {\n this.serviceButtons = document.querySelector('.service-button-container');\n }\n\n public openSimpleContactModal(): void {\n const channel: EContactChannels = this.contactDetails.channelToUse();\n if (EContactChannels.EMAIL === channel){\n this.dialog.open( SimpleContactModalComponent, {\n panelClass: 'customDialog',\n data: {\n contactDetails: this.contactDetails\n } \n } );\n }else if (EContactChannels.CHAT === channel){\n window.open(this.contactDetails.tawkTo);\n }\n }\n\n public backTop(): void {\n const element = document.querySelector( \"#header\" );\n\n if ( element )\n {\n element.scrollIntoView( { behavior: 'smooth', block: 'start' } );\n }\n }\n\n public onScroll(event: any): void {\n const scrolledValue = event.target.scrollingElement.scrollTop;\n\n if (this.firstScroll) {\n const serviceButtons = document.querySelector('.service-button-container') as HTMLElement;\n if(serviceButtons) {\n this.serviceButtons = serviceButtons;\n this.firstScroll = false;\n }\n }\n\n if (scrolledValue > 150) {\n this.serviceButtons.classList.add('show');\n } else {\n this.serviceButtons.classList.remove('show');\n }\n }\n}\n","
\n\n \n \n
\n","import { Validator, AbstractControl } from '@angular/forms';\nimport { ValidationErrors } from '@angular/forms';\n\nexport class ExternalDocumentValidator implements Validator {\n\n public static ALLOWED_CHARACTERS = /[^A-Za-z0-9]+/g;\n\n public static validate(c: AbstractControl): ValidationErrors | null {\n\n if (!c.value) {\n return undefined;\n }\n\n if (c.value.length < 5 || c.value.length > 50) {\n return {invalid: true};\n }\n\n if (!c.value.match(ExternalDocumentValidator.ALLOWED_CHARACTERS)) {\n return undefined;\n } else {\n return {invalid: true};\n }\n }\n\n public validate(c: AbstractControl): ValidationErrors | null {\n return ExternalDocumentValidator.validate(c);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Router } from '@angular/router';\nimport { BottomSheetComponent } from 'src/app/shared/bottom-sheet/bottom-sheet.component';\nimport { Requests } from 'src/app/shared/models/Requests';\nimport { RequestStatus } from 'src/app/shared/models/RequestsStatusEnum';\nimport { LetterOfCreditService } from 'src/app/shared/services/letter-of-credit/letter-of-credit.service';\nimport { TranslationConstants } from 'src/app/shared/services/util/translation.constants';\n\n@Component({\n selector: 'app-panel',\n templateUrl: './panel.component.html',\n styleUrls: ['./panel.component.scss']\n})\nexport class PanelComponent implements OnInit {\n public loading: boolean;\n public filteredStatus: string = 'ALL';\n public statusList: Array = ['ALL','STARTED','ANALYSING', 'RETURNED', 'APPROVED', 'DENIED'];\n\n public displayedColumns: Array = ['number', 'date', 'currentValue', 'status', 'analyst', 'actionsColumn1icon' ];\n public tableDataSource: Array = [];\n public dataSource: MatTableDataSource;\n\n constructor(\n private readonly router: Router,\n private readonly bottomSheet: MatBottomSheet,\n private readonly translationConstants: TranslationConstants,\n private readonly letterOfCreditService: LetterOfCreditService\n ) { }\n\n public ngOnInit(): void {\n this.loading = true;\n this.letterOfCreditService.getRequests().subscribe(letters => {\n if (letters) {\n this.tableDataSource = letters;\n }\n }).add(() => {\n this.dataSource = new MatTableDataSource(this.tableDataSource);\n this.loading = false;\n });\n }\n\n public search(searchValue?: string): void {\n let search = '';\n let status: any = this.filteredStatus;\n\n if (searchValue) {\n search = searchValue;\n }\n\n if (status == 'ALL') {\n this.dataSource.data = this.tableDataSource ? this.tableDataSource.filter(letter =>\n letter?.id?.includes(search) || letter?.valueRequested?.toString().includes(search) || letter?.analist?.includes(search)) : [];\n } else {\n this.dataSource.data = this.tableDataSource ? this.tableDataSource.filter(letter =>\n letter?.currentStatus == status && (letter?.id?.includes(search) || letter?.valueRequested?.toString().includes(search) || letter?.analist?.includes(search))) : [];\n }\n\n }\n\n public newRequest(): void {\n const openedRequest = this.dataSource.data.filter(letter => letter.currentStatus === RequestStatus.S);\n if (openedRequest.length > 0) {\n const sheetRef: any = this.bottomSheet.open(BottomSheetComponent, {\n data: {\n text: this.translationConstants.translate('creditLetter.bottomSheet.message'),\n declineOption: this.translationConstants.translate('creditLetter.bottomSheet.cancel'),\n confirmOption: this.translationConstants.translate('creditLetter.bottomSheet.yes'),\n }\n });\n sheetRef.afterDismissed().subscribe( action => {\n if (action) {\n this.router.navigate(['/credit-conversion/new']);\n }});\n } else {\n this.router.navigate(['/credit-conversion/new']);\n }\n }\n\n public editRequisition(letterNumber: number): void {\n this.router.navigate([`/credit-conversion/edit/${letterNumber}`])\n }\n\n public viewLetter(letterNumber: number): void {\n this.router.navigate([`/credit-conversion/view/${letterNumber}`])\n }\n}\n","
\n
\n
\n
\n \n search\n
\n\n
\n \n {{ 'creditLetter.statusEnum.' + status | translate }}\n \n
\n
\n\n \n
\n\n

{{ 'creditLetter.yourRequests' | translate }}

\n
{{ 'creditLetter.noRequest' | translate }}
\n\n
0\">\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
{{ 'creditLetter.request' | translate }}\n {{ element?.id }}\n {{ 'creditLetter.date' | translate }}\n {{ element?.createdAt | date: 'shortDate' }}\n {{ 'creditLetter.currentValue' | translate }}\n \n {{ element?.valueRequested | currency: ('creditLetter.currency' | translate) }}\n \n {{ 'creditLetter.status' | translate }}\n {{ 'creditLetter.statusEnum.' + element?.currentStatus | translate }}\n {{ 'creditLetter.analyst' | translate }}\n {{ element?.analist ? element.analist : '-' }}\n \n edit\n visibility\n
\n
\n
\n
\n\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { RestEndpoint } from \"../../../constants/rest-endpoint.constants\";\nimport { Store } from \"../../models/store.model\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StoreService {\n\n constructor(\n private readonly http: HttpClient\n ) { }\n\n public getStoreById(storeIdentifier: string): Observable {\n return this.http.get(RestEndpoint.getStore, {params: {storeIdentifier}})\n .pipe(\n map((data: Store) => {\n return data;\n }),\n catchError((err) => {\n throw(err);\n })\n );\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MaterialModule } from '../material/material.module';\nimport { HeaderComponent } from './header/header.component';\nimport { FooterComponent } from './footer/footer.component';\nimport { TranslatePipe } from '../directives/translate.directive';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [\n HeaderComponent,\n FooterComponent,\n TranslatePipe\n ],\n imports: [\n CommonModule,\n RouterModule,\n TranslateModule,\n MaterialModule,\n FormsModule\n ],\n exports: [\n TranslateModule,\n HeaderComponent,\n FooterComponent,\n TranslatePipe,\n FormsModule\n ]\n})\nexport class LayoutModule { }","//These strings will be used to compare the name configured in the Vault, hence,\n//It must be the very same name as configured over there.\nexport enum FeatureNames {\n TOKEN_HANDLING = 'TOKEN_HANDLING',\n NFT_RESALE = 'NFT_RESALE',\n SEND_NFT = 'SEND_NFT',\n LETTER_OF_CREDIT = 'LETTER_OF_CREDIT',\n USER_KYC='USER_KYC',\n COIN_PAYMENTS_KAIROS = 'COIN_PAYMENTS_KAIROS',\n DIGITAL_BANKING_KAIROS = 'DIGITAL_BANKING_KAIROS',\n BDM_PRICES='BDM_PRICES',\n SPECIAL_PRICES='SPECIAL_PRICES'\n}","/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n * AXIA CONFIDENTIAL *\n * ------------------ *\n * *\n * This file, project or its parts can not be copied and/or distributed without *\n * the express permission of Axia Digital Solutions LTDA. *\n * *\n * Project: kairos *\n * @file: footer.component.ts *\n * @Date: Thursday, 10th June 2021 *\n * @author: Nayara Goulart (nayara.goulart@axiadigitalsolutions.com) *\n * ---- *\n * Last Modified: Thursday, 10th June 2021 *\n * Modified By: Nayara Goulart (nayara.goulart@axiadigitalsolutions.com) *\n * ---- *\n * Copyright (C) 2020 Axia Digital Solutions LTDA - All Rights Reserved. *\n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */\n\nimport { Component, OnInit, HostListener } from '@angular/core';\nimport { EContactChannels, IContactDetails } from '../../models/IContactDetails';\nimport { IExternalLinks } from '../../models/IExternalLinks';\nimport { ConfigReaderService } from '../../services/util/config.reader.service';\nimport { UtilService } from '../../services/util/util.service';\nimport { forkJoin } from 'rxjs';\nimport { SimpleContactModalComponent } from '../../simple-contact-modal/simple-contact-modal.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n\n private externalLinks: IExternalLinks = undefined;\n private contactDetails: IContactDetails = undefined;\n public enableContactButton: boolean = false;\n public displayHiphen: boolean = true;\n public socialMedias: Array = [];\n public line1: string;\n public line2: string;\n public line3: string;\n public line4: string;\n\n\n constructor(\n public dialog: MatDialog,\n private readonly myConfigReader: ConfigReaderService,\n private readonly router: Router\n ) { }\n\n public ngOnInit(): void {\n forkJoin([\n this.myConfigReader.getAllExternalLinks(),\n this.myConfigReader.getContactDetails()\n ]).subscribe(async ([externalLinks, contactDetails]) => {\n this.externalLinks = externalLinks;\n this.socialMedias = Object.keys(this.externalLinks?.socialMidias) || [];\n this.contactDetails = new IContactDetails(contactDetails);\n this.enableContactButton = this.contactDetails.enableContactButton();\n });\n this.line1 = environment.line1;\n this.line2 = environment.line2;\n this.line3 = environment.line3;\n this.line4 = environment.line4;\n }\n\n public ngAfterViewInit(): void {\n this.checkDisplayHiphen();\n }\n\n @HostListener('window:resize', ['$event'])\n private checkDisplayHiphen() {\n const firstRightsLineHeight: number = document.getElementById('firstRightsLine').offsetHeight;\n this.displayHiphen = firstRightsLineHeight === 55;\n }\n\n public goToUrl(url: string): void {\n UtilService.goToUrl(url, this.externalLinks, this.router);\n }\n\n public checkConfiguration(url: string): boolean {\n return UtilService.checkConfiguration(url, this.externalLinks);\n }\n\n public openContactChannel(): void {\n const channel: EContactChannels = this.contactDetails.channelToUse();\n if (EContactChannels.EMAIL === channel){\n this.dialog.open( SimpleContactModalComponent, {\n panelClass: 'customDialog',\n data: {\n contactDetails: this.contactDetails\n }\n } );\n }else if (EContactChannels.CHAT === channel){\n window.open(this.contactDetails.tawkTo);\n }\n }\n}\n","
\n
\n
\n {{ 'footer.institutional' | translate }}\n {{ 'footer.about' | translate\n }}\n {{\n 'footer.policy' | translate }}\n {{ 'footer.work' | translate\n }}\n {{ 'footer.contact' | translate }}\n
\n
\n {{ 'footer.help' | translate }}\n {{ 'footer.exchanges' | translate }}\n {{ 'footer.account' | translate\n }}\n {{\n 'footer.deliveries' | translate }}\n {{\n 'footer.cancellation' | translate }}\n
\n
\n
\n \n
\n
\n
\n
\n

\n {{line1}}\n

\n
\n
\n

\n {{line2}}\n

\n
\n
\n

\n {{line3}}\n

\n
\n
\n

\n {{line4}}\n

\n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatBottomSheetRef, MAT_BOTTOM_SHEET_DATA} from '@angular/material/bottom-sheet';\nimport { BottomSheetModel } from '../models/bottom-sheet.model';\n\n@Component({\n selector: 'app-bottom-sheet',\n templateUrl: './bottom-sheet.component.html',\n styleUrls: ['./bottom-sheet.component.scss']\n})\nexport class BottomSheetComponent implements OnInit {\n\n constructor(\n private readonly bottomSheetRef: MatBottomSheetRef,\n @Inject(MAT_BOTTOM_SHEET_DATA) public data: BottomSheetModel\n ) {}\n\n public clearBar(): void {\n this.bottomSheetRef.dismiss();\n // tslint:disable-next-line: deprecation\n event.preventDefault();\n }\n\n public confirmOperation(): void {\n this.bottomSheetRef.dismiss({\n action: true\n });\n }\n\n public ngOnInit(): void {\n }\n}","
\n
{{ data?.text }}
\n
\n \n \n
\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { SnackBarTheme } from '../models/snackbar-theme.enum';\nimport { AccountService } from '../services/account/account.services';\nimport { ProductsService } from '../services/product/product.services';\nimport { TranslationConstants } from '../services/util/translation.constants';\nimport { SnackbarComponent } from '../snackbar/snackbar.component';\n\n@Component({\n selector: 'app-waitlist-modal',\n templateUrl: './waitlist-modal.component.html',\n styleUrls: ['./waitlist-modal.component.scss']\n})\nexport class WaitlistModalComponent implements OnInit {\n\n public isLogged = false;\n public loggedUser: any = { email: 'arlindo@email.com'};\n public email: string = undefined;\n public loading: boolean = false;\n public validated: boolean;\n\n constructor(\n public dialogRef: MatDialogRef,\n private readonly accountService: AccountService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private readonly productService: ProductsService,\n private readonly translationConstants: TranslationConstants,\n private readonly snackbarComponent: SnackbarComponent,\n ) { }\n\n ngOnInit(): void {\n this.getLoggedUser();\n }\n\n getLoggedUser(): void {\n // Buscar no serviço o usuário logado\n this.accountService.isAuthenticated(true).subscribe(success => {\n if(success) {\n this.accountService.getUserDetails().subscribe(user => {\n this.isLogged = true;\n this.email = user.email;\n this.validated = true;\n });\n }\n });\n }\n\n close() {\n this.dialogRef.close();\n }\n\n\n public validate() {\n this.validated = /\\S+@\\S+\\.\\S+/.test(this.email);\n }\n\n assign() {\n this.loading = true;\n this.productService.createWatch(this.data, this.email).subscribe(data => {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('watchlistDialog.success'), SnackBarTheme.success, 4000);\n setTimeout(() => {\n this.close();\n }, 1000)\n }).add(() => {\n this.loading = false;\n })\n }\n\n}\n","
\n \n close\n \n
\n

{{ 'waitlistDialog.title' | translate }}

\n
\n

{{ 'waitlistDialog.message' | translate }}

\n \n\n
\n \n \n
\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { OrderItem } from 'src/app/order-history/order-history.component';\n\n@Component({\n selector: 'app-rate-modal',\n templateUrl: './rate-modal.component.html',\n styleUrls: ['./rate-modal.component.scss']\n})\nexport class RateModalComponent implements OnInit {\n \n public order: OrderItem;\n opinion: string = '';\n rate: number = 0;\n rateHover: number = 0;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: OrderItem\n ) { }\n\n ngOnInit(): void {\n this.order = this.data;\n }\n\n close() {\n this.dialogRef.close();\n }\n\n}\n","
\n \n close\n \n
\n

{{ 'rateDialog.title' | translate }}

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

{{ order.product.name }}

\n

{{ 'orderHistory.orderNumber' | translate }} {{ order.orderNumber }}

\n
\n
\n\n
\n
\n = 1 && rateHover === 0) || rateHover >=1)}\"\n (mouseenter)=\"rateHover = 1\"\n (mouseleave)=\"rateHover = 0\"\n (click)=\"rate = 1\"\n >star\n = 2 && rateHover === 0) || rateHover >=2)}\"\n (mouseenter)=\"rateHover = 2\"\n (mouseleave)=\"rateHover = 0\"\n (click)=\"rate = 2\"\n >star\n = 3 && rateHover === 0) || rateHover >=3)}\"\n (mouseenter)=\"rateHover = 3\"\n (mouseleave)=\"rateHover = 0\"\n (click)=\"rate = 3\"\n >star\n = 4 && rateHover === 0) || rateHover >=4)}\"\n (mouseenter)=\"rateHover = 4\"\n (mouseleave)=\"rateHover = 0\"\n (click)=\"rate = 4\"\n >star\n = 5 && rateHover === 0) || rateHover >=5)}\"\n (mouseenter)=\"rateHover = 5\"\n (mouseleave)=\"rateHover = 0\"\n (click)=\"rate = 5\"\n >star\n
\n

{{ rate }},0

\n
\n \n \n {{ opinion.length }} / 200\n\n
\n \n \n
\n
","/* tslint:disable */\n/**\n * Determines if two objects or two values are equivalent.\n *\n * Two objects or values are considered equivalent if at least one of the following is true:\n *\n * * Both objects or values pass `===` comparison.\n * * Both objects or values are of the same type and all of their properties are equal by\n * comparing them with `equals`.\n *\n * @param o1 Object or value to compare.\n * @param o2 Object or value to compare.\n * @returns true if arguments are equal.\n */\nexport function equals(o1: any, o2: any): boolean {\n if (o1 === o2) return true;\n if (o1 === null || o2 === null) return false;\n if (o1 !== o1 && o2 !== o2) return true; // NaN === NaN\n let t1 = typeof o1, t2 = typeof o2, length: number, key: any, keySet: any;\n if (t1 == t2 && t1 == 'object') {\n if (Array.isArray(o1)) {\n if (!Array.isArray(o2)) return false;\n if ((length = o1.length) == o2.length) {\n for (key = 0; key < length; key++) {\n if (!equals(o1[key], o2[key])) return false;\n }\n return true;\n }\n } else {\n if (Array.isArray(o2)) {\n return false;\n }\n keySet = Object.create(null);\n for (key in o1) {\n if (!equals(o1[key], o2[key])) {\n return false;\n }\n keySet[key] = true;\n }\n for (key in o2) {\n if (!(key in keySet) && typeof o2[key] !== 'undefined') {\n return false;\n }\n }\n return true;\n }\n }\n return false;\n }\n /* tslint:enable */\n \n export function isDefined(value: any): boolean {\n return typeof value !== 'undefined' && value !== null;\n }\n \n export function isObject(item: any): boolean {\n return (item && typeof item === 'object' && !Array.isArray(item));\n }\n \n export function mergeDeep(target: any, source: any): any {\n let output = Object.assign({}, target);\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach((key: any) => {\n if (isObject(source[key])) {\n if (!(key in target)) {\n Object.assign(output, {[key]: source[key]});\n } else {\n output[key] = mergeDeep(target[key], source[key]);\n }\n } else {\n Object.assign(output, {[key]: source[key]});\n }\n });\n }\n return output;\n }","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\n/**\n * Axia CEP service\n */\n@Injectable()\nexport class CepService {\n\n constructor(\n private readonly http: HttpClient\n )\n { }\n\n public findCep(zipcode): Observable {\n return this.http.get(`https://viacep.com.br/ws/${zipcode}/json`, {})\n .pipe(\n map((data: any) => {\n return data;\n }),\n catchError((err) => {\n throw (err);\n })\n );\n }\n}","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[appBlockPaste]'\n})\nexport class BlockPasteDirective {\n\n constructor() { }\n\n @HostListener('paste', ['$event'])\n public blockPaste(e: any): void {\n e.preventDefault();\n }\n}","import { HttpParams } from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { IAnyExternalLinks, IExternalLinks } from '../../models/IExternalLinks';\nimport { MediaType } from '../../models/media-type.enum';\nimport { ProductMedia } from '../../models/product-media.model';\n\nexport class UtilService\n{\n public static getHttpParamsFromObject(object: any): HttpParams\n {\n let params = new HttpParams();\n for (const key of Object.keys(object))\n {\n if (object[key])\n {\n params = params.set(key, object[key]);\n }\n }\n return params;\n }\n\n public static goToUrl(url: string, externalLinks: IExternalLinks, router: Router): void {\n const levels: string[] = url?.split('/');\n let source: IAnyExternalLinks = externalLinks;\n for (let i = 0; i < levels.length; i++){\n source = source[levels[i]];\n }\n if (typeof source === 'string'){\n if(source[0] === '/'){\n router.navigate([source]);\n } else {\n window.open(source);\n }\n }\n }\n\n public static checkConfiguration(url: string, externalLinks: IExternalLinks): boolean {\n if(!externalLinks) {\n return false;\n }\n const levels: string[] = url?.split('/');\n let source: IAnyExternalLinks = externalLinks;\n for (let i = 0; i < levels.length; i++){\n source = source[levels[i]];\n }\n if (typeof source === 'string'){\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * Returns the image that will be displayed on the product card.\n * @param medias the product media array where the main image will be found.\n * @returns A string containing the url of the image.\n */\n public static getExhibitionMediaData(medias: Array): string {\n const image: string = this.getMainProductImage(medias);\n if (image) {\n return image;\n } else {\n return this.getVideoImage(medias);\n }\n }\n\n /**\n * Returns the main image of the product.\n * @param medias the product media array where the main image will be found.\n * @returns A string containing the url of the image.\n */\n private static getMainProductImage(medias: Array): string {\n const image: ProductMedia = medias?.find(item => item?.type === MediaType.IMAGE && item?.midia_url !== undefined && item?.order === 0);\n if (image) {\n return image?.midia_url;\n }\n }\n\n /**\n * Returns the product video image.\n * @param medias the product media array where the main image will be found.\n * @returns A string containing the url of the image.\n */\n private static getVideoImage(medias: Array): string {\n const video: ProductMedia = medias?.find(item => item?.type === MediaType.VIDEO && item?.midia_url !== undefined);\n if(video) {\n var output = video.midia_url.substr(video.midia_url.indexOf(\"=\") + 1);\n\n return `http://img.youtube.com/vi/${output}/default.jpg`\n }\n return undefined;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { AuthGuardService } from './guards/auth-guard.service';\n\nconst routes: Routes = [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'home'\n },\n {\n path: 'account',\n loadChildren: () =>\n import('./account/account.module').then((m) => m.AccountModule),\n },\n {\n path: 'home',\n loadChildren: () =>\n import('./home/home.module').then((m) => m.HomeModule),\n\n },\n {\n path: 'shopping-cart',\n loadChildren: () =>\n import('./shopping-cart/shopping-cart.module').then((m) => m.ShoppingCartModule),\n\n },\n {\n path: 'shopping-cart-review',\n loadChildren: () =>\n import('./shopping-cart-review/shopping-cart-review.module').then((m) => m.ShoppingCartReviewModule)\n },\n {\n path: 'order-history',\n loadChildren: () =>\n import('./order-history/order-history.module').then((m) => m.OrderHistoryModule)\n },\n {\n path: 'wishlist',\n loadChildren: () =>\n import('./wishlist/wishlist.module').then((m) => m.WishlistModule)\n },\n {\n path: 'search',\n loadChildren: () =>\n import('./search/search.module').then((m) => m.SearchModule)\n },\n {\n path: 'search-category',\n loadChildren: () =>\n import('./search-category/search-category.module').then((m) => m.SearchCategoryModule)\n },\n {\n path: 'product-details/:id',\n loadChildren: () =>\n import('./product-details/product-details.module').then((m) => m.ProductDetailsModule)\n },\n {\n path: 'credit-conversion',\n loadChildren: () =>\n import('./credit-letter/credit-letter.module').then((m) => m.CreditLetterModule),\n canActivate: [AuthGuardService]\n },\n {\n path: 'company',\n loadChildren: () =>\n import('./company/company.module').then((m) => m.CompanyModule),\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","export enum MediaType {\n IMAGE='image',\n VIDEO='video'\n}","import { Location } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AccountService } from 'src/app/shared/services/account/account.services';\nimport { TranslationConstants } from 'src/app/shared/services/util/translation.constants';\nimport { SnackBarTheme } from '../../shared/models/snackbar-theme.enum';\nimport { SnackbarComponent } from '../../shared/snackbar/snackbar.component';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { matchingPasswords, passwordPrerequisites } from '../../shared/validators/password.validator';\nimport * as Sentry from \"@sentry/angular\";\n@Component({\n selector: 'app-reset',\n templateUrl: './reset.component.html',\n styleUrls: ['../styles/card.style.component.scss']\n})\nexport class ResetComponent implements OnInit {\n\n public loading: boolean;\n public hasMinChars: boolean;\n public hasLowerCase: boolean;\n public hasUpperCase: boolean;\n public hasNumber: boolean;\n public hasSpecialChar: boolean;\n public hideVisiblePwd: boolean;\n public hideVisibleConfirmPwd: boolean;\n public showPrerequisites: boolean = true;\n public match: boolean = true;\n public showNewPassword: boolean;\n public showRepeatedPassword: boolean;\n public email: string;\n public resetForm: FormGroup = new FormGroup({\n password: new FormControl('', [Validators.required, Validators.minLength(8), Validators.maxLength(20), passwordPrerequisites]),\n confirmPassword: new FormControl('', [Validators.required, Validators.minLength(8), Validators.maxLength(20)]),\n code: new FormControl('', [Validators.required])\n }, [matchingPasswords('password', 'confirmPassword')]);\n\n constructor(\n private readonly location: Location,\n private readonly snackbarComponent: SnackbarComponent,\n private readonly translationConstants: TranslationConstants,\n private readonly accountService: AccountService,\n private readonly router: Router\n ) { }\n\n public ngOnInit(): void {\n this.accountService.getRsaPublicKey().subscribe();\n this.email = this.accountService.userEmail;\n if (!this.email) {\n this.router.navigate(['/account/forgot']);\n }\n }\n\n /**\n * To validate confirm password input\n */\n public matchPass(): void {\n this.match = this.resetForm.value.password === this.resetForm.value.confirmPassword;\n }\n\n /**\n * Validate password prerequisites to show on screen\n */\n public validatePassword(): void {\n\n if (this.showPrerequisites) {\n const password = this.resetForm.value.password;\n this.hasMinChars = false;\n this.hasLowerCase = false;\n this.hasUpperCase = false;\n this.hasNumber = false;\n this.hasSpecialChar = false;\n\n if (password.length > 7) {\n this.hasMinChars = true;\n }\n\n const lowerCaseLetters = /[a-z]/g;\n if (password.match(lowerCaseLetters)) {\n this.hasLowerCase = true;\n }\n\n const upperCaseLetters = /[A-Z]/g;\n if (password.match(upperCaseLetters)) {\n this.hasUpperCase = true;\n }\n\n const numbers = /[0-9]/g;\n if (password.match(numbers)) {\n this.hasNumber = true;\n }\n\n const specialCharacter = /[-!@#$%^*()_+.]/g;\n if (password.match(specialCharacter) && password.length !== 0) {\n this.hasSpecialChar = true;\n }\n }\n\n if (this.resetForm.value.confirmPassword) {\n this.matchPass();\n }\n }\n\n public cancel(): void {\n this.location.back();\n }\n\n public reset(): void {\n this.loading = true;\n Sentry.setUser({ email: this.email });\n this.accountService.resetPassword({secretCode: this.resetForm.value.code,\n newPassword: this.resetForm.value.password,\n email: this.email}).subscribe(success => {\n this.snackbarComponent.openSnackBar(this.translationConstants.translate('account.reset.success'), SnackBarTheme.success);\n this.goToLogin();\n }, err => {\n let errorMessage: string = 'generic';\n if (!err?.error || !err?.error.message) {\n errorMessage = 'generic';\n } else if (err.error.message.includes('There is no code for the given user')) {\n errorMessage = 'noCodeForUser'\n } else if (err.error.message.includes('The code is no longer valid')) {\n errorMessage = 'noLogerValid'\n } else if (err.error.message.includes('The code is not matching')) {\n errorMessage = 'mismatching'\n }\n this.snackbarComponent.openSnackBar(this.translationConstants.translate(`account.reset.error.${errorMessage}`), SnackBarTheme.error, 4000);\n }).add(() => {\n this.loading = false;\n }\n );\n }\n\n public goToLogin(): void {\n this.router.navigate(['/account/login']);\n }\n}\n","
\n \n
\n \n

{{ 'account.reset.title' | translate }}

\n

{{ 'account.reset.instructions' | translate }}

\n\n \n \n \n \n
\n
\n \n
\n {{ 'account.reset.hint.code' | translate }}\n
\n
\n\n
\n
\n \n {{ showNewPassword ? 'visibility_off' : 'visibility' }}\n
\n
\n {{ 'account.reset.hint.password' | translate }}\n
\n
\n
\n info\n {{ 'account.reset.prerequisites.title' | translate }}\n
\n keyboard_arrow_up\n
\n
\n done\n {{ 'account.reset.prerequisites.long' | translate }}\n
\n
\n done\n {{ 'account.reset.prerequisites.lower' | translate }}\n
\n
\n done\n {{ 'account.reset.prerequisites.upper' | translate }}\n
\n
\n
\n
\n done\n {{ 'account.reset.prerequisites.number' | translate }}\n
\n
\n done\n {{ 'account.reset.prerequisites.special' | translate }}\n
\n
\n
\n
\n\n
\n
\n \n {{ showRepeatedPassword ? 'visibility_off' : 'visibility' }}\n
\n
\n {{ 'account.reset.hint.notMatch' | translate }}\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n\n","import { Injectable } from '@angular/core';\nimport { ConfigReaderService } from './config.reader.service';\n\ninterface Scripts\n{\n name: string;\n src: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ScriptService\n{\n private readonly scripts: any = {};\n\n constructor(\n private readonly myConfigReaderService: ConfigReaderService\n )\n {\n let scriptStore: Array = [];\n\n this.myConfigReaderService.getPaymentScripts().subscribe(data => {\n scriptStore = [\n {name: 'paypal', src: data.paypal},\n {name: 'pagseguro', src: data.pagseguro}\n ];\n });\n\n scriptStore.forEach((script: Scripts) => {\n this.scripts[script.name] = {\n loaded: false,\n src: script.src\n };\n });\n }\n\n public load(...scripts: Array): Promise>\n {\n const promises: Array> = [];\n scripts.forEach((script) => promises.push(this.loadScript(script)));\n return Promise.all(promises);\n }\n\n public loadScript(name: string): Promise\n {\n return new Promise((resolve, reject) => {\n\n if (this.scripts[name].loaded)\n {\n resolve({script: name, loaded: true, status: 'Already Loaded'});\n }\n else\n {\n const script: HTMLScriptElement = document.createElement('script');\n script.type = 'text/javascript';\n script.src = this.scripts[name].src;\n\n script.onload = () => {\n this.scripts[name].loaded = true;\n resolve({script: name, loaded: true, status: 'Loaded'});\n };\n\n script.onerror = (error: any) => resolve({script: name, loaded: false, status: 'Loaded'});\n document.getElementsByTagName('head')[0].appendChild(script);\n }\n });\n }\n}\n","import { ShoppingCartItemAdapter } from './shopping-cart-item.adapter';\nimport { Injectable } from '@angular/core';\nimport { ShoppingCart } from '../../models/shopping-cart.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ShoppingCartAdapter\n{\n constructor(\n private readonly shoppingCartItemAdapter: ShoppingCartItemAdapter\n )\n {}\n\n public adapt(data: any): ShoppingCart\n {\n const shoppingCart: ShoppingCart = new ShoppingCart(\n data.id,\n data.user_id,\n data.store_id,\n data.items\n .filter((item: any) => item.quantity > 0)\n .map((item: any) => this.shoppingCartItemAdapter.adapt(item)),\n new Date(data.creation_date),\n new Date(data.last_update)\n );\n shoppingCart.store = data.store;\n\n return shoppingCart;\n }\n\n}\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\n\nimport * as Sentry from \"@sentry/angular\";\nimport { BrowserTracing } from \"@sentry/tracing\";\n\nSentry.init({\n dsn: \"https://3e4f583a669a42a0860b3796fe102b98@o414031.ingest.sentry.io/6294925\",\n integrations: [\n new BrowserTracing({\n tracingOrigins: [\"localhost\", \"https://yourserver.io/api\"],\n routingInstrumentation: Sentry.routingInstrumentation,\n }),\n ],\n\n // Set tracesSampleRate to 1.0 to capture 100%\n // of transactions for performance monitoring.\n // We recommend adjusting this value in production\n tracesSampleRate: 1.0,\n });\n\n enableProdMode();\n platformBrowserDynamic()\n .bootstrapModule(AppModule)\n .then(success => console.log(`Bootstrap success`))\n .catch(err => console.error(err));\n\n","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 = \"zn8P\";"],"sourceRoot":"webpack:///"}