@daimo/pay
Version:
Seamless crypto payments. Onboard users from any chain, any coin into your app with one click.
37 lines (34 loc) • 1.61 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 (jsxs(PageContent, { children: [jsx(OrderHeader, { minified: true, show: "zkp2p" }), 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 (jsxs(PageContent, { children: [jsx(OrderHeader, { minified: true, show: "zkp2p" }), jsx(OptionsList, { options: options })] }));
};
export { SelectExchange as default };
//# sourceMappingURL=index.js.map