import React from 'react' import { CardLogosRow, GoPayLogosRow, CStoreLogosRow, LogoCpay } from './PaymentLogos' import { Env } from '../../../lib/env' export type PaymentMethod = 'bank_transfer' | 'credit_card' | 'gopay' | 'cstore' | 'cpay' export interface PaymentMethodListProps { selected?: PaymentMethod onSelect: (m: PaymentMethod) => void renderPanel?: (m: PaymentMethod) => React.ReactNode disabled?: boolean enabled?: Record } const baseItems: Array<{ key: PaymentMethod; title: string; subtitle: string; icon?: React.ReactNode }> = [ { key: 'bank_transfer', title: 'Transfer Bank', subtitle: 'BCA • BNI • BRI • CIMB • Mandiri • Permata', icon: Semua bank yang didukung }, { key: 'credit_card', title: 'Kartu kredit/debit', subtitle: 'Visa • MasterCard • JCB • Amex', icon: }, { key: 'gopay', title: 'Gopay/QRIS', subtitle: 'Scan & bayar via QR', icon: }, { key: 'cstore', title: 'Convenience Store', subtitle: '', icon: }, { key: 'cpay', title: 'cPay', subtitle: 'Bayar via aplikasi CIFO Token', icon: }, ] export function PaymentMethodList({ selected, onSelect, renderPanel, disabled, enabled }: PaymentMethodListProps) { const enabledMap: Record = { bank_transfer: enabled?.bank_transfer ?? Env.ENABLE_BANK_TRANSFER, credit_card: enabled?.credit_card ?? Env.ENABLE_CREDIT_CARD, gopay: enabled?.gopay ?? Env.ENABLE_GOPAY, cstore: enabled?.cstore ?? Env.ENABLE_CSTORE, cpay: enabled?.cpay ?? Env.ENABLE_CPAY, } const items = baseItems.filter((it) => enabledMap[it.key]) return (
Metode pembayaran
{items.map((it) => (
{selected === it.key && renderPanel && (
{renderPanel(it.key)}
)}
))}
) }