UNPKG

@turnkey/react-wallet-kit

Version:

The easiest and most powerful way to integrate Turnkey's Embedded Wallets into your React applications.

90 lines (87 loc) 3.33 kB
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../_virtual/_rollupPluginBabelHelpers.mjs'; import { jsxs, jsx } from 'react/jsx-runtime'; import { useModal } from '../../providers/modal/Hook.mjs'; import clsx from 'clsx'; import { ActionPage } from '../auth/Action.mjs'; import { SuccessPage } from '../design/Success.mjs'; import { useState } from 'react'; import { getExplorerUrl } from './helpers.mjs'; function SendTransactionPage(_ref) { var icon = _ref.icon, _action = _ref.action, caip2 = _ref.caip2, _ref$successPageDurat = _ref.successPageDuration, successPageDuration = _ref$successPageDurat === void 0 ? 2000 : _ref$successPageDurat, onSuccess = _ref.onSuccess, onError = _ref.onError; var _useModal = useModal(), closeModal = _useModal.closeModal, isMobile = _useModal.isMobile; var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), completed = _useState2[0], setCompleted = _useState2[1]; var _useState3 = useState(), _useState4 = _slicedToArray(_useState3, 2), storedTxHash = _useState4[0], setStoredTxHash = _useState4[1]; if (completed) { return jsxs("div", { className: clsx("flex flex-col items-center justify-center py-5 text-center gap-2", isMobile ? "w-full" : "w-72"), children: [jsx(SuccessPage, { text: "Transaction Sent!", duration: successPageDuration, onComplete: function onComplete() { onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(); closeModal(); } }), storedTxHash && jsx("a", { href: getExplorerUrl(storedTxHash, caip2), target: "_blank", rel: "noopener noreferrer", className: "text-primary-light dark:text-primary-dark underline text-sm mt-2", children: "View on Explorer" })] }); } return jsx("div", { className: clsx("flex flex-col items-center justify-center py-5 text-center", isMobile ? "w-full" : "w-72"), children: jsx(ActionPage, { title: "Sending Transaction", icon: icon, action: function () { var _action2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { var result, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: _context.p = 0; _context.n = 1; return _action(); case 1: result = _context.v; setStoredTxHash(result === null || result === void 0 ? void 0 : result.txHash); setCompleted(true); _context.n = 3; break; case 2: _context.p = 2; _t = _context.v; onError === null || onError === void 0 ? void 0 : onError(_t); throw _t; case 3: return _context.a(2); } }, _callee, null, [[0, 2]]); })); function action() { return _action2.apply(this, arguments); } return action; }(), closeOnComplete: false }) }); } export { SendTransactionPage }; //# sourceMappingURL=SendTransaction.mjs.map