UNPKG

@turnkey/react-wallet-kit

Version:

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

66 lines (62 loc) 1.94 kB
'use strict'; var jsxRuntime = require('react/jsx-runtime'); var Hook = require('../../providers/modal/Hook.js'); var clsx = require('clsx'); var Action = require('../auth/Action.js'); var Success = require('../design/Success.js'); var react = require('react'); var helpers = require('./helpers.js'); function SendTransactionPage({ icon, action, caip2, successPageDuration = 2000, onSuccess, onError }) { const { closeModal, isMobile } = Hook.useModal(); const [completed, setCompleted] = react.useState(false); const [storedTxHash, setStoredTxHash] = react.useState(); if (completed) { return jsxRuntime.jsxs("div", { className: clsx("flex flex-col items-center justify-center py-5 text-center gap-2", isMobile ? "w-full" : "w-72"), children: [jsxRuntime.jsx(Success.SuccessPage, { text: "Transaction Sent!", duration: successPageDuration, onComplete: () => { onSuccess?.(); closeModal(); } }), storedTxHash && jsxRuntime.jsx("a", { href: helpers.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 jsxRuntime.jsx("div", { className: clsx("flex flex-col items-center justify-center py-5 text-center", isMobile ? "w-full" : "w-72"), children: jsxRuntime.jsx(Action.ActionPage, { title: "Sending Transaction", icon: icon, action: async () => { try { const result = await action(); setStoredTxHash(result?.txHash); setCompleted(true); } catch (err) { onError?.(err); throw err; } }, closeOnComplete: false }) }); } exports.SendTransactionPage = SendTransactionPage; //# sourceMappingURL=SendTransaction.js.map