Terminar funcionalidad agregar/remover curso de mi horario

master
Araozu 2021-03-16 18:52:58 -05:00
parent 0ab324d650
commit 0c44a0c565
3 changed files with 14 additions and 6 deletions

View File

@ -24,7 +24,10 @@ const [cursosUsuario, setCursosUsuarios] = createState<ListaCursosUsuario>({
});
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;
}

View File

@ -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}
</span>
}}
</For>
</>;
}
</For>
</>;
}

View File

@ -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)) {