Muchos cambios

master
Araozu 2021-01-14 18:24:55 -05:00
parent 66dff9daee
commit 02899b0285
62 changed files with 2898 additions and 20483 deletions

20208
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,25 +1,28 @@
{
"name": "horario-solid",
"version": "0.1.0",
"private": true,
"devDependencies": {
"@types/jest": "26.0.20",
"@types/node": "14.14.20",
"solid-js": "^0.23.11",
"solid-scripts": "0.0.50",
"typescript": "4.1.3"
},
"dependencies": {},
"scripts": {
"start": "solid-scripts start",
"build": "solid-scripts build",
"test": "solid-scripts test"
},
"browserslist": [
"Chrome 74",
"Firefox 63",
"Safari 11",
"Edge 17",
"Node 10"
]
"name": "horario-solid",
"version": "0.1.0",
"private": true,
"devDependencies": {
"@types/jest": "26.0.20",
"@types/node": "14.14.20",
"aphrodite": "^2.4.0",
"normalize.css": "^8.0.1",
"solid-js": "^0.23.11",
"solid-scripts": "0.0.50",
"typescript": "4.1.3"
},
"scripts": {
"start": "solid-scripts start",
"build": "solid-scripts build"
},
"browserslist": [
"Chrome 74",
"Firefox 63",
"Safari 11",
"Edge 17",
"Node 10"
],
"dependencies": {
"yaml": "^1.10.0"
}
}

7
public/css/global.css Normal file
View File

@ -0,0 +1,7 @@
body {
color: white
}
[class^="ph-"], [class*=" ph-"] ::before {
font-size: 0.8rem;
}

1
public/css/phosphor.min.css vendored Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

View File

@ -0,0 +1,429 @@
titulo: Horarios 2018-2, Ingeniería de Sistemas.
año: 2018
periodo: 2
facultad:
id: fps
nombre: Facultad de Producción y Servicios
escuela:
id: epis
nombre: Escuela Profesional de Ingeniería de Sistemas
años:
1er año:
Realidad Nacional:
nombre: Realidad Nacional
abreviado: RN
Teoria:
A:
Docente: "?"
Horas:
- Ma0700
- Ma0750
- Ma0850
B:
Docente: "?"
Horas:
- Lu1400
- Lu1450
- Lu1550
Calculo 1:
nombre: Cálculo en 1 variable
abreviado: C1V
Teoria:
A:
Docente: Doris Tupacyupanqui
Horas:
- Ma1130
- Ma1220
- Ma1310
- Mi0850
- Mi0940
- Vi0700
- Vi0750
B:
Docente: Pablo Quicaño
Horas:
- Lu1640
- Ma1740
- Ma1830
- Ma1920
- Ju1740
- Ju1920
- Ju1830
Discretas 2:
nombre: Estructuras Discretas 2
abreviado: ED2
Teoria:
A:
Docente: Olha Sharhorodska
Horas:
- Mi1220
- Mi1310
- Ju1220
- Ju1310
B:
Docente: Olha Sharhorodska
Horas:
- Mi1400
- Mi1450
- Vi1550
- Vi1640
Web 1:
nombre: Programacion Web 1
abreviado: PW1
Teoria:
A:
Docente: Richart Escobedo
Horas:
- Ma0940
- Ma1040
B:
Docente: Carlo Corrales
Horas:
- Lu1220
- Lu1310
Laboratorio:
A:
Docente: Richart Escobedo
Horas:
- Ma1130
- Ma1220
- Mi0850
- Mi0940
B:
Docente: Carlo Corrales
Horas:
- Lu1400
- Lu1450
- Mi1550
- Mi1640
C:
Docente: Richart Escobedo
Horas:
- Ma1550
- Ma1640
- Lu1740
- Lu1830
D:
Docente: Carlo Corrales
Horas:
- Lu1740
- Lu1830
- Mi1740
- Mi1830
E:
Docente: Carlo Corrales
Horas:
- Lu1550
- Lu1640
- Ma1740
- Ma1830
FP2:
nombre: Fundamentos de Programacion 2
abreviado: FP2
Teoria:
A:
Docente: Marco Aedo
Horas:
- Lu0850
- Lu0940
- Vi1220
- Vi1310
B:
Docente: Marco Aedo
Horas:
- Ju1550
- Ju1640
- Vi1400
- Vi1450
Laboratorio:
A:
Docente: Marco Aedo
Horas:
- Lu1040
- Lu1130
- Ju1040
- Ju1130
B:
Docente: Marco Aedo
Horas:
- Ju1400
- Ju1450
- Vi1550
- Vi1640
C:
Docente: Marco Aedo
Horas:
- Ju0850
- Ju0940
- Vi1040
- Vi1130
D:
Docente: Karim Guevara
Horas:
- Vi0850
- Vi0940
- Ju0850
- Ju0940
E:
Docente: Ernesto Suarez
Horas:
- Mi1040
- Mi1130
- Ju0700
- Ju0750
Comunicacion Integral:
nombre: Comunicacion Integral
abreviado: CI
Teoria:
A:
Docente: "?"
Horas:
- Lu0700
- Lu0750
- Mi0700
- Mi0750
B:
Docente: "?"
Horas:
- Ma1400
- Ma1450
- Ju1400
- Ju1450
2do año:
Ecologia:
nombre: Ecologia y Medio Ambiente
abreviado: ECA
Teoria:
A:
Docente: "?"
Horas:
- Lu0700
- Lu0750
- Lu0850
B:
Docente: "?"
Horas:
- Mi1400
- Mi1450
- Mi1550
Estadistica:
nombre: Estadistica y Matematica
abreviado: EMAT
Teoria:
A:
Docente: Antonia Quispe
Horas:
- Mi0700
- Mi0750
- Vi0850
- Vi0940
B:
Docente: Esther Yanapa
Horas:
- Ma1550
- Ma1640
- Ju1830
- Ju1920
Laboratorio:
A:
Docente: Antonia Quispe
Horas:
- Mi0850
- Mi0940
B:
Docente: Esther Yanapa
Horas:
- Ma1740
- Ma1830
C:
Docente: Esther Yanapa
Horas:
- Ma0700
- Ma0750
D:
Docente: Esther Yanapa
Horas:
- Ma0850
- Ma0940
Arquitectura de Computadoras:
nombre: Arquitectura de Computadoras
abreviado: AC
Teoria:
A:
Docente: Pedro Rodriguez Gonzales
Horas:
- Ju0850
- Ju0940
- Vi1040
B:
Docente: Pedro Rodriguez Gonzales
Horas:
- Ju1550
- Ju1640
- Ju1740
Laboratorio:
A:
Docente: Pedro Rodriguez Gonzales
Horas:
- Ju0700
- Ju0750
B:
Docente: Pedro Rodriguez Gonzales
Horas:
- Vi1220
- Vi1310
C:
Docente: Pedro Rodriguez Gonzales
Horas:
- Vi0700
- Vi0750
D:
Docente: Pedro Rodriguez Gonzales
Horas:
- Vi0850
- Vi0940
Metodos de Investigacion y Redaccion:
nombre: Metodos de Investigacion y Redaccion
abreviado: MIR
Teoria:
A:
Docente: Jesus Zuniga Cueva
Horas:
- Mi1040
- Mi1130
- Mi1220
B:
Docente: Jesus Zuniga Cueva
Horas:
- Lu1220
- Lu1310
- Mi1310
C:
Docente: Jesus Zuniga Cueva
Horas:
- Ma1040
- Ma1130
- Ma1220
Interaccion Humano Computador->IHC:
nombre: Interaccion Humano Computador
abreviado: IHC
Teoria:
A:
Docente: Olha Sharhorodska
Horas:
- Ju1040
- Ju1130
- Vi1220
- Vi1310
B:
Docente: Olha Sharhorodska
Horas:
- Ju1400
- Ju1450
- Vi1400
- Vi1450
Laboratorio:
A:
Docente: Richart Escobedo
Horas:
- Lu1040
- Lu1130
B:
Docente: Richart Escobedo
Horas:
- Lu1550
- Lu1640
C:
Docente: Richart Escobedo
Horas:
- Ma1740
- Ma1830
D:
Docente: Juan Ramirez Ticona
Horas:
- Lu1550
- Lu1640
Enfoque Empresarial->EE:
nombre: Enfoque Empresarial
abreviado: EE
Teoria:
A:
Docente: Juan C. Juarez Bueno
Horas:
- Lu0940
- Ma0850
- Ma0940
- Ju1220
- Ju1310
B:
Docente: Juan C. Juarez Bueno
Horas:
- Ma1310
- Ma1400
- Ma1450
- Vi1550
- Vi1640
Analisis y Disenio de Algoritmos->ADA:
nombre: Analisis y Diseño de Algoritmos
abreviado: ADA
Teoria:
A:
Docente: Atencio Torres Carlos
Horas:
- Lu1400
- Lu1450
- Vi0700
- Vi0750
B:
Docente: Atencio Torres Carlos
Horas:
- Lu1740
- Lu1830
- Vi1740
- Vi1830
Laboratorio:
A:
Docente: Christian Portugal
Horas:
- Lu1400
- Lu1450
B:
Docente: Christian Portugal
Horas:
- Mi1550
- Mi1640
C:
Docente: Christian Portugal
Horas:
- Mi1740
- Mi1830
3er año:
Construccion de Software->CS:
nombre: Construcción de Software
Redes y Comunicacion de Datos-> RCD:
nombre: Redes y Comunicacion de Datos
Tecnologia de Objetos->TO:
nombre: Tecnologia de Objetos
Sistemas Operativos:
nombre: Sistemas Operativos
4to año:
Aspectos Formales de Verif. y Esp.->AFVE:
nombre: Aspectos Formales de Verif. y Esp
Gestion de Proyectos de Software->GPS:
nombre: Gestion de Proyectos de Software
5to año:
Topicos Avanzados en Ing. de Software->TAIS:
nombre: Topicos Avanzados en Ing. de Software
Practicas Pre-Profesionales:
nombre: Practicas Pre-Profesionales
abreviado: PPP
Teoria:
A:
Docente: Ernesto Suarez
Horas:
- Ma1550
- Ma1640
- Mi0700
- Mi0750
- Ju0850
- Ju0940

