react-native-fpay 0.1.1

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 (167) hide show
  1. package/Fpay.podspec +20 -0
  2. package/LICENSE +20 -0
  3. package/README.md +37 -0
  4. package/android/build.gradle +67 -0
  5. package/android/src/main/AndroidManifest.xml +2 -0
  6. package/android/src/main/java/com/fpay/FpayModule.kt +15 -0
  7. package/android/src/main/java/com/fpay/FpayPackage.kt +31 -0
  8. package/ios/Fpay.h +5 -0
  9. package/ios/Fpay.mm +21 -0
  10. package/lib/module/FountainPayProvider.js +18 -0
  11. package/lib/module/FountainPayProvider.js.map +1 -0
  12. package/lib/module/core/api/client.js +47 -0
  13. package/lib/module/core/api/client.js.map +1 -0
  14. package/lib/module/core/api/index.js +35 -0
  15. package/lib/module/core/api/index.js.map +1 -0
  16. package/lib/module/core/types/index.js +4 -0
  17. package/lib/module/core/types/index.js.map +1 -0
  18. package/lib/module/engine/BLEReceiverService.js +190 -0
  19. package/lib/module/engine/BLEReceiverService.js.map +1 -0
  20. package/lib/module/engine/BLESenderService.js +259 -0
  21. package/lib/module/engine/BLESenderService.js.map +1 -0
  22. package/lib/module/engine/FPEngine.js +340 -0
  23. package/lib/module/engine/FPEngine.js.map +1 -0
  24. package/lib/module/engine/NearbyUsersService.js +87 -0
  25. package/lib/module/engine/NearbyUsersService.js.map +1 -0
  26. package/lib/module/index.js +16 -0
  27. package/lib/module/index.js.map +1 -0
  28. package/lib/module/package.json +1 -0
  29. package/lib/module/ui/components/FPButton.js +71 -0
  30. package/lib/module/ui/components/FPButton.js.map +1 -0
  31. package/lib/module/ui/components/LoadingAnimation/InLoading.js +74 -0
  32. package/lib/module/ui/components/LoadingAnimation/InLoading.js.map +1 -0
  33. package/lib/module/ui/components/LoadingAnimation/index.js +82 -0
  34. package/lib/module/ui/components/LoadingAnimation/index.js.map +1 -0
  35. package/lib/module/ui/components/OtpInput/OTPInputView.js +290 -0
  36. package/lib/module/ui/components/OtpInput/OTPInputView.js.map +1 -0
  37. package/lib/module/ui/components/OtpInput/Styles.js +20 -0
  38. package/lib/module/ui/components/OtpInput/Styles.js.map +1 -0
  39. package/lib/module/ui/components/OtpInput/helpers/codeToArray.js +7 -0
  40. package/lib/module/ui/components/OtpInput/helpers/codeToArray.js.map +1 -0
  41. package/lib/module/ui/components/OtpInput/helpers/device.js +9 -0
  42. package/lib/module/ui/components/OtpInput/helpers/device.js.map +1 -0
  43. package/lib/module/ui/components/OtpInput/helpers/styles.js +17 -0
  44. package/lib/module/ui/components/OtpInput/helpers/styles.js.map +1 -0
  45. package/lib/module/ui/components/OtpInput/helpers/types.js +4 -0
  46. package/lib/module/ui/components/OtpInput/helpers/types.js.map +1 -0
  47. package/lib/module/ui/components/OtpInput/index.js +45 -0
  48. package/lib/module/ui/components/OtpInput/index.js.map +1 -0
  49. package/lib/module/ui/components/PulseAnimation.js +61 -0
  50. package/lib/module/ui/components/PulseAnimation.js.map +1 -0
  51. package/lib/module/ui/modals/FPPaymentRequestModal.js +253 -0
  52. package/lib/module/ui/modals/FPPaymentRequestModal.js.map +1 -0
  53. package/lib/module/ui/modals/FPShell.js +180 -0
  54. package/lib/module/ui/modals/FPShell.js.map +1 -0
  55. package/lib/module/ui/screens/ReceiveScreen.js +291 -0
  56. package/lib/module/ui/screens/ReceiveScreen.js.map +1 -0
  57. package/lib/module/ui/screens/SendScreen.js +216 -0
  58. package/lib/module/ui/screens/SendScreen.js.map +1 -0
  59. package/lib/module/ui/screens/sub/BluetoothSubScreen.js +403 -0
  60. package/lib/module/ui/screens/sub/BluetoothSubScreen.js.map +1 -0
  61. package/lib/module/ui/screens/sub/NFCSubScreen.js +169 -0
  62. package/lib/module/ui/screens/sub/NFCSubScreen.js.map +1 -0
  63. package/lib/module/ui/screens/sub/NQRSubScreen.js +136 -0
  64. package/lib/module/ui/screens/sub/NQRSubScreen.js.map +1 -0
  65. package/lib/module/ui/screens/sub/ProximitySubScreen.js +501 -0
  66. package/lib/module/ui/screens/sub/ProximitySubScreen.js.map +1 -0
  67. package/lib/module/ui/screens/sub/TransferSubScreen.js +361 -0
  68. package/lib/module/ui/screens/sub/TransferSubScreen.js.map +1 -0
  69. package/lib/module/ui/theme/index.js +64 -0
  70. package/lib/module/ui/theme/index.js.map +1 -0
  71. package/lib/module/useFountainPay.js +82 -0
  72. package/lib/module/useFountainPay.js.map +1 -0
  73. package/lib/typescript/package.json +1 -0
  74. package/lib/typescript/src/FountainPayProvider.d.ts +7 -0
  75. package/lib/typescript/src/FountainPayProvider.d.ts.map +1 -0
  76. package/lib/typescript/src/core/api/client.d.ts +7 -0
  77. package/lib/typescript/src/core/api/client.d.ts.map +1 -0
  78. package/lib/typescript/src/core/api/index.d.ts +67 -0
  79. package/lib/typescript/src/core/api/index.d.ts.map +1 -0
  80. package/lib/typescript/src/core/types/index.d.ts +130 -0
  81. package/lib/typescript/src/core/types/index.d.ts.map +1 -0
  82. package/lib/typescript/src/engine/BLEReceiverService.d.ts +43 -0
  83. package/lib/typescript/src/engine/BLEReceiverService.d.ts.map +1 -0
  84. package/lib/typescript/src/engine/BLESenderService.d.ts +39 -0
  85. package/lib/typescript/src/engine/BLESenderService.d.ts.map +1 -0
  86. package/lib/typescript/src/engine/FPEngine.d.ts +24 -0
  87. package/lib/typescript/src/engine/FPEngine.d.ts.map +1 -0
  88. package/lib/typescript/src/engine/NearbyUsersService.d.ts +19 -0
  89. package/lib/typescript/src/engine/NearbyUsersService.d.ts.map +1 -0
  90. package/lib/typescript/src/index.d.ts +4 -0
  91. package/lib/typescript/src/index.d.ts.map +1 -0
  92. package/lib/typescript/src/ui/components/FPButton.d.ts +12 -0
  93. package/lib/typescript/src/ui/components/FPButton.d.ts.map +1 -0
  94. package/lib/typescript/src/ui/components/LoadingAnimation/InLoading.d.ts +7 -0
  95. package/lib/typescript/src/ui/components/LoadingAnimation/InLoading.d.ts.map +1 -0
  96. package/lib/typescript/src/ui/components/LoadingAnimation/index.d.ts +6 -0
  97. package/lib/typescript/src/ui/components/LoadingAnimation/index.d.ts.map +1 -0
  98. package/lib/typescript/src/ui/components/OtpInput/OTPInputView.d.ts +29 -0
  99. package/lib/typescript/src/ui/components/OtpInput/OTPInputView.d.ts.map +1 -0
  100. package/lib/typescript/src/ui/components/OtpInput/Styles.d.ts +330 -0
  101. package/lib/typescript/src/ui/components/OtpInput/Styles.d.ts.map +1 -0
  102. package/lib/typescript/src/ui/components/OtpInput/helpers/codeToArray.d.ts +6 -0
  103. package/lib/typescript/src/ui/components/OtpInput/helpers/codeToArray.d.ts.map +1 -0
  104. package/lib/typescript/src/ui/components/OtpInput/helpers/device.d.ts +6 -0
  105. package/lib/typescript/src/ui/components/OtpInput/helpers/device.d.ts.map +1 -0
  106. package/lib/typescript/src/ui/components/OtpInput/helpers/styles.d.ts +6 -0
  107. package/lib/typescript/src/ui/components/OtpInput/helpers/styles.d.ts.map +1 -0
  108. package/lib/typescript/src/ui/components/OtpInput/helpers/types.d.ts +84 -0
  109. package/lib/typescript/src/ui/components/OtpInput/helpers/types.d.ts.map +1 -0
  110. package/lib/typescript/src/ui/components/OtpInput/index.d.ts +9 -0
  111. package/lib/typescript/src/ui/components/OtpInput/index.d.ts.map +1 -0
  112. package/lib/typescript/src/ui/components/PulseAnimation.d.ts +2 -0
  113. package/lib/typescript/src/ui/components/PulseAnimation.d.ts.map +1 -0
  114. package/lib/typescript/src/ui/modals/FPPaymentRequestModal.d.ts +2 -0
  115. package/lib/typescript/src/ui/modals/FPPaymentRequestModal.d.ts.map +1 -0
  116. package/lib/typescript/src/ui/modals/FPShell.d.ts +2 -0
  117. package/lib/typescript/src/ui/modals/FPShell.d.ts.map +1 -0
  118. package/lib/typescript/src/ui/screens/ReceiveScreen.d.ts +10 -0
  119. package/lib/typescript/src/ui/screens/ReceiveScreen.d.ts.map +1 -0
  120. package/lib/typescript/src/ui/screens/SendScreen.d.ts +9 -0
  121. package/lib/typescript/src/ui/screens/SendScreen.d.ts.map +1 -0
  122. package/lib/typescript/src/ui/screens/sub/BluetoothSubScreen.d.ts +552 -0
  123. package/lib/typescript/src/ui/screens/sub/BluetoothSubScreen.d.ts.map +1 -0
  124. package/lib/typescript/src/ui/screens/sub/NFCSubScreen.d.ts +19 -0
  125. package/lib/typescript/src/ui/screens/sub/NFCSubScreen.d.ts.map +1 -0
  126. package/lib/typescript/src/ui/screens/sub/NQRSubScreen.d.ts +13 -0
  127. package/lib/typescript/src/ui/screens/sub/NQRSubScreen.d.ts.map +1 -0
  128. package/lib/typescript/src/ui/screens/sub/ProximitySubScreen.d.ts +552 -0
  129. package/lib/typescript/src/ui/screens/sub/ProximitySubScreen.d.ts.map +1 -0
  130. package/lib/typescript/src/ui/screens/sub/TransferSubScreen.d.ts +12 -0
  131. package/lib/typescript/src/ui/screens/sub/TransferSubScreen.d.ts.map +1 -0
  132. package/lib/typescript/src/ui/theme/index.d.ts +62 -0
  133. package/lib/typescript/src/ui/theme/index.d.ts.map +1 -0
  134. package/lib/typescript/src/useFountainPay.d.ts +3 -0
  135. package/lib/typescript/src/useFountainPay.d.ts.map +1 -0
  136. package/package.json +217 -0
  137. package/src/FountainPayProvider.tsx +21 -0
  138. package/src/core/api/client.ts +47 -0
  139. package/src/core/api/index.ts +61 -0
  140. package/src/core/types/index.ts +144 -0
  141. package/src/engine/BLEReceiverService.ts +244 -0
  142. package/src/engine/BLESenderService.ts +314 -0
  143. package/src/engine/FPEngine.ts +370 -0
  144. package/src/engine/NearbyUsersService.ts +106 -0
  145. package/src/index.ts +30 -0
  146. package/src/ui/components/FPButton.tsx +42 -0
  147. package/src/ui/components/LoadingAnimation/InLoading.tsx +88 -0
  148. package/src/ui/components/LoadingAnimation/index.tsx +93 -0
  149. package/src/ui/components/OtpInput/OTPInputView.tsx +243 -0
  150. package/src/ui/components/OtpInput/Styles.ts +19 -0
  151. package/src/ui/components/OtpInput/helpers/codeToArray.ts +3 -0
  152. package/src/ui/components/OtpInput/helpers/device.ts +6 -0
  153. package/src/ui/components/OtpInput/helpers/styles.ts +17 -0
  154. package/src/ui/components/OtpInput/helpers/types.ts +88 -0
  155. package/src/ui/components/OtpInput/index.tsx +51 -0
  156. package/src/ui/components/PulseAnimation.tsx +78 -0
  157. package/src/ui/modals/FPPaymentRequestModal.tsx +158 -0
  158. package/src/ui/modals/FPShell.tsx +107 -0
  159. package/src/ui/screens/ReceiveScreen.tsx +119 -0
  160. package/src/ui/screens/SendScreen.tsx +86 -0
  161. package/src/ui/screens/sub/BluetoothSubScreen.tsx +433 -0
  162. package/src/ui/screens/sub/NFCSubScreen.tsx +83 -0
  163. package/src/ui/screens/sub/NQRSubScreen.tsx +61 -0
  164. package/src/ui/screens/sub/ProximitySubScreen.tsx +390 -0
  165. package/src/ui/screens/sub/TransferSubScreen.tsx +146 -0
  166. package/src/ui/theme/index.ts +24 -0
  167. package/src/useFountainPay.ts +95 -0
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+
3
+ import React, { useEffect, useState } from 'react';
4
+ import { View, Text, StyleSheet, ActivityIndicator, Image } from 'react-native';
5
+ import { nqrAPI } from "../../../core/api/index.js";
6
+ import { C, R, S, F, shadow } from "../../theme/index.js";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export function NQRSubScreen({
9
+ mode,
10
+ amount,
11
+ currency = 'NGN',
12
+ onBack,
13
+ onDone,
14
+ onError
15
+ }) {
16
+ const [qr, setQr] = useState(null);
17
+ const [loading, setLoading] = useState(false);
18
+ useEffect(() => {
19
+ if (mode === 'receive') {
20
+ setLoading(true);
21
+ nqrAPI.generate({
22
+ amount: amount ? amount * 100 : undefined,
23
+ currency
24
+ }).then(setQr).catch(e => onError?.(e)).finally(() => setLoading(false));
25
+ }
26
+ }, []);
27
+ return /*#__PURE__*/_jsxs(View, {
28
+ style: st.wrap,
29
+ children: [/*#__PURE__*/_jsx(Text, {
30
+ onPress: onBack,
31
+ style: st.back,
32
+ children: "Back"
33
+ }), /*#__PURE__*/_jsx(Text, {
34
+ style: st.title,
35
+ children: mode === 'receive' ? 'Your QR Code' : 'Scan QR Code'
36
+ }), loading && /*#__PURE__*/_jsx(ActivityIndicator, {
37
+ size: "large",
38
+ color: C.brand,
39
+ style: {
40
+ marginTop: S.xl
41
+ }
42
+ }), qr && /*#__PURE__*/_jsxs(View, {
43
+ style: st.qrCard,
44
+ children: [/*#__PURE__*/_jsx(Image, {
45
+ source: {
46
+ uri: 'data:image/png;base64,' + qr.qrCodeImageBase64
47
+ },
48
+ style: {
49
+ width: 200,
50
+ height: 200
51
+ }
52
+ }), amount && /*#__PURE__*/_jsxs(Text, {
53
+ style: st.amount,
54
+ children: [currency, " ", amount.toLocaleString('en-NG', {
55
+ minimumFractionDigits: 2
56
+ })]
57
+ }), /*#__PURE__*/_jsxs(Text, {
58
+ style: st.ref,
59
+ children: ["Ref: ", qr.reference]
60
+ }), qr.expiresAt && /*#__PURE__*/_jsxs(Text, {
61
+ style: st.expiry,
62
+ children: ["Expires: ", new Date(qr.expiresAt).toLocaleTimeString()]
63
+ })]
64
+ }), mode === 'send' && /*#__PURE__*/_jsxs(View, {
65
+ style: st.placeholder,
66
+ children: [/*#__PURE__*/_jsx(Text, {
67
+ style: st.placeholderText,
68
+ children: "Camera scanner"
69
+ }), /*#__PURE__*/_jsx(Text, {
70
+ style: st.placeholderSub,
71
+ children: "Integrate your preferred camera/QR library here and pass the scanned qrString to nqrAPI.pay()"
72
+ })]
73
+ })]
74
+ });
75
+ }
76
+ const st = StyleSheet.create({
77
+ wrap: {
78
+ flex: 1,
79
+ padding: S.lg
80
+ },
81
+ back: {
82
+ color: C.brand,
83
+ fontSize: F.md,
84
+ fontWeight: '600',
85
+ marginBottom: S.md
86
+ },
87
+ title: {
88
+ fontSize: F.xl,
89
+ fontWeight: '800',
90
+ color: C.ink,
91
+ marginBottom: S.lg
92
+ },
93
+ qrCard: {
94
+ alignItems: 'center',
95
+ backgroundColor: C.white,
96
+ borderRadius: R.xl,
97
+ padding: S.xl,
98
+ ...shadow.lg
99
+ },
100
+ amount: {
101
+ fontSize: F.xxl,
102
+ fontWeight: '800',
103
+ color: C.ink,
104
+ marginTop: S.md
105
+ },
106
+ ref: {
107
+ fontSize: F.sm,
108
+ color: C.muted,
109
+ marginTop: S.sm
110
+ },
111
+ expiry: {
112
+ fontSize: F.xs,
113
+ color: C.amber,
114
+ marginTop: 4
115
+ },
116
+ placeholder: {
117
+ flex: 1,
118
+ backgroundColor: C.ink,
119
+ borderRadius: R.xl,
120
+ justifyContent: 'center',
121
+ alignItems: 'center',
122
+ padding: S.xl
123
+ },
124
+ placeholderText: {
125
+ color: C.white,
126
+ fontSize: F.xl,
127
+ fontWeight: '700'
128
+ },
129
+ placeholderSub: {
130
+ color: C.ghost,
131
+ fontSize: F.sm,
132
+ textAlign: 'center',
133
+ marginTop: S.sm
134
+ }
135
+ });
136
+ //# sourceMappingURL=NQRSubScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEffect","useState","View","Text","StyleSheet","ActivityIndicator","Image","nqrAPI","C","R","S","F","shadow","jsx","_jsx","jsxs","_jsxs","NQRSubScreen","mode","amount","currency","onBack","onDone","onError","qr","setQr","loading","setLoading","generate","undefined","then","catch","e","finally","style","st","wrap","children","onPress","back","title","size","color","brand","marginTop","xl","qrCard","source","uri","qrCodeImageBase64","width","height","toLocaleString","minimumFractionDigits","ref","reference","expiresAt","expiry","Date","toLocaleTimeString","placeholder","placeholderText","placeholderSub","create","flex","padding","lg","fontSize","md","fontWeight","marginBottom","ink","alignItems","backgroundColor","white","borderRadius","xxl","sm","muted","xs","amber","justifyContent","ghost","textAlign"],"sourceRoot":"../../../../../src","sources":["ui/screens/sub/NQRSubScreen.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,EAAEC,iBAAiB,EAAEC,KAAK,QAAQ,cAAc;AAC/E,SAASC,MAAM,QAAQ,4BAAmB;AAE1C,SAASC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,MAAM,QAAQ,sBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAUjD,OAAO,SAASC,YAAYA,CAAC;EAAEC,IAAI;EAAEC,MAAM;EAAEC,QAAQ,GAAG,KAAK;EAAEC,MAAM;EAAEC,MAAM;EAAEC;AAAe,CAAC,EAAE;EAC/F,MAAM,CAACC,EAAE,EAAEC,KAAK,CAAC,GAAGxB,QAAQ,CAA8E,IAAI,CAAC;EAC/G,MAAM,CAACyB,OAAO,EAAEC,UAAU,CAAC,GAAG1B,QAAQ,CAAC,KAAK,CAAC;EAE7CD,SAAS,CAAC,MAAM;IACd,IAAIkB,IAAI,KAAK,SAAS,EAAE;MACtBS,UAAU,CAAC,IAAI,CAAC;MAChBpB,MAAM,CAACqB,QAAQ,CAAC;QAAET,MAAM,EAAEA,MAAM,GAAGA,MAAM,GAAG,GAAG,GAAGU,SAAS;QAAET;MAAS,CAAC,CAAC,CACrEU,IAAI,CAACL,KAAK,CAAC,CAACM,KAAK,CAACC,CAAC,IAAIT,OAAO,GAAGS,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,MAAMN,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1E;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEX,KAAA,CAACd,IAAI;IAACgC,KAAK,EAAEC,EAAE,CAACC,IAAK;IAAAC,QAAA,gBACnBvB,IAAA,CAACX,IAAI;MAACmC,OAAO,EAAEjB,MAAO;MAACa,KAAK,EAAEC,EAAE,CAACI,IAAK;MAAAF,QAAA,EAAC;IAAI,CAAM,CAAC,eAClDvB,IAAA,CAACX,IAAI;MAAC+B,KAAK,EAAEC,EAAE,CAACK,KAAM;MAAAH,QAAA,EAAEnB,IAAI,KAAK,SAAS,GAAG,cAAc,GAAG;IAAc,CAAO,CAAC,EACnFQ,OAAO,iBAAIZ,IAAA,CAACT,iBAAiB;MAACoC,IAAI,EAAC,OAAO;MAACC,KAAK,EAAElC,CAAC,CAACmC,KAAM;MAACT,KAAK,EAAE;QAAEU,SAAS,EAAElC,CAAC,CAACmC;MAAG;IAAE,CAAE,CAAC,EACzFrB,EAAE,iBACDR,KAAA,CAACd,IAAI;MAACgC,KAAK,EAAEC,EAAE,CAACW,MAAO;MAAAT,QAAA,gBACrBvB,IAAA,CAACR,KAAK;QAACyC,MAAM,EAAE;UAAEC,GAAG,EAAE,wBAAwB,GAAGxB,EAAE,CAACyB;QAAkB,CAAE;QAACf,KAAK,EAAE;UAAEgB,KAAK,EAAE,GAAG;UAAEC,MAAM,EAAE;QAAI;MAAE,CAAE,CAAC,EAC9GhC,MAAM,iBAAIH,KAAA,CAACb,IAAI;QAAC+B,KAAK,EAAEC,EAAE,CAAChB,MAAO;QAAAkB,QAAA,GAAEjB,QAAQ,EAAC,GAAC,EAACD,MAAM,CAACiC,cAAc,CAAC,OAAO,EAAE;UAAEC,qBAAqB,EAAE;QAAE,CAAC,CAAC;MAAA,CAAO,CAAC,eACnHrC,KAAA,CAACb,IAAI;QAAC+B,KAAK,EAAEC,EAAE,CAACmB,GAAI;QAAAjB,QAAA,GAAC,OAAK,EAACb,EAAE,CAAC+B,SAAS;MAAA,CAAO,CAAC,EAC9C/B,EAAE,CAACgC,SAAS,iBAAIxC,KAAA,CAACb,IAAI;QAAC+B,KAAK,EAAEC,EAAE,CAACsB,MAAO;QAAApB,QAAA,GAAC,WAAS,EAAC,IAAIqB,IAAI,CAAClC,EAAE,CAACgC,SAAS,CAAC,CAACG,kBAAkB,CAAC,CAAC;MAAA,CAAO,CAAC;IAAA,CAClG,CACP,EACAzC,IAAI,KAAK,MAAM,iBACdF,KAAA,CAACd,IAAI;MAACgC,KAAK,EAAEC,EAAE,CAACyB,WAAY;MAAAvB,QAAA,gBAC1BvB,IAAA,CAACX,IAAI;QAAC+B,KAAK,EAAEC,EAAE,CAAC0B,eAAgB;QAAAxB,QAAA,EAAC;MAAc,CAAM,CAAC,eACtDvB,IAAA,CAACX,IAAI;QAAC+B,KAAK,EAAEC,EAAE,CAAC2B,cAAe;QAAAzB,QAAA,EAAC;MAA6F,CAAM,CAAC;IAAA,CAChI,CACP;EAAA,CACG,CAAC;AAEX;AAEA,MAAMF,EAAE,GAAG/B,UAAU,CAAC2D,MAAM,CAAC;EAC3B3B,IAAI,EAAE;IAAE4B,IAAI,EAAE,CAAC;IAAEC,OAAO,EAAEvD,CAAC,CAACwD;EAAG,CAAC;EAChC3B,IAAI,EAAE;IAAEG,KAAK,EAAElC,CAAC,CAACmC,KAAK;IAAEwB,QAAQ,EAAExD,CAAC,CAACyD,EAAE;IAAEC,UAAU,EAAE,KAAK;IAAEC,YAAY,EAAE5D,CAAC,CAAC0D;EAAG,CAAC;EAC/E5B,KAAK,EAAE;IAAE2B,QAAQ,EAAExD,CAAC,CAACkC,EAAE;IAAEwB,UAAU,EAAE,KAAK;IAAE3B,KAAK,EAAElC,CAAC,CAAC+D,GAAG;IAAED,YAAY,EAAE5D,CAAC,CAACwD;EAAG,CAAC;EAC9EpB,MAAM,EAAE;IAAE0B,UAAU,EAAE,QAAQ;IAAEC,eAAe,EAAEjE,CAAC,CAACkE,KAAK;IAAEC,YAAY,EAAElE,CAAC,CAACoC,EAAE;IAAEoB,OAAO,EAAEvD,CAAC,CAACmC,EAAE;IAAE,GAAGjC,MAAM,CAACsD;EAAG,CAAC;EAC3G/C,MAAM,EAAE;IAAEgD,QAAQ,EAAExD,CAAC,CAACiE,GAAG;IAAEP,UAAU,EAAE,KAAK;IAAE3B,KAAK,EAAElC,CAAC,CAAC+D,GAAG;IAAE3B,SAAS,EAAElC,CAAC,CAAC0D;EAAG,CAAC;EAC7Ed,GAAG,EAAE;IAAEa,QAAQ,EAAExD,CAAC,CAACkE,EAAE;IAAEnC,KAAK,EAAElC,CAAC,CAACsE,KAAK;IAAElC,SAAS,EAAElC,CAAC,CAACmE;EAAG,CAAC;EACxDpB,MAAM,EAAE;IAAEU,QAAQ,EAAExD,CAAC,CAACoE,EAAE;IAAErC,KAAK,EAAElC,CAAC,CAACwE,KAAK;IAAEpC,SAAS,EAAE;EAAE,CAAC;EACxDgB,WAAW,EAAE;IAAEI,IAAI,EAAE,CAAC;IAAES,eAAe,EAAEjE,CAAC,CAAC+D,GAAG;IAAEI,YAAY,EAAElE,CAAC,CAACoC,EAAE;IAAEoC,cAAc,EAAE,QAAQ;IAAET,UAAU,EAAE,QAAQ;IAAEP,OAAO,EAAEvD,CAAC,CAACmC;EAAG,CAAC;EACnIgB,eAAe,EAAE;IAAEnB,KAAK,EAAElC,CAAC,CAACkE,KAAK;IAAEP,QAAQ,EAAExD,CAAC,CAACkC,EAAE;IAAEwB,UAAU,EAAE;EAAM,CAAC;EACtEP,cAAc,EAAE;IAAEpB,KAAK,EAAElC,CAAC,CAAC0E,KAAK;IAAEf,QAAQ,EAAExD,CAAC,CAACkE,EAAE;IAAEM,SAAS,EAAE,QAAQ;IAAEvC,SAAS,EAAElC,CAAC,CAACmE;EAAG;AACzF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,501 @@
1
+ "use strict";
2
+
3
+ import React, { useState, useEffect, useRef } from 'react';
4
+ import styled from 'styled-components/native';
5
+ import Svg, { Path } from "react-native-svg";
6
+ import { View, Text, TouchableOpacity, StyleSheet, Animated, Easing } from 'react-native';
7
+ import { transferAPI } from "../../../core/api/index.js";
8
+ import { C, R, S, F } from "../../theme/index.js";
9
+ import NearbyUsersService from "../../../engine/NearbyUsersService.js";
10
+ import { PulseAnimation } from "../../components/PulseAnimation.js";
11
+ import Ionicons from 'react-native-vector-icons/Ionicons';
12
+ import LoadingAnimation from "../../components/LoadingAnimation/index.js";
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ const Container = styled(View)`
15
+ flex: 1;
16
+ background-color: #000000;
17
+ `;
18
+ const Header = styled(View)`
19
+ flex-direction: row;
20
+ align-items: center;
21
+ justify-content: space-between;
22
+ padding: 12px 16px;
23
+ position: absolute !important;
24
+ top: 40px;
25
+ left: 0;
26
+ right: 0;
27
+ z-index: 10;
28
+ elevation: 4;
29
+ shadow-color: #000;
30
+ shadow-offset: 0px 2px;
31
+ shadow-opacity: 0.1;
32
+ shadow-radius: 4px;
33
+ z-index: 9999999999 !important;
34
+ `;
35
+ const HeaderButton = styled(TouchableOpacity)`
36
+ padding: 8px;
37
+ background-color: #fff;
38
+ width: 40px;
39
+ height: 40px;
40
+ border-radius: 50%;
41
+ justify-content: center;
42
+ align-items: center;
43
+ `;
44
+ const HeaderCenter = styled(View)`
45
+ flex-direction: row;
46
+ align-items: center;
47
+ gap: 8px;
48
+ `;
49
+ const HeaderRight = styled(View)`
50
+ flex-direction: row;
51
+ align-items: center;
52
+ gap: 8px;
53
+ `;
54
+ const QuickLinksContainer = styled.View`
55
+ align-items: center;
56
+ margin-top: 250px;
57
+ `;
58
+ const QuickLinksContainerWithDevices = styled.View`
59
+ align-items: start;
60
+ margin-top: 30%;
61
+ margin-bottom: 20px;
62
+ `;
63
+ const QuickLinksIcon = styled.TouchableOpacity`
64
+ width: 96px;
65
+ height: 96px;
66
+ border-radius: 48px;
67
+ background-color: #18181b;
68
+ justify-content: center;
69
+ align-items: center;
70
+ margin-bottom: 16px;
71
+ `;
72
+ const QuickLinksText = styled.Text`
73
+ color: #9ca3af;
74
+ font-size: 18px;
75
+ `;
76
+ export const DeviceCard = styled.View`
77
+ background-color: white;
78
+ border-radius: 12px;
79
+ padding: 16px;
80
+ margin-bottom: 12px;
81
+ flex-direction: row;
82
+ justify-content: space-between;
83
+ align-items: center;
84
+ shadow-color: #000;
85
+ shadow-offset: 0px 2px;
86
+ shadow-opacity: 0.1;
87
+ shadow-radius: 8px;
88
+ elevation: 3;
89
+ `;
90
+ export const DeviceInfo = styled.View`
91
+ flex: 1;
92
+ `;
93
+ export const DeviceName = styled.Text`
94
+ font-size: 16px;
95
+ font-weight: 600;
96
+ color: #111827;
97
+ margin-bottom: 4px;
98
+ `;
99
+ export const DeviceSignal = styled.Text`
100
+ font-size: 14px;
101
+ color: #6b7280;
102
+ `;
103
+ export const PayButton = styled.TouchableOpacity`
104
+ background-color: #2563eb;
105
+ padding: 10px 20px;
106
+ border-radius: 8px;
107
+ `;
108
+ export const PayButtonText = styled.Text`
109
+ color: white;
110
+ font-size: 14px;
111
+ font-weight: 600;
112
+ `;
113
+ const ScrollContainer = styled.ScrollView`
114
+ flex: 1;
115
+ `;
116
+ const ContentContainer = styled.View`
117
+ padding: 14px;
118
+ margin-bottom: 80%;
119
+ `;
120
+ const BluetoothIconContainer = styled.View`
121
+ align-items: center;
122
+ margin-top: 15%;
123
+ `;
124
+ const LCAnimationContainer = styled.View`
125
+ align-items: center;
126
+ justify-content: center;
127
+ margin-top: 40%;
128
+ `;
129
+ const LCIconContainer = styled(Animated.View)`
130
+ width: 140px;
131
+ height: 140px;
132
+ border-radius: 90px;
133
+ background-color: #E8F5F1;
134
+ align-items: center;
135
+ justify-content: center;
136
+ margin-top: 24px;
137
+ margin-bottom: 24px;
138
+ `;
139
+ const LCIcon = styled.Text`
140
+ font-size: 80px;
141
+ `;
142
+ const StatusTextContainer = styled.View`
143
+ align-items: center;
144
+ margin-bottom: 8px;
145
+ `;
146
+ const StatusText = styled.Text`
147
+ font-size: 18px;
148
+ font-weight: 600;
149
+ color: #333333;
150
+ text-align: center;
151
+ margin-bottom: 8px;
152
+ `;
153
+ const StatusSubText = styled.Text`
154
+ font-size: 14px;
155
+ color: #666666;
156
+ text-align: center;
157
+ `;
158
+ const ConnectionStatusBadge = styled.View`
159
+ background-color: ${props => props.connected ? '#0a3d2e' : '#E0E0E0'};
160
+ border-radius: 20px;
161
+ padding: 8px 16px;
162
+ margin-top: 16px;
163
+ `;
164
+ const ConnectionStatusText = styled.Text`
165
+ font-size: 12px;
166
+ font-weight: 600;
167
+ color: ${props => props.connected ? '#ffffff' : '#666666'};
168
+ `;
169
+ const BluetoothIcon = ({
170
+ color = "#111",
171
+ size = 22
172
+ }) => /*#__PURE__*/_jsxs(Svg, {
173
+ width: size,
174
+ height: size,
175
+ strokeWidth: "0.9",
176
+ viewBox: "0 0 24 24",
177
+ fill: "none",
178
+ color: color,
179
+ children: [/*#__PURE__*/_jsx(Path, {
180
+ d: "M6 19.0007C3.57111 17.1763 2 14.2716 2 11C2 5.47715 6.47715 1 12 1C17.5228 1 22 5.47715 22 11C22 14.2716 20.4289 17.1763 18 19.0007",
181
+ stroke: "#fff",
182
+ strokeWidth: "0.9",
183
+ strokeLinecap: "round",
184
+ strokeLinejoin: "round"
185
+ }), /*#__PURE__*/_jsx(Path, {
186
+ d: "M6 19.0007C3.57111 17.1763 2 14.2716 2 11C2 5.47715 6.47715 1 12 1C17.5228 1 22 5.47715 22 11C22 14.2716 20.4289 17.1763 18 19.0007",
187
+ stroke: "#fff",
188
+ strokeWidth: "0.9",
189
+ strokeLinecap: "round",
190
+ strokeLinejoin: "round"
191
+ }), /*#__PURE__*/_jsx(Path, {
192
+ d: "M7.52779 15C6.57771 13.9385 6 12.5367 6 11C6 7.68629 8.68629 5 12 5C15.3137 5 18 7.68629 18 11C18 12.5367 17.4223 13.9385 16.4722 15",
193
+ stroke: "#fff",
194
+ strokeWidth: "0.9",
195
+ strokeLinecap: "round",
196
+ strokeLinejoin: "round"
197
+ }), /*#__PURE__*/_jsx(Path, {
198
+ fillRule: "evenodd",
199
+ clipRule: "evenodd",
200
+ d: "M9.25 11C9.25 9.48122 10.4812 8.25 12 8.25C13.5188 8.25 14.75 9.48122 14.75 11C14.75 12.5188 13.5188 13.75 12 13.75C10.4812 13.75 9.25 12.5188 9.25 11Z",
201
+ fill: "#fff"
202
+ }), /*#__PURE__*/_jsx(Path, {
203
+ d: "M15.0776 21.4865C14.8566 22.8126 13.7093 23.7844 12.365 23.7844H11.7536C10.4093 23.7844 9.262 22.8126 9.041 21.4865L8.53213 18.4333C8.29232 16.9946 9.43086 15.8854 10.5339 15.15C11.9123 14.231 12.3864 14.3406 13.5847 15.1396C14.6421 15.8445 15.8263 16.9946 15.5865 18.4333L15.0776 21.4865Z",
204
+ fill: "#fff"
205
+ })]
206
+ });
207
+ const BluetoothScanningIcon = ({
208
+ color = "#111",
209
+ size = 22
210
+ }) => /*#__PURE__*/_jsx(Svg, {
211
+ width: size,
212
+ height: size,
213
+ strokeWidth: "0.9",
214
+ viewBox: "0 0 24 24",
215
+ fill: "none",
216
+ color: color,
217
+ children: /*#__PURE__*/_jsx(Path, {
218
+ d: "M6.75 8L17.25 16.5L11.75 22V2L17.25 7.5L6.75 16",
219
+ stroke: color,
220
+ strokeWidth: "0.9",
221
+ strokeLinecap: "round",
222
+ strokeLinejoin: "round"
223
+ })
224
+ });
225
+ const ProximityIcon = ({
226
+ color = "#111",
227
+ size = 22
228
+ }) => /*#__PURE__*/_jsxs(Svg, {
229
+ width: size,
230
+ height: size,
231
+ strokeWidth: "0.9",
232
+ viewBox: "0 0 24 24",
233
+ fill: "none",
234
+ color: color,
235
+ children: [/*#__PURE__*/_jsx(Path, {
236
+ d: "M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z",
237
+ stroke: color,
238
+ strokeWidth: "0.9",
239
+ strokeLinecap: "round",
240
+ strokeLinejoin: "round"
241
+ }), /*#__PURE__*/_jsx(Path, {
242
+ d: "M12 13C12.5523 13 13 12.5523 13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12C11 12.5523 11.4477 13 12 13Z",
243
+ fill: color,
244
+ stroke: color,
245
+ strokeWidth: "0.9",
246
+ strokeLinecap: "round",
247
+ strokeLinejoin: "round"
248
+ }), /*#__PURE__*/_jsx(Path, {
249
+ d: "M19 19L17.5 17.5",
250
+ stroke: color,
251
+ strokeWidth: "0.9",
252
+ strokeLinecap: "round",
253
+ strokeLinejoin: "round"
254
+ }), /*#__PURE__*/_jsx(Path, {
255
+ d: "M15.5 15.5L14.5 14.5",
256
+ stroke: color,
257
+ strokeWidth: "0.9",
258
+ strokeLinecap: "round",
259
+ strokeLinejoin: "round"
260
+ })]
261
+ });
262
+ export function ProximitySubScreen({
263
+ amount,
264
+ currency,
265
+ onDone,
266
+ onSuccess,
267
+ onError
268
+ }) {
269
+ const [nearbyUsers, setNearbyUsers] = useState([]);
270
+ const [loading, setLoading] = useState(false);
271
+ const [scanning, setScanning] = useState(false);
272
+ const iconScale = useRef(new Animated.Value(1)).current;
273
+ const animationRef = useRef(null);
274
+ const handleScan = async () => {
275
+ try {
276
+ const users = await NearbyUsersService.getNearbyUsers();
277
+ setNearbyUsers(users);
278
+ } catch (error) {
279
+ console.error('Error fetching nearby users:', error);
280
+ } finally {
281
+ setScanning(false);
282
+ }
283
+ };
284
+ const handlePayment = async selected => {
285
+ if (!selected) return;
286
+ setLoading(true);
287
+ try {
288
+ const result = await transferAPI.send({
289
+ accountNumber: selected.accountNumber,
290
+ bankCode: selected.bankCode,
291
+ amount: amount * 100,
292
+ narration: 'Proximity payment'
293
+ });
294
+ onSuccess?.({
295
+ id: result.reference,
296
+ reference: result.reference,
297
+ type: 'debit',
298
+ channel: 'proximity',
299
+ amount: result.amount,
300
+ currency: result.currency,
301
+ status: result.status,
302
+ recipient: {
303
+ accountName: selected.displayName
304
+ },
305
+ createdAt: result.createdAt
306
+ });
307
+ onDone();
308
+ } catch (e) {
309
+ onError?.(e);
310
+ } finally {
311
+ setLoading(false);
312
+ }
313
+ };
314
+ useEffect(() => {
315
+ if (scanning) {
316
+ handleScan();
317
+ animationRef.current = Animated.loop(Animated.sequence([Animated.timing(iconScale, {
318
+ toValue: 1.1,
319
+ duration: 1500,
320
+ easing: Easing.inOut(Easing.ease),
321
+ useNativeDriver: true
322
+ }), Animated.timing(iconScale, {
323
+ toValue: 1,
324
+ duration: 1500,
325
+ easing: Easing.inOut(Easing.ease),
326
+ useNativeDriver: true
327
+ })]));
328
+ animationRef.current.start();
329
+ } else {
330
+ // Stop animation cleanly
331
+ animationRef.current?.stop();
332
+ iconScale.stopAnimation();
333
+ iconScale.setValue(1);
334
+ }
335
+ return () => {
336
+ animationRef.current?.stop();
337
+ };
338
+ }, [scanning]);
339
+ return /*#__PURE__*/_jsxs(Container, {
340
+ children: [loading && /*#__PURE__*/_jsx(LoadingAnimation, {}), /*#__PURE__*/_jsxs(Header, {
341
+ children: [/*#__PURE__*/_jsxs(HeaderCenter, {
342
+ children: [/*#__PURE__*/_jsx(Text, {
343
+ style: {
344
+ fontWeight: 'bold',
345
+ fontSize: 16,
346
+ color: '#FFF'
347
+ },
348
+ children: "Proximity"
349
+ }), /*#__PURE__*/_jsx(Text, {
350
+ style: {
351
+ fontSize: 10,
352
+ color: '#FFF'
353
+ },
354
+ children: "Transfer"
355
+ })]
356
+ }), /*#__PURE__*/_jsx(HeaderRight, {
357
+ children: /*#__PURE__*/_jsx(HeaderButton, {
358
+ children: /*#__PURE__*/_jsx(Ionicons, {
359
+ name: "ellipsis-vertical",
360
+ size: 22
361
+ })
362
+ })
363
+ })]
364
+ }), !scanning && !nearbyUsers.length && /*#__PURE__*/_jsxs(QuickLinksContainer, {
365
+ children: [/*#__PURE__*/_jsx(QuickLinksIcon, {
366
+ onPress: () => setScanning(true),
367
+ children: /*#__PURE__*/_jsx(ProximityIcon, {
368
+ size: 60,
369
+ color: "#FFF"
370
+ })
371
+ }), /*#__PURE__*/_jsx(QuickLinksText, {
372
+ children: "Tap to Pay"
373
+ }), /*#__PURE__*/_jsx(Text, {
374
+ style: {
375
+ fontSize: 16,
376
+ color: '#999'
377
+ },
378
+ children: "No nearby users found"
379
+ })]
380
+ }), scanning && /*#__PURE__*/_jsxs(LCAnimationContainer, {
381
+ children: [/*#__PURE__*/_jsx(PulseAnimation, {}), /*#__PURE__*/_jsx(LCIconContainer, {
382
+ style: {
383
+ transform: [{
384
+ scale: iconScale
385
+ }],
386
+ marginTop: 64
387
+ },
388
+ children: /*#__PURE__*/_jsx(LCIcon, {
389
+ children: "\uD83D\uDCE1"
390
+ })
391
+ }), /*#__PURE__*/_jsx(StatusTextContainer, {
392
+ children: /*#__PURE__*/_jsx(StatusText, {
393
+ children: "Searching for nearby users"
394
+ })
395
+ })]
396
+ }), !scanning && nearbyUsers.length > 0 && /*#__PURE__*/_jsx(ScrollContainer, {
397
+ showsVerticalScrollIndicator: false,
398
+ children: /*#__PURE__*/_jsxs(ContentContainer, {
399
+ children: [/*#__PURE__*/_jsx(QuickLinksContainerWithDevices, {
400
+ children: /*#__PURE__*/_jsxs(QuickLinksText, {
401
+ children: ["Found ", nearbyUsers.length, " user(s)"]
402
+ })
403
+ }), nearbyUsers.map(user => /*#__PURE__*/_jsxs(DeviceCard, {
404
+ children: [/*#__PURE__*/_jsxs(DeviceInfo, {
405
+ children: [/*#__PURE__*/_jsxs(DeviceName, {
406
+ children: [user.userName || user.name, user.appName]
407
+ }), /*#__PURE__*/_jsxs(DeviceSignal, {
408
+ children: ["Signal: ", Math.round(user.distance), "m away"]
409
+ })]
410
+ }), /*#__PURE__*/_jsx(PayButton, {
411
+ onPress: () => handlePayment(user),
412
+ activeOpacity: 0.8,
413
+ children: /*#__PURE__*/_jsx(PayButtonText, {
414
+ children: "Pay"
415
+ })
416
+ })]
417
+ }, user.userId))]
418
+ })
419
+ })]
420
+ });
421
+ }
422
+ const st = StyleSheet.create({
423
+ wrap: {
424
+ flex: 1,
425
+ padding: S.lg
426
+ },
427
+ back: {
428
+ color: C.brand,
429
+ fontSize: F.md,
430
+ fontWeight: '600',
431
+ marginBottom: S.md
432
+ },
433
+ title: {
434
+ fontSize: F.xl,
435
+ fontWeight: '800',
436
+ color: C.ink,
437
+ marginBottom: S.lg
438
+ },
439
+ peerCard: {
440
+ flexDirection: 'row',
441
+ alignItems: 'center',
442
+ backgroundColor: C.surface,
443
+ borderRadius: R.lg,
444
+ padding: S.md,
445
+ borderWidth: 2,
446
+ borderColor: 'transparent'
447
+ },
448
+ peerSelected: {
449
+ borderColor: C.brand,
450
+ backgroundColor: '#EEF4FF'
451
+ },
452
+ avatar: {
453
+ width: 44,
454
+ height: 44,
455
+ borderRadius: 22,
456
+ backgroundColor: C.brand,
457
+ justifyContent: 'center',
458
+ alignItems: 'center',
459
+ marginRight: S.md
460
+ },
461
+ avatarText: {
462
+ color: C.white,
463
+ fontWeight: '800',
464
+ fontSize: F.lg
465
+ },
466
+ peerName: {
467
+ fontSize: F.md,
468
+ fontWeight: '700',
469
+ color: C.ink
470
+ },
471
+ peerBank: {
472
+ fontSize: F.sm,
473
+ color: C.muted
474
+ },
475
+ dist: {
476
+ fontSize: F.xs,
477
+ color: C.brand
478
+ },
479
+ check: {
480
+ color: C.brand,
481
+ fontWeight: '800'
482
+ },
483
+ empty: {
484
+ textAlign: 'center',
485
+ color: C.muted,
486
+ padding: S.xl
487
+ },
488
+ footer: {
489
+ backgroundColor: C.surface,
490
+ borderRadius: R.lg,
491
+ padding: S.lg,
492
+ marginTop: S.md
493
+ },
494
+ footerText: {
495
+ fontSize: F.md,
496
+ color: C.ink,
497
+ fontWeight: '600',
498
+ marginBottom: S.md
499
+ }
500
+ });
501
+ //# sourceMappingURL=ProximitySubScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","useEffect","useRef","styled","Svg","Path","View","Text","TouchableOpacity","StyleSheet","Animated","Easing","transferAPI","C","R","S","F","NearbyUsersService","PulseAnimation","Ionicons","LoadingAnimation","jsx","_jsx","jsxs","_jsxs","Container","Header","HeaderButton","HeaderCenter","HeaderRight","QuickLinksContainer","QuickLinksContainerWithDevices","QuickLinksIcon","QuickLinksText","DeviceCard","DeviceInfo","DeviceName","DeviceSignal","PayButton","PayButtonText","ScrollContainer","ScrollView","ContentContainer","BluetoothIconContainer","LCAnimationContainer","LCIconContainer","LCIcon","StatusTextContainer","StatusText","StatusSubText","ConnectionStatusBadge","props","connected","ConnectionStatusText","BluetoothIcon","color","size","width","height","strokeWidth","viewBox","fill","children","d","stroke","strokeLinecap","strokeLinejoin","fillRule","clipRule","BluetoothScanningIcon","ProximityIcon","ProximitySubScreen","amount","currency","onDone","onSuccess","onError","nearbyUsers","setNearbyUsers","loading","setLoading","scanning","setScanning","iconScale","Value","current","animationRef","handleScan","users","getNearbyUsers","error","console","handlePayment","selected","result","send","accountNumber","bankCode","narration","id","reference","type","channel","status","recipient","accountName","displayName","createdAt","e","loop","sequence","timing","toValue","duration","easing","inOut","ease","useNativeDriver","start","stop","stopAnimation","setValue","style","fontWeight","fontSize","name","length","onPress","transform","scale","marginTop","showsVerticalScrollIndicator","map","user","userName","appName","Math","round","distance","activeOpacity","userId","st","create","wrap","flex","padding","lg","back","brand","md","marginBottom","title","xl","ink","peerCard","flexDirection","alignItems","backgroundColor","surface","borderRadius","borderWidth","borderColor","peerSelected","avatar","justifyContent","marginRight","avatarText","white","peerName","peerBank","sm","muted","dist","xs","check","empty","textAlign","footer","footerText"],"sourceRoot":"../../../../../src","sources":["ui/screens/sub/ProximitySubScreen.tsx"],"mappings":"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","ignoreList":[]}