--- import AppLayout from '@/layouts/AppLayout.astro'; import AccionesSolicitud from '@/components/admin/solicitudes/AccionesSolicitud.tsx'; import VerDetalles from '@/components/admin/solicitudes/VerDetalles.tsx'; import { truncate } from '@/lib/text'; const supabase = Astro.locals.supabase; const { data, error } = await supabase .from('solicitudes') .select( 'id, fecha_solicitud, notas, maestro_responsable, alumno:profiles!alumno_id(id, nombre, email, matricula), items:solicitud_items(cantidad, descripcion, material:materiales(id, nombre, numero_inventario, cantidad_disponible))' ) .eq('estado', 'pendiente') .order('fecha_solicitud', { ascending: true }); const filas = data ?? []; const fmtFecha = new Intl.DateTimeFormat('es-MX', { dateStyle: 'medium', timeStyle: 'short' }); 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' }, ]; ---

Solicitudes pendientes

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

No hay solicitudes por revisar.

Todo al día.

) : ( <> {/* Desktop: tabla */} {/* Mobile: tarjetas */} )}