Agregada funcionalidad a los botones de los horarios

master
Araozu 2021-01-15 09:34:35 -05:00
parent 6a80d23f9f
commit 218c0dc430
10 changed files with 44 additions and 31 deletions

View File

@ -1,4 +1,5 @@
titulo: Horarios 2018-2, Ingeniería de Sistemas. titulo: Horarios 2018-2, Ingeniería de Sistemas.
version: 20200912
año: 2018 año: 2018
periodo: 2 periodo: 2
facultad: facultad:

View File

@ -1,4 +1,5 @@
titulo: Horarios 2019-2, Ingeniería de Sistemas. titulo: Horarios 2019-2, Ingeniería de Sistemas.
version: 20200912
años: años:
2do año: 2do año:
Estadistica: Estadistica:

View File

@ -1,4 +1,5 @@
titulo: Horarios 2020-1, Ingeniería de Sistemas. titulo: Horarios 2020-1, Ingeniería de Sistemas.
version: 20200912
descripcion: | descripcion: |
Este horario esta parcialmente completo. Los datos se obtuvieron de Este horario esta parcialmente completo. Los datos se obtuvieron de
https://drive.google.com/file/d/1DqAkbDtcVjAWhEb6YwMpFWUkXGpgeQt1/view https://drive.google.com/file/d/1DqAkbDtcVjAWhEb6YwMpFWUkXGpgeQt1/view

View File

@ -1,4 +1,5 @@
titulo: Horarios 2020-2, Ingeniería de Sistemas. titulo: Horarios 2020-2, Ingeniería de Sistemas.
version: 20200912
descripcion: | descripcion: |
<b>Hay horas distintas/grupos eliminados en lab.</b> <b>Hay horas distintas/grupos eliminados en lab.</b>
<br> <br>

View File

@ -1,28 +1,41 @@
import { DatosHorario } from "../types/DatosHorario"; 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 { StyleSheet, css } from "aphrodite";
import { estilosGlobales } from "../Estilos"; import { estilosGlobales } from "../Estilos";
import { Tabla } from "./Tabla";
export function Horarios(props: { data: DatosHorario }) { export function Horarios(props: { data: DatosHorario }) {
const [anioActual, setAnioActual] = createSignal("1er año");
const elAnios = <For each={Object.entries(props.data.años)}> const elAnios = <For each={Object.entries(props.data.años)}>
{([nombre]) => {([nombre]) => {
<div className={css( const clases = createMemo(() => {
estilosGlobales.contenedor, const vAnio = anioActual();
estilosGlobales.inlineBlock, return css(
estilosGlobales.contenedorCursor, estilosGlobales.contenedor,
estilosGlobales.contenedorCursorSoft estilosGlobales.inlineBlock,
)}> estilosGlobales.contenedorCursor,
estilosGlobales.contenedorCursorSoft,
nombre === vAnio && estilosGlobales.contenedorCursorActivo
);
});
return <div className={clases()} onClick={() => setAnioActual(nombre)}>
{nombre} {nombre}
</div> </div>
} }}
</For>; </For>;
const dataTabla = createMemo(() => {
return props.data.años[anioActual()];
});
return <div> return <div>
{elAnios} {elAnios}
<br/> <br/>
<div className={css(estilosGlobales.contenedor, estilosGlobales.inlineBlock)}> <div className={css(estilosGlobales.contenedor)}>
Cargado :D <Tabla data={dataTabla()}/>
</div> </div>
</div>; </div>;
} }

View File

@ -50,7 +50,7 @@ export function MiHorario() {
e.horario, e.horario,
estilosGlobales.contenedor estilosGlobales.contenedor
)}> )}>
<Tabla/> <Tabla data={{}}/>
</div> </div>
</div>; </div>;
} }

View File

@ -1,7 +1,7 @@
import { StyleSheet, css } from "aphrodite"; import { StyleSheet, css } from "aphrodite";
import { For, Show } from "solid-js"; import { For} from "solid-js";
import { estilosGlobales } from "../Estilos"; import { estilosGlobales } from "../Estilos";
import { mostrarDescansos } from "../Store"; import { AnioData } from "../types/DatosHorario";
const dias = ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"]; const dias = ["Lunes", "Martes", "Miercoles", "Jueves", "Viernes"];
const horas = [ const horas = [
@ -34,7 +34,7 @@ const horasDescanso = [
"17:30 - 17:40" "17:30 - 17:40"
] ]
export function Tabla() { export function Tabla(props: {data: AnioData}) {
const e = StyleSheet.create({ const e = StyleSheet.create({
fila: { fila: {
position: "relative", position: "relative",
@ -61,7 +61,7 @@ export function Tabla() {
top: "-0.75rem" top: "-0.75rem"
}, },
celdaComun: { celdaComun: {
width: "calc((100% - 4rem) / 5)", width: "20%",
textAlign: "center", textAlign: "center",
padding: "0 0.5rem", padding: "0 0.5rem",
boxSizing: "border-box" boxSizing: "border-box"
@ -91,12 +91,7 @@ export function Tabla() {
<For each={dias}> <For each={dias}>
{() => {() =>
<div className={css(e.celdaComun, estilosGlobales.inlineBlock)}> <div className={css(e.celdaComun, estilosGlobales.inlineBlock)}>
<span>:D</span>
<span>D:</span>
<span>:)</span>
<br/>
<span>(:</span>
<span>:p</span>
</div> </div>
} }
</For> </For>

View File

@ -15,14 +15,14 @@ export const estilosGlobales = StyleSheet.create({
transition: "background-color 200ms", transition: "background-color 200ms",
textDecoration: "underline solid white 2px", textDecoration: "underline solid white 2px",
":hover": { ":hover": {
backgroundColor: "rgba(200, 200, 200, 0.2)" backgroundColor: "rgba(200, 200, 200, 0.3)"
} }
}, },
contenedorCursorSoft: { contenedorCursorSoft: {
textDecoration: "underline rgba(255, 255, 255, 0.4)" textDecoration: "underline rgba(255, 255, 255, 0.4)"
}, },
contenedorCursorActivo: { contenedorCursorActivo: {
backgroundColor: "rgba(255, 255, 255, 0.2)" backgroundColor: "rgba(200, 200, 200, 0.3)"
}, },
inlineBlock: { inlineBlock: {
display: "inline-block" display: "inline-block"

View File

@ -7,7 +7,6 @@ enum ModoColor {
} }
const numImgGuardado = parseInt(localStorage.getItem("num-img") ?? "4"); const numImgGuardado = parseInt(localStorage.getItem("num-img") ?? "4");
console.log(numImgGuardado);
export const [modoColor, setModoColor] = createSignal(ModoColor.Oscuro); export const [modoColor, setModoColor] = createSignal(ModoColor.Oscuro);
export const [numWallpaper, setNumWallpaper] = createSignal(numImgGuardado); export const [numWallpaper, setNumWallpaper] = createSignal(numImgGuardado);

View File

@ -1,5 +1,4 @@
export interface Curso {
interface Curso {
nombre: string, nombre: string,
abreviado: string, abreviado: string,
Teoria: { Teoria: {
@ -16,15 +15,18 @@ interface Curso {
} }
} }
interface Anio { export interface AnioData {
[key: string]: { [nombre: string]: Curso
[nombre: string]: Curso }
}
export interface Anio {
[key: string]: AnioData
} }
export interface DatosHorario { export interface DatosHorario {
titulo: string, titulo: string,
descripcion: string, descripcion: string,
version: number,
años: Anio años: Anio
} }