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.
Files changed (120) hide show
  1. package/lib/module/FountainPayProvider.js +5 -1
  2. package/lib/module/FountainPayProvider.js.map +1 -1
  3. package/lib/module/core/api/index.js +22 -12
  4. package/lib/module/core/api/index.js.map +1 -1
  5. package/lib/module/engine/BLEReceiverService.js.map +1 -1
  6. package/lib/module/engine/FPEngine.js +24 -13
  7. package/lib/module/engine/FPEngine.js.map +1 -1
  8. package/lib/module/engine/useIsForeground.js +17 -0
  9. package/lib/module/engine/useIsForeground.js.map +1 -0
  10. package/lib/module/ui/components/AnimatedDots.js +68 -0
  11. package/lib/module/ui/components/AnimatedDots.js.map +1 -0
  12. package/lib/module/ui/components/ConfirmScreen.js +333 -0
  13. package/lib/module/ui/components/ConfirmScreen.js.map +1 -0
  14. package/lib/module/ui/modals/FPPaymentRequestModal.js +6 -8
  15. package/lib/module/ui/modals/FPPaymentRequestModal.js.map +1 -1
  16. package/lib/module/ui/modals/FPShell.js +7 -4
  17. package/lib/module/ui/modals/FPShell.js.map +1 -1
  18. package/lib/module/ui/screens/ReceiveScreen.js +379 -274
  19. package/lib/module/ui/screens/ReceiveScreen.js.map +1 -1
  20. package/lib/module/ui/screens/SendScreen.js +154 -45
  21. package/lib/module/ui/screens/SendScreen.js.map +1 -1
  22. package/lib/module/ui/screens/styles.js +89 -0
  23. package/lib/module/ui/screens/styles.js.map +1 -0
  24. package/lib/module/ui/screens/sub/receivePayment/Nfc/index.js +361 -0
  25. package/lib/module/ui/screens/sub/receivePayment/Nfc/index.js.map +1 -0
  26. package/lib/module/ui/screens/sub/receivePayment/Qr/index.js +338 -0
  27. package/lib/module/ui/screens/sub/receivePayment/Qr/index.js.map +1 -0
  28. package/lib/module/ui/screens/sub/receivePayment/Transfer/index.js +453 -0
  29. package/lib/module/ui/screens/sub/receivePayment/Transfer/index.js.map +1 -0
  30. package/lib/module/ui/screens/sub/{BluetoothSubScreen.js → sendPayment/BluetoothSubScreen.js} +25 -32
  31. package/lib/module/ui/screens/sub/sendPayment/BluetoothSubScreen.js.map +1 -0
  32. package/lib/module/ui/screens/sub/sendPayment/NFCSubScreen.js +354 -0
  33. package/lib/module/ui/screens/sub/sendPayment/NFCSubScreen.js.map +1 -0
  34. package/lib/module/ui/screens/sub/sendPayment/NQRSubScreen.js +440 -0
  35. package/lib/module/ui/screens/sub/sendPayment/NQRSubScreen.js.map +1 -0
  36. package/lib/module/ui/screens/sub/{ProximitySubScreen.js → sendPayment/ProximitySubScreen.js} +20 -111
  37. package/lib/module/ui/screens/sub/sendPayment/ProximitySubScreen.js.map +1 -0
  38. package/lib/module/ui/screens/sub/sendPayment/TransferSubScreen.js +327 -0
  39. package/lib/module/ui/screens/sub/sendPayment/TransferSubScreen.js.map +1 -0
  40. package/lib/typescript/src/FountainPayProvider.d.ts.map +1 -1
  41. package/lib/typescript/src/core/api/index.d.ts +20 -27
  42. package/lib/typescript/src/core/api/index.d.ts.map +1 -1
  43. package/lib/typescript/src/core/types/index.d.ts +56 -13
  44. package/lib/typescript/src/core/types/index.d.ts.map +1 -1
  45. package/lib/typescript/src/engine/BLEReceiverService.d.ts +2 -0
  46. package/lib/typescript/src/engine/BLEReceiverService.d.ts.map +1 -1
  47. package/lib/typescript/src/engine/FPEngine.d.ts +3 -1
  48. package/lib/typescript/src/engine/FPEngine.d.ts.map +1 -1
  49. package/lib/typescript/src/engine/useIsForeground.d.ts +2 -0
  50. package/lib/typescript/src/engine/useIsForeground.d.ts.map +1 -0
  51. package/lib/typescript/src/ui/components/AnimatedDots.d.ts +2 -0
  52. package/lib/typescript/src/ui/components/AnimatedDots.d.ts.map +1 -0
  53. package/lib/typescript/src/ui/components/ConfirmScreen.d.ts +10 -0
  54. package/lib/typescript/src/ui/components/ConfirmScreen.d.ts.map +1 -0
  55. package/lib/typescript/src/ui/components/OtpInput/Styles.d.ts +3 -3
  56. package/lib/typescript/src/ui/modals/FPPaymentRequestModal.d.ts.map +1 -1
  57. package/lib/typescript/src/ui/modals/FPShell.d.ts.map +1 -1
  58. package/lib/typescript/src/ui/screens/ReceiveScreen.d.ts +2 -9
  59. package/lib/typescript/src/ui/screens/ReceiveScreen.d.ts.map +1 -1
  60. package/lib/typescript/src/ui/screens/SendScreen.d.ts +4 -2
  61. package/lib/typescript/src/ui/screens/SendScreen.d.ts.map +1 -1
  62. package/lib/typescript/src/ui/screens/styles.d.ts +1390 -0
  63. package/lib/typescript/src/ui/screens/styles.d.ts.map +1 -0
  64. package/lib/typescript/src/ui/screens/sub/receivePayment/Nfc/index.d.ts +10 -0
  65. package/lib/typescript/src/ui/screens/sub/receivePayment/Nfc/index.d.ts.map +1 -0
  66. package/lib/typescript/src/ui/screens/sub/receivePayment/Qr/index.d.ts +10 -0
  67. package/lib/typescript/src/ui/screens/sub/receivePayment/Qr/index.d.ts.map +1 -0
  68. package/lib/typescript/src/ui/screens/sub/receivePayment/Transfer/index.d.ts +5 -0
  69. package/lib/typescript/src/ui/screens/sub/receivePayment/Transfer/index.d.ts.map +1 -0
  70. package/lib/typescript/src/ui/screens/sub/{BluetoothSubScreen.d.ts → sendPayment/BluetoothSubScreen.d.ts} +2 -11
  71. package/lib/typescript/src/ui/screens/sub/sendPayment/BluetoothSubScreen.d.ts.map +1 -0
  72. package/lib/typescript/src/ui/screens/sub/sendPayment/NFCSubScreen.d.ts +3 -0
  73. package/lib/typescript/src/ui/screens/sub/sendPayment/NFCSubScreen.d.ts.map +1 -0
  74. package/lib/typescript/src/ui/screens/sub/sendPayment/NQRSubScreen.d.ts +3 -0
  75. package/lib/typescript/src/ui/screens/sub/sendPayment/NQRSubScreen.d.ts.map +1 -0
  76. package/lib/typescript/src/ui/screens/sub/{ProximitySubScreen.d.ts → sendPayment/ProximitySubScreen.d.ts} +2 -10
  77. package/lib/typescript/src/ui/screens/sub/sendPayment/ProximitySubScreen.d.ts.map +1 -0
  78. package/lib/typescript/src/ui/screens/sub/sendPayment/TransferSubScreen.d.ts +3 -0
  79. package/lib/typescript/src/ui/screens/sub/sendPayment/TransferSubScreen.d.ts.map +1 -0
  80. package/package.json +1 -1
  81. package/src/FountainPayProvider.tsx +7 -1
  82. package/src/core/api/index.ts +34 -19
  83. package/src/core/types/index.ts +67 -13
  84. package/src/engine/BLEReceiverService.ts +2 -0
  85. package/src/engine/FPEngine.ts +29 -14
  86. package/src/engine/useIsForeground.ts +18 -0
  87. package/src/ui/components/AnimatedDots.tsx +81 -0
  88. package/src/ui/components/ConfirmScreen.tsx +421 -0
  89. package/src/ui/modals/FPPaymentRequestModal.tsx +7 -6
  90. package/src/ui/modals/FPShell.tsx +9 -9
  91. package/src/ui/screens/ReceiveScreen.tsx +266 -115
  92. package/src/ui/screens/SendScreen.tsx +141 -19
  93. package/src/ui/screens/styles.ts +101 -0
  94. package/src/ui/screens/sub/receivePayment/Nfc/index.tsx +418 -0
  95. package/src/ui/screens/sub/receivePayment/Qr/index.tsx +391 -0
  96. package/src/ui/screens/sub/receivePayment/Transfer/index.tsx +512 -0
  97. package/src/ui/screens/sub/{BluetoothSubScreen.tsx → sendPayment/BluetoothSubScreen.tsx} +27 -46
  98. package/src/ui/screens/sub/sendPayment/NFCSubScreen.tsx +302 -0
  99. package/src/ui/screens/sub/sendPayment/NQRSubScreen.tsx +490 -0
  100. package/src/ui/screens/sub/{ProximitySubScreen.tsx → sendPayment/ProximitySubScreen.tsx} +24 -44
  101. package/src/ui/screens/sub/sendPayment/TransferSubScreen.tsx +345 -0
  102. package/lib/module/ui/screens/sub/BluetoothSubScreen.js.map +0 -1
  103. package/lib/module/ui/screens/sub/NFCSubScreen.js +0 -164
  104. package/lib/module/ui/screens/sub/NFCSubScreen.js.map +0 -1
  105. package/lib/module/ui/screens/sub/NQRSubScreen.js +0 -131
  106. package/lib/module/ui/screens/sub/NQRSubScreen.js.map +0 -1
  107. package/lib/module/ui/screens/sub/ProximitySubScreen.js.map +0 -1
  108. package/lib/module/ui/screens/sub/TransferSubScreen.js +0 -353
  109. package/lib/module/ui/screens/sub/TransferSubScreen.js.map +0 -1
  110. package/lib/typescript/src/ui/screens/sub/BluetoothSubScreen.d.ts.map +0 -1
  111. package/lib/typescript/src/ui/screens/sub/NFCSubScreen.d.ts +0 -18
  112. package/lib/typescript/src/ui/screens/sub/NFCSubScreen.d.ts.map +0 -1
  113. package/lib/typescript/src/ui/screens/sub/NQRSubScreen.d.ts +0 -12
  114. package/lib/typescript/src/ui/screens/sub/NQRSubScreen.d.ts.map +0 -1
  115. package/lib/typescript/src/ui/screens/sub/ProximitySubScreen.d.ts.map +0 -1
  116. package/lib/typescript/src/ui/screens/sub/TransferSubScreen.d.ts +0 -11
  117. package/lib/typescript/src/ui/screens/sub/TransferSubScreen.d.ts.map +0 -1
  118. package/src/ui/screens/sub/NFCSubScreen.tsx +0 -86
  119. package/src/ui/screens/sub/NQRSubScreen.tsx +0 -62
  120. 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":[]}
