import Link from 'next/link'; import Card from '@/components/ui/Card'; import Button from '@/components/ui/Button'; import { CheckCircleIcon, TicketIcon, ArrowDownTrayIcon, } from '@heroicons/react/24/outline'; import { Event } from '@/lib/api'; import { getSuccessContent } from '../_logic/booking'; import type { BookingResult } from '../_types'; interface SuccessStepProps { bookingResult: BookingResult; event: Event; locale: string; t: (key: string) => string; formatDate: (dateStr: string) => string; fmtTime: (dateStr: string) => string; } export function SuccessStep({ bookingResult, event, locale, t, formatDate, fmtTime, }: SuccessStepProps) { const successContent = getSuccessContent(bookingResult, locale, t); return (
{successContent.description}
{locale === 'es' ? `${bookingResult.ticketCount} tickets reservados` : `${bookingResult.ticketCount} tickets booked`}
{locale === 'es' ? 'Cada asistente recibirá su propio código QR' : 'Each attendee will receive their own QR code'}
{t('booking.success.event')}: {event.title}
{t('booking.success.date')}: {formatDate(event.startDatetime)}
{t('booking.success.time')}: {fmtTime(event.startDatetime)}
{t('booking.success.location')}: {event.location}
{t('booking.success.cashNote')}: {t('booking.success.cashDescription')}
{t('booking.success.cardNote')}
{t('booking.success.emailSent')}
{/* Download Ticket Button - only for instant confirmation (Lightning) */} {bookingResult.paymentMethod === 'lightning' && ( )}