"use client"; import { PlusIcon } from "@radix-ui/react-icons"; import type { ThirdwebClient } from "../../../../../client/client.js"; import type { Wallet } from "../../../../../wallets/interfaces/wallet.js"; import { useCustomTheme } from "../../../../core/design-system/CustomThemeProvider.js"; import { iconSize, radius, spacing, } from "../../../../core/design-system/index.js"; import { CreditCardIcon } from "../../ConnectWallet/icons/CreditCardIcon.js"; import { WalletRow } from "../../ConnectWallet/screens/Buy/swap/WalletRow.js"; import { Container } from "../../components/basic.js"; import { Button } from "../../components/buttons.js"; import { Text } from "../../components/text.js"; interface WalletFiatSelectionProps { connectedWallets: Wallet[]; client: ThirdwebClient; onWalletSelected: (wallet: Wallet) => void; onFiatSelected: () => void; onConnectWallet: () => void; paymentMethods?: ("crypto" | "card")[]; } export function WalletFiatSelection({ connectedWallets, client, onWalletSelected, onFiatSelected, onConnectWallet, paymentMethods = ["crypto", "card"], }: WalletFiatSelectionProps) { const theme = useCustomTheme(); return ( {paymentMethods.includes("crypto") && ( <> {/* Connected Wallets */} {connectedWallets.length > 0 && ( {connectedWallets.map((wallet) => { const account = wallet.getAccount(); if (!account?.address) { return null; } return ( ); })} )} {/* Connect Another Wallet */} )} {paymentMethods.includes("card") && ( )} ); }