--- import AppLayout from '@/layouts/AppLayout.astro'; import MarcarDevuelto from '@/components/admin/solicitudes/MarcarDevuelto.tsx'; import VerDetalles from '@/components/admin/solicitudes/VerDetalles.tsx'; const supabase = Astro.locals.supabase; const { data, error } = await supabase .from('prestamos') .select( 'id, cantidad, fecha_solicitud, fecha_aprobacion, fecha_devolucion_estimada, notas, alumno:profiles!alumno_id(id, nombre, email, matricula), material:materiales!material_id(id, nombre, numero_inventario, cantidad_disponible)' ) .in('estado', ['aprobado', 'activo']) .order('fecha_devolucion_estimada', { ascending: true }); const filas = data ?? []; const fmtFecha = new Intl.DateTimeFormat('es-MX', { dateStyle: 'medium' }); const today = new Date().toISOString().split('T')[0]; const isVencido = (f?: string | null) => !!f && f < today; const path = Astro.url.pathname; const tabs = [ { href: '/admin/solicitudes', label: 'Pendientes' }, { href: '/admin/solicitudes/activos', label: 'En préstamo' }, { href: '/admin/solicitudes/historial', label: 'Historial' }, ]; ---

En préstamo

{filas.length}
{error && ( )} {filas.length === 0 ? (

No hay préstamos activos.

) : ( <> )}