@@ -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 { transferAPI } from "../../../core/api/index.js";
22
- import { FPEngine } from "../../../engine/FPEngine.js";
23
- import { PulseAnimation } from "../../components/PulseAnimation.js";
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
- onDone,
207
- onSuccess,
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, 50)
247
+ onPress: () => initiatePayment(device)
250
248
  }]);
251
249
  };
252
- const initiatePayment = async (device, amount) => {
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 ?? user?.accountNumber ?? 'unknown',
264
- senderName: user?.accountName ?? 'FountainPay 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 result = await transferAPI.send({
286
- accountNumber: response.accountDetails.accountNumber,
287
- bankCode: response.accountDetails.bankCode,
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
- amount: result.amount,
298
- currency: result.currency,
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
- onSuccess?.(tx);
292
+ onProcessTransaction?.(payload);
306
293
  setCurrentDevice(null);
307
- setStatus('Waiting for response...');
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__*/_jsxs(HeaderCenter, {
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":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IAAeC,QAAQ,QAAQ,OAAO;AAClD,SAASC,IAAI,EAAEC,IAAI,EAAEC,gBAAgB,EAAEC,KAAK,QAAoB,cAAc;AAC9E,OAAOC,MAAM,MAAM,0BAA0B;AAC7C,OAAOC,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAC5C,OAAOC,QAAQ,MAAM,oCAAoC;AAOzD,SAASC,QAAQ,QAAQ,gCAA6B;AAEtD,SAASC,cAAc,QAAQ,uCAAoC;AACnE,OAAOC,SAAS,MAAM,mDAAgD;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAGvE,MAAMC,SAAS,GAAGb,MAAM,CAACJ,IAAI,CAAC;AAC9B;AACA;AACA,CAAC;AAED,MAAMkB,MAAM,GAAGd,MAAM,CAACJ,IAAI,CAAC;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMmB,YAAY,GAAGf,MAAM,CAACF,gBAAgB,CAAC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMkB,YAAY,GAAGhB,MAAM,CAACJ,IAAI,CAAC;AACjC;AACA;AACA;AACA,CAAC;AAED,MAAMqB,WAAW,GAAGjB,MAAM,CAACJ,IAAI,CAAC;AAChC;AACA;AACA;AACA,CAAC;AAED,MAAMsB,mBAAmB,GAAGlB,MAAM,CAACJ,IAAI,CAAC;AACxC;AACA;AACA,CAAC;AAED,MAAMuB,8BAA8B,GAAGnB,MAAM,CAACJ,IAAI,CAAC;AACnD;AACA;AACA;AACA,CAAC;AAED,MAAMwB,cAAc,GAAGpB,MAAM,CAACF,gBAAgB,CAAC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMuB,cAAc,GAAGrB,MAAM,CAACH,IAAI,CAAC;AACnC;AACA;AACA,CAAC;AAED,OAAO,MAAMyB,UAAU,GAAGtB,MAAM,CAACJ,IAAI,CAAC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAM2B,UAAU,GAAGvB,MAAM,CAACJ,IAAI,CAAC;AACtC;AACA,CAAC;AAED,OAAO,MAAM4B,UAAU,GAAGxB,MAAM,CAACH,IAAI,CAAC;AACtC;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAM4B,YAAY,GAAGzB,MAAM,CAACH,IAAI,CAAC;AACxC;AACA;AACA,CAAC;AAED,OAAO,MAAM6B,SAAS,GAAG1B,MAAM,CAACF,gBAAgB,CAAC;AACjD;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAM6B,aAAa,GAAG3B,MAAM,CAACH,IAAI,CAAC;AACzC;AACA;AACA;AACA,CAAC;AAED,MAAM+B,eAAe,GAAG5B,MAAM,CAAC6B,UAAU;AACzC;AACA,CAAC;AAED,MAAMC,gBAAgB,GAAG9B,MAAM,CAACJ,IAAI,CAAC;AACrC;AACA;AACA,CAAC;AAED,MAAMmC,sBAAsB,GAAG/B,MAAM,CAACJ,IAAI,CAAC;AAC3C;AACA;AACA,CAAC;;AAED;;AAEA,MAAMoC,aAAa,GAAGA,CAAC;EAAEC,KAAK,GAAG,MAAM;EAAEC,IAAI,GAAG;AAAG,CAAC,kBAClDxB,KAAA,CAACT,GAAG;EAACkC,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,WAAW,EAAC,KAAK;EAACC,OAAO,EAAC,WAAW;EAACC,IAAI,EAAC,MAAM;EAAAC,QAAA,gBAC/EhC,IAAA,CAACN,IAAI;IAACuC,CAAC,EAAC,qIAAqI;IAACC,MAAM,EAAC,MAAM;IAACL,WAAW,EAAC,KAAK;IAACM,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;EAAO,CAAE,CAAC,eAC7NpC,IAAA,CAACN,IAAI;IAACuC,CAAC,EAAC,qIAAqI;IAACC,MAAM,EAAC,MAAM;IAACL,WAAW,EAAC,KAAK;IAACM,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;EAAO,CAAE,CAAC,eAC7NpC,IAAA,CAACN,IAAI;IAACuC,CAAC,EAAC,sIAAsI;IAACC,MAAM,EAAC,MAAM;IAACL,WAAW,EAAC,KAAK;IAACM,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;EAAO,CAAE,CAAC,eAC9NpC,IAAA,CAACN,IAAI;IAAC2C,QAAQ,EAAC,SAAS;IAACC,QAAQ,EAAC,SAAS;IAACL,CAAC,EAAC,yJAAyJ;IAACF,IAAI,EAAC;EAAM,CAAE,CAAC,eACtN/B,IAAA,CAACN,IAAI;IAACuC,CAAC,EAAC,mSAAmS;IAACF,IAAI,EAAC;EAAM,CAAE,CAAC;AAAA,CACvT,CACN;AAED,MAAMQ,qBAAqB,GAAGA,CAAC;EAAEd,KAAK,GAAG,MAAM;EAAEC,IAAI,GAAG;AAAG,CAAC,kBAC1D1B,IAAA,CAACP,GAAG;EAACkC,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,WAAW,EAAC,KAAK;EAACC,OAAO,EAAC,WAAW;EAACC,IAAI,EAAC,MAAM;EAAAC,QAAA,eAC/EhC,IAAA,CAACN,IAAI;IAACuC,CAAC,EAAC,iDAAiD;IAACC,MAAM,EAAET,KAAM;IAACI,WAAW,EAAC,KAAK;IAACM,aAAa,EAAC,OAAO;IAACC,cAAc,EAAC;EAAO,CAAE;AAAC,CACvI,CACN;AAaD,MAAMI,WAAkC,GAAG;EACzCC,IAAI,EAAU,OAAO;EACrBC,QAAQ,EAAM,qCAAqC;EACnDC,QAAQ,EAAM,iCAAiC;EAC/CC,UAAU,EAAI,oCAAoC;EAClDC,YAAY,EAAE,wBAAwB;EACtCC,IAAI,EAAU,eAAe;EAC7BC,QAAQ,EAAM,sBAAsB;EACpCC,KAAK,EAAS;AAChB,CAAC;AAED,OAAO,SAASC,kBAAkBA,CAAC;EACjCC,MAAM;EACNC,QAAQ;EACRC,OAAO;EACPC,oBAAoB;EACpBC;AACK,CAAC,EAAE;EACR,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGrE,QAAQ,CAAkB,EAAE,CAAC;EAC3D,MAAM,CAACuD,QAAQ,EAAEe,WAAW,CAAC,GAAGtE,QAAQ,CAAC,KAAK,CAAC;EAC/C,MAAM,CAACuE,MAAM,EAAEC,SAAS,CAAC,GAAGxE,QAAQ,CAAC,eAAe,CAAC;EACrD,MAAM,CAACyE,aAAa,EAAEC,gBAAgB,CAAC,GAAG1E,QAAQ,CAAuB,IAAI,CAAC;;EAE9E;;EAEA,MAAM2E,UAAU,GAAG,MAAAA,CAAA,KAAY;IAC7BN,UAAU,CAAC,EAAE,CAAC;IACdC,WAAW,CAAC,IAAI,CAAC;IACjBE,SAAS,CAAC,8BAA8B,CAAC;IAEzC,IAAI;MACF,MAAM/D,QAAQ,CAACmE,uBAAuB,CACnCC,MAAM,IAAK;QACVR,UAAU,CAAES,WAAW,IAAK;UAC1B;UACA,MAAMC,MAAM,GAAGD,WAAW,CAACE,IAAI,CAAClC,CAAC,IAAIA,CAAC,CAACmC,EAAE,KAAKJ,MAAM,CAACI,EAAE,CAAC;UACxD,IAAIF,MAAM,EAAE,OAAOD,WAAW;UAC9B,OAAO,CAAC,GAAGA,WAAW,EAAED,MAAM,CAAC;QACjC,CAAC,CAAC;MACJ,CAAC,EACD,IAAI,CAAC;MACP,CAAC;MAEDP,WAAW,CAAC,KAAK,CAAC;MAClBE,SAAS,CAAC,SAASJ,OAAO,CAACc,MAAM,iBAAiB,CAAC;IACrD,CAAC,CAAC,OAAOrB,KAAK,EAAE;MACdsB,OAAO,CAACtB,KAAK,CAAC,aAAa,EAAEA,KAAK,CAAC;MACnCS,WAAW,CAAC,KAAK,CAAC;MAClBE,SAAS,CAAC,aAAa,CAAC;MACxBpE,KAAK,CAACgF,KAAK,CAAC,OAAO,EAAE,4BAA4B,CAAC;IACpD,CAAC,SAAO;MACNd,WAAW,CAAC,KAAK,CAAC;IACpB;EACF,CAAC;EAED,MAAMe,aAAa,GAAG,MAAOR,MAAqB,IAAK;IACrD;IACAzE,KAAK,CAACgF,KAAK,CACT,cAAc,EACd,mBAAmBP,MAAM,CAACS,QAAQ,IAAIT,MAAM,CAACU,IAAI,GAAG,EACpD,CACE;MACEC,IAAI,EAAE,QAAQ;MACdC,KAAK,EAAE;IACT,CAAC,EACD;MACED,IAAI,EAAE,UAAU;MAChBE,OAAO,EAAEA,CAAA,KAAMC,eAAe,CAACd,MAAM;IACvC,CAAC,CAEL,CAAC;EACH,CAAC;EAGD,MAAMc,eAAe,GAAG,MAAOd,MAAqB,IAAK;IACvD,IAAI;MACFH,gBAAgB,CAACG,MAAM,CAAC;MACxB;MACA,MAAMe,IAAI,GAAGnF,QAAQ,CAACoF,OAAO,CAAC,CAAC;MAC/B,MAAMpF,QAAQ,CAACqF,gBAAgB,CAACjB,MAAM,CAACI,EAAE,CAAC;;MAE1C;MACA,MAAMc,OAAY,GAAG;QACnBhC,MAAM;QACNC,QAAQ;QACRgC,QAAQ,EAAIJ,IAAI,EAAEK,MAAM,IAAI,SAAS;QACrCC,UAAU,EAAEN,IAAI,EAAEL,IAAI,IAAI,kBAAkB;QAC5CY,WAAW,EAAEP,IAAI,EAAEQ,KAAK,IAAI,SAAS;QACrCC,WAAW,EAAET,IAAI,EAAEU,KAAK,IAAI,SAAS;QACrCC,SAAS,EAAGC,IAAI,CAACC,GAAG,CAAC;MACvB,CAAC;MAEDjC,SAAS,CAAC,4BAA4B,CAAC;;MAGvC;MACAW,OAAO,CAACuB,GAAG,CAAC,mBAAmB,EAAEX,OAAO,CAAC;MACzC,MAAMY,QAAa,GAAG,MAAM,MAAMlG,QAAQ,CAACmG,2BAA2B,CAAC/B,MAAM,CAACI,EAAE,EAAEc,OAAO,CAAC;MAE1FZ,OAAO,CAACuB,GAAG,CAAC,sBAAsB,EAAEC,QAAQ,CAAC;MAE7C,IAAI,CAACA,QAAQ,CAACE,QAAQ,EAAE;QACtBzG,KAAK,CAACgF,KAAK,CACT,kBAAkB,EAClB,GAAGP,MAAM,CAACS,QAAQ,uBAAuB,EACzC,CAAC;UAAEE,IAAI,EAAE;QAAK,CAAC,CACjB,CAAC;QACD;MACF;MAEA,IAAI,CAACmB,QAAQ,CAACG,cAAc,EAAE;QAC5B,MAAM;UACJC,IAAI,EAAE,oBAAoB;UAC1BC,OAAO,EAAE;QACX,CAAC;MACH;MAEA,MAAMC,OAA6B,GAAG;QACpClD,MAAM,EAAEA,MAAM;QACdC,QAAQ,EAAEA,QAAQ;QAClBkD,OAAO,EAAE,WAAW;QACpBC,SAAS,EAAE,QAAQnD,QAAQ,GAAGD,MAAM,OAAO4C,QAAQ,CAACG,cAAc,CAACM,WAAW,EAAE;QAChFC,SAAS,EAAEV,QAAQ,CAACG;MACtB,CAAC;MAED5C,oBAAoB,GAAG+C,OAAO,CAAC;MAC/BvC,gBAAgB,CAAC,IAAI,CAAC;MACtBF,SAAS,CAAC,eAAe,CAAC;IAC5B,CAAC,CAAC,OAAOX,KAAU,EAAE;MACnB,MAAMyD,EAAE,GAAGzD,KAAgB;MAC3Ba,gBAAgB,CAAC,IAAI,CAAC;MACtB,IAAIb,KAAK,CAACmD,OAAO,CAACO,QAAQ,CAAC,SAAS,CAAC,EAAE;QACrCnH,KAAK,CAACgF,KAAK,CACT,iBAAiB,EACjB,2EAA2E,EAC3E,CAAC;UAAEI,IAAI,EAAE;QAAK,CAAC,CACjB,CAAC;MACH,CAAC,MAAM;QACLpF,KAAK,CAACgF,KAAK,CAAC,OAAO,EAAE,gCAAgC,CAAC;MACxD;MACAjB,OAAO,GAAGmD,EAAE,CAAC;IACf;EACF,CAAC;EAGD,oBACEvG,KAAA,CAACG,SAAS;IAAA2B,QAAA,gBAGR9B,KAAA,CAACI,MAAM;MAAA0B,QAAA,gBACLhC,IAAA,CAACO,YAAY;QAACsE,OAAO,EAAEzB,OAAQ;QAAApB,QAAA,eAC7BhC,IAAA,CAACL,QAAQ;UAAC+E,IAAI,EAAC,OAAO;UAAChD,IAAI,EAAE;QAAG,CAAE;MAAC,CACvB,CAAC,eACfxB,KAAA,CAACM,YAAY;QAAAwB,QAAA,gBACXhC,IAAA,CAACX,IAAI;UAACuF,KAAK,EAAE;YAAE+B,UAAU,EAAE,MAAM;YAAEC,QAAQ,EAAE,EAAE;YAAEnF,KAAK,EAAC;UAAO,CAAE;UAAAO,QAAA,EAAC;QAAS,CAAM,CAAC,eACjFhC,IAAA,CAACX,IAAI;UAACuF,KAAK,EAAE;YAAEgC,QAAQ,EAAE,EAAE;YAAEnF,KAAK,EAAE;UAAO,CAAE;UAAAO,QAAA,EAAC;QAAQ,CAAM,CAAC;MAAA,CACjD,CAAC,eAEfhC,IAAA,CAACS,WAAW;QAAAuB,QAAA,eAEVhC,IAAA,CAACO,YAAY;UAAAyB,QAAA,eACXhC,IAAA,CAACL,QAAQ;YAAC+E,IAAI,EAAC,mBAAmB;YAAChD,IAAI,EAAE;UAAG,CAAE;QAAC,CACnC;MAAC,CACJ,CAAC;IAAA,CACR,CAAC,EAER,CAACgB,QAAQ,IAAI,CAACa,OAAO,CAACc,MAAM,iBAC3BnE,KAAA,CAACQ,mBAAmB;MAAAsB,QAAA,gBAClBhC,IAAA,CAACY,cAAc;QAACiE,OAAO,EAAEf,UAAW;QAAA9B,QAAA,eAClChC,IAAA,CAACwB,aAAa;UAACE,IAAI,EAAE,EAAG;UAACD,KAAK,EAAC;QAAM,CAAE;MAAC,CAC1B,CAAC,eACjBzB,IAAA,CAACa,cAAc;QAAAmB,QAAA,EAAC;MAAU,CAAgB,CAAC,eAC3ChC,IAAA,CAACX,IAAI;QAACuF,KAAK,EAAE;UAAEgC,QAAQ,EAAE,EAAE;UAAEnF,KAAK,EAAE;QAAO,CAAE;QAAAO,QAAA,EAAC;MAE9C,CAAM,CAAC;IAAA,CACY,CACtB,EAEAU,QAAQ,iBACP1C,IAAA,CAAAI,SAAA;MAAA4B,QAAA,eAEE9B,KAAA,CAACQ,mBAAmB;QAAAsB,QAAA,gBAClBhC,IAAA,CAACH,cAAc,IAAE,CAAC,eAClBK,KAAA,CAACqB,sBAAsB;UAAAS,QAAA,gBACrBhC,IAAA,CAACuC,qBAAqB;YAACb,IAAI,EAAE,EAAG;YAACD,KAAK,EAAC;UAAM,CAAE,CAAC,eAChDzB,IAAA,CAACa,cAAc;YAAAmB,QAAA,EAAC;UAAW,CAAgB,CAAC;QAAA,CACtB,CAAC;MAAA,CAEN;IAAC,CACtB,CAEH,EAGA,CAACU,QAAQ,IAAIa,OAAO,CAACc,MAAM,GAAG,CAAC,iBAC9BrE,IAAA,CAACoB,eAAe;MAACyF,4BAA4B,EAAE,KAAM;MAAA7E,QAAA,eACnD9B,KAAA,CAACoB,gBAAgB;QAAAU,QAAA,gBACfhC,IAAA,CAACW,8BAA8B;UAAAqB,QAAA,eAC7B9B,KAAA,CAACW,cAAc;YAAAmB,QAAA,GAAC,QAAM,EAACuB,OAAO,CAACc,MAAM,EAAC,UAAQ;UAAA,CAAgB;QAAC,CACjC,CAAC,EAChCd,OAAO,CAACuD,GAAG,CAAC9C,MAAM,iBACjB9D,KAAA,CAACY,UAAU;UAAAkB,QAAA,gBACT9B,KAAA,CAACa,UAAU;YAAAiB,QAAA,gBACT9B,KAAA,CAACc,UAAU;cAAAgB,QAAA,GACRgC,MAAM,CAAC+C,OAAO,EAAC,IAAE,EAAC/C,MAAM,CAACS,QAAQ,IAAIT,MAAM,CAACU,IAAI;YAAA,CAEvC,CAAC,eACbxE,KAAA,CAACe,YAAY;cAAAe,QAAA,GAAC,UACJ,EAACgC,MAAM,CAACgD,IAAI,EAAC,MACvB;YAAA,CAAc,CAAC;UAAA,CACL,CAAC,EACZpD,aAAa,EAAEQ,EAAE,KAAKJ,MAAM,CAACI,EAAE,gBAC9BpE,IAAA,CAACF,SAAS;YAAC4B,IAAI,EAAE,EAAG;YAACiD,IAAI,EAAC;UAAE,CAAE,CAAC,gBAE/B3E,IAAA,CAACkB,SAAS;YACR2D,OAAO,EAAEA,CAAA,KAAML,aAAa,CAACR,MAAM,CAAE;YACrCiD,aAAa,EAAE,GAAI;YAAAjF,QAAA,eAEnBhC,IAAA,CAACmB,aAAa;cAAAa,QAAA,EAAC;YAAG,CAAe;UAAC,CACzB,CACZ;QAAA,GAnBcgC,MAAM,CAACI,EAoBZ,CACb,CAAC;MAAA,CACc;IAAC,CAEJ,CAElB;EAAA,CACQ,CAAC;AAEhB","ignoreList":[]}