diff --git a/src/features/BuyMatchPopup/components/SelectSubscription/index.tsx b/src/features/BuyMatchPopup/components/SelectSubscription/index.tsx index f7d746a0..40ba62df 100644 --- a/src/features/BuyMatchPopup/components/SelectSubscription/index.tsx +++ b/src/features/BuyMatchPopup/components/SelectSubscription/index.tsx @@ -32,6 +32,7 @@ import { ChooseSubItem, ChooseSubList, } from './styled' +import { checkUrlParams, getAllUrlParams } from '../../../../helpers/parseUrlParams/parseUrlParams' export const SelectSubscriptionStep = () => { const { @@ -55,14 +56,18 @@ export const SelectSubscriptionStep = () => { return (
- - - {` ${MDASH} `} - - - - - + {(!checkUrlParams('subscribe') + && !getAllUrlParams('id')) + && ( + + + {` ${MDASH} `} + + + + + + )} diff --git a/src/features/BuyMatchPopup/store/hooks/useSubscriptions.tsx b/src/features/BuyMatchPopup/store/hooks/useSubscriptions.tsx index 0d063491..7e9710d1 100644 --- a/src/features/BuyMatchPopup/store/hooks/useSubscriptions.tsx +++ b/src/features/BuyMatchPopup/store/hooks/useSubscriptions.tsx @@ -22,6 +22,7 @@ import type { import { SubscriptionType } from '../../types' import { transformSubscriptions } from '../helpers' import { useSubscriptionsLexics } from './useSubscriptionsLexics' +import { checkUrlParams } from '../../../../helpers/parseUrlParams/parseUrlParams' const defaultSubscriptions: MatchSubscriptions = [] const defaultPeriod = SubscriptionType.Month @@ -36,6 +37,11 @@ const getInitialPeriod = (subscription?: MatchSubscription) => { || defaultPeriod } +export const MATCH_CONFIG = { + matchId: 2376841, + sportId: 1, +} + export const useSubscriptions = () => { const { suffix } = useLexicsStore() const { fetchLexics } = useSubscriptionsLexics() @@ -55,7 +61,13 @@ export const useSubscriptions = () => { ] = useState(null) const fetchSubscriptions = useCallback(async (match: Match) => { - const subscriptions = await getSubscriptions(match.sportType, match.id) + let subscriptions + if (checkUrlParams('id') && checkUrlParams('subscribe')) { + subscriptions = await getSubscriptions(MATCH_CONFIG.sportId, MATCH_CONFIG.matchId) + } else { + subscriptions = await getSubscriptions(match.sportType, match.id) + } + const convertedSubscriptions = transformSubscriptions({ match, subscriptions, diff --git a/src/features/TournamentPage/hooks.tsx b/src/features/TournamentPage/hooks.tsx index 0d6fa16e..bf414af0 100644 --- a/src/features/TournamentPage/hooks.tsx +++ b/src/features/TournamentPage/hooks.tsx @@ -6,19 +6,28 @@ import { import { useHistory } from 'react-router' import type { TournamentInfo } from 'requests' -import { getTournamentInfo, getTournamentMatches } from 'requests' +import { + getMatchInfo, + getTournamentInfo, + getTournamentMatches, + MatchInfo, +} from 'requests' -import { checkUrlParams } from 'helpers/parseUrlParams/parseUrlParams' +import { checkUrlParams, getAllUrlParams } from 'helpers/parseUrlParams/parseUrlParams' import { usePageParams } from 'hooks/usePageParams' import { useName } from 'features/Name' import { isPermittedTournament } from '../../helpers/isPermittedTournament' import { useProfileCard } from '../ProfileCard/hooks' +import { useBuyMatchPopupStore } from '../BuyMatchPopup' +import { MATCH_CONFIG } from '../BuyMatchPopup/store/hooks/useSubscriptions' +import { prepareMatchProfile } from '../MatchPage/helpers/prepareMatchProfile' export const useTournamentPage = () => { const [tournamentProfile, setTournamentProfile] = useState(null) const { profileId: tournamentId, sportType } = usePageParams() + const { open: openBuyMatchPopup } = useBuyMatchPopupStore() const country = useName(tournamentProfile?.country || {}) const history = useHistory() @@ -63,6 +72,22 @@ export const useTournamentPage = () => { name_rus: tournamentProfile.name_rus, } + useEffect(() => { + if ((checkUrlParams('subscribe') + && getAllUrlParams('id'))) { + getMatchInfo(MATCH_CONFIG.sportId, MATCH_CONFIG.matchId) + .then((match: MatchInfo) => { + const matchProfile = match && prepareMatchProfile({ + matchId: MATCH_CONFIG.matchId, + profile: match, + sportType: MATCH_CONFIG.sportId, + }) + matchProfile && openBuyMatchPopup(matchProfile) + }) + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []) + return { fetchMatches, headerImage: tournamentProfile?.header_image,