Muchos cambios
20208
package-lock.json
generated
49
package.json
@ -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
@ -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
Before Width: | Height: | Size: 36 KiB |
429
public/horarios/2018_2_fps_ingenieriadesistemas.yaml
Normal 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
|
125
public/horarios/2019_2_fps_ingenieriadesistemas.yaml
Normal 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
|
||||
|
1008
public/horarios/2020_1_fps_ingenieriadesistemas.yaml
Normal file
937
public/horarios/2020_2_fps_ingenieriadesistemas.yaml
Normal 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
@ -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
After Width: | Height: | Size: 2.3 MiB |
BIN
public/img/wall0.webp
Normal file
After Width: | Height: | Size: 383 KiB |
BIN
public/img/wall1.jpeg
Normal file
After Width: | Height: | Size: 460 KiB |
BIN
public/img/wall1.webp
Normal file
After Width: | Height: | Size: 180 KiB |
BIN
public/img/wall10.jpg
Normal file
After Width: | Height: | Size: 133 KiB |
BIN
public/img/wall10.webp
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
public/img/wall11.jpg
Normal file
After Width: | Height: | Size: 476 KiB |
BIN
public/img/wall11.webp
Normal file
After Width: | Height: | Size: 170 KiB |
BIN
public/img/wall12.jpg
Normal file
After Width: | Height: | Size: 332 KiB |
BIN
public/img/wall12.webp
Normal file
After Width: | Height: | Size: 231 KiB |
BIN
public/img/wall13.jpg
Normal file
After Width: | Height: | Size: 139 KiB |
BIN
public/img/wall13.webp
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
public/img/wall14.jpeg
Normal file
After Width: | Height: | Size: 457 KiB |
BIN
public/img/wall14.webp
Normal file
After Width: | Height: | Size: 262 KiB |
BIN
public/img/wall15.jpeg
Normal file
After Width: | Height: | Size: 366 KiB |
BIN
public/img/wall15.webp
Normal file
After Width: | Height: | Size: 175 KiB |
BIN
public/img/wall16.png
Normal file
After Width: | Height: | Size: 309 KiB |
BIN
public/img/wall16.webp
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
public/img/wall17.png
Normal file
After Width: | Height: | Size: 2.2 MiB |
BIN
public/img/wall17.webp
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
public/img/wall2.jpeg
Normal file
After Width: | Height: | Size: 330 KiB |
BIN
public/img/wall2.webp
Normal file
After Width: | Height: | Size: 146 KiB |
BIN
public/img/wall3.jpeg
Normal file
After Width: | Height: | Size: 333 KiB |
BIN
public/img/wall3.webp
Normal file
After Width: | Height: | Size: 156 KiB |
BIN
public/img/wall4.jpeg
Normal file
After Width: | Height: | Size: 3.9 MiB |
BIN
public/img/wall4.webp
Normal file
After Width: | Height: | Size: 942 KiB |
BIN
public/img/wall5.jpeg
Normal file
After Width: | Height: | Size: 588 KiB |
BIN
public/img/wall5.webp
Normal file
After Width: | Height: | Size: 199 KiB |
BIN
public/img/wall6.jpg
Normal file
After Width: | Height: | Size: 97 KiB |
BIN
public/img/wall6.webp
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
public/img/wall7.jpg
Normal file
After Width: | Height: | Size: 215 KiB |
BIN
public/img/wall7.webp
Normal file
After Width: | Height: | Size: 127 KiB |
BIN
public/img/wall8.jpg
Normal file
After Width: | Height: | Size: 118 KiB |
BIN
public/img/wall8.webp
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
public/img/wall9.jpg
Normal file
After Width: | Height: | Size: 129 KiB |
BIN
public/img/wall9.webp
Normal file
After Width: | Height: | Size: 67 KiB |
@ -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>
|
||||
|
33
src/App.css
@ -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);
|
||||
}
|
||||
}
|
@ -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();
|
||||
});
|
31
src/App.tsx
@ -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
@ -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>;
|
||||
}
|
23
src/ContenedorHorarios/Horarios.tsx
Normal 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>;
|
||||
}
|
23
src/ContenedorHorarios/MiHorario.tsx
Normal 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>;
|
||||
}
|
45
src/ContenedorHorarios/index.tsx
Normal 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
@ -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
@ -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
@ -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>
|
||||
|
||||
}
|
@ -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;
|
||||
}
|
@ -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();
|
||||
|
@ -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 |
@ -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
@ -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
|
||||
}
|
||||
|