diff --git a/diplomas/src/pages/diplomasVista.jsx b/diplomas/src/pages/diplomasVista.jsx index 26e85c3..c5d6b89 100644 --- a/diplomas/src/pages/diplomasVista.jsx +++ b/diplomas/src/pages/diplomasVista.jsx @@ -51,16 +51,38 @@ export default function DiplomasVista() { }; useEffect(() => { - if (alumnoSeleccionado && alumnoSeleccionado.curso?.id) { - supabaseClient - .from("curso_competencia") - .select("competencia(id, descripcion)") - .eq("curso_id", alumnoSeleccionado.curso.id) - .then(({ data }) => { - const comps = data?.map((c) => c.competencia).filter(Boolean) || []; - setCompetencias(comps); - setCompetenciasAcreditadas(comps.map((c) => c.id)); // Opcional: selecciona todas por default - }); + if (alumnoSeleccionado) { + if ( + alumnoSeleccionado.tipo_formacion === "curso" && + alumnoSeleccionado.curso?.id + ) { + supabaseClient + .from("curso_competencia") + .select("competencia(id, descripcion)") + .eq("curso_id", alumnoSeleccionado.curso.id) + .then(({ data }) => { + const comps = data?.map((c) => c.competencia).filter(Boolean) || []; + setCompetencias(comps); + setCompetenciasAcreditadas(comps.map((c) => c.id)); + }); + } else if ( + alumnoSeleccionado.tipo_formacion === "inyeccion" && + alumnoSeleccionado.inyeccion?.id + ) { + supabaseClient + .from("inyeccion_competencia_inyeccion") + .select("competencia_inyeccion(id, descripcion)") + .eq("inyeccion_id", alumnoSeleccionado.inyeccion.id) + .then(({ data }) => { + const comps = + data?.map((c) => c.competencia_inyeccion).filter(Boolean) || []; + setCompetencias(comps); + setCompetenciasAcreditadas(comps.map((c) => c.id)); + }); + } else { + setCompetencias([]); + setCompetenciasAcreditadas([]); + } } }, [alumnoSeleccionado]);