@daimo/pay
Version:
Seamless crypto payments. Onboard users from any chain, any coin into your app with one click.
42 lines (39 loc) • 1.6 kB
JavaScript
import { jsxs, jsx } from 'react/jsx-runtime';
import { PageContent, ModalH1 } from '../../Common/Modal/styles.js';
import { ROUTES } from '../../../constants/routes.js';
import { usePayContext } from '../../../hooks/usePayContext.js';
import { OptionsList } from '../../Common/OptionsList/index.js';
import { OrderHeader } from '../../Common/OrderHeader/index.js';
const SelectExchange = () => {
const { paymentState, setRoute } = usePayContext();
const { externalPaymentOptions, setSelectedExternalOption } = paymentState;
const exchangeOptions = externalPaymentOptions.options.get("exchange");
if (!exchangeOptions) {
return /* @__PURE__ */ jsxs(PageContent, { children: [
/* @__PURE__ */ jsx(OrderHeader, { minified: true }),
/* @__PURE__ */ jsx(ModalH1, { children: "No Exchange options available" })
] });
}
const options = exchangeOptions.map((option) => ({
id: option.id,
title: option.cta,
icons: [option.logoURI],
onClick: () => {
setSelectedExternalOption(option);
const meta = { event: "click-option", option: option.id };
if (paymentState.isDepositFlow) {
setRoute(ROUTES.SELECT_EXTERNAL_AMOUNT, meta);
} else {
setRoute(ROUTES.WAITING_EXTERNAL, meta);
}
},
disabled: option.disabled,
subtitle: option.message
}));
return /* @__PURE__ */ jsxs(PageContent, { children: [
/* @__PURE__ */ jsx(OrderHeader, { minified: true, show: "zkp2p" }),
/* @__PURE__ */ jsx(OptionsList, { options })
] });
};
export { SelectExchange as default };
//# sourceMappingURL=index.js.map