|
|
|
|
@ -1,14 +1,20 @@ |
|
|
|
|
import { useEffect } from 'react' |
|
|
|
|
import { useHistory } from 'react-router' |
|
|
|
|
|
|
|
|
|
import { usePageLogger } from 'hooks/usePageLogger' |
|
|
|
|
|
|
|
|
|
import { ProfileHeader } from 'features/ProfileHeader' |
|
|
|
|
import { UserFavorites } from 'features/UserFavorites' |
|
|
|
|
import { useUserFavoritesStore } from 'features/UserFavorites/store' |
|
|
|
|
import { |
|
|
|
|
PageWrapper, |
|
|
|
|
Main, |
|
|
|
|
} from 'features/PageLayout' |
|
|
|
|
|
|
|
|
|
import { FavoritesActions } from 'requests' |
|
|
|
|
import { ProfileTypes } from 'config' |
|
|
|
|
|
|
|
|
|
import { usePageLogger } from 'hooks/usePageLogger' |
|
|
|
|
import { usePageParams } from 'hooks/usePageParams' |
|
|
|
|
|
|
|
|
|
import { SubscriptionGuard } from './components/SubscriptionGuard' |
|
|
|
|
import { MatchProfileCard } from './components/MatchProfileCard' |
|
|
|
|
import { FinishedMatch } from './components/FinishedMatch' |
|
|
|
|
@ -19,6 +25,7 @@ import { Wrapper } from './styled' |
|
|
|
|
const MatchPage = () => { |
|
|
|
|
usePageLogger() |
|
|
|
|
const history = useHistory() |
|
|
|
|
const { addRemoveFavorite, userFavorites } = useUserFavoritesStore() |
|
|
|
|
|
|
|
|
|
const { |
|
|
|
|
events, |
|
|
|
|
@ -26,6 +33,32 @@ const MatchPage = () => { |
|
|
|
|
profile, |
|
|
|
|
} = useMatchProfile() |
|
|
|
|
|
|
|
|
|
const { |
|
|
|
|
profileType, |
|
|
|
|
sportType, |
|
|
|
|
} = usePageParams() |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
let timer = 0 |
|
|
|
|
timer = window.setTimeout(() => { |
|
|
|
|
const isFavorite = profile && userFavorites.find((fav) => fav.id === profile?.tournament.id) |
|
|
|
|
if (profile && !isFavorite) { |
|
|
|
|
addRemoveFavorite({ |
|
|
|
|
action: FavoritesActions.ADD, |
|
|
|
|
id: profile?.tournament.id, |
|
|
|
|
isAuto: true, |
|
|
|
|
sport: sportType, |
|
|
|
|
type: ProfileTypes.TOURNAMENTS, |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
}, 60000) |
|
|
|
|
|
|
|
|
|
return () => { |
|
|
|
|
clearTimeout(timer) |
|
|
|
|
} |
|
|
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
|
|
|
}, [profile, profileType]) |
|
|
|
|
|
|
|
|
|
const playFromScout = profile?.has_video && !profile?.live |
|
|
|
|
const playFromOTT = !profile?.has_video && (profile?.live || profile?.storage) |
|
|
|
|
|
|
|
|
|
|