feat(2295): calling a procedure when opening a match save_user_favorite

keep-around/2c7175983ebf0b12b8a4e3b0b7c8f3d04602097e
Berdyshev Oleksandr 4 years ago
parent cceca8287d
commit 2c7175983e
  1. 37
      src/features/MatchPage/index.tsx
  2. 3
      src/requests/modifyUserSportFavs.tsx

@ -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)

@ -28,6 +28,7 @@ type Response = {
type Args = {
action: FavoritesActions,
id: number,
isAuto?: boolean,
sport: SportTypes,
type: ProfileTypes,
}
@ -36,6 +37,7 @@ type Args = {
export const modifyUserFavorites = async ({
action,
id,
isAuto = false,
sport,
type,
}: Args) => {
@ -44,6 +46,7 @@ export const modifyUserFavorites = async ({
params: {
_p_action: action,
_p_id: id,
_p_is_auto_add: isAuto,
_p_sport: sport,
_p_type: type,
},

Loading…
Cancel
Save