View File

@ -0,0 +1,125 @@
titulo: Horarios 2019-2, Ingeniería de Sistemas.
años:
2do año:
Estadistica:
nombre: Estadistica Matemática, Probabilidades y Métodos Empíricos
abreviado: EMAT
Teoria:
A:
Docente: Antonia Quispe
Horas:
- Lu0850
- Lu0940
- Ju0700
- Ju0750
B:
Docente: Antonia Quispe
Horas:
- Ma1040
- Ma1130
- Ju1640
- Ju1740
Laboratorio:
A:
Docente: Antonia Quispe
Horas:
- Ma0850
- Ma0940
B:
Docente: Antonia Quispe
Horas:
- Lu1040
- Lu1130
C:
Docente: Antonia Quispe
Horas:
- Ju0850
- Ju0940
D:
Docente: Antonia Quispe
Horas:
- Vi1040
- Vi1130
Analisis y Diseño de Algoritmos:
nombre: Analisis y Diseño de Algoritmos
abreviado: ADA
Teoria:
A:
Docente: O. Ramirez
Horas:
- Lu1400
- Lu1450
- Mi1550
- Mi1640
B:
Docente: O. Ramirez
Horas:
- Lu1550
- Lu1640
- Mi1740
- Mi1830
Laboratorio:
A:
Docente: Cristian Portugal
Horas:
- Lu1400
- Lu1450
B:
Docente: Cristian Portugal
Horas:
- Lu1550
- Lu1640
C:
Docente: Cristian Portugal
Horas:
- Lu1740
- Lu1830
Enfoque Empresarial:
nombre: Enfoque Empresarial
abreviado: EE
Teoria:
A:
Docente: Juan C. Juarez
Horas:
- Lu1040
- Lu1130
- Lu1220
- Mi0850
- Mi0940
B:
Docente: Edward Zarate
Horas:
- Lu1830
- Ma1400
- Ma1450
- Vi1550
- Vi1640
3er año:
Construccion de Software:
nombre: Construcción de Software
abreviado: CS
Teoria:
A:
Docente: V. Cornejo
Horas:
- Lu0850
- Lu0940
Sistemas Operativos:
nombre: Sistemas Operativos
abreviado: SO
Teoria:
A:
Docente: Karim Guevara
Horas:
- Ma0700
- Ma0750
- Ju0700
- Ju0750
B:
Docente: Karim Guevara
Horas:
- Ju1400
- Ju1450
- Vi1400
- Vi1450

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,937 @@
titulo: Horarios 2020-2, Ingeniería de Sistemas.
descripcion: |
<b>Hay horas distintas/grupos eliminados en lab.</b>
<br>
Horarios de lab: https://drive.google.com/file/d/1SEYhSvpiWi2oplOSc9tkpVzPRpl91lLP/view
<br>
<br>
Ultima actualizacion: 12 de septiembre de 2020.
<br>
Puedes ver el historial de cambios en GitHub.
años:
1er año:
Realidad Nacional:
nombre: Realidad Nacional
abreviado: RN
Teoria:
A:
Docente: Hilda Rodriguez
Horas:
- Ma0940
- Ma1040
- Ma1130
B:
Docente: Amparto Yto
Horas:
- Ma1400
- Ma1450
- Ma1550
Calculo 1:
nombre: Cálculo en 1 variable
abreviado: C1V
Teoria:
A:
Docente: Paul Cheneaux
Horas:
- Ma1220
- Ma1310
- Mi0850
- Mi0940
- Mi1040
- Vi0700
- Vi0750
B:
Docente: Jorge Tarqui
Horas:
- Lu1550
- Lu1640
- Mi1550
- Mi1640
- Vi1400
- Vi1450
- Vi1550
Discretas 2:
nombre: Estructuras Discretas 2
abreviado: ED2
Teoria:
A:
Docente: Olha Sharhorodska
Horas:
- Vi0850
- Vi0940
- Ju1040
- Ju1130
B:
Docente: Olha Sharhorodska
Horas:
- Lu1400
- Lu1450
- Ju1400
- Ju1450
Web 1:
nombre: Programacion Web 1
abreviado: PW1
Teoria:
A:
Docente: Alfredo Paz
Horas:
- Lu1040
- Lu1130
B:
Docente: Carlo Corrales
Horas:
- Ma1640
- Ma1740
Laboratorio:
A:
Docente: Alfredo Paz
Horas:
- Ju1040
- Ju1130
- Vi1040
- Vi1130
B:
Docente: Alfredo Paz
Horas:
- Lu1550
- Lu1640
- Ju1550
- Ju1640
C:
Docente: Alfredo Paz
Horas:
- Ju0850
- Ju0940
- Vi0850
- Vi0940
D:
Docente: Carlo Corrales
Horas:
- Ma1830
- Ma1920
- Ju0850
- Ju0940
FP2:
nombre: Fundamentos de Programacion 2
abreviado: FP2
Teoria:
A:
Docente: Marco Aedo
Horas:
- Lu0850
- Lu0940
- Ju0850
- Ju0940
B:
Docente: Marco Aedo
Horas:
- Ma1830
- Ma1920
- Vi1640
- Vi1740
Laboratorio:
A:
Docente: Marco Aedo
Horas:
- Lu1040
- Lu1130
- Ju1040
- Ju1130
B:
Docente: Marco Aedo
Horas:
- Ma1640
- Ma1740
- Vi1830
- Vi1920
C:
Docente: R. Calienes
Horas:
- Lu1220
- Lu1310
- Ju1220
- Ju1310
D:
Docente: Y. Yari
Horas:
- Mi1220
- Mi1310
- Ju1550
- Ju1640
Comunicacion Integral:
nombre: Comunicacion Integral
abreviado: CI
Teoria:
A:
Docente: Ana Álvarez
Horas:
- Lu0700
- Lu0750
- Ju0700
- Ju0750
B:
Docente: Ana Álvarez
Horas:
- Lu1740
- Lu1830
- Mi1400
- Mi1450
2do año:
Ecologia:
nombre: Ecologia y Medio Ambiente
abreviado: ECA
Teoria:
A:
Docente: Marco Valdivia
Horas:
- Ju0940
- Ju1040
- Ju1130
B:
Docente: Luis Mendoza
Horas:
- Ju1400
- Ju1450
- Ju1550
Estadistica:
nombre: Estadistica y Matematica
abreviado: EMAT
Teoria:
A:
Docente: Julieta Flores
Horas:
- Mi0850
- Mi0940
- Ju1220
- Ju1310
B:
Docente: Julieta Flores
Horas:
- Mi1040
- Mi1130
- Ju1640
- Ju1740
Laboratorio:
A:
Docente: "?"
Horas:
- Lu1400
- Lu1450
B:
Docente: "?"
Horas:
- Ma1040
- Ma1130
C:
Docente: "?"
Horas:
- Ma1400
- Ma1450
D:
Docente: "?"
Horas:
- Lu1040
- Lu1130
Arquitectura de Computadoras:
nombre: Arquitectura de Computadoras
abreviado: AC
Teoria:
A:
Docente: Pedro Rodriguez
Horas:
- Vi1220
- Vi1310
- Vi1400
B:
Docente: Pedro Rodriguez
Horas:
- Ju1830
- Ju1920
- Ju2010
Laboratorio:
A:
Docente: Pedro Rodriguez
Horas:
- Vi1040
- Vi1130
B:
Docente: Pedro Rodriguez
Horas:
- Ju1400
- Ju1450
C:
Docente: Pedro Rodriguez
Horas:
- Ju1550
- Ju1640
D:
Docente: Pedro Rodriguez
Horas:
- Vi0850
- Vi0940
E:
Docente: Pedro Rodriguez
Horas:
- Vi0700
- Vi0750
Metodos de Investigacion y Redaccion:
nombre: Metodos de Investigacion y Redaccion
abreviado: MIR
Teoria:
A:
Docente: Norka Bedregal
Horas:
- Lu0750
- Lu0850
- Lu0940
B:
Docente: Norka Bedregal
Horas:
- Ma1740
- Ma1830
- Ma1920
C:
Docente: Rolando Cárdenas
Horas:
- Vi0750
- Vi0850
- Vi0940
Interaccion Humano Computador:
nombre: Interaccion Humano Computador
abreviado: IHC
Teoria:
A:
Docente: Richart Escobedo
Horas:
- Ma0700
- Ma0750
- Mi0700
- Mi0750
B:
Docente: Richart Escobedo
Horas:
- Ma1550
- Ma1640
- Mi1550
- Mi1640
Laboratorio:
A:
Docente: Richart Escobedo
Horas:
- Ma0850
- Ma0940
B:
Docente: Richart Escobedo
Horas:
- Ma1740
- Ma1830
C:
Docente: Richart Escobedo
Horas:
- Mi0850
- Mi0940
D:
Docente: Richart Escobedo
Horas:
- Mi1740
- Mi1830
Enfoque Empresarial:
nombre: Enfoque Empresarial
abreviado: EE
Teoria:
A:
Docente: Juan Carlos Juarez
Horas:
- Lu1740
- Lu1830
- Vi1740
- Vi1830
- Vi1920
B:
Docente: Juan C. Juarez Bueno
Horas:
- Mi1740
- Mi1830
- Mi1920
- Vi1450
- Vi1550
Analisis y Disenio de Algoritmos:
nombre: Analisis y Diseño de Algoritmos
abreviado: ADA
Teoria:
A:
Docente: Aurea Soriano
Horas:
- Ma0850
- Ma0940
- Ju0750
- Ju0850
B:
Docente: Aurea Soriano
Horas:
- Lu1550
- Lu1640
- Mi1220
- Mi1310
C:
Docente: Rolando Cárdenas
Horas:
- Mi1400
- Mi1450
- Vi1040
- Vi1130
Laboratorio:
A:
Docente: J. Cárdenas
Horas:
- Lu1220
- Lu1310
B:
Docente: J. Cárdenas
Horas:
- Ma1550
- Ma1640
C:
Docente: J. Cárdenas
Horas:
- Vi1310
- Vi1400
D:
Docente: J. Cárdenas
Horas:
- Mi1550
- Mi1640
E:
Docente: J. Cárdenas
Horas:
- Ma1040
- Ma1130
3er año:
FSI:
nombre: Fundamentos de Sistemas de Informacion
abreviado: FSI
Teoria:
A:
Docente: Juan Carlos Juarez
Horas:
- Lu0850
- Lu0940
- Lu1040
- Mi1040
- Mi1130
B:
Docente: Juan Carlos Juarez
Horas:
- Mi1550
- Mi1640
- Mi1740
- Ju1740
- Ju1830
Redes:
nombre: Redes y Comunicación de Datos
abreviado: RCD
Teoria:
A:
Docente: Lucy Delgado
Horas:
- Ma1220
- Ma1310
- Mi0850
- Mi0940
B:
Docente: Lucy Delgado
Horas:
- Lu1310
- Lu1400
- Ma1400
- Ma1450
Laboratorio:
A:
Docente: L. Laura
Horas:
- Mi1040
- Mi1130
B:
Docente: L. Laura
Horas:
- Ju1550
- Ju1640
C:
Docente: L. Laura
Horas:
- Mi1220
- Mi1310
Metodos Num:
nombre: Métodos numéricos
abreviado: MN
Teoria:
A:
Docente: Olha Sharhorodska
Horas:
- Vi1040
- Vi1130
- Vi1220
B:
Docente: Olha Sharhorodska
Horas:
- Lu1550
- Lu1640
- Lu1740
Laboratorio:
A:
Docente: Olha Sharodovska
Horas:
- Lu1130
- Lu1220
B:
Docente: Roni Apaza
Horas:
- Vi1550
- Vi1640
C:
Docente: Roni Apaza
Horas:
- Vi1740
- Vi1830
D:
Docente: Roni Apaza
Horas:
- Mi1830
- Mi1920
SO:
nombre: Sistemas Operativos
abreviado: SO
Teoria:
A:
Docente: Karim Guevara
Horas:
- Ma0700
- Ma0750
- Ju0850
- Ju0940
B:
Docente: Karim Guevara
Horas:
- Ma1550
- Ma1640
- Ju1550
- Ju1640
Laboratorio:
A:
Docente: Karim Guevara
Horas:
- Ma1400
- Ma1450
B:
Docente: Karim Guevara
Horas:
- Ju1040
- Ju1130
C:
Docente: Karim Guevara
Horas:
- Ju1400
- Ju1450
D:
Docente: Karim Guevara
Horas:
- Ju1220
- Ju1310
Construccion Soft:
nombre: Construccion de Software
abreviado: CS
Teoria:
A:
Docente: Jorge Chamby
Horas:
- Ma0850
- Ma0940
B:
Docente: Jorge Chamby
Horas:
- Ju1400
- Ju1450
Laboratorio:
A:
Docente: Jorge Chambi
Horas:
- Mi0700
- Mi0750
- Vi0850
- Vi0940
B:
Docente: M. Galarza
Horas:
- Lu1830
- Lu1920
- Vi1830
- Vi1920
C:
Docente: M. Galarza
Horas:
- Ju0700
- Ju0750
- Ma0700
- Ma0750
D:
Docente: M. Galarza
Horas:
- Ma1920
- Ma2010
- Mi1400
- Mi1450
TecDat:
nombre: Tecnologia de Objetos
abreviado: TO
Teoria:
A:
Docente: Oscar Ramírez
Horas:
- Ma1040
- Ma1130
- Ju1040
- Ju1130
B:
Docente: Oscar Ramírez
Horas:
- Mi1400
- Mi1450
- Vi1400
- Vi1450
Laboratorio:
A:
Docente: J. Cárdenas
Horas:
- Lu0700
- Lu0750
B:
Docente: J. Cárdenas
Horas:
- Lu1550
- Lu1640
C:
Docente: J. Cárdenas
Horas:
- Ju0850
- Ju0940
D:
Docente: J. Cárdenas
Horas:
- Ju1220
- Ju1310
4to año:
Intro Soft Ent:
nombre: Introduccion a Software de Entetenimiento
abreviado: IDSEe
Teoria:
A:
Docente: Diego Iquira
Horas:
- Lu0750
- Lu0850
- Lu0940
B:
Docente: Diego Iquira
Horas:
- Mi1550
- Mi1640
- Mi1740
Laboratorio:
A:
Docente: D. Iquira
Horas:
- Lu1220
- Lu1310
B:
Docente: D. Iquira
Horas:
- Ju1920
- Ju2010
Diseno y Arquitectura:
nombre: Diseño Y Arquitectura de Software
abreviado: DAS
Teoria:
A:
Docente: Percy Huertas
Horas:
- Lu1040
- Lu1130
- Mi1040
- Mi1130
B:
Docente: Percy Huertas
Horas:
- Mi1400
- Mi1450
- Ju1400
- Ju1450
Laboratorio:
A:
Docente: P. Huertas
Horas:
- Ma1740
- Ma1830
B:
Docente: Roni Apaza
Horas:
- Ma1830
- Ma1920
C:
Docente: Roni Apaza
Horas:
- Ju1740
- Ju1830
Gestion Proyecto Soft:
nombre: Gestion de Proyectos de Software
abreviado: GPS
Teoria:
A:
Docente: Jesús Silva
Horas:
- Vi1040
- Vi1130
B:
Docente: Oscar Ramírez
Horas:
- Lu1400
- Lu1450
Laboratorio:
A:
Docente: J. Silva
Horas:
- Ma1130
- Ma1220
B:
Docente: Oscar Ramírez
Horas:
- Ma1400
- Ma1450
C:
Docente: Oscar Ramírez
Horas:
- Ma1550
- Ma1640
Negocios Electronicos:
nombre: Negocios Electrónicos
abreviado: NE
Teoria:
A:
Docente: Cesar Baluarte
Horas:
- Mi0750
- Mi0850
- Mi0940
B:
Docente: Oscar Ramírez
Horas:
- Lu1550
- Lu1640
- Lu1740
Laboratorio:
A:
Docente: Cesar Baluarte
Horas:
- Ju1220
- Ju1310
B:
Docente: Oscar Ramírez
Horas:
- Mi1400
- Mi1450
Auditoria:
nombre: Auditoría de Sistemas
abreviado: AS
Teoria:
A:
Docente: Edward Zarate
Horas:
- Ma0700
- Ma0750
- Ma0850
- Ju0700
- Ju0750
B:
Docente: Edward Zarate
Horas:
- Ma1400
- Ma1450
- Ma1550
- Ju1550
- Ju1640
Aspectos Formales:
nombre: Aspectos Formales de Verificación y Especificación
abreviado: AFEV
Teoria:
A:
Docente: Elizabet Vidal
Horas:
- Ju0850
- Ju0940
B:
Docente: Maribel Molina
Horas:
- Vi1550
- Vi1640
Laboratorio:
A:
Docente: M. Molina
Horas:
- Mi1220
- Mi1310
B:
Docente: M. Molina
Horas:
- Mi1830
- Mi1920
Calidad Soft:
nombre: Calidad de Software
abreviado: CS
Teoria:
A:
Docente: Jesús Silva
Horas:
- Ju1040
- Ju1130
B:
Docente: Maribel Molina
Horas:
- Vi1400
- Vi1450
Laboratorio:
A:
Docente: J. Silva
Horas:
- Ju1220
- Ju1310
B:
Docente: J. Silva
Horas:
- Mi1550
- Mi1640
C:
Docente: M. Molina
Horas:
- Ma0700
- Ma0750
Intro Nueva Plat:
nombre: Introduccion al Desarrollo de Nuevas Plataformas
abreviado: IDNP
Teoria:
A:
Docente: Ernesto Suarez
Horas:
- Vi0700
- Vi0750
- Vi0850
B:
Docente: Ernesto Suarez
Horas:
- Vi1740
- Vi1830
- Vi1920
Laboratorio:
A:
Docente: Ernesto Suarez
Horas:
- Ju0850
- Ju0940
B:
Docente: Ernesto Suarez
Horas:
- Ju1550
- Ju1640
5to año:
Practicas:
nombre: Prácticas Pre Profesionales
abreviado: PPP
Teoria:
A:
Docente: Fabrizio Calienes
Horas:
- Lu0750
- Lu0850
- Ju0700
- Ju0750
- Vi0700
- Vi0750
B:
Docente: Carlo Corrales
Horas:
- Lu1400
- Lu1450
- Vi1400
- Vi1450
- Vi1550
Gestion:
nombre: Gestion de Emprendimiento de Software 2
abreviado: GES2
Teoria:
A:
Docente: Juan Carlos Zuñiga
Horas:
- Ma0850
- Ma0940
- Ma1030
B:
Docente: Juan Carlos Zuñiga
Horas:
- Ju1400
- Ju1450
- Ju1550
Proyecto Ing Soft:
nombre: Proyecto de Ingeniería de Software 2
abreviado: PIS2
Teoria:
A:
Docente: Freddy Gonzales
Horas:
- Ma1310
- Ma1400
- Ju0850
- Ju0940
Topicos Avanzados:
nombre: Tópicos Avanzados de Ing. de Software
abreviado: TAIS
Teoria:
A:
Docente: Robert Arisaca
Horas:
- Mi0940
- Mi1040
- Mi1130
B:
Docente: Robert Arisaca
Horas:
- Ma1450
- Ma1550
- Ma1640
Juegos:
nombre: Desarrollo de Software para Juegos
abreviado: DSJe
Teoria:
A:
Docente: José Sulla
Horas:
- Mi1450
- Mi1550
Inteligencia:
nombre: Inteligencia de Negocios
abreviado: IEe
Teoria:
A:
Docente: Yasiel Pérez
Horas:
- Vi0850
- Vi0940
Plataformas Emergentes:
nombre: Plataformas Emergentes
abreviado: PEe
Teoria:
A:
Docente: Yasiel Pérez
Horas:
- Vi1040
- Vi1130

