{"version":3,"file":"player-gaming-declaration-vlgzkyes.js","sources":["packages/vanilla/lib/features/player-gaming-declaration/src/player-gaming-declaration-constants.ts","packages/vanilla/lib/features/player-gaming-declaration/src/player-gaming-declaration.client-config.ts","packages/vanilla/lib/features/player-gaming-declaration/src/player-gaming-declaration.service.ts","packages/vanilla/lib/features/player-gaming-declaration/src/player-gaming-declaration-bootstrap.service.ts","packages/vanilla/lib/features/player-gaming-declaration/src/player-gaming-declaration-tracking.service.ts","packages/vanilla/lib/features/player-gaming-declaration/src/player-gaming-declaration.feature.ts","packages/vanilla/lib/features/player-gaming-declaration/src/player-gaming-declaration.html","packages/vanilla/lib/features/player-gaming-declaration/src/player-gaming-declaration.component.ts","packages/vanilla/lib/features/player-gaming-declaration/src/player-gaming-declaration.guard.ts","packages/vanilla/lib/features/player-gaming-declaration/src/player-gaming-declaration.resolver.ts","packages/vanilla/lib/features/player-gaming-declaration/src/player-gaming-declaration.routes.ts"],"sourcesContent":["export const ACCEPTED_STATUS = 'Y';\nexport const NOT_ACCEPTED_STATUS = 'N';\nexport const GAMING_DECLARATION_PATH = '/gaming-declaration';\nexport const IS_POST_LOGIN = '1';\n","import { Injectable } from '@angular/core';\n\nimport {\n ClientConfigProductName,\n LazyClientConfig,\n LazyClientConfigBase,\n LazyClientConfigService,\n ViewTemplateForClient,\n} from '@frontend/vanilla/core';\n\n/**\n * @stable\n */\n@LazyClientConfig({ key: 'vnPlayerGamingDeclaration', product: ClientConfigProductName.SF })\n@Injectable()\nexport class PlayerGamingDeclarationConfig extends LazyClientConfigBase {\n isEnabledCondition: string;\n content: ViewTemplateForClient;\n}\n\nexport function playerGamingDeclarationConfigFactory(service: LazyClientConfigService) {\n return service.get(PlayerGamingDeclarationConfig);\n}\n","import { Injectable } from '@angular/core';\n\nimport { CookieName, CookieService, DslService, SharedFeaturesApiService, UserService } from '@frontend/vanilla/core';\nimport { Observable, ReplaySubject, firstValueFrom } from 'rxjs';\n\nimport { ACCEPTED_STATUS } from './player-gaming-declaration-constants';\nimport { PlayerGamingDeclarationConfig } from './player-gaming-declaration.client-config';\n\nexport interface GamingDeclaration {\n status: string;\n acceptedDate?: Date;\n}\n\n@Injectable()\nexport class PlayerGamingDeclarationService {\n private gamingDeclarationEvents = new ReplaySubject(1);\n private loaded: boolean = false;\n\n get gamingDeclaration(): Observable {\n return this.gamingDeclarationEvents;\n }\n\n constructor(\n private api: SharedFeaturesApiService,\n private user: UserService,\n private cookieService: CookieService,\n private config: PlayerGamingDeclarationConfig,\n private dslService: DslService,\n ) {}\n\n /** @internal */\n load() {\n if (this.user.isAuthenticated && !this.loaded) {\n this.loaded = true;\n this.api.get('gamingdeclaration').subscribe((gamingDeclaration: GamingDeclaration) => {\n this.gamingDeclarationEvents.next(gamingDeclaration);\n });\n }\n }\n\n accept(status: {}) {\n return this.api.post('gamingdeclaration/accept', status);\n }\n\n setCookie() {\n this.cookieService.put(CookieName.GdAccepted, ACCEPTED_STATUS);\n }\n\n removeCookie() {\n this.cookieService.remove(CookieName.GdAccepted);\n }\n\n isAccepted() {\n return this.cookieService.get(CookieName.GdAccepted) == ACCEPTED_STATUS;\n }\n\n setReturnPath(url: string) {\n this.cookieService.put(CookieName.GdReturnPath, url);\n }\n\n removeReturnPath() {\n this.cookieService.remove(CookieName.GdReturnPath);\n }\n\n returnPath() {\n return this.cookieService.get(CookieName.GdReturnPath);\n }\n\n /** @description Gets the enablement status of the player gaming declaration. */\n async isEnabled(): Promise {\n await firstValueFrom(this.config.whenReady);\n\n return await firstValueFrom(this.dslService.evaluateExpression(this.config.isEnabledCondition));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router, RoutesRecognized } from '@angular/router';\n\nimport { NativeAppService, NavigationService, OnFeatureInit, UserService } from '@frontend/vanilla/core';\nimport { filter } from 'rxjs/operators';\n\nimport { ACCEPTED_STATUS, GAMING_DECLARATION_PATH, NOT_ACCEPTED_STATUS } from './player-gaming-declaration-constants';\nimport { PlayerGamingDeclarationService } from './player-gaming-declaration.service';\n\n@Injectable()\nexport class PlayerGamingDeclarationBootstrapService implements OnFeatureInit {\n constructor(\n private gamingDeclarationService: PlayerGamingDeclarationService,\n private user: UserService,\n private navigationService: NavigationService,\n private nativeApp: NativeAppService,\n private router: Router,\n ) {}\n\n async onFeatureInit() {\n const isEnabled = await this.gamingDeclarationService.isEnabled();\n\n if (!isEnabled) {\n return;\n }\n\n this.router.events.pipe(filter((e): e is RoutesRecognized => e instanceof RoutesRecognized)).subscribe((e: RoutesRecognized) => {\n if (e.url.includes('gaming-declaration')) {\n this.nativeApp.sendToNative({ eventName: 'hideCloseButton' });\n }\n });\n\n if (\n this.user.isFirstLogin ||\n this.user.gamingDeclarationFlag?.toUpperCase() == ACCEPTED_STATUS ||\n this.gamingDeclarationService.isAccepted()\n ) {\n return;\n }\n\n this.gamingDeclarationService.gamingDeclaration.subscribe((gamingDeclaration) => {\n // Platform will send Y|N for Austrian users and null to non Austrian users so this makes sure redirect happens only for Austrian users that did not accept yet.\n if (gamingDeclaration?.status?.toUpperCase() === NOT_ACCEPTED_STATUS) {\n this.gamingDeclarationService.setReturnPath(this.navigationService.location.absUrl());\n this.navigationService.goTo(GAMING_DECLARATION_PATH);\n } else {\n this.gamingDeclarationService.removeCookie();\n }\n });\n\n if (this.user.isAuthenticated) {\n this.gamingDeclarationService.load();\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { TrackingService } from '@frontend/vanilla/core';\n\n@Injectable()\nexport class PlayerGamingDeclarationTrackingService {\n constructor(private trackingService: TrackingService) {}\n\n trackLoad(isPostLogin: boolean) {\n this.track('contentView', 'load', 'updated tnc interceptor', isPostLogin);\n }\n\n trackAccept(isPostLogin: boolean) {\n this.track('Event.Tracking', 'click', 'accept cta', isPostLogin);\n }\n\n private track(eventName: string, action: string, details: string, isPostLogin: boolean) {\n this.trackingService.triggerEvent(eventName, {\n 'component.CategoryEvent': 'interceptor',\n 'component.LabelEvent': 'updated tnc interceptor',\n 'component.ActionEvent': action,\n 'component.PositionEvent': isPostLogin ? 'post login' : 'product switch',\n 'component.LocationEvent': 'updated tnc interceptor',\n 'component.EventDetails': details,\n 'component.URLClicked': 'not applicable',\n });\n }\n}\n","import { LazyClientConfigService, runOnFeatureInit } from '@frontend/vanilla/core';\n\nimport { PlayerGamingDeclarationBootstrapService } from './player-gaming-declaration-bootstrap.service';\nimport { PlayerGamingDeclarationTrackingService } from './player-gaming-declaration-tracking.service';\nimport { PlayerGamingDeclarationConfig, playerGamingDeclarationConfigFactory } from './player-gaming-declaration.client-config';\nimport { PlayerGamingDeclarationService } from './player-gaming-declaration.service';\n\nexport function provide() {\n return [\n PlayerGamingDeclarationService,\n PlayerGamingDeclarationTrackingService,\n { provide: PlayerGamingDeclarationConfig, useFactory: playerGamingDeclarationConfigFactory, deps: [LazyClientConfigService] },\n runOnFeatureInit(PlayerGamingDeclarationBootstrapService),\n ];\n}\n","\n
\n \n @if (content(); as content) {\n
\n \n }\n
\n
\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnDestroy, OnInit, signal } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport {\n ClaimsConfig,\n ClientConfigService,\n DslService,\n HtmlNode,\n MessageScope,\n NativeAppService,\n NativeEventType,\n NavigationService,\n UserService,\n ViewTemplateForClient,\n} from '@frontend/vanilla/core';\nimport { CrossProductLayoutComponent } from '@frontend/vanilla/features/cross-product-layout';\nimport { MessagePanelComponent } from '@frontend/vanilla/features/message-panel';\nimport { TrustAsHtmlPipe } from '@frontend/vanilla/shared/browser';\nimport { RouteDataService } from '@frontend/vanilla/shared/routing';\nimport { first } from 'rxjs';\n\nimport { ACCEPTED_STATUS, IS_POST_LOGIN } from './player-gaming-declaration-constants';\nimport { PlayerGamingDeclarationTrackingService } from './player-gaming-declaration-tracking.service';\nimport { PlayerGamingDeclarationService } from './player-gaming-declaration.service';\n\n@Component({\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, TrustAsHtmlPipe, CrossProductLayoutComponent, MessagePanelComponent],\n selector: 'vn-gaming-declaration-page',\n templateUrl: 'player-gaming-declaration.html',\n})\nexport class PlayerGamingDeclarationComponent implements OnInit, OnDestroy {\n readonly content = signal(undefined);\n readonly MessageScope = MessageScope;\n\n private isPostLogin: boolean;\n\n constructor(\n private gamingDeclarationService: PlayerGamingDeclarationService,\n private routeData: RouteDataService,\n private navigationService: NavigationService,\n private clientConfig: ClientConfigService,\n private user: UserService,\n private trackingService: PlayerGamingDeclarationTrackingService,\n private activatedRoute: ActivatedRoute,\n private nativeApp: NativeAppService,\n private html: HtmlNode,\n private dslService: DslService,\n ) {}\n\n ngOnInit() {\n this.isPostLogin = this.activatedRoute.snapshot.queryParamMap.get('_isPostLogin') === IS_POST_LOGIN;\n this.dslService\n .evaluateContent(this.routeData.getInitData())\n .pipe(first())\n .subscribe((item: ViewTemplateForClient) => {\n this.content.set(item);\n });\n this.trackingService.trackLoad(this.isPostLogin);\n this.html.setCssClass('gaming-declaration', true);\n }\n\n ngOnDestroy() {\n this.html.setCssClass('gaming-declaration', false);\n }\n\n accept() {\n this.gamingDeclarationService.accept({ status: ACCEPTED_STATUS }).subscribe(() => {\n this.trackingService.trackAccept(this.isPostLogin);\n this.clientConfig.reload([ClaimsConfig]).then(() => {\n if (this.user.gamingDeclarationFlag?.toUpperCase() !== ACCEPTED_STATUS) {\n //Saving to cookie just in case Claim is not refreshed at this point.\n this.gamingDeclarationService.setCookie();\n }\n this.nativeApp.sendToNative({ eventName: NativeEventType.GAMING_DECLARATION_ACCEPTED });\n const returnUrl = this.gamingDeclarationService.returnPath();\n\n if (returnUrl) {\n this.navigationService.goTo(returnUrl, { isBackNavigation: true });\n this.gamingDeclarationService.removeReturnPath();\n } else {\n this.navigationService.goToLastKnownProduct({ forceReload: true });\n }\n });\n });\n }\n}\n","import { inject } from '@angular/core';\n\nimport { UserService } from '@frontend/vanilla/core';\n\nimport { ACCEPTED_STATUS } from './player-gaming-declaration-constants';\nimport { PlayerGamingDeclarationService } from './player-gaming-declaration.service';\n\nexport const playerGamingDeclarationCanActivateGuard = async () => {\n const user = inject(UserService);\n const gamingDeclarationService = inject(PlayerGamingDeclarationService);\n const isEnabled = await gamingDeclarationService.isEnabled();\n\n if (\n !isEnabled ||\n !user.isAuthenticated ||\n user.gamingDeclarationFlag?.toUpperCase() == ACCEPTED_STATUS ||\n gamingDeclarationService.isAccepted()\n ) {\n return false;\n }\n\n return true;\n};\n\nexport const playerGamingDeclarationCanDeactivateGuard = async () => {\n const user = inject(UserService);\n const gamingDeclarationService = inject(PlayerGamingDeclarationService);\n return user.gamingDeclarationFlag?.toUpperCase() == ACCEPTED_STATUS || gamingDeclarationService.isAccepted();\n};\n","import { inject } from '@angular/core';\n\nimport { map } from 'rxjs/operators';\n\nimport { PlayerGamingDeclarationConfig } from './player-gaming-declaration.client-config';\n\nexport const playerGamingDeclarationResolver = () => {\n const config = inject(PlayerGamingDeclarationConfig);\n return config.whenReady.pipe(map(() => config.content));\n};\n","import { Routes } from '@angular/router';\n\nimport { PlayerGamingDeclarationComponent } from './player-gaming-declaration.component';\nimport { provide } from './player-gaming-declaration.feature';\nimport { playerGamingDeclarationCanActivateGuard, playerGamingDeclarationCanDeactivateGuard } from './player-gaming-declaration.guard';\nimport { playerGamingDeclarationResolver } from './player-gaming-declaration.resolver';\n\nexport const ROUTES: Routes = [\n {\n path: '',\n component: PlayerGamingDeclarationComponent,\n resolve: {\n initData: playerGamingDeclarationResolver,\n },\n canActivate: [playerGamingDeclarationCanActivateGuard],\n canDeactivate: [playerGamingDeclarationCanDeactivateGuard],\n providers: provide(),\n },\n];\n"],"names":["ACCEPTED_STATUS","NOT_ACCEPTED_STATUS","GAMING_DECLARATION_PATH","IS_POST_LOGIN","xe","PlayerGamingDeclarationConfig","_a","LazyClientConfigBase","__ngFactoryType__","factory","ɵfac","__decorate","LazyClientConfig","key","product","ClientConfigProductName","SF","playerGamingDeclarationConfigFactory","service","get","PlayerGamingDeclarationService","gamingDeclaration","gamingDeclarationEvents","constructor","api","user","cookieService","config","dslService","ReplaySubject","loaded","load","isAuthenticated","subscribe","next","accept","status","post","setCookie","put","CookieName","GdAccepted","removeCookie","remove","isAccepted","setReturnPath","url","GdReturnPath","removeReturnPath","returnPath","isEnabled","__async","firstValueFrom","whenReady","evaluateExpression","isEnabledCondition","ɵɵinject","SharedFeaturesApiService","UserService","CookieService","DslService","_PlayerGamingDeclarationService","PlayerGamingDeclarationBootstrapService","gamingDeclarationService","navigationService","nativeApp","router","onFeatureInit","events","pipe","filter","e","RoutesRecognized","includes","sendToNative","eventName","isFirstLogin","gamingDeclarationFlag","toUpperCase","location","absUrl","goTo","NavigationService","NativeAppService","Router","_PlayerGamingDeclarationBootstrapService","PlayerGamingDeclarationTrackingService","trackingService","trackLoad","isPostLogin","track","trackAccept","action","details","triggerEvent","TrackingService","_PlayerGamingDeclarationTrackingService","provide","useFactory","deps","LazyClientConfigService","runOnFeatureInit","ɵɵelement","Q","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","ɵɵelementEnd","ɵɵproperty","ɵɵpipeBind1","content_r3","text","ɵɵsanitizeHtml","ɵɵadvance","form","htmlAttributes","class","undefined","label","PlayerGamingDeclarationComponent","routeData","clientConfig","activatedRoute","html","content","signal","MessageScope","ngOnInit","snapshot","queryParamMap","evaluateContent","getInitData","first","item","set","setCssClass","ngOnDestroy","reload","ClaimsConfig","then","NativeEventType","GAMING_DECLARATION_ACCEPTED","returnUrl","isBackNavigation","goToLastKnownProduct","forceReload","ɵɵdirectiveInject","RouteDataService","ClientConfigService","ActivatedRoute","HtmlNode","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","PlayerGamingDeclarationComponent_Conditional_3_Template","GamingDeclaration","ɵɵconditional","tmp_1_0","CommonModule","NgClass","TrustAsHtmlPipe","CrossProductLayoutComponent","MessagePanelComponent","encapsulation","changeDetection","_PlayerGamingDeclarationComponent","playerGamingDeclarationCanActivateGuard","inject","playerGamingDeclarationCanDeactivateGuard","playerGamingDeclarationResolver","map","ROUTES","path","component","resolve","initData","canActivate","canDeactivate","providers"],"mappings":"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"}