diff --git a/src/ContenedorHorarios/ContenedorHorarios.tsx b/src/ContenedorHorarios/ContenedorHorarios.tsx index 218871f..9fe7162 100755 --- a/src/ContenedorHorarios/ContenedorHorarios.tsx +++ b/src/ContenedorHorarios/ContenedorHorarios.tsx @@ -24,7 +24,10 @@ const [cursosUsuario, setCursosUsuarios] = createState({ }); const agregarCursoUsuario = (curso: Curso) => { - if (cursosUsuario.cursos.find(x => x.nombre === curso.nombre)) { + // Si el horario ya se habia agregado, ocultarlo + const cursoActualIndex = cursosUsuario.cursos.findIndex(x => x.nombre === curso.nombre); + if (cursoActualIndex !== -1) { + setCursosUsuarios("cursos", cursoActualIndex, "oculto", x => !x); return; } diff --git a/src/ContenedorHorarios/Cursos.tsx b/src/ContenedorHorarios/Cursos.tsx index 8dc21f0..c1b442a 100755 --- a/src/ContenedorHorarios/Cursos.tsx +++ b/src/ContenedorHorarios/Cursos.tsx @@ -37,7 +37,9 @@ export function Cursos(props: Props) { {([_, datosCurso]) => { const cursoAgregadoMemo = createMemo( - () => props.listaCursosUsuario.cursos.find(x => x.nombre === datosCurso.nombre) !== undefined, + () => props.listaCursosUsuario.cursos.find(x => { + return x.nombre === datosCurso.nombre && !x.oculto + }) !== undefined, undefined, (x, y) => x === y ); @@ -67,6 +69,6 @@ export function Cursos(props: Props) { {datosCurso.abreviado} - {datosCurso.nombre} }} - - ; -} + + ; + } diff --git a/src/ContenedorHorarios/Tabla.tsx b/src/ContenedorHorarios/Tabla.tsx index ee2f0dc..3c4a973 100755 --- a/src/ContenedorHorarios/Tabla.tsx +++ b/src/ContenedorHorarios/Tabla.tsx @@ -1,7 +1,7 @@ import { StyleSheet, css } from "aphrodite"; import { createMemo, createSignal, For } from "solid-js"; import { estilosGlobales } from "../Estilos"; -import { AnioData } from "../types/DatosHorario"; +import { AnioData, CursoUsuario } from "../types/DatosHorario"; import { Dia, dias, horas } from "../Store"; import { DataProcesada } from "../types/DatosHorario"; import { FilaTabla } from "./Tabla/FilaTabla"; @@ -85,6 +85,9 @@ const procesarAnio = (data: AnioData, anio: string, version: number) => { const obj: DataProcesada = {}; for (const [, curso] of Object.entries(data)) { + // TODO: Reemplazar Curso con CursoUsuario, hacer los cambios donde se cargan los datos + if ((curso as CursoUsuario).oculto) continue; + const nombreAbreviado = curso.abreviado; for (const [grupoStr, grupo] of Object.entries(curso.Teoria)) {