Clarify intent

This commit is contained in:
Eric Bailey
2024-10-27 12:58:09 -05:00
parent 4cfdd287e2
commit 1c913cad2d
5 changed files with 23 additions and 23 deletions
@@ -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) {
+5 -5
View File
@@ -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)
}, },
}) })
} }
+6 -6
View File
@@ -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 =
+5 -5
View File
@@ -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
}) })