{"version":3,"file":"main.js","mappings":"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O,CAACuN,GAAG,CAAC5O,GAAG,CAAC,CAAC;;;;;;;;;;ACXjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;AC9OA;AACA,4CAA4C,mBAAO,CAAC,qEAA0D;AAC9G,kCAAkC,mBAAO,CAAC,8DAAmD;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,OAAO,6FAA6F,UAAU,WAAW,UAAU,WAAW,2CAA2C,oBAAoB,0BAA0B,kBAAkB,8BAA8B,KAAK,uBAAuB;AACpT;AACA;;;;;;;;;;;ACZA;AACA,4CAA4C,mBAAO,CAAC,8EAAmE;AACvH,kCAAkC,mBAAO,CAAC,uEAA4D;AACtG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;;;;;;;;;;;ACPA;AACA,4CAA4C,mBAAO,CAAC,2EAAgE;AACpH,kCAAkC,mBAAO,CAAC,oEAAyD;AACnG;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/dialogs/confirm-export-notes-dialog/confirm-export-notes-dialog/confirm-export-notes-dialog.component.ts","./src/app/dialogs/error-dialog/error-dialog.component.ts","./src/app/guards/auth/auth.guard.ts","./src/app/interceptors/error-interceptor/error-interceptor.service.ts","./src/app/interceptors/jwt-interceptor/jwt-interceptor.service.ts","./src/app/jsErrorHandler.ts","./src/app/models/PlayerNotes.model.ts","./src/app/services/authentication/authentication.service.ts","./src/app/services/loading/loading.service.ts","./src/app/services/logging/logging.service.ts","./src/app/services/network/network.service.ts","./src/app/services/playerNotes/player-notes.service.ts","./src/app/services/priority_types/priority-types.service.ts","./src/app/services/storage/storage.service.ts","./src/app/services/theme/theme.service.ts","./src/app/services/toast/toast.service.ts","./src/constants.ts","./src/environments/environment.prod.ts","./src/main.ts","./node_modules/@ionic/core/dist/esm/ lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","./src/app/app.component.scss","./src/app/dialogs/confirm-export-notes-dialog/confirm-export-notes-dialog/confirm-export-notes-dialog.component.scss","./src/app/dialogs/error-dialog/error-dialog.component.scss"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { PreloadAllModules, Route, RouterModule, Routes, UrlSegment, UrlSegmentGroup } from '@angular/router';\r\n\r\nimport { AuthGuard } from './guards/auth/auth.guard'; // Auth-Dashboard Auth Guard\r\n\r\nfunction twitterCallbackMatcher(url: UrlSegment[]) {\r\n if (document.documentURI) {\r\n // url comes back in format: base + ? + query params + #/validate-twitter\r\n // match validate-twitter and the end of url\r\n if (url.length === 1 && url[0].path.match(/validate-twitter$/)) {\r\n // split to extract the query params\r\n var queryString = document.documentURI.split(/[\\?#]/);\r\n let params = new URLSearchParams(queryString[1]);\r\n let oauthToken = params.get('oauth_token');\r\n let oauthVerifier = params.get('oauth_verifier');\r\n\r\n // return the correctly formatted url\r\n const retValue = {\r\n consumed: [\r\n new UrlSegment(url + `?oauth_token=${oauthToken}&oauth_verifier=${oauthVerifier}`, {})\r\n ]\r\n }\r\n\r\n return retValue;\r\n } else {\r\n // match validate-url at start of url\r\n if (url.length == 1 && url[0].path.match(/^validate-twitter/)) {\r\n return {\r\n consumed: url,\r\n };\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n}\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: 'dashboard', pathMatch: 'full'},\r\n\r\n {\r\n path: 'login',\r\n loadChildren: () => import('./pages/login/login.module').then( m => m.LoginPageModule)\r\n },\r\n {\r\n path: 'dashboard',\r\n loadChildren: () => import('./pages/dashboard/dashboard.module').then( m => m.DashboardPageModule),\r\n },\r\n {\r\n path: 'auth-dashboard',\r\n loadChildren: () => import('./pages/auth-dashboard/auth-dashboard.module').then( m => m.AuthDashboardPageModule),\r\n canLoad: [AuthGuard]\r\n },\r\n {\r\n path: 'settings',\r\n loadChildren: () => import('./pages/settings/settings.module').then( m => m.SettingsPageModule),\r\n },\r\n {\r\n path: 'forgot-password',\r\n loadChildren: () => import('./pages/forgot-password/forgot-password.module').then( m => m.ForgotPasswordPageModule)\r\n },\r\n {\r\n path: 'view-lines',\r\n loadChildren: () => import('./pages/view-lines/view-lines.module').then( m => m.ViewLinesPageModule)\r\n },\r\n {\r\n path: 'enter-lines',\r\n loadChildren: () => import('./pages/enter-lines/enter-lines.module').then( m => m.EnterLinesPageModule)\r\n },\r\n {\r\n path: 'enter-player-modal',\r\n loadChildren: () => import('./modals/enter-player-modal/enter-player-modal.module').then( m => m.EnterPlayerModalPageModule)\r\n },\r\n {\r\n path: 'publish-lines-modal',\r\n loadChildren: () => import('./modals/publish-lines-modal/publish-lines-modal.module').then( m => m.PublishLinesModalPageModule)\r\n },\r\n {\r\n path: 'add-game-modal',\r\n loadChildren: () => import('./modals/add-game-modal/add-game-modal.module').then( m => m.AddGameModalPageModule)\r\n },\r\n {\r\n path: 'game-info',\r\n loadChildren: () => import('./pages/game-info/game-info.module').then( m => m.GameInfoPageModule)\r\n },\r\n {\r\n path: 'add-scratch-modal',\r\n loadChildren: () => import('./modals/add-scratch-modal/add-scratch-modal.module').then( m => m.AddScratchModalPageModule)\r\n },\r\n {\r\n path: 'eula',\r\n loadChildren: () => import('./pages/eula/eula/eula.module').then( m => m.EulaPageModule)\r\n },\r\n {\r\n path: 'publish-twitter-modal',\r\n loadChildren: () => import('./modals/publish-twitter-modal/publish-twitter-modal.module').then( m => m.PublishTwitterModalPageModule)\r\n },\r\n {\r\n matcher: twitterCallbackMatcher,\r\n loadChildren: () => import('./pages/validate-twitter/validate-twitter.module').then( m => m.ValidateTwitterPageModule),\r\n },\r\n {\r\n path: 'validate-twitter',\r\n loadChildren: () => import('./pages/validate-twitter/validate-twitter.module').then( m => m.ValidateTwitterPageModule)\r\n },\r\n {\r\n path: \"**\",\r\n redirectTo: 'dashboard'\r\n },\r\n {\r\n path: 'biometric-setup',\r\n loadChildren: () => import('./modals/biometric-setup-modal/biometric-setup-modal.module').then( m => m.BiometricSetupModalPageModule)\r\n },\r\n {\r\n path: 'verify-login-modal',\r\n loadChildren: () => import('./modals/verify-login-modal/verify-login-modal.module').then( m => m.VerifyLoginModalPageModule)\r\n },\r\n {\r\n path: 'dual-auth-modal',\r\n loadChildren: () => import('./modals/dual-auth-modal/dual-auth-modal.module').then( m => m.DualAuthModalPageModule)\r\n },\r\n {\r\n path: 'add-notes-modal',\r\n loadChildren: () => import('./modals/add-notes-modal/add-notes-modal.module').then( m => m.AddNotesModalPageModule)\r\n },\r {\n path: 'player-info-modal',\n loadChildren: () => import('./modals/player-info-modal/player-info-modal.module').then( m => m.PlayerInfoModalPageModule)\n },\n {\n path: 'quick-report-modal',\n loadChildren: () => import('./modals/quick-report-modal/quick-report-modal.module').then( m => m.QuickReportModalPageModule)\n },\n {\n path: 'powerplay-summaries-modal',\n loadChildren: () => import('./modals/powerplay-summaries-modal/powerplay-summaries-modal.module').then( m => m.PowerplaySummariesModalPageModule)\n }\n\n];\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules, useHash: true }),\r\n ],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule {}\r\n","import { Component, NgZone } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ThemeService } from './services/theme/theme.service';\r\nimport { StorageService } from './services/storage/storage.service';\r\nimport { AuthenticationService } from './services/authentication/authentication.service';\r\nimport { PriorityTypesService } from './services/priority_types/priority-types.service';\r\nimport { Platform } from '@ionic/angular';\r\nimport { Network } from '@capacitor/network';\r\nimport { PlayerNotesService } from './services/playerNotes/player-notes.service';\r\nimport { ToastService } from './services/toast/toast.service';\r\nimport { NetworkService } from './services/network/network.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: 'app.component.html',\r\n styleUrls: ['app.component.scss'],\r\n})\r\nexport class AppComponent {\r\n constructor(\r\n private platform: Platform,\r\n private storage: StorageService,\r\n private themeService: ThemeService,\r\n public translate: TranslateService,\r\n private authentication: AuthenticationService,\r\n private priorityTypes: PriorityTypesService,\r\n private playerNotesService: PlayerNotesService,\r\n private toast: ToastService,\r\n private networkService: NetworkService\r\n ) {\r\n this.themeService.initTheme();\r\n // Disable warnings: window.console.warn = function(){};\r\n\r\n this.translate.setDefaultLang(\"en\");\r\n this.translate.use(this.translate.getBrowserLang() || \"en\");\r\n\r\n this.storage.get(\"DATABASE\").then(databaseName => {\r\n if (databaseName) {\r\n this.authentication.checkForUser().subscribe(user => {\r\n this.priorityTypes.allowPriorityTypes(user.id).then(_device => {\r\n _device.subscribe(device => {\r\n if(device) { this.storage.set(\"data_save\", device.data_save_mode); }\r\n });\r\n });\r\n });\r\n }\r\n });\r\n\r\n Network.addListener('networkStatusChange', status => {\r\n this.networkService.setNetworkStatus(status.connected);\r\n if (status.connected) {\r\n // When network comes back online, auto save player notes saved in local storage\r\n this.playerNotesService.saveNotesFromLocalStorage();\r\n }\r\n });\r\n }\r\n}\r\n","import { NgModule, ErrorHandler } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { RouteReuseStrategy } from '@angular/router';\r\n\r\nimport { IonicModule, IonicRouteStrategy } from '@ionic/angular';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\n\r\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { IonicStorageModule } from '@ionic/storage-angular';\r\n\r\n// Ionic Native\r\nimport { Device } from '@awesome-cordova-plugins/device/ngx';\r\nimport { ScreenOrientation } from '@awesome-cordova-plugins/screen-orientation/ngx';\r\n\r\n// Angular Material\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\n\r\n// Interceptors\r\nimport { JwtInterceptorService } from './interceptors/jwt-interceptor/jwt-interceptor.service';\r\nimport { ErrorInterceptorService } from './interceptors/error-interceptor/error-interceptor.service';\r\n\r\n// Error Handlers\r\nimport { JsErrorHandler } from './jsErrorHandler';\r\nimport { ConfirmExportNotesDialogComponent } from './dialogs/confirm-export-notes-dialog/confirm-export-notes-dialog/confirm-export-notes-dialog.component';\r\n\r\nimport { FingerprintAIO } from '@awesome-cordova-plugins/fingerprint-aio/ngx';\r\n\r\nimport { SwiperModule } from 'swiper/angular';\r\n\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\n\r\nexport function createTranslateLoader(http: HttpClient) {\r\n return new TranslateHttpLoader(http, './assets/i18n/', '.json');\r\n}\r\n\r\n@NgModule({\r\n declarations: [AppComponent, ConfirmExportNotesDialogComponent],\r\n imports: [\r\n BrowserModule,\r\n IonicModule.forRoot(),\r\n IonicStorageModule.forRoot(),\r\n AppRoutingModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n SwiperModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: (createTranslateLoader),\r\n deps: [HttpClient]\r\n }\r\n })\r\n ],\r\n exports: [\r\n MatDialogModule\r\n ],\r\n providers: [\r\n { provide: RouteReuseStrategy, useClass: IonicRouteStrategy },\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptorService, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptorService, multi: true },\r\n { provide: ErrorHandler, useClass: JsErrorHandler },\r\n Device,\r\n ScreenOrientation,\r\n FingerprintAIO,\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-confirm-export-notes-dialog',\r\n templateUrl: './confirm-export-notes-dialog.component.html',\r\n styleUrls: ['./confirm-export-notes-dialog.component.scss'],\r\n})\r\nexport class ConfirmExportNotesDialogComponent implements OnInit {\r\n conflictingPlayers: any[];\r\n conflictingGameNotes: boolean;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: string,\r\n private dialogRef: MatDialogRef\r\n ) {\r\n this.conflictingPlayers = this.data[\"conflictingPlayers\"];\r\n this.conflictingGameNotes = this.data[\"conflictingGameNotes\"];\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n close(choice: string) {\r\n this.dialogRef.close({choice});\r\n }\r\n\r\n}\r\n","import { Component, Inject, OnInit, NgZone } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-error-dialog',\r\n templateUrl: './error-dialog.component.html',\r\n styleUrls: ['./error-dialog.component.scss'],\r\n})\r\nexport class ErrorDialogComponent implements OnInit {\r\n message: string;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: string, \r\n private dialogRef: MatDialogRef,\r\n private zone: NgZone\r\n ) { \r\n this.message = this.data[\"message\"];\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n close() {\r\n this.zone.run(() => {\r\n this.dialogRef.close();\r\n })\r\n }\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { CanLoad, Router, UrlTree } from '@angular/router';\r\nimport { AuthenticationService } from '../../services/authentication/authentication.service';\r\nimport { StorageService } from 'src/app/services/storage/storage.service';\r\n\r\n/**\r\n * Auth guard for the Auth Portal page\r\n * \r\n * (Using canLoad because it prevents loading the path earlier than canActivate)\r\n */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuard implements CanLoad {\r\n\r\n constructor(\r\n private router: Router,\r\n private storage: StorageService,\r\n private authService: AuthenticationService\r\n ) {}\r\n\r\n canLoad(): Observable | Promise | boolean | UrlTree { \r\n return this.storage.get(\"Auth_Token\").then(token => {\r\n if(token) {\r\n return Promise.resolve(true);\r\n } else {\r\n this.authService.logout();\r\n this.router.navigateByUrl('/login');\r\n return Promise.resolve(false);\r\n }\r\n });\r\n }\r\n}\r\n","import { Observable, of } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ErrorDialogComponent } from '../../dialogs/error-dialog/error-dialog.component';\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { AuthenticationService } from 'src/app/services/authentication/authentication.service';\r\nimport { LoadingService } from 'src/app/services/loading/loading.service';\r\n\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport constants from 'src/constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorInterceptorService implements HttpInterceptor {\r\n\r\n constructor(\r\n private router: Router,\r\n public dialog: MatDialog,\r\n private loading: LoadingService,\r\n private authentication: AuthenticationService,\r\n private translate: TranslateService\r\n ) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(catchError(err => {\r\n if(err.status === 401) {\r\n this.authentication.logout().then(() => {\r\n this.authentication.isAuthenticated.next(false);\r\n\r\n this.router.navigateByUrl('/login');\r\n });\r\n } else if(err.status == 403) {\r\n this.dialog.open(ErrorDialogComponent, {\r\n data: {\r\n message: this.translate.instant(\"ERROR.errorForbidden\", {message: err.error.message})\r\n }\r\n });\r\n } else if(err.status == 412) {\r\n if (err.error && err.error.response_code == constants.EULA_NEEDS_APPROVAL) {\r\n // User must accept EULA before continuing\r\n this.router.navigate(['/eula'], {\r\n queryParams: {\r\n 'redirectTo': this.router.url\r\n },\r\n queryParamsHandling: 'merge'\r\n });\r\n } else {\r\n this.dialog.open(ErrorDialogComponent, {\r\n data: {\r\n message: this.translate.instant(\"ERROR.errorGeneric\", {message: err.error.message})\r\n }\r\n });\r\n }\r\n } else {\r\n\r\n this.dialog.open(ErrorDialogComponent, {\r\n data: {\r\n message: this.translate.instant(\"ERROR.somethingGoneWrongMessage\")\r\n }\r\n });\r\n }\r\n\r\n this.loading.dismiss(); // Closes the loader if there has been an error in an API call\r\n\r\n return of(err.error);\r\n }));\r\n }\r\n}\r\n","import { from, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { map, switchMap } from 'rxjs/operators';\r\nimport { StorageService } from 'src/app/services/storage/storage.service';\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class JwtInterceptorService implements HttpInterceptor {\r\n constructor(\r\n private storage: StorageService\r\n ) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler) : Observable> {\r\n return from(this.storage.get(\"Session_Token\")).pipe(map(token => {return token}),\r\n switchMap(token => {\r\n request = request.clone({\r\n setHeaders: {\r\n 'Authorization': `${token}`,\r\n 'Content-Type': 'application/json'\r\n }\r\n });\r\n\r\n return next.handle(request); \r\n }));\r\n }\r\n}\r\n","import { Injectable, ErrorHandler, NgZone } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ErrorDialogComponent } from './dialogs/error-dialog/error-dialog.component';\r\nimport { LoggingService } from './services/logging/logging.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\nexport class JsErrorHandler implements ErrorHandler {\r\n constructor(\r\n public dialog: MatDialog,\r\n private router: Router,\r\n private zone: NgZone,\r\n private logging: LoggingService,\r\n private translate: TranslateService,\r\n\r\n ) {}\r\n\r\n async handleError(error) {\r\n console.error(error);\r\n\r\n this.zone.run(() => {\r\n this.logging.logError(error.stack).subscribe(() => {});\r\n });\r\n }\r\n}\r\n","export class PlayerNotes {\r\n constructor(json?: any) {\r\n this.appUserId = json && json.app_user_id || null;\r\n this.scheduledGameId = json && json.schedule_games_id || null;\r\n this.playerRnid = json && json.player_rnid || null;\r\n this.notes = json && json.notes || null;\r\n\r\n this.gmScore = json && json.gmscore || null;\r\n this.score = json && json.score || null;\r\n this.optWant = json && json.optwant || null;\r\n this.gmFlag = json && json.gmflag || null;\r\n this.playerType = json && json.platype || null;\r\n this.potential = json && json.potential || null;\r\n this.projection = json && json.projection || null;\r\n this.fight = json && json.fight || null;\r\n this.character = json && json.character || null;\r\n this.quality = json && json.quality || null;\r\n this.potQual = json && json.potqual || null;\r\n }\r\n\r\n appUserId: number;\r\n scheduledGameId: number;\r\n playerRnid: number;\r\n notes: string;\r\n\r\n gmScore: number;\r\n score: number;\r\n optWant: number;\r\n gmFlag: number;\r\n playerType: number;\r\n potential: number;\r\n projection: number;\r\n fight: number;\r\n character: number;\r\n quality: number;\r\n potQual: number;\r\n\r\n toJSON() {\r\n return {\r\n app_user_id: this.appUserId,\r\n schedule_games_id: this.scheduledGameId,\r\n player_rnid: this.playerRnid,\r\n notes: this.notes,\r\n gmscore: this.gmScore,\r\n score: this.score,\r\n optwant: this.optWant,\r\n gmflag: this.gmFlag,\r\n platype: this.playerType,\r\n potential: this.potential,\r\n projection: this.projection,\r\n fight: this.fight,\r\n character: this.character,\r\n quality: this.quality,\r\n potqual: this.potQual\r\n }\r\n }\r\n\r\n hasNotes() : boolean {\r\n return !!(this.notes || \r\n this.gmScore ||\r\n this.score ||\r\n this.optWant ||\r\n this.gmFlag ||\r\n this.playerType ||\r\n this.potential ||\r\n this.projection ||\r\n this.fight ||\r\n this.character ||\r\n this.quality ||\r\n this.potQual\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, of } from 'rxjs';\r\nimport { HttpBackend, HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { map, tap, switchMap, catchError } from 'rxjs/operators';\r\nimport { StorageService } from '../../services/storage/storage.service';\r\nimport { environment} from '../../../environments/environment';\r\nimport { Device } from '@awesome-cordova-plugins/device/ngx';\r\nimport { Platform } from '@ionic/angular';\r\nimport OneSignal from 'onesignal-cordova-plugin';\r\n\r\nexport class Credentials {\r\n Email: string = \"\";\r\n Password: string = \"\";\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationService {\r\n isAuthenticated: BehaviorSubject = new BehaviorSubject(null); // For HT-Auth Pages\r\n session_token: BehaviorSubject = new BehaviorSubject(null); // For PressRoom Pages\r\n\r\n private auth_portal: HttpClient; \r\n\r\n showPriorityPlayers: BehaviorSubject;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private handler: HttpBackend,\r\n private storage: StorageService,\r\n private device: Device,\r\n private platform: Platform\r\n ) {\r\n this.storage.get(\"Auth_Token\").then(token => {\r\n if(token) {\r\n this.isAuthenticated.next(true);\r\n }\r\n });\r\n\r\n this.storage.get(\"Session_Token\").then(token => {\r\n if(token) {\r\n this.session_token.next(token);\r\n }\r\n });\r\n\r\n this.showPriorityPlayers = new BehaviorSubject(false);\r\n\r\n this.auth_portal = new HttpClient(this.handler); // Requests to auth portal will avoid the jwt-interceptor by passing in this handler\r\n }\r\n\r\n /**\r\n * Gets the auth token from HT-Auth\r\n */\r\n login(credentials: Credentials, deviceId: string): Observable {\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n });\r\n\r\n return this.auth_portal.post(`${environment.AUTHPORTAL_API_URL}login`, { email: credentials.Email, password: credentials.Password, device_id: deviceId }, { headers: headers }).pipe(\r\n map((data: any) => data),\r\n switchMap (data => {\r\n if (data.token != \"\") {\r\n this.storage.set('Auth_Token', data.token); // Store session token \r\n this.storage.set('loggedInAs', credentials.Email); // Store email\r\n this.isAuthenticated.next(true); \r\n }\r\n return of(data);\r\n }), catchError(err => {\r\n return of(err.error.message);\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Validates the auth code from HT-Auth\r\n */\r\n validateAuthCode(email: string, deviceId: string, authCode: string, trustDevice: boolean): Observable {\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n });\r\n\r\n return this.auth_portal.post(`${environment.AUTHPORTAL_API_URL}validateAuthCode`, { email: email, device_id: deviceId, auth_code: authCode, trust_device: trustDevice }, { headers: headers }).pipe(\r\n map((data: any) => {\r\n if (data.token != \"\") {\r\n this.storage.set('Auth_Token', data.token); // Store session token \r\n this.storage.set('loggedInAs', email); // Store email\r\n this.isAuthenticated.next(true); \r\n }\r\n return data;\r\n }), catchError(err => {\r\n return err.error;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Validates the verification code from HT-Auth\r\n */\r\n validateCode(email: string, deviceId: string, code: string, auth_token: string): Observable {\r\n const headers = { 'Authorization': auth_token };\r\n\r\n return this.auth_portal.post(`${environment.AUTHPORTAL_API_URL}validateCode`, { email: email, device_id: deviceId, code: code }, { headers }).pipe(\r\n map((data: any) => {\r\n return data; \r\n }),\r\n catchError(err => {\r\n return err.error;\r\n })\r\n );\r\n }\r\n\r\n async logout() {\r\n this.storage.clear().then(() => { // Clear all stored data\r\n this.isAuthenticated.next(false); // Update ht auth guard \r\n });\r\n\r\n if (this.platform.is(\"cordova\")) {\r\n OneSignal.User.pushSubscription.optOut();\r\n OneSignal.logout();\r\n }\r\n }\r\n\r\n resetPassword(email: string) {\r\n return this.auth_portal.post(`${environment.AUTHPORTAL_API_URL}requestPasswordReset`, { email: email }).pipe(\r\n map(data => {\r\n return data;\r\n }),\r\n catchError(err => {\r\n return of(err.error);\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Get all of the user's services (this will only get press room services)\r\n */\r\n getUserServices(auth_token: string) {\r\n const headers = new HttpHeaders({\r\n 'Authorization': auth_token\r\n });\r\n\r\n return this.auth_portal.get(`${environment.AUTHPORTAL_API_URL}services`, { headers });\r\n }\r\n\r\n /**\r\n * Get token used to login from the auth portal (user_services_token) (requires Auth_Token)\r\n */\r\n getToken(user_service_id: number, auth_token: string) {\r\n const headers = { 'Authorization': auth_token };\r\n\r\n return this.auth_portal.get(`${environment.AUTHPORTAL_API_URL}services/token?userServiceId=${user_service_id.toString()}`, { headers });\r\n }\r\n\r\n requestNewEmailVerification(deviceId: string, email: string, newEmail: string, auth_token: string): Observable {\r\n const headers = { 'Authorization': auth_token };\r\n return this.auth_portal.post(`${environment.AUTHPORTAL_API_URL}account/requestNewEmailVerification`, { device_id: deviceId, email: email, new_email: newEmail }, { headers }).pipe(\r\n map((data: any) => {\r\n return data; \r\n }),\r\n catchError(err => {\r\n return err.error;\r\n })\r\n );\r\n }\r\n\r\n requestNewCellVerification(deviceId: string, email: string, cell: string, auth_token: string): Observable {\r\n const headers = { 'Authorization': auth_token };\r\n return this.auth_portal.post(`${environment.AUTHPORTAL_API_URL}account/requestNewCellVerification`, { device_id: deviceId, email: email, cell: cell }, { headers }).pipe(\r\n map((data: any) => {\r\n return data; \r\n }),\r\n catchError(err => {\r\n return err.error;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Update User Info (requires Auth_Token)\r\n */\r\n updateUser(userServiceId: number, userInfo: any, auth_token: string): Observable {\r\n const headers = { 'Authorization': auth_token };\r\n var body = userInfo;\r\n body.apply_all = true;\r\n\r\n const url = environment.AUTHPORTAL_API_URL + `userInfo/${userServiceId.toString()}`;\r\n return this.auth_portal.put(url, body, { headers }).pipe(\r\n map((data: any) => {\r\n return data; \r\n }),\r\n catchError(err => {\r\n return err.error;\r\n })\r\n );\r\n } \r\n\r\n /**\r\n * Login from the auth portal. Requires token retrieved from getToken(user_service_id, auth_token)\r\n * Returns the Session_Token\r\n */\r\n signIntoPressRoom(database, username, token) {\r\n return this.http.post(`${environment.PRESSROOM_API_URL}users/loginFromAuthPortal`, { database: database, token: token, username: username }).pipe( // Use pipe (rxjs) to edit data before subscription\r\n map((data: any) => data.token), // Extract token from JSON data\r\n switchMap (sessionToken => { // Intercept token and store relevant data in local storage before returning an observable of the token\r\n return this.storage.removeMultipleValues(\r\n [\"DATABASE\",\r\n \"USERNAME\",\r\n \"token\",\r\n \"Session_Token\",\r\n \"dark_mode\"]\r\n ).then(() => {\r\n this.storage.set(\"DATABASE\", database);\r\n this.storage.set(\"USERNAME\", username);\r\n this.storage.set(\"token\", token);\r\n this.storage.set('Session_Token', sessionToken); // Store session token\r\n this.session_token.next(sessionToken);\r\n return of(sessionToken);\r\n });\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Check AppUsers table for user\r\n */\r\n checkForUser() {\r\n\r\n return this.http.get(`${environment.PRESSROOM_API_URL}appUser`).pipe(\r\n map((data: any) => {\r\n if(data) {\r\n return data;\r\n } else {\r\n return false;\r\n }\r\n })\r\n );\r\n }\r\n\r\n checkForDevice(deviceId: string, appUserId: string) {\r\n const params = {\r\n 'device_id': deviceId.toString(),\r\n 'app_user_id': appUserId.toString()\r\n }\r\n\r\n return this.http.get(`${environment.PRESSROOM_API_URL}appDevice?parameters=` + JSON.stringify(params)).pipe(\r\n map((data: any) => data),\r\n switchMap((deviceTypeId) => {\r\n return of(deviceTypeId);\r\n }),\r\n catchError(err => {\r\n return of(err.error);\r\n })\r\n );\r\n }\r\n\r\n getDevice(deviceId: string, appUserId: string) {\r\n return this.storage.get(\"device\").then(device => {\r\n if(device) {\r\n if (device.priority_players) {\r\n this.showPriorityPlayers.next(device.priority_players);\r\n }\r\n return of(device);\r\n } else {\r\n const params = {\r\n 'device_id': deviceId.toString(),\r\n 'app_user_id': appUserId.toString()\r\n }\r\n\r\n return this.http.get(`${environment.PRESSROOM_API_URL}appDevice?parameters=` + JSON.stringify(params)).pipe(\r\n map((data: any) => {\r\n this.storage.set(\"device\", data);\r\n if (device && device.priority_players) {\r\n this.showPriorityPlayers.next(device.priority_players);\r\n }\r\n return data;\r\n }),\r\n catchError(err => {\r\n return of(err.error);\r\n })\r\n );\r\n }\r\n });\r\n\r\n }\r\n\r\n getAppDevice(deviceId: string, appUserId: string) {\r\n const params = {\r\n 'device_id': deviceId.toString(),\r\n 'app_user_id': appUserId.toString()\r\n }\r\n\r\n return this.http.get(`${environment.PRESSROOM_API_URL}appDevice?parameters=` + JSON.stringify(params)).pipe(\r\n map((data: any) => {\r\n this.storage.set(\"device\", data);\r\n return data;\r\n }),\r\n catchError(err => {\r\n return err.error;\r\n })\r\n );\r\n }\r\n\r\n updateDevice(device: any) {\r\n const body = {\r\n 'device': device\r\n }\r\n\r\n this.storage.set(\"data_save\", device.data_save_mode);\r\n\r\n this.storage.set(\"device\", device);\r\n\r\n this.showPriorityPlayers.next(device.priority_players);\r\n\r\n return this.http.put(`${environment.PRESSROOM_API_URL}appDevice/${device.id}`, body).pipe(\r\n map((data: any) => data[0]),\r\n switchMap((deviceTypeId) => {\r\n return of(deviceTypeId);\r\n }),\r\n catchError(err => {\r\n return of(err.error);\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Add user to AppUsers table\r\n */\r\n addUser(databaseName: string) {\r\n return this.http.post(`${environment.PRESSROOM_API_URL}appUser`, { database: databaseName });\r\n }\r\n\r\n /**\r\n * Generates a unique (\"cross-install, app-specific\") ID for the device\r\n */\r\n generateDeviceId(platform: any, uid: string) {\r\n if(platform == \"web\") {\r\n return Promise.resolve(uid + 'web');\r\n } else {\r\n return Promise.resolve(this.device.uuid);\r\n }\r\n }\r\n\r\n /**\r\n * Get the id of the device type\r\n */\r\n getDeviceType(platform: string) {\r\n const params = {\r\n 'device_name': platform,\r\n }\r\n\r\n return this.http.get(`${environment.PRESSROOM_API_URL}deviceTypes?parameters=` + JSON.stringify(params)).pipe(\r\n map((data: any) => data[0].id),\r\n switchMap((deviceTypeId) => {\r\n return of(deviceTypeId);\r\n }),\r\n catchError(err => {\r\n return of(err.error);\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Add device to AppDevices\r\n */\r\n addDevice(appUserId: string, id: string, deviceTypeId: string) {\r\n const prefersDark = window.matchMedia(\"(prefers-color-scheme: dark)\");\r\n return this.http.post(`${environment.PRESSROOM_API_URL}appDevice`, { 'app_user_id': appUserId.toString(), 'app_device_id': id.toString(), 'device_type_id': deviceTypeId.toString(), 'system_theme_pref': prefersDark.matches }).pipe(\r\n map((data: any) => {\r\n return data;\r\n }),\r\n catchError(err => {\r\n return of(err.error);\r\n })\r\n );\r\n }\r\n\r\n getSettingsRules() : Observable {\r\n const url = environment.PRESSROOM_API_URL + `screenrules/settings`;\r\n\r\n return this.http.get(url).pipe(\r\n map((data: any) => data.settings_rules),\r\n switchMap((rules: any) => {\r\n return of(rules);\r\n }),\r\n catchError(err => {\r\n return of(err.error);\r\n })\r\n );\r\n }\r\n\r\n rememberMe(rememberMe: boolean, email: string = null) {\r\n if (rememberMe) {\r\n localStorage.setItem('rememberMe', email);\r\n } else {\r\n localStorage.removeItem('rememberMe');\r\n }\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { LoadingController } from '@ionic/angular';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingService {\r\n isLoading: boolean;\r\n\r\n constructor(public loadingController: LoadingController) {\r\n this.isLoading = false;\r\n }\r\n\r\n async presentLoading(message: string, cssClass?: string) {\r\n const loading = await this.loadingController.create({\r\n cssClass: cssClass || 'my-custom-class',\r\n message: message\r\n });\r\n this.isLoading = true;\r\n await loading.present();\r\n\r\n const { role, data } = await loading.onDidDismiss();\r\n }\r\n\r\n async presentLoadingWithOptions(spinner: any, duration: number, message: string, translucent?: boolean, cssClass?: string, backdropDismiss?: boolean) {\r\n const loading = await this.loadingController.create({\r\n spinner: spinner,\r\n duration: duration,\r\n message: message,\r\n translucent: (translucent != null ? translucent : true),\r\n cssClass: cssClass || 'custom-class custom-loading',\r\n backdropDismiss: backdropDismiss || false\r\n });\r\n this.isLoading = true;\r\n await loading.present();\r\n\r\n await loading.onDidDismiss().then(() => {\r\n // Clear isLoading just in case time out occurs before dismiss is called\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n dismiss() {\r\n if(this.isLoading) {\r\n this.loadingController.dismiss().then(() => {\r\n this.isLoading = false;\r\n });\r\n }\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoggingService {\r\n\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n logScreenHit(screenName: string) : Observable {\r\n let body = {\r\n page_name: screenName\r\n }\r\n\r\n const url = environment.PRESSROOM_API_URL + 'screenhits/log';\r\n\r\n return this.http.post(url, body).pipe(\r\n map((data: any) => {\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n logError(errorDescription: string) : Observable {\r\n let body = {\r\n error_description: errorDescription\r\n }\r\n\r\n const url = environment.PRESSROOM_API_URL + 'logging/clientError';\r\n\r\n return this.http.post(url, body).pipe(\r\n map((data: any) => {\r\n return data;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Network } from '@capacitor/network';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NetworkService {\r\n\r\n private networkConnected = new BehaviorSubject(true);\r\n isConnected = this.networkConnected.asObservable();\r\n\r\n constructor() { }\r\n\r\n setNetworkStatus(status: boolean) {\r\n this.networkConnected.next(status);\r\n }\r\n\r\n}\r\n","import { map } from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { PlayerNotes } from 'src/app/models/PlayerNotes.model';\r\nimport { Observable } from 'rxjs';\r\nimport { StorageService } from '../storage/storage.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PlayerNotesService {\r\n constructor(\r\n private http: HttpClient,\r\n private storage: StorageService\r\n ) { }\r\n\r\n getNotes(ScheduleGameID: number) : Observable {\r\n const url = environment.PRESSROOM_API_URL + `playerNotes/${ScheduleGameID}`;\r\n\r\n return this.http.get(url).pipe(\r\n map((data: any) => {\r\n if (data) {\r\n var playerNotes: PlayerNotes[] = [];\r\n data.forEach(note => {\r\n var playerNote = new PlayerNotes(note);\r\n playerNotes.push(playerNote);\r\n });\r\n return playerNotes;\r\n } else {\r\n return null;\r\n }\r\n })\r\n );\r\n }\r\n\r\n getNotesByPlayerID(ScheduleGameID: number, playerRNID: number) : Observable {\r\n const params = {\r\n player_rnid: playerRNID\r\n }\r\n\r\n const url = environment.PRESSROOM_API_URL + `playerNotes/${ScheduleGameID}?parameters=` + JSON.stringify(params);\r\n\r\n return this.http.get(url).pipe(\r\n map((data: any) => {\r\n if (data != false) {\r\n if (data) {\r\n var playerNotes = new PlayerNotes(data);\r\n return playerNotes;\r\n } else {\r\n var playerNotes = new PlayerNotes();\r\n return playerNotes;\r\n }\r\n } else {\r\n return null;\r\n }\r\n })\r\n );\r\n }\r\n\r\n addNotes(notes: PlayerNotes) {\r\n let body = notes.toJSON();\r\n\r\n const url = environment.PRESSROOM_API_URL + `playerNotes`;\r\n\r\n return this.http.post(url, body).pipe(\r\n map((data: any) => { return data; })\r\n );\r\n }\r\n\r\n bulkAddPlayerNotes(notes: PlayerNotes[], scheduledGameID: number) {\r\n let body = {\r\n player_notes: notes,\r\n scheduled_game_id: scheduledGameID\r\n };\r\n\r\n const url = environment.PRESSROOM_API_URL + `bulkAddPlayerNotes`;\r\n\r\n return this.http.post(url, body).pipe(\r\n map((data: any) => { return data; })\r\n );\r\n }\r\n\r\n saveNotesFromLocalStorage() : Promise {\r\n return new Promise((resolve) => {\r\n this.storage.get('playerNotes').then((savedNotes: any) => {\r\n if (savedNotes) {\r\n let playerNotes: PlayerNotes[] = [];\r\n savedNotes.playerNotes.forEach(note => {\r\n playerNotes.push(new PlayerNotes(note));\r\n });\r\n\r\n this.bulkAddPlayerNotes(playerNotes, savedNotes.scheduledGameID).subscribe(() => {\r\n this.storage.remove('playerNotes');\r\n resolve(true);\r\n });\r\n } else {\r\n resolve(true);\r\n }\r\n }).catch(() => {\r\n resolve(false);\r\n });\r\n });\r\n }\r\n\r\n saveNotesToStorage(notes: PlayerNotes, scheduledGameID: number) : Promise {\r\n return new Promise((resolve) => {\r\n let body = notes.toJSON();\r\n\r\n this.storage.get('playerNotes').then((savedNotes: any) => {\r\n if (savedNotes) {\r\n savedNotes.scheduledGameID = scheduledGameID;\r\n savedNotes.playerNotes.push(body);\r\n this.storage.set(\"playerNotes\", savedNotes);\r\n resolve(true);\r\n } else {\r\n this.storage.set(\"playerNotes\", { \r\n scheduledGameID: scheduledGameID, \r\n playerNotes: [body] \r\n });\r\n resolve(true);\r\n }\r\n });\r\n });\r\n }\r\n\r\n bulkSaveNotesToStorage(notes: PlayerNotes[], scheduledGameID: number) : Promise {\r\n return new Promise((resolve) => {\r\n let playerNotes = [];\r\n notes.forEach(note => {\r\n playerNotes.push(note.toJSON());\r\n });\r\n\r\n this.storage.set(\"playerNotes\", { \r\n scheduledGameID: scheduledGameID, \r\n playerNotes: playerNotes \r\n }).then(() => {\r\n resolve(true);\r\n }).catch(() => {\r\n resolve(false);\r\n });\r\n });\r\n }\r\n}\r\n","import { of } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { Device } from '@awesome-cordova-plugins/device/ngx';\r\nimport { AuthenticationService } from '../authentication/authentication.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PriorityTypesService {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private device: Device,\r\n private authentication: AuthenticationService\r\n ) { }\r\n\r\n getPriorityTypes() {\r\n const url = environment.PRESSROOM_API_URL + 'priorityTypes'\r\n\r\n return this.http.get(url).pipe(\r\n map((data: any) => data.priority_types),\r\n switchMap((priorityTypes) => {\r\n return of(priorityTypes);\r\n }),\r\n catchError(err => {\r\n return err.error;\r\n })\r\n );\r\n }\r\n\r\n allowPriorityTypes(userID: string) {\r\n var platform = this.device.platform || \"web\";\r\n return this.authentication.generateDeviceId(platform, userID).then(id => {\r\n return this.authentication.getDevice(id, userID);\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Storage } from '@ionic/storage-angular';\r\n\r\n/**\r\n * Wrapper for ionic storage. Initializes an ionic database to use throughout the app.\r\n */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StorageService {\r\n private _storage: Storage | null = null;\r\n\r\n constructor(private storage: Storage) {\r\n this.init();\r\n }\r\n\r\n async init() {\r\n const storage = await this.storage.create();\r\n this._storage = storage;\r\n }\r\n\r\n async set(key: string, value: any) {\r\n return await this._storage?.set(key, value);\r\n }\r\n\r\n async get(key: string) {\r\n return await this.storage.get(key);\r\n }\r\n\r\n async remove(key: string) {\r\n return await this.storage.remove(key);\r\n }\r\n\r\n async clear() {\r\n return await this.storage.clear();\r\n }\r\n\r\n async removeMultipleValues(values: string[]) {\r\n return values.forEach(async (value) => {\r\n return await this.storage.remove(value);\r\n });\r\n }\r\n}\r\n","import { Platform } from '@ionic/angular';\r\nimport { Injectable } from '@angular/core';\r\nimport { Device } from '@awesome-cordova-plugins/device/ngx';\r\nimport { StorageService } from '../storage/storage.service';\r\nimport { AuthenticationService } from '../authentication/authentication.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ThemeService {\r\n darkMode = false;\r\n\r\n constructor(\r\n private plt: Platform,\r\n private device: Device,\r\n private storage: StorageService,\r\n private authentication: AuthenticationService\r\n ) { }\r\n\r\n initTheme() {\r\n this.plt.ready().then(() => {\r\n this.storage.get(\"dark_mode\").then(theme => { // Also add column to AppUser for prefer dark. If theme is not in storage, query for it\r\n if(theme) {\r\n this.setAppTheme(theme);\r\n } else {\r\n this.storage.get(\"DATABASE\").then(databaseName => {\r\n if(databaseName) {\r\n this.authentication.checkForUser().subscribe(user => {\r\n var platform = this.device.platform || \"web\";\r\n this.authentication.generateDeviceId(platform, user.id).then(id => {\r\n this.authentication.checkForDevice(id, user.id).subscribe((device) => {\r\n if(device) {\r\n this.setAppTheme(device.dark_mode);\r\n }\r\n });\r\n });\r\n });\r\n } else {\r\n const prefersDark = window.matchMedia(\"(prefers-color-scheme: dark)\");\r\n this.setAppTheme(prefersDark.matches);\r\n }\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n toggleAppTheme() {\r\n this.darkMode = !this.darkMode;\r\n this.setAppTheme(this.darkMode);\r\n }\r\n\r\n setAppTheme(dark) {\r\n this.darkMode = dark;\r\n this.darkMode ? document.body.classList.add(\"dark\") : document.body.classList.remove(\"dark\");\r\n\r\n this.storage.set(\"dark_mode\", this.darkMode); // Update storage with the user's preference\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastController } from '@ionic/angular';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToastService {\r\n\r\n constructor(public toastController: ToastController) { }\r\n\r\n async presentToast(message: string, duration: number, cssClass?: string) {\r\n const toast = await this.toastController.create({\r\n message: message,\r\n duration: duration,\r\n cssClass: cssClass || 'center-text',\r\n buttons: [\r\n {\r\n text: 'Okay',\r\n role: 'cancel',\r\n handler: () => {}\r\n }\r\n ]\r\n });\r\n toast.present();\r\n const { role } = await toast.onDidDismiss();\r\n }\r\n\r\n async presentToastWithOptions(header: string, message: string, position: any) {\r\n const toast = await this.toastController.create({\r\n header: header,\r\n message: message,\r\n position: position,\r\n });\r\n await toast.present();\r\n const { role } = await toast.onDidDismiss();\r\n }\r\n\r\n dismiss() {\r\n this.toastController.dismiss();\r\n }\r\n}\r\n","const constants = {\r\n MIN_FORWARD_LINE_COUNT: 2,\r\n MIN_DEFENCE_LINE_COUNT: 2,\r\n MIN_GOALIE_LINE_COUNT: 1,\r\n\r\n MAX_FORWARD_LINE_COUNT: 6,\r\n MAX_DEFENCE_LINE_COUNT: 5,\r\n MAX_GOALIE_LINE_COUNT: 3,\r\n\r\n REQUIRED_FORWARD_LINE_PLAYER_COUNT: 3,\r\n REQUIRED_DEFENSE_LINE_PLAYER_COUNT: 2,\r\n REQUIRED_GOALIE_LINE_PLAYER_COUNT: 1,\r\n\r\n DEFAULT_FORWARD_ROW_COUNT: 4,\r\n DEFAULT_DEFENSE_ROW_COUNT: 3,\r\n DEFAULT_GOALIE_ROW_COUNT: 2,\r\n\r\n MAX_TWEET_LENGTH: 280,\r\n\r\n PRESS_ROOM_CMP: -2,\r\n\r\n EULA_NEEDS_APPROVAL: 'EULA_NEEDS_APPROVAL',\r\n\r\n APP_VERSION: \"2.0.6\"\r\n}\r\n\r\nexport default constants;\r\n","export const environment = {\r\n production: true,\r\n AUTHPORTAL_API_URL: \"https://accounts.rinknet.com/api/\",\r\n PRESSROOM_API_URL: 'https://pressroom.rinknet.com/',\r\n ONESIGNAL_APP_ID: \"d02454b9-d8fe-4e4d-9e01-217c09c7a0a6\",\r\n IMAGE_URL: \"http://pc.rinknet.com/images/\",\r\n PRINT_LINES_URL: \"https://reports.rinknet.com/pressroomlineups.aspx\",\r\n TWITTER_AUTHORIZE_URL: \"https://api.twitter.com/oauth/authorize\",\r\n TWITTER_URL: \"https://twitter.com\",\r\n OPS_SIGN_IN_URL: \"https://ops.rinknet.com/#/signin\",\r\n ONERINK_URL: \"https://app.1rink.com/#/home/dashboard\",\r\n DEFAULT_PRINT_LAYOUT_ID: 2000\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","var map = {\n\t\"./ion-accordion_2.entry.js\": [\n\t\t37518,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-accordion_2_entry_js\"\n\t],\n\t\"./ion-action-sheet.entry.js\": [\n\t\t41981,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-action-sheet_entry_js\"\n\t],\n\t\"./ion-alert.entry.js\": [\n\t\t71603,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-alert_entry_js\"\n\t],\n\t\"./ion-app_8.entry.js\": [\n\t\t82273,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-app_8_entry_js\"\n\t],\n\t\"./ion-avatar_3.entry.js\": [\n\t\t19642,\n\t\t\"node_modules_ionic_core_dist_esm_ion-avatar_3_entry_js\"\n\t],\n\t\"./ion-back-button.entry.js\": [\n\t\t32095,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-back-button_entry_js\"\n\t],\n\t\"./ion-backdrop.entry.js\": [\n\t\t72335,\n\t\t\"node_modules_ionic_core_dist_esm_ion-backdrop_entry_js\"\n\t],\n\t\"./ion-breadcrumb_2.entry.js\": [\n\t\t78221,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-breadcrumb_2_entry_js\"\n\t],\n\t\"./ion-button_2.entry.js\": [\n\t\t47184,\n\t\t\"node_modules_ionic_core_dist_esm_ion-button_2_entry_js\"\n\t],\n\t\"./ion-card_5.entry.js\": [\n\t\t38759,\n\t\t\"node_modules_ionic_core_dist_esm_ion-card_5_entry_js\"\n\t],\n\t\"./ion-checkbox.entry.js\": [\n\t\t24248,\n\t\t\"node_modules_ionic_core_dist_esm_ion-checkbox_entry_js\"\n\t],\n\t\"./ion-chip.entry.js\": [\n\t\t69863,\n\t\t\"node_modules_ionic_core_dist_esm_ion-chip_entry_js\"\n\t],\n\t\"./ion-col_3.entry.js\": [\n\t\t51769,\n\t\t\"node_modules_ionic_core_dist_esm_ion-col_3_entry_js\"\n\t],\n\t\"./ion-datetime-button.entry.js\": [\n\t\t2569,\n\t\t\"default-node_modules_ionic_core_dist_esm_data-caf38df0_js-node_modules_ionic_core_dist_esm_th-d3ab8e\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-datetime-button_entry_js\"\n\t],\n\t\"./ion-datetime_3.entry.js\": [\n\t\t76534,\n\t\t\"default-node_modules_ionic_core_dist_esm_data-caf38df0_js-node_modules_ionic_core_dist_esm_th-d3ab8e\",\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-datetime_3_entry_js\"\n\t],\n\t\"./ion-fab_3.entry.js\": [\n\t\t25458,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-fab_3_entry_js\"\n\t],\n\t\"./ion-img.entry.js\": [\n\t\t70654,\n\t\t\"node_modules_ionic_core_dist_esm_ion-img_entry_js\"\n\t],\n\t\"./ion-infinite-scroll_2.entry.js\": [\n\t\t36034,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-infinite-scroll_2_entry_js\"\n\t],\n\t\"./ion-input.entry.js\": [\n\t\t20761,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-input_entry_js\"\n\t],\n\t\"./ion-item-option_3.entry.js\": [\n\t\t6492,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item-option_3_entry_js\"\n\t],\n\t\"./ion-item_8.entry.js\": [\n\t\t29557,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item_8_entry_js\"\n\t],\n\t\"./ion-loading.entry.js\": [\n\t\t68353,\n\t\t\"node_modules_ionic_core_dist_esm_ion-loading_entry_js\"\n\t],\n\t\"./ion-menu_3.entry.js\": [\n\t\t51024,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-menu_3_entry_js\"\n\t],\n\t\"./ion-modal.entry.js\": [\n\t\t29160,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-modal_entry_js\"\n\t],\n\t\"./ion-nav_2.entry.js\": [\n\t\t60393,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-nav_2_entry_js\"\n\t],\n\t\"./ion-picker-column-internal.entry.js\": [\n\t\t23970,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-column-internal_entry_js\"\n\t],\n\t\"./ion-picker-internal.entry.js\": [\n\t\t20437,\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-internal_entry_js\"\n\t],\n\t\"./ion-popover.entry.js\": [\n\t\t16772,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-popover_entry_js\"\n\t],\n\t\"./ion-progress-bar.entry.js\": [\n\t\t34810,\n\t\t\"node_modules_ionic_core_dist_esm_ion-progress-bar_entry_js\"\n\t],\n\t\"./ion-radio_2.entry.js\": [\n\t\t14639,\n\t\t\"node_modules_ionic_core_dist_esm_ion-radio_2_entry_js\"\n\t],\n\t\"./ion-range.entry.js\": [\n\t\t90628,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-range_entry_js\"\n\t],\n\t\"./ion-refresher_2.entry.js\": [\n\t\t10852,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-refresher_2_entry_js\"\n\t],\n\t\"./ion-reorder_2.entry.js\": [\n\t\t61479,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-reorder_2_entry_js\"\n\t],\n\t\"./ion-ripple-effect.entry.js\": [\n\t\t24065,\n\t\t\"node_modules_ionic_core_dist_esm_ion-ripple-effect_entry_js\"\n\t],\n\t\"./ion-route_4.entry.js\": [\n\t\t57971,\n\t\t\"node_modules_ionic_core_dist_esm_ion-route_4_entry_js\"\n\t],\n\t\"./ion-searchbar.entry.js\": [\n\t\t93184,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-searchbar_entry_js\"\n\t],\n\t\"./ion-segment_2.entry.js\": [\n\t\t469,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-segment_2_entry_js\"\n\t],\n\t\"./ion-select_3.entry.js\": [\n\t\t78471,\n\t\t\"node_modules_ionic_core_dist_esm_ion-select_3_entry_js\"\n\t],\n\t\"./ion-slide_2.entry.js\": [\n\t\t29073,\n\t\t\"node_modules_ionic_core_dist_esm_ion-slide_2_entry_js\"\n\t],\n\t\"./ion-spinner.entry.js\": [\n\t\t40388,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-spinner_entry_js\"\n\t],\n\t\"./ion-split-pane.entry.js\": [\n\t\t42392,\n\t\t\"node_modules_ionic_core_dist_esm_ion-split-pane_entry_js\"\n\t],\n\t\"./ion-tab-bar_2.entry.js\": [\n\t\t36059,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab-bar_2_entry_js\"\n\t],\n\t\"./ion-tab_2.entry.js\": [\n\t\t5427,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab_2_entry_js\"\n\t],\n\t\"./ion-text.entry.js\": [\n\t\t50198,\n\t\t\"node_modules_ionic_core_dist_esm_ion-text_entry_js\"\n\t],\n\t\"./ion-textarea.entry.js\": [\n\t\t1735,\n\t\t\"node_modules_ionic_core_dist_esm_ion-textarea_entry_js\"\n\t],\n\t\"./ion-toast.entry.js\": [\n\t\t7510,\n\t\t\"node_modules_ionic_core_dist_esm_ion-toast_entry_js\"\n\t],\n\t\"./ion-toggle.entry.js\": [\n\t\t45297,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toggle_entry_js\"\n\t],\n\t\"./ion-virtual-scroll.entry.js\": [\n\t\t41018,\n\t\t\"node_modules_ionic_core_dist_esm_ion-virtual-scroll_entry_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 88996;\nmodule.exports = webpackAsyncContext;","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.loading-spinner {\n display: flex;\n flex-direction: row;\n width: 100%;\n justify-content: center;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/app.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,aAAA;EACA,mBAAA;EACA,WAAA;EACA,uBAAA;AACF\",\"sourcesContent\":[\".loading-spinner {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n width: 100%;\\r\\n justify-content: center;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n"],"names":["NgModule","PreloadAllModules","RouterModule","UrlSegment","AuthGuard","twitterCallbackMatcher","url","document","documentURI","length","path","match","queryString","split","params","URLSearchParams","oauthToken","get","oauthVerifier","retValue","consumed","routes","redirectTo","pathMatch","loadChildren","then","m","LoginPageModule","DashboardPageModule","AuthDashboardPageModule","canLoad","SettingsPageModule","ForgotPasswordPageModule","ViewLinesPageModule","EnterLinesPageModule","EnterPlayerModalPageModule","PublishLinesModalPageModule","AddGameModalPageModule","GameInfoPageModule","AddScratchModalPageModule","EulaPageModule","PublishTwitterModalPageModule","matcher","ValidateTwitterPageModule","BiometricSetupModalPageModule","VerifyLoginModalPageModule","DualAuthModalPageModule","AddNotesModalPageModule","PlayerInfoModalPageModule","QuickReportModalPageModule","PowerplaySummariesModalPageModule","AppRoutingModule","__decorate","imports","forRoot","preloadingStrategy","useHash","exports","Component","TranslateService","ThemeService","StorageService","AuthenticationService","PriorityTypesService","Platform","Network","PlayerNotesService","ToastService","NetworkService","AppComponent","platform","storage","themeService","translate","authentication","priorityTypes","playerNotesService","toast","networkService","constructor","initTheme","setDefaultLang","use","getBrowserLang","databaseName","checkForUser","subscribe","user","allowPriorityTypes","id","_device","device","set","data_save_mode","addListener","status","setNetworkStatus","connected","saveNotesFromLocalStorage","selector","template","__NG_CLI_RESOURCE__0","ErrorHandler","BrowserModule","RouteReuseStrategy","IonicModule","IonicRouteStrategy","HttpClient","HttpClientModule","HTTP_INTERCEPTORS","IonicStorageModule","Device","ScreenOrientation","BrowserAnimationsModule","MatDialogModule","JwtInterceptorService","ErrorInterceptorService","JsErrorHandler","ConfirmExportNotesDialogComponent","FingerprintAIO","SwiperModule","TranslateModule","TranslateLoader","TranslateHttpLoader","createTranslateLoader","http","AppModule","declarations","loader","provide","useFactory","deps","providers","useClass","multi","bootstrap","Inject","MatDialogRef","MAT_DIALOG_DATA","data","dialogRef","conflictingPlayers","conflictingGameNotes","ngOnInit","close","choice","args","NgZone","ErrorDialogComponent","zone","message","run","Injectable","Router","router","authService","token","Promise","resolve","logout","navigateByUrl","providedIn","of","catchError","MatDialog","LoadingService","constants","dialog","loading","intercept","request","next","handle","pipe","err","isAuthenticated","open","instant","error","response_code","EULA_NEEDS_APPROVAL","navigate","queryParams","queryParamsHandling","dismiss","from","map","switchMap","clone","setHeaders","LoggingService","logging","handleError","_this","_asyncToGenerator","console","logError","stack","PlayerNotes","json","appUserId","app_user_id","scheduledGameId","schedule_games_id","playerRnid","player_rnid","notes","gmScore","gmscore","score","optWant","optwant","gmFlag","gmflag","playerType","platype","potential","projection","fight","character","quality","potQual","potqual","toJSON","hasNotes","BehaviorSubject","HttpBackend","HttpHeaders","environment","OneSignal","Credentials","Email","Password","handler","session_token","auth_portal","showPriorityPlayers","login","credentials","deviceId","headers","post","AUTHPORTAL_API_URL","email","password","device_id","validateAuthCode","authCode","trustDevice","auth_code","trust_device","validateCode","code","auth_token","clear","is","User","pushSubscription","optOut","resetPassword","getUserServices","getToken","user_service_id","toString","requestNewEmailVerification","newEmail","new_email","requestNewCellVerification","cell","updateUser","userServiceId","userInfo","body","apply_all","put","signIntoPressRoom","database","username","PRESSROOM_API_URL","sessionToken","removeMultipleValues","checkForDevice","JSON","stringify","deviceTypeId","getDevice","priority_players","getAppDevice","updateDevice","addUser","generateDeviceId","uid","uuid","getDeviceType","addDevice","prefersDark","window","matchMedia","matches","getSettingsRules","settings_rules","rules","rememberMe","localStorage","setItem","removeItem","LoadingController","loadingController","isLoading","presentLoading","cssClass","create","present","role","onDidDismiss","presentLoadingWithOptions","spinner","duration","translucent","backdropDismiss","_this2","logScreenHit","screenName","page_name","errorDescription","error_description","networkConnected","isConnected","asObservable","getNotes","ScheduleGameID","playerNotes","forEach","note","playerNote","push","getNotesByPlayerID","playerRNID","addNotes","bulkAddPlayerNotes","scheduledGameID","player_notes","scheduled_game_id","savedNotes","remove","catch","saveNotesToStorage","bulkSaveNotesToStorage","getPriorityTypes","priority_types","userID","Storage","_storage","init","key","value","_this3","_this4","_this5","values","_this6","_ref","_x","apply","arguments","plt","darkMode","ready","theme","setAppTheme","dark_mode","toggleAppTheme","dark","classList","add","ToastController","toastController","presentToast","buttons","text","presentToastWithOptions","header","position","MIN_FORWARD_LINE_COUNT","MIN_DEFENCE_LINE_COUNT","MIN_GOALIE_LINE_COUNT","MAX_FORWARD_LINE_COUNT","MAX_DEFENCE_LINE_COUNT","MAX_GOALIE_LINE_COUNT","REQUIRED_FORWARD_LINE_PLAYER_COUNT","REQUIRED_DEFENSE_LINE_PLAYER_COUNT","REQUIRED_GOALIE_LINE_PLAYER_COUNT","DEFAULT_FORWARD_ROW_COUNT","DEFAULT_DEFENSE_ROW_COUNT","DEFAULT_GOALIE_ROW_COUNT","MAX_TWEET_LENGTH","PRESS_ROOM_CMP","APP_VERSION","production","ONESIGNAL_APP_ID","IMAGE_URL","PRINT_LINES_URL","TWITTER_AUTHORIZE_URL","TWITTER_URL","OPS_SIGN_IN_URL","ONERINK_URL","DEFAULT_PRINT_LAYOUT_ID","enableProdMode","platformBrowserDynamic","bootstrapModule","log"],"sourceRoot":"webpack:///","x_google_ignoreList":[22]}