5
public/img/auto.sh Executable file
View File

@ -0,0 +1,5 @@
ls > files
sed -E 's/(wall[0-9]*)\.([a-z]*)/cwebp \1\.\2 -o \1.webp/' files > ins
bash ins
rm ins
rm files

BIN
public/img/wall0.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

BIN
public/img/wall0.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 KiB

BIN
public/img/wall1.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 KiB

BIN
public/img/wall1.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

BIN
public/img/wall10.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

BIN
public/img/wall10.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

BIN
public/img/wall11.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 KiB

BIN
public/img/wall11.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

BIN
public/img/wall12.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 KiB

BIN
public/img/wall12.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

BIN
public/img/wall13.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

BIN
public/img/wall13.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

BIN
public/img/wall14.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 KiB

BIN
public/img/wall14.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

BIN
public/img/wall15.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 KiB

BIN
public/img/wall15.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

BIN
public/img/wall16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

BIN
public/img/wall16.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
public/img/wall17.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

BIN
public/img/wall17.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

BIN
public/img/wall2.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 KiB

BIN
public/img/wall2.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

BIN
public/img/wall3.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 KiB

BIN
public/img/wall3.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

BIN
public/img/wall4.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

BIN
public/img/wall4.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 942 KiB

BIN
public/img/wall5.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 588 KiB

