From b964bbf521845c262b67f63c2f994134e9c90ec2 Mon Sep 17 00:00:00 2001 From: Franklin Date: Tue, 26 Dec 2023 22:52:07 -0500 Subject: [PATCH 1/4] wip --- apps/expo/package.json | 1 + apps/expo/src/app/_layout.tsx | 4 +- apps/expo/src/app/portal/(modals)/pdf.tsx | 54 +++++++++++++++++-- .../src/app/portal/(tabs)/account/billing.tsx | 1 + pnpm-lock.yaml | 13 +++++ 5 files changed, 68 insertions(+), 5 deletions(-) diff --git a/apps/expo/package.json b/apps/expo/package.json index 811dadc3..5c3c14e6 100644 --- a/apps/expo/package.json +++ b/apps/expo/package.json @@ -71,6 +71,7 @@ "react-native-safe-area-context": "4.6.3", "react-native-screens": "~3.22.1", "react-native-svg": "^13.9.0", + "react-native-toast-message": "^2.2.0", "superjson": "^2.2.1" }, "devDependencies": { diff --git a/apps/expo/src/app/_layout.tsx b/apps/expo/src/app/_layout.tsx index 7bbdf231..2a7901ae 100644 --- a/apps/expo/src/app/_layout.tsx +++ b/apps/expo/src/app/_layout.tsx @@ -1,4 +1,5 @@ -import { Slot, SplashScreen } from "expo-router"; +import Toast from "react-native-toast-message"; +import { Slot } from "expo-router"; import { StatusBar } from "expo-status-bar"; import { TRPCProvider } from "~/utils/api"; @@ -17,6 +18,7 @@ const RootLayout = () => { + ); }; diff --git a/apps/expo/src/app/portal/(modals)/pdf.tsx b/apps/expo/src/app/portal/(modals)/pdf.tsx index 6c58f651..76575dd3 100644 --- a/apps/expo/src/app/portal/(modals)/pdf.tsx +++ b/apps/expo/src/app/portal/(modals)/pdf.tsx @@ -1,23 +1,69 @@ import React from "react"; -import { SafeAreaView, useWindowDimensions } from "react-native"; +import { SafeAreaView, Text, useWindowDimensions, View } from "react-native"; import Pdf from "react-native-pdf"; +import Toast from "react-native-toast-message"; import { Stack, useLocalSearchParams } from "expo-router"; import { LeftHeaderDone, RightHeaderShare, } from "~/components/ui/headers/pdf-header"; +import { Button } from "~/components/ui/rn-ui/button"; +import { api } from "~/utils/api"; export default function PDFPage() { - const { url } = useLocalSearchParams<{ url: string }>(); + const { url, patientId } = useLocalSearchParams<{ + url: string; + patientId: string; + }>(); const { width, height } = useWindowDimensions(); - console.log(url); - const source = { uri: url, cache: true }; + const createPayment = api.payment.createPayment.useMutation({ + onSuccess: () => { + Toast.show({ + type: "success", + text1: "Payment created successfully", + }); + }, + onError: (error) => { + Toast.show({ + type: "error", + text1: "Payment failed", + text2: error.message, + }); + }, + }); + + const onCreatePayment = async (value: number) => { + await createPayment.mutateAsync({ + body: { + request: { + reference: `Patient/${patientId}`, + }, + amount: { + value, + }, + payment: {}, + recipient: {}, + status: "active", + }, + }); + }; + return ( + + + Date: Wed, 27 Dec 2023 15:54:52 -0500 Subject: [PATCH 2/4] chore: payment bill --- apps/expo/src/app/portal/(modals)/pdf.tsx | 26 +++++++++++++++-------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/apps/expo/src/app/portal/(modals)/pdf.tsx b/apps/expo/src/app/portal/(modals)/pdf.tsx index 76575dd3..f128d088 100644 --- a/apps/expo/src/app/portal/(modals)/pdf.tsx +++ b/apps/expo/src/app/portal/(modals)/pdf.tsx @@ -1,5 +1,5 @@ -import React from "react"; -import { SafeAreaView, Text, useWindowDimensions, View } from "react-native"; +import React, { useState } from "react"; +import { SafeAreaView, Text, useWindowDimensions, View, TextInput, Button } from "react-native"; import Pdf from "react-native-pdf"; import Toast from "react-native-toast-message"; import { Stack, useLocalSearchParams } from "expo-router"; @@ -8,7 +8,6 @@ import { LeftHeaderDone, RightHeaderShare, } from "~/components/ui/headers/pdf-header"; -import { Button } from "~/components/ui/rn-ui/button"; import { api } from "~/utils/api"; export default function PDFPage() { @@ -19,6 +18,7 @@ export default function PDFPage() { const { width, height } = useWindowDimensions(); const source = { uri: url, cache: true }; + const [value, setValue] = useState("0"); const createPayment = api.payment.createPayment.useMutation({ onSuccess: () => { @@ -37,6 +37,7 @@ export default function PDFPage() { }); const onCreatePayment = async (value: number) => { + console.log("VALUE", value) await createPayment.mutateAsync({ body: { request: { @@ -54,16 +55,23 @@ export default function PDFPage() { return ( - + + + disabled={value === "0"} + color="#007AFF" + title="Pay Bill" + /> + Date: Fri, 29 Dec 2023 08:04:42 -0500 Subject: [PATCH 3/4] chore: clean up and update pay bill in account tab --- apps/expo/src/app/portal/(modals)/pdf.tsx | 60 +----------------- .../src/app/portal/(tabs)/account/_layout.tsx | 11 ++++ .../src/app/portal/(tabs)/account/billing.tsx | 1 - .../src/app/portal/(tabs)/account/index.tsx | 16 +++-- .../app/portal/(tabs)/account/pay-bill.tsx | 61 +++++++++++++++++++ 5 files changed, 85 insertions(+), 64 deletions(-) create mode 100644 apps/expo/src/app/portal/(tabs)/account/pay-bill.tsx diff --git a/apps/expo/src/app/portal/(modals)/pdf.tsx b/apps/expo/src/app/portal/(modals)/pdf.tsx index 1248f08b..e70f316a 100644 --- a/apps/expo/src/app/portal/(modals)/pdf.tsx +++ b/apps/expo/src/app/portal/(modals)/pdf.tsx @@ -1,76 +1,22 @@ -import React, { useState } from "react"; -import { SafeAreaView, Text, useWindowDimensions, View, TextInput, Button } from "react-native"; +import React from "react"; +import { SafeAreaView, useWindowDimensions, } from "react-native"; import Pdf from "react-native-pdf"; -import Toast from "react-native-toast-message"; import { Stack, useLocalSearchParams } from "expo-router"; import { LeftHeaderDone, RightHeaderShare, } from "~/components/ui/headers/pdf-header"; -import { api } from "~/utils/api"; export default function PDFPage() { - const { url, patientId } = useLocalSearchParams<{ + const { url } = useLocalSearchParams<{ url: string; - patientId: string; }>(); const { width, height } = useWindowDimensions(); const source = { uri: url, cache: true }; - const [value, setValue] = useState("0"); - - const createPayment = api.payment.createPayment.useMutation({ - onSuccess: () => { - Toast.show({ - type: "success", - text1: "Payment created successfully", - }); - }, - onError: (error) => { - Toast.show({ - type: "error", - text1: "Payment failed", - text2: error.message, - }); - }, - }); - - const onCreatePayment = async (value: number) => { - console.log("VALUE", value) - await createPayment.mutateAsync({ - body: { - request: { - reference: `Patient/${patientId}`, - }, - amount: { - value, - }, - payment: {}, - recipient: {}, - status: "active", - }, - }); - }; - return ( - - - + + ) +} From a27d26ebe92b345f391273f67cba82f4197c3e01 Mon Sep 17 00:00:00 2001 From: Franklin Date: Fri, 29 Dec 2023 08:07:38 -0500 Subject: [PATCH 4/4] chore: clean up and update pay bill in account tab --- apps/expo/src/app/portal/(tabs)/account/_layout.tsx | 4 ++-- apps/expo/src/app/portal/(tabs)/account/index.tsx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/expo/src/app/portal/(tabs)/account/_layout.tsx b/apps/expo/src/app/portal/(tabs)/account/_layout.tsx index 752851c2..4d0829ad 100644 --- a/apps/expo/src/app/portal/(tabs)/account/_layout.tsx +++ b/apps/expo/src/app/portal/(tabs)/account/_layout.tsx @@ -17,7 +17,7 @@ export default function AccountLayout() { router.push("/portal/(tabs)/account/pay-bill"), }, ];