{"version":3,"file":"js/react/mls-match-hub-broadcasters-app.js?_t=6b3123d488d20a69deb3","mappings":";;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAGA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;AAEA;AAEA;AAEA;AACA;AAEA;AAGA;AAEA;AACA;AAAA;AAGA;AACA;AAAA;AAGA;AAwBA;AACA;AACA;AAAA;AACA;AACA;AACA;AAGA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AACA;AAUA;AAGA;AAEA;;;;;;;;;;;;;;;;ACnHA;AAEA;AACA;AAAA;AAEA;AAOA;AAEA;;;;;;;;;;;;;;;;ACdA;;;;;;;;;;;;;;;;;ACAA;AACA;AAEA;AACA;AAEA;AACA;AAEA;;;;;;;;;;;;;;;;ACTA;;;;;;;;;;;;;;;ACAA;AAAA;AAEA;;;;;;;;;;;;;;;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AAEA;AAEA;AACA;AAAA;AAEA;AAAA;AACA;AAEA;AAAA;AACA;AAGA;AAAA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAIA;AAMA;AAGA;AAAA;AACA;AACA;AACA;AACA;AACA;AAGA;AAEA;AACA;AACA;AAAA;AAEA;AACA;AAEA;AAIA;AAAA;AAGA;AAGA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA","sources":["webpack://@mlssoccer/netcore/./scripts/react/mls-match-hub-broadcasters/app.js","webpack://@mlssoccer/netcore/./scripts/react/mls-match-hub-broadcasters/main.js","webpack://@mlssoccer/netcore/./scripts/react/shared/components/ErrorDisplay/ErrorDisplay.js","webpack://@mlssoccer/netcore/./scripts/react/shared/components/ErrorDisplay/index.js","webpack://@mlssoccer/netcore/./scripts/react/shared/components/LoadingDisplay/LoadingDisplay.js","webpack://@mlssoccer/netcore/./scripts/react/shared/components/LoadingDisplay/index.js","webpack://@mlssoccer/netcore/./scripts/react/shared/components/LoadingDisplay/utils.js","webpack://@mlssoccer/netcore/./scripts/react/shared/hooks/useMatchStatus.js"],"sourcesContent":["export { default } from './main';\n","import React from 'react';\nimport { useQuery } from \"react-query\";\nimport { apiURL, d3SingleMatchAPI } from \"../shared/api/variables\";\nimport { fetchClient } from \"../shared/api/fetching\";\nimport ErrorDisplay from \"../shared/components/ErrorDisplay\";\nimport { statusTypes, useMediaProviders } from \"../mls-match-list/utils\";\nimport LoadingDisplay from \"../shared/components/LoadingDisplay\";\nimport Picture from \"../shared/components/Picture\";\nimport { useMatchStatus } from \"../shared/hooks/useMatchStatus\";\nimport { useReactAppState } from \"../shared/containers/utils\";\nimport { composeGeoLocatedProviders } from \"../shared/utils\";\n\nfunction MatchHubBroadcasters({ options }) {\n const { match: appMatch, t, matchStatusOverride, location } = useReactAppState();\n const { country } = location || {};\n const matchOptaId = options.matchOptaId || appMatch?.optaId;\n const homeFromServer = options.home;\n const awayFromServer = options.away;\n\n const { error, isLoading, isError, status: matchStatus, queryConfig } = useMatchStatus({\n initialState: {\n matchOptaId\n }\n });\n\n const status = matchStatusOverride?.abbreviation ? matchStatusOverride : matchStatus;\n\n const matchEndpoint = d3SingleMatchAPI({ matchOptaId });\n\n const {\n isLoading: isLoadingMatch,\n isError: isErrorMatch,\n data: match,\n error: matchError\n } = useQuery({\n queryKey: [`d3-match`, { matchOptaId }],\n queryFn: () => fetchClient({ endpoint: matchEndpoint, apiURL: apiURL.d3SportsAPI }),\n ...queryConfig\n });\n\n const { broadcasters, homeClubBroadcasters, awayClubBroadcasters, clubBroadcasters } = match || {};\n\n const mediaProviders = useMediaProviders({ broadcasters, clubBroadcasters, homeClubBroadcasters, awayClubBroadcasters, homeClub: homeFromServer, awayClub: awayFromServer });\n\n const { national, streaming, radio } = composeGeoLocatedProviders(mediaProviders, country);\n\n const { homeLinear, awayLinear, homeStreaming, awayStreaming, clubLinear, clubStreaming, clubRadio } = mediaProviders || {};\n \n const internationalStreamers =\n mediaProviders?.allProvidersList?.filter(\n (provider) =>\n provider?.broadcasterTypeLabel === \"brd_type_international_streaming\"\n ) || [];\n\n const mergedProviders = [...internationalStreamers, ...national, ...streaming, ...radio, ...(homeLinear != null ? homeLinear : []), ...(awayLinear != null ? awayLinear : []), ...(homeStreaming != null ? homeStreaming : []), ...(awayStreaming != null ? awayStreaming : []), ...(clubLinear != null ? clubLinear : []), ...(clubStreaming != null ? clubStreaming : []), ...(clubRadio != null ? clubRadio : [])];\n\n if (!matchOptaId) {\n return null;\n }\n\n if (status?.abbreviation !== statusTypes.pre && status?.abbreviation !== statusTypes.live) {\n return null;\n }\n\n return (\n isLoadingMatch || isLoading\n ? (\n
\n {error.message}\n
\n