@coin-voyage/paykit
Version:
Seamless crypto payments. Onboard users from any chain, any coin into your app with one click.
31 lines (30 loc) • 1.39 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useAccount, useAccountDisconnect } from "@coin-voyage/crypto/hooks";
import { useIsMobile } from "@coin-voyage/shared/hooks";
import { useChainOptions } from "../../../hooks/useChainOptions";
import { ROUTES } from "../../../types/routes";
import usePayContext from "../../contexts/pay";
import { PageContent } from "../../ui/Modal/styles";
import OptionsList from "../../ui/OptionsList";
import { OrderHeader } from "../../ui/OrderHeader";
import PoweredByFooter from "../../ui/PoweredByFooter";
export default function SelectChain() {
const isMobile = useIsMobile();
const { setRoute, paymentState } = usePayContext();
const disconnect = useAccountDisconnect();
const { account } = useAccount({
selectedWallet: paymentState.selectedWallet,
chainType: paymentState.connectorChainType,
});
const handleClick = (chainType) => {
disconnect(account);
paymentState.setConnectorChainType(chainType);
setRoute(ROUTES.CONNECTORS);
};
const { options } = useChainOptions({
account,
mode: paymentState.payOrder?.mode,
onClick: handleClick,
});
return (_jsxs(PageContent, { children: [_jsx(OrderHeader, {}), _jsx(OptionsList, { requiredSkeletons: isMobile ? 3 : 4, options: options }), _jsx(PoweredByFooter, {})] }));
}