import { useEffect, useMemo, useState } from 'react' import { initMercadoPago, Payment } from '@mercadopago/sdk-react' import { Shell } from '../layouts/Shell' import { selectGroupedCart, selectCartSummary, useCartStore } from '../stores/cartStore' import { useAuth } from '../context/AuthContext' const MP_PUBLIC_KEY = import.meta.env.VITE_MP_PUBLIC_KEY || 'TEST-PUBLIC-KEY' export function CheckoutPage() { const { user } = useAuth() const summary = useCartStore(selectCartSummary) const groups = useCartStore(selectGroupedCart) const [status, setStatus] = useState<'pendente' | 'pago' | null>(null) useEffect(() => { initMercadoPago(MP_PUBLIC_KEY, { locale: 'pt-BR' }) }, []) const preferenceId = useMemo(() => `pref-${Date.now()}`, []) return (

Checkout e Pagamento

Split automático por distribuidora, status pendente/pago.

Comprador

{user?.name}

{Object.entries(groups).map(([vendorId, group]) => (

{group.vendorName}

R$ {group.total.toFixed(2)}

Itens enviados no split de pagamento.

))}

Resumo

R$ {summary.totalValue.toFixed(2)}

Status

{status ? status.toUpperCase() : 'Aguardando pagamento'}

Pagamento Mercado Pago

{ setStatus('pendente') }} onReady={() => console.log('Payment brick pronto')} onError={(error) => { console.error(error) setStatus(null) }} />
) }