Clarify intent
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
import {RawSubscriptionObject} from '#/state/purchases/subscriptions/api/types'
|
import {RawSubscriptionObject} from '#/state/purchases/subscriptions/api/types'
|
||||||
|
|
||||||
export async function getSubscriptions({
|
export async function getMainSubscriptions({
|
||||||
did,
|
did,
|
||||||
platform,
|
platform,
|
||||||
}: {
|
}: {
|
||||||
@@ -8,7 +8,7 @@ export async function getSubscriptions({
|
|||||||
platform: 'web' | 'ios' | 'android'
|
platform: 'web' | 'ios' | 'android'
|
||||||
}) {
|
}) {
|
||||||
const res = await fetch(
|
const res = await fetch(
|
||||||
`https://bsky-purchases.ngrok.io/subscriptions?user=${did}&platform=${platform}`,
|
`https://bsky-purchases.ngrok.io/subscriptions/main?user=${did}&platform=${platform}`,
|
||||||
)
|
)
|
||||||
|
|
||||||
if (!res.ok) {
|
if (!res.ok) {
|
||||||
|
|||||||
@@ -2,15 +2,15 @@ import Purchases from 'react-native-purchases'
|
|||||||
import {useMutation, useQuery} from '@tanstack/react-query'
|
import {useMutation, useQuery} from '@tanstack/react-query'
|
||||||
|
|
||||||
import {isAndroid} from '#/platform/detection'
|
import {isAndroid} from '#/platform/detection'
|
||||||
import {getSubscriptions} from '#/state/purchases/subscriptions/api'
|
import {getMainSubscriptions} from '#/state/purchases/subscriptions/api'
|
||||||
import {
|
import {
|
||||||
Subscription,
|
Subscription,
|
||||||
Subscriptions,
|
Subscriptions,
|
||||||
} from '#/state/purchases/subscriptions/types'
|
} from '#/state/purchases/subscriptions/types'
|
||||||
import {organizeSubscriptionsByTier} from '#/state/purchases/subscriptions/util'
|
import {organizeMainSubscriptionsByTier} from '#/state/purchases/subscriptions/util'
|
||||||
import {useSession} from '#/state/session'
|
import {useSession} from '#/state/session'
|
||||||
|
|
||||||
export function useAvailableSubscriptions() {
|
export function useMainSubscriptions() {
|
||||||
const {currentAccount} = useSession()
|
const {currentAccount} = useSession()
|
||||||
const did = currentAccount!.did
|
const did = currentAccount!.did
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ export function useAvailableSubscriptions() {
|
|||||||
Purchases.setEmail(currentAccount!.email!)
|
Purchases.setEmail(currentAccount!.email!)
|
||||||
|
|
||||||
const platform = isAndroid ? 'android' : ('ios' as const)
|
const platform = isAndroid ? 'android' : ('ios' as const)
|
||||||
const rawSubscriptions = await getSubscriptions({
|
const rawSubscriptions = await getMainSubscriptions({
|
||||||
did: currentAccount!.did,
|
did: currentAccount!.did,
|
||||||
platform,
|
platform,
|
||||||
})
|
})
|
||||||
@@ -51,7 +51,7 @@ export function useAvailableSubscriptions() {
|
|||||||
})
|
})
|
||||||
.filter(Boolean) as Subscription[]
|
.filter(Boolean) as Subscription[]
|
||||||
|
|
||||||
return organizeSubscriptionsByTier(subscriptions)
|
return organizeMainSubscriptionsByTier(subscriptions)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,23 +2,23 @@ import {Linking} from 'react-native'
|
|||||||
import {useMutation, useQuery} from '@tanstack/react-query'
|
import {useMutation, useQuery} from '@tanstack/react-query'
|
||||||
|
|
||||||
import {useCurrencyFormatter} from '#/lib/currency'
|
import {useCurrencyFormatter} from '#/lib/currency'
|
||||||
import {getSubscriptions} from '#/state/purchases/subscriptions/api'
|
import {getMainSubscriptions} from '#/state/purchases/subscriptions/api'
|
||||||
import {
|
import {
|
||||||
Subscription,
|
Subscription,
|
||||||
Subscriptions,
|
Subscriptions,
|
||||||
} from '#/state/purchases/subscriptions/types'
|
} from '#/state/purchases/subscriptions/types'
|
||||||
import {organizeSubscriptionsByTier} from '#/state/purchases/subscriptions/util'
|
import {organizeMainSubscriptionsByTier} from '#/state/purchases/subscriptions/util'
|
||||||
import {useSession} from '#/state/session'
|
import {useSession} from '#/state/session'
|
||||||
import {BSKY_PURCHASES_API} from '#/env'
|
import {BSKY_PURCHASES_API} from '#/env'
|
||||||
|
|
||||||
export function useAvailableSubscriptions() {
|
export function useMainSubscriptions() {
|
||||||
const {currentAccount} = useSession()
|
const {currentAccount} = useSession()
|
||||||
const currencyFormatter = useCurrencyFormatter()
|
const currencyFormatter = useCurrencyFormatter()
|
||||||
|
|
||||||
return useQuery<Subscriptions>({
|
return useQuery<Subscriptions>({
|
||||||
queryKey: ['availableSubscriptions', currentAccount!.did],
|
queryKey: ['availableSubscriptions', currentAccount!.did],
|
||||||
async queryFn() {
|
async queryFn() {
|
||||||
const rawSubscriptions = await getSubscriptions({
|
const rawSubscriptions = await getMainSubscriptions({
|
||||||
did: currentAccount!.did,
|
did: currentAccount!.did,
|
||||||
platform: 'web',
|
platform: 'web',
|
||||||
})
|
})
|
||||||
@@ -40,7 +40,7 @@ export function useAvailableSubscriptions() {
|
|||||||
return subscription
|
return subscription
|
||||||
})
|
})
|
||||||
|
|
||||||
return organizeSubscriptionsByTier(subscriptions)
|
return organizeMainSubscriptionsByTier(subscriptions)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,12 +3,12 @@ import {PurchasesStoreProduct} from 'react-native-purchases'
|
|||||||
import {RawSubscriptionObjectBase} from '#/state/purchases/subscriptions/api/types'
|
import {RawSubscriptionObjectBase} from '#/state/purchases/subscriptions/api/types'
|
||||||
|
|
||||||
export enum SubscriptionId {
|
export enum SubscriptionId {
|
||||||
Tier0MonthlyAuto = '0:monthly:auto',
|
Main0MonthlyAuto = 'main:0:monthly:auto',
|
||||||
Tier0AnnualAuto = '0:annual:auto',
|
Main0AnnualAuto = 'main:0:annual:auto',
|
||||||
Tier1MonthlyAuto = '1:monthly:auto',
|
Main1MonthlyAuto = 'main:1:monthly:auto',
|
||||||
Tier1AnnualAuto = '1:annual:auto',
|
Main1AnnualAuto = 'main:1:annual:auto',
|
||||||
Tier2MonthlyAuto = '2:monthly:auto',
|
Main2MonthlyAuto = 'main:2:monthly:auto',
|
||||||
Tier2AnnualAuto = '2:annual:auto',
|
Main2AnnualAuto = 'main:2:annual:auto',
|
||||||
}
|
}
|
||||||
|
|
||||||
export type Subscription =
|
export type Subscription =
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import {Subscription, Subscriptions} from './types'
|
import {Subscription, Subscriptions} from './types'
|
||||||
|
|
||||||
export function organizeSubscriptionsByTier(
|
export function organizeMainSubscriptionsByTier(
|
||||||
subscriptions: Subscription[],
|
subscriptions: Subscription[],
|
||||||
): Subscriptions {
|
): Subscriptions {
|
||||||
const result: Subscriptions = {
|
const result: Subscriptions = {
|
||||||
@@ -14,13 +14,13 @@ export function organizeSubscriptionsByTier(
|
|||||||
}
|
}
|
||||||
|
|
||||||
result.monthly = result.monthly.sort((a, b) => {
|
result.monthly = result.monthly.sort((a, b) => {
|
||||||
const _a = parseInt(a.id.slice(0, 1))
|
const _a = parseInt(a.id.split(':')[1])
|
||||||
const _b = parseInt(b.id.slice(0, 1))
|
const _b = parseInt(b.id.split(':')[1])
|
||||||
return _a - _b
|
return _a - _b
|
||||||
})
|
})
|
||||||
result.annual = result.annual.sort((a, b) => {
|
result.annual = result.annual.sort((a, b) => {
|
||||||
const _a = parseInt(a.id.slice(0, 1))
|
const _a = parseInt(a.id.split(':')[1])
|
||||||
const _b = parseInt(b.id.slice(0, 1))
|
const _b = parseInt(b.id.split(':')[1])
|
||||||
return _a - _b
|
return _a - _b
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user