connect-transfer-react-native-sdk
Version:
Connect Transfer React Native SDK for Mastercard Open Banking Connect
87 lines (86 loc) • 4.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _reactNative = require("react-native");
var _reactI18next = require("react-i18next");
var _bottomSheet = _interopRequireWildcard(require("@gorhom/bottom-sheet"));
var _reactRedux = require("react-redux");
var _MACrossDismiss = _interopRequireDefault(require("./MACrossDismiss"));
var _MAButton = _interopRequireDefault(require("./MAButton"));
var _ComponentStyles = require("./ComponentStyles");
var _constants = require("../constants");
var _transferEventHandlers = require("../events/transferEventHandlers");
var _authenticationSlice = require("../redux/slices/authenticationSlice");
var _auditEvents = require("../services/api/auditEvents");
var _auditEventQueue = require("../events/auditEventQueue");
var _jsxRuntime = require("react/jsx-runtime");
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 MAExitBottomSheet = ({
bottomSheetRef,
onClose
}) => {
const dispatch = (0, _reactRedux.useDispatch)();
const {
t
} = (0, _reactI18next.useTranslation)();
const {
applicationName = ''
} = (0, _reactRedux.useSelector)(state => state.user?.data?.data?.metadata || {});
const {
eventHandler: transferEventHandler
} = (0, _reactRedux.useSelector)(state => state.event || {});
const {
getResponseForClose
} = (0, _transferEventHandlers.useTransferEventResponse)();
const sendAuditData = (0, _auditEventQueue.useSendAuditData)();
const onExitPressed = () => {
transferEventHandler?.onTransferEnd(getResponseForClose(_constants.RedirectReason.EXIT));
sendAuditData(_constants.TransferActionEvents.END, {
reason: _constants.RedirectReason.EXIT,
listenerType: _constants.ListenerType.CLOSE
});
_auditEventQueue.eventQueue.destroy();
dispatch((0, _authenticationSlice.resetData)());
};
const renderBackdropComponent = style => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
style: [style, _ComponentStyles.MAExitBottomSheetStyle.backdrop],
testID: "bottom-sheet-backdrop"
});
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_bottomSheet.default, {
handleComponent: null,
ref: bottomSheetRef,
enablePanDownToClose: true,
backdropComponent: ({
style
}) => renderBackdropComponent(style),
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_bottomSheet.BottomSheetView, {
style: _ComponentStyles.MAExitBottomSheetStyle.content,
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_MACrossDismiss.default, {
onCrossPress: onClose
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
style: _ComponentStyles.MAExitBottomSheetStyle.title,
children: t('ExitPopUpTitle')
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
style: _ComponentStyles.MAExitBottomSheetStyle.subtitle,
children: t('ExitPopUpSubtitle', {
applicationName
})
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MAButton.default, {
text: t('YesExit'),
style: _ComponentStyles.MAExitBottomSheetStyle.exitButton,
onPress: onExitPressed
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MAButton.default, {
text: t('NoStay'),
style: _ComponentStyles.MAExitBottomSheetStyle.stayButton,
textStyle: _ComponentStyles.MAExitBottomSheetStyle.stayButtonText,
onPress: onClose
})]
})
});
};
var _default = exports.default = MAExitBottomSheet;
//# sourceMappingURL=MAExitBottomSheet.js.map