fix(926): added subs purchase params to request (#330)

keep-around/af30b88d367751c9e05a735e4a0467a96238ef47
Mirlan 5 years ago committed by GitHub
parent aba64b45b8
commit 7185e83d3b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      src/features/BuyMatchPopup/store/hooks/index.tsx
  2. 5
      src/features/BuyMatchPopup/store/hooks/useSubscriptions.tsx
  3. 16
      src/requests/buyMatchSubscriptions.tsx

@ -40,15 +40,11 @@ export const useBuyMatchPopup = () => {
setSteps([Steps.Subscriptions])
}
const closePopup = () => {
setMatch(null)
setSteps([])
}
const {
fetchSubscriptions,
onPeriodSelect,
onSubscriptionSelect,
resetSubscriptions,
selectedPeriod,
selectedSubscriptions,
subscribeToMatches,
@ -56,6 +52,12 @@ export const useBuyMatchPopup = () => {
totalPrice,
} = useSubscriptions(goTo)
const closePopup = () => {
setMatch(null)
setSteps([])
resetSubscriptions()
}
useEffect(() => {
if (match) {
fetchSubscriptions()

@ -5,7 +5,6 @@ import {
useCallback,
} from 'react'
import map from 'lodash/map'
import sumBy from 'lodash/sumBy'
import filter from 'lodash/filter'
import without from 'lodash/without'
@ -54,12 +53,12 @@ export const useSubscriptions = (goTo: (step: Steps) => void) => {
const resetSubscriptions = useCallback(() => {
setSelectedPeriod(SubscriptionType.Month)
setSelectedSubscriptions([])
setSubscriptionsList([])
}, [])
const subscribeToMatches = (e: MouseEvent) => {
e.stopPropagation()
const ids = map(selectedSubscriptions, ({ id }) => id)
buyMatchSubscriptions(ids)
buyMatchSubscriptions(selectedSubscriptions)
.then(() => goTo(Steps.Success))
.catch(() => goTo(Steps.Error))
}

@ -3,11 +3,19 @@ import map from 'lodash/map'
import { API_ROOT } from 'config'
import { callApi } from 'helpers'
const buyMatchSubscription = (subscriptionId: number) => {
import type { SubscriptionType } from 'features/BuyMatchPopup/types'
type Subscription = {
id: number,
type: SubscriptionType,
}
const buyMatchSubscription = ({ id, type }: Subscription) => {
const config = {
body: {
_p_interval: type,
is_scheduled: 0,
subscription_plan: subscriptionId,
subscription_plan: id,
},
}
@ -17,6 +25,6 @@ const buyMatchSubscription = (subscriptionId: number) => {
})
}
export const buyMatchSubscriptions = (subscriptionIds: Array<number>) => (
Promise.all(map(subscriptionIds, buyMatchSubscription))
export const buyMatchSubscriptions = (subscriptions: Array<Subscription>) => (
Promise.all(map(subscriptions, buyMatchSubscription))
)

Loading…
Cancel
Save