From 218c0dc430ba86d769f037e8941866875546057e Mon Sep 17 00:00:00 2001 From: Araozu Date: Fri, 15 Jan 2021 09:34:35 -0500 Subject: [PATCH] Agregada funcionalidad a los botones de los horarios --- .../2018_2_fps_ingenieriadesistemas.yaml | 1 + .../2019_2_fps_ingenieriadesistemas.yaml | 1 + .../2020_1_fps_ingenieriadesistemas.yaml | 1 + .../2020_2_fps_ingenieriadesistemas.yaml | 1 + src/ContenedorHorarios/Horarios.tsx | 35 +++++++++++++------ src/ContenedorHorarios/MiHorario.tsx | 2 +- src/ContenedorHorarios/Tabla.tsx | 15 +++----- src/Estilos.ts | 4 +-- src/Store.ts | 1 - src/types/DatosHorario.ts | 14 ++++---- 10 files changed, 44 insertions(+), 31 deletions(-) diff --git a/public/horarios/2018_2_fps_ingenieriadesistemas.yaml b/public/horarios/2018_2_fps_ingenieriadesistemas.yaml index 902d07e..ff81055 100644 --- a/public/horarios/2018_2_fps_ingenieriadesistemas.yaml +++ b/public/horarios/2018_2_fps_ingenieriadesistemas.yaml @@ -1,4 +1,5 @@ titulo: Horarios 2018-2, Ingeniería de Sistemas. +version: 20200912 año: 2018 periodo: 2 facultad: diff --git a/public/horarios/2019_2_fps_ingenieriadesistemas.yaml b/public/horarios/2019_2_fps_ingenieriadesistemas.yaml index 28ae189..75c3b97 100644 --- a/public/horarios/2019_2_fps_ingenieriadesistemas.yaml +++ b/public/horarios/2019_2_fps_ingenieriadesistemas.yaml @@ -1,4 +1,5 @@ titulo: Horarios 2019-2, Ingeniería de Sistemas. +version: 20200912 años: 2do año: Estadistica: diff --git a/public/horarios/2020_1_fps_ingenieriadesistemas.yaml b/public/horarios/2020_1_fps_ingenieriadesistemas.yaml index 3148fba..9492245 100644 --- a/public/horarios/2020_1_fps_ingenieriadesistemas.yaml +++ b/public/horarios/2020_1_fps_ingenieriadesistemas.yaml @@ -1,4 +1,5 @@ titulo: Horarios 2020-1, Ingeniería de Sistemas. +version: 20200912 descripcion: | Este horario esta parcialmente completo. Los datos se obtuvieron de https://drive.google.com/file/d/1DqAkbDtcVjAWhEb6YwMpFWUkXGpgeQt1/view diff --git a/public/horarios/2020_2_fps_ingenieriadesistemas.yaml b/public/horarios/2020_2_fps_ingenieriadesistemas.yaml index b11eb05..bc36846 100644 --- a/public/horarios/2020_2_fps_ingenieriadesistemas.yaml +++ b/public/horarios/2020_2_fps_ingenieriadesistemas.yaml @@ -1,4 +1,5 @@ titulo: Horarios 2020-2, Ingeniería de Sistemas. +version: 20200912 descripcion: | Hay horas distintas/grupos eliminados en lab.
diff --git a/src/ContenedorHorarios/Horarios.tsx b/src/ContenedorHorarios/Horarios.tsx index d285013..586052b 100644 --- a/src/ContenedorHorarios/Horarios.tsx +++ b/src/ContenedorHorarios/Horarios.tsx @@ -1,28 +1,41 @@ import { DatosHorario } from "../types/DatosHorario"; -import { createEffect, Show, For } from "solid-js"; +import { For, createSignal, createMemo } from "solid-js"; import { StyleSheet, css } from "aphrodite"; import { estilosGlobales } from "../Estilos"; +import { Tabla } from "./Tabla"; export function Horarios(props: { data: DatosHorario }) { + const [anioActual, setAnioActual] = createSignal("1er año"); + const elAnios = - {([nombre]) => -
+ {([nombre]) => { + const clases = createMemo(() => { + const vAnio = anioActual(); + return css( + estilosGlobales.contenedor, + estilosGlobales.inlineBlock, + estilosGlobales.contenedorCursor, + estilosGlobales.contenedorCursorSoft, + nombre === vAnio && estilosGlobales.contenedorCursorActivo + ); + }); + + return
setAnioActual(nombre)}> {nombre}
- } + }} ; + const dataTabla = createMemo(() => { + return props.data.años[anioActual()]; + }); + return
{elAnios}
-
- Cargado :D +
+
; } diff --git a/src/ContenedorHorarios/MiHorario.tsx b/src/ContenedorHorarios/MiHorario.tsx index 3a709b0..033f29c 100644 --- a/src/ContenedorHorarios/MiHorario.tsx +++ b/src/ContenedorHorarios/MiHorario.tsx @@ -50,7 +50,7 @@ export function MiHorario() { e.horario, estilosGlobales.contenedor )}> - +
; } diff --git a/src/ContenedorHorarios/Tabla.tsx b/src/ContenedorHorarios/Tabla.tsx index 9ad7583..d2d99c3 100644 --- a/src/ContenedorHorarios/Tabla.tsx +++ b/src/ContenedorHorarios/Tabla.tsx @@ -1,7 +1,7 @@ import { StyleSheet, css } from "aphrodite"; -import { For, Show } from "solid-js"; +import { For} from "solid-js"; import { estilosGlobales } from "../Estilos"; -import { mostrarDescansos } from "../Store"; +import { AnioData } from "../types/DatosHorario"; const dias = ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"]; const horas = [ @@ -34,7 +34,7 @@ const horasDescanso = [ "17:30 - 17:40" ] -export function Tabla() { +export function Tabla(props: {data: AnioData}) { const e = StyleSheet.create({ fila: { position: "relative", @@ -61,7 +61,7 @@ export function Tabla() { top: "-0.75rem" }, celdaComun: { - width: "calc((100% - 4rem) / 5)", + width: "20%", textAlign: "center", padding: "0 0.5rem", boxSizing: "border-box" @@ -91,12 +91,7 @@ export function Tabla() { {() =>
- :D - D: - :) -
- (: - :p +
}
diff --git a/src/Estilos.ts b/src/Estilos.ts index 5ec6323..7c34bb5 100644 --- a/src/Estilos.ts +++ b/src/Estilos.ts @@ -15,14 +15,14 @@ export const estilosGlobales = StyleSheet.create({ transition: "background-color 200ms", textDecoration: "underline solid white 2px", ":hover": { - backgroundColor: "rgba(200, 200, 200, 0.2)" + backgroundColor: "rgba(200, 200, 200, 0.3)" } }, contenedorCursorSoft: { textDecoration: "underline rgba(255, 255, 255, 0.4)" }, contenedorCursorActivo: { - backgroundColor: "rgba(255, 255, 255, 0.2)" + backgroundColor: "rgba(200, 200, 200, 0.3)" }, inlineBlock: { display: "inline-block" diff --git a/src/Store.ts b/src/Store.ts index 978511b..3fac4de 100644 --- a/src/Store.ts +++ b/src/Store.ts @@ -7,7 +7,6 @@ enum ModoColor { } const numImgGuardado = parseInt(localStorage.getItem("num-img") ?? "4"); -console.log(numImgGuardado); export const [modoColor, setModoColor] = createSignal(ModoColor.Oscuro); export const [numWallpaper, setNumWallpaper] = createSignal(numImgGuardado); diff --git a/src/types/DatosHorario.ts b/src/types/DatosHorario.ts index 816b45b..801fb61 100644 --- a/src/types/DatosHorario.ts +++ b/src/types/DatosHorario.ts @@ -1,5 +1,4 @@ - -interface Curso { +export interface Curso { nombre: string, abreviado: string, Teoria: { @@ -16,15 +15,18 @@ interface Curso { } } -interface Anio { - [key: string]: { - [nombre: string]: Curso - } +export interface AnioData { + [nombre: string]: Curso +} + +export interface Anio { + [key: string]: AnioData } export interface DatosHorario { titulo: string, descripcion: string, + version: number, años: Anio }