From bf7dbc342d78f52398a876191371096979b35edc Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Sat, 26 Oct 2024 11:36:12 -0500 Subject: [PATCH] Add purchase linking --- src/env.ts | 2 ++ src/state/purchases/subscriptions/index.web.ts | 10 ++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/env.ts b/src/env.ts index ea456cf76a..52969274dd 100644 --- a/src/env.ts +++ b/src/env.ts @@ -10,3 +10,5 @@ export const LOG_LEVEL = (process.env.EXPO_PUBLIC_LOG_LEVEL || 'info') as export const RC_GOOGLE_PUBLIC_KEY = process.env.EXPO_PUBLIC_RC_GOOGLE_PUBLIC_KEY || '' +export const BSKY_PURCHASES_API = + process.env.EXPO_PUBLIC_BSKY_PURCHASES_API || '' diff --git a/src/state/purchases/subscriptions/index.web.ts b/src/state/purchases/subscriptions/index.web.ts index b5d6aa1beb..759030ea91 100644 --- a/src/state/purchases/subscriptions/index.web.ts +++ b/src/state/purchases/subscriptions/index.web.ts @@ -1,3 +1,4 @@ +import {Linking} from 'react-native' import {useMutation, useQuery} from '@tanstack/react-query' import {useCurrencyFormatter} from '#/lib/currency' @@ -14,6 +15,7 @@ import { organizeSubscriptionsByTier, } from '#/state/purchases/subscriptions/util' import {useSession} from '#/state/session' +import {BSKY_PURCHASES_API} from '#/env' export function useAvailableSubscriptions() { const {currentAccount} = useSession() @@ -22,7 +24,7 @@ export function useAvailableSubscriptions() { return useQuery({ queryKey: ['availableSubscriptions', currentAccount!.did], async queryFn() { - const res = await fetch(`http://localhost:8787/getWebOffers`).then(res => + const res = await fetch(`${BSKY_PURCHASES_API}/getWebOffers`).then(res => res.json(), ) const filtered = res.filter((item: any) => @@ -37,7 +39,11 @@ export function useAvailableSubscriptions() { export function usePurchaseSubscription() { return useMutation({ - async mutationFn(_priceObject: any) {}, + async mutationFn(priceObject: any) { + Linking.openURL( + `${BSKY_PURCHASES_API}/initCheckout/${priceObject.price_id}`, + ) + }, }) }