import React, { useEffect, useState } from "react"; import api from "../../api/axiosConfig"; import ErrorMessage from "../common/ErrorMessage"; import "../styles/ContentArea.css"; const TrainingGroupStudentManager = () => { const [groups, setGroups] = useState([]); const [students, setStudents] = useState([]); const [selectedGroupId, setSelectedGroupId] = useState(""); const [groupStudents, setGroupStudents] = useState([]); const [errorMsg, setErrorMsg] = useState(""); const [successMsg, setSuccessMsg] = useState(""); useEffect(() => { api.get("/training-groups/getAll").then((res) => setGroups(res.data)); api.get("/students/getAll").then((res) => setStudents(res.data)); }, []); const loadGroupStudents = async (groupId) => { setSelectedGroupId(groupId); setErrorMsg(""); setSuccessMsg(""); if (!groupId) return; try { const group = await api.get(`/training-groups/findById/${groupId}`); setGroupStudents(group.data.studentIds || []); } catch (err) { console.error("Error fetching group students", err); const msg = err.response?.data?.message || "❌ Error al cargar datos del grupo."; setErrorMsg(msg); setGroupStudents([]); } }; const handleAssign = async (studentId) => { try { await api.put(`/training-groups/assign-student`, null, { params: { groupId: selectedGroupId, studentId: studentId, }, }); setSuccessMsg("✅ Alumno asignado correctamente."); setErrorMsg(""); loadGroupStudents(selectedGroupId); } catch (err) { console.error(err); const msg = err.response?.data?.message || "❌ No se pudo asignar el alumno."; setErrorMsg(msg); setSuccessMsg(""); } }; const handleRemove = async (studentId) => { try { await api.put(`/training-groups/remove-student`, null, { params: { groupId: selectedGroupId, studentId: studentId, }, }); setSuccessMsg("Alumno eliminado del grupo."); setErrorMsg(""); loadGroupStudents(selectedGroupId); } catch (err) { console.error(err); const msg = err.response?.data?.message || "❌ Error al eliminar alumno."; setErrorMsg(msg); setSuccessMsg(""); } }; return (