{"version":3,"file":"virtual-list.module-fnbi7tui.js","sources":["packages/sports/web/app/src/virtual-list/common/virtual-navigation.service.ts","packages/sports/web/app/src/virtual-list/common/virtual-list.component.html","packages/sports/web/app/src/virtual-list/common/virtual-list.component.ts","packages/sports/web/app/src/virtual-list/virtual-list.service.ts","packages/sports/web/app/src/virtual-list/fixture/fixture-header.component.html","packages/sports/web/app/src/virtual-list/fixture/fixture-header.component.ts","packages/sports/web/app/src/virtual-list/fixture/fixture-media-viewer.component.html","packages/sports/web/app/src/virtual-list/fixture/fixture-media-viewer.component.ts","packages/sports/web/app/src/virtual-list/fixture/schedule-subscription.service.ts","packages/sports/libs/event-subscription/feature/full-event-subscription/src/full-event-subscription.service.ts","packages/sports/web/app/src/virtual-list/fixture/virtual-fixture.component.html","packages/sports/web/app/src/virtual-list/fixture/virtual-fixture.component.ts","packages/sports/web/app/src/virtual-list/on-demand/virtual-game.component.ts","packages/sports/web/app/src/virtual-list/on-demand/virtual-game.component.html","packages/sports/web/app/src/virtual-list/on-demand/virtual-on-demand.component.html","packages/sports/web/app/src/virtual-list/on-demand/virtual-on-demand.component.ts","packages/sports/web/app/src/virtual-list/on-demand/virtual-on-demand.resolver.ts","packages/sports/web/app/src/virtual-list/virtual-list-breadcrumbs.resolver.ts","packages/sports/web/app/src/virtual-list/virtual-list-redirect.guard.ts","packages/sports/web/app/src/virtual-list/fixture/virtual-fixture.resolver.ts","packages/sports/web/app/src/virtual-list/virtual-list.guard.ts","packages/sports/web/app/src/virtual-list/virtual-list-routing.module.ts","packages/sports/web/app/src/virtual-list/virtual-list.module.ts"],"sourcesContent":["import { Location } from '@angular/common';\nimport { Injectable, OnDestroy } from '@angular/core';\n\nimport { VirtualSportView } from '@cds/betting-offer/domain-specific/virtual';\nimport { Tag } from '@cds/betting-offer/tags';\nimport { Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport { UrlParam } from '@frontend/sports/navigation/core/feature/url-builder';\nimport { UrlService } from '@frontend/vanilla/core';\n\nimport { VymlService } from '../../banner/vyml.service';\nimport { EpcotConfigService, EpcotModule } from '../../common/epcot-config.service';\nimport { SlotLayoutService } from '../../layout/slot-layout.service';\nimport { UrlHelperService, VirtualUrlParam } from '../../navigation-core/url-helper.service';\nimport { NavigationRouterService } from '../../navigation/navigation-router.service';\nimport { TrackNavArea } from '../../navigation/navigation-tracking.model';\nimport { SportNavigationComponent } from '../../navigation/sport-navigation/sport-navigation.component';\nimport { TabBarItem } from '../../tab-bar/tab-bar.models';\n\n@Injectable()\nexport class VirtualNavigationService implements OnDestroy {\n private nav: TabBarItem[] = [];\n private subNav: TabBarItem[] = [];\n\n private initialized = false;\n\n constructor(\n private navigationRouter: NavigationRouterService,\n private slotService: SlotLayoutService,\n private urlHelper: UrlHelperService,\n private vymlService: VymlService,\n private sitecore: Sitecore,\n private urlService: UrlService,\n private location: Location,\n private epcotConfigService: EpcotConfigService,\n ) {}\n\n set(sports: VirtualSportView[], activeSport?: number, activeCompetition?: number): void {\n if (!this.initialized) {\n this.initialize();\n }\n\n this.nav.splice(0);\n this.nav.push(...this.mapSportList(sports, activeSport));\n\n this.vymlService.get().subscribe((games) => {\n if (!games?.length) {\n return;\n }\n\n this.nav.push({\n id: -1,\n title: this.sitecore.globalMessages.VirtualsOnDemand,\n icon: 'theme-virtuals-on-demand',\n url: this.urlHelper.getVirtualSportUrl(VirtualUrlParam.OnDemand),\n active: activeSport === -1,\n });\n });\n\n this.subNav.splice(0);\n this.subNav.push(...this.mapCompetitionList(sports, activeSport, activeCompetition));\n }\n\n get(): TabBarItem[] {\n return this.nav;\n }\n\n getSub(): TabBarItem[] {\n return this.subNav;\n }\n\n clearUrl(): void {\n const url = this.urlService.current();\n const param = 'tab';\n\n if (url.search.has(param)) {\n url.search.delete(param);\n\n this.location.replaceState(url.path(), url.search.toString());\n }\n }\n\n ngOnDestroy(): void {\n if (!this.epcotConfigService.isEnabled(EpcotModule.Betslip)) {\n this.slotService.remove(SportNavigationComponent);\n }\n this.navigationRouter.resetNavigation();\n }\n\n private initialize(): void {\n this.navigationRouter.setNavigation('virtual');\n if (!this.epcotConfigService.isEnabled(EpcotModule.Betslip)) {\n this.slotService.register(SportNavigationComponent, {\n attributes: { model: this.nav, tracking: TrackNavArea.NavVirtual },\n order: 20,\n });\n }\n\n this.initialized = true;\n }\n\n private mapSportList(view: VirtualSportView[], activeSport?: number): TabBarItem[] {\n return view.map(({ sport }) => ({\n id: sport.id,\n url: this.urlHelper.getVirtualSportUrl(this.getParam(sport)),\n icon: `sports-${sport.id}`,\n title: sport.name.short || sport.name.value,\n active: sport.id === activeSport,\n }));\n }\n\n private mapCompetitionList(view: VirtualSportView[], activeSport?: number, activeCompetition?: number): TabBarItem[] {\n const tag = view.find((current) => current.sport.id === activeSport);\n\n if (!tag) {\n return [];\n }\n\n return tag.competitions.map(({ competition }) => ({\n id: competition.id,\n url: this.urlHelper.getVirtualSportUrl(this.getParam(tag.sport), this.getParam(competition)),\n title: competition.name.value,\n active: competition.id === activeCompetition,\n }));\n }\n\n private getParam(tag: Tag): UrlParam {\n return {\n id: tag.id,\n name: tag.name.value,\n };\n }\n}\n","@if (subNavigation().length > 1 && !hideTabBar) {\n
\n \n \n \n
\n}\n\n","import { Component, DestroyRef, HostBinding, OnInit, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { RouterEventsService } from '@frontend/sports/common/core/utils/router-events';\nimport { DeviceService } from '@frontend/vanilla/core';\n\nimport { EpcotConfigService, EpcotModule } from '../../common/epcot-config.service';\nimport { RedirectHelperService } from '../../navigation-core/redirect-helper.service';\nimport { TabBarItem } from '../../tab-bar/tab-bar.models';\nimport { VirtualView } from '../virtual-list.service';\nimport { VirtualNavigationService } from './virtual-navigation.service';\n\n@Component({\n selector: 'ms-virtual-list',\n templateUrl: './virtual-list.component.html',\n styleUrls: ['./virtual-list.component.scss'],\n providers: [VirtualNavigationService],\n})\nexport class VirtualListComponent implements OnInit {\n @HostBinding('class') className = 'virtual-list';\n\n @HostBinding('class.epcot-enabled')\n get epcotEnabledClass() {\n return this.isEpcotEnabled;\n }\n\n subNavigation = signal([]);\n\n isEpcotEnabled = false;\n hideTabBar = false;\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(\n private routeHelper: RouterEventsService,\n private navigation: VirtualNavigationService,\n private epcotConfigService: EpcotConfigService,\n private deviceService: DeviceService,\n private redirect: RedirectHelperService,\n ) {\n this.isEpcotEnabled = this.epcotConfigService.isEnabled(EpcotModule.Betslip);\n this.hideTabBar = this.deviceService.isMobile && this.isEpcotEnabled;\n }\n\n ngOnInit(): void {\n this.routeHelper.currentActivationEnd.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {\n if (!event) {\n return;\n }\n\n const model: VirtualView = event.snapshot.data.model;\n const sports = model.sports || [];\n const params = model.params || {};\n\n this.navigation.set(sports, params.sport || -1, params.competition);\n\n this.subNavigation.set(this.navigation.getSub());\n });\n }\n\n onSelected(_: Event, selected: TabBarItem) {\n this.subNavigation.update((nav) =>\n nav.map((item) => ({\n ...item,\n active: item.id === selected.id,\n })),\n );\n this.redirect.goToPage(selected.url, selected.ignoreBrowserHistory);\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { ScheduleEntry, VirtualSportView } from '@cds/betting-offer/domain-specific/virtual';\nimport { FixtureFactory } from '@frontend/sports/betting-offer/feature/fixture-factories';\nimport { EventModel, EventProvider, getProvider } from '@frontend/sports/betting-offer/feature/model';\nimport { BettingOfferApi } from '@frontend/sports/betting-offer/feature/offer-service';\nimport { SportsConfig } from '@frontend/sports/common/client-config-data-access';\nimport { DateProviderService } from '@frontend/sports/common/core/utils/date';\nimport { ExpiringCache, ExpiringCacheFactory } from '@frontend/sports/common/core/utils/expiring-cache';\nimport { IntlService } from '@frontend/vanilla/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { VymlGamesModel } from '../banner/banner.model';\nimport { EpcotConfigService } from '../common/epcot-config.service';\nimport { TabBarItem } from '../tab-bar/tab-bar.models';\n\nexport interface EventSchedule extends TabBarItem {\n start: Date;\n open: boolean;\n live: boolean;\n context: string;\n}\n\nexport interface VirtualEvent {\n event: EventModel;\n schedule: EventSchedule[];\n}\n\nexport interface VirtualParams {\n sport?: number;\n competition?: number;\n}\n\nexport interface VirtualView {\n sports: VirtualSportView[];\n params: VirtualParams;\n}\n\nexport interface VirtualEventRequest {\n fixture: string;\n sport: number;\n competition: number;\n}\n\nexport interface VirtualEventView extends VirtualView {\n event?: EventModel;\n schedule?: EventSchedule[];\n}\n\nexport interface VirtualDemandView extends VirtualView {\n games?: VymlGamesModel[];\n}\n\n@Injectable({ providedIn: 'root' })\nexport class VirtualListService {\n private cache: ExpiringCache;\n constructor(\n private fixtureFactory: FixtureFactory,\n private intlService: IntlService,\n private bettingService: BettingOfferApi,\n private config: SportsConfig,\n cacheFactory: ExpiringCacheFactory,\n private epcotConfigService: EpcotConfigService,\n ) {\n this.cache = cacheFactory.create(30);\n }\n\n getEvent({ sport, competition, fixture }: VirtualEventRequest): Observable {\n return this.bettingService.getVirtualFixtureView(sport, competition, fixture).pipe(\n map((response) => {\n if (!response) {\n return;\n }\n\n return {\n event: this.fixtureFactory.create(response.fixture),\n schedule: this.mapSchedule(response.schedule, response.fixture.id),\n };\n }),\n );\n }\n\n getNextEvent(view: VirtualSportView[], activeSport?: number, activeCompetition?: number, activeEvent?: string): VirtualEventRequest | undefined {\n const sportTag = view.find((current) => current.sport.id === activeSport);\n\n if (!sportTag) {\n return;\n }\n\n const competitionTag = sportTag.competitions.find((current) => current.competition.id === activeCompetition);\n\n if (competitionTag?.schedule.length) {\n let fixture = competitionTag.schedule.find((entry) => entry.id === activeEvent && entry.isOpenForBetting);\n\n if (!fixture) {\n fixture = competitionTag.schedule.find((entry) => entry.isOpenForBetting);\n }\n\n if (!fixture) {\n fixture = competitionTag.schedule.find((entry) => new Date(entry.startDate).getTime() >= DateProviderService.now());\n }\n\n if (!fixture) {\n fixture = competitionTag.schedule[competitionTag.schedule.length - 1];\n }\n\n return { sport: sportTag.sport.id, competition: competitionTag.competition.id, fixture: fixture.id };\n }\n\n return undefined;\n }\n\n getNextSchedule(schedule: EventSchedule[]): string | undefined {\n const active = schedule.find((event) => !!event.active);\n\n if (!active) {\n return;\n }\n\n this.setLive(schedule);\n this.setStyle(schedule);\n\n if (active.open) {\n // we want to trigger data reload for the sake of displaying the correct\n // schedule as there is no sepparate endpoint for that\n return active.id;\n }\n\n return schedule\n .filter((event) => event.open)\n .map((event) => event.id)\n .shift();\n }\n\n getSportList(): Observable {\n return this.cache.getOrCreate('sport-list', this.bettingService.getVirtualSportList()).pipe(map((sports) => sports || []));\n }\n\n private mapSchedule(entries: ScheduleEntry[], active: string): EventSchedule[] {\n const schedule = entries.map((entry) => {\n const start = new Date(entry.startDate);\n\n return {\n id: entry.id,\n active: entry.id === active,\n title: this.epcotConfigService.isEnabled()\n ? this.intlService.formatDate(start, 'shortTime')\n : this.intlService.formatDate(start, 'HH:mm'),\n start: this.getDateShifted(getProvider(entry.addons), start),\n open: entry.isOpenForBetting,\n live: false,\n context: entry.context,\n };\n });\n\n this.setLive(schedule);\n this.setStyle(schedule);\n\n return schedule.filter((item) => item.live || item.open);\n }\n\n private setLive(schedule: EventSchedule[]): void {\n const live = schedule.filter((entry) => entry.start.getTime() <= DateProviderService.now()).pop();\n\n schedule.forEach((entry) => (entry.live = entry === live));\n }\n\n private setStyle(schedule: EventSchedule[]): void {\n schedule.forEach((entry) => {\n const classes: string[] = [];\n\n if (entry.start.getTime() <= DateProviderService.now()) {\n classes.push('finished');\n\n if (entry.live) {\n classes.push('live');\n }\n }\n\n entry.classes = classes.join(' ');\n });\n }\n\n getDateShifted(provider: EventProvider | undefined, date: Date): Date {\n if (!provider) {\n return date;\n }\n\n const shifting = this.config.virtuals.timerTimeShifting[provider.type] || 0;\n\n if (!shifting) {\n return date;\n }\n\n return new Date(date.getTime() + shifting * 1000);\n }\n}\n","
{{ event.name }}
\n
\n {{ sitecore.event.BetsClosing }}\n {{ sitecore.event.BetsClosed }}\n \n
\n","import { Component, EventEmitter, HostBinding, Input, OnChanges, Output } from '@angular/core';\n\nimport { EventModel } from '@frontend/sports/betting-offer/feature/model';\nimport { Sitecore, SportsConfig } from '@frontend/sports/common/client-config-data-access';\nimport { DateProviderService } from '@frontend/sports/common/core/utils/date';\nimport { ISimpleChanges, changed } from '@frontend/sports/common/core/utils/simple-change';\nimport { ceil } from 'lodash-es';\n\nimport { VirtualListService } from '../virtual-list.service';\n\n@Component({\n selector: 'ms-fixture-header',\n templateUrl: './fixture-header.component.html',\n})\nexport class FixtureHeaderComponent implements OnChanges {\n @Input() event: EventModel;\n @Output() eventEnd = new EventEmitter();\n @HostBinding('class') className = 'fixture-header';\n @HostBinding('class.fixture-finished') finished: boolean;\n\n timer: boolean;\n timerDate: Date;\n timerHighlight: boolean;\n\n constructor(\n private config: SportsConfig,\n private service: VirtualListService,\n public sitecore: Sitecore,\n ) {}\n\n ngOnChanges(changes: ISimpleChanges): void {\n if (changed(changes.event)) {\n this.timerDate = this.service.getDateShifted(this.event.provider, this.event.startDate);\n\n const diff = ceil((this.timerDate.getTime() - DateProviderService.now()) / 1000);\n\n this.setState(diff);\n }\n }\n\n ended(): void {\n this.eventEnd.emit();\n }\n\n ticked(diff: number): void {\n this.setState(diff);\n }\n\n private setState(diff: number): void {\n this.finished = diff <= 0;\n this.timer = !this.finished && diff <= this.config.virtuals.timerVisibilityBeforeStart;\n this.timerHighlight = !this.finished && diff <= 60;\n }\n}\n","\n \n \n
\n \n {{ sitecore.event.Live }}\n \n \n
\n
\n \n \n \n
\n","import {\n AfterViewInit,\n Component,\n DestroyRef,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n SecurityContext,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\nimport { EventModel, EventProviderType } from '@frontend/sports/betting-offer/feature/model';\nimport { Sitecore, SportsConfig } from '@frontend/sports/common/client-config-data-access';\nimport { FullscreenService } from '@frontend/sports/common/core/feature/browser';\nimport { ISimpleChanges, changed } from '@frontend/sports/common/core/utils/simple-change';\nimport { interpolateSingleBracesString } from '@frontend/sports/common/core/utils/string';\nimport { MappingConfig } from '@frontend/sports/types/components/sports';\nimport { UserOddsFormatSettingsService } from '@frontend/sports/user/feature';\nimport { DeviceService, MediaQueryService, Page, WINDOW } from '@frontend/vanilla/core';\nimport { delay, skip } from 'rxjs/operators';\n\nimport { HLS_MANIFEST_PARSED, Hls, HlsService } from '../../deferred/hls.service';\n\n@Component({\n selector: 'ms-fixture-media-viewer',\n templateUrl: './fixture-media-viewer.component.html',\n})\nexport class FixtureMediaViewerComponent implements OnChanges, AfterViewInit, OnDestroy {\n @Input() event: EventModel;\n @ViewChild('video') videoRef: ElementRef;\n @HostBinding('class') className = 'fixture-media-viewer';\n @HostBinding('class.fixture-media-viewer-responsive') responsive = false;\n @HostBinding('class.fixture-media-viewer-fullscreen') get fullscreen(): boolean {\n return this.fullscreenService.active() === this.element.nativeElement;\n }\n\n url: SafeResourceUrl;\n videoIntegrated = false;\n\n get video(): HTMLVideoElement {\n return this.videoRef.nativeElement;\n }\n\n private videoStream?: Hls;\n private soundToggled = false;\n private readonly userOddsFormatSettingsService = inject(UserOddsFormatSettingsService);\n private readonly destroyRef = inject(DestroyRef);\n\n readonly #window = inject(WINDOW);\n\n constructor(\n private element: ElementRef,\n private fullscreenService: FullscreenService,\n private sportConfig: SportsConfig,\n private sanitizer: DomSanitizer,\n private page: Page,\n private hlsService: HlsService,\n private media: MediaQueryService,\n public sitecore: Sitecore,\n private deviceService: DeviceService,\n ) {\n this.media\n .observe()\n .pipe(skip(1), takeUntilDestroyed())\n .subscribe(() => this.updateViewer());\n }\n\n ngOnChanges(changes: ISimpleChanges): void {\n if (changed(changes.event)) {\n this.updateViewer();\n }\n }\n\n ngOnDestroy(): void {\n this.videoStream?.destroy();\n }\n\n ngAfterViewInit(): void {\n this.updateVideo(this.getCurrentUrl());\n this.registerPauseListener();\n }\n\n toggleFullscreen(): void {\n if (!this.videoIntegrated) {\n return;\n }\n\n if (this.fullscreen) {\n this.fullscreenService.exit();\n } else {\n const fullscreenElement = this.deviceService.isMobile && !this.deviceService.isiOS ? this.element.nativeElement : this.video;\n this.fullscreenService.enter(fullscreenElement);\n }\n }\n\n toggleSound(): void {\n if (!this.videoIntegrated) {\n return;\n }\n\n this.video.muted = !this.video.muted;\n this.soundToggled = true;\n }\n\n private getCurrentUrl(): string {\n return this.sanitizer.sanitize(SecurityContext.RESOURCE_URL, this.url) || '';\n }\n\n private getInspiredUrl(): string {\n const inspiredViewerUrlBySport = this.sportConfig.virtuals.inspiredViewerUrlBySport[this.event.sport.id];\n if (!inspiredViewerUrlBySport) {\n return '';\n }\n return this.getInterpolatedUrl(inspiredViewerUrlBySport, this.sportConfig.virtuals.inspiredViewerMappings);\n }\n\n private getPlaytechUrl(): string {\n let url = this.getInterpolatedUrl(this.sportConfig.virtuals.playTechViewerUrl, this.sportConfig.virtuals.playTechViewerMappings);\n\n if (this.responsive) {\n url += '&type=mobile';\n }\n\n return url;\n }\n\n private getInterpolatedUrl(url: string, config: MappingConfig): string {\n const oddsFormat = this.userOddsFormatSettingsService.oddsFormat;\n\n return interpolateSingleBracesString(url, {\n sport: config.sports?.[this.event.sport.id] ?? '',\n region: config.regions?.[this.event.region.id] ?? '',\n competition: config.competitions?.[this.event.league.id] ?? '',\n oddsFormat: config.oddsFormat?.[oddsFormat.toLowerCase()] ?? '',\n language: this.page.lang,\n });\n }\n\n private updateViewer(): void {\n const currentResponsive = this.responsive;\n\n this.videoIntegrated = this.event.provider?.type === EventProviderType.Inspired;\n this.responsive = this.media.isActive('lt-md');\n\n if (this.responsive !== currentResponsive && this.fullscreen) {\n this.toggleFullscreen();\n }\n\n const url = this.videoIntegrated ? this.getInspiredUrl() : this.getPlaytechUrl();\n\n if (url !== this.getCurrentUrl()) {\n this.url = this.sanitizer.bypassSecurityTrustResourceUrl(url);\n\n this.updateVideo(url);\n }\n }\n\n private updateVideo(url: string): void {\n this.videoStream?.destroy();\n\n if (!this.videoIntegrated) {\n return;\n }\n\n this.hlsService\n .get()\n .pipe(delay(0), takeUntilDestroyed(this.destroyRef))\n .subscribe((hls) => {\n this.videoStream = hls;\n this.playVideo(url);\n });\n }\n\n private playVideo(url: string): void {\n if (this.videoStream) {\n this.videoStream.loadSource(url);\n this.videoStream.attachMedia(this.video);\n this.videoStream.on(HLS_MANIFEST_PARSED, () => {\n if (!this.soundToggled) {\n this.video.muted = true;\n }\n\n const availableAudio = this.videoStream?.audioTracks;\n\n if (availableAudio?.length) {\n const targetAudio = availableAudio.find((audio) => audio.lang === this.expectedAudioTrackLang);\n\n if (targetAudio) {\n this.videoStream!.audioTrack = targetAudio.id;\n }\n }\n\n this.video.play();\n });\n } else {\n this.playNativeVideo();\n }\n }\n\n private playNativeVideo(): void {\n /**\n * Bracket notation is used because for some reason HTMLMediaElement doesn't have audioTracks property even though it is a part of the spec\n */\n const audioTracks: AudioTrackList = this.video['audioTracks' as keyof HTMLVideoElement] as any as AudioTrackList;\n\n this.#window.setTimeout(() => {\n const availableAudio = Array.from(audioTracks ?? []);\n if (availableAudio.length > 0) {\n const targetAudio = availableAudio.find((audio) => audio.language === this.expectedAudioTrackLang);\n if (targetAudio) {\n availableAudio.forEach((audio) => (audio.enabled = false));\n targetAudio.enabled = true;\n }\n }\n\n this.video.play();\n }, 1000);\n }\n\n private get expectedAudioTrackLang(): string {\n return this.sportConfig.virtuals.inspiredViewerAudioMappings[this.page.lang] ?? this.page.lang;\n }\n\n private registerPauseListener(): void {\n if (!this.videoIntegrated) {\n return;\n }\n\n this.video.removeEventListener('pause', this.resumePlaybackAfterPause);\n this.video.addEventListener('pause', this.resumePlaybackAfterPause);\n }\n\n private resumePlaybackAfterPause: () => void = () => {\n this.#window.setTimeout(() => {\n this.video.play();\n });\n };\n}\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { DateProviderService } from '@frontend/sports/common/core/utils/date';\nimport { TickerInterval, TickerService } from '@frontend/sports/common/core/utils/timer';\nimport { differenceBy } from 'lodash-es';\nimport { Subscription } from 'rxjs';\n\nimport { EventSchedule } from '../virtual-list.service';\n\n@Injectable()\nexport class ScheduleSubscriptionService implements OnDestroy {\n private schedule: EventSchedule[] = [];\n private past: EventSchedule[] = [];\n private subscription?: Subscription;\n\n constructor(private ticker: TickerService) {}\n\n subscribe(schedule: EventSchedule[] | undefined, callback: Function): void {\n this.subscription?.unsubscribe();\n\n if (!schedule?.length) {\n this.past = [];\n this.schedule = [];\n\n return;\n }\n\n this.schedule = schedule;\n this.past = this.getPast();\n\n this.subscription = this.ticker.subscribe(() => {\n const past = this.getPast();\n\n if (this.hasPast(past)) {\n this.past = past;\n this.past.forEach((entry) => (entry.open = false));\n\n callback();\n }\n }, TickerInterval.Second);\n }\n\n ngOnDestroy(): void {\n this.subscription?.unsubscribe();\n }\n\n private getPast(): EventSchedule[] {\n return this.schedule.filter((item) => item.start.getTime() < DateProviderService.now());\n }\n\n private hasPast(updatedPast: EventSchedule[]): boolean {\n const added = differenceBy(updatedPast, this.past, (entry) => entry.id);\n const removed = differenceBy(this.past, updatedPast, (entry) => entry.id);\n\n return [...added, ...removed].length > 0;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { EventModel } from '@frontend/sports/betting-offer/feature/model';\nimport { CdsSubscription, FixtureAllSubscription } from '@frontend/sports/content-distribution/feature';\nimport { MessageCallback } from '@frontend/sports/event-subscription/feature/base-subscription';\nimport { EventSubscriptionService } from '@frontend/sports/event-subscription/feature/event-subscription';\n\n/**\n * This service should be used for subscribing full event for push. It automatically\n * subscribes to scoreboard slim and all markets including V1 and V2 games and option markets\n *\n * @export\n * @class FullEventSubscriptionService\n * @extends {EventSubscriptionService}\n */\n@Injectable({ providedIn: 'root' })\nexport class FullEventSubscriptionService extends EventSubscriptionService {\n protected override getContextSubscriptions(event: EventModel, callback: MessageCallback): CdsSubscription[] {\n return [new FixtureAllSubscription(event.offerContext, event.id, this.connection.culture, callback)];\n }\n}\n","@if (event) {\n \n
\n
\n @if (schedule?.length) {\n \n @for (tab of schedule; track tab.id; let index = $index) {\n \n \n @if (tab.live) {\n \n }\n {{ tab.title }}\n \n \n }\n \n \n }\n
\n \n \n
\n} @else {\n \n}\n","import { ChangeDetectorRef, Component, HostBinding, OnDestroy, Signal, computed } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { EventModel } from '@frontend/sports/betting-offer/feature/model';\nimport { Sitecore, SportsConfig } from '@frontend/sports/common/client-config-data-access';\nimport { HooksWireup, OnRouteResolve } from '@frontend/sports/common/core/utils/hooks';\nimport { TimerService } from '@frontend/sports/common/core/utils/timer';\nimport { ThemeInverse } from '@frontend/sports/common/ui/shared';\nimport { EventSubscription } from '@frontend/sports/event-subscription/feature/base-subscription';\nimport { FullEventSubscriptionService } from '@frontend/sports/event-subscription/feature/full-event-subscription';\nimport { MediaQueryService } from '@frontend/vanilla/core';\nimport { Observable, distinctUntilChanged, map } from 'rxjs';\n\nimport { EpcotConfigService } from '../../common/epcot-config.service';\nimport { VirtualNavigationService } from '../common/virtual-navigation.service';\nimport { EventSchedule, VirtualEventView, VirtualListService, VirtualParams } from '../virtual-list.service';\nimport { ScheduleSubscriptionService } from './schedule-subscription.service';\n\n@HooksWireup()\n@Component({\n selector: 'ms-virtual-fixture',\n templateUrl: './virtual-fixture.component.html',\n styleUrls: ['./virtual-fixture.component.scss'],\n providers: [ScheduleSubscriptionService],\n})\nexport class VirtualFixtureComponent extends OnRouteResolve implements OnDestroy {\n @HostBinding('class') className = 'virtual-fixture';\n @HostBinding('class.epcot-enabled')\n get epcotEnabledClass() {\n return this.isEpcotEnabled;\n }\n\n mediaQuery$: Observable;\n themeInverseIndicator: Signal;\n schedule?: EventSchedule[];\n event?: EventModel;\n isEpcotEnabled = false;\n selectedScheduleTabId: string | undefined;\n private params: VirtualParams;\n private subscription?: EventSubscription;\n constructor(\n route: ActivatedRoute,\n private virtualService: VirtualListService,\n private virtualNavigation: VirtualNavigationService,\n private config: SportsConfig,\n private timer: TimerService,\n private push: FullEventSubscriptionService,\n private schedulePush: ScheduleSubscriptionService,\n public sitecore: Sitecore,\n private cdr: ChangeDetectorRef,\n private epcotConfigService: EpcotConfigService,\n private mediaQueryService: MediaQueryService,\n ) {\n super(route);\n this.mediaQuery$ = this.mediaQueryService.observe().pipe(\n map(() => this.mediaQueryService.isActive('lt-md')),\n distinctUntilChanged(),\n );\n const mediaQuery = toSignal(this.mediaQuery$, { requireSync: true });\n this.themeInverseIndicator = computed(() =>\n mediaQuery()\n ? {\n 'mgm-4': { isInverse: true },\n }\n : {},\n );\n }\n\n ngOnDestroy(): void {\n this.unsubscribe();\n }\n\n get activeTabIndex(): string {\n return this.schedule?.findIndex((tab) => tab.active).toString() ?? '0';\n }\n\n onRouteResolved(model?: VirtualEventView): void {\n this.isEpcotEnabled = this.epcotConfigService.isEnabled();\n const { event, schedule, params }: VirtualEventView = model || { sports: [], params: {} };\n\n this.params = params;\n this.setEvent(event, schedule);\n this.virtualNavigation.clearUrl();\n }\n\n eventSelected(activeTabIndex: string): void {\n if (activeTabIndex) {\n this.schedule = this.schedule?.map((item, index) => ({\n ...item,\n active: index.toString() === activeTabIndex,\n }));\n\n let selectedScheduleTabId = this.schedule?.find((tab) => tab.active)?.id;\n this.switchEvent(selectedScheduleTabId!);\n }\n }\n\n private setEvent(event?: EventModel, schedule?: EventSchedule[]): void {\n this.event = event;\n this.schedule = schedule;\n this.cdr.detectChanges();\n\n this.subscribe();\n\n this.schedulePush.subscribe(schedule, () => {\n if (!schedule) {\n return;\n }\n\n const next = this.virtualService.getNextSchedule(schedule);\n\n if (next) {\n if (this.event && this.event.id !== next) {\n this.event.optionGroups = [];\n }\n this.timer.setTimeout(() => this.switchEvent(next), this.config.virtuals.eventSwitchDelay * 1000);\n }\n });\n }\n\n private switchEvent(id: string): void {\n const { sport, competition } = this.params;\n\n if (!sport || !competition) {\n return;\n }\n\n this.virtualService.getSportList().subscribe((sports) => {\n this.virtualNavigation.set(sports, sport, competition);\n\n if (!sports.length) {\n return this.setEvent();\n }\n\n this.virtualService.getEvent({ sport, competition, fixture: id }).subscribe((fixture) => {\n if (fixture) {\n return this.setEvent(fixture.event, fixture.schedule);\n }\n\n return this.setEvent();\n });\n });\n }\n\n private subscribe(): void {\n this.unsubscribe();\n\n if (this.event) {\n this.subscription = this.push.subscribe([{ event: this.event }]);\n }\n }\n\n private unsubscribe(): void {\n this.subscription?.unsubscribe();\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, HostListener, Input } from '@angular/core';\n\nimport { VymlGamesModel } from '../../banner/banner.model';\nimport { CrossSaleTracking } from '../../banner/cross-sale-tracking.model';\nimport { VymlService } from '../../banner/vyml.service';\n\n@Component({\n selector: 'ms-virtual-game',\n templateUrl: './virtual-game.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class VirtualGameComponent {\n @Input() game: VymlGamesModel;\n @Input() position: number;\n @HostBinding('class') className = 'virtual-game';\n\n constructor(private gameService: VymlService) {}\n\n @HostListener('click')\n clicked(): void {\n this.gameService.open(this.game, CrossSaleTracking.GameSectionOnDemand);\n }\n}\n","
\n \n
\n
{{ game.title }}
\n","\n \n\n\n\n","import { Component, HostBinding } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport { HooksWireup, OnRouteResolve } from '@frontend/sports/common/core/utils/hooks';\n\nimport { VymlGamesModel } from '../../banner/banner.model';\nimport { VirtualDemandView } from '../virtual-list.service';\n\n@HooksWireup()\n@Component({\n selector: 'ms-virtual-on-demand',\n templateUrl: './virtual-on-demand.component.html',\n})\nexport class VirtualOnDemandComponent extends OnRouteResolve {\n @HostBinding('class') className = 'virtual-on-demand';\n @HostBinding('class.virtual-on-demand-grid') get gridClass(): boolean {\n return this.games && this.games.length > 0;\n }\n\n games: VymlGamesModel[];\n\n constructor(\n route: ActivatedRoute,\n public sitecore: Sitecore,\n ) {\n super(route);\n }\n\n onRouteResolved(model: VirtualDemandView): void {\n this.games = model.games || [];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\nimport { firstValueFrom } from 'rxjs';\n\nimport { VymlService } from '../../banner/vyml.service';\nimport { StylesLazyLoadingService } from '../../deferred/styles/style-loading.service';\nimport { VirtualDemandView, VirtualListService } from '../virtual-list.service';\n\n@Injectable()\nexport class VirtualOnDemandResolver {\n constructor(\n private service: VirtualListService,\n private gameService: VymlService,\n private stylesLazyLoadingService: StylesLazyLoadingService,\n ) {}\n\n async resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\n const [sports, games] = await Promise.all([\n firstValueFrom(this.service.getSportList()),\n firstValueFrom(this.gameService.get()),\n this.stylesLazyLoadingService.lazyLoad('virtual-list'),\n ]);\n\n return {\n sports,\n games,\n params: {},\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Sitecore } from '@frontend/sports/common/client-config-data-access';\n\nimport { BreadcrumbModel } from '../breadcrumbs/breadcrumb.models';\nimport { BreadcrumbsResolve } from '../breadcrumbs/breadcrumbs.resolver';\nimport { UrlHelperService } from '../navigation-core/url-helper.service';\nimport { VirtualView } from './virtual-list.service';\n\n@Injectable()\nexport class VirtualListBreadcrumbsResolver extends BreadcrumbsResolve {\n constructor(\n private urlHelper: UrlHelperService,\n private sitecore: Sitecore,\n ) {\n super();\n }\n\n protected customResolve(viewModel: VirtualView): BreadcrumbModel[] {\n return [\n this.createCrumb({\n icon: 'theme-virtualsport',\n title: this.sitecore.globalMessages.Virtuals,\n url: this.urlHelper.getVirtualSportUrl(),\n }),\n ];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\n\nimport { Tag } from '@cds/betting-offer/tags';\nimport { UrlParam } from '@frontend/sports/navigation/core/feature/url-builder';\nimport { isEmpty } from 'lodash-es';\nimport { Observable, forkJoin } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { VymlService } from '../banner/vyml.service';\nimport { UrlHelperService, VirtualUrlParam } from '../navigation-core/url-helper.service';\nimport { VirtualListService } from './virtual-list.service';\n\n@Injectable()\nexport class VirtualListRedirectGuard {\n constructor(\n private service: VirtualListService,\n private router: Router,\n private urlHelper: UrlHelperService,\n private vymlService: VymlService,\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n return forkJoin([this.service.getSportList(), this.vymlService.get()]).pipe(\n map(([sports, games]) => {\n const sport = this.getTarget(sports, (current) => current.sport.id, route.params.sport);\n\n if (sport) {\n const competition = this.getTarget(sport.competitions, (current) => current.competition.id, route.params.league);\n\n if (competition) {\n const url = this.urlHelper.getVirtualSportUrl(this.getParam(sport.sport), this.getParam(competition.competition));\n\n return this.router.parseUrl(url);\n }\n } else if (!route.params.sport && !isEmpty(games)) {\n const url = this.urlHelper.getVirtualSportUrl(VirtualUrlParam.OnDemand);\n\n return this.router.parseUrl(url);\n }\n\n return true;\n }),\n );\n }\n\n private getTarget(source: T[], identifier: (current: T) => number, param: any): T | undefined {\n const id = parseInt(param);\n let item: T | undefined;\n\n if (isNaN(id)) {\n item = source[0];\n } else {\n item = source.find((current) => identifier(current) === id);\n }\n\n return item;\n }\n\n private getParam(tag: Tag): UrlParam {\n return {\n id: tag.id,\n name: tag.name.value,\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\nimport { firstValueFrom, of } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\n\nimport { StylesLazyLoadingService } from '../../deferred/styles/style-loading.service';\nimport { VirtualEventView, VirtualListService } from '../virtual-list.service';\n\n@Injectable({ providedIn: 'root' })\nexport class VirtualFixtureResolver {\n constructor(\n private service: VirtualListService,\n private stylesLazyLoadingService: StylesLazyLoadingService,\n ) {}\n\n async resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\n const sportId = this.parseInt(route.params.sport);\n const competitionId = this.parseInt(route.params.league);\n const eventId = route.queryParams.tab;\n const virtualListService$ = this.service.getSportList().pipe(\n switchMap((sports) => {\n const base = { sports, params: { sport: sportId, competition: competitionId } };\n const next = this.service.getNextEvent(sports, sportId, competitionId, eventId);\n\n if (next) {\n return this.service.getEvent(next).pipe(map((result) => ({ ...result, ...base })));\n }\n\n return of(base);\n }),\n );\n\n const [model] = await Promise.all([firstValueFrom(virtualListService$), this.stylesLazyLoadingService.lazyLoad('virtual-list')]);\n\n return model;\n }\n\n preResolve() {\n this.service.getSportList().subscribe();\n }\n\n private parseInt(value: any): number | undefined {\n const parsed = parseInt(value);\n\n return isNaN(parsed) ? undefined : parsed;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\n\nimport { SportsConfig } from '@frontend/sports/common/client-config-data-access';\n\nimport { UrlHelperService } from '../navigation-core/url-helper.service';\n\n@Injectable()\nexport class VirtualListGuard {\n constructor(\n private config: SportsConfig,\n private router: Router,\n private url: UrlHelperService,\n ) {}\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean | UrlTree {\n if (this.config.virtuals.isEnabled) {\n return true;\n }\n\n return this.router.parseUrl(this.url.getHomeUrl());\n }\n}\n","import { NgModule, inject } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { RouteTag } from '@frontend/sports/common/core/data-access/route';\n\nimport { SportRoute } from '../router/multi-route.model';\nimport { nameIdentifierMatcher } from '../router/name-identifier.matcher';\nimport { paramsOrQueryParamsChange } from '../router/router.exports';\nimport { use } from '../router/router.resolver';\nimport { VirtualListComponent } from './common/virtual-list.component';\nimport { VirtualFixtureComponent } from './fixture/virtual-fixture.component';\nimport { VirtualFixtureResolver } from './fixture/virtual-fixture.resolver';\nimport { VirtualOnDemandComponent } from './on-demand/virtual-on-demand.component';\nimport { VirtualOnDemandResolver } from './on-demand/virtual-on-demand.resolver';\nimport { VirtualListBreadcrumbsResolver } from './virtual-list-breadcrumbs.resolver';\nimport { VirtualListRedirectGuard } from './virtual-list-redirect.guard';\nimport { VirtualListGuard } from './virtual-list.guard';\n\nconst routes: SportRoute[] = [\n {\n path: '',\n data: {\n breadcrumbs: VirtualListBreadcrumbsResolver,\n tag: RouteTag.VirtualFixture,\n },\n canActivateChild: [VirtualListGuard],\n component: VirtualListComponent,\n children: [\n {\n path: '',\n component: VirtualFixtureComponent,\n resolve: use(VirtualFixtureResolver),\n canActivate: [VirtualListRedirectGuard],\n data: {\n preResolve: () => {\n inject(VirtualFixtureResolver).preResolve();\n },\n },\n },\n {\n path: '{onDemand}',\n component: VirtualOnDemandComponent,\n resolve: use(VirtualOnDemandResolver),\n },\n {\n matcher: nameIdentifierMatcher,\n data: {\n matcherParam: 'sport',\n },\n children: [\n {\n path: '',\n component: VirtualFixtureComponent,\n resolve: use(VirtualFixtureResolver),\n canActivate: [VirtualListRedirectGuard],\n },\n {\n matcher: nameIdentifierMatcher,\n runGuardsAndResolvers: paramsOrQueryParamsChange,\n data: {\n matcherParam: 'league',\n tag: RouteTag.VirtualFixture,\n },\n component: VirtualFixtureComponent,\n resolve: use(VirtualFixtureResolver),\n },\n ],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class VirtualListRoutingModule {}\n","import { CommonModule, NgOptimizedImage } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ScrollAdapterComponent } from '@frontend/sports/common/core/feature/scroll-adapter';\nimport { LinkDirective } from '@frontend/sports/common/ui/sports-themed-pills';\nimport { SportsThemedTabsDirective } from '@frontend/sports/common/ui/sports-themed-tab-group';\nimport { DsDivider } from '@frontend/ui/divider';\nimport { DsNotificationBubble } from '@frontend/ui/notification-bubble';\nimport { DsPill } from '@frontend/ui/pill';\nimport { DsTabsModule } from '@frontend/ui/tabsgroup';\nimport { SpeculativeLinkDirective } from '@frontend/vanilla/features/speculative-link';\n\nimport { ErrorComponent } from '../common/error/error.component';\nimport { NavigationCoreModule } from '../navigation-core/navigation-core.module';\nimport { NavigationModule } from '../navigation/navigation.module';\nimport { OptionGroupListComponent } from '../option-group/option-group-list.component';\nimport { TabBarModule } from '../tab-bar/tab-bar.module';\nimport { TimerModule } from '../timers/timer.module';\nimport { VirtualListComponent } from './common/virtual-list.component';\nimport { VirtualNavigationService } from './common/virtual-navigation.service';\nimport { FixtureHeaderComponent } from './fixture/fixture-header.component';\nimport { FixtureMediaViewerComponent } from './fixture/fixture-media-viewer.component';\nimport { ScheduleSubscriptionService } from './fixture/schedule-subscription.service';\nimport { VirtualFixtureComponent } from './fixture/virtual-fixture.component';\nimport { VirtualGameComponent } from './on-demand/virtual-game.component';\nimport { VirtualOnDemandComponent } from './on-demand/virtual-on-demand.component';\nimport { VirtualOnDemandResolver } from './on-demand/virtual-on-demand.resolver';\nimport { VirtualListBreadcrumbsResolver } from './virtual-list-breadcrumbs.resolver';\nimport { VirtualListRedirectGuard } from './virtual-list-redirect.guard';\nimport { VirtualListRoutingModule } from './virtual-list-routing.module';\nimport { VirtualListGuard } from './virtual-list.guard';\n\n@NgModule({\n imports: [\n CommonModule,\n NavigationCoreModule,\n NavigationModule,\n NgOptimizedImage,\n TabBarModule,\n TimerModule,\n VirtualListRoutingModule,\n ErrorComponent,\n DsPill,\n ScrollAdapterComponent,\n LinkDirective,\n OptionGroupListComponent,\n SpeculativeLinkDirective,\n DsTabsModule,\n DsNotificationBubble,\n DsDivider,\n SportsThemedTabsDirective,\n ],\n declarations: [\n FixtureHeaderComponent,\n FixtureMediaViewerComponent,\n VirtualFixtureComponent,\n VirtualGameComponent,\n VirtualListComponent,\n VirtualOnDemandComponent,\n ],\n exports: [VirtualFixtureComponent, VirtualOnDemandComponent, VirtualListComponent],\n providers: [\n ScheduleSubscriptionService,\n VirtualListBreadcrumbsResolver,\n VirtualListGuard,\n VirtualListRedirectGuard,\n VirtualNavigationService,\n VirtualOnDemandResolver,\n ],\n})\nexport class VirtualListModule {}\n"],"names":["VirtualNavigationService","constructor","navigationRouter","slotService","urlHelper","vymlService","sitecore","urlService","location","epcotConfigService","nav","subNav","initialized","set","sports","activeSport","activeCompetition","initialize","splice","push","mapSportList","get","subscribe","games","length","id","title","globalMessages","VirtualsOnDemand","icon","url","getVirtualSportUrl","VirtualUrlParam","OnDemand","active","mapCompetitionList","getSub","clearUrl","current","param","search","has","delete","replaceState","path","toString","ngOnDestroy","isEnabled","EpcotModule","Betslip","remove","SportNavigationComponent","resetNavigation","setNavigation","register","attributes","model","tracking","TrackNavArea","NavVirtual","order","view","map","sport","getParam","name","short","value","tag","find","competitions","competition","ɵɵinject","NavigationRouterService","SlotLayoutService","UrlHelperService","VymlService","Sitecore","UrlService","Location","EpcotConfigService","factory","ɵfac","_VirtualNavigationService","ɵɵelement","f","ɵɵproperty","item_r2","P","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","_r1","$implicit","ctx_r2","ɵɵnextContext","ɵɵresetView","onSelected","ɵɵtemplate","VirtualListComponent_Conditional_0_For_4_Conditional_2_Template","ɵɵtext","ɵɵelementEnd","isEpcotEnabled","ɵɵadvance","ɵɵconditional","ɵɵtextInterpolate1","ɵɵrepeaterCreate","VirtualListComponent_Conditional_0_For_4_Template","_forTrack0","subNavigation","ɵɵclassProp","ɵɵrepeater","VirtualListComponent","epcotEnabledClass","routeHelper","navigation","deviceService","redirect","className","signal","hideTabBar","destroyRef","inject","DestroyRef","isMobile","ngOnInit","currentActivationEnd","pipe","takeUntilDestroyed","event","snapshot","data","params","_","selected","update","item","__spreadProps","__spreadValues","goToPage","ignoreBrowserHistory","ɵɵdirectiveInject","RouterEventsService","DeviceService","RedirectHelperService","selectors","hostVars","hostBindings","rf","ctx","ɵɵclassMap","Ie","decls","vars","consts","template","VirtualListComponent_Conditional_0_Template","Ee","Tt","Lt","ri","ei","ti","_VirtualListComponent","VirtualListService","fixtureFactory","intlService","bettingService","config","cacheFactory","cache","create","getEvent","fixture","getVirtualFixtureView","response","schedule","mapSchedule","getNextEvent","activeEvent","sportTag","competitionTag","entry","isOpenForBetting","Date","startDate","getTime","DateProviderService","now","getNextSchedule","setLive","setStyle","open","filter","shift","getSportList","getOrCreate","getVirtualSportList","entries","start","formatDate","getDateShifted","getProvider","addons","live","context","pop","forEach","classes","join","provider","date","shifting","virtuals","timerTimeShifting","type","FixtureFactory","IntlService","BettingOfferApi","SportsConfig","ExpiringCacheFactory","providedIn","_VirtualListService","ɵɵelementContainerStart","ɵɵtextInterpolate","ctx_r1","BetsClosing","BetsClosed","FixtureHeaderComponent","service","eventEnd","EventEmitter","ngOnChanges","changes","changed","timerDate","diff","ceil","setState","ended","emit","ticked","finished","timer","timerVisibilityBeforeStart","timerHighlight","FixtureHeaderComponent_ng_container_3_Template","FixtureHeaderComponent_ng_template_4_Template","ɵɵtemplateRefExtractor","i0","closed_r3","_FixtureHeaderComponent","_r3","toggleFullscreen","fullscreen","toggleSound","FixtureMediaViewerComponent_ng_container_0_ng_container_1_span_7_Template","ɵɵsanitizeUrl","video_r4","muted","Live","responsive","ɵɵsanitizeResourceUrl","FixtureMediaViewerComponent_ng_container_0_ng_container_1_Template","FixtureMediaViewerComponent_ng_container_0_ng_template_2_Template","videoIntegrated","player_r5","FixtureMediaViewerComponent","_window","element","fullscreenService","sportConfig","sanitizer","page","hlsService","media","__privateAdd","soundToggled","userOddsFormatSettingsService","UserOddsFormatSettingsService","__privateSet","WINDOW","resumePlaybackAfterPause","__privateGet","setTimeout","video","play","observe","skip","updateViewer","nativeElement","videoRef","_a","videoStream","destroy","ngAfterViewInit","updateVideo","getCurrentUrl","registerPauseListener","exit","fullscreenElement","isiOS","enter","sanitize","SecurityContext","RESOURCE_URL","getInspiredUrl","inspiredViewerUrlBySport","getInterpolatedUrl","inspiredViewerMappings","getPlaytechUrl","playTechViewerUrl","playTechViewerMappings","_b","_c","_d","oddsFormat","interpolateSingleBracesString","region","regions","league","toLowerCase","language","lang","currentResponsive","EventProviderType","Inspired","isActive","bypassSecurityTrustResourceUrl","delay","hls","playVideo","loadSource","attachMedia","on","HLS_MANIFEST_PARSED","availableAudio","audioTracks","targetAudio","audio","expectedAudioTrackLang","audioTrack","playNativeVideo","Array","from","enabled","inspiredViewerAudioMappings","removeEventListener","addEventListener","ElementRef","FullscreenService","DomSanitizer","Page","HlsService","MediaQueryService","viewQuery","ft","vt","ht","Se","FixtureMediaViewerComponent_ng_container_0_Template","ee","_FixtureMediaViewerComponent","ScheduleSubscriptionService","ticker","past","callback","subscription","unsubscribe","getPast","hasPast","TickerInterval","Second","updatedPast","added","differenceBy","removed","TickerService","_ScheduleSubscriptionService","et","FullEventSubscriptionService","EventSubscriptionService","getContextSubscriptions","FixtureAllSubscription","offerContext","connection","culture","__ngFactoryType__","_FullEventSubscriptionService","VirtualFixtureComponent_Conditional_0_Conditional_3_For_2_ng_container_1_Conditional_1_Template","tab_r3","VirtualFixtureComponent_Conditional_0_Conditional_3_For_2_ng_container_1_Template","ɵ$index_11_r4","eventSelected","VirtualFixtureComponent_Conditional_0_Conditional_3_For_2_Template","themeInverseIndicator","activeTabIndex","VirtualFixtureComponent_Conditional_0_Conditional_3_Template","optionGroups","ErrNoEvents","VirtualFixtureComponent","OnRouteResolve","route","virtualService","virtualNavigation","schedulePush","cdr","mediaQueryService","mediaQuery$","distinctUntilChanged","mediaQuery","toSignal","requireSync","computed","isInverse","findIndex","tab","onRouteResolved","setEvent","index","selectedScheduleTabId","switchEvent","detectChanges","next","eventSwitchDelay","ActivatedRoute","TimerService","ChangeDetectorRef","I","ɵɵInheritDefinitionFeature","VirtualFixtureComponent_Conditional_0_Template","VirtualFixtureComponent_Conditional_1_Template","ie","ke","At","Gt","zt","Zt","jt","$t","__decorate","HooksWireup","__metadata","VirtualGameComponent","gameService","clicked","game","CrossSaleTracking","GameSectionOnDemand","imageSrc","position","xt","_VirtualGameComponent","game_r1","i_r2","VirtualOnDemandComponent_ng_container_0_ms_virtual_game_1_Template","VirtualOnDemandComponent","gridClass","VirtualOnDemandComponent_ng_container_0_Template","VirtualOnDemandComponent_ng_template_1_Template","error_r4","Ct","VirtualOnDemandResolver","stylesLazyLoadingService","resolve","state","__async","Promise","all","firstValueFrom","lazyLoad","StylesLazyLoadingService","_VirtualOnDemandResolver","VirtualListBreadcrumbsResolver","BreadcrumbsResolve","customResolve","viewModel","createCrumb","Virtuals","_VirtualListBreadcrumbsResolver","VirtualListRedirectGuard","router","canActivate","forkJoin","getTarget","parseUrl","isEmpty","source","identifier","parseInt","isNaN","Router","_VirtualListRedirectGuard","VirtualFixtureResolver","sportId","competitionId","eventId","queryParams","virtualListService$","switchMap","base","result","of","preResolve","parsed","undefined","_VirtualFixtureResolver","VirtualListGuard","canActivateChild","getHomeUrl","_VirtualListGuard","routes","breadcrumbs","RouteTag","VirtualFixture","component","children","use","matcher","nameIdentifierMatcher","matcherParam","runGuardsAndResolvers","paramsOrQueryParamsChange","VirtualListRoutingModule","ge","RouterModule","forChild","_VirtualListRoutingModule","VirtualListModule","he","imports","CommonModule","NavigationCoreModule","NavigationModule","TabBarModule","TimerModule","ErrorComponent","OptionGroupListComponent","DsTabsModule","_VirtualListModule"],"mappings":"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"}