{"version":3,"file":"live.module-bl1bb025.js","sources":["packages/sports/web/app/src/event-list-live/live-breadcrumbs.resolver.ts","packages/sports/web/app/src/event-list-live/live-dispatcher-events.ts","packages/sports/web/app/src/event-list-live/upcoming-time-interval.service.ts","packages/sports/web/app/src/event-list-live/live-event-list.service.ts","packages/sports/web/app/src/event-list-live/live-upcoming-list.component.html","packages/sports/web/app/src/event-list-live/live-upcoming-list.component.ts","packages/sports/web/app/src/event-list-live/live-grid-footer.component.ts","packages/sports/web/app/src/event-list-live/live-grid-footer.component.html","packages/sports/web/app/src/event-list-live/live-event-list.component.html","packages/sports/web/app/src/event-list-live/live-event-list.component.ts","packages/sports/web/app/src/event-list-live/live-event-list.resolver.ts","packages/sports/web/app/src/event-list-live/live-favourites-overview.component.html","packages/sports/web/app/src/event-list-live/live-favourites-overview.component.ts","packages/sports/web/app/src/event-list-live/live-grid.epic.ts","packages/sports/web/app/src/event-list-live/live-history.service.ts","packages/sports/web/app/src/event-list-live/live-guard.service.ts","packages/sports/web/app/src/event-list-live/live-overview-subnavigation.service.ts","packages/sports/web/app/src/event-list-live/live-overview.component.html","packages/sports/web/app/src/event-list-live/live-overview.component.ts","packages/sports/web/app/src/event-list-live/live-esports.resolver.ts","packages/sports/web/app/src/event-list-live/live-favourite.resolver.ts","packages/sports/web/app/src/event-list-live/live-highlight.resolver.ts","packages/sports/web/app/src/event-list-live/live-sport-list.component.html","packages/sports/web/app/src/event-list-live/live-sport-list.component.ts","packages/sports/web/app/src/event-list-live/live-sport-list.resolver.ts","packages/sports/web/app/src/event-list-live/live-sport-navigation.service.ts","packages/sports/web/app/src/event-list-live/live-stream.resolver.ts","packages/sports/web/app/src/event-list-live/live.component.html","packages/sports/web/app/src/event-list-live/live.component.ts","packages/sports/web/app/src/event-list-live/live-routing.module.ts","packages/sports/web/app/src/event-list-live/live.module.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport { Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport { DeviceService } from '@frontend/vanilla/core';\n\nimport { BreadcrumbModel } from '../breadcrumbs/breadcrumb.models';\nimport { BreadcrumbsResolve } from '../breadcrumbs/breadcrumbs.resolver';\nimport { UrlHelperService } from '../navigation-core/url-helper.service';\nimport { LiveOverviewModel } from './live-event-list.service';\n\n@Injectable()\nexport class LiveBreadcrumbsResolver extends BreadcrumbsResolve {\n constructor(\n private sitecore: Sitecore,\n private urlHelper: UrlHelperService,\n private deviceService: DeviceService,\n ) {\n super();\n }\n\n protected customResolve(model: LiveOverviewModel): BreadcrumbModel[] {\n if (this.deviceService.isMobile) {\n return [\n this.createCrumb({\n icon: 'theme-live',\n title: this.sitecore.globalMessages.NavLive,\n url: this.urlHelper.getLiveUrl(),\n classes: 'live-mobile',\n }),\n ].filter((crumb) => crumb.title);\n }\n\n return [\n this.createCrumb({\n icon: 'theme-live',\n title: this.sitecore.globalMessages.NavLive,\n url: this.urlHelper.getLiveUrl(),\n }),\n ];\n }\n}\n","import { Observable } from 'rxjs';\n\nimport { BaseLiveSportsModel } from './live-event-list.service';\n\nexport enum LiveDispatcherEvents {\n ChildViewDataUpdate = 'CHILD_VIEW_DATA_UPDATE',\n}\n\nexport interface ILiveDispatcher {\n on(event: LiveDispatcherEvents.ChildViewDataUpdate): Observable;\n\n dispatch(event: LiveDispatcherEvents.ChildViewDataUpdate, data: BaseLiveSportsModel): void;\n}\n","import { Injectable } from '@angular/core';\n\nimport { getDateForOffset } from '@frontend/sports/common/core/utils/date';\n\n@Injectable({ providedIn: 'root' })\nexport class UpcomingTimeIntervalService {\n getInterval(): { fromDate: string; toDate: string } {\n const now = new Date();\n\n return {\n fromDate: this.getFormattedDate(now, 0),\n toDate: this.getFormattedDate(now, 1),\n };\n }\n\n private getFormattedDate(baseDate: Date, daysOffset: number): string {\n const minutesOffset = daysOffset * 24 * 60;\n const date = getDateForOffset(baseDate, minutesOffset);\n\n return date.toISOString();\n }\n}\n","import { Inject, Injectable } from '@angular/core';\n\nimport { Fixture, FixturePage, FixtureType, OfferCategory } from '@cds/betting-offer';\nimport { LiveHighlightsResponse } from '@cds/betting-offer/domain-specific/live';\nimport { TagCount, TagType } from '@cds/betting-offer/tags';\nimport { FixtureCountsRequest, FixtureState, LiveHighlightsRequest, OfferMapping, ScoreboardMode, SortByCriteria } from '@cds/query-objects';\nimport { EventModel } from '@frontend/sports/betting-offer/feature/model';\nimport { BettingOfferApi } from '@frontend/sports/betting-offer/feature/offer-service';\nimport { FavouritesConfig, LayoutNavigationConfig, LiveSectionConfig, Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport { CountItem, ItemType, RegionItem, sportModelMethods } from '@frontend/sports/common/core/data-access/sport-model';\nimport { DispatcherService } from '@frontend/sports/common/core/utils/dispatcher';\nimport { Optional } from '@frontend/sports/common/core/utils/extended-types';\nimport { GridGrouping, GridSorting } from '@frontend/sports/grid/core/feature/model';\nimport { sumBy, uniq } from 'lodash-es';\nimport { Observable, combineLatest, forkJoin, iif, map, of, switchMap } from 'rxjs';\n\nimport { TopNavigationVersion } from '../navigation-core/navigation-core.models';\nimport { LiveUrlParam, UrlHelperService } from '../navigation-core/url-helper.service';\nimport { StatisticsConfigService } from '../statistics/statistics-config.service';\nimport { TabBarItem } from '../tab-bar/tab-bar.models';\nimport { ILiveDispatcher, LiveDispatcherEvents } from './live-dispatcher-events';\nimport { UpcomingTimeIntervalService } from './upcoming-time-interval.service';\n\nexport interface BaseLiveSportsModel {\n sports: CountItem[];\n tab: LiveUrlParam;\n videoEventCount: number;\n}\n\nexport interface LiveSportOverviewModel extends BaseLiveSportsModel {\n regions: CountItem[];\n hasTournaments: boolean;\n page: FixturePage | undefined;\n sorting: GridSorting;\n selectedSportId: number;\n selectedRegionId?: number;\n selectedLeagueId?: number;\n isVirtual?: boolean;\n}\n\nexport interface LiveSportCountsModel {\n sport?: CountItem;\n regions: CountItem[];\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface LiveSportListModel extends BaseLiveSportsModel {}\n\nexport interface LiveOverviewModel extends BaseLiveSportsModel {\n highlights: LiveHighlightsResponse;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface LiveFavouritesModel extends BaseLiveSportsModel {}\n\n@Injectable({ providedIn: 'root' })\nexport class LiveEventListService {\n private readonly maxOnHighlights: number;\n private readonly maxUpcomingEventsPerSport: number;\n private readonly regionThreshold = 30;\n private readonly upcomingPageSize = 10;\n readonly skipSportNavigation: boolean = false;\n\n private statisticsModes: string;\n\n constructor(\n private bettingOfferApi: BettingOfferApi,\n private sitecore: Sitecore,\n private urlHelper: UrlHelperService,\n liveConfig: LiveSectionConfig,\n private upcomingTimeIntervalService: UpcomingTimeIntervalService,\n private favouritesConfig: FavouritesConfig,\n @Inject(DispatcherService) private dispatcher: ILiveDispatcher,\n private layoutNavConfig: LayoutNavigationConfig,\n private statisticsConfigService: StatisticsConfigService,\n ) {\n this.maxOnHighlights = liveConfig.maxLiveEventsPerSport;\n this.maxUpcomingEventsPerSport = liveConfig.maxUpcomingEventsPerSport;\n this.skipSportNavigation = this.layoutNavConfig.topNavigationVersion === TopNavigationVersion.V3;\n this.statisticsModes = this.statisticsConfigService.getStatisticsModesBySportId(undefined);\n }\n\n getHighlights(): Observable {\n const tagCounts = this.skipSportNavigation ? of([]) : this.getTagCounts({ tags: [TagType.Sport] });\n\n return forkJoin([this.getLiveHighlights(this.maxOnHighlights), tagCounts]).pipe(\n map(([highlights, tagCount]) => this.mapLiveOverviewResponse(highlights, tagCount, LiveUrlParam.Highlights)),\n );\n }\n\n getFavourites(): Observable {\n return this.getTagCounts({ tags: [TagType.Sport] }).pipe(map((data) => this.mapLiveFavouritesOverviewResponse(data)));\n }\n\n getLiveStreams(): Observable {\n return forkJoin([this.getFixturesWithLiveStreams(false), this.getTagCounts({ tags: [TagType.Sport] })]).pipe(\n map(([highlights, tagCount]) => this.mapLiveOverviewResponse(highlights, tagCount, LiveUrlParam.Video)),\n );\n }\n\n getLiveUpcomingStreams(): Observable {\n return this.getFixturesWithLiveStreams(true);\n }\n\n getLiveSportsList(): Observable {\n return this.getTagCounts({ tags: [TagType.Sport] }).pipe(\n map((tagCounts) => {\n const sportItems = sportModelMethods.fromTag(tagCounts);\n const videoCount = this.getVideoStreamsCount(sportItems);\n\n return {\n sports: sportItems,\n videoEventCount: videoCount,\n tab: LiveUrlParam.SportList,\n };\n }),\n );\n }\n\n getEsports(take: number, skip?: number, sportId?: number): Observable {\n return combineLatest([\n this.getLiveEsports(take, skip, sportId),\n iif(() => !!skip, of([]), this.getTagCounts({ tags: [TagType.Sport] })),\n ]).pipe(map(([highlights, tagCount]) => this.mapLiveOverviewResponse(highlights, tagCount, LiveUrlParam.Esports)));\n }\n\n getSportCounts(sportId: number, withRegions: boolean = false): Observable {\n const tags = withRegions ? [TagType.Sport, TagType.Region, TagType.Tournament] : [TagType.Sport];\n\n return this.getTagCounts({ tags, sportId }).pipe(\n map((tagCounts) => {\n const sportItems = sportModelMethods.fromTag(tagCounts);\n const sport = sportItems.find((s) => s.id === sportId);\n\n return {\n sport,\n regions: withRegions ? this.filterRegions(sport) : [],\n };\n }),\n );\n }\n\n getUpcomingFixtures(params: {\n sportId?: number;\n regionId?: number;\n tournamentId?: number;\n skip?: number;\n streaming?: boolean;\n leagueId?: number;\n isVirtual?: boolean;\n }): Observable {\n const interval = this.getUpcomingFixturesDatetimeInterval();\n\n return this.bettingOfferApi.getFixtureList({\n state: FixtureState.Upcoming,\n skip: params.skip,\n take: params.skip ? this.upcomingPageSize : this.maxUpcomingEventsPerSport,\n offerCategories: OfferCategory.Gridable,\n offerMapping: OfferMapping.Filtered,\n sortBy: SortByCriteria.StartDate,\n sportIds: this.getIdValue(params.sportId),\n regionIds: this.getIdValue(params.regionId),\n tournamentIds: this.getIdValue(params.tournamentId),\n competitionIds: params.isVirtual ? undefined : this.getIdValue(params.leagueId),\n virtualCompetitionIds: params.isVirtual ? this.getIdValue(params.leagueId) : undefined,\n ...interval,\n statisticsModes: this.statisticsConfigService.getStatisticsModesBySportId(params.sportId),\n });\n }\n\n getFixtures(params: {\n sportId: number;\n regionId?: number;\n tournamentId?: number;\n conferenceId?: number;\n sorting?: GridSorting;\n skip?: number;\n take?: number;\n leagueId?: number;\n isVirtual?: boolean;\n }): Observable {\n return this.bettingOfferApi.getFixtureList({\n state: FixtureState.Live,\n skip: params.skip,\n take: params.take,\n offerMapping: OfferMapping.Filtered,\n offerCategories: OfferCategory.Gridable,\n sortBy: params.sorting === GridSorting.Time ? SortByCriteria.StartDate : SortByCriteria.Tags,\n sportIds: this.getIdValue(params.sportId),\n regionIds: this.getIdValue(params.regionId),\n tournamentIds: this.getIdValue(params.tournamentId),\n conferenceIds: this.getIdValue(params.conferenceId),\n competitionIds: params.isVirtual ? undefined : this.getIdValue(params.leagueId),\n virtualCompetitionIds: params.isVirtual ? this.getIdValue(params.leagueId) : undefined,\n statisticsModes: this.statisticsConfigService.getStatisticsModesBySportId(params.sportId),\n });\n }\n\n getLiveSports(filter: {\n sportId: number;\n regionId?: number;\n tournamentId?: number;\n sorting?: GridSorting;\n fallback?: boolean;\n take?: number;\n }): Observable {\n const requestForSport = this.skipSportNavigation ? filter.sportId : undefined;\n\n return this.getTagCounts({\n tags: [TagType.Sport, TagType.Region, TagType.Tournament],\n sportId: requestForSport,\n }).pipe(\n switchMap((tagCounts) => {\n filter = { ...filter };\n const sportItems = sportModelMethods.fromTag(tagCounts);\n const sport = sportItems.find((s) => s.id === filter.sportId);\n\n if (sport?.children[0] && sport.counts.live > this.regionThreshold) {\n if (filter.fallback !== false && !filter.tournamentId && !filter.regionId) {\n if (sport.children[0].type === ItemType.Tournament) {\n filter.tournamentId = sport.children[0].id;\n }\n\n if (sport.children[0].type === ItemType.Region) {\n filter.regionId = sport.children[0].id;\n }\n }\n }\n\n const regions = this.filterRegions(sport);\n const videoCount = this.getVideoStreamsCount(sportItems);\n\n return this.getFixtures(filter).pipe(\n map((fixturePage) => ({\n selectedSportId: filter.sportId,\n selectedRegionId: filter.regionId || filter.tournamentId,\n hasTournaments: !filter.regionId && !!filter.tournamentId,\n page: fixturePage,\n sorting: filter.sorting || GridSorting.Competition,\n sports: sportItems,\n regions,\n videoEventCount: videoCount,\n tab: filter.sportId,\n })),\n );\n }),\n );\n }\n\n getLiveLeagues(filter: {\n sportId: number;\n leagueId?: number;\n regionId?: number;\n sorting?: GridSorting;\n take?: number;\n isVirtual?: boolean;\n }): Observable {\n return this.getFixtures(filter).pipe(\n map((fixturePage) => ({\n selectedSportId: filter.sportId,\n selectedRegionId: filter.regionId,\n hasTournaments: false,\n page: fixturePage,\n sorting: filter.sorting || GridSorting.Competition,\n sports: [],\n regions: [],\n videoEventCount: 0,\n tab: filter.sportId,\n selectedLeagueId: filter.leagueId,\n isVirtual: filter.isVirtual,\n })),\n );\n }\n\n getSportTabs(sports: CountItem[], videos: number, active: number): TabBarItem[] {\n const tabs: TabBarItem[] = [];\n let currentSports = [...sports];\n\n if (this.favouritesConfig.isLiveFavouritesEnabled) {\n tabs.push({\n id: LiveUrlParam.Favourites,\n count: 0,\n title: this.sitecore.favouritesMessages.LiveTitle,\n isHidden: true,\n url: this.urlHelper.getLiveUrl(LiveUrlParam.Favourites),\n icon: 'theme-favorite',\n });\n }\n\n tabs.push({\n id: LiveUrlParam.Highlights,\n title: this.sitecore.liveNavigation.Highlights,\n url: this.urlHelper.getLiveUrl(LiveUrlParam.Highlights),\n icon: 'sports-all',\n ignoreBrowserHistory: true,\n });\n\n if (videos && videos > 0) {\n tabs.push({\n count: videos,\n id: LiveUrlParam.Video,\n title: this.sitecore.liveNavigation.Video,\n url: this.urlHelper.getLiveUrl(LiveUrlParam.Video),\n icon: 'sports-glyph-video-i',\n ignoreBrowserHistory: true,\n });\n }\n\n const firstEsportIndex = currentSports.findIndex((sport) => sport.isEsport);\n const tabsLengthBeforeSports = tabs.length;\n currentSports = currentSports.filter((sport) => !sport.isEsport);\n\n currentSports.forEach((sport) =>\n tabs.push({\n count: sport.counts.live,\n id: sport.id,\n title: sport.name,\n url: this.urlHelper.getLiveSportUrl({ sport }),\n icon: `sports-${sport.id}`,\n ignoreBrowserHistory: true,\n }),\n );\n\n if (firstEsportIndex !== -1) {\n // we use sports instead of currentSports, because in currentSports the esports are already filtered\n const liveEsports = sports.filter((sport) => sport.isEsport);\n const liveEsportsCount = sumBy(liveEsports, (sport: CountItem) => sport.counts.live);\n tabs.splice(tabsLengthBeforeSports + firstEsportIndex, 0, {\n count: liveEsportsCount,\n id: LiveUrlParam.Esports,\n title: this.sitecore.eSports.ESports,\n url: this.urlHelper.getLiveUrl(LiveUrlParam.Esports),\n icon: 'theme-e-sports',\n ignoreBrowserHistory: true,\n });\n }\n\n tabs.push({\n id: LiveUrlParam.SportList,\n title: this.sitecore.liveNavigation.AZ,\n url: this.urlHelper.getLiveUrl(LiveUrlParam.SportList),\n icon: 'sports-all',\n ignoreBrowserHistory: true,\n });\n\n tabs.forEach((tab) => (tab.active = tab.id === active));\n\n return tabs;\n }\n\n getRegionTabs(regions: CountItem[], sport: CountItem, selectedRegionId?: number): TabBarItem[] {\n const tournaments = regions && regions.length && !this.isRegion(regions[0]);\n\n const icon = (regionId: number) => (tournaments ? undefined : `country-icon c${regionId}`);\n\n const pills: TabBarItem[] = regions.map((region) => ({\n active: region.id === selectedRegionId,\n icon: icon(region.id),\n id: region.id,\n title: this.isRegion(region) ? region.code : region.name,\n url: this.urlHelper.getLiveSportUrl({ sport, region }),\n ignoreBrowserHistory: true,\n }));\n\n if (pills.length > 1) {\n pills.unshift({\n active: selectedRegionId === undefined || selectedRegionId === -1,\n icon: icon(-1),\n id: -1,\n title: 'ALL',\n url: this.urlHelper.getLiveSportUrl({ sport, region: LiveUrlParam.Sport }),\n ignoreBrowserHistory: true,\n });\n }\n\n if (pills.length === 1) {\n pills[0].active = true;\n }\n\n return pills;\n }\n\n getGridGrouping(events: (Fixture | EventModel)[], sortBy?: GridSorting): GridGrouping {\n if (sortBy === GridSorting.Time) {\n const fixturesStartDate = events.map((event) => new Date(event.startDate).getDate());\n const uniqDaysCount = uniq(fixturesStartDate).length;\n\n return uniqDaysCount === 1 ? GridGrouping.None : GridGrouping.Date;\n }\n\n return GridGrouping.League;\n }\n\n notifyParent(model: Optional): void {\n if (model) {\n this.dispatcher.dispatch(LiveDispatcherEvents.ChildViewDataUpdate, model);\n }\n }\n\n private isRegion(countItem?: CountItem): countItem is RegionItem {\n return (countItem && countItem.type === ItemType.Region) || false;\n }\n\n private filterRegions(sportItem: CountItem | undefined): CountItem[] {\n if (sportItem === undefined) {\n return [];\n }\n\n return sportItem.children.filter((childItem) => childItem.type === ItemType.Region || childItem.type === ItemType.Tournament);\n }\n\n private getVideoStreamsCount(sportItems: CountItem[]): number {\n return sportItems.map((s) => s.counts.liveStreaming).reduce((acc, count) => acc + count, 0);\n }\n\n private getIdValue(entityId?: number): string | undefined {\n return !entityId || entityId < 0 ? undefined : entityId.toString();\n }\n\n private getLiveHighlights(maxFixturesPerSport: number): Observable {\n return this.bettingOfferApi.getLiveHighlights(this.getLiveHighlightsRequest(maxFixturesPerSport));\n }\n\n private getLiveEsports(maxFixturesPerSport: number, skip?: number, sportId?: number): Observable {\n return this.bettingOfferApi.getLiveEsports(this.getLiveHighlightsRequest(maxFixturesPerSport, skip, sportId, SortByCriteria.StartDate));\n }\n\n private getLiveHighlightsRequest(maxFixturesPerSport: number, skip?: number, sportId?: number, sortBy?: SortByCriteria): LiveHighlightsRequest {\n return {\n state: FixtureState.Live,\n offerMapping: OfferMapping.Filtered,\n scoreboardMode: ScoreboardMode.Slim,\n offerCategories: OfferCategory.Gridable,\n maxFixturesPerSport,\n sortBy: sortBy ? sortBy : SortByCriteria.Tags,\n statisticsModes: this.statisticsModes,\n skip,\n sportIds: sportId?.toString(),\n };\n }\n\n private getFixturesWithLiveStreams(isUpcoming: boolean): Observable {\n const interval = isUpcoming ? this.getUpcomingFixturesDatetimeInterval() : {};\n\n const request: LiveHighlightsRequest = {\n state: isUpcoming ? FixtureState.Upcoming : FixtureState.Live,\n fixtureTypes: FixtureType.Standard,\n offerMapping: OfferMapping.Filtered,\n scoreboardMode: ScoreboardMode.Slim,\n offerCategories: OfferCategory.Gridable,\n sortBy: SortByCriteria.Tags,\n maxFixturesPerSport: undefined,\n ...interval,\n statisticsModes: this.statisticsModes,\n } as any; // TODO: Put maxFixturesPerSport as an optional property only for LiveStreamingRequest & use here LiveStreamingRequest instead of LiveHighlightsRequest\n\n return this.bettingOfferApi.getLiveStreams(request);\n }\n\n private mapLiveOverviewResponse(\n highlights: LiveHighlightsResponse | undefined,\n tagCounts: TagCount[] | undefined,\n tab: LiveUrlParam,\n ): LiveOverviewModel | undefined {\n const sports = sportModelMethods.fromTag(tagCounts);\n\n return (\n highlights && {\n highlights,\n tab,\n sports,\n videoEventCount: this.getVideoStreamsCount(sports),\n }\n );\n }\n\n private mapLiveFavouritesOverviewResponse(tagCounts: TagCount[] | undefined): LiveFavouritesModel {\n const sports = sportModelMethods.fromTag(tagCounts);\n\n return {\n tab: LiveUrlParam.Favourites,\n sports,\n videoEventCount: this.getVideoStreamsCount(sports),\n };\n }\n\n private getTagCounts(filter: { tags?: TagType[]; sportId?: number }): Observable {\n const request: FixtureCountsRequest = {\n state: FixtureState.Live,\n tagTypes: (filter.tags || []).join(','),\n sortBy: SortByCriteria.Tags,\n sportIds: this.getIdValue(filter.sportId),\n extendedTags: '',\n };\n\n return this.bettingOfferApi.getCounts(request, { addCustomerDnaProfileId: true });\n }\n\n private getUpcomingFixturesDatetimeInterval(): { from: string; to: string } {\n const upcomingInterval = this.upcomingTimeIntervalService.getInterval();\n\n return {\n from: upcomingInterval.fromDate,\n to: upcomingInterval.toDate,\n };\n }\n}\n"," 0\">\n \n
\n \n 0\">\n \n \n \n \n \n \n \n \n
\n
\n
\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, Input, OnChanges, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { EventModel, SportModel } from '@frontend/sports/betting-offer/feature/model';\nimport { Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport { ISimpleChanges } from '@frontend/sports/common/core/utils/simple-change';\nimport { GridModel } from '@frontend/sports/grid/core/feature/model';\nimport { ObservableGrid } from '@frontend/sports/grid/core/feature/observables';\nimport { getEvents } from '@frontend/sports/grid/core/feature/store';\nimport { sum } from 'lodash-es';\nimport { Observable, combineLatest, map } from 'rxjs';\n\nexport type UpcomingLoader = () => Observable<{ grid: ObservableGrid; count: number }[]>;\n\nexport type UpcomingMoreLoader = (skip: number, sport: SportModel) => Observable;\n\nexport interface UpcomingModel {\n load: UpcomingLoader;\n more: UpcomingMoreLoader;\n}\n\nexport class UpcomingGrid {\n loading: boolean;\n\n constructor(\n public grid: ObservableGrid,\n private count: number,\n ) {\n this.loading = false;\n }\n\n get more(): boolean {\n return this.count > getEvents(this.grid.getState()).length;\n }\n}\n\n@Component({\n selector: 'ms-live-upcoming-list',\n templateUrl: 'live-upcoming-list.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LiveUpcomingListComponent implements OnChanges {\n @Input() model: UpcomingModel;\n @Input() tracking: string;\n @Input() loadOnScroll = false;\n\n upcoming: UpcomingGrid[];\n loading: boolean;\n totalUpcomingLoadedEventsCount = 0;\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(\n public sitecore: Sitecore,\n private changeRef: ChangeDetectorRef,\n ) {}\n\n ngOnChanges(changes: ISimpleChanges): void {\n if (changes.model) {\n this.getUpcoming();\n }\n }\n\n getMoreUpcoming(upcoming: UpcomingGrid): void {\n if (!upcoming.more || upcoming.loading) {\n return;\n }\n\n upcoming.loading = true;\n this.changeRef.markForCheck();\n\n this.model\n .more(getEvents(upcoming.grid.getState()).length, upcoming.grid.getState().sport)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((events) => {\n upcoming.grid.addEvents(events);\n upcoming.loading = false;\n this.changeRef.markForCheck();\n });\n }\n\n getLoadedEventsCountForGrid(gridModel: GridModel): number {\n return getEvents(gridModel).length;\n }\n\n private getUpcoming(): void {\n this.loading = true;\n this.model\n .load()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((upcoming) => {\n this.upcoming = upcoming.map((sport) => new UpcomingGrid(sport.grid, sport.count));\n this.loading = false;\n this.changeRef.markForCheck();\n\n combineLatest(upcoming.map((sportGrid) => sportGrid.grid.pipe(map((gridModel) => getEvents(gridModel).length))))\n .pipe(\n map((gridEventsCounts) => sum(gridEventsCounts)),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe((sumAllLoadedGridEventCounts) => {\n this.totalUpcomingLoadedEventsCount = sumAllLoadedGridEventCounts;\n this.changeRef.markForCheck();\n });\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { Sitecore } from '@frontend/sports/common/client-config-data-access';\n\nimport { TabBarItem } from '../tab-bar/tab-bar.models';\n\n@Component({\n selector: 'ms-live-grid-footer',\n templateUrl: 'live-grid-footer.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LiveGridFooterComponent {\n @HostBinding('class') className = 'grid-footer grid-live-footer ms-active-highlight';\n @Input() model: TabBarItem;\n constructor(private sitecore: Sitecore) {}\n\n get title(): string {\n return this.sitecore.globalMessages.AllLiveEventsForSport.replace('{0}', this.model.title!);\n }\n}\n"," \n","\n
\n \n \n\n \n
\n \n \n\n\n \n\n","import { Component, HostBinding, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { Fixture, FixturePage } from '@cds/betting-offer';\nimport { LiveSectionConfig, Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport { HooksWireup, OnRouteResolve } from '@frontend/sports/common/core/utils/hooks';\nimport { EventFactory } from '@frontend/sports/grid/core/feature/factories';\nimport { GridGrouping, GridSorting } from '@frontend/sports/grid/core/feature/model';\nimport { GridOption, ObservableGrid, ObservableGridFactory } from '@frontend/sports/grid/core/feature/observables';\nimport { getEvents } from '@frontend/sports/grid/core/feature/store';\nimport { sum } from 'lodash-es';\nimport { finalize, map, mergeMap, take } from 'rxjs';\n\nimport { TabBarItem } from '../tab-bar/tab-bar.models';\nimport { LiveEventListService, LiveSportOverviewModel } from './live-event-list.service';\nimport { LiveUpcomingListComponent, UpcomingLoader, UpcomingModel, UpcomingMoreLoader } from './live-upcoming-list.component';\n\n@HooksWireup()\n@Component({\n selector: 'ms-live-event-list',\n templateUrl: 'live-event-list.component.html',\n providers: [ObservableGridFactory],\n})\nexport class LiveEventListComponent extends OnRouteResolve {\n live?: ObservableGrid;\n upcoming?: UpcomingModel;\n upcomingLoaded: boolean;\n tracking = 'LivePage/Sport';\n main?: TabBarItem;\n collapsedChangedState = '';\n isLoading = false;\n eventsTotalCount = 0;\n private region?: number;\n private hasTournaments: boolean;\n sport?: number;\n private upcomingThreshold = 10;\n private league?: number;\n private isVirtual?: boolean;\n\n @HostBinding('class') className = 'live-event-list';\n @ViewChild(LiveUpcomingListComponent) upcomingList: LiveUpcomingListComponent;\n\n constructor(\n public sitecore: Sitecore,\n private liveEventListService: LiveEventListService,\n private observableGridFactory: ObservableGridFactory,\n private eventFactory: EventFactory,\n private liveConfig: LiveSectionConfig,\n route: ActivatedRoute,\n ) {\n super(route);\n }\n\n onRouteResolved(model: LiveSportOverviewModel): void {\n this.observableGridFactory.destroy();\n this.eventsTotalCount = 0;\n\n if (!model.page?.fixtures || model.page.fixtures.length === 0) {\n this.live = undefined;\n\n return;\n }\n\n let sortedBy;\n\n if (model.page.totalCompetitions && model.page.totalCompetitions > 1) {\n sortedBy = model.sorting;\n }\n\n const grouping = this.liveEventListService.getGridGrouping(model.page.fixtures, sortedBy);\n\n this.resetUpcoming();\n const options: GridOption = {\n sorting: sortedBy,\n grouping,\n };\n\n this.sport = model.selectedSportId;\n this.region = model.selectedRegionId;\n this.hasTournaments = model.hasTournaments;\n this.league = model.selectedLeagueId;\n this.isVirtual = model.isVirtual;\n\n const liveGrid = this.observableGridFactory.fromResponse(this.getGridId(), model.page.fixtures, options);\n\n if (this.region && this.region > 0 && model.regions.length > 1) {\n const sport = model.sports.find((current) => current.id === this.sport)!;\n\n this.main = this.liveEventListService.getRegionTabs(model.regions, sport, this.region)[0]!;\n this.main.count = sport.counts.live;\n this.main.title = sport.name;\n } else {\n this.main = undefined;\n }\n\n this.eventsTotalCount = model.page.totalCount;\n\n if (liveGrid) {\n if (!this.live) {\n this.live = liveGrid;\n }\n\n liveGrid.pipe(take(1)).subscribe(() => {\n this.live = liveGrid;\n\n const visibleEvents = this.getExpandedEventCount(this.live);\n if (visibleEvents < this.upcomingThreshold) {\n this.showUpcoming(true);\n }\n });\n } else {\n this.live = undefined;\n this.resetUpcoming();\n }\n }\n\n private addEvents(fixtures: Fixture[]): void {\n if (!this.live) {\n return;\n }\n\n const liveGrid = this.live.getState();\n\n const gridEvents = getEvents(liveGrid);\n const allEvents = [...gridEvents, ...fixtures];\n\n const grouping = this.liveEventListService.getGridGrouping(allEvents, liveGrid.sorting);\n\n this.live.addEvents(fixtures, undefined, grouping);\n }\n\n private hasEvents(page?: FixturePage): boolean {\n return !!page && !!page.fixtures && page.fixtures.length > 0;\n }\n\n private getEvents(next: (page: FixturePage) => void): void {\n this.isLoading = true;\n\n const sorting = this.live?.getState().sorting || GridSorting.Competition;\n\n this.liveEventListService\n .getFixtures({\n sportId: this.sport || 0,\n regionId: this.getRegionId(),\n tournamentId: this.getTournamentId(),\n sorting,\n skip: this.eventCount,\n take: this.liveConfig.pageSize,\n })\n .pipe(finalize(() => (this.isLoading = false)))\n .subscribe((result) => {\n if (result && this.hasEvents(result)) {\n next(result);\n }\n });\n }\n\n get eventCount(): number {\n if (!this.live) {\n return 0;\n }\n const grid = this.live.getState();\n\n if (!grid) {\n return 0;\n }\n\n return getEvents(grid).length;\n }\n\n get showMore(): boolean {\n return this.eventsTotalCount > this.eventCount;\n }\n\n scrolledBottom(): void {\n this.showUpcoming();\n\n if (!this.live || !this.showMore || this.isLoading) {\n return;\n }\n\n this.getEvents((data) => this.addEvents(data.fixtures));\n }\n\n showUpcoming(forceLoad?: boolean): void {\n if (!forceLoad && this.upcomingLoaded) {\n return;\n }\n\n this.upcomingLoaded = true;\n this.upcoming = {\n load: this.loadUpcoming,\n more: this.moreUpcoming,\n };\n }\n\n liveGroupToggled(): void {\n if (!this.live) {\n return;\n }\n\n const visibleEvents = this.getExpandedEventCount(this.live);\n if (visibleEvents < this.upcomingThreshold) {\n this.showUpcoming();\n }\n }\n\n private getGridId(upcoming?: boolean): string {\n const liveKey = this.region ? `${this.sport}/live/regions/${this.region}` : `${this.sport}/live`;\n\n return upcoming ? liveKey + '/upcoming' : liveKey;\n }\n\n private getExpandedEventCount(grid: ObservableGrid): number {\n const state = grid.getState();\n\n return sum(state.groups.filter((g) => !g.collapsed).map((g) => g.events.length));\n }\n\n private resetUpcoming(): void {\n this.upcomingLoaded = false;\n this.upcoming = undefined;\n }\n\n private loadUpcoming: UpcomingLoader = () =>\n this.liveEventListService\n .getUpcomingFixtures({\n sportId: this.sport,\n regionId: this.getRegionId(),\n tournamentId: this.getTournamentId(),\n leagueId: this.league,\n isVirtual: this.isVirtual,\n })\n .pipe(\n map((page) => {\n if (!page?.fixtures?.length) {\n return [];\n }\n\n return [\n {\n grid: this.observableGridFactory.fromResponse(this.getGridId(true), page.fixtures, {\n grouping: GridGrouping.None,\n }),\n count: page.totalCount,\n },\n ];\n }),\n );\n\n private moreUpcoming: UpcomingMoreLoader = (skip) =>\n this.liveEventListService\n .getUpcomingFixtures({\n sportId: this.sport,\n regionId: this.getRegionId(),\n tournamentId: this.getTournamentId(),\n skip,\n leagueId: this.league,\n isVirtual: this.isVirtual,\n })\n .pipe(mergeMap((page) => this.eventFactory.create(page?.fixtures)));\n\n private getRegionId(): number | undefined {\n return this.hasTournaments ? undefined : this.region;\n }\n\n private getTournamentId(): number | undefined {\n return this.hasTournaments ? this.region : undefined;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\n\nimport { GridConfig } from '@frontend/sports/common/client-config-data-access';\nimport { SportConstant } from '@frontend/sports/common/core/data-access/constants';\nimport { VirtualCompetitionPrefix } from '@frontend/sports/common/core/data-access/sport-model';\nimport { GridSorting } from '@frontend/sports/grid/core/feature/model';\nimport { DeviceService, toBoolean } from '@frontend/vanilla/core';\nimport { Observable, tap } from 'rxjs';\n\nimport { StylesLazyLoadingService } from '../deferred/styles/style-loading.service';\nimport { SortingStateService } from '../event-list-shared/sport/services/sorting-state.service';\nimport { LiveEventListService, LiveSportOverviewModel } from './live-event-list.service';\n\n@Injectable()\nexport class LiveEventListResolver {\n constructor(\n private liveService: LiveEventListService,\n private sortingState: SortingStateService,\n private device: DeviceService,\n private gridConfig: GridConfig,\n private stylesService: StylesLazyLoadingService,\n ) {}\n\n resolve(route: ActivatedRouteSnapshot): Observable {\n const { sport, region, league, conference } = route.params;\n\n const sportId = parseInt(sport);\n const targetId = region && parseInt(region);\n\n const sorting = this.sortingState.get('live') || GridSorting.Competition;\n const fallback = !targetId && toBoolean(route.queryParams.fallback) !== false;\n const { leagueId, isVirtual } = this.getLeagueData(league);\n\n const filter = {\n sportId,\n regionId: sportId === SportConstant.Tennis ? undefined : targetId,\n tournamentId: sportId === SportConstant.Tennis ? targetId : undefined,\n conferenceId: conference,\n fallback: fallback && !this.device.isRobot,\n sorting,\n take: this.gridConfig.initialSize,\n leagueId,\n isVirtual,\n };\n\n this.stylesService.lazyLoad('live');\n\n return leagueId\n ? this.liveService.getLiveLeagues(filter)\n : this.liveService.getLiveSports(filter).pipe(tap((model) => this.liveService.notifyParent(model)));\n }\n\n private getLeagueData(league?: string): { leagueId?: number; isVirtual: boolean } {\n let isVirtual = false;\n\n if (!league) {\n return { leagueId: undefined, isVirtual };\n }\n\n const leagueIdRegex = new RegExp(`${VirtualCompetitionPrefix}(\\\\d+)`);\n const match = leagueIdRegex.exec(league);\n\n if (match) {\n isVirtual = true;\n league = match[1];\n }\n\n return { leagueId: parseInt(league), isVirtual };\n }\n}\n","@if (gridFixtureList && gridFixtureList.length > 0) {\n @for (gridFixture of gridFixtureList; track $index) {\n
\n @if (gridFixture.grid | async; as gridModel) {\n
\n \n \n\n \n\n \n
\n }\n
\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { OfferCategory } from '@cds/betting-offer';\nimport { OfferMapping } from '@cds/query-objects';\nimport { SportModel } from '@frontend/sports/betting-offer/feature/model';\nimport { Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport { CountItem } from '@frontend/sports/common/core/data-access/sport-model';\nimport { HooksWireup, OnRouteResolve } from '@frontend/sports/common/core/utils/hooks';\nimport { FavouritesService } from '@frontend/sports/favourites/core/feature';\nimport { ObservableGrid, ObservableGridFactory } from '@frontend/sports/grid/core/feature/observables';\nimport { sortBy } from 'lodash-es';\nimport { skip } from 'rxjs';\n\nimport { EpcotConfigService } from '../common/epcot-config.service';\nimport { FixtureList } from '../event-list-shared/sport/competitions/competition.models';\nimport { LiveFavouriteFixturesService } from '../favourites/live-favourites-fixtures.service';\nimport { RedirectHelperService } from '../navigation-core/redirect-helper.service';\nimport { LiveFavouritesModel } from './live-event-list.service';\n\nexport interface GridFixtureList {\n grid: ObservableGrid;\n favouriteFixture: FixtureList;\n liveFixturesCount: number;\n order: number;\n}\n\n@HooksWireup()\n@Component({\n selector: 'ms-live-favourites-overview',\n templateUrl: './live-favourites-overview.component.html',\n providers: [ObservableGridFactory],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LiveFavouritesOverviewComponent extends OnRouteResolve {\n gridFixtureList: GridFixtureList[] = [];\n sports: CountItem[] = [];\n tracking = 'LivePage/Favourites';\n isEpcotEnabled: boolean;\n\n @HostBinding('class') className = 'live-favourites-overview';\n\n constructor(\n public sitecore: Sitecore,\n private liveFavouriteFixturesService: LiveFavouriteFixturesService,\n favouritesService: FavouritesService,\n private gridFactory: ObservableGridFactory,\n private redirectHelper: RedirectHelperService,\n route: ActivatedRoute,\n private changeDetector: ChangeDetectorRef,\n private epcotConfigService: EpcotConfigService,\n ) {\n super(route);\n this.isEpcotEnabled = this.epcotConfigService.isEnabled();\n favouritesService.change.pipe(skip(1), takeUntilDestroyed()).subscribe(() => {\n this.liveFavouriteFixturesService.refresh(OfferMapping.Filtered, OfferCategory.Gridable);\n });\n\n this.liveFavouriteFixturesService.change.pipe(skip(1), takeUntilDestroyed()).subscribe(() => {\n this.refreshFavourites();\n });\n }\n\n onRouteResolved(model: LiveFavouritesModel | undefined): void {\n if (!model) {\n return;\n }\n\n this.sports = model.sports;\n this.refreshFavourites();\n }\n\n goTo(sport: SportModel): void {\n this.redirectHelper.goToLiveSport({ sport, isEsport: sport.isEsport });\n }\n\n private refreshFavourites(): void {\n if (this.liveFavouriteFixturesService.liveFixtures.length) {\n this.setFixtures();\n this.changeDetector.markForCheck();\n } else {\n this.redirectHelper.goToLive();\n }\n }\n\n private setFixtures(): void {\n this.destroyGrids();\n\n const fixtureLists = this.liveFavouriteFixturesService.getFixtureList();\n if (!fixtureLists?.length) {\n return;\n }\n\n this.gridFixtureList = sortBy(fixtureLists.map(this.mapToGridFixtureList), (gridFixtureList) => gridFixtureList.order);\n }\n\n private destroyGrids(): void {\n this.gridFixtureList.forEach((g) => g.grid.destroy());\n this.gridFixtureList = [];\n }\n\n private mapToGridFixtureList = (fixtureList: FixtureList): GridFixtureList => {\n const sportId = fixtureList.fixtures[0].sport.id;\n const sportItem = this.sports.find((sport) => sport.id === sportId);\n\n return {\n grid: this.gridFactory.fromResponse(`${sportId}/live-favourites`, fixtureList.fixtures),\n favouriteFixture: fixtureList,\n liveFixturesCount: sportItem ? sportItem.counts.live : fixtureList.fixtures.length,\n order: sportItem?.order ?? Infinity,\n };\n };\n}\n","import { Injectable } from '@angular/core';\nimport { Params } from '@angular/router';\n\nimport { SportConstant } from '@frontend/sports/common/core/data-access/constants';\nimport { RouteTag } from '@frontend/sports/common/core/data-access/route';\nimport { isDefined } from '@frontend/sports/common/core/utils/extended-types';\nimport { RouterEventsService } from '@frontend/sports/common/core/utils/router-events';\nimport { EventFactory } from '@frontend/sports/grid/core/feature/factories';\nimport { GridActions, IGridRootState } from '@frontend/sports/grid/core/feature/store';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { concatMap, filter, map, of, switchMap, withLatestFrom } from 'rxjs';\n\nimport { SortingStateService } from '../event-list-shared/sport/services/sorting-state.service';\nimport { LiveEventListService } from './live-event-list.service';\n\n@Injectable()\nexport class LiveGridEffects {\n private lastRouteParams: Params;\n private isLivePage = false;\n private readonly liveTag = [\n RouteTag.Live,\n RouteTag.LiveAll,\n RouteTag.LiveHighlights,\n RouteTag.LiveRegion,\n RouteTag.LiveSport,\n RouteTag.LiveVideo,\n RouteTag.LiveEsports,\n ];\n\n constructor(\n private liveEventListService: LiveEventListService,\n private eventFactory: EventFactory,\n private routerEventsService: RouterEventsService,\n private sortingStateService: SortingStateService,\n private actions$: Actions,\n private store: Store,\n ) {\n this.routerEventsService.currentActivationEnd.pipe(filter(isDefined)).subscribe((event) => {\n this.lastRouteParams = event.snapshot.params;\n\n this.isLivePage = this.liveTag.some((tag) => tag === event.snapshot.data.tag);\n });\n }\n\n onSortingChange$ = createEffect(() => {\n return this.actions$.pipe(\n filter(() => this.isLivePage),\n ofType(GridActions.changeSorting),\n concatMap((action) => of(action).pipe(withLatestFrom(this.store.pipe(map((state) => state.grid[action.payload.id]))))),\n switchMap(([action, grid]) => {\n this.sortingStateService.set('live', action.payload.sorting);\n\n const { regionId, tournamentId } = this.getRegionAndTournament(grid.sport.id);\n\n return this.liveEventListService\n .getFixtures({\n sportId: grid.sport.id,\n regionId,\n tournamentId,\n sorting: grid.sorting,\n })\n .pipe(\n switchMap((page) => this.eventFactory.create(page?.fixtures)),\n concatMap((events) => {\n if (events.length === 0) {\n return [];\n }\n const grouping = this.liveEventListService.getGridGrouping(events, grid.sorting);\n\n return [GridActions.setEvents({ payload: { id: action.payload.id, events, grouping } })];\n }),\n );\n }),\n );\n });\n\n private getRegionAndTournament(sportId: number): { regionId?: number; tournamentId?: number } {\n const { region } = this.lastRouteParams;\n const regionId = region && parseInt(region);\n\n if (sportId === SportConstant.Tennis) {\n return { tournamentId: regionId };\n } else {\n return { regionId };\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivationEnd, Params } from '@angular/router';\n\nimport { RouteTag } from '@frontend/sports/common/core/data-access/route';\nimport { SessionStoreService, toBoolean } from '@frontend/vanilla/core';\nimport { clone, findIndex, isEqual } from 'lodash-es';\n\nexport interface RouteHistoryData {\n tag: RouteTag;\n params: Params;\n}\n\n@Injectable()\nexport class LiveHistoryService {\n private static storageKey = 'live-history';\n\n constructor(private store: SessionStoreService) {}\n\n getHistory(): RouteHistoryData[] {\n return this.store.get(LiveHistoryService.storageKey) || [];\n }\n\n saveRouteData(data: ActivationEnd): void {\n if (!this.canBePersisted(data)) {\n return;\n }\n\n const tag = data.snapshot.data.tag;\n const params = clone(data.snapshot.params);\n\n if (toBoolean(data.snapshot.queryParams.fallback) === false) {\n params.region = -1;\n }\n\n const history = this.getHistory();\n const matchingIndex = this.findRouteIndex(history, tag, params);\n\n if (matchingIndex > -1) {\n history.splice(matchingIndex, 1);\n }\n\n history.push({ tag, params });\n\n this.store.set(LiveHistoryService.storageKey, history);\n }\n\n private findRouteIndex(history: RouteHistoryData[], tag: RouteTag, params: Params): number {\n return findIndex(history, (h) => h.tag === tag && isEqual(h.params, params));\n }\n\n private canBePersisted(data: ActivationEnd): boolean {\n return data && data.snapshot && data.snapshot.data && data.snapshot.data.persist;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Params } from '@angular/router';\n\nimport { RouteTag } from '@frontend/sports/common/core/data-access/route';\nimport { CountItem } from '@frontend/sports/common/core/data-access/sport-model';\nimport { toBoolean } from '@frontend/vanilla/core';\nimport { findLast } from 'lodash-es';\nimport { Observable, map, of } from 'rxjs';\n\nimport { RedirectHelperService } from '../navigation-core/redirect-helper.service';\nimport { LiveUrlParam } from '../navigation-core/url-helper.service';\nimport { LiveEventListService } from './live-event-list.service';\nimport { LiveHistoryService, RouteHistoryData } from './live-history.service';\n\ntype ActivationCheck = (routeData: RouteHistoryData) => Observable;\n\nabstract class LiveGuardBase {\n private readonly actions: Map;\n\n constructor(\n private liveService: LiveEventListService,\n private redirectHelper: RedirectHelperService,\n private history: LiveHistoryService,\n ) {\n this.actions = new Map([\n [RouteTag.LiveHighlights, this.shouldRedirectToHighlights.bind(this)],\n [RouteTag.LiveAll, this.shouldRedirectToAllSports.bind(this)],\n [RouteTag.LiveSport, this.shouldRedirectToSport.bind(this)],\n [RouteTag.LiveRegion, this.shouldRedirectToRegion.bind(this)],\n [RouteTag.LiveVideo, this.shouldRedirectToVideo.bind(this)],\n [RouteTag.LiveEsports, this.shouldRedirectToEsports.bind(this)],\n ]);\n }\n\n protected shouldRedirect(historyFilter?: (entry: RouteHistoryData) => boolean): Observable {\n const lastMatch = this.getLastRoute(historyFilter);\n if (lastMatch && this.actions.has(lastMatch.tag)) {\n const action = this.actions.get(lastMatch.tag)!;\n\n return action(lastMatch);\n }\n\n return of(false);\n }\n\n protected redirectToDefault(): Observable {\n this.redirectHelper.goToLive();\n\n return of(true);\n }\n\n private getLastRoute(historyFilter?: (entry: RouteHistoryData) => boolean): RouteHistoryData | undefined {\n const history = this.history.getHistory();\n\n return findLast(history, (historyEntry) => this.actions.has(historyEntry.tag) && (historyFilter ? historyFilter(historyEntry) : true));\n }\n\n private shouldRedirectToHighlights(): Observable {\n return this.redirectToDefault();\n }\n\n private shouldRedirectToAllSports(): Observable {\n this.redirectHelper.goToLive(LiveUrlParam.SportList);\n\n return of(true);\n }\n\n private shouldRedirectToEsports(): Observable {\n this.redirectHelper.goToLive(LiveUrlParam.Esports);\n\n return of(true);\n }\n\n private shouldRedirectToSport(routeData: RouteHistoryData): Observable {\n const sportId = parseInt(routeData.params.sport);\n\n return this.liveService.getSportCounts(sportId).pipe(\n map((countsModel) => {\n const redirecting = this.isLive(countsModel.sport);\n if (redirecting) {\n this.redirectHelper.goToLiveSport({ sport: countsModel.sport!, ignoreBrowserHistory: true });\n }\n\n return redirecting;\n }),\n );\n }\n\n private shouldRedirectToRegion(routeData: RouteHistoryData): Observable {\n const sportId = parseInt(routeData.params.sport);\n const regionId = parseInt(routeData.params.region) || undefined;\n\n if (regionId === -1) {\n return of(false);\n }\n\n return this.liveService.getSportCounts(sportId, true).pipe(\n map((overview) => {\n const sport = overview.sport;\n const region = overview.regions.find((regionCountItem) => regionCountItem.id === regionId);\n\n const redirecting = this.isLive(sport) && this.isLive(region);\n\n if (sport && region && redirecting) {\n this.redirectHelper.goToLiveSport({ sport, region, ignoreBrowserHistory: true });\n }\n\n return redirecting;\n }),\n );\n }\n\n private isLive(item: CountItem | undefined): item is CountItem {\n return !!item && item.counts && !!item.counts.live;\n }\n\n private shouldRedirectToVideo(): Observable {\n return this.liveService.getLiveSportsList().pipe(\n map((sports) => {\n const isRedirecting = sports.videoEventCount > 0;\n\n if (isRedirecting) {\n this.redirectHelper.goToLive(LiveUrlParam.Video);\n }\n\n return isRedirecting;\n }),\n );\n }\n}\n\n@Injectable()\nexport class LiveRootGuard extends LiveGuardBase {\n constructor(liveService: LiveEventListService, redirectHelper: RedirectHelperService, history: LiveHistoryService) {\n super(liveService, redirectHelper, history);\n }\n\n canActivate(): Observable {\n return this.shouldRedirect().pipe(\n map((redirect) => {\n if (!redirect) {\n this.redirectToDefault();\n }\n\n return false;\n }),\n );\n }\n}\n\n@Injectable()\nexport class LiveSportGuard extends LiveGuardBase {\n constructor(liveService: LiveEventListService, redirectHelper: RedirectHelperService, history: LiveHistoryService) {\n super(liveService, redirectHelper, history);\n }\n\n canActivate(route: ActivatedRouteSnapshot): Observable {\n if (toBoolean(route.queryParams.fallback) === false) {\n return of(true);\n }\n\n return this.shouldRedirect((routeEntry) => this.matchRegion(routeEntry, route.params)).pipe(map((r) => !r));\n }\n\n private matchRegion(entry: RouteHistoryData, params: Params): boolean {\n return entry.tag === RouteTag.LiveRegion && entry.params.sport === params.sport;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\n\nimport { FixturePage } from '@cds/betting-offer';\nimport { LiveNavigationConfig, Sitecore } from '@frontend/sports/common/client-config-data-access';\n\nimport { LiveSubnavTabs, createSubnavTabs } from '../event-list/navigation/live-subnavigation.models';\nimport { AdaptiveLayoutState } from '../layout/adaptive-layout.service';\nimport { ColumnLayoutService } from '../layout/column-layout.service';\nimport { UrlHelperService } from '../navigation-core/url-helper.service';\nimport { SubNavigationResolve } from '../sub-navigation/sub-navigation-resolve.service';\nimport { SubNavigationItem } from '../sub-navigation/sub-navigation.models';\n\n@Injectable()\nexport class LiveOverviewSubNavigationResolve extends SubNavigationResolve {\n constructor(\n private layoutManager: ColumnLayoutService,\n private liveNavConfig: LiveNavigationConfig,\n private sitecore: Sitecore,\n private urlHelperService: UrlHelperService,\n ) {\n super();\n this.tabs$.next(this.getDefaultTabs());\n }\n\n buildSubNavigation(layout: AdaptiveLayoutState, routeSnapshot: ActivatedRouteSnapshot, model: FixturePage): void {\n if (!this.liveNavConfig.isLiveEventsNavigationEnabled || this.layoutManager.layout.maxColumnCount < 3) {\n this.tabs$.next([]);\n\n return;\n }\n\n this.tabs$.next(this.getDefaultTabs());\n }\n\n private getDefaultTabs(): SubNavigationItem[] {\n return createSubnavTabs(this.urlHelperService, this.sitecore, LiveSubnavTabs.Overview);\n }\n}\n","@if (!live?.length) {\n \n} @else {\n \n @for (current of live; track current.getState().id) {\n @if (current | async; as currentGrid) {\n \n @if (shouldShowMore(currentGrid.sport.id)) {\n \n }\n }\n }\n @if (upcomingLoaded && upcoming) {\n \n }\n \n}\n","import { Component, HostBinding, ViewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { Fixture } from '@cds/betting-offer';\nimport { LiveSectionConfig, Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport { NumberDictionary } from '@frontend/sports/common/core/utils/extended-types';\nimport { HooksWireup, OnRouteResolve } from '@frontend/sports/common/core/utils/hooks';\nimport { EventFactory, GridSourceEvent } from '@frontend/sports/grid/core/feature/factories';\nimport { GridGrouping } from '@frontend/sports/grid/core/feature/model';\nimport { ObservableGrid, ObservableGridFactory } from '@frontend/sports/grid/core/feature/observables';\nimport { getEvents } from '@frontend/sports/grid/core/feature/store';\nimport { EsportTrackingValues, NOT_APPLICABLE, TrackingService, trackingConstants } from '@frontend/sports/tracking/feature';\nimport { kebabCase, sumBy } from 'lodash-es';\nimport { finalize, map, mergeMap } from 'rxjs';\n\nimport { EpcotConfigService } from '../common/epcot-config.service';\nimport { LiveUrlParam } from '../navigation-core/url-helper.service';\nimport { LiveEventListService, LiveOverviewModel } from './live-event-list.service';\nimport { LiveUpcomingListComponent, UpcomingLoader, UpcomingModel, UpcomingMoreLoader } from './live-upcoming-list.component';\n\ninterface ShowMoreCount {\n curentCount: number;\n shouldShowMore: boolean;\n}\n\n@HooksWireup()\n@Component({\n selector: 'ms-live-overview',\n templateUrl: 'live-overview.component.html',\n providers: [ObservableGridFactory],\n})\nexport class LiveOverviewComponent extends OnRouteResolve {\n tab: LiveUrlParam;\n tracking: string;\n live: ObservableGrid[];\n upcoming?: UpcomingModel;\n upcomingLoaded: boolean;\n isEsportLoading = false;\n isEpcotEnabled: boolean;\n private shouldShowMoreButton: NumberDictionary = {};\n\n @HostBinding('class') className = 'live-overview';\n @ViewChild(LiveUpcomingListComponent) upcomingList: LiveUpcomingListComponent;\n\n private upcomingThreshold = 10;\n\n constructor(\n public sitecore: Sitecore,\n private eventService: LiveEventListService,\n private gridFactory: ObservableGridFactory,\n private eventFactory: EventFactory,\n private liveConfig: LiveSectionConfig,\n private trackingService: TrackingService,\n private epcotConfigService: EpcotConfigService,\n route: ActivatedRoute,\n ) {\n super(route);\n this.isEpcotEnabled = this.epcotConfigService.isEnabled();\n }\n\n onRouteResolved(model: LiveOverviewModel | undefined): void {\n if (!model) {\n return;\n }\n\n this.gridFactory.destroy();\n\n this.tab = model.tab;\n\n if (this.tab === LiveUrlParam.Esports) {\n model.highlights.sportsOffer.forEach((sport) => {\n this.shouldShowMoreButton[sport.sport.id] = {\n curentCount: sport.fixtures.length,\n shouldShowMore: sport.fixtures.length < sport.totalCount,\n };\n });\n }\n\n this.live = model.highlights.sportsOffer.map((offer) =>\n this.gridFactory.fromResponse(this.getGridId(offer.fixtures), offer.fixtures, { grouping: GridGrouping.None }),\n );\n this.tracking = this.getTracking();\n\n const events = sumBy(this.live, (current) => getEvents(current.getState()).length);\n\n if (this.live && events < this.upcomingThreshold) {\n this.showUpcoming(true);\n } else {\n this.resetUpcoming();\n }\n }\n\n showUpcoming(forceLoad?: boolean): void {\n if (this.tab !== LiveUrlParam.Video || (!forceLoad && this.upcomingLoaded)) {\n return;\n }\n\n this.upcomingLoaded = true;\n this.upcoming = {\n load: this.loadUpcoming,\n more: this.moreUpcoming,\n };\n }\n\n private getGridId(fixtures: Fixture[], upcoming?: boolean): string {\n const key = `${fixtures[0].sport.id}/live-${kebabCase(LiveUrlParam[this.tab])}`;\n\n return upcoming ? key + '/upcoming' : key;\n }\n\n loadMore(sportId: number, currentGrid: ObservableGrid): void {\n if (this.isEsportLoading) {\n return;\n }\n\n this.isEsportLoading = true;\n\n this.eventService\n .getEsports(this.liveConfig.pageSize, this.shouldShowMoreButton[sportId].curentCount, sportId)\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n finalize(() => (this.isEsportLoading = false)),\n )\n .subscribe((result) => {\n const currentEsport = result?.highlights.sportsOffer[0];\n if (currentEsport?.fixtures.length) {\n currentGrid.addEvents(currentEsport.fixtures as GridSourceEvent[], undefined, GridGrouping.None);\n this.shouldShowMoreButton[sportId].curentCount += currentEsport.fixtures.length;\n this.shouldShowMoreButton[sportId].shouldShowMore = this.shouldShowMoreButton[sportId].curentCount < currentEsport.totalCount;\n } else {\n this.shouldShowMoreButton[sportId].shouldShowMore = false;\n }\n });\n\n this.trackShowMoreButtonClick(currentGrid.getState().sport.name);\n }\n\n shouldShowMore(sportId: number): boolean {\n return !!this.shouldShowMoreButton[sportId]?.shouldShowMore;\n }\n\n private resetUpcoming(): void {\n this.upcomingLoaded = false;\n this.upcoming = undefined;\n }\n\n private loadUpcoming: UpcomingLoader = () =>\n this.eventService.getLiveUpcomingStreams().pipe(\n map((highlights) => {\n if (!highlights) {\n return [];\n }\n\n return highlights.sportsOffer\n .filter((offer) => offer.fixtures.length > 0)\n .map((offer) => ({\n grid: this.gridFactory.fromResponse(this.getGridId(offer.fixtures, true), offer.fixtures, {\n grouping: GridGrouping.None,\n }),\n count: offer.totalCount,\n }));\n }),\n );\n\n private moreUpcoming: UpcomingMoreLoader = (skip, sport) =>\n this.eventService.getUpcomingFixtures({ skip }).pipe(mergeMap((page) => this.eventFactory.create(page?.fixtures)));\n\n private getTracking(): string {\n //TODO add missing enum values to the dictionary and remove below cast\n const trackingMap = {\n [LiveUrlParam.Highlights]: 'Highlights',\n [LiveUrlParam.Video]: 'Video',\n [LiveUrlParam.Esports]: EsportTrackingValues.Esports,\n };\n\n return `LivePage/${trackingMap[this.tab as keyof typeof trackingMap]}`;\n }\n\n private trackShowMoreButtonClick(gridName: string): void {\n this.trackingService.track(trackingConstants.EVENT_TRACKING, {\n [trackingConstants.COMPONENT_CATEGORY_EVENT]: EsportTrackingValues.Esports,\n [trackingConstants.COMPONENT_LABEL_EVENT]: EsportTrackingValues.LivePage,\n [trackingConstants.COMPONENT_ACTION_EVENT]: 'click',\n [trackingConstants.COMPONENT_POSITION_EVENT]: NOT_APPLICABLE,\n [trackingConstants.COMPONENT_LOCATION_EVENT]: gridName,\n [trackingConstants.COMPONENT_EVENT_DETAILS]: EsportTrackingValues.LivePageShowMoreCta,\n [trackingConstants.COMPONENT_URL_CLICKED]: NOT_APPLICABLE,\n });\n }\n}\n","import { inject } from '@angular/core';\n\nimport { LiveSectionConfig } from '@frontend/sports/common/client-config-data-access';\nimport { firstValueFrom, tap } from 'rxjs';\n\nimport { StylesLazyLoadingService } from '../deferred/styles/style-loading.service';\nimport { LiveEventListService, LiveOverviewModel } from './live-event-list.service';\n\nexport const liveEsportsResolver = async (): Promise => {\n const liveConfig = inject(LiveSectionConfig);\n const liveEventListService = inject(LiveEventListService);\n const stylesService = inject(StylesLazyLoadingService);\n\n const eventListService$ = liveEventListService\n .getEsports(liveConfig.maxLiveEventsPerSport)\n .pipe(tap((model) => liveEventListService.notifyParent(model)));\n\n const [result] = await Promise.all([firstValueFrom(eventListService$, { defaultValue: undefined }), stylesService.lazyLoad('live')]);\n\n return result;\n};\n\nexport const liveEsportsPreResolver = () => {\n const liveConfig = inject(LiveSectionConfig);\n const liveEventListService = inject(LiveEventListService);\n const stylesService = inject(StylesLazyLoadingService);\n\n firstValueFrom(liveEventListService.getEsports(liveConfig.maxLiveEventsPerSport), { defaultValue: undefined });\n stylesService.lazyLoad('live');\n};\n","import { Injectable } from '@angular/core';\n\nimport { OfferCategory } from '@cds/betting-offer';\nimport { OfferMapping } from '@cds/query-objects';\nimport { FavouritesConfig } from '@frontend/sports/common/client-config-data-access';\nimport { UserService } from '@frontend/sports/user/feature';\nimport { Observable, of, tap } from 'rxjs';\n\nimport { LiveFavouriteFixturesService } from '../favourites/live-favourites-fixtures.service';\nimport { LiveEventListService, LiveFavouritesModel } from './live-event-list.service';\n\n@Injectable({ providedIn: 'root' })\nexport class LiveFavouriteResolver {\n constructor(\n private liveEventListService: LiveEventListService,\n private liveFavouriteFixturesService: LiveFavouriteFixturesService,\n private favouritesConfig: FavouritesConfig,\n private userService: UserService,\n ) {}\n\n resolve(): Observable {\n if (this.favouritesConfig.isLiveFavouritesEnabled && this.userService.isAuthenticated) {\n this.liveFavouriteFixturesService.refresh(OfferMapping.Filtered, OfferCategory.Gridable);\n\n return this.liveEventListService.getFavourites().pipe(tap((model) => this.liveEventListService.notifyParent(model)));\n } else {\n return of(undefined);\n }\n }\n\n preResolve() {\n if (this.favouritesConfig.isLiveFavouritesEnabled && this.userService.isAuthenticated) {\n this.liveEventListService.getFavourites().subscribe();\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { firstValueFrom, tap } from 'rxjs';\n\nimport { StylesLazyLoadingService } from '../deferred/styles/style-loading.service';\nimport { LiveEventListService, LiveOverviewModel } from './live-event-list.service';\n\n@Injectable({ providedIn: 'root' })\nexport class LiveHighlightResolver {\n constructor(\n private liveEventListService: LiveEventListService,\n private stylesService: StylesLazyLoadingService,\n ) {}\n\n async resolve(): Promise {\n const eventListService$ = this.liveEventListService.getHighlights().pipe(tap((model) => this.liveEventListService.notifyParent(model)));\n\n const [result] = await Promise.all([firstValueFrom(eventListService$, { defaultValue: undefined }), this.stylesService.lazyLoad('live')]);\n\n return result;\n }\n\n preResolve() {\n this.liveEventListService.getHighlights().subscribe();\n this.stylesService.lazyLoad('live');\n }\n}\n","\n\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 { LiveUrlParam } from '../navigation-core/url-helper.service';\nimport { TabBarItem } from '../tab-bar/tab-bar.models';\nimport { LiveEventListService, LiveSportListModel } from './live-event-list.service';\n\n@HooksWireup()\n@Component({\n selector: 'ms-live-sport-list',\n templateUrl: 'live-sport-list.component.html',\n})\nexport class LiveSportListComponent extends OnRouteResolve {\n @HostBinding('class') className = 'live-sport-list';\n\n sports: TabBarItem[];\n\n constructor(\n public sitecore: Sitecore,\n private liveEventListService: LiveEventListService,\n route: ActivatedRoute,\n ) {\n super(route);\n }\n\n onRouteResolved(model: LiveSportListModel): void {\n if (!model) {\n return;\n }\n\n this.sports = this.liveEventListService\n .getSportTabs(model.sports, model.videoEventCount, LiveUrlParam.SportList)\n .filter(this.sportsFilter)\n .sort(this.sportsComparer);\n }\n\n private sportsFilter = (sport: TabBarItem): boolean =>\n sport.id !== LiveUrlParam.Highlights && sport.id !== LiveUrlParam.SportList && sport.id !== LiveUrlParam.Favourites;\n\n private sportsComparer = (first: TabBarItem, second: TabBarItem): number => {\n if (first.id === LiveUrlParam.Video) {\n return -1;\n } else if (second.id === LiveUrlParam.Video) {\n return 1;\n } else if (first.title! < second.title!) {\n return -1;\n } else if (first.title! > second.title!) {\n return 1;\n } else {\n return 0;\n }\n };\n}\n","import { Injectable } from '@angular/core';\n\nimport { Observable, tap } from 'rxjs';\n\nimport { LiveEventListService, LiveSportListModel } from './live-event-list.service';\n\n@Injectable({ providedIn: 'root' })\nexport class LiveSportListResolver {\n constructor(private service: LiveEventListService) {}\n\n resolve(): Observable {\n return this.service.getLiveSportsList().pipe(tap((model) => this.service.notifyParent(model)));\n }\n\n preResolve() {\n this.service.getLiveSportsList().subscribe();\n }\n}\n","import { Injectable, OnDestroy, inject } from '@angular/core';\nimport { ActivationEnd, ResolveEnd, Router } from '@angular/router';\n\nimport { OfferMapping } from '@cds/query-objects';\nimport { FavouritesConfig } from '@frontend/sports/common/client-config-data-access';\nimport { RouteTag } from '@frontend/sports/common/core/data-access/route';\nimport { DispatcherService } from '@frontend/sports/common/core/utils/dispatcher';\nimport { FavouriteChangeType, FavouritesService } from '@frontend/sports/favourites/core/feature';\nimport { filterSports, filterSportsEmitLast } from '@frontend/sports/host-app/sports-product/feature/utils';\nimport { Subject, filter, take, takeUntil } from 'rxjs';\n\nimport { LiveFavouriteFixturesService } from '../favourites/live-favourites-fixtures.service';\nimport { SlotLayoutService } from '../layout/slot-layout.service';\nimport { LiveUrlParam } from '../navigation-core/url-helper.service';\nimport { TrackNavArea } from '../navigation/navigation-tracking.model';\nimport { SportNavigationComponent } from '../navigation/sport-navigation/sport-navigation.component';\nimport { PopupManager } from '../popup/popup-manager.service';\nimport { TabBarItem } from '../tab-bar/tab-bar.models';\nimport { ILiveDispatcher, LiveDispatcherEvents } from './live-dispatcher-events';\nimport { BaseLiveSportsModel, LiveEventListService } from './live-event-list.service';\n\n@Injectable()\nexport class LiveSportNavigationService implements OnDestroy {\n private readonly layoutService = inject(SlotLayoutService);\n private readonly router = inject(Router);\n private readonly liveService = inject(LiveEventListService);\n private readonly dispatcher = inject(DispatcherService);\n private readonly liveFavouriteFixturesService = inject(LiveFavouriteFixturesService);\n private readonly popupManager = inject(PopupManager);\n private readonly favouritesConfig = inject(FavouritesConfig);\n private readonly favouritesService = inject(FavouritesService);\n\n sports?: TabBarItem[] = [];\n\n private readonly detached$ = new Subject();\n\n init(): void {\n if (!this.liveService.skipSportNavigation) {\n this.router.events\n .pipe(\n filterSports(),\n filter((e) => e instanceof ResolveEnd),\n take(1),\n )\n .subscribe(() => {\n this.layoutService.register(SportNavigationComponent, {\n attributes: { model: this.sports, tracking: TrackNavArea.NavLive },\n order: 20,\n });\n });\n this.router.events\n .pipe(\n filterSports(),\n filter((e) => {\n const isAzMenuOpened = this.popupManager.isPopupOpen('sports');\n if (!isAzMenuOpened && (e as any) instanceof ActivationEnd) {\n const event = e as ActivationEnd;\n\n return !!event.snapshot.data.model?.sports && event.snapshot.data.tag !== RouteTag.LiveLeague;\n }\n\n return false;\n }),\n takeUntil(this.detached$),\n )\n .subscribe((e) => {\n this.setSportNavigation((e as ActivationEnd).snapshot.data.model);\n });\n this.dispatcher\n .on(LiveDispatcherEvents.ChildViewDataUpdate)\n .pipe(filterSportsEmitLast(), takeUntil(this.detached$))\n .subscribe((model) => {\n this.setSportNavigation(model);\n });\n }\n if (this.favouritesConfig.isLiveFavouritesEnabled) {\n this.liveFavouriteFixturesService.change.pipe(filterSportsEmitLast(), takeUntil(this.detached$)).subscribe(() => this.setCount());\n this.favouritesService.change.pipe(filterSportsEmitLast(), takeUntil(this.detached$)).subscribe((favourites) => {\n const favouriteTab = this.sports?.find((tab) => tab.id === LiveUrlParam.Favourites);\n if (favouriteTab?.active) {\n return;\n }\n if (favourites.changeType === FavouriteChangeType.Remove) {\n this.liveFavouriteFixturesService.updateFixtureList();\n } else {\n this.liveFavouriteFixturesService.refresh(OfferMapping.None);\n }\n });\n }\n }\n\n detach(): void {\n this.detached$.next();\n if (!this.liveService.skipSportNavigation) {\n this.layoutService.remove(SportNavigationComponent);\n }\n }\n\n ngOnDestroy() {\n this.detach();\n }\n\n private setSportNavigation(model: BaseLiveSportsModel): void {\n this.sports!.length = 0;\n\n this.liveService.getSportTabs(model.sports, model.videoEventCount, model.tab).forEach((tab) => this.sports!.push(tab));\n this.setCount();\n }\n\n private setCount(): void {\n if (this.sports) {\n const favouriteTab = this.sports.find((tab) => tab.id === LiveUrlParam.Favourites);\n if (favouriteTab) {\n favouriteTab.count = this.liveFavouriteFixturesService.liveFixtures.length;\n\n if (favouriteTab.count) {\n favouriteTab.isHidden = false;\n } else {\n favouriteTab.isHidden = true;\n }\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Observable, tap } from 'rxjs';\n\nimport { LiveEventListService, LiveOverviewModel } from './live-event-list.service';\n\n@Injectable({ providedIn: 'root' })\nexport class LiveStreamResolver {\n constructor(private service: LiveEventListService) {}\n\n resolve(): Observable {\n return this.service.getLiveStreams().pipe(tap((model) => this.service.notifyParent(model)));\n }\n\n preResolve() {\n this.service.getLiveStreams().subscribe();\n }\n}\n","
\n @if (regions().length && !hideFilters) {\n
\n \n
    \n @for (region of regions(); track region.id) {\n
  • \n \n @if (region.icon) {\n \n }\n {{ region.title }}\n \n
  • \n }\n
\n
\n
\n }\n\n \n
\n\n
\n \n
\n","import { ChangeDetectorRef, Component, DestroyRef, HostBinding, OnDestroy, OnInit, computed, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivationEnd } from '@angular/router';\n\nimport { LiveSectionConfig, ScrollingSizeConfig, SkeletonConfig } from '@frontend/sports/common/client-config-data-access';\nimport { RouteTag } from '@frontend/sports/common/core/data-access/route';\nimport { RouterEventsService } from '@frontend/sports/common/core/utils/router-events';\nimport { ScrollContainerService } from '@frontend/sports/common/core/utils/scroll-container';\nimport { ThemeInverse } from '@frontend/sports/common/ui/shared';\nimport { DeviceService } from '@frontend/vanilla/core';\n\nimport { EpcotConfigService } from '../common/epcot-config.service';\nimport { HideHeaderService } from '../common/hide-header.service';\nimport { RedirectHelperService } from '../navigation-core/redirect-helper.service';\nimport { NavigationRouterService } from '../navigation/navigation-router.service';\nimport { PopupManager } from '../popup/popup-manager.service';\nimport { SkeletonPage } from '../skeleton-ui/skeleton-page.model';\nimport { SkeletonService } from '../skeleton-ui/skeleton.service';\nimport { TabBarItem } from '../tab-bar/tab-bar.models';\nimport { LiveEventListService, LiveSportOverviewModel } from './live-event-list.service';\nimport { LiveHistoryService } from './live-history.service';\nimport { LiveSportNavigationService } from './live-sport-navigation.service';\n\n@Component({\n selector: 'ms-live',\n templateUrl: 'live.component.html',\n styleUrls: ['live.component.scss'],\n})\nexport class LiveComponent implements OnInit, OnDestroy {\n @HostBinding('class') className = 'live-list';\n\n regions = signal([]);\n selectedRegion = computed(() => this.regions().find((r) => r.active) ?? null);\n\n hideFilters = false;\n skeletonPage: SkeletonPage | undefined;\n readonly isEpcotEnabled: boolean;\n readonly isMobileMode: boolean;\n themeInverseIndicator: ThemeInverse;\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(\n private routerHelper: RouterEventsService,\n private navigationRouter: NavigationRouterService,\n private liveHelper: LiveEventListService,\n private liveHistory: LiveHistoryService,\n public scrollConfig: ScrollingSizeConfig,\n private popupManager: PopupManager,\n private liveConfig: LiveSectionConfig,\n public device: DeviceService,\n private changeRef: ChangeDetectorRef,\n private skeletonService: SkeletonService,\n public skeletonConfig: SkeletonConfig,\n private liveSportNavigationService: LiveSportNavigationService,\n private scrollContainer: ScrollContainerService,\n private hideHeaderService: HideHeaderService,\n private epcotConfigService: EpcotConfigService,\n private redirect: RedirectHelperService,\n ) {\n if (skeletonConfig.isEnabled && !device.isRobot) {\n this.skeletonService.skeletonPage$?.pipe(takeUntilDestroyed()).subscribe((page: SkeletonPage | undefined) => {\n if (page === SkeletonPage.Live || page === undefined) {\n this.skeletonPage = page;\n }\n\n this.changeRef.markForCheck();\n });\n }\n if (this.scrollConfig.hideHeaderOnScroll.length > 0) {\n this.scrollContainer.scroll.pipe(takeUntilDestroyed()).subscribe(() => {\n this.hideHeaderService.onScroll();\n });\n }\n this.isEpcotEnabled = this.epcotConfigService.isEnabled();\n this.isMobileMode = this.device.isMobile;\n this.themeInverseIndicator = this.isMobileMode\n ? {\n 'mgm-4': { isInverse: true },\n }\n : {};\n }\n\n ngOnInit(): void {\n this.routerHelper.currentActivationEnd.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {\n const isAzMenuOpened = this.popupManager.isPopupOpen('sports');\n if (!isAzMenuOpened) {\n this.setNavigation(event);\n }\n });\n }\n\n ngOnDestroy(): void {\n this.liveSportNavigationService.detach();\n this.navigationRouter.resetNavigation();\n this.hideHeaderService.removeHideHeader();\n }\n\n onSelected(event: Event, selected: TabBarItem) {\n this.regions.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 private setNavigation(data: ActivationEnd | undefined): void {\n this.navigationRouter.setNavigation('live');\n\n if (!data || !data.snapshot.data.model || data.snapshot.data.tag === RouteTag.LiveLeague) {\n return;\n }\n\n this.liveHistory.saveRouteData(data);\n\n const routeData = data.snapshot.data.model;\n if (routeData.sports) {\n if (routeData.regions) {\n this.setRegionNavigation(routeData);\n } else {\n this.regions.set([]);\n }\n }\n if (routeData.selectedSportId) {\n this.hideFilters = this.liveConfig.hideFiltersForSportIds.includes(routeData.selectedSportId);\n }\n }\n\n private setRegionNavigation(model: LiveSportOverviewModel): void {\n const sport = model.sports.find((x) => x.id === model.selectedSportId);\n\n if (sport) {\n this.regions.set(this.liveHelper.getRegionTabs(model.regions, sport, model.selectedRegionId));\n }\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 { SitemapRoutingToken } from '../sitemap/sitemap-routing';\nimport { LiveBreadcrumbsResolver } from './live-breadcrumbs.resolver';\nimport { liveEsportsPreResolver, liveEsportsResolver } from './live-esports.resolver';\nimport { LiveEventListComponent } from './live-event-list.component';\nimport { LiveEventListResolver } from './live-event-list.resolver';\nimport { LiveFavouriteResolver } from './live-favourite.resolver';\nimport { LiveFavouritesOverviewComponent } from './live-favourites-overview.component';\nimport { LiveRootGuard, LiveSportGuard } from './live-guard.service';\nimport { LiveHighlightResolver } from './live-highlight.resolver';\nimport { LiveOverviewSubNavigationResolve } from './live-overview-subnavigation.service';\nimport { LiveOverviewComponent } from './live-overview.component';\nimport { LiveSportListComponent } from './live-sport-list.component';\nimport { LiveSportListResolver } from './live-sport-list.resolver';\nimport { LiveSportNavigationService } from './live-sport-navigation.service';\nimport { LiveStreamResolver } from './live-stream.resolver';\nimport { LiveComponent } from './live.component';\n\nconst routes: SportRoute[] = [\n {\n path: '',\n component: LiveComponent,\n data: {\n tag: RouteTag.Live,\n breadcrumbs: LiveBreadcrumbsResolver,\n subNavigation: LiveOverviewSubNavigationResolve,\n sitemap: SitemapRoutingToken.LiveSitemapResolver,\n },\n providers: [LiveSportNavigationService],\n resolve: {\n layout: () => {\n const liveSportNavigationService = inject(LiveSportNavigationService);\n liveSportNavigationService.init();\n },\n },\n children: [\n {\n path: '',\n canActivate: [LiveRootGuard],\n component: LiveSportListComponent,\n resolve: use(LiveSportListResolver),\n data: {\n preResolve: () => {\n inject(LiveSportListResolver).preResolve();\n },\n },\n },\n {\n path: '{all}',\n data: {\n tag: RouteTag.LiveAll,\n persist: true,\n preResolve: () => {\n inject(LiveSportListResolver).preResolve();\n },\n },\n component: LiveSportListComponent,\n resolve: use(LiveSportListResolver),\n },\n {\n path: '{video}',\n data: {\n tag: RouteTag.LiveVideo,\n persist: true,\n preResolve: () => {\n inject(LiveStreamResolver).preResolve();\n },\n },\n component: LiveOverviewComponent,\n resolve: use(LiveStreamResolver),\n },\n {\n path: '{betting}',\n data: {\n tag: RouteTag.LiveHighlights,\n persist: true,\n preResolve: () => {\n inject(LiveHighlightResolver).preResolve();\n },\n },\n component: LiveOverviewComponent,\n resolve: use(LiveHighlightResolver),\n },\n {\n path: '{favourites}',\n data: {\n persist: true,\n preResolve: () => {\n inject(LiveFavouriteResolver).preResolve();\n },\n },\n component: LiveFavouritesOverviewComponent,\n resolve: use(LiveFavouriteResolver),\n },\n {\n path: '{esports}',\n data: {\n tag: RouteTag.LiveEsports,\n persist: true,\n preResolve: liveEsportsPreResolver,\n },\n component: LiveOverviewComponent,\n resolve: { model: liveEsportsResolver },\n },\n {\n matcher: nameIdentifierMatcher,\n data: {\n matcherParam: 'sport',\n },\n children: [\n {\n path: '',\n runGuardsAndResolvers: paramsOrQueryParamsChange,\n canActivate: [LiveSportGuard],\n data: { tag: RouteTag.LiveSport, persist: true },\n component: LiveEventListComponent,\n resolve: use(LiveEventListResolver),\n },\n {\n matcher: nameIdentifierMatcher,\n data: {\n matcherParam: 'region',\n tag: RouteTag.LiveRegion,\n persist: true,\n },\n\n children: [\n {\n path: '',\n component: LiveEventListComponent,\n resolve: use(LiveEventListResolver),\n },\n\n {\n matcher: nameIdentifierMatcher,\n data: {\n matcherParam: 'league',\n tag: RouteTag.LiveLeague,\n persist: true,\n },\n\n children: [\n {\n path: '',\n component: LiveEventListComponent,\n resolve: use(LiveEventListResolver),\n },\n\n {\n matcher: nameIdentifierMatcher,\n data: {\n matcherParam: 'conference',\n tag: RouteTag.LiveConference,\n persist: true,\n },\n component: LiveEventListComponent,\n resolve: use(LiveEventListResolver),\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class LiveRoutingModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ScrollAdapterComponent } from '@frontend/sports/common/core/feature/scroll-adapter';\nimport { LinkDirective, SportsThemedPillsDirective } from '@frontend/sports/common/ui/sports-themed-pills';\nimport { DsPill } from '@frontend/ui/pill';\nimport { SpeculativeLinkDirective } from '@frontend/vanilla/features/speculative-link';\nimport { IconCustomComponent } from '@frontend/vanilla/shared/icons';\nimport { EffectsModule } from '@ngrx/effects';\n\nimport { BannerComponent } from '../banner/banner.component';\nimport { ErrorComponent } from '../common/error/error.component';\nimport { HeadingComponent } from '../common/heading.component';\nimport { ItemComponent } from '../common/item/item.component';\nimport { DirectivesModule } from '../directives/directives.module';\nimport { EventListSharedModule } from '../event-list-shared/event-list-shared.module';\nimport { FavouritesModule } from '../favourites/favourites.module';\nimport { GridModule } from '../grid/grid.module';\nimport { SkeletonModule } from '../skeleton-ui/skeleton.module';\nimport { TabBarModule } from '../tab-bar/tab-bar.module';\nimport { LiveBreadcrumbsResolver } from './live-breadcrumbs.resolver';\nimport { LiveEventListComponent } from './live-event-list.component';\nimport { LiveEventListResolver } from './live-event-list.resolver';\nimport { LiveFavouritesOverviewComponent } from './live-favourites-overview.component';\nimport { LiveGridFooterComponent } from './live-grid-footer.component';\nimport { LiveGridEffects } from './live-grid.epic';\nimport { LiveRootGuard, LiveSportGuard } from './live-guard.service';\nimport { LiveHistoryService } from './live-history.service';\nimport { LiveOverviewSubNavigationResolve } from './live-overview-subnavigation.service';\nimport { LiveOverviewComponent } from './live-overview.component';\nimport { LiveRoutingModule } from './live-routing.module';\nimport { LiveSportListComponent } from './live-sport-list.component';\nimport { LiveUpcomingListComponent } from './live-upcoming-list.component';\nimport { LiveComponent } from './live.component';\n\n@NgModule({\n imports: [\n BannerComponent,\n CommonModule,\n DirectivesModule,\n FavouritesModule,\n GridModule,\n EffectsModule.forFeature([LiveGridEffects]),\n LiveRoutingModule,\n EventListSharedModule,\n TabBarModule,\n SkeletonModule,\n ErrorComponent,\n ItemComponent,\n HeadingComponent,\n DsPill,\n ScrollAdapterComponent,\n LinkDirective,\n SpeculativeLinkDirective,\n IconCustomComponent,\n SportsThemedPillsDirective,\n ],\n declarations: [\n LiveComponent,\n LiveEventListComponent,\n LiveFavouritesOverviewComponent,\n LiveGridFooterComponent,\n LiveOverviewComponent,\n LiveSportListComponent,\n LiveUpcomingListComponent,\n ],\n exports: [LiveComponent, LiveEventListComponent, LiveFavouritesOverviewComponent, LiveOverviewComponent, LiveSportListComponent],\n providers: [LiveBreadcrumbsResolver, LiveEventListResolver, LiveHistoryService, LiveOverviewSubNavigationResolve, LiveRootGuard, LiveSportGuard],\n})\nexport class LiveModule {}\n"],"names":["LiveBreadcrumbsResolver","BreadcrumbsResolve","constructor","sitecore","urlHelper","deviceService","customResolve","model","isMobile","createCrumb","icon","title","globalMessages","NavLive","url","getLiveUrl","classes","filter","crumb","ɵɵinject","Sitecore","UrlHelperService","DeviceService","factory","ɵfac","_LiveBreadcrumbsResolver","rt","LiveDispatcherEvents","UpcomingTimeIntervalService","getInterval","now","Date","fromDate","getFormattedDate","toDate","baseDate","daysOffset","minutesOffset","getDateForOffset","toISOString","providedIn","_UpcomingTimeIntervalService","LiveEventListService","bettingOfferApi","liveConfig","upcomingTimeIntervalService","favouritesConfig","dispatcher","layoutNavConfig","statisticsConfigService","regionThreshold","upcomingPageSize","skipSportNavigation","maxOnHighlights","maxLiveEventsPerSport","maxUpcomingEventsPerSport","topNavigationVersion","TopNavigationVersion","V3","statisticsModes","getStatisticsModesBySportId","undefined","getHighlights","tagCounts","of","getTagCounts","tags","forkJoin","getLiveHighlights","pipe","map","highlights","tagCount","mapLiveOverviewResponse","LiveUrlParam","Highlights","getFavourites","data","mapLiveFavouritesOverviewResponse","getLiveStreams","getFixturesWithLiveStreams","Video","getLiveUpcomingStreams","getLiveSportsList","sportItems","sportModelMethods","fromTag","videoCount","getVideoStreamsCount","sports","videoEventCount","tab","SportList","getEsports","take","skip","sportId","combineLatest","getLiveEsports","iif","Esports","getSportCounts","withRegions","sport","find","s","id","regions","filterRegions","getUpcomingFixtures","params","interval","getUpcomingFixturesDatetimeInterval","getFixtureList","__spreadProps","__spreadValues","state","offerCategories","offerMapping","sortBy","sportIds","getIdValue","regionIds","regionId","tournamentIds","tournamentId","competitionIds","isVirtual","leagueId","virtualCompetitionIds","getFixtures","sorting","GridSorting","Time","conferenceIds","conferenceId","getLiveSports","requestForSport","switchMap","children","counts","live","fallback","type","ItemType","Tournament","Region","fixturePage","selectedSportId","selectedRegionId","hasTournaments","page","Competition","getLiveLeagues","selectedLeagueId","getSportTabs","videos","active","tabs","currentSports","isLiveFavouritesEnabled","push","Favourites","count","favouritesMessages","LiveTitle","isHidden","liveNavigation","ignoreBrowserHistory","firstEsportIndex","findIndex","isEsport","tabsLengthBeforeSports","length","forEach","name","getLiveSportUrl","liveEsports","liveEsportsCount","sumBy","splice","eSports","ESports","AZ","getRegionTabs","tournaments","isRegion","pills","region","code","unshift","Sport","getGridGrouping","events","fixturesStartDate","event","startDate","getDate","uniq","GridGrouping","None","League","notifyParent","dispatch","ChildViewDataUpdate","countItem","sportItem","childItem","liveStreaming","reduce","acc","entityId","toString","maxFixturesPerSport","getLiveHighlightsRequest","scoreboardMode","isUpcoming","request","fixtureTypes","tagTypes","join","extendedTags","getCounts","addCustomerDnaProfileId","upcomingInterval","from","to","BettingOfferApi","LiveSectionConfig","FavouritesConfig","DispatcherService","LayoutNavigationConfig","StatisticsConfigService","_LiveEventListService","D","ɵɵelementContainerStart","ɵɵlistener","ɵɵrestoreView","_r1","upcomingGrid_r2","ɵɵnextContext","$implicit","ctx_r2","ɵɵresetView","getMoreUpcoming","W","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵtemplate","LiveUpcomingListComponent_ng_container_0_div_2_ng_container_1_ng_container_1_ng_container_3_div_1_Template","ɵɵadvance","ɵɵproperty","ɵɵpureFunction0","_c0","_r4","ɵɵtext","ɵɵclassProp","loading","ɵɵtextInterpolate","MoreEvents","LiveUpcomingListComponent_ng_container_0_div_2_ng_container_1_ng_container_1_ng_container_1_Template","LiveUpcomingListComponent_ng_container_0_div_2_ng_container_1_ng_container_1_ng_container_3_Template","LiveUpcomingListComponent_ng_container_0_div_2_ng_container_1_ng_container_1_div_4_Template","v","loadOnScroll","gridModel_r5","tracking","more","LiveUpcomingListComponent_ng_container_0_div_2_ng_container_1_ng_container_1_Template","getLoadedEventsCountForGrid","LiveUpcomingListComponent_ng_container_0_div_2_ng_container_1_Template","ɵɵpipeBind1","grid","LiveUpcomingListComponent_ng_container_0_div_2_Template","Upcoming","upcoming","UpcomingGrid","getEvents","getState","LiveUpcomingListComponent","changeRef","totalUpcomingLoadedEventsCount","destroyRef","inject","DestroyRef","ngOnChanges","changes","getUpcoming","markForCheck","takeUntilDestroyed","subscribe","addEvents","gridModel","load","sportGrid","gridEventsCounts","sum","sumAllLoadedGridEventCounts","ɵɵdirectiveInject","ChangeDetectorRef","j","selectors","inputs","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","LiveUpcomingListComponent_ng_container_0_Template","LiveUpcomingListComponent_div_1_Template","St","Me","Ve","Le","ao","ge","_LiveUpcomingListComponent","LiveGridFooterComponent","className","AllLiveEventsForSport","replace","hostVars","hostBindings","ɵɵclassMap","ɵɵsanitizeHtml","Be","_LiveGridFooterComponent","ctx_r1","main","_r3","scrolledBottom","isLoading","liveGroupToggled","LiveEventListComponent_ng_container_0_ms_live_grid_footer_3_Template","LiveEventListComponent_ng_container_0_div_4_Template","LiveEventListComponent_ng_container_0_ms_live_upcoming_list_6_Template","gridModel_r4","showMore","upcomingLoaded","ErrNoEvents","LiveEventListComponent","_a","OnRouteResolve","liveEventListService","observableGridFactory","eventFactory","route","collapsedChangedState","eventsTotalCount","upcomingThreshold","loadUpcoming","getRegionId","getTournamentId","league","fixtures","fromResponse","getGridId","grouping","totalCount","moreUpcoming","mergeMap","create","onRouteResolved","destroy","sortedBy","totalCompetitions","resetUpcoming","options","liveGrid","current","getExpandedEventCount","showUpcoming","allEvents","hasEvents","next","eventCount","pageSize","finalize","result","forceLoad","liveKey","groups","g","collapsed","ObservableGridFactory","EventFactory","ActivatedRoute","viewQuery","vt","ke","ɵɵInheritDefinitionFeature","LiveEventListComponent_ng_container_0_Template","le","LiveEventListComponent_ng_template_2_Template","ɵɵtemplateRefExtractor","ut","error_r5","Tt","Se","__decorate","HooksWireup","__metadata","LiveEventListResolver","liveService","sortingState","device","gridConfig","stylesService","resolve","conference","parseInt","targetId","get","toBoolean","queryParams","getLeagueData","SportConstant","Tennis","isRobot","initialSize","lazyLoad","tap","match","RegExp","VirtualCompetitionPrefix","exec","SortingStateService","GridConfig","StylesLazyLoadingService","_LiveEventListResolver","gridModel_r2","goTo","gridFixture_r4","favouriteFixture","ɵɵtextInterpolate2","OpenAll","ɵɵtextInterpolate1","liveFixturesCount","isEpcotEnabled","LiveFavouritesOverviewComponent_Conditional_0_For_1_Conditional_1_Template","ɵɵconditional","tmp_11_0","ɵɵrepeaterCreate","LiveFavouritesOverviewComponent_Conditional_0_For_1_Template","ɵɵrepeaterTrackByIndex","ɵɵrepeater","gridFixtureList","LiveFavouritesOverviewComponent","liveFavouriteFixturesService","favouritesService","gridFactory","redirectHelper","changeDetector","epcotConfigService","mapToGridFixtureList","fixtureList","order","Infinity","isEnabled","change","refresh","refreshFavourites","goToLiveSport","liveFixtures","setFixtures","goToLive","destroyGrids","fixtureLists","LiveFavouriteFixturesService","FavouritesService","RedirectHelperService","EpcotConfigService","LiveFavouritesOverviewComponent_Conditional_0_Template","LiveGridEffects","routerEventsService","sortingStateService","actions$","store","isLivePage","liveTag","RouteTag","Live","LiveAll","LiveHighlights","LiveRegion","LiveSport","LiveVideo","LiveEsports","onSortingChange$","createEffect","ofType","GridActions","changeSorting","concatMap","action","withLatestFrom","payload","set","getRegionAndTournament","setEvents","currentActivationEnd","isDefined","lastRouteParams","snapshot","some","tag","RouterEventsService","Actions","Store","C","_LiveGridEffects","LiveHistoryService","getHistory","storageKey","saveRouteData","canBePersisted","clone","history","matchingIndex","findRouteIndex","h","isEqual","persist","_LiveHistoryService","SessionStoreService","LiveGuardBase","actions","Map","shouldRedirectToHighlights","bind","shouldRedirectToAllSports","shouldRedirectToSport","shouldRedirectToRegion","shouldRedirectToVideo","shouldRedirectToEsports","shouldRedirect","historyFilter","lastMatch","getLastRoute","has","redirectToDefault","findLast","historyEntry","routeData","countsModel","redirecting","isLive","overview","regionCountItem","item","isRedirecting","LiveRootGuard","canActivate","redirect","_LiveRootGuard","LiveSportGuard","routeEntry","matchRegion","r","entry","_LiveSportGuard","LiveOverviewSubNavigationResolve","SubNavigationResolve","layoutManager","liveNavConfig","urlHelperService","tabs$","getDefaultTabs","buildSubNavigation","layout","routeSnapshot","isLiveEventsNavigationEnabled","maxColumnCount","createSubnavTabs","LiveSubnavTabs","Overview","ColumnLayoutService","LiveNavigationConfig","t","_LiveOverviewSubNavigationResolve","$item","ctx_r0","currentGrid_r4","current_r5","loadMore","LiveOverviewComponent_Conditional_1_For_2_Conditional_0_Conditional_1_Conditional_3_Template","isEsportLoading","LiveOverviewComponent_Conditional_1_For_2_Conditional_0_Conditional_1_Template","shouldShowMore","LiveOverviewComponent_Conditional_1_For_2_Conditional_0_Template","_r2","LiveOverviewComponent_Conditional_1_For_2_Template","_forTrack0","LiveOverviewComponent_Conditional_1_Conditional_3_Template","LiveOverviewComponent","eventService","trackingService","shouldShowMoreButton","sportsOffer","offer","curentCount","getTracking","key","kebabCase","currentGrid","currentEsport","trackShowMoreButtonClick","EsportTrackingValues","gridName","track","trackingConstants","EVENT_TRACKING","COMPONENT_CATEGORY_EVENT","COMPONENT_LABEL_EVENT","LivePage","COMPONENT_ACTION_EVENT","COMPONENT_POSITION_EVENT","NOT_APPLICABLE","COMPONENT_LOCATION_EVENT","COMPONENT_EVENT_DETAILS","LivePageShowMoreCta","COMPONENT_URL_CLICKED","TrackingService","dt","gt","LiveOverviewComponent_Conditional_0_Template","LiveOverviewComponent_Conditional_1_Template","liveEsportsResolver","__async","eventListService$","Promise","all","firstValueFrom","defaultValue","liveEsportsPreResolver","LiveFavouriteResolver","userService","isAuthenticated","preResolve","UserService","_LiveFavouriteResolver","LiveHighlightResolver","_LiveHighlightResolver","sport_r2","tmp_7_0","LiveSportListComponent_ng_template_1_ms_item_1_Template","LiveSportListComponent","sportsFilter","sportsComparer","first","second","sort","LiveSportListComponent_ms_error_0_Template","LiveSportListComponent_ng_template_1_Template","listTemplate_r3","LiveSportListResolver","service","_LiveSportListResolver","LiveSportNavigationService","layoutService","SlotLayoutService","router","Router","popupManager","PopupManager","detached$","Subject","init","filterSports","e","ResolveEnd","register","SportNavigationComponent","attributes","TrackNavArea","isPopupOpen","ActivationEnd","LiveLeague","takeUntil","setSportNavigation","on","filterSportsEmitLast","setCount","favourites","favouriteTab","changeType","FavouriteChangeType","Remove","updateFixtureList","detach","remove","ngOnDestroy","_LiveSportNavigationService","LiveStreamResolver","_LiveStreamResolver","region_r2","$event","onSelected","LiveComponent_Conditional_1_For_4_Conditional_2_Template","themeInverseIndicator","tmp_14_0","selectedRegion","LiveComponent_Conditional_1_For_4_Template","isMobileMode","LiveComponent","routerHelper","navigationRouter","liveHelper","liveHistory","scrollConfig","skeletonService","skeletonConfig","liveSportNavigationService","scrollContainer","hideHeaderService","signal","computed","hideFilters","skeletonPage$","SkeletonPage","skeletonPage","hideHeaderOnScroll","scroll","onScroll","isInverse","ngOnInit","setNavigation","resetNavigation","removeHideHeader","selected","update","nav","goToPage","setRegionNavigation","hideFiltersForSportIds","includes","x","NavigationRouterService","ScrollingSizeConfig","SkeletonService","SkeletonConfig","ScrollContainerService","HideHeaderService","LiveComponent_Conditional_1_Template","ai","Si","Xi","_i","$i","Pi","Gi","Ai","_LiveComponent","routes","path","component","breadcrumbs","subNavigation","sitemap","SitemapRoutingToken","LiveSitemapResolver","providers","use","matcher","nameIdentifierMatcher","matcherParam","runGuardsAndResolvers","paramsOrQueryParamsChange","LiveConference","LiveRoutingModule","RouterModule","forChild","_LiveRoutingModule","LiveModule","imports","BannerComponent","CommonModule","DirectivesModule","FavouritesModule","GridModule","EffectsModule","forFeature","EventListSharedModule","TabBarModule","SkeletonModule","ErrorComponent","ItemComponent","IconCustomComponent","_LiveModule"],"mappings":"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"}