From 7769f5249f110fff67408564b6faf6a1ce81d15f Mon Sep 17 00:00:00 2001 From: myxmaster Date: Wed, 27 Sep 2023 23:01:03 +0200 Subject: [PATCH 1/3] display amount and conversion on Receive QR code screen --- components/CollapsedQR.tsx | 21 +++++++++++++++++++-- views/Receive.tsx | 10 +++++++++- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/components/CollapsedQR.tsx b/components/CollapsedQR.tsx index 3a00280d9..e6c7fa784 100644 --- a/components/CollapsedQR.tsx +++ b/components/CollapsedQR.tsx @@ -4,11 +4,13 @@ import QRCode from 'react-native-qrcode-svg'; import HCESession, { NFCContentType, NFCTagType4 } from 'react-native-hce'; -import Button from './../components/Button'; +import Amount from './Amount'; +import Button from './Button'; import CopyButton from './CopyButton'; import { localeString } from './../utils/LocaleUtils'; import { themeColor } from './../utils/ThemeUtils'; import Touchable from './Touchable'; +import Conversion from './Conversion'; const logo = require('../assets/images/Launcher.png'); @@ -51,6 +53,7 @@ interface CollapsedQRProps { expanded?: boolean; textBottom?: boolean; truncateLongValue?: boolean; + satAmount?: string; } interface CollapsedQRState { @@ -117,13 +120,27 @@ export default class CollapsedQR extends React.Component< hideText, expanded, textBottom, - truncateLongValue + truncateLongValue, + satAmount } = this.props; const { width, height } = Dimensions.get('window'); return ( + {satAmount && ( + + + + + + + )} {!hideText && !textBottom && ( )} {haveInvoice && !creatingInvoiceError && ( - + {selectedIndex == 0 && !belowDustLimit && haveUnifiedInvoice && ( @@ -1324,6 +1324,7 @@ export default class Receive extends React.Component< expanded textBottom truncateLongValue + satAmount={satAmount} /> )} {selectedIndex == 1 && @@ -1338,6 +1339,7 @@ export default class Receive extends React.Component< expanded textBottom truncateLongValue + satAmount={satAmount} /> )} {selectedIndex == 2 && @@ -1352,6 +1354,11 @@ export default class Receive extends React.Component< expanded textBottom truncateLongValue + satAmount={ + satAmount === '0' + ? undefined + : satAmount + } /> )} {selectedIndex !== 2 && @@ -1366,6 +1373,7 @@ export default class Receive extends React.Component< expanded textBottom truncateLongValue + satAmount={satAmount} /> )} Date: Tue, 3 Oct 2023 22:03:37 +0200 Subject: [PATCH 2/3] added amount to invoice QR code if it has amount --- components/CollapsedQR.tsx | 2 +- views/PaymentRequest.tsx | 5 ++++- views/QR.tsx | 20 +++++++++++++++----- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/components/CollapsedQR.tsx b/components/CollapsedQR.tsx index e6c7fa784..e223cf7e4 100644 --- a/components/CollapsedQR.tsx +++ b/components/CollapsedQR.tsx @@ -53,7 +53,7 @@ interface CollapsedQRProps { expanded?: boolean; textBottom?: boolean; truncateLongValue?: boolean; - satAmount?: string; + satAmount?: string | number; } interface CollapsedQRState { diff --git a/views/PaymentRequest.tsx b/views/PaymentRequest.tsx index 7680b54ea..aee113e64 100644 --- a/views/PaymentRequest.tsx +++ b/views/PaymentRequest.tsx @@ -340,7 +340,10 @@ export default class PaymentRequest extends React.Component< { - navigation.navigate('QR', { value: paymentRequest }); + navigation.navigate('QR', { + value: paymentRequest, + satAmount: requestAmount + }); }} color={themeColor('text')} underlayColor="transparent" diff --git a/views/QR.tsx b/views/QR.tsx index e587ace9e..3500b2fe2 100644 --- a/views/QR.tsx +++ b/views/QR.tsx @@ -11,20 +11,25 @@ interface QRProps { interface QRState { value: string; + satAmount?: number; } export default class QR extends React.PureComponent { constructor(props: any) { super(props); const value: string = this.props.navigation.getParam('value', ''); + const satAmount: number | undefined = + this.props.navigation.getParam('satAmount'); + this.state = { - value + value, + satAmount }; } render() { const { navigation } = this.props; - const { value } = this.state; + const { value, satAmount } = this.state; return ( @@ -38,11 +43,16 @@ export default class QR extends React.PureComponent { /> - + ); From 4bff79ab6d6230d0143b1ceed9ed6ee00ed2de72 Mon Sep 17 00:00:00 2001 From: myxmaster Date: Sun, 8 Oct 2023 15:55:47 +0200 Subject: [PATCH 3/3] display amount over activity invoice QR --- components/CollapsedQR.tsx | 2 +- views/Invoice.tsx | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/components/CollapsedQR.tsx b/components/CollapsedQR.tsx index e223cf7e4..9cc7377db 100644 --- a/components/CollapsedQR.tsx +++ b/components/CollapsedQR.tsx @@ -128,7 +128,7 @@ export default class CollapsedQR extends React.Component< return ( - {satAmount && ( + {satAmount != null && ( { cltv_expiry, expirationDate, getPaymentRequest, - getKeysendMessage + getKeysendMessage, + getAmount } = invoice; const privateInvoice = invoice.private; const noteKey = getRPreimage || payment_hash; @@ -68,7 +69,10 @@ export default class InvoiceView extends React.Component { { - navigation.navigate('QR', { value: getPaymentRequest }); + navigation.navigate('QR', { + value: getPaymentRequest, + satAmount: getAmount + }); }} color={themeColor('text')} underlayColor="transparent"