UNPKG

@daimo/pay

Version:

Seamless crypto payments. Onboard users from any chain, any coin into your app with one click.

47 lines (44 loc) 2.55 kB
import { jsxs, jsx } from 'react/jsx-runtime'; import { ROUTES } from '../../../constants/routes.js'; import { usePayContext } from '../../../hooks/usePayContext.js'; import { PageContent, ModalContent, ModalH1 } from '../../Common/Modal/styles.js'; import { DaimoPayOrderMode } from '@daimo/pay-common'; import { useDaimoPay } from '../../../hooks/useDaimoPay.js'; import { OptionsList } from '../../Common/OptionsList/index.js'; import { OrderHeader } from '../../Common/OrderHeader/index.js'; import SelectAnotherMethodButton from '../../Common/SelectAnotherMethodButton/index.js'; const SelectDepositAddressChain = () => { const { setRoute, paymentState } = usePayContext(); const pay = useDaimoPay(); const { order } = pay; const { isDepositFlow, setSelectedDepositAddressOption, depositAddressOptions, } = paymentState; return (jsxs(PageContent, { children: [jsx(OrderHeader, { minified: true }), !depositAddressOptions.loading && depositAddressOptions.options?.length === 0 && (jsxs(ModalContent, { style: { display: "flex", alignItems: "center", justifyContent: "center", paddingTop: 16, paddingBottom: 16, }, children: [jsx(ModalH1, { children: "Chains unavailable." }), jsx(SelectAnotherMethodButton, {})] })), jsx(OptionsList, { requiredSkeletons: 4, isLoading: depositAddressOptions.loading, options: depositAddressOptions.options?.map((option) => { return { id: option.id, title: option.id, icons: [option.logoURI], disabled: option.minimumUsd > 0 && order?.mode === DaimoPayOrderMode.HYDRATED && order.usdValue < option.minimumUsd, onClick: () => { setSelectedDepositAddressOption(option); const meta = { event: "click-option", option: option.id }; if (isDepositFlow) { setRoute(ROUTES.SELECT_DEPOSIT_ADDRESS_AMOUNT, meta); } else { setRoute(ROUTES.WAITING_DEPOSIT_ADDRESS, meta); } }, }; }) ?? [] })] })); }; export { SelectDepositAddressChain as default }; //# sourceMappingURL=index.js.map