omnipay-reactnative-sdk 0.2.7 → 0.2.8
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/commonjs/components/OmnipayProvider.js +16 -53
- package/lib/commonjs/components/OmnipayProvider.js.map +1 -1
- package/lib/commonjs/components/OmnipayView.js +12 -173
- package/lib/commonjs/components/OmnipayView.js.map +1 -1
- package/lib/commonjs/functions.js +65 -0
- package/lib/commonjs/functions.js.map +1 -0
- package/lib/commonjs/index.js +4 -4
- package/lib/module/components/OmnipayProvider.js +16 -53
- package/lib/module/components/OmnipayProvider.js.map +1 -1
- package/lib/module/components/OmnipayView.js +11 -172
- package/lib/module/components/OmnipayView.js.map +1 -1
- package/lib/module/functions.js +57 -0
- package/lib/module/functions.js.map +1 -0
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/components/OmnipayProvider.d.ts +1 -1
- package/lib/typescript/components/OmnipayProvider.d.ts.map +1 -1
- package/lib/typescript/components/OmnipayView.d.ts +1 -7
- package/lib/typescript/components/OmnipayView.d.ts.map +1 -1
- package/lib/typescript/functions.d.ts +7 -0
- package/lib/typescript/functions.d.ts.map +1 -0
- package/lib/typescript/hooks/useOmnipay.d.ts +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/OmnipayProvider.tsx +29 -58
- package/src/components/OmnipayView.tsx +9 -184
- package/src/functions.ts +49 -0
- package/src/index.tsx +1 -1
|
@@ -7,7 +7,7 @@ exports.OmnipayProvider = exports.OmnipayContext = void 0;
|
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _reactNativeWebview = _interopRequireDefault(require("react-native-webview"));
|
|
10
|
-
var
|
|
10
|
+
var _functions = require("../functions");
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
13
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -66,7 +66,7 @@ const OmnipayProvider = _ref => {
|
|
|
66
66
|
dataValue
|
|
67
67
|
} = eventData;
|
|
68
68
|
if (dataKey === 'chooseContact') {
|
|
69
|
-
const contactDetails = await getContact();
|
|
69
|
+
const contactDetails = await (0, _functions.getContact)();
|
|
70
70
|
postMessage({
|
|
71
71
|
dataKey: 'contactSelected',
|
|
72
72
|
dataValue: contactDetails
|
|
@@ -84,55 +84,8 @@ const OmnipayProvider = _ref => {
|
|
|
84
84
|
}
|
|
85
85
|
} catch (error) {}
|
|
86
86
|
}
|
|
87
|
-
async function getContact() {
|
|
88
|
-
try {
|
|
89
|
-
const isPermissionGranted = await checkPermisionStatus();
|
|
90
|
-
if (!isPermissionGranted) {
|
|
91
|
-
return {
|
|
92
|
-
name: '',
|
|
93
|
-
phoneNumber: ''
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
const result = await (0, _reactNativeSelectContact.selectContactPhone)();
|
|
97
|
-
if (!result) {
|
|
98
|
-
return {
|
|
99
|
-
name: '',
|
|
100
|
-
phoneNumber: ''
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
let {
|
|
104
|
-
contact,
|
|
105
|
-
selectedPhone
|
|
106
|
-
} = result;
|
|
107
|
-
return {
|
|
108
|
-
name: contact.name,
|
|
109
|
-
phoneNumber: selectedPhone.number
|
|
110
|
-
};
|
|
111
|
-
} catch (error) {
|
|
112
|
-
return {
|
|
113
|
-
name: '',
|
|
114
|
-
phoneNumber: ''
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
async function checkPermisionStatus() {
|
|
119
|
-
if (_reactNative.Platform.OS === 'ios') {
|
|
120
|
-
return true;
|
|
121
|
-
}
|
|
122
|
-
if (_reactNative.PermissionsAndroid.PERMISSIONS.READ_CONTACTS) {
|
|
123
|
-
const granted = await _reactNative.PermissionsAndroid.request(_reactNative.PermissionsAndroid.PERMISSIONS.READ_CONTACTS, {
|
|
124
|
-
title: 'Allow us access your contact list',
|
|
125
|
-
message: 'This will enable you choose a phone number to buy airtime or data for from your contact list',
|
|
126
|
-
buttonNegative: 'Cancel',
|
|
127
|
-
buttonPositive: 'OK'
|
|
128
|
-
});
|
|
129
|
-
if (granted === _reactNative.PermissionsAndroid.RESULTS.GRANTED) {
|
|
130
|
-
return true;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
return false;
|
|
134
|
-
}
|
|
135
87
|
const _initiateBills = (0, _react.useCallback)(phoneNumber => {
|
|
88
|
+
console.log(phoneNumber);
|
|
136
89
|
if (phoneNumber) {
|
|
137
90
|
if (phoneNumber.length === 11) {
|
|
138
91
|
const webUrl = `${webHost}?theme=${color}&view=bills&publicKey=${publicKey}&phoneNumber=${phoneNumber}`;
|
|
@@ -144,7 +97,13 @@ const OmnipayProvider = _ref => {
|
|
|
144
97
|
value: {
|
|
145
98
|
initiateBills: _initiateBills
|
|
146
99
|
}
|
|
147
|
-
},
|
|
100
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
101
|
+
style: {
|
|
102
|
+
flex: 1,
|
|
103
|
+
backgroundColor: "red",
|
|
104
|
+
height: "100%"
|
|
105
|
+
}
|
|
106
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNativeWebview.default, {
|
|
148
107
|
source: {
|
|
149
108
|
uri: webviewUrl
|
|
150
109
|
},
|
|
@@ -159,7 +118,7 @@ const OmnipayProvider = _ref => {
|
|
|
159
118
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
|
|
160
119
|
size: "small",
|
|
161
120
|
color: color
|
|
162
|
-
})));
|
|
121
|
+
})), children));
|
|
163
122
|
};
|
|
164
123
|
exports.OmnipayProvider = OmnipayProvider;
|
|
165
124
|
const styles = _reactNative.StyleSheet.create({
|
|
@@ -174,8 +133,12 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
174
133
|
webview: {
|
|
175
134
|
flex: 1,
|
|
176
135
|
width: '100%',
|
|
177
|
-
height:
|
|
136
|
+
height: 900
|
|
137
|
+
// position: "absolute",
|
|
138
|
+
// top: 0,
|
|
139
|
+
// left: 0
|
|
178
140
|
},
|
|
141
|
+
|
|
179
142
|
webviewLoader: {
|
|
180
143
|
zIndex: 3,
|
|
181
144
|
backgroundColor: 'white',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OmnipayContext","React","createContext","OmnipayProvider","children","publicKey","env","color","webviewStatus","setWebviewStatus","useState","useFullscreen","setUseFullScreen","webviewRef","useRef","webHost","getWebHost","webviewStyle","getWebviewStyle","webviewUrl","setWebviewUrl","isNoviewLoaded","includes","console","log","opacity","height","width","flex","styles","webview","onWebviewMount","Platform","OS","postMessage","data","current","JSON","stringify","error","onWebviewMessage","e","nativeEvent","eventData","parse","dataKey","dataValue","contactDetails","getContact","Linking","openURL","
|
|
1
|
+
{"version":3,"names":["OmnipayContext","React","createContext","OmnipayProvider","children","publicKey","env","color","webviewStatus","setWebviewStatus","useState","useFullscreen","setUseFullScreen","webviewRef","useRef","webHost","getWebHost","webviewStyle","getWebviewStyle","webviewUrl","setWebviewUrl","isNoviewLoaded","includes","console","log","opacity","height","width","flex","styles","webview","onWebviewMount","Platform","OS","postMessage","data","current","JSON","stringify","error","onWebviewMessage","e","nativeEvent","eventData","parse","dataKey","dataValue","contactDetails","getContact","Linking","openURL","_initiateBills","useCallback","phoneNumber","length","webUrl","initiateBills","backgroundColor","uri","webviewLoader","StyleSheet","create","hide","display","full","zIndex","alignItems","justifyContent","position","top","left"],"sourceRoot":"../../src","sources":["OmnipayProvider.tsx"],"mappings":"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"}
|
|
@@ -3,183 +3,22 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.Omnipay = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var
|
|
9
|
-
var _reactNativeWebview = require("react-native-webview");
|
|
10
|
-
var _reactNativeSelectContact = require("react-native-select-contact");
|
|
8
|
+
var _useOmnipay = require("../hooks/useOmnipay");
|
|
11
9
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
12
10
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
|
-
const
|
|
11
|
+
const Omnipay = _ref => {
|
|
14
12
|
let {
|
|
15
|
-
|
|
16
|
-
env,
|
|
17
|
-
publicKey,
|
|
18
|
-
phoneNumber,
|
|
19
|
-
view,
|
|
20
|
-
onEnterFullScreen,
|
|
21
|
-
onExitFullScreen
|
|
13
|
+
phoneNumber
|
|
22
14
|
} = _ref;
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
return 'https://sdk.omnipay.ng/';
|
|
32
|
-
}
|
|
33
|
-
const onWebviewMount = `
|
|
34
|
-
window.nativeOs = ${_reactNative.Platform.OS};
|
|
35
|
-
true;
|
|
36
|
-
`;
|
|
37
|
-
function postMessage(data) {
|
|
38
|
-
if (!webviewRef.current) {
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
try {
|
|
42
|
-
webviewRef.current.postMessage(JSON.stringify(data));
|
|
43
|
-
} catch (error) {}
|
|
44
|
-
}
|
|
45
|
-
async function onWebviewMessage(e) {
|
|
46
|
-
try {
|
|
47
|
-
if (e.nativeEvent && e.nativeEvent.data) {
|
|
48
|
-
const eventData = JSON.parse(e.nativeEvent.data);
|
|
49
|
-
const {
|
|
50
|
-
dataKey,
|
|
51
|
-
dataValue
|
|
52
|
-
} = eventData;
|
|
53
|
-
if (dataKey === 'chooseContact') {
|
|
54
|
-
const contactDetails = await getContact();
|
|
55
|
-
postMessage({
|
|
56
|
-
dataKey: 'contactSelected',
|
|
57
|
-
dataValue: contactDetails
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
if (dataKey === 'modalOpen') {
|
|
61
|
-
if (onEnterFullScreen) {
|
|
62
|
-
onEnterFullScreen();
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
if (dataKey === 'modalClosed') {
|
|
66
|
-
if (onExitFullScreen) {
|
|
67
|
-
onExitFullScreen();
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
if (dataKey === 'openLink') {
|
|
71
|
-
_reactNative.Linking.openURL(dataValue);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
} catch (error) {}
|
|
75
|
-
}
|
|
76
|
-
async function getContact() {
|
|
77
|
-
try {
|
|
78
|
-
const isPermissionGranted = await checkPermisionStatus();
|
|
79
|
-
if (!isPermissionGranted) {
|
|
80
|
-
return {
|
|
81
|
-
name: '',
|
|
82
|
-
phoneNumber: ''
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
const result = await (0, _reactNativeSelectContact.selectContactPhone)();
|
|
86
|
-
if (!result) {
|
|
87
|
-
return {
|
|
88
|
-
name: '',
|
|
89
|
-
phoneNumber: ''
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
let {
|
|
93
|
-
contact,
|
|
94
|
-
selectedPhone
|
|
95
|
-
} = result;
|
|
96
|
-
return {
|
|
97
|
-
name: contact.name,
|
|
98
|
-
phoneNumber: selectedPhone.number
|
|
99
|
-
};
|
|
100
|
-
} catch (error) {
|
|
101
|
-
return {
|
|
102
|
-
name: '',
|
|
103
|
-
phoneNumber: ''
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
async function checkPermisionStatus() {
|
|
108
|
-
if (_reactNative.Platform.OS === 'ios') {
|
|
109
|
-
return true;
|
|
110
|
-
}
|
|
111
|
-
if (_reactNative.PermissionsAndroid.PERMISSIONS.READ_CONTACTS) {
|
|
112
|
-
const granted = await _reactNative.PermissionsAndroid.request(_reactNative.PermissionsAndroid.PERMISSIONS.READ_CONTACTS, {
|
|
113
|
-
title: 'Allow us access your contact list',
|
|
114
|
-
message: 'This will enable you choose a phone number to buy airtime or data for from your contact list',
|
|
115
|
-
buttonNegative: 'Cancel',
|
|
116
|
-
buttonPositive: 'OK'
|
|
117
|
-
});
|
|
118
|
-
if (granted === _reactNative.PermissionsAndroid.RESULTS.GRANTED) {
|
|
119
|
-
return true;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return false;
|
|
123
|
-
}
|
|
124
|
-
if (view !== 'bills') {
|
|
125
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "Invalid view");
|
|
126
|
-
}
|
|
127
|
-
if (!publicKey.includes('OMNIPUBKEY_')) {
|
|
128
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "Invalid public key");
|
|
129
|
-
}
|
|
130
|
-
if (phoneNumber.length !== 11) {
|
|
131
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "Invalid phone number");
|
|
132
|
-
}
|
|
133
|
-
if (color.length < 3) {
|
|
134
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "Invalid color");
|
|
135
|
-
}
|
|
136
|
-
if (!['dev', 'prod'].includes(env)) {
|
|
137
|
-
return /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, "Invalid environment");
|
|
138
|
-
}
|
|
139
|
-
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
140
|
-
style: styles.full
|
|
141
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNativeWebview.WebView, {
|
|
142
|
-
source: {
|
|
143
|
-
uri: webUrl
|
|
144
|
-
},
|
|
145
|
-
style: styles.webview,
|
|
146
|
-
injectedJavaScriptBeforeContentLoaded: onWebviewMount,
|
|
147
|
-
onMessage: onWebviewMessage,
|
|
148
|
-
ref: webviewRef,
|
|
149
|
-
onLoadEnd: () => setWebviewStatus('success')
|
|
150
|
-
}), webviewStatus === 'loading' && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
151
|
-
style: styles.webviewLoader
|
|
152
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
|
|
153
|
-
size: "small",
|
|
154
|
-
color: color
|
|
155
|
-
}))));
|
|
15
|
+
const {
|
|
16
|
+
initiateBills
|
|
17
|
+
} = (0, _useOmnipay.useOmnipay)();
|
|
18
|
+
(0, _react.useEffect)(() => {
|
|
19
|
+
initiateBills(phoneNumber);
|
|
20
|
+
}, [phoneNumber]);
|
|
21
|
+
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null);
|
|
156
22
|
};
|
|
157
|
-
exports.
|
|
158
|
-
const styles = _reactNative.StyleSheet.create({
|
|
159
|
-
hide: {
|
|
160
|
-
display: 'none'
|
|
161
|
-
},
|
|
162
|
-
full: {
|
|
163
|
-
flex: 1,
|
|
164
|
-
width: '100%',
|
|
165
|
-
height: '100%'
|
|
166
|
-
},
|
|
167
|
-
webview: {
|
|
168
|
-
flex: 1,
|
|
169
|
-
width: '100%',
|
|
170
|
-
height: '100%'
|
|
171
|
-
},
|
|
172
|
-
webviewLoader: {
|
|
173
|
-
zIndex: 3,
|
|
174
|
-
backgroundColor: 'white',
|
|
175
|
-
alignItems: 'center',
|
|
176
|
-
justifyContent: 'center',
|
|
177
|
-
flex: 1,
|
|
178
|
-
width: '100%',
|
|
179
|
-
height: '100%',
|
|
180
|
-
position: 'absolute',
|
|
181
|
-
top: 0,
|
|
182
|
-
left: 0
|
|
183
|
-
}
|
|
184
|
-
});
|
|
23
|
+
exports.Omnipay = Omnipay;
|
|
185
24
|
//# sourceMappingURL=OmnipayView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["Omnipay","phoneNumber","initiateBills","useOmnipay","useEffect"],"sourceRoot":"../../src","sources":["OmnipayView.tsx"],"mappings":";;;;;;AAAA;AACA;AAAiD;AAAA;AAO1C,MAAMA,OAAO,GAAG,QAEU;EAAA,IAFT;IACpBC;EACU,CAAC;EACX,MAAM;IAAEC;EAAc,CAAC,GAAG,IAAAC,sBAAU,GAAE;EAEtC,IAAAC,gBAAS,EAAC,MAAM;IACZF,aAAa,CAACD,WAAW,CAAC;EAC9B,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAIjB,oBACI,6BAAC,eAAQ,OAEE;AAEnB,CAAC;AAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.checkPermisionStatus = checkPermisionStatus;
|
|
7
|
+
exports.getContact = getContact;
|
|
8
|
+
exports.getWebHost = getWebHost;
|
|
9
|
+
var _reactNative = require("react-native");
|
|
10
|
+
var _reactNativeSelectContact = require("react-native-select-contact");
|
|
11
|
+
async function checkPermisionStatus() {
|
|
12
|
+
if (_reactNative.Platform.OS === 'ios') {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
if (_reactNative.PermissionsAndroid.PERMISSIONS.READ_CONTACTS) {
|
|
16
|
+
const granted = await _reactNative.PermissionsAndroid.request(_reactNative.PermissionsAndroid.PERMISSIONS.READ_CONTACTS, {
|
|
17
|
+
title: 'Allow us access your contact list',
|
|
18
|
+
message: 'This will enable you choose a phone number to buy airtime or data for from your contact list',
|
|
19
|
+
buttonNegative: 'Cancel',
|
|
20
|
+
buttonPositive: 'OK'
|
|
21
|
+
});
|
|
22
|
+
if (granted === _reactNative.PermissionsAndroid.RESULTS.GRANTED) {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
async function getContact() {
|
|
29
|
+
try {
|
|
30
|
+
const isPermissionGranted = await checkPermisionStatus();
|
|
31
|
+
if (!isPermissionGranted) {
|
|
32
|
+
return {
|
|
33
|
+
name: '',
|
|
34
|
+
phoneNumber: ''
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
const result = await (0, _reactNativeSelectContact.selectContactPhone)();
|
|
38
|
+
if (!result) {
|
|
39
|
+
return {
|
|
40
|
+
name: '',
|
|
41
|
+
phoneNumber: ''
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
let {
|
|
45
|
+
contact,
|
|
46
|
+
selectedPhone
|
|
47
|
+
} = result;
|
|
48
|
+
return {
|
|
49
|
+
name: contact.name,
|
|
50
|
+
phoneNumber: selectedPhone.number
|
|
51
|
+
};
|
|
52
|
+
} catch (error) {
|
|
53
|
+
return {
|
|
54
|
+
name: '',
|
|
55
|
+
phoneNumber: ''
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function getWebHost(env) {
|
|
60
|
+
if (env === 'dev') {
|
|
61
|
+
return 'https://omnipay-websdk.vercel.app/';
|
|
62
|
+
}
|
|
63
|
+
return 'https://sdk.omnipay.ng/';
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["checkPermisionStatus","Platform","OS","PermissionsAndroid","PERMISSIONS","READ_CONTACTS","granted","request","title","message","buttonNegative","buttonPositive","RESULTS","GRANTED","getContact","isPermissionGranted","name","phoneNumber","result","selectContactPhone","contact","selectedPhone","number","error","getWebHost","env"],"sourceRoot":"../../src","sources":["functions.ts"],"mappings":";;;;;;;;AAAA;AACA;AAEO,eAAeA,oBAAoB,GAAG;EACzC,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACvB,OAAO,IAAI;EACf;EACA,IAAIC,+BAAkB,CAACC,WAAW,CAACC,aAAa,EAAE;IAC9C,MAAMC,OAAO,GAAG,MAAMH,+BAAkB,CAACI,OAAO,CAC5CJ,+BAAkB,CAACC,WAAW,CAACC,aAAa,EAC5C;MACIG,KAAK,EAAE,mCAAmC;MAC1CC,OAAO,EACH,8FAA8F;MAClGC,cAAc,EAAE,QAAQ;MACxBC,cAAc,EAAE;IACpB,CAAC,CACJ;IACD,IAAIL,OAAO,KAAKH,+BAAkB,CAACS,OAAO,CAACC,OAAO,EAAE;MAChD,OAAO,IAAI;IACf;EACJ;EACA,OAAO,KAAK;AAChB;AAEO,eAAeC,UAAU,GAAG;EAC/B,IAAI;IACA,MAAMC,mBAAmB,GAAG,MAAMf,oBAAoB,EAAE;IACxD,IAAI,CAACe,mBAAmB,EAAE;MACtB,OAAO;QAAEC,IAAI,EAAE,EAAE;QAAEC,WAAW,EAAE;MAAG,CAAC;IACxC;IACA,MAAMC,MAAM,GAAG,MAAM,IAAAC,4CAAkB,GAAE;IACzC,IAAI,CAACD,MAAM,EAAE;MACT,OAAO;QAAEF,IAAI,EAAE,EAAE;QAAEC,WAAW,EAAE;MAAG,CAAC;IACxC;IACA,IAAI;MAAEG,OAAO;MAAEC;IAAc,CAAC,GAAGH,MAAM;IACvC,OAAO;MAAEF,IAAI,EAAEI,OAAO,CAACJ,IAAI;MAAEC,WAAW,EAAEI,aAAa,CAACC;IAAO,CAAC;EACpE,CAAC,CAAC,OAAOC,KAAK,EAAE;IACZ,OAAO;MAAEP,IAAI,EAAE,EAAE;MAAEC,WAAW,EAAE;IAAG,CAAC;EACxC;AACJ;AAEO,SAASO,UAAU,CAACC,GAAmB,EAAE;EAC5C,IAAIA,GAAG,KAAK,KAAK,EAAE;IACf,OAAO,oCAAoC;EAC/C;EACA,OAAO,yBAAyB;AACpC"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
Object.defineProperty(exports, "
|
|
6
|
+
Object.defineProperty(exports, "Omnipay", {
|
|
7
7
|
enumerable: true,
|
|
8
8
|
get: function () {
|
|
9
|
-
return
|
|
9
|
+
return _OmnipayView.Omnipay;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
-
Object.defineProperty(exports, "
|
|
12
|
+
Object.defineProperty(exports, "OmnipayProvider", {
|
|
13
13
|
enumerable: true,
|
|
14
14
|
get: function () {
|
|
15
|
-
return
|
|
15
|
+
return _OmnipayProvider.OmnipayProvider;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "useOmnipay", {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useCallback, useRef, useState } from 'react';
|
|
2
|
-
import { ActivityIndicator, Linking,
|
|
2
|
+
import { ActivityIndicator, Linking, Platform, StyleSheet, View } from 'react-native';
|
|
3
3
|
import WebView from 'react-native-webview';
|
|
4
|
-
import {
|
|
4
|
+
import { getContact } from '../functions';
|
|
5
5
|
export const OmnipayContext = /*#__PURE__*/React.createContext(null);
|
|
6
6
|
export const OmnipayProvider = _ref => {
|
|
7
7
|
let {
|
|
@@ -74,55 +74,8 @@ export const OmnipayProvider = _ref => {
|
|
|
74
74
|
}
|
|
75
75
|
} catch (error) {}
|
|
76
76
|
}
|
|
77
|
-
async function getContact() {
|
|
78
|
-
try {
|
|
79
|
-
const isPermissionGranted = await checkPermisionStatus();
|
|
80
|
-
if (!isPermissionGranted) {
|
|
81
|
-
return {
|
|
82
|
-
name: '',
|
|
83
|
-
phoneNumber: ''
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
const result = await selectContactPhone();
|
|
87
|
-
if (!result) {
|
|
88
|
-
return {
|
|
89
|
-
name: '',
|
|
90
|
-
phoneNumber: ''
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
let {
|
|
94
|
-
contact,
|
|
95
|
-
selectedPhone
|
|
96
|
-
} = result;
|
|
97
|
-
return {
|
|
98
|
-
name: contact.name,
|
|
99
|
-
phoneNumber: selectedPhone.number
|
|
100
|
-
};
|
|
101
|
-
} catch (error) {
|
|
102
|
-
return {
|
|
103
|
-
name: '',
|
|
104
|
-
phoneNumber: ''
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
async function checkPermisionStatus() {
|
|
109
|
-
if (Platform.OS === 'ios') {
|
|
110
|
-
return true;
|
|
111
|
-
}
|
|
112
|
-
if (PermissionsAndroid.PERMISSIONS.READ_CONTACTS) {
|
|
113
|
-
const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.READ_CONTACTS, {
|
|
114
|
-
title: 'Allow us access your contact list',
|
|
115
|
-
message: 'This will enable you choose a phone number to buy airtime or data for from your contact list',
|
|
116
|
-
buttonNegative: 'Cancel',
|
|
117
|
-
buttonPositive: 'OK'
|
|
118
|
-
});
|
|
119
|
-
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
|
|
120
|
-
return true;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
return false;
|
|
124
|
-
}
|
|
125
77
|
const _initiateBills = useCallback(phoneNumber => {
|
|
78
|
+
console.log(phoneNumber);
|
|
126
79
|
if (phoneNumber) {
|
|
127
80
|
if (phoneNumber.length === 11) {
|
|
128
81
|
const webUrl = `${webHost}?theme=${color}&view=bills&publicKey=${publicKey}&phoneNumber=${phoneNumber}`;
|
|
@@ -134,7 +87,13 @@ export const OmnipayProvider = _ref => {
|
|
|
134
87
|
value: {
|
|
135
88
|
initiateBills: _initiateBills
|
|
136
89
|
}
|
|
137
|
-
},
|
|
90
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
91
|
+
style: {
|
|
92
|
+
flex: 1,
|
|
93
|
+
backgroundColor: "red",
|
|
94
|
+
height: "100%"
|
|
95
|
+
}
|
|
96
|
+
}, /*#__PURE__*/React.createElement(WebView, {
|
|
138
97
|
source: {
|
|
139
98
|
uri: webviewUrl
|
|
140
99
|
},
|
|
@@ -149,7 +108,7 @@ export const OmnipayProvider = _ref => {
|
|
|
149
108
|
}, /*#__PURE__*/React.createElement(ActivityIndicator, {
|
|
150
109
|
size: "small",
|
|
151
110
|
color: color
|
|
152
|
-
})));
|
|
111
|
+
})), children));
|
|
153
112
|
};
|
|
154
113
|
const styles = StyleSheet.create({
|
|
155
114
|
hide: {
|
|
@@ -163,8 +122,12 @@ const styles = StyleSheet.create({
|
|
|
163
122
|
webview: {
|
|
164
123
|
flex: 1,
|
|
165
124
|
width: '100%',
|
|
166
|
-
height:
|
|
125
|
+
height: 900
|
|
126
|
+
// position: "absolute",
|
|
127
|
+
// top: 0,
|
|
128
|
+
// left: 0
|
|
167
129
|
},
|
|
130
|
+
|
|
168
131
|
webviewLoader: {
|
|
169
132
|
zIndex: 3,
|
|
170
133
|
backgroundColor: 'white',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useRef","useState","ActivityIndicator","Linking","
|
|
1
|
+
{"version":3,"names":["React","useCallback","useRef","useState","ActivityIndicator","Linking","Platform","StyleSheet","View","WebView","getContact","OmnipayContext","createContext","OmnipayProvider","children","publicKey","env","color","webviewStatus","setWebviewStatus","useFullscreen","setUseFullScreen","webviewRef","webHost","getWebHost","webviewStyle","getWebviewStyle","webviewUrl","setWebviewUrl","isNoviewLoaded","includes","console","log","opacity","height","width","flex","styles","webview","onWebviewMount","OS","postMessage","data","current","JSON","stringify","error","onWebviewMessage","e","nativeEvent","eventData","parse","dataKey","dataValue","contactDetails","openURL","_initiateBills","phoneNumber","length","webUrl","initiateBills","backgroundColor","uri","webviewLoader","create","hide","display","full","zIndex","alignItems","justifyContent","position","top","left"],"sourceRoot":"../../src","sources":["OmnipayProvider.tsx"],"mappings":"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"}
|