BIN
public/img/wall5.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

BIN
public/img/wall6.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

BIN
public/img/wall6.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
public/img/wall7.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

BIN
public/img/wall7.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

BIN
public/img/wall8.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

BIN
public/img/wall8.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

BIN
public/img/wall9.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

BIN
public/img/wall9.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

@ -1,38 +1,18 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<!--
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
<html lang="es">
<head>
<meta charset="utf-8"/>
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="theme-color" content="#000000"/>
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<title>Solid App</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
<title>Horarios - Solid</title>
You can add webfonts, meta tags, or analytics to this file.
The build step will place the bundled scripts into the <body> tag.
To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`.
-->
</body>
<link rel="stylesheet" href="css/phosphor.min.css">
<link rel="stylesheet" href="css/global.css">
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>

View File

@ -1,33 +0,0 @@
.App {
text-align: center;
}
.App-logo {
animation: App-logo-spin infinite 20s linear;
height: 40vmin;
pointer-events: none;
}
.App-header {
background-color: #282c34;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: calc(10px + 2vmin);
color: white;
}
.App-link {
color: #b318f0;
}
@keyframes App-logo-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}

View File

@ -1,9 +0,0 @@
import { render } from 'solid-js/web';
import App from './App';
it('renders without crashing', () => {
const div = document.createElement('div');
const dispose = render(App, div);
div.textContent = '';
dispose();
});

View File

@ -1,25 +1,16 @@
import logo from './logo.svg';
import './App.css';
import { BarraSuperior } from "./BarraSuperior";
import { ContenedorHorarios } from "./ContenedorHorarios/";
import { Wallpaper } from "./Wallpaper";
function App() {
return (
<div class="App">
<header class="App-header">
<img src={logo} class="App-logo" alt="logo" />
<p>
Edit <code>src/App.tsx</code> and save to reload.
</p>
<a
class="App-link"
href="https://github.com/ryansolid/solid"
target="_blank"
rel="noopener noreferrer"
>
Learn Solid
</a>
</header>
</div>
);
return (
<div class="App">
<Wallpaper/>
<BarraSuperior/>
<br/>
<ContenedorHorarios/>
</div>
);
}
export default App;

104
src/BarraSuperior.tsx Normal file
View File

@ -0,0 +1,104 @@
import { estilosGlobales } from "./Estilos";
import { StyleSheet, css } from "aphrodite";
import { numWallpaper, setNumWallpaper } from "./Store";
const totalWallpapers = 17;
function CambiadorImg() {
const e = StyleSheet.create({
contCambiador: {
userSelect: "none"
},
boton: {
cursor: "pointer",
textDecoration: "underline",
"::before": {
fontSize: "1rem",
transform: "translateY(0.2rem)"
}
},
botonDesactivado: {
cursor: "not-allowed",
textDecoration: "none"
},
botonLeft: {
paddingRight: "0.5rem",
marginRight: "0.25rem"
},
botonRight: {
paddingLeft: "0.5rem",
marginRight: "0.25rem"
}
});
const retrocederWallpaper = () => {
const num = numWallpaper();
if (num > 0) {
setNumWallpaper(num - 1);
localStorage.setItem("num-img", (num - 1).toString());
}
};
const avanzarWallpaper = () => {
const num = numWallpaper();
if (num < totalWallpapers) {
setNumWallpaper(num + 1);
localStorage.setItem("num-img", (num + 1).toString());
}
};
const clasesLeft = () =>
numWallpaper() <= 0
? "ph-arrow-left " + css(e.boton, e.botonDesactivado, e.botonLeft)
: "ph-arrow-left " + css(e.boton, e.botonLeft);
const clasesRight = () =>
numWallpaper() >= totalWallpapers
? "ph-arrow-right " + css(e.boton, e.botonDesactivado, e.botonRight)
: "ph-arrow-right " + css(e.boton, e.botonRight);
return <div className={css(estilosGlobales.inlineBlock, e.contCambiador)}>
<span className={css(estilosGlobales.contenedor, estilosGlobales.inlineBlock)}>
<i
className={clasesLeft()}
onClick={retrocederWallpaper}
/>
Img. {numWallpaper() + 1}
<i
className={clasesRight()}
onClick={avanzarWallpaper}
/>
</span>
</div>;
}
export function BarraSuperior() {
const estilos = StyleSheet.create({
tituloPrincipal: {
fontWeight: "bold",
fontFamily: "'SF Pro Display', sans-serif"
}
});
return <header>
<a href="/" className={css(
estilosGlobales.contenedor,
estilosGlobales.inlineBlock,
estilosGlobales.contenedorCursor,
estilos.tituloPrincipal
)}>
Horarios Unsa
</a>
<a href="https://github.com" target="_blank" className={css(
estilosGlobales.contenedor,
estilosGlobales.inlineBlock,
estilosGlobales.contenedorCursor
)}>
GitHub
<i class="ph-arrow-up-right"/>
</a>
<span className={css(estilosGlobales.contenedor, estilosGlobales.inlineBlock)}>2021-A</span>
<span className={css(estilosGlobales.contenedor, estilosGlobales.inlineBlock)}>Ingeniería de Sistemas</span>
<CambiadorImg/>
</header>;
}

View File

@ -0,0 +1,23 @@
import { DatosHorario } from "../types/DatosHorario";
import { createEffect, Show, For } from "solid-js";
import { StyleSheet, css } from "aphrodite";
import { estilosGlobales } from "../Estilos";
export function Horarios(props: { data: DatosHorario }) {
const elAnios = <For each={Object.entries(props.data.años)}>
{([nombre]) =>
<div className={css(estilosGlobales.contenedor, estilosGlobales.inlineBlock, estilosGlobales.contenedorCursor)}>
{nombre}
</div>
}
</For>;
return <div>
{elAnios}
<br/>
<div className={css(estilosGlobales.contenedor, estilosGlobales.inlineBlock)}>
Cargado :D
</div>
</div>;
}

View File

@ -0,0 +1,23 @@
import { estilosGlobales } from "../Estilos";
import { StyleSheet, css } from "aphrodite";
export function MiHorario() {
const e = StyleSheet.create({
horario: {
height: "20rem"
}
});
return <div>
<div className={css(
estilosGlobales.inlineBlock,
estilosGlobales.contenedor
)}>
Mi horario
</div>
<div className={css(
e.horario,
estilosGlobales.contenedor
)}/>
</div>;
}

View File

@ -0,0 +1,45 @@
import YAML from "yaml";
import { StyleSheet, css } from "aphrodite";
import { MiHorario } from "./MiHorario";
import { Horarios } from "./Horarios";
import { DatosHorario } from "../types/DatosHorario";
import { estilosGlobales } from "../Estilos";
import { Show, createSignal, createEffect, batch } from "solid-js";
const datosPromise = (async () => {
const file = await fetch("/horarios/2020_2_fps_ingenieriadesistemas.yaml");
const text = await file.text();
return YAML.parse(text) as DatosHorario;
})();
const ElemCargando = () =>
<div className={css(estilosGlobales.contenedor, estilosGlobales.inlineBlock)}>
Recuperando horarios...
</div>
export function ContenedorHorarios() {
const e = StyleSheet.create({
contenedor: {
display: "grid",
gridTemplateColumns: "50% 50%"
}
});
const [datosCargados, setDatosCargados] = createSignal(false);
const [datos, setDatos] = createSignal<DatosHorario | null>(null);
createEffect(async () => {
const datos = await datosPromise;
batch(() => {
setDatos(datos);
setDatosCargados(true);
});
});
return <div className={css(e.contenedor)}>
<MiHorario/>
<Show when={datosCargados()}>
<Horarios data={datos()!!}/>
</Show>
</div>;
}

24
src/Estilos.ts Normal file
View File

@ -0,0 +1,24 @@
import {StyleSheet} from "aphrodite";
export const estilosGlobales = StyleSheet.create({
contenedor: {
margin: "0.5rem",
padding: "0.75rem 0.75rem",
borderRadius: "10px",
backdropFilter: "blur(40px)",
backgroundColor: "rgba(100, 100, 100, 0.25)",
color: "white"
},
contenedorCursor: {
cursor: "pointer",
userSelect: "none",
transition: "background-color 200ms",
textDecoration: "underline",
":hover": {
backgroundColor: "rgba(255, 255, 255, 0.2)"
}
},
inlineBlock: {
display: "inline-block"
}
});

18
src/Store.ts Normal file
View File

@ -0,0 +1,18 @@
import { createSignal, createEffect } from "solid-js";
enum ModoColor {
Claro,
Oscuro,
Auto
}
const numImgGuardado = parseInt(localStorage.getItem("num-img") ?? "1");
console.log(numImgGuardado);
export const [modoColor, setModoColor] = createSignal(ModoColor.Oscuro);
export const [numWallpaper, setNumWallpaper] = createSignal(numImgGuardado);
createEffect(() => {
const num = numWallpaper();
localStorage.setItem("num-img", num.toString());
console.log("Establecer item!");
});

67
src/Wallpaper.tsx Normal file
View File

@ -0,0 +1,67 @@
import { StyleSheet, css } from "aphrodite";
import { numWallpaper } from "./Store";
import { createSignal, createMemo, createEffect, createState } from "solid-js";
const duracionTransicion = 250;
export function Wallpaper() {
const estilos = StyleSheet.create({
contenedorCover: {
position: "fixed",
width: "100vw",
height: "100vh",
top: "0",
left: "0",
backgroundColor: "#212121"
},
cover: {
width: "100vw",
height: "100vh",
backgroundPosition: "bottom",
backgroundSize: "cover",
zIndex: -1,
transition: `opacity ${duracionTransicion}ms`
},
coverTransicion: {
opacity: 0
}
});
const [estilosRaw, setEstilosRaw] = createState({
"background-image": `none`,
opacity: 1
});
createEffect(() => {
const numImg = numWallpaper();
setEstilosRaw("opacity", 0);
const promesa250ms = new Promise(resolve => {
setTimeout(resolve, duracionTransicion);
});
const url = `/img/wall${numImg}.webp`;
const img = new Image();
img.addEventListener("load", async () => {
await promesa250ms;
setEstilosRaw({
"background-image": `url('${url}')`,
opacity: 1
});
});
img.src = url;
});
const dummyMemo = () => {
console.log("Memo!");
return estilosRaw;
};
return <div className={css(estilos.contenedorCover)}>
<div
className={css(estilos.cover)}
style={{"background-image": estilosRaw["background-image"], opacity: estilosRaw.opacity}}
/>
</div>
}

View File

@ -1,13 +0,0 @@
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
"Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
code {
font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
monospace;
}

View File

@ -1,12 +1,6 @@
import "solid-js";
import { render } from 'solid-js/web';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
import "normalize.css";
render(App, document.getElementById('root') as Node);
// If you want your app to work offline and load faster, you can change
// unregister() to register() below. Note this comes with some pitfalls.
// Learn more about service workers: https://bit.ly/CRA-PWA
serviceWorker.unregister();

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 166 155.3"><path d="M163 35S110-4 69 5l-3 1c-6 2-11 5-14 9l-2 3-15 26 26 5c11 7 25 10 38 7l46 9 18-30z" fill="#76b3e1"/><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="27.5" y1="3" x2="152" y2="63.5"><stop offset=".1" stop-color="#76b3e1"/><stop offset=".3" stop-color="#dcf2fd"/><stop offset="1" stop-color="#76b3e1"/></linearGradient><path d="M163 35S110-4 69 5l-3 1c-6 2-11 5-14 9l-2 3-15 26 26 5c11 7 25 10 38 7l46 9 18-30z" opacity=".3" fill="url(#a)"/><path d="M52 35l-4 1c-17 5-22 21-13 35 10 13 31 20 48 15l62-21S92 26 52 35z" fill="#518ac8"/><linearGradient id="b" gradientUnits="userSpaceOnUse" x1="95.8" y1="32.6" x2="74" y2="105.2"><stop offset="0" stop-color="#76b3e1"/><stop offset=".5" stop-color="#4377bb"/><stop offset="1" stop-color="#1f3b77"/></linearGradient><path d="M52 35l-4 1c-17 5-22 21-13 35 10 13 31 20 48 15l62-21S92 26 52 35z" opacity=".3" fill="url(#b)"/><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="18.4" y1="64.2" x2="144.3" y2="149.8"><stop offset="0" stop-color="#315aa9"/><stop offset=".5" stop-color="#518ac8"/><stop offset="1" stop-color="#315aa9"/></linearGradient><path d="M134 80a45 45 0 00-48-15L24 85 4 120l112 19 20-36c4-7 3-15-2-23z" fill="url(#c)"/><linearGradient id="d" gradientUnits="userSpaceOnUse" x1="75.2" y1="74.5" x2="24.4" y2="260.8"><stop offset="0" stop-color="#4377bb"/><stop offset=".5" stop-color="#1a336b"/><stop offset="1" stop-color="#1a336b"/></linearGradient><path d="M114 115a45 45 0 00-48-15L4 120s53 40 94 30l3-1c17-5 23-21 13-34z" fill="url(#d)"/></svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -1,135 +0,0 @@
// This optional code is used to register a service worker.
// register() is not called by default.
// This lets the app load faster on subsequent visits in production, and gives
// it offline capabilities. However, it also means that developers (and users)
// will only see deployed updates on subsequent visits to a page, after all the
// existing tabs open on the page have been closed, since previously cached
// resources are updated in the background.
// To learn more about the benefits of this model and instructions on how to
// opt-in, read https://bit.ly/CRA-PWA
const isLocalhost = Boolean(
window.location.hostname === 'localhost' ||
// [::1] is the IPv6 localhost address.
window.location.hostname === '[::1]' ||
// 127.0.0.1/8 is considered localhost for IPv4.
window.location.hostname.match(
/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
)
);
export function register(config) {
if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
// The URL constructor is available in all browsers that support SW.
const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);
if (publicUrl.origin !== window.location.origin) {
// Our service worker won't work if PUBLIC_URL is on a different origin
// from what our page is served on. This might happen if a CDN is used to
// serve assets; see https://github.com/facebook/create-react-app/issues/2374
return;
}
window.addEventListener('load', () => {
const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
if (isLocalhost) {
// This is running on localhost. Let's check if a service worker still exists or not.
checkValidServiceWorker(swUrl, config);
// Add some additional logging to localhost, pointing developers to the
// service worker/PWA documentation.
navigator.serviceWorker.ready.then(() => {
console.log(
'This web app is being served cache-first by a service ' +
'worker. To learn more, visit https://bit.ly/CRA-PWA'
);
});
} else {
// Is not localhost. Just register service worker
registerValidSW(swUrl, config);
}
});
}
}
function registerValidSW(swUrl, config) {
navigator.serviceWorker
.register(swUrl)
.then(registration => {
registration.onupdatefound = () => {
const installingWorker = registration.installing;
if (installingWorker == null) {
return;
}
installingWorker.onstatechange = () => {
if (installingWorker.state === 'installed') {
if (navigator.serviceWorker.controller) {
// At this point, the updated precached content has been fetched,
// but the previous service worker will still serve the older
// content until all client tabs are closed.
console.log(
'New content is available and will be used when all ' +
'tabs for this page are closed. See https://bit.ly/CRA-PWA.'
);
// Execute callback
if (config && config.onUpdate) {
config.onUpdate(registration);
}
} else {
// At this point, everything has been precached.
// It's the perfect time to display a
// "Content is cached for offline use." message.
console.log('Content is cached for offline use.');
// Execute callback
if (config && config.onSuccess) {
config.onSuccess(registration);
}
}
}
};
};
})
.catch(error => {
console.error('Error during service worker registration:', error);
});
}
function checkValidServiceWorker(swUrl, config) {
// Check if the service worker can be found. If it can't reload the page.
fetch(swUrl)
.then(response => {
// Ensure service worker exists, and that we really are getting a JS file.
const contentType = response.headers.get('content-type');
if (
response.status === 404 ||
(contentType != null && contentType.indexOf('javascript') === -1)
) {
// No service worker found. Probably a different app. Reload the page.
navigator.serviceWorker.ready.then(registration => {
registration.unregister().then(() => {
window.location.reload();
});
});
} else {
// Service worker found. Proceed as normal.
registerValidSW(swUrl, config);
}
})
.catch(() => {
console.log(
'No internet connection found. App is running in offline mode.'
);
});
}
export function unregister() {
if ('serviceWorker' in navigator) {
navigator.serviceWorker.ready.then(registration => {
registration.unregister();
});
}
}

30
src/types/DatosHorario.ts Normal file
View File

@ -0,0 +1,30 @@
interface Curso {
nombre: string,
abreviado: string,
Teoria: {
[grupo: string]: {
Docente: string,
Horas: string[]
}
}
Laboratorio?: {
[grupo: string]: {
Docente: string,
Horas: string[]
}
}
}
interface Anio {
[key: string]: {
[nombre: string]: Curso
}
}
export interface DatosHorario {
titulo: string,
descripcion: string,
años: Anio
}