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