{"version":3,"file":"live.module-lkvypz7x.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\nexport type RegionBarItem = Omit & {\n url: string;\n};\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): RegionBarItem[] {\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 = 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);\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 @if (skeletonPage) {\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, RegionBarItem } 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","upcomingInterval","from","to","BettingOfferApi","LiveSectionConfig","FavouritesConfig","DispatcherService","LayoutNavigationConfig","StatisticsConfigService","C","_LiveEventListService","ɵɵelementContainerStart","ɵɵlistener","ɵɵrestoreView","_r1","upcomingGrid_r2","ɵɵnextContext","$implicit","ctx_r2","ɵɵresetView","getMoreUpcoming","ɵɵproperty","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵtemplate","LiveUpcomingListComponent_ng_container_0_div_2_ng_container_1_ng_container_1_ng_container_3_div_1_Template","ɵɵadvance","ɵɵpureFunction0","_c0","_r4","ɵɵtext","v","ɵɵ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","loadOnScroll","gridModel_r5","tracking","more","LiveUpcomingListComponent_ng_container_0_div_2_ng_container_1_ng_container_1_Template","W","getLoadedEventsCountForGrid","LiveUpcomingListComponent_ng_container_0_div_2_ng_container_1_Template","le","ɵɵ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","De","Le","ao","ge","_LiveUpcomingListComponent","LiveGridFooterComponent","className","AllLiveEventsForSport","replace","hostVars","hostBindings","ɵɵclassMap","ɵɵsanitizeHtml","Be","_LiveGridFooterComponent","ctx_r1","main","D","_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","LiveEventListComponent_ng_template_2_Template","ɵɵtemplateRefExtractor","error_r5","__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","_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","skeletonPage","LiveComponent","routerHelper","navigationRouter","liveHelper","liveHistory","scrollConfig","skeletonService","skeletonConfig","liveSportNavigationService","scrollContainer","hideHeaderService","signal","computed","hideFilters","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","LiveComponent_Conditional_4_Template","ci","Li","Xi","xi","Ft","Ai","$i","Gi","_LiveComponent","routes","path","component","breadcrumbs","subNavigation","sitemap","SitemapRoutingToken","LiveSitemapResolver","providers","use","matcher","nameIdentifierMatcher","matcherParam","runGuardsAndResolvers","paramsOrQueryParamsChange","LiveConference","LiveRoutingModule","mt","RouterModule","forChild","_LiveRoutingModule","LiveModule","pt","imports","BannerComponent","CommonModule","DirectivesModule","FavouritesModule","GridModule","EffectsModule","forFeature","EventListSharedModule","TabBarModule","SkeletonModule","ErrorComponent","ItemComponent","ScrollAdapterComponent","IconCustomComponent","_LiveModule"],"mappings":"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"}