import { Button } from '@/components/ui/button'; import type { Court } from '@repo/api-contract'; import { formatCurrency, summarizeAvailability } from '../lib/court.utils'; type CourtListSectionProps = { courts: Court[]; isLoading: boolean; isError: boolean; onDuplicateCourt: (court: Court) => void; onEditCourt: (court: Court) => void; }; export function CourtListSection({ courts, isLoading, isError, onDuplicateCourt, onEditCourt, }: CourtListSectionProps) { return (

Canchas configuradas

{isLoading &&

Cargando canchas...

} {isError && (

No se pudieron cargar las canchas del complejo.

)} {!isLoading && courts.length === 0 && (

Aún no hay canchas. Crea la primera usando el formulario.

)}
{courts.map((court) => (

{court.name}

{court.sport.name} · {court.slotDurationMinutes} min ·{' '} {formatCurrency(court.basePrice)}

{summarizeAvailability(court.availability).map((summary) => ( {summary} ))}
))}
); }