import { Avatar, Card, Radio, Stack, Typography } from '@mui/material'; import { styled } from '@mui/material/styles'; import type { TPaymentCurrency } from '@blocklet/payment-types'; const CurrencyRoot = styled('section')` display: grid; width: 100%; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); .cko-payment-card { position: relative; border: 1px solid ${({ theme }) => theme.palette.primary.main}; padding: 4px 8px; cursor: pointer; background: ${({ theme }) => theme.palette.grey[50]}; } .cko-payment-card-unselect { border: 1px solid ${({ theme }) => theme.palette.divider}; padding: 4px 8px; cursor: pointer; background: ${({ theme }) => theme.palette.grey[50]}; } `; interface CurrencyGridProps { currencies: TPaymentCurrency[]; selectedId: string | undefined; onSelect: (id: string) => Promise; } export default function CurrencyGrid({ currencies, selectedId, onSelect }: CurrencyGridProps) { if (!currencies?.length) return null; return ( 1 ? 'grid' : 'block' }}> {currencies.map((cur) => { const selected = cur.id === selectedId; const methodName = (cur as any).method?.name || cur.name || ''; return ( onSelect(cur.id)} className={selected ? 'cko-payment-card' : 'cko-payment-card-unselect'}>
{cur.symbol} {methodName}
); })}
); }