react-native-fpay 0.2.9 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/FountainPayProvider.js +5 -1
- package/lib/module/FountainPayProvider.js.map +1 -1
- package/lib/module/core/api/index.js +22 -12
- package/lib/module/core/api/index.js.map +1 -1
- package/lib/module/engine/BLEReceiverService.js.map +1 -1
- package/lib/module/engine/FPEngine.js +24 -13
- package/lib/module/engine/FPEngine.js.map +1 -1
- package/lib/module/engine/useIsForeground.js +17 -0
- package/lib/module/engine/useIsForeground.js.map +1 -0
- package/lib/module/ui/components/AnimatedDots.js +68 -0
- package/lib/module/ui/components/AnimatedDots.js.map +1 -0
- package/lib/module/ui/components/ConfirmScreen.js +333 -0
- package/lib/module/ui/components/ConfirmScreen.js.map +1 -0
- package/lib/module/ui/modals/FPPaymentRequestModal.js +6 -8
- package/lib/module/ui/modals/FPPaymentRequestModal.js.map +1 -1
- package/lib/module/ui/modals/FPShell.js +7 -4
- package/lib/module/ui/modals/FPShell.js.map +1 -1
- package/lib/module/ui/screens/ReceiveScreen.js +379 -274
- package/lib/module/ui/screens/ReceiveScreen.js.map +1 -1
- package/lib/module/ui/screens/SendScreen.js +154 -45
- package/lib/module/ui/screens/SendScreen.js.map +1 -1
- package/lib/module/ui/screens/styles.js +89 -0
- package/lib/module/ui/screens/styles.js.map +1 -0
- package/lib/module/ui/screens/sub/receivePayment/Nfc/index.js +361 -0
- package/lib/module/ui/screens/sub/receivePayment/Nfc/index.js.map +1 -0
- package/lib/module/ui/screens/sub/receivePayment/Qr/index.js +338 -0
- package/lib/module/ui/screens/sub/receivePayment/Qr/index.js.map +1 -0
- package/lib/module/ui/screens/sub/receivePayment/Transfer/index.js +453 -0
- package/lib/module/ui/screens/sub/receivePayment/Transfer/index.js.map +1 -0
- package/lib/module/ui/screens/sub/{BluetoothSubScreen.js → sendPayment/BluetoothSubScreen.js} +25 -32
- package/lib/module/ui/screens/sub/sendPayment/BluetoothSubScreen.js.map +1 -0
- package/lib/module/ui/screens/sub/sendPayment/NFCSubScreen.js +354 -0
- package/lib/module/ui/screens/sub/sendPayment/NFCSubScreen.js.map +1 -0
- package/lib/module/ui/screens/sub/sendPayment/NQRSubScreen.js +440 -0
- package/lib/module/ui/screens/sub/sendPayment/NQRSubScreen.js.map +1 -0
- package/lib/module/ui/screens/sub/{ProximitySubScreen.js → sendPayment/ProximitySubScreen.js} +20 -111
- package/lib/module/ui/screens/sub/sendPayment/ProximitySubScreen.js.map +1 -0
- package/lib/module/ui/screens/sub/sendPayment/TransferSubScreen.js +327 -0
- package/lib/module/ui/screens/sub/sendPayment/TransferSubScreen.js.map +1 -0
- package/lib/typescript/src/FountainPayProvider.d.ts.map +1 -1
- package/lib/typescript/src/core/api/index.d.ts +20 -27
- package/lib/typescript/src/core/api/index.d.ts.map +1 -1
- package/lib/typescript/src/core/types/index.d.ts +56 -13
- package/lib/typescript/src/core/types/index.d.ts.map +1 -1
- package/lib/typescript/src/engine/BLEReceiverService.d.ts +2 -0
- package/lib/typescript/src/engine/BLEReceiverService.d.ts.map +1 -1
- package/lib/typescript/src/engine/FPEngine.d.ts +3 -1
- package/lib/typescript/src/engine/FPEngine.d.ts.map +1 -1
- package/lib/typescript/src/engine/useIsForeground.d.ts +2 -0
- package/lib/typescript/src/engine/useIsForeground.d.ts.map +1 -0
- package/lib/typescript/src/ui/components/AnimatedDots.d.ts +2 -0
- package/lib/typescript/src/ui/components/AnimatedDots.d.ts.map +1 -0
- package/lib/typescript/src/ui/components/ConfirmScreen.d.ts +10 -0
- package/lib/typescript/src/ui/components/ConfirmScreen.d.ts.map +1 -0
- package/lib/typescript/src/ui/components/OtpInput/Styles.d.ts +3 -3
- package/lib/typescript/src/ui/modals/FPPaymentRequestModal.d.ts.map +1 -1
- package/lib/typescript/src/ui/modals/FPShell.d.ts.map +1 -1
- package/lib/typescript/src/ui/screens/ReceiveScreen.d.ts +2 -9
- package/lib/typescript/src/ui/screens/ReceiveScreen.d.ts.map +1 -1
- package/lib/typescript/src/ui/screens/SendScreen.d.ts +4 -2
- package/lib/typescript/src/ui/screens/SendScreen.d.ts.map +1 -1
- package/lib/typescript/src/ui/screens/styles.d.ts +1390 -0
- package/lib/typescript/src/ui/screens/styles.d.ts.map +1 -0
- package/lib/typescript/src/ui/screens/sub/receivePayment/Nfc/index.d.ts +10 -0
- package/lib/typescript/src/ui/screens/sub/receivePayment/Nfc/index.d.ts.map +1 -0
- package/lib/typescript/src/ui/screens/sub/receivePayment/Qr/index.d.ts +10 -0
- package/lib/typescript/src/ui/screens/sub/receivePayment/Qr/index.d.ts.map +1 -0
- package/lib/typescript/src/ui/screens/sub/receivePayment/Transfer/index.d.ts +5 -0
- package/lib/typescript/src/ui/screens/sub/receivePayment/Transfer/index.d.ts.map +1 -0
- package/lib/typescript/src/ui/screens/sub/{BluetoothSubScreen.d.ts → sendPayment/BluetoothSubScreen.d.ts} +2 -11
- package/lib/typescript/src/ui/screens/sub/sendPayment/BluetoothSubScreen.d.ts.map +1 -0
- package/lib/typescript/src/ui/screens/sub/sendPayment/NFCSubScreen.d.ts +3 -0
- package/lib/typescript/src/ui/screens/sub/sendPayment/NFCSubScreen.d.ts.map +1 -0
- package/lib/typescript/src/ui/screens/sub/sendPayment/NQRSubScreen.d.ts +3 -0
- package/lib/typescript/src/ui/screens/sub/sendPayment/NQRSubScreen.d.ts.map +1 -0
- package/lib/typescript/src/ui/screens/sub/{ProximitySubScreen.d.ts → sendPayment/ProximitySubScreen.d.ts} +2 -10
- package/lib/typescript/src/ui/screens/sub/sendPayment/ProximitySubScreen.d.ts.map +1 -0
- package/lib/typescript/src/ui/screens/sub/sendPayment/TransferSubScreen.d.ts +3 -0
- package/lib/typescript/src/ui/screens/sub/sendPayment/TransferSubScreen.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/FountainPayProvider.tsx +7 -1
- package/src/core/api/index.ts +34 -19
- package/src/core/types/index.ts +67 -13
- package/src/engine/BLEReceiverService.ts +2 -0
- package/src/engine/FPEngine.ts +29 -14
- package/src/engine/useIsForeground.ts +18 -0
- package/src/ui/components/AnimatedDots.tsx +81 -0
- package/src/ui/components/ConfirmScreen.tsx +421 -0
- package/src/ui/modals/FPPaymentRequestModal.tsx +7 -6
- package/src/ui/modals/FPShell.tsx +9 -9
- package/src/ui/screens/ReceiveScreen.tsx +266 -115
- package/src/ui/screens/SendScreen.tsx +141 -19
- package/src/ui/screens/styles.ts +101 -0
- package/src/ui/screens/sub/receivePayment/Nfc/index.tsx +418 -0
- package/src/ui/screens/sub/receivePayment/Qr/index.tsx +391 -0
- package/src/ui/screens/sub/receivePayment/Transfer/index.tsx +512 -0
- package/src/ui/screens/sub/{BluetoothSubScreen.tsx → sendPayment/BluetoothSubScreen.tsx} +27 -46
- package/src/ui/screens/sub/sendPayment/NFCSubScreen.tsx +302 -0
- package/src/ui/screens/sub/sendPayment/NQRSubScreen.tsx +490 -0
- package/src/ui/screens/sub/{ProximitySubScreen.tsx → sendPayment/ProximitySubScreen.tsx} +24 -44
- package/src/ui/screens/sub/sendPayment/TransferSubScreen.tsx +345 -0
- package/lib/module/ui/screens/sub/BluetoothSubScreen.js.map +0 -1
- package/lib/module/ui/screens/sub/NFCSubScreen.js +0 -164
- package/lib/module/ui/screens/sub/NFCSubScreen.js.map +0 -1
- package/lib/module/ui/screens/sub/NQRSubScreen.js +0 -131
- package/lib/module/ui/screens/sub/NQRSubScreen.js.map +0 -1
- package/lib/module/ui/screens/sub/ProximitySubScreen.js.map +0 -1
- package/lib/module/ui/screens/sub/TransferSubScreen.js +0 -353
- package/lib/module/ui/screens/sub/TransferSubScreen.js.map +0 -1
- package/lib/typescript/src/ui/screens/sub/BluetoothSubScreen.d.ts.map +0 -1
- package/lib/typescript/src/ui/screens/sub/NFCSubScreen.d.ts +0 -18
- package/lib/typescript/src/ui/screens/sub/NFCSubScreen.d.ts.map +0 -1
- package/lib/typescript/src/ui/screens/sub/NQRSubScreen.d.ts +0 -12
- package/lib/typescript/src/ui/screens/sub/NQRSubScreen.d.ts.map +0 -1
- package/lib/typescript/src/ui/screens/sub/ProximitySubScreen.d.ts.map +0 -1
- package/lib/typescript/src/ui/screens/sub/TransferSubScreen.d.ts +0 -11
- package/lib/typescript/src/ui/screens/sub/TransferSubScreen.d.ts.map +0 -1
- package/src/ui/screens/sub/NFCSubScreen.tsx +0 -86
- package/src/ui/screens/sub/NQRSubScreen.tsx +0 -62
- package/src/ui/screens/sub/TransferSubScreen.tsx +0 -147
|
@@ -0,0 +1,453 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useState } from 'react';
|
|
4
|
+
import { Share, Clipboard } from 'react-native';
|
|
5
|
+
import styled from 'styled-components/native';
|
|
6
|
+
import { Buffer } from 'buffer';
|
|
7
|
+
import Ionicons from 'react-native-vector-icons/Ionicons';
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
// Styled Components
|
|
10
|
+
const Container = styled.View`
|
|
11
|
+
flex: 1;
|
|
12
|
+
background-color: #f5f5f5;
|
|
13
|
+
padding-bottom: 60%;
|
|
14
|
+
`;
|
|
15
|
+
const Header = styled.View`
|
|
16
|
+
flex-direction: row;
|
|
17
|
+
align-items: center;
|
|
18
|
+
padding: 16px;
|
|
19
|
+
padding-top: 40px;
|
|
20
|
+
background-color: #ffffff;
|
|
21
|
+
border-bottom-width: 1px;
|
|
22
|
+
border-bottom-color: #e0e0e0;
|
|
23
|
+
`;
|
|
24
|
+
const BackButton = styled.TouchableOpacity`
|
|
25
|
+
padding: 8px;
|
|
26
|
+
`;
|
|
27
|
+
const BackIcon = styled.Text`
|
|
28
|
+
font-size: 24px;
|
|
29
|
+
color: #000000;
|
|
30
|
+
`;
|
|
31
|
+
const HeaderTitle = styled.Text`
|
|
32
|
+
flex: 1;
|
|
33
|
+
font-size: 18px;
|
|
34
|
+
font-weight: 600;
|
|
35
|
+
color: #000000;
|
|
36
|
+
text-align: center;
|
|
37
|
+
margin-right: 40px;
|
|
38
|
+
`;
|
|
39
|
+
const ScrollContainer = styled.ScrollView`
|
|
40
|
+
flex: 1;
|
|
41
|
+
|
|
42
|
+
`;
|
|
43
|
+
const ContentContainer = styled.View`
|
|
44
|
+
padding: 24px;
|
|
45
|
+
`;
|
|
46
|
+
const InfoBanner = styled.View`
|
|
47
|
+
background-color: #E8F5F1;
|
|
48
|
+
border-radius: 12px;
|
|
49
|
+
padding: 16px;
|
|
50
|
+
margin-bottom: 24px;
|
|
51
|
+
flex-direction: row;
|
|
52
|
+
align-items: flex-start;
|
|
53
|
+
`;
|
|
54
|
+
const InfoIcon = styled.Text`
|
|
55
|
+
font-size: 20px;
|
|
56
|
+
margin-right: 12px;
|
|
57
|
+
`;
|
|
58
|
+
const InfoText = styled.Text`
|
|
59
|
+
flex: 1;
|
|
60
|
+
font-size: 13px;
|
|
61
|
+
color: #00A876;
|
|
62
|
+
line-height: 20px;
|
|
63
|
+
`;
|
|
64
|
+
const AmountCard = styled.View`
|
|
65
|
+
background-color: #ffffff;
|
|
66
|
+
border-radius: 16px;
|
|
67
|
+
padding: 24px;
|
|
68
|
+
align-items: center;
|
|
69
|
+
margin-bottom: 24px;
|
|
70
|
+
shadow-color: #000;
|
|
71
|
+
shadow-offset: 0px 2px;
|
|
72
|
+
shadow-opacity: 0.05;
|
|
73
|
+
shadow-radius: 8px;
|
|
74
|
+
elevation: 3;
|
|
75
|
+
`;
|
|
76
|
+
const AmountLabel = styled.Text`
|
|
77
|
+
font-size: 14px;
|
|
78
|
+
color: #666666;
|
|
79
|
+
margin-bottom: 8px;
|
|
80
|
+
`;
|
|
81
|
+
const AmountText = styled.Text`
|
|
82
|
+
font-size: 42px;
|
|
83
|
+
font-weight: 700;
|
|
84
|
+
color: #0a3d2e;
|
|
85
|
+
margin-bottom: 8px;
|
|
86
|
+
`;
|
|
87
|
+
const DescriptionText = styled.Text`
|
|
88
|
+
font-size: 14px;
|
|
89
|
+
color: #999999;
|
|
90
|
+
font-style: italic;
|
|
91
|
+
`;
|
|
92
|
+
const SectionTitle = styled.Text`
|
|
93
|
+
font-size: 15px;
|
|
94
|
+
font-weight: 600;
|
|
95
|
+
color: #333333;
|
|
96
|
+
margin-bottom: 16px;
|
|
97
|
+
`;
|
|
98
|
+
const DetailsCard = styled.View`
|
|
99
|
+
background-color: #ffffff;
|
|
100
|
+
border-radius: 16px;
|
|
101
|
+
padding: 20px;
|
|
102
|
+
margin-bottom: 24px;
|
|
103
|
+
shadow-color: #000;
|
|
104
|
+
shadow-offset: 0px 2px;
|
|
105
|
+
shadow-opacity: 0.05;
|
|
106
|
+
shadow-radius: 8px;
|
|
107
|
+
elevation: 3;
|
|
108
|
+
`;
|
|
109
|
+
const DetailItem = styled.View`
|
|
110
|
+
margin-bottom: 20px;
|
|
111
|
+
`;
|
|
112
|
+
const DetailLabel = styled.Text`
|
|
113
|
+
font-size: 13px;
|
|
114
|
+
color: #999999;
|
|
115
|
+
margin-bottom: 8px;
|
|
116
|
+
`;
|
|
117
|
+
const DetailValueContainer = styled.View`
|
|
118
|
+
flex-direction: row;
|
|
119
|
+
align-items: center;
|
|
120
|
+
justify-content: space-between;
|
|
121
|
+
`;
|
|
122
|
+
const DetailValue = styled.Text`
|
|
123
|
+
font-size: 16px;
|
|
124
|
+
font-weight: 600;
|
|
125
|
+
color: #333333;
|
|
126
|
+
flex: 1;
|
|
127
|
+
`;
|
|
128
|
+
const CopyButton = styled.TouchableOpacity`
|
|
129
|
+
background-color: #E8F5F1;
|
|
130
|
+
border-radius: 20px;
|
|
131
|
+
padding: 8px 16px;
|
|
132
|
+
margin-left: 12px;
|
|
133
|
+
`;
|
|
134
|
+
const CopyButtonText = styled.Text`
|
|
135
|
+
font-size: 13px;
|
|
136
|
+
font-weight: 600;
|
|
137
|
+
color: #0a3d2e;
|
|
138
|
+
`;
|
|
139
|
+
const Divider = styled.View`
|
|
140
|
+
height: 1px;
|
|
141
|
+
background-color: #F0F0F0;
|
|
142
|
+
margin: 4px 0;
|
|
143
|
+
`;
|
|
144
|
+
const PaymentLinkCard = styled.View`
|
|
145
|
+
background-color: #FFF3E0;
|
|
146
|
+
border-radius: 12px;
|
|
147
|
+
padding: 16px;
|
|
148
|
+
margin-bottom: 24px;
|
|
149
|
+
`;
|
|
150
|
+
const PaymentLinkTitle = styled.Text`
|
|
151
|
+
font-size: 14px;
|
|
152
|
+
font-weight: 600;
|
|
153
|
+
color: #F57C00;
|
|
154
|
+
margin-bottom: 8px;
|
|
155
|
+
`;
|
|
156
|
+
const PaymentLinkText = styled.Text`
|
|
157
|
+
font-size: 12px;
|
|
158
|
+
color: #F57C00;
|
|
159
|
+
margin-bottom: 12px;
|
|
160
|
+
`;
|
|
161
|
+
const PaymentLinkContainer = styled.View`
|
|
162
|
+
background-color: #ffffff;
|
|
163
|
+
border-radius: 8px;
|
|
164
|
+
padding: 12px;
|
|
165
|
+
margin-bottom: 12px;
|
|
166
|
+
`;
|
|
167
|
+
const PaymentLinkUrl = styled.Text`
|
|
168
|
+
font-size: 12px;
|
|
169
|
+
color: #666666;
|
|
170
|
+
font-family: monospace;
|
|
171
|
+
`;
|
|
172
|
+
const LinkButtonRow = styled.View`
|
|
173
|
+
flex-direction: row;
|
|
174
|
+
gap: 8px;
|
|
175
|
+
`;
|
|
176
|
+
const SmallButton = styled.TouchableOpacity`
|
|
177
|
+
flex: 1;
|
|
178
|
+
background-color: #ffffff;
|
|
179
|
+
border: 1px solid #F57C00;
|
|
180
|
+
border-radius: 20px;
|
|
181
|
+
padding: 10px;
|
|
182
|
+
align-items: center;
|
|
183
|
+
`;
|
|
184
|
+
const SmallButtonText = styled.Text`
|
|
185
|
+
font-size: 13px;
|
|
186
|
+
font-weight: 600;
|
|
187
|
+
color: #F57C00;
|
|
188
|
+
`;
|
|
189
|
+
const ButtonContainer = styled.View`
|
|
190
|
+
gap: 12px;
|
|
191
|
+
`;
|
|
192
|
+
const PrimaryButton = styled.TouchableOpacity`
|
|
193
|
+
background-color: #0a3d2e;
|
|
194
|
+
border-radius: 28px;
|
|
195
|
+
padding: 16px;
|
|
196
|
+
align-items: center;
|
|
197
|
+
`;
|
|
198
|
+
const PrimaryButtonText = styled.Text`
|
|
199
|
+
font-size: 15px;
|
|
200
|
+
font-weight: 600;
|
|
201
|
+
color: #ffffff;
|
|
202
|
+
`;
|
|
203
|
+
const OutlineButton = styled.TouchableOpacity`
|
|
204
|
+
background-color: #ffffff;
|
|
205
|
+
border: 1.5px solid #0a3d2e;
|
|
206
|
+
border-radius: 28px;
|
|
207
|
+
padding: 16px;
|
|
208
|
+
align-items: center;
|
|
209
|
+
`;
|
|
210
|
+
const OutlineButtonText = styled.Text`
|
|
211
|
+
font-size: 15px;
|
|
212
|
+
font-weight: 600;
|
|
213
|
+
color: #0a3d2e;
|
|
214
|
+
`;
|
|
215
|
+
const SecondaryButton = styled.TouchableOpacity`
|
|
216
|
+
background-color: #ffffff;
|
|
217
|
+
border: 1.5px solid #E0E0E0;
|
|
218
|
+
border-radius: 28px;
|
|
219
|
+
padding: 16px;
|
|
220
|
+
align-items: center;
|
|
221
|
+
`;
|
|
222
|
+
const SecondaryButtonText = styled.Text`
|
|
223
|
+
font-size: 15px;
|
|
224
|
+
font-weight: 600;
|
|
225
|
+
color: #666666;
|
|
226
|
+
`;
|
|
227
|
+
const Footer = styled.View`
|
|
228
|
+
padding: 16px 24px 24px;
|
|
229
|
+
`;
|
|
230
|
+
const FooterText = styled.Text`
|
|
231
|
+
font-size: 12px;
|
|
232
|
+
color: #999999;
|
|
233
|
+
text-align: center;
|
|
234
|
+
line-height: 18px;
|
|
235
|
+
`;
|
|
236
|
+
|
|
237
|
+
// Main Component
|
|
238
|
+
|
|
239
|
+
const Transfer = ({
|
|
240
|
+
amount = 0,
|
|
241
|
+
description = '',
|
|
242
|
+
user,
|
|
243
|
+
recipient,
|
|
244
|
+
onClose,
|
|
245
|
+
onPaymentReceived
|
|
246
|
+
}) => {
|
|
247
|
+
const [copiedField, setCopiedField] = useState(null);
|
|
248
|
+
const formatAmount = value => {
|
|
249
|
+
return value.toLocaleString('en-NG', {
|
|
250
|
+
minimumFractionDigits: 2,
|
|
251
|
+
maximumFractionDigits: 2
|
|
252
|
+
});
|
|
253
|
+
};
|
|
254
|
+
const handleCopy = async (text, fieldName) => {
|
|
255
|
+
try {
|
|
256
|
+
await Clipboard.setString(text);
|
|
257
|
+
setCopiedField(fieldName);
|
|
258
|
+
|
|
259
|
+
// Reset copied state after 2 seconds
|
|
260
|
+
setTimeout(() => {
|
|
261
|
+
setCopiedField(null);
|
|
262
|
+
}, 2000);
|
|
263
|
+
} catch (error) {
|
|
264
|
+
console.error('Failed to copy:', error);
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
const generatePaymentLink = () => {
|
|
268
|
+
// Generate a payment link (in production, this would be a real URL)
|
|
269
|
+
const base64 = Buffer.from(JSON.stringify({
|
|
270
|
+
account: recipient.accountNumber,
|
|
271
|
+
recipient: recipient.accountName
|
|
272
|
+
})).toString('base64');
|
|
273
|
+
return `https://tapit.app/pay/${base64}`;
|
|
274
|
+
};
|
|
275
|
+
const handleShareDetails = async () => {
|
|
276
|
+
//Please send ₦${formatAmount(amount)} to:
|
|
277
|
+
const message = `
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
Account Number: ${recipient.accountNumber}
|
|
281
|
+
Account Name: ${recipient.accountName}
|
|
282
|
+
Bank: ${recipient.bankName}
|
|
283
|
+
${description ? `Payment for: ${description}` : ''}
|
|
284
|
+
|
|
285
|
+
Thank you!
|
|
286
|
+
`.trim();
|
|
287
|
+
try {
|
|
288
|
+
await Share.share({
|
|
289
|
+
message,
|
|
290
|
+
title: 'Payment Details'
|
|
291
|
+
});
|
|
292
|
+
} catch (error) {
|
|
293
|
+
console.error('Error sharing:', error);
|
|
294
|
+
}
|
|
295
|
+
};
|
|
296
|
+
const handleShareLink = async () => {
|
|
297
|
+
const link = generatePaymentLink();
|
|
298
|
+
try {
|
|
299
|
+
await Share.share({
|
|
300
|
+
message: `Pay send money via this link: ${link}`,
|
|
301
|
+
title: 'Payment Link'
|
|
302
|
+
});
|
|
303
|
+
} catch (error) {
|
|
304
|
+
console.error('Error sharing link:', error);
|
|
305
|
+
}
|
|
306
|
+
};
|
|
307
|
+
const handleCopyLink = async () => {
|
|
308
|
+
const link = generatePaymentLink();
|
|
309
|
+
await handleCopy(link, 'link');
|
|
310
|
+
};
|
|
311
|
+
const handleCopyAll = async () => {
|
|
312
|
+
const allDetails = `Account: ${recipient?.accountNumber}\nName: ${recipient?.accountName}\nBank: ${recipient?.bankName}}`; //\nAmount: ₦${formatAmount(amount)
|
|
313
|
+
await handleCopy(allDetails, 'all');
|
|
314
|
+
};
|
|
315
|
+
return /*#__PURE__*/_jsxs(Container, {
|
|
316
|
+
children: [/*#__PURE__*/_jsxs(Header, {
|
|
317
|
+
children: [/*#__PURE__*/_jsx(BackButton, {
|
|
318
|
+
onPress: onClose,
|
|
319
|
+
children: /*#__PURE__*/_jsx(Ionicons, {
|
|
320
|
+
name: "close",
|
|
321
|
+
size: 24
|
|
322
|
+
})
|
|
323
|
+
}), /*#__PURE__*/_jsx(HeaderTitle, {
|
|
324
|
+
children: "Receive via Transfer"
|
|
325
|
+
})]
|
|
326
|
+
}), /*#__PURE__*/_jsxs(ScrollContainer, {
|
|
327
|
+
showsVerticalScrollIndicator: false,
|
|
328
|
+
children: [/*#__PURE__*/_jsxs(ContentContainer, {
|
|
329
|
+
children: [/*#__PURE__*/_jsxs(InfoBanner, {
|
|
330
|
+
children: [/*#__PURE__*/_jsx(InfoIcon, {
|
|
331
|
+
children: "\u2139\uFE0F"
|
|
332
|
+
}), /*#__PURE__*/_jsx(InfoText, {
|
|
333
|
+
children: "Share your account details below with the payer. You'll be notified when the payment is received."
|
|
334
|
+
})]
|
|
335
|
+
}), amount > 0 && /*#__PURE__*/_jsxs(AmountCard, {
|
|
336
|
+
children: [/*#__PURE__*/_jsx(AmountLabel, {
|
|
337
|
+
children: "Expected Amount"
|
|
338
|
+
}), /*#__PURE__*/_jsxs(AmountText, {
|
|
339
|
+
children: ["\u20A6", formatAmount(amount)]
|
|
340
|
+
}), description && /*#__PURE__*/_jsx(DescriptionText, {
|
|
341
|
+
children: description
|
|
342
|
+
})]
|
|
343
|
+
}), /*#__PURE__*/_jsx(SectionTitle, {
|
|
344
|
+
children: "Send money to this account"
|
|
345
|
+
}), /*#__PURE__*/_jsxs(DetailsCard, {
|
|
346
|
+
children: [/*#__PURE__*/_jsxs(DetailItem, {
|
|
347
|
+
children: [/*#__PURE__*/_jsx(DetailLabel, {
|
|
348
|
+
children: "Account Number"
|
|
349
|
+
}), /*#__PURE__*/_jsxs(DetailValueContainer, {
|
|
350
|
+
children: [/*#__PURE__*/_jsx(DetailValue, {
|
|
351
|
+
children: recipient.accountNumber
|
|
352
|
+
}), /*#__PURE__*/_jsx(CopyButton, {
|
|
353
|
+
onPress: () => handleCopy(recipient.accountNumber, 'account'),
|
|
354
|
+
children: /*#__PURE__*/_jsx(CopyButtonText, {
|
|
355
|
+
children: copiedField === 'account' ? 'Copied!' : 'Copy'
|
|
356
|
+
})
|
|
357
|
+
})]
|
|
358
|
+
})]
|
|
359
|
+
}), /*#__PURE__*/_jsx(Divider, {}), /*#__PURE__*/_jsxs(DetailItem, {
|
|
360
|
+
children: [/*#__PURE__*/_jsx(DetailLabel, {
|
|
361
|
+
children: "Account Name"
|
|
362
|
+
}), /*#__PURE__*/_jsxs(DetailValueContainer, {
|
|
363
|
+
children: [/*#__PURE__*/_jsx(DetailValue, {
|
|
364
|
+
children: recipient.accountName
|
|
365
|
+
}), /*#__PURE__*/_jsx(CopyButton, {
|
|
366
|
+
onPress: () => handleCopy(recipient.accountName, 'name'),
|
|
367
|
+
children: /*#__PURE__*/_jsx(CopyButtonText, {
|
|
368
|
+
children: copiedField === 'name' ? 'Copied!' : 'Copy'
|
|
369
|
+
})
|
|
370
|
+
})]
|
|
371
|
+
})]
|
|
372
|
+
}), /*#__PURE__*/_jsx(Divider, {}), /*#__PURE__*/_jsxs(DetailItem, {
|
|
373
|
+
children: [/*#__PURE__*/_jsx(DetailLabel, {
|
|
374
|
+
children: "Bank"
|
|
375
|
+
}), /*#__PURE__*/_jsxs(DetailValueContainer, {
|
|
376
|
+
children: [/*#__PURE__*/_jsx(DetailValue, {
|
|
377
|
+
children: recipient.bankName
|
|
378
|
+
}), /*#__PURE__*/_jsx(CopyButton, {
|
|
379
|
+
onPress: () => handleCopy(recipient.bankName, 'bank'),
|
|
380
|
+
children: /*#__PURE__*/_jsx(CopyButtonText, {
|
|
381
|
+
children: copiedField === 'bank' ? 'Copied!' : 'Copy'
|
|
382
|
+
})
|
|
383
|
+
})]
|
|
384
|
+
})]
|
|
385
|
+
}), /*#__PURE__*/_jsx(Divider, {}), amount > 0 && /*#__PURE__*/_jsxs(DetailItem, {
|
|
386
|
+
style: {
|
|
387
|
+
marginBottom: 0
|
|
388
|
+
},
|
|
389
|
+
children: [/*#__PURE__*/_jsx(DetailLabel, {
|
|
390
|
+
children: "Amount"
|
|
391
|
+
}), /*#__PURE__*/_jsxs(DetailValueContainer, {
|
|
392
|
+
children: [/*#__PURE__*/_jsxs(DetailValue, {
|
|
393
|
+
children: ["\u20A6", formatAmount(amount)]
|
|
394
|
+
}), /*#__PURE__*/_jsx(CopyButton, {
|
|
395
|
+
onPress: () => handleCopy(amount.toString(), 'amount'),
|
|
396
|
+
children: /*#__PURE__*/_jsx(CopyButtonText, {
|
|
397
|
+
children: copiedField === 'amount' ? 'Copied!' : 'Copy'
|
|
398
|
+
})
|
|
399
|
+
})]
|
|
400
|
+
})]
|
|
401
|
+
})]
|
|
402
|
+
}), /*#__PURE__*/_jsxs(PaymentLinkCard, {
|
|
403
|
+
children: [/*#__PURE__*/_jsx(PaymentLinkTitle, {
|
|
404
|
+
children: "\uD83D\uDCCE Quick Payment Link"
|
|
405
|
+
}), /*#__PURE__*/_jsx(PaymentLinkText, {
|
|
406
|
+
children: "Share this link with anyone to receive payment instantly"
|
|
407
|
+
}), /*#__PURE__*/_jsx(PaymentLinkContainer, {
|
|
408
|
+
children: /*#__PURE__*/_jsx(PaymentLinkUrl, {
|
|
409
|
+
numberOfLines: 1,
|
|
410
|
+
ellipsizeMode: "middle",
|
|
411
|
+
children: generatePaymentLink()
|
|
412
|
+
})
|
|
413
|
+
}), /*#__PURE__*/_jsxs(LinkButtonRow, {
|
|
414
|
+
children: [/*#__PURE__*/_jsx(SmallButton, {
|
|
415
|
+
onPress: handleCopyLink,
|
|
416
|
+
children: /*#__PURE__*/_jsx(SmallButtonText, {
|
|
417
|
+
children: copiedField === 'link' ? '✓ Copied' : 'Copy Link'
|
|
418
|
+
})
|
|
419
|
+
}), /*#__PURE__*/_jsx(SmallButton, {
|
|
420
|
+
onPress: handleShareLink,
|
|
421
|
+
children: /*#__PURE__*/_jsx(SmallButtonText, {
|
|
422
|
+
children: "Share Link"
|
|
423
|
+
})
|
|
424
|
+
})]
|
|
425
|
+
})]
|
|
426
|
+
}), /*#__PURE__*/_jsxs(ButtonContainer, {
|
|
427
|
+
children: [/*#__PURE__*/_jsx(PrimaryButton, {
|
|
428
|
+
onPress: handleShareDetails,
|
|
429
|
+
children: /*#__PURE__*/_jsx(PrimaryButtonText, {
|
|
430
|
+
children: "Share All Details"
|
|
431
|
+
})
|
|
432
|
+
}), /*#__PURE__*/_jsx(OutlineButton, {
|
|
433
|
+
onPress: handleCopyAll,
|
|
434
|
+
children: /*#__PURE__*/_jsx(OutlineButtonText, {
|
|
435
|
+
children: copiedField === 'all' ? '✓ All Details Copied' : 'Copy All Details'
|
|
436
|
+
})
|
|
437
|
+
}), /*#__PURE__*/_jsx(SecondaryButton, {
|
|
438
|
+
onPress: onClose,
|
|
439
|
+
children: /*#__PURE__*/_jsx(SecondaryButtonText, {
|
|
440
|
+
children: "Done"
|
|
441
|
+
})
|
|
442
|
+
})]
|
|
443
|
+
})]
|
|
444
|
+
}), /*#__PURE__*/_jsx(Footer, {
|
|
445
|
+
children: /*#__PURE__*/_jsx(FooterText, {
|
|
446
|
+
children: "You will receive a notification once the payment is confirmed in your account. Please allow 1-5 minutes for bank transfers."
|
|
447
|
+
})
|
|
448
|
+
})]
|
|
449
|
+
})]
|
|
450
|
+
});
|
|
451
|
+
};
|
|
452
|
+
export default Transfer;
|
|
453
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useState","Share","Clipboard","styled","Buffer","Ionicons","jsx","_jsx","jsxs","_jsxs","Container","View","Header","BackButton","TouchableOpacity","BackIcon","Text","HeaderTitle","ScrollContainer","ScrollView","ContentContainer","InfoBanner","InfoIcon","InfoText","AmountCard","AmountLabel","AmountText","DescriptionText","SectionTitle","DetailsCard","DetailItem","DetailLabel","DetailValueContainer","DetailValue","CopyButton","CopyButtonText","Divider","PaymentLinkCard","PaymentLinkTitle","PaymentLinkText","PaymentLinkContainer","PaymentLinkUrl","LinkButtonRow","SmallButton","SmallButtonText","ButtonContainer","PrimaryButton","PrimaryButtonText","OutlineButton","OutlineButtonText","SecondaryButton","SecondaryButtonText","Footer","FooterText","Transfer","amount","description","user","recipient","onClose","onPaymentReceived","copiedField","setCopiedField","formatAmount","value","toLocaleString","minimumFractionDigits","maximumFractionDigits","handleCopy","text","fieldName","setString","setTimeout","error","console","generatePaymentLink","base64","from","JSON","stringify","account","accountNumber","accountName","toString","handleShareDetails","message","bankName","trim","share","title","handleShareLink","link","handleCopyLink","handleCopyAll","allDetails","children","onPress","name","size","showsVerticalScrollIndicator","style","marginBottom","numberOfLines","ellipsizeMode"],"sourceRoot":"../../../../../../../src","sources":["ui/screens/sub/receivePayment/Transfer/index.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/ui/screens/sub/{BluetoothSubScreen.js → sendPayment/BluetoothSubScreen.js}
RENAMED
|
@@ -18,10 +18,9 @@ import { View, Text, TouchableOpacity, Alert } from 'react-native';
|
|
|
18
18
|
import styled from 'styled-components/native';
|
|
19
19
|
import Svg, { Path } from 'react-native-svg';
|
|
20
20
|
import Ionicons from 'react-native-vector-icons/Ionicons';
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import
|
|
24
|
-
import InLoading from "../../components/LoadingAnimation/InLoading.js";
|
|
21
|
+
import { FPEngine } from "../../../../engine/FPEngine.js";
|
|
22
|
+
import { PulseAnimation } from "../../../components/PulseAnimation.js";
|
|
23
|
+
import InLoading from "../../../components/LoadingAnimation/InLoading.js";
|
|
25
24
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
26
25
|
const Container = styled(View)`
|
|
27
26
|
flex: 1;
|
|
@@ -200,11 +199,10 @@ const PHASE_LABEL = {
|
|
|
200
199
|
error: 'Something went wrong'
|
|
201
200
|
};
|
|
202
201
|
export function BluetoothSubScreen({
|
|
203
|
-
mode,
|
|
204
202
|
amount,
|
|
205
203
|
currency,
|
|
206
|
-
|
|
207
|
-
|
|
204
|
+
onClose,
|
|
205
|
+
onProcessTransaction,
|
|
208
206
|
onError
|
|
209
207
|
}) {
|
|
210
208
|
const [devices, setDevices] = useState([]);
|
|
@@ -246,10 +244,10 @@ export function BluetoothSubScreen({
|
|
|
246
244
|
style: 'cancel'
|
|
247
245
|
}, {
|
|
248
246
|
text: `Continue`,
|
|
249
|
-
onPress: () => initiatePayment(device
|
|
247
|
+
onPress: () => initiatePayment(device)
|
|
250
248
|
}]);
|
|
251
249
|
};
|
|
252
|
-
const initiatePayment = async
|
|
250
|
+
const initiatePayment = async device => {
|
|
253
251
|
try {
|
|
254
252
|
setCurrentDevice(device);
|
|
255
253
|
// Connect to the device
|
|
@@ -260,8 +258,10 @@ export function BluetoothSubScreen({
|
|
|
260
258
|
const request = {
|
|
261
259
|
amount,
|
|
262
260
|
currency,
|
|
263
|
-
senderId: user?.userId ??
|
|
264
|
-
senderName: user?.
|
|
261
|
+
senderId: user?.userId ?? 'unknown',
|
|
262
|
+
senderName: user?.name ?? 'FountainPay User',
|
|
263
|
+
senderPhone: user?.phone ?? 'unknown',
|
|
264
|
+
senderEmail: user?.email ?? 'unknown',
|
|
265
265
|
timestamp: Date.now()
|
|
266
266
|
};
|
|
267
267
|
setStatus(`Sending payment request...`);
|
|
@@ -282,29 +282,16 @@ export function BluetoothSubScreen({
|
|
|
282
282
|
message: 'Receiver accepted but sent no account details'
|
|
283
283
|
};
|
|
284
284
|
}
|
|
285
|
-
const
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
amount: amount * 100,
|
|
289
|
-
narration: `Bluetooth payment to ${response.accountDetails.accountName}`,
|
|
290
|
-
reference: response.transactionId
|
|
291
|
-
});
|
|
292
|
-
const tx = {
|
|
293
|
-
id: result.reference,
|
|
294
|
-
reference: result.reference,
|
|
295
|
-
type: 'debit',
|
|
285
|
+
const payload = {
|
|
286
|
+
amount: amount,
|
|
287
|
+
currency: currency,
|
|
296
288
|
channel: 'bluetooth',
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
status: result.status,
|
|
300
|
-
recipient: {
|
|
301
|
-
accountName: response.accountDetails.accountName
|
|
302
|
-
},
|
|
303
|
-
createdAt: result.createdAt
|
|
289
|
+
narration: `Send ${currency}${amount} to ${response.accountDetails.accountName}`,
|
|
290
|
+
recipient: response.accountDetails
|
|
304
291
|
};
|
|
305
|
-
|
|
292
|
+
onProcessTransaction?.(payload);
|
|
306
293
|
setCurrentDevice(null);
|
|
307
|
-
setStatus('
|
|
294
|
+
setStatus('Payment sent!');
|
|
308
295
|
} catch (error) {
|
|
309
296
|
const fp = error;
|
|
310
297
|
setCurrentDevice(null);
|
|
@@ -320,7 +307,13 @@ export function BluetoothSubScreen({
|
|
|
320
307
|
};
|
|
321
308
|
return /*#__PURE__*/_jsxs(Container, {
|
|
322
309
|
children: [/*#__PURE__*/_jsxs(Header, {
|
|
323
|
-
children: [/*#__PURE__*/
|
|
310
|
+
children: [/*#__PURE__*/_jsx(HeaderButton, {
|
|
311
|
+
onPress: onClose,
|
|
312
|
+
children: /*#__PURE__*/_jsx(Ionicons, {
|
|
313
|
+
name: "close",
|
|
314
|
+
size: 24
|
|
315
|
+
})
|
|
316
|
+
}), /*#__PURE__*/_jsxs(HeaderCenter, {
|
|
324
317
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
325
318
|
style: {
|
|
326
319
|
fontWeight: 'bold',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useState","View","Text","TouchableOpacity","Alert","styled","Svg","Path","Ionicons","FPEngine","PulseAnimation","InLoading","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Container","Header","HeaderButton","HeaderCenter","HeaderRight","QuickLinksContainer","QuickLinksContainerWithDevices","QuickLinksIcon","QuickLinksText","DeviceCard","DeviceInfo","DeviceName","DeviceSignal","PayButton","PayButtonText","ScrollContainer","ScrollView","ContentContainer","BluetoothIconContainer","BluetoothIcon","color","size","width","height","strokeWidth","viewBox","fill","children","d","stroke","strokeLinecap","strokeLinejoin","fillRule","clipRule","BluetoothScanningIcon","PHASE_LABEL","idle","scanning","selected","requesting","transferring","done","declined","error","BluetoothSubScreen","amount","currency","onClose","onProcessTransaction","onError","devices","setDevices","setScanning","status","setStatus","currentDevice","setCurrentDevice","handleScan","scanForBluetoothDevices","device","prevDevices","exists","find","id","length","console","alert","handlePayment","userName","name","text","style","onPress","initiatePayment","user","getUser","deviceConnection","request","senderId","userId","senderName","senderPhone","phone","senderEmail","email","timestamp","Date","now","log","response","sendBluetoothPaymentRequest","accepted","accountDetails","code","message","payload","channel","narration","accountName","recipient","fp","includes","fontWeight","fontSize","showsVerticalScrollIndicator","map","appName","rssi","activeOpacity"],"sourceRoot":"../../../../../../src","sources":["ui/screens/sub/sendPayment/BluetoothSubScreen.tsx"],"mappings":"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","ignoreList":[]}
|