From c9ebead9a424f7be27f63e5a6a99499a3311c6ea Mon Sep 17 00:00:00 2001 From: G Date: Wed, 19 Jun 2024 16:37:58 +0000 Subject: [PATCH] the screen will now require the full wave response. --- src/hooks/useWave.tsx | 21 ++++++++++++++++++--- src/navigations/Types.ts | 3 ++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/hooks/useWave.tsx b/src/hooks/useWave.tsx index f8912a8..f4f1261 100644 --- a/src/hooks/useWave.tsx +++ b/src/hooks/useWave.tsx @@ -113,9 +113,7 @@ const useWave = ( // log.info("Opening browser for payment..."); log.info("Navigating to the qr code screen..."); closeModal(); - navigation - ?.getParent() - ?.navigate("waveQrCodePaymentScreen", { paymentUrl: response.wave_launch_url }); + navigation?.getParent()?.navigate("waveQrCodePaymentScreen", { data: response }); // await openBrowserThenCheckStatus(response.wave_launch_url, response.id); } catch (error) { @@ -124,9 +122,26 @@ const useWave = ( } }; + const handlePaymentVerification = async (id: string) => { + log.info("handlePaymentVerification |", id); + try { + showModal(); + const response = await waveTransactionStatusMutation.mutateAsync(id); + closeModal(); + } catch (error) { + log.error("handlePaymentVerification |", error); + // closeModal(); + // showModal(); + } finally { + // TODO : remove this finally block once a proper implementation workflow is set. currently we close the modal after logging whatever response we get from the request + closeModal(); + } + }; + return { waveTransactionInitializerMutation, waveTransactionHandler, + handlePaymentVerification, }; }; diff --git a/src/navigations/Types.ts b/src/navigations/Types.ts index c13a917..3092510 100644 --- a/src/navigations/Types.ts +++ b/src/navigations/Types.ts @@ -1,4 +1,5 @@ import type { PaymentCode } from "@/utils/requests/Types"; +import type { IwaveStarterRespone } from "@/utils/requests/wavePayment"; import type { NativeStackScreenProps } from "@react-navigation/native-stack"; export type IpaymentStackNavigator = { @@ -22,7 +23,7 @@ export type ImainStackNavigator = { appBottomTabsNavigator: undefined; paymentResultScreen: undefined; waveQrCodePaymentScreen: { - paymentUrl: string; + data: IwaveStarterRespone; }; }; -- libgit2 0.27.1