react-native-fpay 0.4.30 → 0.4.31
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 -0
- package/lib/module/FountainPayProvider.js.map +1 -1
- package/lib/module/core/api/index.js +59 -0
- package/lib/module/core/api/index.js.map +1 -1
- package/lib/module/core/types/index.js +32 -0
- package/lib/module/core/types/index.js.map +1 -1
- package/lib/module/engine/FPEngine.js +9 -0
- package/lib/module/engine/FPEngine.js.map +1 -1
- package/lib/module/ui/components/ConfirmScreen.js +43 -51
- package/lib/module/ui/components/ConfirmScreen.js.map +1 -1
- package/lib/module/ui/components/RecurringToggle.js +94 -0
- package/lib/module/ui/components/RecurringToggle.js.map +1 -0
- package/lib/module/ui/modals/FPShell.js +19 -0
- package/lib/module/ui/modals/FPShell.js.map +1 -1
- package/lib/module/ui/screens/BillsScreen.js +186 -0
- package/lib/module/ui/screens/BillsScreen.js.map +1 -0
- package/lib/module/ui/screens/ResultScreen.js +113 -28
- package/lib/module/ui/screens/ResultScreen.js.map +1 -1
- package/lib/module/ui/screens/SendScreen.js +54 -6
- package/lib/module/ui/screens/SendScreen.js.map +1 -1
- package/lib/module/ui/screens/sub/billPayment/AirtimeScreen.js +257 -0
- package/lib/module/ui/screens/sub/billPayment/AirtimeScreen.js.map +1 -0
- package/lib/module/ui/screens/sub/billPayment/CableScreen.js +264 -0
- package/lib/module/ui/screens/sub/billPayment/CableScreen.js.map +1 -0
- package/lib/module/ui/screens/sub/billPayment/DataScreen.js +273 -0
- package/lib/module/ui/screens/sub/billPayment/DataScreen.js.map +1 -0
- package/lib/module/ui/screens/sub/billPayment/ElectricityScreen.js +337 -0
- package/lib/module/ui/screens/sub/billPayment/ElectricityScreen.js.map +1 -0
- package/lib/typescript/src/FountainPayProvider.d.ts.map +1 -1
- package/lib/typescript/src/core/api/index.d.ts +52 -63
- package/lib/typescript/src/core/api/index.d.ts.map +1 -1
- package/lib/typescript/src/core/types/index.d.ts +146 -0
- package/lib/typescript/src/core/types/index.d.ts.map +1 -1
- package/lib/typescript/src/engine/FPEngine.d.ts +4 -2
- package/lib/typescript/src/engine/FPEngine.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/ui/components/ConfirmScreen.d.ts +25 -4
- package/lib/typescript/src/ui/components/ConfirmScreen.d.ts.map +1 -1
- package/lib/typescript/src/ui/components/RecurringToggle.d.ts +7 -0
- package/lib/typescript/src/ui/components/RecurringToggle.d.ts.map +1 -0
- package/lib/typescript/src/ui/modals/FPShell.d.ts.map +1 -1
- package/lib/typescript/src/ui/screens/BillsScreen.d.ts +10 -0
- package/lib/typescript/src/ui/screens/BillsScreen.d.ts.map +1 -0
- package/lib/typescript/src/ui/screens/ResultScreen.d.ts +20 -3
- package/lib/typescript/src/ui/screens/ResultScreen.d.ts.map +1 -1
- package/lib/typescript/src/ui/screens/SendScreen.d.ts.map +1 -1
- package/lib/typescript/src/ui/screens/sub/billPayment/AirtimeScreen.d.ts +15 -0
- package/lib/typescript/src/ui/screens/sub/billPayment/AirtimeScreen.d.ts.map +1 -0
- package/lib/typescript/src/ui/screens/sub/billPayment/CableScreen.d.ts +14 -0
- package/lib/typescript/src/ui/screens/sub/billPayment/CableScreen.d.ts.map +1 -0
- package/lib/typescript/src/ui/screens/sub/billPayment/DataScreen.d.ts +14 -0
- package/lib/typescript/src/ui/screens/sub/billPayment/DataScreen.d.ts.map +1 -0
- package/lib/typescript/src/ui/screens/sub/billPayment/ElectricityScreen.d.ts +16 -0
- package/lib/typescript/src/ui/screens/sub/billPayment/ElectricityScreen.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/FountainPayProvider.tsx +7 -0
- package/src/core/api/index.ts +149 -27
- package/src/core/types/index.ts +181 -0
- package/src/engine/FPEngine.ts +12 -1
- package/src/index.ts +9 -1
- package/src/ui/components/ConfirmScreen.tsx +47 -54
- package/src/ui/components/RecurringToggle.tsx +106 -0
- package/src/ui/modals/FPShell.tsx +26 -3
- package/src/ui/screens/BillsScreen.tsx +197 -0
- package/src/ui/screens/ResultScreen.tsx +129 -28
- package/src/ui/screens/SendScreen.tsx +43 -6
- package/src/ui/screens/sub/billPayment/AirtimeScreen.tsx +252 -0
- package/src/ui/screens/sub/billPayment/CableScreen.tsx +274 -0
- package/src/ui/screens/sub/billPayment/DataScreen.tsx +263 -0
- package/src/ui/screens/sub/billPayment/ElectricityScreen.tsx +344 -0
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { View, Text, TouchableOpacity, ScrollView, KeyboardAvoidingView, Platform, ActivityIndicator } from 'react-native';
|
|
5
|
+
import styled from 'styled-components/native';
|
|
6
|
+
import { C, F, R, S } from "../../../theme/index.js";
|
|
7
|
+
import { billsAPI } from "../../../../core/api/index.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
const PREFIX_MAP = {
|
|
10
|
+
'0803': 'MTN',
|
|
11
|
+
'0806': 'MTN',
|
|
12
|
+
'0703': 'MTN',
|
|
13
|
+
'0706': 'MTN',
|
|
14
|
+
'0813': 'MTN',
|
|
15
|
+
'0816': 'MTN',
|
|
16
|
+
'0810': 'MTN',
|
|
17
|
+
'0814': 'MTN',
|
|
18
|
+
'0903': 'MTN',
|
|
19
|
+
'0906': 'MTN',
|
|
20
|
+
'0913': 'MTN',
|
|
21
|
+
'0916': 'MTN',
|
|
22
|
+
'0802': 'AIRTEL',
|
|
23
|
+
'0808': 'AIRTEL',
|
|
24
|
+
'0708': 'AIRTEL',
|
|
25
|
+
'0812': 'AIRTEL',
|
|
26
|
+
'0701': 'AIRTEL',
|
|
27
|
+
'0902': 'AIRTEL',
|
|
28
|
+
'0907': 'AIRTEL',
|
|
29
|
+
'0901': 'AIRTEL',
|
|
30
|
+
'0911': 'AIRTEL',
|
|
31
|
+
'0805': 'GLO',
|
|
32
|
+
'0807': 'GLO',
|
|
33
|
+
'0815': 'GLO',
|
|
34
|
+
'0811': 'GLO',
|
|
35
|
+
'0905': 'GLO',
|
|
36
|
+
'0915': 'GLO',
|
|
37
|
+
'0809': '9MOBILE',
|
|
38
|
+
'0817': '9MOBILE',
|
|
39
|
+
'0818': '9MOBILE',
|
|
40
|
+
'0908': '9MOBILE',
|
|
41
|
+
'0909': '9MOBILE'
|
|
42
|
+
};
|
|
43
|
+
function detectNetwork(phone) {
|
|
44
|
+
return PREFIX_MAP[phone.slice(0, 4)] ?? null;
|
|
45
|
+
}
|
|
46
|
+
const Container = styled(View)`
|
|
47
|
+
flex: 1;
|
|
48
|
+
background-color: ${C.white};
|
|
49
|
+
`;
|
|
50
|
+
const Body = styled(ScrollView)`
|
|
51
|
+
flex: 1;
|
|
52
|
+
padding: ${S.lg}px;
|
|
53
|
+
`;
|
|
54
|
+
const FieldLabel = styled(Text)`
|
|
55
|
+
font-size: ${F.sm}px;
|
|
56
|
+
font-weight: 600;
|
|
57
|
+
color: ${C.muted};
|
|
58
|
+
margin-bottom: ${S.xs}px;
|
|
59
|
+
`;
|
|
60
|
+
const InputBox = styled.View`
|
|
61
|
+
background-color: ${C.surface};
|
|
62
|
+
border-radius: ${R.lg}px;
|
|
63
|
+
padding: 0 ${S.md}px;
|
|
64
|
+
height: 52px;
|
|
65
|
+
flex-direction: row;
|
|
66
|
+
align-items: center;
|
|
67
|
+
margin-bottom: ${S.md}px;
|
|
68
|
+
`;
|
|
69
|
+
const StyledInput = styled.TextInput`
|
|
70
|
+
flex: 1;
|
|
71
|
+
font-size: ${F.md}px;
|
|
72
|
+
color: ${C.ink};
|
|
73
|
+
`;
|
|
74
|
+
const NetworkRow = styled(View)`
|
|
75
|
+
flex-direction: row;
|
|
76
|
+
gap: ${S.sm}px;
|
|
77
|
+
margin-bottom: ${S.lg}px;
|
|
78
|
+
`;
|
|
79
|
+
const NetworkChip = styled(TouchableOpacity)`
|
|
80
|
+
flex: 1;
|
|
81
|
+
height: 44px;
|
|
82
|
+
border-radius: ${R.full}px;
|
|
83
|
+
align-items: center;
|
|
84
|
+
justify-content: center;
|
|
85
|
+
background-color: ${props => props.selected ? props.brandColor ?? C.brand : C.surface};
|
|
86
|
+
`;
|
|
87
|
+
const NetworkChipText = styled(Text)`
|
|
88
|
+
font-size: ${F.sm}px;
|
|
89
|
+
font-weight: 700;
|
|
90
|
+
color: ${props => props.selected ? C.white : C.muted};
|
|
91
|
+
`;
|
|
92
|
+
const PlanCard = styled(TouchableOpacity)`
|
|
93
|
+
border-radius: ${R.lg}px;
|
|
94
|
+
padding: ${S.md}px;
|
|
95
|
+
margin-bottom: ${S.sm}px;
|
|
96
|
+
background-color: ${props => props.selected ? C.brandLight : C.surface};
|
|
97
|
+
border-width: 1.5px;
|
|
98
|
+
border-color: ${props => props.selected ? C.brand : 'transparent'};
|
|
99
|
+
opacity: ${props => props.disabled ? 0.45 : 1};
|
|
100
|
+
flex-direction: row;
|
|
101
|
+
justify-content: space-between;
|
|
102
|
+
align-items: center;
|
|
103
|
+
`;
|
|
104
|
+
const PlanLabel = styled(Text)`
|
|
105
|
+
font-size: ${F.md}px;
|
|
106
|
+
font-weight: 700;
|
|
107
|
+
color: ${C.ink};
|
|
108
|
+
`;
|
|
109
|
+
const PlanValidity = styled(Text)`
|
|
110
|
+
font-size: ${F.xs}px;
|
|
111
|
+
color: ${C.muted};
|
|
112
|
+
margin-top: 2px;
|
|
113
|
+
`;
|
|
114
|
+
const PlanPrice = styled(Text)`
|
|
115
|
+
font-size: ${F.md}px;
|
|
116
|
+
font-weight: 800;
|
|
117
|
+
color: ${C.brand};
|
|
118
|
+
`;
|
|
119
|
+
const EmptyText = styled(Text)`
|
|
120
|
+
text-align: center;
|
|
121
|
+
color: ${C.muted};
|
|
122
|
+
margin-top: ${S.lg}px;
|
|
123
|
+
`;
|
|
124
|
+
const ContinueButton = styled(TouchableOpacity)`
|
|
125
|
+
background-color: ${props => props.disabled ? C.ghost : C.brand};
|
|
126
|
+
border-radius: ${R.full}px;
|
|
127
|
+
padding: ${S.md}px 0;
|
|
128
|
+
align-items: center;
|
|
129
|
+
margin-top: ${S.md}px;
|
|
130
|
+
`;
|
|
131
|
+
const ContinueButtonText = styled(Text)`
|
|
132
|
+
color: ${C.white};
|
|
133
|
+
font-weight: 800;
|
|
134
|
+
font-size: ${F.md}px;
|
|
135
|
+
`;
|
|
136
|
+
export default function DataScreen({
|
|
137
|
+
onProcessTransaction,
|
|
138
|
+
onError
|
|
139
|
+
}) {
|
|
140
|
+
const [networks, setNetworks] = useState([]);
|
|
141
|
+
const [phone, setPhone] = useState('');
|
|
142
|
+
const [network, setNetwork] = useState(null);
|
|
143
|
+
const [networkTouched, setNetworkTouched] = useState(false);
|
|
144
|
+
const [plans, setPlans] = useState([]);
|
|
145
|
+
const [plansLoading, setPlansLoading] = useState(false);
|
|
146
|
+
const [selectedPlan, setSelectedPlan] = useState(null);
|
|
147
|
+
useEffect(() => {
|
|
148
|
+
billsAPI.getNetworks().then(res => {
|
|
149
|
+
if (res.status) setNetworks(res.payload.filter(n => n.isActive));
|
|
150
|
+
}).catch(() => {
|
|
151
|
+
onError?.({
|
|
152
|
+
code: 'NETWORK_LOAD_FAILED',
|
|
153
|
+
message: 'Could not load network list'
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
}, []);
|
|
157
|
+
useEffect(() => {
|
|
158
|
+
if (!networkTouched) {
|
|
159
|
+
const detected = detectNetwork(phone);
|
|
160
|
+
if (detected) setNetwork(detected);
|
|
161
|
+
}
|
|
162
|
+
}, [phone, networkTouched]);
|
|
163
|
+
useEffect(() => {
|
|
164
|
+
if (!network) {
|
|
165
|
+
setPlans([]);
|
|
166
|
+
setSelectedPlan(null);
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
setPlansLoading(true);
|
|
170
|
+
setSelectedPlan(null);
|
|
171
|
+
billsAPI.getDataPlans(network).then(res => {
|
|
172
|
+
if (res.status) setPlans(res.payload);
|
|
173
|
+
}).catch(() => {
|
|
174
|
+
onError?.({
|
|
175
|
+
code: 'PLANS_LOAD_FAILED',
|
|
176
|
+
message: 'Could not load data plans'
|
|
177
|
+
});
|
|
178
|
+
}).finally(() => setPlansLoading(false));
|
|
179
|
+
}, [network]);
|
|
180
|
+
const isValid = /^0\d{10}$/.test(phone) && !!network && !!selectedPlan;
|
|
181
|
+
const handleContinue = () => {
|
|
182
|
+
if (!isValid || !network || !selectedPlan) return;
|
|
183
|
+
onProcessTransaction({
|
|
184
|
+
category: 'DATA',
|
|
185
|
+
phoneNumber: phone,
|
|
186
|
+
network,
|
|
187
|
+
planId: selectedPlan.id,
|
|
188
|
+
amountInKobo: selectedPlan.priceInKobo,
|
|
189
|
+
idempotencyKey: `data_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`
|
|
190
|
+
}, [{
|
|
191
|
+
label: 'Phone Number',
|
|
192
|
+
value: phone
|
|
193
|
+
}, {
|
|
194
|
+
label: 'Network',
|
|
195
|
+
value: network
|
|
196
|
+
}, {
|
|
197
|
+
label: 'Plan',
|
|
198
|
+
value: `${selectedPlan.label} / ${selectedPlan.validity}`
|
|
199
|
+
}]);
|
|
200
|
+
};
|
|
201
|
+
return /*#__PURE__*/_jsx(Container, {
|
|
202
|
+
children: /*#__PURE__*/_jsx(KeyboardAvoidingView, {
|
|
203
|
+
style: {
|
|
204
|
+
flex: 1
|
|
205
|
+
},
|
|
206
|
+
behavior: Platform.OS === 'ios' ? 'padding' : undefined,
|
|
207
|
+
children: /*#__PURE__*/_jsxs(Body, {
|
|
208
|
+
keyboardShouldPersistTaps: "handled",
|
|
209
|
+
showsVerticalScrollIndicator: false,
|
|
210
|
+
children: [/*#__PURE__*/_jsx(FieldLabel, {
|
|
211
|
+
children: "Phone Number"
|
|
212
|
+
}), /*#__PURE__*/_jsx(InputBox, {
|
|
213
|
+
children: /*#__PURE__*/_jsx(StyledInput, {
|
|
214
|
+
placeholder: "080XXXXXXXX",
|
|
215
|
+
placeholderTextColor: C.ghost,
|
|
216
|
+
keyboardType: "number-pad",
|
|
217
|
+
maxLength: 11,
|
|
218
|
+
value: phone,
|
|
219
|
+
onChangeText: setPhone
|
|
220
|
+
})
|
|
221
|
+
}), /*#__PURE__*/_jsx(FieldLabel, {
|
|
222
|
+
children: "Network"
|
|
223
|
+
}), /*#__PURE__*/_jsx(NetworkRow, {
|
|
224
|
+
children: ['MTN', 'AIRTEL', 'GLO', '9MOBILE'].map(code => {
|
|
225
|
+
const op = networks.find(n => n.code === code);
|
|
226
|
+
return /*#__PURE__*/_jsx(NetworkChip, {
|
|
227
|
+
selected: network === code,
|
|
228
|
+
brandColor: op?.brandColor,
|
|
229
|
+
onPress: () => {
|
|
230
|
+
setNetworkTouched(true);
|
|
231
|
+
setNetwork(code);
|
|
232
|
+
},
|
|
233
|
+
children: /*#__PURE__*/_jsx(NetworkChipText, {
|
|
234
|
+
selected: network === code,
|
|
235
|
+
children: code
|
|
236
|
+
})
|
|
237
|
+
}, code);
|
|
238
|
+
})
|
|
239
|
+
}), /*#__PURE__*/_jsx(FieldLabel, {
|
|
240
|
+
children: "Select a Plan"
|
|
241
|
+
}), plansLoading && /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
242
|
+
color: C.brand,
|
|
243
|
+
style: {
|
|
244
|
+
marginTop: S.md
|
|
245
|
+
}
|
|
246
|
+
}), !plansLoading && network && plans.length === 0 && /*#__PURE__*/_jsxs(EmptyText, {
|
|
247
|
+
children: ["No plans available for ", network, " right now."]
|
|
248
|
+
}), !plansLoading && plans.map(plan => /*#__PURE__*/_jsxs(PlanCard, {
|
|
249
|
+
selected: selectedPlan?.id === plan.id,
|
|
250
|
+
disabled: !plan.isAvailable,
|
|
251
|
+
onPress: () => plan.isAvailable && setSelectedPlan(plan),
|
|
252
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
253
|
+
children: [/*#__PURE__*/_jsx(PlanLabel, {
|
|
254
|
+
children: plan.label
|
|
255
|
+
}), /*#__PURE__*/_jsx(PlanValidity, {
|
|
256
|
+
children: plan.validity
|
|
257
|
+
})]
|
|
258
|
+
}), /*#__PURE__*/_jsxs(PlanPrice, {
|
|
259
|
+
children: ["\u20A6", (plan.priceInKobo / 100).toLocaleString()]
|
|
260
|
+
})]
|
|
261
|
+
}, plan.id)), /*#__PURE__*/_jsx(ContinueButton, {
|
|
262
|
+
disabled: !isValid,
|
|
263
|
+
onPress: handleContinue,
|
|
264
|
+
activeOpacity: 0.85,
|
|
265
|
+
children: /*#__PURE__*/_jsx(ContinueButtonText, {
|
|
266
|
+
children: "Continue"
|
|
267
|
+
})
|
|
268
|
+
})]
|
|
269
|
+
})
|
|
270
|
+
})
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
//# sourceMappingURL=DataScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useState","View","Text","TouchableOpacity","ScrollView","KeyboardAvoidingView","Platform","ActivityIndicator","styled","C","F","R","S","billsAPI","jsx","_jsx","jsxs","_jsxs","PREFIX_MAP","detectNetwork","phone","slice","Container","white","Body","lg","FieldLabel","sm","muted","xs","InputBox","surface","md","StyledInput","TextInput","ink","NetworkRow","NetworkChip","full","props","selected","brandColor","brand","NetworkChipText","PlanCard","brandLight","disabled","PlanLabel","PlanValidity","PlanPrice","EmptyText","ContinueButton","ghost","ContinueButtonText","DataScreen","onProcessTransaction","onError","networks","setNetworks","setPhone","network","setNetwork","networkTouched","setNetworkTouched","plans","setPlans","plansLoading","setPlansLoading","selectedPlan","setSelectedPlan","getNetworks","then","res","status","payload","filter","n","isActive","catch","code","message","detected","getDataPlans","finally","isValid","test","handleContinue","category","phoneNumber","planId","id","amountInKobo","priceInKobo","idempotencyKey","Date","now","Math","random","toString","label","value","validity","children","style","flex","behavior","OS","undefined","keyboardShouldPersistTaps","showsVerticalScrollIndicator","placeholder","placeholderTextColor","keyboardType","maxLength","onChangeText","map","op","find","onPress","color","marginTop","length","plan","isAvailable","toLocaleString","activeOpacity"],"sourceRoot":"../../../../../../src","sources":["ui/screens/sub/billPayment/DataScreen.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,IAAI,EAAEC,IAAI,EAAEC,gBAAgB,EAAEC,UAAU,EAAEC,oBAAoB,EAAEC,QAAQ,EAAEC,iBAAiB,QAAQ,cAAc;AAC1H,OAAOC,MAAM,MAAM,0BAA0B;AAC7C,SAASC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,QAAQ,yBAAgB;AAC3C,SAASC,QAAQ,QAAQ,+BAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGhD,MAAMC,UAAyC,GAAG;EAChD,MAAM,EAAE,KAAK;EAAE,MAAM,EAAE,KAAK;EAAE,MAAM,EAAE,KAAK;EAAE,MAAM,EAAE,KAAK;EAAE,MAAM,EAAE,KAAK;EAAE,MAAM,EAAE,KAAK;EAAE,MAAM,EAAE,KAAK;EAAE,MAAM,EAAE,KAAK;EAAE,MAAM,EAAE,KAAK;EAAE,MAAM,EAAE,KAAK;EAAE,MAAM,EAAE,KAAK;EAAE,MAAM,EAAE,KAAK;EAClL,MAAM,EAAE,QAAQ;EAAE,MAAM,EAAE,QAAQ;EAAE,MAAM,EAAE,QAAQ;EAAE,MAAM,EAAE,QAAQ;EAAE,MAAM,EAAE,QAAQ;EAAE,MAAM,EAAE,QAAQ;EAAE,MAAM,EAAE,QAAQ;EAAE,MAAM,EAAE,QAAQ;EAAE,MAAM,EAAE,QAAQ;EAChK,MAAM,EAAE,KAAK;EAAE,MAAM,EAAE,KAAK;EAAE,MAAM,EAAE,KAAK;EAAE,MAAM,EAAE,KAAK;EAAE,MAAM,EAAE,KAAK;EAAE,MAAM,EAAE,KAAK;EACxF,MAAM,EAAE,SAAS;EAAE,MAAM,EAAE,SAAS;EAAE,MAAM,EAAE,SAAS;EAAE,MAAM,EAAE,SAAS;EAAE,MAAM,EAAE;AACtF,CAAC;AAED,SAASC,aAAaA,CAACC,KAAa,EAAwB;EAC1D,OAAOF,UAAU,CAACE,KAAK,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI;AAC9C;AAEA,MAAMC,SAAS,GAAGd,MAAM,CAACP,IAAI,CAAC;AAC9B;AACA,sBAAsBQ,CAAC,CAACc,KAAK;AAC7B,CAAC;AAED,MAAMC,IAAI,GAAGhB,MAAM,CAACJ,UAAU,CAAC;AAC/B;AACA,aAAaQ,CAAC,CAACa,EAAE;AACjB,CAAC;AAED,MAAMC,UAAU,GAAGlB,MAAM,CAACN,IAAI,CAAC;AAC/B,eAAeQ,CAAC,CAACiB,EAAE;AACnB;AACA,WAAWlB,CAAC,CAACmB,KAAK;AAClB,mBAAmBhB,CAAC,CAACiB,EAAE;AACvB,CAAC;AAED,MAAMC,QAAQ,GAAGtB,MAAM,CAACP,IAAI;AAC5B,sBAAsBQ,CAAC,CAACsB,OAAO;AAC/B,mBAAmBpB,CAAC,CAACc,EAAE;AACvB,eAAeb,CAAC,CAACoB,EAAE;AACnB;AACA;AACA;AACA,mBAAmBpB,CAAC,CAACoB,EAAE;AACvB,CAAC;AAED,MAAMC,WAAW,GAAGzB,MAAM,CAAC0B,SAAS;AACpC;AACA,eAAexB,CAAC,CAACsB,EAAE;AACnB,WAAWvB,CAAC,CAAC0B,GAAG;AAChB,CAAC;AAED,MAAMC,UAAU,GAAG5B,MAAM,CAACP,IAAI,CAAC;AAC/B;AACA,SAASW,CAAC,CAACe,EAAE;AACb,mBAAmBf,CAAC,CAACa,EAAE;AACvB,CAAC;AAED,MAAMY,WAAW,GAAG7B,MAAM,CAACL,gBAAgB,CAA6C;AACxF;AACA;AACA,mBAAmBQ,CAAC,CAAC2B,IAAI;AACzB;AACA;AACA,sBAAuBC,KAAU,IAAMA,KAAK,CAACC,QAAQ,GAAID,KAAK,CAACE,UAAU,IAAIhC,CAAC,CAACiC,KAAK,GAAIjC,CAAC,CAACsB,OAAQ;AAClG,CAAC;AAED,MAAMY,eAAe,GAAGnC,MAAM,CAACN,IAAI,CAAwB;AAC3D,eAAeQ,CAAC,CAACiB,EAAE;AACnB;AACA,WAAYY,KAAU,IAAMA,KAAK,CAACC,QAAQ,GAAG/B,CAAC,CAACc,KAAK,GAAGd,CAAC,CAACmB,KAAM;AAC/D,CAAC;AAED,MAAMgB,QAAQ,GAAGpC,MAAM,CAACL,gBAAgB,CAA4C;AACpF,mBAAmBQ,CAAC,CAACc,EAAE;AACvB,aAAab,CAAC,CAACoB,EAAE;AACjB,mBAAmBpB,CAAC,CAACe,EAAE;AACvB,sBAAuBY,KAAU,IAAMA,KAAK,CAACC,QAAQ,GAAG/B,CAAC,CAACoC,UAAU,GAAGpC,CAAC,CAACsB,OAAQ;AACjF;AACA,kBAAmBQ,KAAU,IAAMA,KAAK,CAACC,QAAQ,GAAG/B,CAAC,CAACiC,KAAK,GAAG,aAAc;AAC5E,aAAcH,KAAU,IAAMA,KAAK,CAACO,QAAQ,GAAG,IAAI,GAAG,CAAE;AACxD;AACA;AACA;AACA,CAAC;AAED,MAAMC,SAAS,GAAGvC,MAAM,CAACN,IAAI,CAAC;AAC9B,eAAeQ,CAAC,CAACsB,EAAE;AACnB;AACA,WAAWvB,CAAC,CAAC0B,GAAG;AAChB,CAAC;AAED,MAAMa,YAAY,GAAGxC,MAAM,CAACN,IAAI,CAAC;AACjC,eAAeQ,CAAC,CAACmB,EAAE;AACnB,WAAWpB,CAAC,CAACmB,KAAK;AAClB;AACA,CAAC;AAED,MAAMqB,SAAS,GAAGzC,MAAM,CAACN,IAAI,CAAC;AAC9B,eAAeQ,CAAC,CAACsB,EAAE;AACnB;AACA,WAAWvB,CAAC,CAACiC,KAAK;AAClB,CAAC;AAED,MAAMQ,SAAS,GAAG1C,MAAM,CAACN,IAAI,CAAC;AAC9B;AACA,WAAWO,CAAC,CAACmB,KAAK;AAClB,gBAAgBhB,CAAC,CAACa,EAAE;AACpB,CAAC;AAED,MAAM0B,cAAc,GAAG3C,MAAM,CAACL,gBAAgB,CAAyB;AACvE,sBAAuBoC,KAAU,IAAMA,KAAK,CAACO,QAAQ,GAAGrC,CAAC,CAAC2C,KAAK,GAAG3C,CAAC,CAACiC,KAAM;AAC1E,mBAAmB/B,CAAC,CAAC2B,IAAI;AACzB,aAAa1B,CAAC,CAACoB,EAAE;AACjB;AACA,gBAAgBpB,CAAC,CAACoB,EAAE;AACpB,CAAC;AAED,MAAMqB,kBAAkB,GAAG7C,MAAM,CAACN,IAAI,CAAC;AACvC,WAAWO,CAAC,CAACc,KAAK;AAClB;AACA,eAAeb,CAAC,CAACsB,EAAE;AACnB,CAAC;AAUD,eAAe,SAASsB,UAAUA,CAAC;EAAEC,oBAAoB;EAAEC;AAAe,CAAC,EAAE;EAC3E,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG1D,QAAQ,CAAsB,EAAE,CAAC;EACjE,MAAM,CAACoB,KAAK,EAAEuC,QAAQ,CAAC,GAAG3D,QAAQ,CAAC,EAAE,CAAC;EACtC,MAAM,CAAC4D,OAAO,EAAEC,UAAU,CAAC,GAAG7D,QAAQ,CAAuB,IAAI,CAAC;EAClE,MAAM,CAAC8D,cAAc,EAAEC,iBAAiB,CAAC,GAAG/D,QAAQ,CAAC,KAAK,CAAC;EAC3D,MAAM,CAACgE,KAAK,EAAEC,QAAQ,CAAC,GAAGjE,QAAQ,CAAe,EAAE,CAAC;EACpD,MAAM,CAACkE,YAAY,EAAEC,eAAe,CAAC,GAAGnE,QAAQ,CAAC,KAAK,CAAC;EACvD,MAAM,CAACoE,YAAY,EAAEC,eAAe,CAAC,GAAGrE,QAAQ,CAAoB,IAAI,CAAC;EAEzED,SAAS,CAAC,MAAM;IACdc,QAAQ,CACLyD,WAAW,CAAC,CAAC,CACbC,IAAI,CAAEC,GAAQ,IAAK;MAClB,IAAIA,GAAG,CAACC,MAAM,EAAEf,WAAW,CAACc,GAAG,CAACE,OAAO,CAACC,MAAM,CAAEC,CAAoB,IAAKA,CAAC,CAACC,QAAQ,CAAC,CAAC;IACvF,CAAC,CAAC,CACDC,KAAK,CAAC,MAAM;MACXtB,OAAO,GAAG;QAAEuB,IAAI,EAAE,qBAAqB;QAAEC,OAAO,EAAE;MAA8B,CAAC,CAAC;IACpF,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAENjF,SAAS,CAAC,MAAM;IACd,IAAI,CAAC+D,cAAc,EAAE;MACnB,MAAMmB,QAAQ,GAAG9D,aAAa,CAACC,KAAK,CAAC;MACrC,IAAI6D,QAAQ,EAAEpB,UAAU,CAACoB,QAAQ,CAAC;IACpC;EACF,CAAC,EAAE,CAAC7D,KAAK,EAAE0C,cAAc,CAAC,CAAC;EAE3B/D,SAAS,CAAC,MAAM;IACd,IAAI,CAAC6D,OAAO,EAAE;MACZK,QAAQ,CAAC,EAAE,CAAC;MACZI,eAAe,CAAC,IAAI,CAAC;MACrB;IACF;IACAF,eAAe,CAAC,IAAI,CAAC;IACrBE,eAAe,CAAC,IAAI,CAAC;IACrBxD,QAAQ,CACLqE,YAAY,CAACtB,OAAO,CAAC,CACrBW,IAAI,CAAEC,GAAQ,IAAK;MAClB,IAAIA,GAAG,CAACC,MAAM,EAAER,QAAQ,CAACO,GAAG,CAACE,OAAO,CAAC;IACvC,CAAC,CAAC,CACDI,KAAK,CAAC,MAAM;MACXtB,OAAO,GAAG;QAAEuB,IAAI,EAAE,mBAAmB;QAAEC,OAAO,EAAE;MAA4B,CAAC,CAAC;IAChF,CAAC,CAAC,CACDG,OAAO,CAAC,MAAMhB,eAAe,CAAC,KAAK,CAAC,CAAC;EAC1C,CAAC,EAAE,CAACP,OAAO,CAAC,CAAC;EAEb,MAAMwB,OAAO,GAAG,WAAW,CAACC,IAAI,CAACjE,KAAK,CAAC,IAAI,CAAC,CAACwC,OAAO,IAAI,CAAC,CAACQ,YAAY;EAEtE,MAAMkB,cAAc,GAAGA,CAAA,KAAM;IAC3B,IAAI,CAACF,OAAO,IAAI,CAACxB,OAAO,IAAI,CAACQ,YAAY,EAAE;IAC3Cb,oBAAoB,CAClB;MACEgC,QAAQ,EAAE,MAAM;MAChBC,WAAW,EAAEpE,KAAK;MAClBwC,OAAO;MACP6B,MAAM,EAAErB,YAAY,CAACsB,EAAE;MACvBC,YAAY,EAAEvB,YAAY,CAACwB,WAAW;MACtCC,cAAc,EAAE,QAAQC,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAAC7E,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC,EACD,CACE;MAAE8E,KAAK,EAAE,cAAc;MAAEC,KAAK,EAAEhF;IAAM,CAAC,EACvC;MAAE+E,KAAK,EAAE,SAAS;MAAEC,KAAK,EAAExC;IAAQ,CAAC,EACpC;MAAEuC,KAAK,EAAE,MAAM;MAAEC,KAAK,EAAE,GAAGhC,YAAY,CAAC+B,KAAK,MAAM/B,YAAY,CAACiC,QAAQ;IAAG,CAAC,CAEhF,CAAC;EACH,CAAC;EAED,oBACEtF,IAAA,CAACO,SAAS;IAAAgF,QAAA,eACRvF,IAAA,CAACV,oBAAoB;MAACkG,KAAK,EAAE;QAAEC,IAAI,EAAE;MAAE,CAAE;MAACC,QAAQ,EAAEnG,QAAQ,CAACoG,EAAE,KAAK,KAAK,GAAG,SAAS,GAAGC,SAAU;MAAAL,QAAA,eAChGrF,KAAA,CAACO,IAAI;QAACoF,yBAAyB,EAAC,SAAS;QAACC,4BAA4B,EAAE,KAAM;QAAAP,QAAA,gBAC5EvF,IAAA,CAACW,UAAU;UAAA4E,QAAA,EAAC;QAAY,CAAY,CAAC,eACrCvF,IAAA,CAACe,QAAQ;UAAAwE,QAAA,eACPvF,IAAA,CAACkB,WAAW;YACV6E,WAAW,EAAC,aAAa;YACzBC,oBAAoB,EAAEtG,CAAC,CAAC2C,KAAM;YAC9B4D,YAAY,EAAC,YAAY;YACzBC,SAAS,EAAE,EAAG;YACdb,KAAK,EAAEhF,KAAM;YACb8F,YAAY,EAAEvD;UAAS,CACxB;QAAC,CACM,CAAC,eAEX5C,IAAA,CAACW,UAAU;UAAA4E,QAAA,EAAC;QAAO,CAAY,CAAC,eAChCvF,IAAA,CAACqB,UAAU;UAAAkE,QAAA,EACP,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAqBa,GAAG,CAAEpC,IAAI,IAAK;YACtE,MAAMqC,EAAE,GAAG3D,QAAQ,CAAC4D,IAAI,CAAEzC,CAAM,IAAKA,CAAC,CAACG,IAAI,KAAKA,IAAI,CAAC;YACrD,oBACEhE,IAAA,CAACsB,WAAW;cAEVG,QAAQ,EAAEoB,OAAO,KAAKmB,IAAK;cAC3BtC,UAAU,EAAE2E,EAAE,EAAE3E,UAAW;cAC3B6E,OAAO,EAAEA,CAAA,KAAM;gBACbvD,iBAAiB,CAAC,IAAI,CAAC;gBACvBF,UAAU,CAACkB,IAAI,CAAC;cAClB,CAAE;cAAAuB,QAAA,eAEFvF,IAAA,CAAC4B,eAAe;gBAACH,QAAQ,EAAEoB,OAAO,KAAKmB,IAAK;gBAAAuB,QAAA,EAAEvB;cAAI,CAAkB;YAAC,GARhEA,IASM,CAAC;UAElB,CAAC;QAAC,CACQ,CAAC,eAEbhE,IAAA,CAACW,UAAU;UAAA4E,QAAA,EAAC;QAAa,CAAY,CAAC,EACrCpC,YAAY,iBAAInD,IAAA,CAACR,iBAAiB;UAACgH,KAAK,EAAE9G,CAAC,CAACiC,KAAM;UAAC6D,KAAK,EAAE;YAAEiB,SAAS,EAAE5G,CAAC,CAACoB;UAAG;QAAE,CAAE,CAAC,EACjF,CAACkC,YAAY,IAAIN,OAAO,IAAII,KAAK,CAACyD,MAAM,KAAK,CAAC,iBAC7CxG,KAAA,CAACiC,SAAS;UAAAoD,QAAA,GAAC,yBAAuB,EAAC1C,OAAO,EAAC,aAAW;QAAA,CAAW,CAClE,EACA,CAACM,YAAY,IACZF,KAAK,CAACmD,GAAG,CAAEO,IAAS,iBAClBzG,KAAA,CAAC2B,QAAQ;UAEPJ,QAAQ,EAAE4B,YAAY,EAAEsB,EAAE,KAAKgC,IAAI,CAAChC,EAAG;UACvC5C,QAAQ,EAAE,CAAC4E,IAAI,CAACC,WAAY;UAC5BL,OAAO,EAAEA,CAAA,KAAMI,IAAI,CAACC,WAAW,IAAItD,eAAe,CAACqD,IAAI,CAAE;UAAApB,QAAA,gBAEzDrF,KAAA,CAAChB,IAAI;YAAAqG,QAAA,gBACHvF,IAAA,CAACgC,SAAS;cAAAuD,QAAA,EAAEoB,IAAI,CAACvB;YAAK,CAAY,CAAC,eACnCpF,IAAA,CAACiC,YAAY;cAAAsD,QAAA,EAAEoB,IAAI,CAACrB;YAAQ,CAAe,CAAC;UAAA,CACxC,CAAC,eACPpF,KAAA,CAACgC,SAAS;YAAAqD,QAAA,GAAC,QAAC,EAAC,CAACoB,IAAI,CAAC9B,WAAW,GAAG,GAAG,EAAEgC,cAAc,CAAC,CAAC;UAAA,CAAY,CAAC;QAAA,GAT9DF,IAAI,CAAChC,EAUF,CACX,CAAC,eAEJ3E,IAAA,CAACoC,cAAc;UAACL,QAAQ,EAAE,CAACsC,OAAQ;UAACkC,OAAO,EAAEhC,cAAe;UAACuC,aAAa,EAAE,IAAK;UAAAvB,QAAA,eAC/EvF,IAAA,CAACsC,kBAAkB;YAAAiD,QAAA,EAAC;UAAQ,CAAoB;QAAC,CACnC,CAAC;MAAA,CACb;IAAC,CACa;EAAC,CACd,CAAC;AAEhB","ignoreList":[]}
|
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { View, Text, TouchableOpacity, ScrollView, KeyboardAvoidingView, Platform, Switch, ActivityIndicator } from 'react-native';
|
|
5
|
+
import styled from 'styled-components/native';
|
|
6
|
+
import { C, F, R, S } from "../../../theme/index.js";
|
|
7
|
+
import { billsAPI } from "../../../../core/api/index.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
9
|
+
const Container = styled(View)`
|
|
10
|
+
flex: 1;
|
|
11
|
+
background-color: ${C.white};
|
|
12
|
+
`;
|
|
13
|
+
const Body = styled(ScrollView)`
|
|
14
|
+
flex: 1;
|
|
15
|
+
padding: ${S.lg}px;
|
|
16
|
+
`;
|
|
17
|
+
const FieldLabel = styled(Text)`
|
|
18
|
+
font-size: ${F.sm}px;
|
|
19
|
+
font-weight: 600;
|
|
20
|
+
color: ${C.muted};
|
|
21
|
+
margin-bottom: ${S.xs}px;
|
|
22
|
+
`;
|
|
23
|
+
const InputBox = styled.View`
|
|
24
|
+
background-color: ${C.surface};
|
|
25
|
+
border-radius: ${R.lg}px;
|
|
26
|
+
padding: 0 ${S.md}px;
|
|
27
|
+
height: 52px;
|
|
28
|
+
flex-direction: row;
|
|
29
|
+
align-items: center;
|
|
30
|
+
margin-bottom: ${S.md}px;
|
|
31
|
+
`;
|
|
32
|
+
const StyledInput = styled.TextInput`
|
|
33
|
+
flex: 1;
|
|
34
|
+
font-size: ${F.md}px;
|
|
35
|
+
color: ${C.ink};
|
|
36
|
+
`;
|
|
37
|
+
const CurrencyPrefix = styled(Text)`
|
|
38
|
+
font-size: ${F.md}px;
|
|
39
|
+
color: ${C.muted};
|
|
40
|
+
margin-right: ${S.xs}px;
|
|
41
|
+
`;
|
|
42
|
+
const SelectBox = styled(TouchableOpacity)`
|
|
43
|
+
background-color: ${C.surface};
|
|
44
|
+
border-radius: ${R.lg}px;
|
|
45
|
+
padding: 0 ${S.md}px;
|
|
46
|
+
height: 52px;
|
|
47
|
+
flex-direction: row;
|
|
48
|
+
align-items: center;
|
|
49
|
+
justify-content: space-between;
|
|
50
|
+
margin-bottom: ${S.md}px;
|
|
51
|
+
`;
|
|
52
|
+
const SelectBoxText = styled(Text)`
|
|
53
|
+
font-size: ${F.md}px;
|
|
54
|
+
color: ${props => props.placeholder ? C.ghost : C.ink};
|
|
55
|
+
`;
|
|
56
|
+
const DiscoSheet = styled(View)`
|
|
57
|
+
background-color: ${C.white};
|
|
58
|
+
border-radius: ${R.xl}px;
|
|
59
|
+
padding: ${S.md}px;
|
|
60
|
+
margin-bottom: ${S.md}px;
|
|
61
|
+
max-height: 240px;
|
|
62
|
+
`;
|
|
63
|
+
const DiscoRow = styled(TouchableOpacity)`
|
|
64
|
+
padding: ${S.sm}px ${S.md}px;
|
|
65
|
+
border-radius: ${R.md}px;
|
|
66
|
+
background-color: ${props => props.selected ? C.brandLight : 'transparent'};
|
|
67
|
+
margin-bottom: 4px;
|
|
68
|
+
`;
|
|
69
|
+
const DiscoRowText = styled(Text)`
|
|
70
|
+
font-size: ${F.md}px;
|
|
71
|
+
color: ${C.ink};
|
|
72
|
+
font-weight: 600;
|
|
73
|
+
`;
|
|
74
|
+
const TypeRow = styled(View)`
|
|
75
|
+
flex-direction: row;
|
|
76
|
+
gap: ${S.sm}px;
|
|
77
|
+
margin-bottom: ${S.md}px;
|
|
78
|
+
`;
|
|
79
|
+
const TypeChip = styled(TouchableOpacity)`
|
|
80
|
+
flex: 1;
|
|
81
|
+
height: 44px;
|
|
82
|
+
border-radius: ${R.md}px;
|
|
83
|
+
align-items: center;
|
|
84
|
+
justify-content: center;
|
|
85
|
+
background-color: ${props => props.selected ? C.brand : C.surface};
|
|
86
|
+
`;
|
|
87
|
+
const TypeChipText = styled(Text)`
|
|
88
|
+
font-size: ${F.sm}px;
|
|
89
|
+
font-weight: 700;
|
|
90
|
+
color: ${props => props.selected ? C.white : C.muted};
|
|
91
|
+
`;
|
|
92
|
+
const CustomerNameBox = styled(View)`
|
|
93
|
+
background-color: ${C.greenLight};
|
|
94
|
+
border-radius: ${R.md}px;
|
|
95
|
+
padding: ${S.sm}px ${S.md}px;
|
|
96
|
+
margin-bottom: ${S.md}px;
|
|
97
|
+
`;
|
|
98
|
+
const CustomerNameText = styled(Text)`
|
|
99
|
+
color: ${C.green};
|
|
100
|
+
font-weight: 700;
|
|
101
|
+
font-size: ${F.sm}px;
|
|
102
|
+
`;
|
|
103
|
+
const SwitchRow = styled(View)`
|
|
104
|
+
flex-direction: row;
|
|
105
|
+
justify-content: space-between;
|
|
106
|
+
align-items: center;
|
|
107
|
+
margin-bottom: ${S.md}px;
|
|
108
|
+
`;
|
|
109
|
+
const SwitchLabel = styled(Text)`
|
|
110
|
+
font-size: ${F.md}px;
|
|
111
|
+
color: ${C.ink};
|
|
112
|
+
font-weight: 600;
|
|
113
|
+
`;
|
|
114
|
+
const ContinueButton = styled(TouchableOpacity)`
|
|
115
|
+
background-color: ${props => props.disabled ? C.ghost : C.brand};
|
|
116
|
+
border-radius: ${R.full}px;
|
|
117
|
+
padding: ${S.md}px 0;
|
|
118
|
+
align-items: center;
|
|
119
|
+
margin-top: ${S.sm}px;
|
|
120
|
+
`;
|
|
121
|
+
const ContinueButtonText = styled(Text)`
|
|
122
|
+
color: ${C.white};
|
|
123
|
+
font-weight: 800;
|
|
124
|
+
font-size: ${F.md}px;
|
|
125
|
+
`;
|
|
126
|
+
export default function ElectricityScreen({
|
|
127
|
+
amount,
|
|
128
|
+
user,
|
|
129
|
+
onProcessTransaction,
|
|
130
|
+
onError
|
|
131
|
+
}) {
|
|
132
|
+
const [discos, setDiscos] = useState([]);
|
|
133
|
+
const [discoPickerOpen, setDiscoPickerOpen] = useState(false);
|
|
134
|
+
const [disco, setDisco] = useState(null);
|
|
135
|
+
const [meterType, setMeterType] = useState('PREPAID');
|
|
136
|
+
const [meterNumber, setMeterNumber] = useState('');
|
|
137
|
+
const [validating, setValidating] = useState(false);
|
|
138
|
+
const [customerName, setCustomerName] = useState(null);
|
|
139
|
+
const [minVendInKobo, setMinVendInKobo] = useState(null);
|
|
140
|
+
const [purchaseAmount, setPurchaseAmount] = useState(amount > 0 ? String(amount) : '');
|
|
141
|
+
const [forSelf, setForSelf] = useState(true);
|
|
142
|
+
const [phone, setPhone] = useState('');
|
|
143
|
+
const [email, setEmail] = useState('');
|
|
144
|
+
useEffect(() => {
|
|
145
|
+
billsAPI.getDiscos().then(res => {
|
|
146
|
+
if (res.status) setDiscos(res.payload.filter(d => d.isActive));
|
|
147
|
+
}).catch(() => onError?.({
|
|
148
|
+
code: 'DISCO_LOAD_FAILED',
|
|
149
|
+
message: 'Could not load electricity providers'
|
|
150
|
+
}));
|
|
151
|
+
}, []);
|
|
152
|
+
|
|
153
|
+
// Re-validate whenever the meter number reaches a plausible length, or
|
|
154
|
+
// the disco/type changes — mirrors checkMeterNumber()'s trigger in the
|
|
155
|
+
// existing BuyPower-backed Electricity screen.
|
|
156
|
+
useEffect(() => {
|
|
157
|
+
setCustomerName(null);
|
|
158
|
+
setMinVendInKobo(null);
|
|
159
|
+
if (!disco || meterNumber.length < 10) return;
|
|
160
|
+
setValidating(true);
|
|
161
|
+
billsAPI.validateMeter(meterNumber, disco.code, meterType).then(res => {
|
|
162
|
+
if (res.status) {
|
|
163
|
+
setCustomerName(res.payload.customerName);
|
|
164
|
+
setMinVendInKobo(res.payload.minVendAmountInKobo ?? null);
|
|
165
|
+
} else {
|
|
166
|
+
onError?.({
|
|
167
|
+
code: 'METER_INVALID',
|
|
168
|
+
message: res.message
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
}).catch(() => onError?.({
|
|
172
|
+
code: 'METER_VALIDATION_FAILED',
|
|
173
|
+
message: 'Could not validate meter number'
|
|
174
|
+
})).finally(() => setValidating(false));
|
|
175
|
+
}, [disco, meterType, meterNumber]);
|
|
176
|
+
const amountInKobo = Math.round((Number(purchaseAmount) || 0) * 100);
|
|
177
|
+
const meetsMinVend = minVendInKobo == null || amountInKobo >= minVendInKobo;
|
|
178
|
+
const contactValid = forSelf || /^0\d{10}$/.test(phone) && /\S+@\S+\.\S+/.test(email);
|
|
179
|
+
const isValid = !!disco && meterNumber.length >= 10 && !!customerName && amountInKobo > 0 && meetsMinVend && contactValid;
|
|
180
|
+
const handleContinue = () => {
|
|
181
|
+
if (!isValid || !disco) return;
|
|
182
|
+
onProcessTransaction({
|
|
183
|
+
category: 'ELECTRICITY',
|
|
184
|
+
meterNumber,
|
|
185
|
+
disco: disco.code,
|
|
186
|
+
meterType,
|
|
187
|
+
amountInKobo,
|
|
188
|
+
forSelf,
|
|
189
|
+
phoneNumber: forSelf ? user?.phone ?? '' : phone,
|
|
190
|
+
email: forSelf ? user?.email ?? '' : email,
|
|
191
|
+
idempotencyKey: `electricity_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`
|
|
192
|
+
}, [{
|
|
193
|
+
label: 'Disco',
|
|
194
|
+
value: disco.displayName
|
|
195
|
+
}, {
|
|
196
|
+
label: 'Meter Type',
|
|
197
|
+
value: meterType
|
|
198
|
+
}, {
|
|
199
|
+
label: 'Meter Number',
|
|
200
|
+
value: meterNumber
|
|
201
|
+
}, {
|
|
202
|
+
label: 'Customer',
|
|
203
|
+
value: customerName ?? ''
|
|
204
|
+
}]);
|
|
205
|
+
};
|
|
206
|
+
return /*#__PURE__*/_jsx(Container, {
|
|
207
|
+
children: /*#__PURE__*/_jsx(KeyboardAvoidingView, {
|
|
208
|
+
style: {
|
|
209
|
+
flex: 1
|
|
210
|
+
},
|
|
211
|
+
behavior: Platform.OS === 'ios' ? 'padding' : undefined,
|
|
212
|
+
children: /*#__PURE__*/_jsxs(Body, {
|
|
213
|
+
keyboardShouldPersistTaps: "handled",
|
|
214
|
+
showsVerticalScrollIndicator: false,
|
|
215
|
+
children: [/*#__PURE__*/_jsx(FieldLabel, {
|
|
216
|
+
children: "Distribution Company"
|
|
217
|
+
}), /*#__PURE__*/_jsxs(SelectBox, {
|
|
218
|
+
onPress: () => setDiscoPickerOpen(v => !v),
|
|
219
|
+
children: [/*#__PURE__*/_jsx(SelectBoxText, {
|
|
220
|
+
placeholder: !disco,
|
|
221
|
+
children: disco?.displayName ?? 'Select a disco'
|
|
222
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
223
|
+
children: discoPickerOpen ? '▲' : '▼'
|
|
224
|
+
})]
|
|
225
|
+
}), discoPickerOpen && /*#__PURE__*/_jsx(DiscoSheet, {
|
|
226
|
+
children: /*#__PURE__*/_jsx(ScrollView, {
|
|
227
|
+
showsVerticalScrollIndicator: false,
|
|
228
|
+
children: discos.map(d => /*#__PURE__*/_jsx(DiscoRow, {
|
|
229
|
+
selected: disco?.code === d.code,
|
|
230
|
+
onPress: () => {
|
|
231
|
+
setDisco(d);
|
|
232
|
+
setDiscoPickerOpen(false);
|
|
233
|
+
},
|
|
234
|
+
children: /*#__PURE__*/_jsx(DiscoRowText, {
|
|
235
|
+
children: d.displayName
|
|
236
|
+
})
|
|
237
|
+
}, d.code))
|
|
238
|
+
})
|
|
239
|
+
}), /*#__PURE__*/_jsx(FieldLabel, {
|
|
240
|
+
children: "Meter Type"
|
|
241
|
+
}), /*#__PURE__*/_jsxs(TypeRow, {
|
|
242
|
+
children: [/*#__PURE__*/_jsx(TypeChip, {
|
|
243
|
+
selected: meterType === 'PREPAID',
|
|
244
|
+
onPress: () => setMeterType('PREPAID'),
|
|
245
|
+
children: /*#__PURE__*/_jsx(TypeChipText, {
|
|
246
|
+
selected: meterType === 'PREPAID',
|
|
247
|
+
children: "Prepaid"
|
|
248
|
+
})
|
|
249
|
+
}), /*#__PURE__*/_jsx(TypeChip, {
|
|
250
|
+
selected: meterType === 'POSTPAID',
|
|
251
|
+
onPress: () => setMeterType('POSTPAID'),
|
|
252
|
+
children: /*#__PURE__*/_jsx(TypeChipText, {
|
|
253
|
+
selected: meterType === 'POSTPAID',
|
|
254
|
+
children: "Postpaid"
|
|
255
|
+
})
|
|
256
|
+
})]
|
|
257
|
+
}), /*#__PURE__*/_jsx(FieldLabel, {
|
|
258
|
+
children: "Meter Number"
|
|
259
|
+
}), /*#__PURE__*/_jsx(InputBox, {
|
|
260
|
+
children: /*#__PURE__*/_jsx(StyledInput, {
|
|
261
|
+
placeholder: "Enter meter number",
|
|
262
|
+
placeholderTextColor: C.ghost,
|
|
263
|
+
keyboardType: "number-pad",
|
|
264
|
+
value: meterNumber,
|
|
265
|
+
onChangeText: setMeterNumber
|
|
266
|
+
})
|
|
267
|
+
}), validating && /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
268
|
+
color: C.brand,
|
|
269
|
+
style: {
|
|
270
|
+
marginBottom: S.md
|
|
271
|
+
}
|
|
272
|
+
}), customerName && /*#__PURE__*/_jsx(CustomerNameBox, {
|
|
273
|
+
children: /*#__PURE__*/_jsx(CustomerNameText, {
|
|
274
|
+
children: customerName
|
|
275
|
+
})
|
|
276
|
+
}), /*#__PURE__*/_jsx(FieldLabel, {
|
|
277
|
+
children: "Amount"
|
|
278
|
+
}), /*#__PURE__*/_jsxs(InputBox, {
|
|
279
|
+
children: [/*#__PURE__*/_jsx(CurrencyPrefix, {
|
|
280
|
+
children: "\u20A6"
|
|
281
|
+
}), /*#__PURE__*/_jsx(StyledInput, {
|
|
282
|
+
placeholder: "Enter amount",
|
|
283
|
+
placeholderTextColor: C.ghost,
|
|
284
|
+
keyboardType: "number-pad",
|
|
285
|
+
value: purchaseAmount,
|
|
286
|
+
onChangeText: setPurchaseAmount
|
|
287
|
+
})]
|
|
288
|
+
}), minVendInKobo != null && !meetsMinVend && /*#__PURE__*/_jsxs(Text, {
|
|
289
|
+
style: {
|
|
290
|
+
color: C.red,
|
|
291
|
+
fontSize: F.xs,
|
|
292
|
+
marginBottom: S.md
|
|
293
|
+
},
|
|
294
|
+
children: ["Minimum amount is \u20A6", (minVendInKobo / 100).toLocaleString()]
|
|
295
|
+
}), /*#__PURE__*/_jsxs(SwitchRow, {
|
|
296
|
+
children: [/*#__PURE__*/_jsx(SwitchLabel, {
|
|
297
|
+
children: "This is for me"
|
|
298
|
+
}), /*#__PURE__*/_jsx(Switch, {
|
|
299
|
+
value: forSelf,
|
|
300
|
+
onValueChange: setForSelf,
|
|
301
|
+
trackColor: {
|
|
302
|
+
false: C.border,
|
|
303
|
+
true: C.brandLight
|
|
304
|
+
},
|
|
305
|
+
thumbColor: forSelf ? C.brand : C.ghost
|
|
306
|
+
})]
|
|
307
|
+
}), !forSelf && /*#__PURE__*/_jsxs(_Fragment, {
|
|
308
|
+
children: [/*#__PURE__*/_jsx(InputBox, {
|
|
309
|
+
children: /*#__PURE__*/_jsx(StyledInput, {
|
|
310
|
+
placeholder: "Phone number",
|
|
311
|
+
placeholderTextColor: C.ghost,
|
|
312
|
+
keyboardType: "number-pad",
|
|
313
|
+
value: phone,
|
|
314
|
+
onChangeText: setPhone
|
|
315
|
+
})
|
|
316
|
+
}), /*#__PURE__*/_jsx(InputBox, {
|
|
317
|
+
children: /*#__PURE__*/_jsx(StyledInput, {
|
|
318
|
+
placeholder: "Email address",
|
|
319
|
+
placeholderTextColor: C.ghost,
|
|
320
|
+
keyboardType: "email-address",
|
|
321
|
+
value: email,
|
|
322
|
+
onChangeText: setEmail
|
|
323
|
+
})
|
|
324
|
+
})]
|
|
325
|
+
}), /*#__PURE__*/_jsx(ContinueButton, {
|
|
326
|
+
disabled: !isValid,
|
|
327
|
+
onPress: handleContinue,
|
|
328
|
+
activeOpacity: 0.85,
|
|
329
|
+
children: /*#__PURE__*/_jsx(ContinueButtonText, {
|
|
330
|
+
children: "Continue"
|
|
331
|
+
})
|
|
332
|
+
})]
|
|
333
|
+
})
|
|
334
|
+
})
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
//# sourceMappingURL=ElectricityScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useState","View","Text","TouchableOpacity","ScrollView","KeyboardAvoidingView","Platform","Switch","ActivityIndicator","styled","C","F","R","S","billsAPI","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Container","white","Body","lg","FieldLabel","sm","muted","xs","InputBox","surface","md","StyledInput","TextInput","ink","CurrencyPrefix","SelectBox","SelectBoxText","props","placeholder","ghost","DiscoSheet","xl","DiscoRow","selected","brandLight","DiscoRowText","TypeRow","TypeChip","brand","TypeChipText","CustomerNameBox","greenLight","CustomerNameText","green","SwitchRow","SwitchLabel","ContinueButton","disabled","full","ContinueButtonText","ElectricityScreen","amount","user","onProcessTransaction","onError","discos","setDiscos","discoPickerOpen","setDiscoPickerOpen","disco","setDisco","meterType","setMeterType","meterNumber","setMeterNumber","validating","setValidating","customerName","setCustomerName","minVendInKobo","setMinVendInKobo","purchaseAmount","setPurchaseAmount","String","forSelf","setForSelf","phone","setPhone","email","setEmail","getDiscos","then","res","status","payload","filter","d","isActive","catch","code","message","length","validateMeter","minVendAmountInKobo","finally","amountInKobo","Math","round","Number","meetsMinVend","contactValid","test","isValid","handleContinue","category","phoneNumber","idempotencyKey","Date","now","random","toString","slice","label","value","displayName","children","style","flex","behavior","OS","undefined","keyboardShouldPersistTaps","showsVerticalScrollIndicator","onPress","v","map","placeholderTextColor","keyboardType","onChangeText","color","marginBottom","red","fontSize","toLocaleString","onValueChange","trackColor","false","border","true","thumbColor","activeOpacity"],"sourceRoot":"../../../../../../src","sources":["ui/screens/sub/billPayment/ElectricityScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FountainPayProvider.d.ts","sourceRoot":"","sources":["../../../src/FountainPayProvider.tsx"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EACV,UAAU,EAEV,YAAY,
|
|
1
|
+
{"version":3,"file":"FountainPayProvider.d.ts","sourceRoot":"","sources":["../../../src/FountainPayProvider.tsx"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EACV,UAAU,EAEV,YAAY,EAOb,MAAM,cAAc,CAAC;AAStB;;;;;;;;GAQG;AACH,wBAAgB,cAAc,IAAI,UAAU,CAS3C;AAGD,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,OAAO,EACP,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,EAAE,aAAa,2CAsPf"}
|