{"version":3,"sources":["webpack:///src/app/modules/shared/components/sign-out/sign-out.component.ts","webpack:///src/app/modules/shared/components/sign-out/sign-out.component.html","webpack:///src/app/modules/shared/components/status/status.component.html","webpack:///src/app/modules/shared/components/status/status.component.ts","webpack:///src/app/modules/shared/components/change-status/change-status.component.html","webpack:///src/app/modules/shared/components/change-status/change-status.component.ts","webpack:///src/app/components/header/header.component.html","webpack:///src/app/components/header/header.component.ts","webpack:///src/app/modules/shared/components/sign-out/sign-out.module.ts","webpack:///src/app/modules/shared/components/size-detector/size-detector.module.ts","webpack:///src/app/modules/shared/components/small-reader-card/small-reader-card.module.ts","webpack:///src/app/modules/shared/components/modals/modals.module.ts","webpack:///src/app/modules/shared/components/status/status.module.ts","webpack:///src/app/modules/shared/components/change-status/change-status.module.ts","webpack:///src/app/components/header/header.module.ts","webpack:///src/app/components/left-top-menu/left-top-menu.component.html","webpack:///src/app/components/left-top-menu/left-top-menu.component.ts","webpack:///src/app/components/menu/menu.module.ts","webpack:///src/app/components/left-top-menu/left-top-menu.module.ts","webpack:///src/app/menu/menu.ts","webpack:///src/app/components/menu/menu.component.html","webpack:///src/app/components/menu/menu.component.ts","webpack:///src/app/menu/consultant-menu.ts","webpack:///src/app/components/sidebar-menu-next/sidebar-menu-next.component.html","webpack:///src/app/components/sidebar-menu-next/sidebar-menu-next.component.ts","webpack:///src/app/components/sidebar-menu-next/sidebar-menu-next.module.ts","webpack:///src/app/components/sidebar-menu/sidebar-menu.component.html","webpack:///src/app/components/sidebar-menu/sidebar-menu.component.ts","webpack:///src/app/components/sidebar-menu/sidebar-menu.module.ts","webpack:///src/app/directives/directives.module.ts","webpack:///src/app/directives/hover.directive.ts","webpack:///src/app/directives/is-granted.directive.ts","webpack:///src/app/modules/shared/components/count-messages/count-messages.component.html","webpack:///src/app/modules/shared/components/count-messages/count-messages.component.ts","webpack:///src/app/modules/shared/components/count-messages/count-messages.module.ts","webpack:///src/app/modules/shared/components/favourite/favourite.module.ts","webpack:///src/app/modules/shared/components/gift-shade/gift-shade.module.ts","webpack:///src/app/modules/shared/components/major-actions/major-actions.component.ts","webpack:///src/app/modules/shared/components/major-actions/major-actions.component.html","webpack:///src/app/modules/shared/components/major-actions/major-actions.module.ts","webpack:///src/app/modules/shared/components/online/online.module.ts","webpack:///src/app/modules/shared/components/phones-menu/phones-menu.component.html","webpack:///src/app/modules/shared/components/phones-menu/phones-menu.component.ts","webpack:///src/app/modules/shared/components/phones-menu/phones-menu.module.ts","webpack:///src/app/modules/shared/components/premier/premier.module.ts","webpack:///src/app/modules/shared/components/rating/rating.module.ts","webpack:///src/app/modules/shared/components/reader-card/reader-card.module.ts","webpack:///src/app/modules/shared/components/select-filter/select-filter.module.ts","webpack:///src/app/modules/shared/pipes.shared.module.ts","webpack:///src/app/modules/shared/primary-components/book-button/book-button.module.ts","webpack:///src/app/modules/shared/primary-components/busy-button/busy-button.module.ts","webpack:///src/app/modules/shared/primary-components/call-button/call-button.module.ts","webpack:///src/app/modules/shared/primary-components/chat-button/chat-button.module.ts","webpack:///src/app/modules/shared/primary-components/notify-button/notify-button.module.ts"],"sourcesContent":["import {Component, Inject, OnDestroy, OnInit} from '@angular/core';\nimport {finalize} from 'rxjs/operators';\nimport {BsModalService} from 'ngx-bootstrap/modal';\nimport {NGXLogger} from 'ngx-logger';\nimport {CookieService} from 'ng2-cookies';\nimport {UserService} from '../../../../services/user.service';\nimport {Router} from '@angular/router';\nimport {SubSink} from 'subsink';\n// import * as Sentry from '@sentry/browser';\nimport {AllEmiterService} from '../../../../services/all-emiter.service';\nimport {ElectronService} from '../../../../services/electron.service';\nimport {environment} from '../../../../../environments/environment';\nimport {GoogleAnalyticsEventsService} from '../../../../services/google-analytics-events.service';\nimport {UtilService} from '../../../../services/util.service';\nimport {WINDOW} from '../../../../providers/window.provider';\nimport {ConsultantService} from '../../../consultant/services/consultant.service';\n\n@Component({\n selector: 'shared-sign-out',\n templateUrl: './sign-out.component.html',\n styleUrls: ['./sign-out.component.scss'],\n})\nexport class SignOutComponent implements OnInit, OnDestroy {\n private subs = new SubSink();\n\n constructor(\n private userService: UserService,\n private bsModalService: BsModalService,\n private logger: NGXLogger,\n private cookie: CookieService,\n private router: Router,\n // private atmosphereService: AtmosphereService,\n private allEmiterService: AllEmiterService,\n private electronService: ElectronService,\n private googleAnalyticsEventsService: GoogleAnalyticsEventsService,\n private utilService: UtilService,\n @Inject(WINDOW) private window: Window,\n private consultantService: ConsultantService,\n ) {\n const self = this;\n\n }\n\n ngOnInit() {\n }\n\n async signOut() {\n\n /**\n * First check if reader is self-busy. If is self-busy I disable it and log out\n * https://lifereader.atlassian.net/browse/LA-432\n */\n const self = this;\n const role = self.utilService.localStorageGetItem('role');\n if (role === 'ROLE_READER') {\n const availability = await this.consultantService.getAvailability().toPromise();\n if (availability) {\n if (availability.busy) {\n await this.userService.addSelfBusy().toPromise();\n }\n }\n }\n await this.googleAnalyticsEventsService.logOut();\n this.subs.sink = this.userService.signOut().pipe(finalize(() => {\n try {\n // self.atmosphereService.disconnect();\n self.allEmiterService.onUserLogOut();\n self.deleteData();\n self.electronService.removeDockMenu();\n this.window.location.href = '';\n } catch (e) {\n console.error('Error deleting cookies', e);\n this.window.location.href = '';\n }\n\n })).subscribe((res) => {\n }, error => {\n try {\n // self.atmosphereService.disconnect();\n self.allEmiterService.onUserLogOut();\n } catch (e) {\n }\n try {\n self.deleteData();\n } catch (e) {\n }\n console.error(error);\n this.window.location.href = 'index.html';\n });\n }\n\n deleteData() {\n const self = this;\n const cookies_banner = self.utilService.localStorageGetItem('cookies_banner');\n\n this.cookie.deleteAll('/');\n // This is done to force reload of other tabs that are listening for this event\n self.utilService.localStorageSetItem('uid', '');\n self.utilService.localStorageClear();\n self.utilService.localStorageSetItem('cookies_banner', cookies_banner);\n }\n\n ngOnDestroy(): void {\n this.subs.unsubscribe();\n }\n}\n","\n","
\n\n\n2\" class=\"count\">{{this.currency.sign}} {{this.currency.asciiSymbol}} {{fullBalance}}\n\n \n \n\n {{userName}}\n \n \n
\n
\n
\n {{userName}}
\n
\n
\n \n 2\"\n class=\"count\">{{this.currency.sign}} {{this.currency.asciiSymbol}} {{fullBalance}}\n {{this.currency?.sign}} {{this.currency?.asciiSymbol}} 0.00 \n \n \n
\n\n \n \n
\n","import {AfterViewInit, Component, EventEmitter, Inject, OnDestroy, OnInit, Output} from '@angular/core';\nimport {UserService} from '../../../../services/user.service';\nimport {BsModalService} from 'ngx-bootstrap/modal';\nimport {AllEmiterService} from '../../../../services/all-emiter.service';\nimport {PromotiosResolverService} from '../../../../resolvers/promotios-resolver.service';\nimport {SubSink} from 'subsink';\nimport {Currency} from '../../../../entity/currency';\nimport {WINDOW} from '../../../../providers/window.provider';\nimport {AlertService} from '../../../../services/alert.service';\n// import * as Sentry from '@sentry/browser';\nimport {CustomerService} from '../../../customer/services/customer.service';\nimport {UtilService} from '../../../../services/util.service';\nimport {NGXLogger} from 'ngx-logger';\nimport {AddFundsAttemptsService} from '../../../../services/nestjs/logs/add-funds-attemps/add-funds-attempts.service';\n\n@Component({\n selector: 'app-status',\n templateUrl: './status.component.html',\n styleUrls: ['./status.component.scss'],\n})\nexport class StatusComponent implements OnInit, AfterViewInit, OnDestroy {\n currency: Currency;\n fullBalance;\n asciiSymbol = '';\n currentSign = '';\n userName = '';\n regStep = 0;\n private subs = new SubSink();\n // tslint:disable-next-line:no-output-on-prefix\n @Output()\n onAction = new EventEmitter();\n\n showingAddFunds = false;\n constructor(\n private userService: UserService,\n private customerService: CustomerService,\n private bsModalService: BsModalService,\n private allEmiterService: AllEmiterService,\n private promotiosService: PromotiosResolverService,\n private alertService: AlertService,\n @Inject(WINDOW) private window: Window,\n private utilService: UtilService,\n private logger: NGXLogger,\n private addFundsAttemptsService: AddFundsAttemptsService,\n ) {\n }\n\n async ngOnInit() {\n const self = this;\n await this.getFullBalance(0);\n\n this.subs.sink = this.allEmiterService.subsFundsChange = this.allEmiterService.invokeFundsChange.subscribe(async (data: number) => {\n await this.updateBalance(data);\n this.getCurrency();\n // Open tab\n });\n this.subs.sink = this.allEmiterService.subsLoggedIn = this.allEmiterService.invokeLoggedIn.subscribe((data) => {\n this.getFullBalance(0);\n });\n await this.getFullBalance(0);\n this.getUsernameAndStep();\n this.getCurrency();\n this.subs.sink = this.allEmiterService.subsRegistrationStep2 = this.allEmiterService.invokeRegistrationStep2.subscribe(async () => {\n await this.getUsernameAndStep();\n });\n\n // this.window.addEventListener('storage', function (event) {\n // if (event.key === 'fullBalance') {\n // self.getFullBalance(0);\n // }\n // });\n }\n\n async ngAfterViewInit() {\n await this.getFullBalance(0);\n }\n\n async addFunds(message: string) {\n this.showingAddFunds = true;\n try {\n await this.userService.showAddFunds(message);\n } catch (e) {\n this.logger.error('Error showing add funds', e);\n } finally {\n this.showingAddFunds = false;\n }\n }\n\n getUsernameAndStep() {\n if (this.userService.isLoggedIn()) {\n try {\n this.userService.getData();\n this.userName = this.userService.data.nickName;\n this.regStep = this.userService.data.regStep;\n } catch (e) {\n console.error(e);\n return '';\n }\n } else {\n return '';\n }\n }\n\n updateBalance(balance: number) {\n this.fullBalance = balance.toFixed(2);\n }\n\n async getFullBalance(extra) {\n const self = this;\n if (this.userService.isLoggedIn()) {\n try {\n // if (extra && extra > 0) {\n // await this.userService.getDetailsToPromise();\n // }\n this.userService.getData();\n this.fullBalance = this.userService.data.fullBalance.toFixed(2);\n } catch (e) {\n this.fullBalance = self.utilService.localStorageGetItem('fullBalance');\n }\n } else {\n this.fullBalance = self.utilService.localStorageGetItem('fullBalance');\n }\n if (this.fullBalance) {\n this.fullBalance = parseFloat(this.fullBalance);\n if (extra && extra > 0) {\n this.fullBalance = this.fullBalance + extra;\n }\n this.fullBalance = this.fullBalance.toFixed(2);\n }\n\n\n }\n\n getCurrencyAsciiSymbol() {\n if (this.userService.isLoggedIn()) {\n try {\n this.userService.getData();\n if (this.userService.data.currency) {\n try {\n this.asciiSymbol = this.userService.data.currency['asciiSymbol'];\n } catch (e) {\n console.error(e);\n this.asciiSymbol = '';\n }\n } else {\n this.asciiSymbol = '';\n }\n } catch (e) {\n console.error(e);\n this.asciiSymbol = '';\n }\n } else {\n this.asciiSymbol = '';\n }\n }\n\n getCurrencySign() {\n if (this.userService.isLoggedIn()) {\n try {\n this.userService.getData();\n if (this.userService.data.currency) {\n try {\n this.currentSign = this.userService.data.currency['sign'];\n } catch (e) {\n console.error(e);\n this.currentSign = '';\n }\n } else {\n this.currentSign = '';\n }\n } catch (e) {\n console.error(e);\n this.currentSign = '';\n }\n } else {\n this.currentSign = '';\n }\n }\n\n getCurrency() {\n const self = this;\n const aux = JSON.parse(self.utilService.localStorageGetItem('currency'));\n if (aux === null) {\n this.currency = {\n asciiSymbol: '$',\n id: 1,\n sign: 'USD'\n };\n } else {\n this.currency = aux;\n }\n }\n\n\n ngOnDestroy(): void {\n this.subs.unsubscribe();\n }\n}\n","
\n
\n \n
\n
\n \n
\n
\n","import {AfterViewInit, Component, EventEmitter, OnDestroy, OnInit, Output, Renderer2} from '@angular/core';\nimport {UserService} from '../../../../services/user.service';\nimport {NGXLogger} from 'ngx-logger';\nimport {ConsultantService} from '../../../consultant/services/consultant.service';\nimport {Availability} from '../../entity/availability';\nimport {AlertService} from '../../../../services/alert.service';\nimport {SubSink} from 'subsink';\nimport {BsModalService} from 'ngx-bootstrap/modal';\nimport {ReaderService} from '../../services/reader-service';\nimport {ElectronService} from '../../../../services/electron.service';\nimport {AllEmiterService} from '../../../../services/all-emiter.service';\nimport {UtilService} from '../../../../services/util.service';\n\n@Component({\n selector: 'shared-change-status',\n templateUrl: './change-status.component.html',\n styleUrls: ['./change-status.component.scss'],\n})\nexport class ChangeStatusComponent implements OnInit, OnDestroy, AfterViewInit {\n open = false;\n selfBusy: boolean;\n availability: Availability;\n statusReportedFirstTime = false;\n private subs = new SubSink();\n private messageTitle = 'Reading Availability Updated';\n @Output()\n onAction = new EventEmitter();\n private messageBody = '';\n\n private firstTime = true;\n\n private messages = {\n '11': 'You changed your reading method to be Available to take Call Bookings and Unavailable for Chat both when your logged-in and logged-out. When you are busy you will be Available to take Call Bookings. This will show on the site in a few seconds',\n '12': 'You changed your reading method to be Available for only Chat readings when your logged-in and Unavailable for both Call or Chats when your logged-out. This will show on the site in a few seconds',\n '13': 'You changed your reading method to be Available for both Call and Chat readings when your logged-in and Available only for Call readings when your logged-out. When you are busy you will be Available to take Call Bookings. This will show on the site in a few seconds',\n '02': 'You changed your reading method to be Unavailable for Chat or Call both when your logged-in and logged-out. This will show on the site in a few seconds'\n };\n\n private listeners = [];\n\n constructor(\n private readerService: ReaderService,\n private userService: UserService,\n private logger: NGXLogger,\n private consultantService: ConsultantService,\n // private atmosphereService: AtmosphereService,\n private alertService: AlertService,\n private renderer: Renderer2,\n private bsModalService: BsModalService,\n private electronService: ElectronService,\n private allEmiterService: AllEmiterService,\n private utilService: UtilService,\n ) {\n const listener = this.renderer.listen('window', 'click', (e: Event) => {\n if ((e.srcElement).getAttribute('data-area') !== 'availability') {\n this.open = false;\n }\n });\n this.subs.sink = this.readerService.onUpdateReader.subscribe((reader) => {\n this.logger.debug('OnUpdateReader');\n this.loadData();\n });\n this.subs.sink = this.allEmiterService.invokeReaderWantsChangeStatus.subscribe((data) => {\n switch (data) {\n case 'Available':\n this.submitStatus(true, 3);\n break;\n case 'Busy':\n this.turnSelfBusy();\n break;\n case 'Just Calls':\n this.submitStatus(true, 1);\n break;\n case 'Just Chats':\n this.submitStatus(true, 2);\n break;\n case 'UnAvailable':\n this.submitStatus(false, 2);\n break;\n\n }\n });\n }\n\n ngOnInit() {\n this.logger.debug('init change status component');\n const self = this;\n this.subs.sink = this.userService.getSelfBusy().subscribe((res) => {\n this.selfBusy = res.selfBusy;\n this.changeBadgeText('Busy');\n });\n\n\n\n\n this.subs.sink = this.allEmiterService.subsChangeAvailability =\n this.allEmiterService.invokeChangeAvailability.subscribe(() => {\n self.logger.debug('Invoke Change Availability');\n self.loadData();\n });\n\n }\n\n ngAfterViewInit() {\n const self = this;\n setTimeout(() => {\n self.logger.debug('After View Init');\n self.loadData();\n }, 3000);\n\n }\n\n reportStatusFirstTime() {\n const self = this;\n if (this.statusReportedFirstTime === false) {\n this.statusReportedFirstTime = true;\n setTimeout(() => {\n // Set availability so when reader open the page (after close), customer will see he is online\n self.subs.sink = self.consultantService.setAvailability({\n availability: self.availability.availability,\n readingMethodAvailability: self.availability.readingMethodAvailability,\n }).subscribe((res) => {\n this.onAction.emit();\n });\n this.allEmiterService.onChangeAvailability({availability: self.availability.availability, method: self.availability.readingMethodAvailability});\n }, 5000);\n\n\n }\n\n }\n\n loadData() {\n this.logger.debug('Load Data Change Status');\n const self = this;\n this.subs.sink = this.consultantService.getAvailability().subscribe((res) => {\n if (res.availability) {\n this.changeBadgeText('Available');\n }\n if (res.busy) {\n this.changeBadgeText('Busy');\n }\n this.availability = res;\n this.selfBusy = this.availability.busy;\n // self.reportStatusFirstTime();\n });\n\n }\n\n dropdownIsOpen() {\n return this.open;\n }\n\n doOpenDropdown() {\n this.open = !this.open;\n }\n\n turnSelfBusy() {\n this.subs.sink = this.userService.addSelfBusy().subscribe((res) => {\n this.selfBusy = res.selfBusy;\n this.electronService.setBadgeText('Busy');\n this.onAction.emit();\n });\n }\n\n submitStatus(availability, method) {\n /**\n * We should not allow readers to be available for chat when they connect from their phone\n * FUTURE FEATURE\n */\n // if (availability && (method === 3 || method === 2 )) {\n // if (this.checkIfIsMobile() === true) {\n // this.bsModalService.show(WarningMobileModalComponent, {\n // class: 'modal-sm',\n // backdrop: 'static',\n // keyboard: true,\n // ignoreBackdropClick: false\n // });\n // return;\n // }\n // }\n\n this.allEmiterService.onChangeAvailability({availability, method});\n this.subs.sink = this.consultantService.setAvailability({\n availability: availability,\n readingMethodAvailability: method,\n }).subscribe((res) => {\n const av = (res.availability) ? '1' : '0';\n const message = this.messages[av + res.readingMethodAvailability];\n this.availability = res;\n this.selfBusy = this.availability.busy;\n this.alertService.alert({\n title: this.messageTitle,\n body: message,\n type: 'info',\n });\n this.onAction.emit();\n });\n }\n\n checkIfIsMobile() {\n const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\n return isMobile;\n }\n\n ngOnDestroy(): void {\n this.subs.unsubscribe();\n this.listeners.forEach(listener => listener());\n }\n\n changeBadgeText(text) {\n const self = this;\n if (!self.utilService.localStorageGetItem('ChatIncomeInformerEvent')) {\n this.electronService.setBadgeText(text);\n }\n\n }\n}\n","\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n {{name}}\n\n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n
\n \n
\n
\n \n \n {{name}}\n \n
\n
\n
\n
\n
\n
\n \n\n
\n\n
\n\n \n\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n\n\n \n \n \n \n
\n
\n
\n \n \n \n \n \n
\n\n \n
\n
\n\n\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n \n \n\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","/* tslint:disable:max-line-length */\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n ElementRef,\n HostListener,\n Inject,\n OnDestroy,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport {ActivatedRoute, NavigationEnd, Router} from '@angular/router';\nimport {UserService} from '../../services/user.service';\nimport {DOCUMENT} from '@angular/common';\nimport {MenuItem} from '../../menu/menu';\n// import {PaymentsModalComponent} from '../../modules/shared/components/modals/payments-modal/payments-modal.component';\nimport {BsModalService} from 'ngx-bootstrap/modal';\nimport {Phone} from '../../modules/consultant/entity/phone';\nimport {AccountService} from '../../modules/consultant/services/account.service';\nimport {PromotiosResolverService} from '../../resolvers/promotios-resolver.service';\nimport {SubSink} from 'subsink';\nimport {AllEmiterService} from '../../services/all-emiter.service';\nimport {environment} from '../../../environments/environment';\nimport {WINDOW} from '../../providers/window.provider';\nimport {Currency} from '../../entity/currency';\nimport {LoadableComponent, LoadableService} from 'ngx-loadable';\nimport {SidebarMenuComponent} from '../sidebar-menu/sidebar-menu.component';\nimport {AlertService} from '../../services/alert.service';\nimport {CustomerService} from '../../modules/customer/services/customer.service';\nimport {UtilService} from '../../services/util.service';\nimport {NGXLogger} from 'ngx-logger';\nimport {AddFundsAttemptsService} from '../../services/nestjs/logs/add-funds-attemps/add-funds-attempts.service';\nimport {UserNestService} from '../../services/nestjs/user/user-nest.service';\nimport * as Sentry from '@sentry/angular';\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n})\nexport class HeaderComponent implements OnInit, OnDestroy, AfterViewInit {\n isVisibleSidebar = false;\n phones: Phone[] = null;\n viewElements = [false, false];\n name = '';\n isLogged = false;\n // Intervals\n auxInterval: any;\n private subs = new SubSink();\n public electron;\n asciiSymbol = '';\n currentSign = '';\n userName = '';\n regStep = 0;\n fullBalance;\n currency: Currency;\n role: string;\n\n\n showLeftTopMenuComponent = false;\n showRightTopMenuComponent = false;\n showAuthButtons = false;\n\n @ViewChild('sideBarMenuComponent') sideBarComponent: LoadableComponent;\n showSideBarMenu = false;\n\n @ViewChild('sideBarMenuComponent') sideBarComponentNext: LoadableComponent;\n showSideBarMenuNext = false;\n\n @ViewChild('headerLogged', {static: false}) headerLogged: ElementRef;\n\n chatRunning = true;\n\n showingAddFunds = false;\n\n isMobile = false;\n\n constructor(@Inject(DOCUMENT) private document: Document,\n private bsModalService: BsModalService,\n private accountService: AccountService,\n private router: Router,\n private promotiosService: PromotiosResolverService,\n private userService: UserService,\n private customerService: CustomerService,\n private allEmiterService: AllEmiterService,\n @Inject(WINDOW) private window: Window,\n private loadableService: LoadableService,\n private alertService: AlertService,\n private utilService: UtilService,\n private activatedRoute: ActivatedRoute,\n private logger: NGXLogger,\n private changeDetector: ChangeDetectorRef,\n private addFundsAttemptsService: AddFundsAttemptsService,\n private userNestService: UserNestService,\n ) {\n this.electron = environment.electron;\n\n }\n\n async ngOnInit() {\n this.isMobile = this.checkIfIsMobile();\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n // In case the page is open using navigateUrl on the chat modal\n if (history.state.chatRunning) {\n this.chatRunning = history.state.chatRunning;\n } else {\n this.chatRunning = this.activatedRoute.firstChild.snapshot.data.chatRunning;\n }\n this.displayHeader();\n\n }\n });\n this.loadCommonComponents();\n const self = this;\n let pos = 0;\n await this.getFullBalance(0);\n this.role = self.utilService.localStorageGetItem('role');\n this.subs.sink = this.auxInterval = self.utilService.setInterval(function () {\n if (pos === 2) {\n // clearInterval(self.auxInterval);\n self.utilService.clearInterval(self.auxInterval);\n }\n self.viewElements[pos] = true;\n pos++;\n }, 150);\n this.subs.sink = this.router.events.subscribe((evt) => {\n if (!(evt instanceof NavigationEnd)) {\n return;\n }\n this.window.scrollTo(0, 0);\n });\n await this.isLoggedFunction();\n this.subs.sink = this.allEmiterService.subsLoggedIn = this.allEmiterService.invokeLoggedIn.subscribe(async () => {\n this.getCurrency();\n await this.isLoggedFunction();\n await this.getFullBalance(0);\n\n this.role = self.utilService.localStorageGetItem('role');\n });\n\n if (this.allEmiterService.subsCloseMenu === undefined) {\n this.subs.sink = this.allEmiterService.subsCloseMenu = this.allEmiterService.invokeCloseMenu.subscribe(() => {\n this.closeSidebar(null);\n });\n }\n this.subs.sink = this.allEmiterService.subsFundsChange = this.allEmiterService.invokeFundsChange.subscribe(async (data) => {\n // await this.getFullBalance(data);\n this.updateBalance(data);\n this.getCurrency();\n // Open tab\n });\n await this.getFullBalance(0);\n this.getUsernameAndStep();\n this.getCurrency();\n this.subs.sink = this.allEmiterService.subsRegistrationStep2 = this.allEmiterService.invokeRegistrationStep2.subscribe(async () => {\n await this.getUsernameAndStep();\n });\n\n // this.window.addEventListener('storage', function async(event) {\n // if (event.key === 'fullBalance') {\n // self.logger.debug('Balance change from storage');\n // self.fullBalance = event.newValue;\n // }\n // });\n }\n\n async ngAfterViewInit() {\n await this.getFullBalance(0);\n }\n\n async isLoggedFunction() {\n const self = this;\n this.isLogged = this.userService.isLoggedIn();\n if (!this.isLogged) {\n this.document.body.classList.add('not-logged');\n this.loadNonLoggedComponents();\n } else {\n this.loadLoggedComponents();\n try {\n // this.userService.getData();\n await this.getName();\n this.regStep = this.userService.data.regStep;\n const registration = self.utilService.localStorageGetItem('registration');\n // Avoid calling the web service during registration due that user does not have phone numbers\n if (this.regStep > 2) {\n this.subs.sink = this.accountService.getPhones().subscribe((res) => {\n this.phones = res;\n });\n }\n\n this.document.body.classList.remove('not-logged');\n } catch (e) {\n // log out and reload\n this.allEmiterService.onUserLogOut();\n // this.window.location.href = '';\n }\n }\n return this.isLogged;\n }\n\n async closeSidebar(menuItem: MenuItem) {\n const self = this;\n if (menuItem) {\n if (menuItem.text === 'Test sound') {\n this.playSound();\n }\n if (menuItem.text === 'Test notification') {\n this.playSoundLater();\n }\n if (menuItem.text === 'Add funds') {\n await this.addFunds('Header Menu Item');\n }\n if (menuItem.text === 'Telegram Notifications') {\n await this.telegramNotifications();\n }\n }\n // Programmatically run change detection to fix issue in Safari\n self.utilService.setTimeout(() => {\n this.isVisibleSidebar = false;\n }, 5);\n }\n\n\n async addFunds(message: string) {\n this.showingAddFunds = true;\n try {\n await this.userService.showAddFunds(message);\n } catch (e) {\n this.logger.error('Error showing add funds', e);\n } finally {\n this.showingAddFunds = false;\n }\n\n }\n\n async playSound() {\n\n const audio = new Audio();\n audio.src = 'assets/flashbeep_alert.mp3';\n audio.load();\n try {\n // @ts-ignore\n Sentry.addBreadcrumb('Trying to play sound in header component');\n await audio.play();\n } catch (e) {\n this.logger.error('No permissions to play sound');\n }\n }\n\n async telegramNotifications() {\n const component: any = await import('../../modules/shared/components/modals/telegram-notification-modal/telegram-notification-modal.component')\n .then(cp => cp.TelegramNotificationModalComponent);\n this.bsModalService.show(component, {\n animated: false,\n backdrop: true,\n keyboard: true\n });\n }\n\n playSoundLater() {\n const self = this;\n self.utilService.setTimeout(() => {\n this.playSound();\n }, 3000);\n }\n\n openSidebar() {\n this.isVisibleSidebar = true;\n }\n\n async getName() {\n try {\n this.name = this.userService.getData().nickName;\n } catch (e) {\n console.error(e);\n return '';\n }\n }\n\n getUsernameAndStep() {\n if (this.userService.isLoggedIn()) {\n try {\n this.userService.getData();\n this.userName = this.userService.data.nickName;\n this.regStep = this.userService.data.regStep;\n this.userService.data = null;\n } catch (e) {\n console.error(e);\n return '';\n }\n } else {\n return '';\n }\n }\n\n async getFullBalance(extra) {\n const self = this;\n if (this.userService.isLoggedIn()) {\n try {\n // this.userService.getData();\n this.fullBalance = this.userService.data.fullBalance.toFixed(2);\n } catch (e) {\n this.fullBalance = self.utilService.localStorageGetItem('fullBalance');\n }\n } else {\n this.fullBalance = self.utilService.localStorageGetItem('fullBalance');\n }\n if (this.fullBalance) {\n this.fullBalance = parseFloat(this.fullBalance);\n this.fullBalance = this.fullBalance.toFixed(2);\n }\n this.changeDetector.detectChanges();\n\n }\n\n updateBalance(balance) {\n this.fullBalance = balance;\n if (this.fullBalance) {\n this.fullBalance = this.fullBalance.toFixed(2);\n this.changeDetector.detectChanges();\n }\n\n }\n\n\n getCurrency() {\n const self = this;\n const aux = JSON.parse(self.utilService.localStorageGetItem('currency'));\n if (aux !== null) {\n this.currency = aux;\n }\n }\n\n ngOnDestroy(): void {\n // clearInterval(this.auxInterval);\n this.subs.unsubscribe();\n }\n\n loadCommonComponents() {\n this.loadableService.preload('left-top-menu')\n .then(() => this.showLeftTopMenuComponent = true)\n .catch((error) => console.error(error));\n this.loadableService.preload('sidebar-menu')\n .then(() => this.showLeftTopMenuComponent = true)\n .catch((error) => console.error(error));\n this.loadableService.preload('right-top-menu')\n .then(() => this.showRightTopMenuComponent = true)\n .catch((error) => console.error(error));\n }\n\n loadNonLoggedComponents() {\n this.loadableService.preload('auth-buttons')\n .then(() => this.showAuthButtons = true)\n .catch((error) => console.error(error));\n this.loadableService.preload('sidebar-menu')\n .then(() => { this.showSideBarMenu = true; })\n .catch((error) => console.error(error));\n }\n\n loadLoggedComponents() {\n this.loadableService.preload('sidebar-menu')\n .then(() => { this.showSideBarMenu = true; })\n .catch((error) => console.error(error));\n }\n\n async lazyInitSideBarMenu({instance: lazyComponent}: ComponentRef) {\n lazyComponent.onAction.subscribe(() => {\n this.closeSidebar(null);\n });\n }\n\n async lazyInitSideBarMenuNext({instance: lazyComponent}: ComponentRef) {\n lazyComponent.onAction.subscribe(() => {\n this.closeSidebar(null);\n });\n }\n\n /**\n * This function will determinate which css class add to the header\n * If there is a chat running the css class will hide the header\n */\n displayHeader() {\n if (this.chatRunning) {\n this.headerLogged?.nativeElement.classList.add('chat');\n } else {\n this.headerLogged?.nativeElement.classList.remove('chat');\n }\n\n }\n\n checkIfIsMobile() {\n const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\n return isMobile;\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event) {\n this.isMobile = this.checkIfIsMobile();\n }\n\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {SignOutComponent} from './sign-out.component';\n\n\n\n@NgModule({\n declarations: [SignOutComponent],\n exports: [SignOutComponent],\n imports: [\n CommonModule\n ]\n})\nexport class SignOutModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {SizeDetectorComponent} from './size-detector.component';\n\n\n\n@NgModule({\n declarations: [SizeDetectorComponent],\n exports: [SizeDetectorComponent],\n imports: [\n CommonModule\n ]\n})\nexport class SizeDetectorModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {SmallReaderCardComponent} from './small-reader-card.component';\nimport {MajorActionsModule} from '../major-actions/major-actions.module';\nimport {CallButtonModule} from '../../primary-components/call-button/call-button.module';\nimport {BookButtonModule} from '../../primary-components/book-button/book-button.module';\nimport {ChatButtonModule} from '../../primary-components/chat-button/chat-button.module';\nimport {BusyButtonModule} from '../../primary-components/busy-button/busy-button.module';\nimport {LazyLoadImageModule} from 'ng-lazyload-image';\nimport {GiftShadeModule} from '../gift-shade/gift-shade.module';\nimport {OnlineModule} from '../online/online.module';\nimport {PremierModule} from '../premier/premier.module';\nimport {FavouriteModule} from '../favourite/favourite.module';\nimport {RouterModule} from '@angular/router';\n\n\n\n@NgModule({\n declarations: [SmallReaderCardComponent],\n exports: [SmallReaderCardComponent],\n imports: [\n CommonModule,\n MajorActionsModule,\n CallButtonModule,\n BookButtonModule,\n ChatButtonModule,\n BusyButtonModule,\n LazyLoadImageModule,\n GiftShadeModule,\n OnlineModule,\n PremierModule,\n FavouriteModule,\n RouterModule\n ]\n})\nexport class SmallReaderCardModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {AudioModalComponent} from './audio-modal/audio-modal.component';\nimport {BookModalComponent} from './book-modal/book-modal.component';\nimport {CallModalComponent} from './call-modal/call-modal.component';\nimport {ChatLogModalComponent} from './chat-log-modal/chat-log-modal.component';\nimport {ChatModalComponent} from './chat-modal/chat-modal.component';\nimport {ConfirmModalComponent} from './confirm-modal/confirm-modal.component';\nimport {CongratualationsModalComponent} from './congratualations-modal/congratualations-modal.component';\nimport {DialerModalComponent} from './dialer-modal/dialer-modal.component';\nimport {FeatureReadersModalComponent} from './feature-readers-modal/feature-readers-modal.component';\nimport {FeedbackAfterCallModalComponent} from './feedback-after-call-modal/feedback-after-call-modal.component';\nimport {FeedbackModalComponent} from './feedback-modal/feedback-modal.component';\nimport {IncomeCallComponent} from './income-call/income-call.component';\nimport {IncomeChatComponent} from './income-chat/income-chat.component';\nimport {MessagesModalComponent} from './messages-modal/messages-modal.component';\nimport {NewLifeMailModalComponent} from './new-life-mail-modal/new-life-mail-modal.component';\nimport {NotesModalComponent} from './notes-modal/notes-modal.component';\nimport {NotificationModalComponent} from './notification-modal/notification-modal.component';\nimport {PaymentsModalComponent} from './payments-modal/payments-modal.component';\nimport {TelegramNotificationModalComponent} from './telegram-notification-modal/telegram-notification-modal.component';\nimport {UpdateAvailableComponent} from './update-available/update-available.component';\nimport {WarningMobileModalComponent} from './warning-mobile-modal/warning-mobile-modal.component';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {DirectivesModule} from '../../../../directives/directives.module';\nimport {SizeDetectorModule} from '../size-detector/size-detector.module';\nimport {SharedModule} from '../../shared.module';\nimport {PipesSharedModule} from '../../pipes.shared.module';\nimport {RatingModule} from '../rating/rating.module';\nimport {SelectFilterModule} from '../select-filter/select-filter.module';\nimport {TabsModule} from 'ngx-bootstrap/tabs';\nimport {JwBootstrapSwitchNg2Module} from 'jw-bootstrap-switch-ng2';\nimport {BackRouter} from '../../services/back-router';\nimport {ReaderCardModule} from '../reader-card/reader-card.module';\nimport {CcExpiredModalComponent} from './cc-expired-modal/cc-expired-modal.component';\nimport {TopReadersModalComponent} from './top-readers-modal/top-readers-modal.component';\nimport {SmallReaderCardModule} from '../small-reader-card/small-reader-card.module';\nimport {RegistrationLeaveModalComponent} from './registration-leave-modal/registration-leave-modal.component';\nimport { AngularEditorModule } from '@kolkov/angular-editor';\nimport { CybersourceModalComponent } from './cybersource-modal/cybersource-modal.component';\n\n@NgModule({\n declarations: [\n AudioModalComponent,\n BookModalComponent,\n CallModalComponent,\n CcExpiredModalComponent,\n ChatLogModalComponent,\n ChatModalComponent,\n ConfirmModalComponent,\n CongratualationsModalComponent,\n DialerModalComponent,\n FeatureReadersModalComponent,\n FeedbackAfterCallModalComponent,\n FeedbackModalComponent,\n IncomeCallComponent,\n IncomeChatComponent,\n MessagesModalComponent,\n NewLifeMailModalComponent,\n NotesModalComponent,\n NotificationModalComponent,\n PaymentsModalComponent,\n TelegramNotificationModalComponent,\n UpdateAvailableComponent,\n WarningMobileModalComponent,\n RegistrationLeaveModalComponent,\n TopReadersModalComponent,\n CybersourceModalComponent\n ],\n exports: [\n AudioModalComponent,\n BookModalComponent,\n CallModalComponent,\n ChatLogModalComponent,\n ChatModalComponent,\n ConfirmModalComponent,\n CongratualationsModalComponent,\n DialerModalComponent,\n FeatureReadersModalComponent,\n FeedbackAfterCallModalComponent,\n FeedbackModalComponent,\n IncomeCallComponent,\n IncomeChatComponent,\n MessagesModalComponent,\n NewLifeMailModalComponent,\n NotesModalComponent,\n NotificationModalComponent,\n PaymentsModalComponent,\n TelegramNotificationModalComponent,\n UpdateAvailableComponent,\n WarningMobileModalComponent,\n TopReadersModalComponent,\n RegistrationLeaveModalComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n DirectivesModule,\n SizeDetectorModule,\n PipesSharedModule,\n RatingModule,\n SelectFilterModule,\n ReactiveFormsModule,\n TabsModule,\n JwBootstrapSwitchNg2Module,\n ReaderCardModule,\n SmallReaderCardModule,\n AngularEditorModule\n ],\n providers: [\n BackRouter\n ]\n})\nexport class ModalsModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {StatusComponent} from './status.component';\nimport {SignOutModule} from '../sign-out/sign-out.module';\nimport {ModalsModule} from '../modals/modals.module';\n\n\n\n@NgModule({\n declarations: [StatusComponent],\n exports: [StatusComponent],\n imports: [\n CommonModule,\n SignOutModule,\n ModalsModule\n ]\n})\nexport class StatusModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {ChangeStatusComponent} from './change-status.component';\n\n\n\n@NgModule({\n declarations: [ChangeStatusComponent],\n exports: [ChangeStatusComponent],\n imports: [\n CommonModule\n ]\n})\nexport class ChangeStatusModule { }\n","import { NgModule } from '@angular/core';\nimport {LoadableModule, matcher} from 'ngx-loadable';\nimport {InViewportModule} from 'ng-in-viewport';\nimport {HeaderComponent} from './header.component';\nimport {CommonModule} from '@angular/common';\nimport {SharedModule} from '../../modules/shared/shared.module';\nimport {LeftTopMenuModule} from '../left-top-menu/left-top-menu.module';\nimport {SidebarMenuNextModule} from '../sidebar-menu-next/sidebar-menu-next.module';\nimport {SidebarMenuModule} from '../sidebar-menu/sidebar-menu.module';\nimport {RouterModule} from '@angular/router';\nimport {StatusModule} from '../../modules/shared/components/status/status.module';\nimport {ChangeStatusModule} from '../../modules/shared/components/change-status/change-status.module';\nimport {SignOutModule} from '../../modules/shared/components/sign-out/sign-out.module';\nimport {PhonesMenuModule} from '../../modules/shared/components/phones-menu/phones-menu.module';\nimport {CountMessagesModule} from '../../modules/shared/components/count-messages/count-messages.module';\nimport {DirectivesModule} from '../../directives/directives.module';\n@NgModule({\n declarations: [ HeaderComponent ],\n bootstrap: [ HeaderComponent ],\n imports: [\n LoadableModule.forFeature({\n moduleConfigs: [\n {\n name: 'left-top-menu',\n loadChildren: () => import('../left-top-menu/left-top-menu.module').then(m => m.LeftTopMenuModule),\n matcher\n },\n {\n name: 'auth-buttons',\n loadChildren: () => import('../auth-buttons/auth-buttons.module').then(m => m.AuthButtonsModule),\n matcher\n }\n ,\n {\n name: 'sidebar-menu',\n loadChildren: () => import('../sidebar-menu/sidebar-menu.module').then(m => m.SidebarMenuModule),\n matcher\n },\n {\n name: 'sidebar-menu-next',\n loadChildren: () => import('../sidebar-menu-next/sidebar-menu-next.module').then(m => m.SidebarMenuNextModule),\n matcher\n },\n {\n name: 'right-top-menu',\n loadChildren: () => import('../right-top-menu/right-top-menu.module').then(m => m.RightTopMenuModule),\n matcher\n }\n ]\n }),\n InViewportModule,\n CommonModule,\n // SharedModule,\n LeftTopMenuModule,\n // AppModule,\n SidebarMenuNextModule,\n SidebarMenuModule,\n RouterModule,\n StatusModule,\n ChangeStatusModule,\n SignOutModule,\n PhonesMenuModule,\n CountMessagesModule,\n DirectivesModule\n ]\n})\nexport class HeaderModule { }\n","\n \n
  • \n \n
    \n \n Search\n
    \n
    \n \n \n \n \n \n
    \n \n {{reader.username}}
    \n
    \n
  • \n
    \n
    \n","import {Component, ElementRef, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {ReaderService} from '../../modules/shared/services/reader-service';\nimport {Router} from '@angular/router';\nimport {SubSink} from 'subsink';\nimport {BackRouter} from '../../modules/shared/services/back-router';\nimport {LoadableService} from 'ngx-loadable';\nimport {UtilService} from '../../services/util.service';\n\n@Component({\n selector: 'app-left-top-menu',\n templateUrl: './left-top-menu.component.html',\n styleUrls: ['./left-top-menu.component.scss']\n})\nexport class LeftTopMenuComponent implements OnInit, OnDestroy {\n @ViewChild('searchField', {static: false}) searchElement: ElementRef;\n @ViewChild('tableReaders', {static: false}) tableReadersElement: ElementRef;\n isActiveSearch = false;\n readers: any;\n private subs = new SubSink();\n hoverClass = '';\n selectedRowIndex: any;\n rowIndex = 0;\n userClick = true;\n\n\n constructor(\n private readerService: ReaderService,\n private router: Router,\n private utilService: UtilService,\n private br: BackRouter,\n ) {\n }\n\n ngOnInit() {\n }\n\n onKey(event: any) {\n if (event.keyCode !== 38 && event.keyCode !== 40) {\n this.subs.sink = this.readerService.searchReaders(event.target.value).subscribe((readers) => {\n this.hoverClass = 'hover';\n this.rowIndex = 0;\n this.readers = readers;\n if (this.readers.length > 0) {\n this.selectedRowIndex = this.readers[0].id;\n }\n });\n }\n\n\n }\n\n onEnter() {\n // Go to profile of the first reader on the list\n if (this.readers && this.readers.length > 0) {\n this.goToProfile(this.readers[this.rowIndex]);\n }\n }\n\n onSearch(): void {\n const self = this;\n if (this.isActiveSearch) {\n self.utilService.setTimeout(() => { // this will make the execution after the above boolean has changed\n this.searchElement.nativeElement.focus();\n }, 0);\n }\n }\n\n goToProfile(reader) {\n if (this.userClick) {\n const profileUrl = '/psychic-reader/' + reader.username.toLowerCase()\n .replace(/ /g, '-')\n .replace(/\\b\\w/g, l => l.toUpperCase());\n this.isActiveSearch = false;\n this.readers = [];\n this.router.navigate([profileUrl]);\n } else {\n const nextrow = this.readers[0];\n this.highlight(nextrow);\n }\n\n }\n\n ngOnDestroy(): void {\n this.subs.unsubscribe();\n }\n\n highlight(index) {\n const reader = this.readers[index];\n this.selectedRowIndex = reader.id;\n }\n\n arrowUpEvent() {\n if (this.readers.length > 0 && (this.rowIndex >= 1)) {\n this.rowIndex = this.rowIndex - 1;\n this.highlight(this.rowIndex);\n } else if (this.readers.length > 0) {\n this.rowIndex = this.readers.length - 1;\n this.highlight(this.rowIndex);\n }\n }\n\n arrowDownEventSearchBar() {\n if (this.readers.length > 0 && (this.rowIndex < this.readers.length - 1)) {\n // this.tableReadersElement.nativeElement.rows[0].focus();\n // const nextrow = this.readers[index];\n this.rowIndex = this.rowIndex + 1;\n this.highlight(this.rowIndex);\n\n\n } else {\n this.rowIndex = 0;\n this.highlight(this.rowIndex);\n }\n\n\n }\n\n\n}\n","import { NgModule } from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MenuComponent} from './menu.component';\nimport {RouterModule} from '@angular/router';\nimport {BsDropdownModule} from 'ngx-bootstrap/dropdown';\nimport {HoverDirective} from '../../directives/hover.directive';\nimport {DirectivesModule} from '../../directives/directives.module';\n@NgModule({\n declarations: [\n MenuComponent\n ],\n bootstrap: [MenuComponent],\n exports: [\n MenuComponent\n ],\n imports: [\n DirectivesModule,\n CommonModule,\n RouterModule,\n BsDropdownModule,\n ]\n})\nexport class MenuModule { }\n","import { NgModule } from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {LeftTopMenuComponent} from './left-top-menu.component';\nimport {LoadableModule, matcher} from 'ngx-loadable';\nimport {MenuModule} from '../menu/menu.module';\nimport {RouterModule} from '@angular/router';\n@NgModule({\n declarations: [LeftTopMenuComponent],\n bootstrap: [LeftTopMenuComponent],\n // exports: [\n // LeftTopMenuComponent\n // ],\n imports: [\n MenuModule,\n CommonModule,\n RouterModule\n ]\n})\nexport class LeftTopMenuModule { }\n","export class MenuItem {\n id?: number;\n text: string;\n href?: string;\n icon?: string;\n granted?: string[];\n nested?: MenuItem[] = [];\n onclick?: string;\n fragment?: string;\n target?: string;\n}\n\nexport const menu: MenuItem[] = [\n {\n text: 'About',\n nested: [\n {\n text: 'Psychic Readers',\n href: '/all-psychic-readers-at-lifereader',\n },\n {\n text: 'Help',\n href: '/help',\n },\n {\n text: 'How it works',\n href: '/how-it-works',\n },\n {\n text: 'Contact',\n href: '/contact',\n },\n ],\n },\n {\n text: 'Topics',\n nested: [\n {\n text: 'Psychic Readings',\n href: '/psychics-clairvoyants',\n id: 1,\n },\n {\n text: 'Tarot Readings',\n id: 2,\n nested: [],\n\n },\n {\n text: 'Horoscope Readings',\n href: '/astrology-horoscopes',\n id: 3,\n nested: [],\n },\n {\n text: 'Spiritual Readings',\n href: '/mind-body-spirit',\n id: 5,\n nested: [],\n },\n {\n text: 'Love & Relationship',\n href: '/love-relationships',\n id: 4,\n nested: [],\n },\n ],\n },\n {\n text: 'Horoscopes',\n nested: [\n {\n text: 'Horoscope Readers',\n href: '/astrology-horoscopes',\n },\n {\n text: 'Aries',\n href: '/love-horoscope/aries',\n fragment: 'aries'\n },\n {\n text: 'Taurus',\n href: '/love-horoscope/taurus',\n fragment: 'taurus'\n },\n {\n text: 'Gemini',\n href: '/love-horoscope/gemini',\n fragment: 'gemini'\n },\n {\n text: 'Cancer',\n href: '/love-horoscope/cancer',\n fragment: 'cancer'\n },\n {\n text: 'Leo',\n href: '/love-horoscope/leo',\n fragment: 'leo'\n },\n {\n text: 'Virgo',\n href: '/love-horoscope/virgo',\n fragment: 'virgo'\n },\n {\n text: 'Libra',\n href: '/love-horoscope/libra',\n fragment: 'libra'\n },\n {\n text: 'Scorpio',\n href: '/love-horoscope/scorpio',\n fragment: 'scorpio'\n },\n {\n text: 'Sagittarius',\n href: '/love-horoscope/sagittarius',\n fragment: 'sagittarius'\n },\n {\n text: 'Capricorn',\n href: '/love-horoscope/capricorn',\n fragment: 'capricorn'\n },\n {\n text: 'Aquarius',\n href: '/love-horoscope/aquarius',\n fragment: 'aquarius'\n },\n {\n text: 'Pisces',\n href: '/love-horoscope/pisces',\n fragment: 'pisces'\n },\n ],\n },\n {\n text: 'Articles',\n href: '/articles/',\n target: '_blank'\n },\n];\n","\n\n","import {Component, OnInit, QueryList, ViewChildren} from '@angular/core';\nimport {menu} from '../../menu/menu';\nimport {BsDropdownDirective, BsDropdownToggleDirective} from 'ngx-bootstrap/dropdown';\nimport {Category} from '../../entity/category';\n\n@Component({\n selector: 'app-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n})\n\nexport class MenuComponent implements OnInit {\n\n @ViewChildren(BsDropdownDirective)\n dropdown: QueryList;\n\n @ViewChildren(BsDropdownDirective)\n dropdown2: QueryList;\n\n @ViewChildren(BsDropdownToggleDirective)\n dropdownToggle: QueryList;\n\n @ViewChildren(BsDropdownToggleDirective)\n dropdownToggle2: QueryList;\n\n items = menu;\n\n categories = [];\n\n constructor(\n // public atmosphereService: AtmosphereService,\n ) {\n }\n\n ngOnInit() {\n\n // Get categories\n const categoriesString = localStorage.getItem('categories');\n const categories: Category[] = JSON.parse(categoriesString);\n // Modify menu to add the categories\n const topics = menu[1];\n for (const topic of topics.nested) {\n // Find the category using the topic id\n const category = categories.find(c => c.id === topic.id);\n // Create an array of nested Menu items to the topic using the subcategories\n const newNested = [];\n newNested.push({\n text: 'All',\n href: '/' + category.link,\n });\n for (const subCategory of category.subCategories) {\n newNested.push({\n text: subCategory.title,\n href: '/' + subCategory.link,\n });\n }\n topic.nested = newNested;\n }\n }\n}\n","import {MenuItem} from './menu';\n\nexport const consultantMenu: MenuItem[] = [\n\n {\n text: 'Account',\n nested: [\n {\n text: 'Customer History',\n href: '/consultant/customer-history',\n icon: 'fa fa-list-alt',\n granted: ['ROLE_READER'],\n },\n {\n text: 'Free Minutes',\n href: '/consultant/free-minutes',\n icon: 'fa fa-gift',\n granted: ['ROLE_READER'],\n },\n {\n text: 'Billing',\n href: '/consultant/billing',\n icon: 'fa fa-money',\n granted: ['ROLE_READER'],\n },\n {\n text: 'Profile Settings',\n href: '/consultant/profile-settings',\n fragment: 'signSection',\n icon: 'fa fa-user',\n granted: ['ROLE_READER'],\n },\n {\n text: 'Account Settings',\n href: '/consultant/account-settings',\n granted: ['ROLE_READER'],\n },\n {\n text: 'Test sound',\n href: '/',\n icon: 'fa fa-bell-o',\n granted: ['ROLE_READER'],\n },\n // {\n // text: 'Telegram Notifications',\n // href: '/',\n // icon: 'fa fa-bell-o',\n // granted: ['ROLE_READER'],\n // },\n {\n text: 'Test notification',\n href: '/',\n icon: 'fa fa-bell-o',\n granted: ['ROLE_READER'],\n },\n {\n text: 'Email notifications',\n href: '/consultant/email-notification-settings',\n granted: ['ROLE_READER'],\n },\n {\n text: 'Account details',\n href: '/customer/account-details',\n granted: ['ROLE_CUSTOMER'],\n onclick: 'goToAccountDetails()'\n },\n {\n text: 'Credit Card',\n href: '/customer/credit-card',\n granted: ['ROLE_CUSTOMER'],\n onclick: 'goToCreditCard()'\n },\n {\n text: 'Add funds',\n href: '',\n granted: ['ROLE_CUSTOMER']\n },\n {\n text: 'Email notifications',\n href: '/consultant/email-notification-settings',\n granted: ['ROLE_CUSTOMER'],\n },\n ],\n },\n {\n text: 'Phones',\n icon: 'fa fa-phone',\n nested: [\n {\n text: 'Callback',\n href: '/consultant/callbacks',\n granted: ['ROLE_READER'],\n },\n {\n text: 'Callback',\n href: '/customer/callback-requests',\n granted: ['ROLE_CUSTOMER'],\n },\n {\n text: 'Phone Numbers',\n href: '/consultant/profile-settings',\n fragment: 'phonesSection',\n granted: ['ROLE_READER'],\n },\n {\n text: 'Phone Numbers',\n href: '/customer/account-details',\n fragment: 'phonesSection',\n onclick: 'goToPhonesDetails()',\n granted: ['ROLE_CUSTOMER'],\n },\n\n ],\n },\n {\n text: 'LifeMail',\n granted: ['ROLE_READER', 'ROLE_CUSTOMER'],\n nested: [\n {\n text: 'Messages',\n href: '/consultant/lifemail',\n },\n {\n text: 'Settings',\n href: '/consultant/lifemail-settings',\n },\n ],\n },\n {\n text: 'History',\n granted: ['ROLE_CUSTOMER'],\n nested: [\n {\n text: 'Readers',\n href: '/customer/recent-readers',\n },\n {\n text: 'Readings',\n href: '/customer/reading-history',\n },\n {\n text: 'Billing',\n href: '/customer/billing-history',\n },\n {\n text: 'Free Minutes',\n href: '/customer/free-minutes',\n },\n {\n text: 'Favorite Readers',\n href: '/customer/favorite-readers',\n },\n ],\n },\n];\n","\n\n","import {Component, ContentChild, EventEmitter, Input, OnDestroy, OnInit, Output, TemplateRef,} from '@angular/core';\nimport {NGXLogger} from 'ngx-logger';\nimport {consultantMenu} from '../../menu/consultant-menu';\nimport {ReaderService} from '../../modules/shared/services/reader-service';\nimport {Router} from '@angular/router';\nimport {UserService} from '../../services/user.service';\nimport {MenuItem} from '../../menu/menu';\nimport {SubSink} from 'subsink';\nimport {BackRouter} from '../../modules/shared/services/back-router';\nimport {AllEmiterService} from '../../services/all-emiter.service';\nimport {UtilService} from '../../services/util.service';\n\n@Component({\n selector: 'app-sidebar-menu-next',\n templateUrl: './sidebar-menu-next.component.html',\n styleUrls: ['./sidebar-menu-next.component.scss'],\n})\nexport class SidebarMenuNextComponent implements OnInit, OnDestroy {\n @Output()\n onAction = new EventEmitter();\n @Input()\n data = consultantMenu;\n @Input()\n onlySearch = false;\n @ContentChild('preSubMenu', {static: false})\n preSubMenu: TemplateRef;\n @ContentChild('preMenuItem', {static: false})\n preMenuItem: TemplateRef;\n isActiveSearch = false;\n readers: any;\n private subs = new SubSink();\n userIsLoggedIn: boolean;\n hoverClass = '';\n constructor(\n private logger: NGXLogger,\n private readerService: ReaderService,\n private router: Router,\n private userService: UserService,\n private br: BackRouter,\n private utilService: UtilService,\n private allEmiterService: AllEmiterService\n ) {\n }\n\n ngOnInit() {\n this.userIsLoggedIn = this.userService.isLoggedIn();\n }\n\n doAction(item: MenuItem) {\n const self = this;\n self.utilService.setTimeout(async () => {\n if (item) {\n if (item.onclick) {\n switch (item.onclick) {\n case 'goToCreditCard()':\n await this.goToCreditCard();\n break;\n case 'goToAccountDetails()':\n await this.goToAccountDetails();\n break;\n case 'goToPhonesDetails()':\n await this.goToAccountDetails('phonesSection');\n break;\n }\n }\n this.onAction.emit(item);\n }\n this.allEmiterService.onCloseMenu();\n\n });\n }\n\n async goToAccountDetails(fragment: string = '') {\n if (await this.userService.checkPassStep2() !== true) {\n return;\n }\n const extras = {fragment};\n await this.router.navigate(['customer/account-details'], {\n fragment: fragment\n });\n\n }\n\n async goToCreditCard() {\n if (await this.userService.checkRegistration() !== true) {\n return;\n }\n await this.router.navigate(['customer/credit-card']);\n }\n\n\n onKey(event: any) {\n if (event.target.value) {\n this.isActiveSearch = true;\n }\n this.subs.sink = this.readerService.searchReaders(event.target.value).subscribe((readers) => {\n this.hoverClass = 'hover';\n this.readers = readers;\n });\n }\n\n onEnter() {\n // Go to profile of the first reader on the list\n if (this.readers && this.readers.length > 0) {\n this.goToProfile(this.readers[0]);\n }\n }\n\n goToProfile(reader) {\n const profileUrl = '/psychic-reader/' + reader.username.toLowerCase()\n .replace(/ /g, '-')\n .replace(/\\b\\w/g, l => l.toUpperCase());\n this.isActiveSearch = false;\n this.readers = [];\n this.router.navigate([profileUrl]);\n this.doAction(null);\n }\n\n ngOnDestroy(): void {\n this.subs.unsubscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport {LoadableModule, matcher} from 'ngx-loadable';\nimport {InViewportModule} from 'ng-in-viewport';\nimport {CommonModule} from '@angular/common';\nimport {RouterModule} from '@angular/router';\nimport {SidebarMenuNextComponent} from './sidebar-menu-next.component';\nimport {SharedModule} from '../../modules/shared/shared.module';\nimport {BsDropdownModule} from 'ngx-bootstrap/dropdown';\nimport {DirectivesModule} from '../../directives/directives.module';\n@NgModule({\n declarations: [SidebarMenuNextComponent],\n bootstrap: [SidebarMenuNextComponent],\n exports: [\n SidebarMenuNextComponent\n ],\n imports: [\n CommonModule,\n RouterModule,\n // SharedModule,\n BsDropdownModule,\n RouterModule,\n DirectivesModule\n ]\n})\nexport class SidebarMenuNextModule { }\n","\n\n","import {Component, ComponentRef, EventEmitter, OnDestroy, OnInit, Output, ViewChild} from '@angular/core';\nimport {MenuComponent} from '../menu/menu.component';\nimport {UserService} from '../../services/user.service';\nimport {MenuItem} from '../../menu/menu';\nimport {HttpUrlEncodingCodec} from '@angular/common/http';\nimport {LoadableComponent, LoadableService} from 'ngx-loadable';\nimport {HowItWorksComponent} from '../../modules/shared/components/how-it-works/how-it-works.component';\nimport {SidebarMenuNextComponent} from '../sidebar-menu-next/sidebar-menu-next.component';\n\n@Component({\n selector: 'app-sidebar-menu',\n templateUrl: './sidebar-menu.component.html',\n styleUrls: ['./sidebar-menu.component.scss'],\n})\nexport class SidebarMenuComponent extends MenuComponent implements OnInit, OnDestroy {\n codec = new HttpUrlEncodingCodec;\n @Output()\n onAction = new EventEmitter();\n userIsLoggedIn = false;\n\n myItems: MenuItem[] = [];\n\n @ViewChild('sideBarMenuNextComponent') sideBarMenuNextComponent: LoadableComponent;\n showSideBarMenuNextComponent = false;\n\n constructor(\n public userService: UserService,\n private loadableService: LoadableService) {\n super();\n this.myItems = this.items.slice(0);\n this.myItems.push({\n text: 'Contact us',\n href: '/contact',\n });\n }\n\n ngOnInit(): void {\n this.userIsLoggedIn = this.userService.isLoggedIn();\n if (!this.userIsLoggedIn) {\n this.loadNonLoggedComponents();\n }\n\n }\n\n loadNonLoggedComponents() {\n this.loadableService.preload('sidebar-menu-next')\n .then(() => this.showSideBarMenuNextComponent = true)\n .catch((error) => console.error(error));\n }\n\n doAction() {\n this.onAction.emit();\n }\n\n\n ngOnDestroy(): void {\n }\n\n lazySideBarMenuNext({instance: lazyComponent}: ComponentRef) {\n try {\n lazyComponent.onlySearch = true;\n } catch (e) {\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport {LoadableModule, matcher} from 'ngx-loadable';\nimport {InViewportModule} from 'ng-in-viewport';\nimport {CommonModule} from '@angular/common';\nimport {SidebarMenuComponent} from './sidebar-menu.component';\nimport {RouterModule} from '@angular/router';\nimport {BsDropdownModule} from 'ngx-bootstrap/dropdown';\nimport {DirectivesModule} from '../../directives/directives.module';\n@NgModule({\n declarations: [SidebarMenuComponent],\n bootstrap: [SidebarMenuComponent],\n // exports: [\n // SidebarMenuComponent\n // ],\n imports: [\n LoadableModule.forFeature({\n moduleConfigs: [\n {\n name: 'sidebar-menu-next',\n loadChildren: () => import('../sidebar-menu-next/sidebar-menu-next.module').then(m => m.SidebarMenuNextModule),\n matcher\n },\n ]\n }),\n InViewportModule,\n CommonModule,\n RouterModule,\n BsDropdownModule,\n RouterModule,\n DirectivesModule\n ]\n})\nexport class SidebarMenuModule { }\n","import { NgModule } from '@angular/core';\nimport {HoverDirective} from './hover.directive';\nimport {AutoFocusDirective} from './auto-focus.directive';\nimport {BgSliderDirective} from './bg-slider.directive';\nimport {CallDirective} from './call.directive';\nimport {ChatDirective} from './chat.directive';\nimport {HoverUnionDirective} from './hover-union';\nimport {IsGrantedDirective} from './is-granted.directive';\nimport {MatchHeightsDirective} from './match-heights.directive';\nimport {NgxModalDraggableDirective} from './ngx-modal-draggable.directive ';\nimport {DigitOnlyDirective} from './digit-only.directive';\n@NgModule({\n declarations: [\n AutoFocusDirective,\n BgSliderDirective,\n CallDirective,\n ChatDirective,\n HoverDirective,\n HoverUnionDirective,\n IsGrantedDirective,\n MatchHeightsDirective,\n NgxModalDraggableDirective,\n DigitOnlyDirective\n ],\n exports: [\n AutoFocusDirective,\n BgSliderDirective,\n CallDirective,\n ChatDirective,\n HoverDirective,\n HoverUnionDirective,\n IsGrantedDirective,\n MatchHeightsDirective,\n NgxModalDraggableDirective,\n DigitOnlyDirective\n ],\n})\nexport class DirectivesModule { }\n","import {ContentChild, Directive, ElementRef, HostListener, Injector} from '@angular/core';\nimport {BsDropdownDirective} from 'ngx-bootstrap/dropdown';\n\n@Directive({\n selector: '[appHover]',\n})\nexport class HoverDirective {\n\n dropdown: BsDropdownDirective;\n\n constructor(private el: ElementRef, private injector: Injector) {\n }\n ngOnInit() {\n // Retrieve the BsDropdownDirective from the element's injector\n this.dropdown = this.injector.get(BsDropdownDirective);\n }\n\n @HostListener('mouseover')\n onMouseOver() {\n if (this.dropdown) {\n this.dropdown.show();\n }\n }\n\n @HostListener('mouseout')\n onMouseOut() {\n if (this.dropdown) {\n this.dropdown.hide();\n }\n }\n\n}\n","/* tslint:disable:directive-selector */\nimport {Directive, Input, OnInit, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {UserService} from '../services/user.service';\n\n// roles ROLE_CUSTOMER ROLE_READER\n\n@Directive({selector: '[isGranted]'})\nexport class IsGrantedDirective implements OnInit {\n\n @Input('minStep')\n minStep: number;\n private hasView = false;\n\n constructor(private userService: UserService,\n private templateRef: TemplateRef,\n private viewContainer: ViewContainerRef) {\n }\n\n @Input()\n set isGranted(roles) {\n if (!this.hasView && this.hasAccess(roles)) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n this.hasView = true;\n }\n\n if (this.hasView && !this.hasAccess(roles)) {\n this.viewContainer.clear();\n this.hasView = false;\n }\n }\n\n hasAccess(roles: string[]) {\n if (!roles) {\n return true;\n }\n if (this.minStep) {\n if (this.minStep > this.userService.getStep()) {\n return false;\n }\n }\n return roles.indexOf(this.userService.getRole()) !== -1;\n }\n\n ngOnInit() {\n }\n}\n","0\"\n class=\"count\">{{userService.data.newLifeMailNumber}}\n","import {Component, OnInit} from '@angular/core';\nimport {UserService} from '../../../../services/user.service';\n\n@Component({\n selector: 'shared-count-messages',\n templateUrl: './count-messages.component.html',\n styleUrls: ['./count-messages.component.scss'],\n})\nexport class CountMessagesComponent implements OnInit {\n constructor(\n public userService: UserService,\n ) {\n }\n\n ngOnInit() {\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {CountMessagesComponent} from './count-messages.component';\n\n\n\n@NgModule({\n declarations: [CountMessagesComponent],\n exports: [CountMessagesComponent],\n imports: [\n CommonModule\n ]\n})\nexport class CountMessagesModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {FavouriteComponent} from './favourite.component';\n\n\n\n@NgModule({\n declarations: [FavouriteComponent],\n exports: [FavouriteComponent],\n imports: [\n CommonModule\n ]\n})\nexport class FavouriteModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {GiftShadeComponent} from './gift-shade.component';\nimport {CallButtonModule} from '../../primary-components/call-button/call-button.module';\nimport {BookButtonModule} from '../../primary-components/book-button/book-button.module';\nimport {ChatButtonModule} from '../../primary-components/chat-button/chat-button.module';\nimport {BusyButtonModule} from '../../primary-components/busy-button/busy-button.module';\n\n\n\n@NgModule({\n declarations: [GiftShadeComponent],\n exports: [GiftShadeComponent],\n imports: [\n CommonModule,\n CallButtonModule,\n BookButtonModule,\n ChatButtonModule,\n BusyButtonModule\n ]\n})\nexport class GiftShadeModule { }\n","import {Component, Input, OnInit} from '@angular/core';\n\n@Component({\n selector: 'shared-major-actions',\n templateUrl: './major-actions.component.html',\n styleUrls: ['./major-actions.component.scss'],\n})\nexport class MajorActionsComponent implements OnInit {\n\n constructor() {\n }\n\n @Input()\n set data(item) {\n }\n\n ngOnInit() {\n }\n\n}\n","
    \n \n
    \n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {MajorActionsComponent} from './major-actions.component';\n\n\n\n@NgModule({\n declarations: [MajorActionsComponent],\n exports: [MajorActionsComponent],\n imports: [\n CommonModule\n ]\n})\nexport class MajorActionsModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {OnlineComponent} from './online.component';\n\n\n\n@NgModule({\n declarations: [OnlineComponent],\n exports: [OnlineComponent],\n imports: [\n CommonModule\n ]\n})\nexport class OnlineModule { }\n","
      \n
    • \n \n
    • \n
    \n","import {Component, Input, OnDestroy, OnInit} from '@angular/core';\nimport {AccountService} from '../../../consultant/services/account.service';\nimport {ServerErrors} from '../../helpers/server-errors';\nimport {FormBuilder} from '@angular/forms';\nimport {Phone} from '../../../consultant/entity/phone';\nimport {PhoneEmitterService} from '../../../../services/phone-emitter.service';\nimport {SubSink} from 'subsink';\n\n@Component({\n selector: 'shared-phones-menu',\n templateUrl: './phones-menu.component.html',\n styleUrls: ['./phones-menu.component.scss'],\n})\nexport class PhonesMenuComponent extends ServerErrors implements OnInit, OnDestroy {\n phones: Phone[];\n @Input()\n oldPhones: Phone[];\n labels = {\n 'PHONE_HOME': 'Home',\n 'PHONE_WORK': 'Work',\n 'PHONE_MOBILE': 'Mobile',\n };\n private subs = new SubSink();\n defaultPhone;\n\n constructor(\n private accountService: AccountService,\n private fb: FormBuilder,\n private phoneEmitterService: PhoneEmitterService\n ) {\n super();\n }\n\n ngOnInit() {\n if (this.oldPhones != null) {\n this.phones = this.oldPhones;\n this.buildForm();\n }\n this.subs.sink = this.accountService.getPhones().subscribe((res) => {\n this.phones = res;\n this.buildForm();\n });\n if (this.phoneEmitterService.subsVar === undefined) {\n this.subs.sink = this.phoneEmitterService.subsVar = this.phoneEmitterService.invokePhonesChage.subscribe((name: string) => {\n this.subs.sink = this.accountService.getPhones().subscribe((res) => {\n this.phones = res;\n this.buildForm();\n });\n });\n }\n }\n\n buildForm() {\n this.form = this.fb.group({\n phones: [this.getActiveType()],\n });\n }\n\n submit() {\n if (this.form.value.phones === 'PHONE_HOME') {\n this.defaultPhone = 1;\n } else if (this.form.value.phones === 'PHONE_WORK') {\n this.defaultPhone = 2;\n } else if (this.form.value.phones === 'PHONE_MOBILE') {\n this.defaultPhone = 3;\n }\n this.subs.sink = this.accountService.updateDefaultPhone({defaultPhoneType: this.defaultPhone}).subscribe();\n }\n\n getActiveType() {\n const found: Phone = this.phones.find(phone => phone.defaultPhone);\n if (!found) {\n return null;\n }\n return found.phoneType;\n }\n\n getLabel(type) {\n return this.labels[type];\n }\n\n ngOnDestroy(): void {\n this.subs.unsubscribe();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {PhonesMenuComponent} from './phones-menu.component';\nimport {ReactiveFormsModule} from '@angular/forms';\n\n\n\n@NgModule({\n declarations: [PhonesMenuComponent],\n exports: [PhonesMenuComponent],\n imports: [\n CommonModule,\n ReactiveFormsModule\n ]\n})\nexport class PhonesMenuModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {PremierComponent} from './premier.component';\n\n\n\n@NgModule({\n declarations: [PremierComponent],\n exports: [PremierComponent],\n imports: [\n CommonModule\n ]\n})\nexport class PremierModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {RatingComponent} from './rating.component';\nimport {DirectivesModule} from '../../../../directives/directives.module';\n\n\n\n@NgModule({\n declarations: [RatingComponent],\n exports: [RatingComponent],\n imports: [\n CommonModule,\n DirectivesModule\n ]\n})\nexport class RatingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {ReaderCardComponent} from './reader-card.component';\nimport {GiftShadeModule} from '../gift-shade/gift-shade.module';\nimport {OnlineModule} from '../online/online.module';\nimport {PremierModule} from '../premier/premier.module';\nimport {FavouriteModule} from '../favourite/favourite.module';\nimport {CallButtonModule} from '../../primary-components/call-button/call-button.module';\nimport {BookButtonModule} from '../../primary-components/book-button/book-button.module';\nimport {ChatButtonModule} from '../../primary-components/chat-button/chat-button.module';\nimport {BusyButtonModule} from '../../primary-components/busy-button/busy-button.module';\nimport {NotifyButtonModule} from '../../primary-components/notify-button/notify-button.module';\nimport {RouterModule} from '@angular/router';\n\n\n\n@NgModule({\n declarations: [ReaderCardComponent],\n exports: [ReaderCardComponent],\n imports: [\n CommonModule,\n GiftShadeModule,\n OnlineModule,\n PremierModule,\n FavouriteModule,\n CallButtonModule,\n BookButtonModule,\n ChatButtonModule,\n BusyButtonModule,\n NotifyButtonModule,\n RouterModule\n ]\n})\nexport class ReaderCardModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {SelectFilterComponent} from './select-filter.component';\nimport {SharedModule} from '../../shared.module';\nimport {BsDropdownModule} from 'ngx-bootstrap/dropdown';\nimport {DirectivesModule} from '../../../../directives/directives.module';\n\n\n\n@NgModule({\n declarations: [SelectFilterComponent],\n exports: [SelectFilterComponent],\n imports: [\n CommonModule,\n // SharedModule,\n BsDropdownModule,\n DirectivesModule\n ]\n})\nexport class SelectFilterModule { }\n","import {NgModule} from '@angular/core';\nimport {UnescapePipe} from '../../pipes/unescape-pipe';\n\n@NgModule({\n declarations: [\n UnescapePipe,\n ],\n exports: [\n UnescapePipe,\n ]\n})\nexport class PipesSharedModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {BookButtonComponent} from './book-button.component';\n\n\n\n@NgModule({\n declarations: [BookButtonComponent],\n exports: [BookButtonComponent],\n imports: [\n CommonModule\n ]\n})\nexport class BookButtonModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {BusyButtonComponent} from './busy-button.component';\n\n\n\n@NgModule({\n declarations: [BusyButtonComponent],\n exports: [BusyButtonComponent],\n imports: [\n CommonModule\n ]\n})\nexport class BusyButtonModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {CallButtonComponent} from './call-button.component';\n\n\n\n@NgModule({\n declarations: [CallButtonComponent],\n exports: [CallButtonComponent],\n imports: [\n CommonModule\n ]\n})\nexport class CallButtonModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {ChatButtonComponent} from './chat-button.component';\n\n\n\n@NgModule({\n declarations: [ChatButtonComponent],\n exports: [ChatButtonComponent],\n imports: [\n CommonModule\n ]\n})\nexport class ChatButtonModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {NotifyButtonComponent} from './notify-button.component';\n\n\n\n@NgModule({\n declarations: [NotifyButtonComponent],\n exports: [NotifyButtonComponent],\n imports: [\n CommonModule\n ]\n})\nexport class NotifyButtonModule { }\n"],"names":["SignOutComponent","constructor","userService","bsModalService","logger","cookie","router","allEmiterService","electronService","googleAnalyticsEventsService","utilService","window","consultantService","this","SubSink","ngOnInit","signOut","self","n","role","localStorageGetItem","availability","getAvailability","toPromise","busy","addSelfBusy","logOut","subs","sink","pipe","finalize","onUserLogOut","deleteData","removeDockMenu","location","href","e","console","error","subscribe","res","cookies_banner","deleteAll","localStorageSetItem","localStorageClear","ngOnDestroy","unsubscribe","i0","WINDOW","selectors","ctx","StatusComponent","customerService","promotiosService","alertService","addFundsAttemptsService","EventEmitter","getFullBalance","subsFundsChange","invokeFundsChange","data","updateBalance","getCurrency","subsLoggedIn","invokeLoggedIn","getUsernameAndStep","subsRegistrationStep2","invokeRegistrationStep2","a","ngAfterViewInit","addFunds","message","s","showingAddFunds","showAddFunds","isLoggedIn","getData","userName","nickName","regStep","balance","fullBalance","toFixed","extra","parseFloat","getCurrencyAsciiSymbol","currency","asciiSymbol","getCurrencySign","currentSign","sign","aux","JSON","parse","id","ChangeStatusComponent","readerService","renderer","listen","srcElement","getAttribute","open","onUpdateReader","reader","debug","loadData","invokeReaderWantsChangeStatus","submitStatus","turnSelfBusy","getSelfBusy","selfBusy","changeBadgeText","subsChangeAvailability","invokeChangeAvailability","setTimeout","reportStatusFirstTime","statusReportedFirstTime","setAvailability","readingMethodAvailability","onAction","emit","onChangeAvailability","method","dropdownIsOpen","doOpenDropdown","setBadgeText","messages","alert","title","messageTitle","body","type","checkIfIsMobile","test","navigator","userAgent","listeners","forEach","listener","text","HeaderComponent","document","accountService","loadableService","activatedRoute","changeDetector","userNestService","electron","environment","isMobile","events","event","NavigationEnd","chatRunning","history","state","firstChild","snapshot","displayHeader","loadCommonComponents","pos","auxInterval","setInterval","clearInterval","viewElements","evt","scrollTo","isLoggedFunction","undefined","subsCloseMenu","invokeCloseMenu","closeSidebar","isLogged","loadLoggedComponents","getName","getPhones","phones","classList","remove","add","loadNonLoggedComponents","menuItem","playSound","playSoundLater","telegramNotifications","isVisibleSidebar","audio","Audio","src","load","Sentry","play","component","o","then","cp","TelegramNotificationModalComponent","show","animated","backdrop","keyboard","openSidebar","name","detectChanges","preload","showLeftTopMenuComponent","catch","showRightTopMenuComponent","showAuthButtons","showSideBarMenu","lazyInitSideBarMenu","instance","lazyComponent","lazyInitSideBarMenuNext","headerLogged","_a","nativeElement","_b","onResize","DOCUMENT","SignOutModule","CommonModule","SizeDetectorModule","SmallReaderCardModule","MajorActionsModule","CallButtonModule","BookButtonModule","ChatButtonModule","BusyButtonModule","LazyLoadImageModule","GiftShadeModule","OnlineModule","PremierModule","FavouriteModule","RouterModule","SmallReaderCardComponent","ModalsModule","BackRouter","imports","FormsModule","DirectivesModule","PipesSharedModule","RatingModule","SelectFilterModule","ReactiveFormsModule","TabsModule","JwBootstrapSwitchNg2Module","ReaderCardModule","AngularEditorModule","StatusModule","ChangeStatusModule","HeaderModule","bootstrap","LoadableModule","moduleConfigs","loadChildren","Promise","m","LeftTopMenuModule","matcher","AuthButtonsModule","SidebarMenuModule","SidebarMenuNextModule","RightTopMenuModule","InViewportModule","PhonesMenuModule","CountMessagesModule","LeftTopMenuComponent","br","onKey","keyCode","searchReaders","target","value","readers","hoverClass","rowIndex","length","selectedRowIndex","onEnter","goToProfile","onSearch","isActiveSearch","searchElement","focus","userClick","profileUrl","username","toLowerCase","replace","l","toUpperCase","navigate","highlight","index","arrowUpEvent","arrowDownEventSearchBar","MenuModule","MenuComponent","BsDropdownModule","menu","nested","fragment","categoriesString","localStorage","getItem","categories","topics","topic","category","find","c","newNested","push","link","subCategory","subCategories","BsDropdownDirective","BsDropdownToggleDirective","consultantMenu","icon","granted","onclick","SidebarMenuNextComponent","userIsLoggedIn","doAction","item","O","goToCreditCard","goToAccountDetails","onCloseMenu","checkPassStep2","d","checkRegistration","SidebarMenuComponent","super","HttpUrlEncodingCodec","myItems","items","slice","showSideBarMenuNextComponent","lazySideBarMenuNext","onlySearch","HoverDirective","el","injector","dropdown","get","onMouseOver","onMouseOut","hide","IsGrantedDirective","templateRef","viewContainer","roles","hasView","hasAccess","createEmbeddedView","clear","minStep","getStep","indexOf","getRole","CountMessagesComponent","MajorActionsComponent","PhonesMenuComponent","ServerErrors","fb","phoneEmitterService","PHONE_HOME","PHONE_WORK","PHONE_MOBILE","oldPhones","buildForm","subsVar","invokePhonesChage","form","group","getActiveType","submit","defaultPhone","updateDefaultPhone","defaultPhoneType","found","phone","phoneType","getLabel","labels","NotifyButtonModule"],"mappings":"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,iEAAqDA,QAC/DA,QACJA,QACJA,QACAA,gBACIA,mBACIA,gBACIA,kBACAA,mBACJA,QACJA,QACAA,mBACIA,mBACIA,iCACAA,2CACAA,2BACAA,sCACJA,QACJA,QACAA,mBACJA,QACAA,mBACIA,mBACIA,4BAEJA,QAEAA,mBAEIA,mCAEJA,QACAA,mBACJA,QACJA,QACJA,QACJA,QACAA,0BACAA,mBACIA,4BACAA,iCACIA,2CAGJA,qCAAuBA,uEACnBA,6CAMAA,6CAKJA,QAEAA,+BAAmHA,0EAAsCA,QAC7JA,gCA3E4BA,6DAGKA,yEA0BIA,0CACUA,yCAChBA,yCACWA,yCAORA,kDAMCA,yCAQAA,0CAC9BA,6CAEYA,yCACcA,yCAiBSA,mFAsCxCA,kBAAKA,+DAAsB,QAAqDA,kDAChFA,kBACIA,8BAAkGA,2EAAsCA,QAE5IA,iCAFoCA,mFAnCpCA,kBACIA,iBACIA,kBACIA,kBACIA,kBACIA,iBACIA,gBACIA,iBACAA,kBACJA,QACJA,QACJA,QACJA,QACAA,kBACQA,4BACAA,4BAGRA,QACAA,mBACIA,mBACIA,iBACIA,mBACJA,QACJA,QACAA,mBACIA,4BACAA,oBAAMA,iEAA6EA,QACvFA,QACJA,QACJA,QACJA,QACJA,QACAA,0BACAA,kDA5B4BA,iCAQMA,kDACAA,yCAWAA,yCAOCA,0CAC7BA,iEAMNA,mCADJA,SACIA,kCACJA,oDADmBA,mDC3FZ,IAAM6F,GAAb,MAAM,QAqCF3I,YAAsC4I,EAClB1I,EACA2I,EACAxI,EACA+C,EACAnD,EACAkD,EACA7C,EACgBI,EAChBoI,EACAzF,EACA5C,EACAsI,EACA5I,EACA6I,EACA1F,EACA2F,GAhBkBrI,gBAClBA,sBACAA,sBACAA,cACAA,wBACAA,mBACAA,uBACAA,wBACgBA,cAChBA,uBACAA,oBACAA,mBACAA,sBACAA,cACAA,sBACAA,+BACAA,uBApDpBA,uBAAmB,EACnBA,YAAkB,KAClBA,kBAAe,EAAC,GAAO,GACvBA,UAAO,GACPA,eAAW,EAGHA,UAAO,IAAIC,IAEnBD,iBAAc,GACdA,iBAAc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","debug_id":"c1a2caff-3371-59e4-a7cc-2d97010979dc"}