"use client"; import { useEffect, useState } from "react"; import { envConfig } from "@/app/lib/config"; import toast from "react-hot-toast"; type Props = { idCuenta: number; inscripcion: any[]; }; export default function AsignacionMesas({ idCuenta, inscripcion, }: Props) { const [puedeContinuar, setPuedeContinuar] = useState(false); const [mesas, setMesas] = useState([]); const [loadingMesas, setLoadingMesas] = useState(false); useEffect(() => { if (!Array.isArray(inscripcion) || inscripcion.length === 0) return; const todasAsistieron = inscripcion.every( (ins) => ins.platica?.data?.[0] === 1 ); if (!todasAsistieron) { toast.error("El alumno no asistió a todas las pláticas"); setPuedeContinuar(false); return; } setPuedeContinuar(true); }, [inscripcion]); useEffect(() => { if (!puedeContinuar || !idCuenta) return; const fetchMesas = async () => { try { setLoadingMesas(true); const res = await fetch( `${envConfig.apiUrl}/mesa/activo`, { cache: "no-store" } ); if (!res.ok) { throw new Error("No se pudieron cargar las mesas"); } const data = await res.json(); setMesas(data); } catch (error) { toast.error("Error al cargar mesas disponibles"); } finally { setLoadingMesas(false); } }; fetchMesas(); }, [puedeContinuar, idCuenta]); if (!puedeContinuar) return null; return (
); }