From b02f5ea10da5ebb09f7bfa53d00b6b30b0377438 Mon Sep 17 00:00:00 2001 From: Ian Lin Date: Thu, 16 Nov 2023 16:04:21 +0800 Subject: [PATCH] add DatabaseScreen. --- dev-app/src/App.tsx | 6 ++ dev-app/src/screens/DatabaseScreen.tsx | 90 ++++++++++++++++++++++++++ dev-app/src/screens/HomeScreen.tsx | 31 +++++++-- 3 files changed, 122 insertions(+), 5 deletions(-) create mode 100644 dev-app/src/screens/DatabaseScreen.tsx diff --git a/dev-app/src/App.tsx b/dev-app/src/App.tsx index 3b2b67b6..a3b6592b 100644 --- a/dev-app/src/App.tsx +++ b/dev-app/src/App.tsx @@ -36,6 +36,7 @@ import { import { Alert, LogBox } from 'react-native'; import { AppContext } from './AppContext'; +import DatabaseScreen from './screens/DatabaseScreen'; export type RouteParamList = { UpdateReader: { @@ -214,6 +215,11 @@ export default function App() { options={{ headerTitle: 'Merchant Select' }} component={MerchantSelectScreen} /> + (null); + const currencySymbols = [ + { value: 'usd', label: '$' }, + { value: 'gbp', label: '£' }, + { value: 'cad', label: 'C$' }, + { value: 'sgd', label: 'S$' }, + { value: 'eur', label: '€' }, + { value: 'aud', label: 'A$' }, + { value: 'nzd', label: 'NZ$' }, + { value: 'dkk', label: 'DKr' }, + { value: 'sek', label: 'Kr' }, + ]; + const { getOfflineStatus } = useStripeTerminal(); + function getCurrencySymbols(currency: string): string { + console.log('getCurrencySymbols = ' + currency); + let currencySymbol = '$'; + currencySymbols.map((a) => { + if (currency === a.value) { + currencySymbol = a.label; + } + }); + return currencySymbol; + } + + useEffect(() => { + async function getOfflinePaymentStatus() { + const status = await getOfflineStatus(); + setOfflinePaymentStatus(status); + } + getOfflinePaymentStatus(); + }, [getOfflineStatus]); + + return ( + + + {offlinePaymentStatus && + offlinePaymentStatus.sdk.offlinePaymentsCount > 0 ? ( + Object.keys( + offlinePaymentStatus.sdk.offlinePaymentAmountsByCurrency + ).map((key) => ( + + )) + ) : ( + <> + )} + + + {' '} + {String( + offlinePaymentStatus + ? offlinePaymentStatus.sdk.offlinePaymentsCount + : 0 + ) + + ' payment intent(s) for ' + + account?.settings?.dashboard.display_name}{' '} + + + ); +} + +const styles = StyleSheet.create({ + container: { + backgroundColor: colors.light_gray, + height: '100%', + paddingVertical: 22, + }, + infoText: { + color: colors.dark_gray, + paddingHorizontal: 16, + marginVertical: 16, + }, +}); diff --git a/dev-app/src/screens/HomeScreen.tsx b/dev-app/src/screens/HomeScreen.tsx index e2a179a3..da8c9da3 100644 --- a/dev-app/src/screens/HomeScreen.tsx +++ b/dev-app/src/screens/HomeScreen.tsx @@ -37,6 +37,7 @@ export default function HomeScreen() { setOnline(status.networkStatus == 'online' ? true : false); }, onDidForwardingFailure(error) { + console.log('onDidForwardingFailure ' + error?.message); let toast = Toast.show(error?.message ? error.message : 'unknown error', { duration: Toast.durations.LONG, position: Toast.positions.BOTTOM, @@ -51,6 +52,7 @@ export default function HomeScreen() { }, 3000); }, onDidForwardPaymentIntent(paymentIntent) { + console.log('onDidForwardPaymentIntent = ' + paymentIntent.id); let toast = Toast.show( 'Payment Intent ' + paymentIntent.id + ' forwarded', { @@ -135,6 +137,14 @@ export default function HomeScreen() { }} /> + + { + navigation.navigate('DatabaseScreen'); + }} + /> + ); @@ -177,7 +187,7 @@ export default function HomeScreen() { renderConnectedContent ) : ( <> - + - + + { + navigation.navigate('DatabaseScreen'); + }} + /> + + +