react-native-tamara-sdk
Version:
Tamara React Native SDK
62 lines (61 loc) • 1.78 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _reactNativeWebview = _interopRequireDefault(require("react-native-webview"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const TamaraCheckoutURL = _ref => {
let {
checkoutURL,
successURL,
failURL,
cancelURL,
onSuccess,
onFail,
onCancel
} = _ref;
const handleLoadStart = syntheticEvent => {
// Change the event type
const {
nativeEvent
} = syntheticEvent;
if (nativeEvent.url && nativeEvent.url.includes(successURL)) {
onSuccess();
} else if (nativeEvent.url && nativeEvent.url.includes(failURL)) {
onFail();
} else if (nativeEvent.url && nativeEvent.url.includes(cancelURL)) {
onCancel();
}
};
const handleLoadError = () => {
console.log('Webview load url fail');
};
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: styles.container
}, /*#__PURE__*/_react.default.createElement(_reactNativeWebview.default, {
originWhitelist: ['*'],
source: {
uri: checkoutURL
},
onLoadStart: handleLoadStart,
onError: handleLoadError,
javaScriptEnabled: true,
domStorageEnabled: true,
allowsInlineMediaPlayback: true,
mediaCapturePermissionGrantType: 'grant',
mediaPlaybackRequiresUserAction: false
}));
};
const styles = _reactNative.StyleSheet.create({
container: {
flex: 1,
minWidth: '100%',
minHeight: 100,
backgroundColor: 'gray'
}
});
var _default = exports.default = TamaraCheckoutURL;
//# sourceMappingURL=TamaraCheckoutURL.js.map