omnipay-reactnative-sdk 0.2.7 → 0.2.9

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.
@@ -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 _reactNativeSelectContact = require("react-native-select-contact");
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}`;
@@ -140,26 +93,40 @@ const OmnipayProvider = _ref => {
140
93
  }
141
94
  }
142
95
  }, []);
96
+ function WebviewContainer() {
97
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
98
+ style: {
99
+ flex: 1,
100
+ height: "100%"
101
+ }
102
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeWebview.default, {
103
+ source: {
104
+ uri: webviewUrl
105
+ },
106
+ style: webviewStyle,
107
+ injectedJavaScriptBeforeContentLoaded: onWebviewMount,
108
+ onMessage: onWebviewMessage,
109
+ ref: webviewRef,
110
+ onLoadStart: () => setWebviewStatus("loading"),
111
+ onLoadEnd: () => setWebviewStatus('success')
112
+ }), webviewStatus === 'loading' && !isNoviewLoaded && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
113
+ style: styles.webviewLoader
114
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
115
+ size: "small",
116
+ color: color
117
+ })));
118
+ }
143
119
  return /*#__PURE__*/_react.default.createElement(OmnipayContext.Provider, {
144
120
  value: {
145
- initiateBills: _initiateBills
121
+ initiateBills: _initiateBills,
122
+ container: WebviewContainer()
123
+ }
124
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
125
+ style: {
126
+ flex: 1,
127
+ height: "100%"
146
128
  }
147
- }, children, /*#__PURE__*/_react.default.createElement(_reactNativeWebview.default, {
148
- source: {
149
- uri: webviewUrl
150
- },
151
- style: webviewStyle,
152
- injectedJavaScriptBeforeContentLoaded: onWebviewMount,
153
- onMessage: onWebviewMessage,
154
- ref: webviewRef,
155
- onLoadStart: () => setWebviewStatus("loading"),
156
- onLoadEnd: () => setWebviewStatus('success')
157
- }), webviewStatus === 'loading' && !isNoviewLoaded && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
158
- style: styles.webviewLoader
159
- }, /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
160
- size: "small",
161
- color: color
162
- })));
129
+ }, children));
163
130
  };
164
131
  exports.OmnipayProvider = OmnipayProvider;
165
132
  const styles = _reactNative.StyleSheet.create({
@@ -174,8 +141,12 @@ const styles = _reactNative.StyleSheet.create({
174
141
  webview: {
175
142
  flex: 1,
176
143
  width: '100%',
177
- height: '100%'
144
+ height: 900
145
+ // position: "absolute",
146
+ // top: 0,
147
+ // left: 0
178
148
  },
149
+
179
150
  webviewLoader: {
180
151
  zIndex: 3,
181
152
  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","isPermissionGranted","checkPermisionStatus","name","phoneNumber","result","selectContactPhone","contact","selectedPhone","number","PermissionsAndroid","PERMISSIONS","READ_CONTACTS","granted","request","title","message","buttonNegative","buttonPositive","RESULTS","GRANTED","_initiateBills","useCallback","length","webUrl","initiateBills","uri","webviewLoader","StyleSheet","create","hide","display","full","zIndex","backgroundColor","alignItems","justifyContent","position","top","left"],"sourceRoot":"../../src","sources":["OmnipayProvider.tsx"],"mappings":"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"}
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","WebviewContainer","uri","webviewLoader","initiateBills","container","StyleSheet","create","hide","display","full","zIndex","backgroundColor","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.OmnipayView = void 0;
6
+ exports.Omnipay = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
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 OmnipayView = _ref => {
11
+ const Omnipay = _ref => {
14
12
  let {
15
- color,
16
- env,
17
- publicKey,
18
- phoneNumber,
19
- view,
20
- onEnterFullScreen,
21
- onExitFullScreen
13
+ phoneNumber
22
14
  } = _ref;
23
- const webviewRef = (0, _react.useRef)(null);
24
- const [webviewStatus, setWebviewStatus] = (0, _react.useState)('loading');
25
- const webHost = getWebHost();
26
- const webUrl = `${webHost}?theme=${color}&view=${view}&publicKey=${publicKey}&phoneNumber=${phoneNumber}`;
27
- function getWebHost() {
28
- if (env === 'dev') {
29
- return 'https://omnipay-websdk.vercel.app/';
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.OmnipayView = OmnipayView;
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":["OmnipayView","color","env","publicKey","phoneNumber","view","onEnterFullScreen","onExitFullScreen","webviewRef","useRef","webviewStatus","setWebviewStatus","useState","webHost","getWebHost","webUrl","onWebviewMount","Platform","OS","postMessage","data","current","JSON","stringify","error","onWebviewMessage","e","nativeEvent","eventData","parse","dataKey","dataValue","contactDetails","getContact","Linking","openURL","isPermissionGranted","checkPermisionStatus","name","result","selectContactPhone","contact","selectedPhone","number","PermissionsAndroid","PERMISSIONS","READ_CONTACTS","granted","request","title","message","buttonNegative","buttonPositive","RESULTS","GRANTED","includes","length","styles","full","uri","webview","webviewLoader","StyleSheet","create","hide","display","flex","width","height","zIndex","backgroundColor","alignItems","justifyContent","position","top","left"],"sourceRoot":"../../src","sources":["OmnipayView.tsx"],"mappings":"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"}
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"}
@@ -3,16 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "OmnipayProvider", {
6
+ Object.defineProperty(exports, "Omnipay", {
7
7
  enumerable: true,
8
8
  get: function () {
9
- return _OmnipayProvider.OmnipayProvider;
9
+ return _OmnipayView.Omnipay;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "OmnipayView", {
12
+ Object.defineProperty(exports, "OmnipayProvider", {
13
13
  enumerable: true,
14
14
  get: function () {
15
- return _OmnipayView.OmnipayView;
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, PermissionsAndroid, Platform, StyleSheet, View } from 'react-native';
2
+ import { ActivityIndicator, Linking, Platform, StyleSheet, View } from 'react-native';
3
3
  import WebView from 'react-native-webview';
4
- import { selectContactPhone } from 'react-native-select-contact';
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}`;
@@ -130,26 +83,40 @@ export const OmnipayProvider = _ref => {
130
83
  }
