UNPKG

react-native-unit-components

Version:

Unit React Native components

85 lines (84 loc) 5.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _helpers = require("../../../helpers/store/helpers"); var _reactNative = require("react-native"); var _react = _interopRequireWildcard(require("react")); var _WebComponent = require("../../../webComponent/WebComponent"); var _webComponent = require("../../../types/internal/webComponent.types"); var _wallet = require("../../../types/shared/wallet.types"); var _UnitAddToWalletButtonNativeComponent = _interopRequireDefault(require("../UnitAddToWalletButtonNativeComponent")); var _reactRedux = require("react-redux"); var _UNAddToWalletBottomSheetItem = require("./UNAddToWalletBottomSheetItem.styles"); var _useCardWallet = require("../../../helpers/pushProvisioningService/hooks/useCardWallet"); var _UNAddToWalletComponent = require("./UNAddToWalletComponent.utils"); var _unitComponentsMessages = require("../../../messages/webMessages/unitComponentsMessages"); var _UNBottomSheetComponent = require("../../../components/UNBottomSheetComponent/UNBottomSheetComponent.utils"); var _SharedEventsSlice = require("../../../slices/SharedEventsSlice"); var _UNBottomSheetComponent2 = require("../../../components/UNBottomSheetComponent/UNBottomSheetComponent.constants"); var _startProvisioning = require("../../../helpers/pushProvisioningService/startProvisioning"); var _pageMessage = require("../../../messages/webMessages/pageMessage"); var _UNBaseView = require("../../UNBaseView"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } const UNAddToWalletComponent = props => { const dispatch = (0, _reactRedux.useDispatch)(); const webRef = (0, _react.useRef)(null); const { currentUNWallet } = (0, _useCardWallet.useCardWallet)(props.cardId); const styles = (0, _UNAddToWalletBottomSheetItem.getStylesObject)(); const shouldRenderAddToWalletWebView = () => { return currentUNWallet && (currentUNWallet.status === _wallet.UNCardAddToWalletStatus.readyToProvisioning || currentUNWallet.status === _wallet.UNCardAddToWalletStatus.addedToWallet); }; const handleAddToWalletClicked = () => { if (!currentUNWallet) return; (0, _startProvisioning.launchStartCardProvisioning)(currentUNWallet); }; const handleWebViewMessage = message => { if (!message || !message.type) return; switch (message.type) { case _pageMessage.PageMessage.PAGE_LOADED: (0, _UNBottomSheetComponent.injectHtmlFullScreenHeight)(webRef.current, _UNBottomSheetComponent2.overFullScreenHeight); break; case _unitComponentsMessages.UnitComponentsMessage.UNIT_REQUEST_CLOSE_FLOW: dispatch((0, _SharedEventsSlice.setEvent)({ key: _unitComponentsMessages.UnitComponentsMessage.UNIT_REQUEST_CLOSE_FLOW, data: {} })); break; default: break; } }; const renderAddToWalletWebView = () => { if (currentUNWallet == undefined || currentUNWallet?.status === _wallet.UNCardAddToWalletStatus.pending) { return /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, { style: styles.loader }); } return /*#__PURE__*/_react.default.createElement(_UNBaseView.UNBaseView, { style: { flex: 1 }, fallback: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null) }, shouldRenderAddToWalletWebView() && /*#__PURE__*/_react.default.createElement(_WebComponent.WebComponent, { ref: webRef, type: _webComponent.WebComponentType.cardAction, presentationMode: _webComponent.PresentationMode.CoverInjectedHeight, params: (0, _UNAddToWalletComponent.getAddToWalletParams)(props), isScrollable: false, onMessage: message => handleWebViewMessage(message), windowParams: (0, _UNAddToWalletComponent.getAddToWalletWindowParams)(currentUNWallet) }), currentUNWallet?.status === _wallet.UNCardAddToWalletStatus.readyToProvisioning && /*#__PURE__*/_react.default.createElement(_UnitAddToWalletButtonNativeComponent.default, { style: styles.addToWalletButton, onAddToWalletClicked: handleAddToWalletClicked })); }; return renderAddToWalletWebView(); }; var _default = exports.default = (0, _helpers.withReduxStore)(UNAddToWalletComponent); //# sourceMappingURL=UNAddToWalletComponent.js.map