import type { Route } from './+types/route' import { formatCEP } from '@brazilian-utils/brazilian-utils' import { CalendarClockIcon, CalendarIcon, UserIcon } from 'lucide-react' import { useEffect } from 'react' import { Link } from 'react-router' import { Currency } from '@repo/ui/components/currency' import { DateTime } from '@repo/ui/components/datetime' import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from '@repo/ui/components/ui/breadcrumb' import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '@repo/ui/components/ui/card' import { Item, ItemContent, ItemDescription, ItemGroup, ItemTitle } from '@repo/ui/components/ui/item' import { Table, TableBody, TableCell, TableFooter, TableHead, TableHeader, TableRow } from '@repo/ui/components/ui/table' import { paymentMethods } from '@repo/ui/routes/orders/data' import { request as req } from '@repo/util/request' import { useWizardStore } from '../_.$orgid.enrollments.buy/store' export function meta() { return [ { title: 'Detalhes do pagamento' } ] } export async function loader({ context, request, params }: Route.LoaderArgs) { const order = await req({ url: `/orders/${params.id}`, context, request }).then((r) => r.json()) return { order } } export default function Route({ loaderData: { order } }: Route.ComponentProps) { const { reset } = useWizardStore() const { status, address, total, credit_card, payment_method, due_date, created_at, invoice, installments, interest_amount, discount, subtotal, items = [], created_by } = order useEffect(() => { reset() }, []) return (
Pagamentos Detalhes do pagamento Detalhes do pagamento
  • {due_date}
Endereço de cobrança
    {address?.address1} {address?.address2 ? <>, {address?.address2} : null}
    {address?.neighborhood}
    {address?.city}, {address?.state}
    {formatCEP(address?.postcode)}
Forma de pagamento {credit_card ? ( <> {credit_card.brand} (Crédito) **** {credit_card.last4}
{installments}x{' '} {total / Number(installments)} ) : ( <> {payment_method ? paymentMethods[payment_method] : payment_method} )}
{/*
{JSON.stringify(order, null, 2)}
*/} Curso Quantidade Valor unit. Total {items?.map(({ name, unit_price, quantity }, index) => { return ( {name} {quantity} {unit_price} {unit_price * quantity} ) })} {/* Summary */} Subtotal {subtotal} {/* Discount */} Descontos {discount} {/* Interest */} {interest_amount ? ( Juros {interest_amount} ) : ( <> )} {/* Total */} Total {total}
{/*
  • {created_at}
  • {' '}
  • {created_by.name}
*/}
) }