131
84
  }
132
85
  }, []);
86
+ function WebviewContainer() {
87
+ return /*#__PURE__*/React.createElement(View, {
88
+ style: {
89
+ flex: 1,
90
+ height: "100%"
91
+ }
92
+ }, /*#__PURE__*/React.createElement(WebView, {
93
+ source: {
94
+ uri: webviewUrl
95
+ },
96
+ style: webviewStyle,
97
+ injectedJavaScriptBeforeContentLoaded: onWebviewMount,
98
+ onMessage: onWebviewMessage,
99
+ ref: webviewRef,
100
+ onLoadStart: () => setWebviewStatus("loading"),
101
+ onLoadEnd: () => setWebviewStatus('success')
102
+ }), webviewStatus === 'loading' && !isNoviewLoaded && /*#__PURE__*/React.createElement(View, {
103
+ style: styles.webviewLoader
104
+ }, /*#__PURE__*/React.createElement(ActivityIndicator, {
105
+ size: "small",
106
+ color: color
107
+ })));
108
+ }
133
109
  return /*#__PURE__*/React.createElement(OmnipayContext.Provider, {
134
110
  value: {
135
- initiateBills: _initiateBills
111
+ initiateBills: _initiateBills,
112
+ container: WebviewContainer()
136
113
  }
137
- }, children, /*#__PURE__*/React.createElement(WebView, {
138
- source: {
139
- uri: webviewUrl
140
- },
141
- style: webviewStyle,
142
- injectedJavaScriptBeforeContentLoaded: onWebviewMount,
143
- onMessage: onWebviewMessage,
144
- ref: webviewRef,
145
- onLoadStart: () => setWebviewStatus("loading"),
146
- onLoadEnd: () => setWebviewStatus('success')
147
- }), webviewStatus === 'loading' && !isNoviewLoaded && /*#__PURE__*/React.createElement(View, {
148
- style: styles.webviewLoader
149
- }, /*#__PURE__*/React.createElement(ActivityIndicator, {
150
- size: "small",
151
- color: color
152
- })));
114
+ }, /*#__PURE__*/React.createElement(View, {
115
+ style: {
116
+ flex: 1,
117
+ height: "100%"
118
+ }
119
+ }, children));
153
120
  };
154
121
  const styles = StyleSheet.create({
155
122
  hide: {
@@ -163,8 +130,12 @@ const styles = StyleSheet.create({
163
130
  webview: {
164
131
  flex: 1,
165
132
  width: '100%',
166
- height: '100%'
133
+ height: 900
134
+ // position: "absolute",
135
+ // top: 0,
136
+ // left: 0
167
137
  },
138
+
168
139
  webviewLoader: {
169
140
  zIndex: 3,
170
141
  backgroundColor: 'white',
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useRef","useState","ActivityIndicator","Linking","PermissionsAndroid","Platform","StyleSheet","View","WebView","selectContactPhone","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","getContact","openURL","isPermissionGranted","checkPermisionStatus","name","phoneNumber","result","contact","selectedPhone","number","PERMISSIONS","READ_CONTACTS","granted","request","title","message","buttonNegative","buttonPositive","RESULTS","GRANTED","_initiateBills","length","webUrl","initiateBills","uri","webviewLoader","create","hide","display","full","zIndex","backgroundColor","alignItems","justifyContent","position","top","left"],"sourceRoot":"../../src","sources":["OmnipayProvider.tsx"],"mappings":"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"}
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","WebviewContainer","uri","webviewLoader","initiateBills","container","create","hide","display","full","zIndex","backgroundColor","alignItems","justifyContent","position","top","left"],"sourceRoot":"../../src","sources":["OmnipayProvider.tsx"],"mappings":"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"}