A-201
Química · Lima Centro
Paleta de la UTP (rojo #D3052D sobre negro y blanco) y estilo de elementos tomado de prensalink.com: Libre Franklin para todo —titulares y cuerpo, como en la web de la UTP—, bordes capilares de 0.8 px, radios cortos y sombras anchas casi invisibles. Cada pantalla de los ocho portales se arma con lo que hay en esta página; si algo no está acá, primero se agrega acá.
El rojo se usa para la acción y para el acento, nunca como fondo de superficies grandes. Las áreas oscuras van en negro, no en rojo.
Bajada en Libre Franklin, un punto más grande que el cuerpo y en gris oscuro. Es la línea que explica el titular.
Cuerpo normal a 16 px con interlínea 1.55. Negrita para el dato que
importa, gris para lo secundario y RES-000101
en monoespaciada para todo lo que sea un código: reservas, aulas, materiales, boletas y códigos de error como
CANAL_NO_PERMITIDO.
La marca roja va detrás de dos o tres palabras del titular, nunca de una frase entera.
Un solo botón primario por pantalla. El botón que destruye algo va con
.btn-peligro y, si toca datos del sistema, además pide contraseña.
Las mismas seis clases sirven para todo. Los estados de cuenta que mira el SAE, por ejemplo, no traen piezas nuevas: son estas con otro texto.
Copiada del login real de la universidad, sso.utp.edu.pe.
Vale para los ocho portales, para los modales y para los filtros. En JavaScript se arma con
UI.campo(control, { etiqueta, ayuda }), que pone las tres piezas en su sitio.
| Pieza | Qué dice | Ejemplo |
|---|---|---|
| Etiqueta | Nombra el dato. Nunca falta. | Código UTP |
| Placeholder | Dice qué hacer, en imperativo y en segunda persona. | Ingresa tu código |
| Ayuda | El ejemplo y la regla, debajo del campo. | Ejemplo: U21100101. No escribas @utp.edu.pe. |
U21100101) se lee como
un valor ya escrito, y encima desaparece al primer tecleo, que es justo cuando hacía falta. Y un
placeholder que repite la etiqueta no agrega nada.
Para la acción secundaria que no navega a ninguna parte, como el
«Restablecer contraseña» del login de la UTP. Va como <button>.
Los materiales de un aula, los integrantes de un grupo, los productos de una boleta. Dato a la izquierda, estado o monto a la derecha.
Lo que abre el alumno desde la notificación de una compra aceptada, para mostrársela al
encargado. Se arma con .boleta dentro de un modal; la dibuja
UI.ventanaCompra(compra), que con una compra rechazada muestra el motivo.
BOL-00051Las horas ya tomadas: las clases fijas del ciclo, con curso, sección y docente, y las reservas aprobadas de otros grupos. Cada celda ocupada lleva texto, no solo color.
En JavaScript: UI.horarioSemanal(aula, { semana, conEspera, etiquetaReserva }).
El alumno lo usa sin códigos ajenos; coordinación, con las solicitudes en espera.
.horario-mantenimiento es el mantenimiento diario del aula: gris rayado, para que no se
confunda con una clase (rojo rayado) ni con un cierre del laboratorio (.horario-cerrado, gris punteado).
El cierre de ciclo no se completa hasta el 100 %. La barra lleva el número, no solo el largo.
Química · Lima Centro
La foto entra desaturada y toma color al pasar el cursor: el color de la página lo pone el rojo, no la foto.
Para modales, paneles laterales y bloques de resumen.
solicitudes en espera
tareas fallidas en la última hora
daño reportado al SAE
retención por vencer
Los datos de consulta en pares: el nombre del dato a la izquierda y su valor a la derecha; en
celular, uno debajo del otro. Va dentro del panel que sube desde abajo, con las acciones en el pie.
Se arma con <dl class="ficha-datos">.
MAT-0114| Código | Integrante | Estado | Acción |
|---|---|---|---|
U21100101 | Diana Quispe Rojas Anfitriona | Presente | |
U21100102 | Bruno Salazar Ita | Sin marcar | |
U21100103 | Katia Mendoza Puma | No asistió |
.ayuda-info: ayuda a pedido. Un ícono de información y una
línea que dice qué hay detrás; toda la fila es el botón y abre un modal. Es para lo que conviene saber pero no
hace falta leer siempre, como los motivos de los bloques apagados del calendario.
El tramo en curso lleva filo rojo y la palabra «Ahora». La línea de tiempo marca dónde está la hora real, y las reservas de las próximas horas van en tarjetas grises que se despliegan.
Integrantes, materiales y compras de esa reserva.
Integrantes, materiales y compras de esa reserva.
Lo que escribe el sistema va firmado y con filo rojo, para que nadie crea que le contestó una persona.
La lista se parte en grupos. En celular se ve la lista o el hilo, uno a la vez. En JavaScript
el hilo entero se arma con UI.vistaHilo(hilo, usuario, opciones), que usan todos
los portales.
Coordinación, SAE y administración. Cada fila es una persona, agrupada por rol: solo los roles que la matriz de canales permite. Con los alumnos no se dibuja ningún grupo, ni siquiera deshabilitado. Un mensaje atado a un reporte de daño lleva su número y las fotos de evidencia.
En JavaScript, la conversación es la misma UI.vistaHilo(); la burbuja
flotante, UI.burbujaChat(usuario), que se esconde en la pestaña de mensajería.
Una sola vía: no se contesta, y el panel lo dice.
El mapa del sistema del administrador: tres filas de cajas unidas por una línea. HTML y CSS, sin librerías de diagramas. El punto de color nunca va solo: al lado siempre está el texto.
Para lo que no se puede ignorar y no depende de la pantalla en la que uno esté: el bot pausado hace más de una hora, por ejemplo. Va arriba de todo, se queda pegada al hacer scroll y no lleva botón de cerrar. Si se pudiera cerrar, no haría falta.
Se usa poco a propósito: una cinta que aparece por cualquier cosa se vuelve parte del fondo.
Acompañan al campo cuando alguien crea su contraseña, y se marcan solas
mientras escribe. Delante de cada línea va la palabra «Cumplida» o «Falta» en .sr-solo:
el estado no puede depender del color ni del icono.
Cuando un encargado cancele una reserva o marque un material roto, el aviso aparece acá.
Para un formulario corto que sale de la pantalla en la que uno está, como el reporte de daño.
Oscurece el fondo como el modal, pero se pega al borde inferior: la cabecera y el pie quedan fijos y el
formulario se desliza entre los dos. En celular ocupa todo el ancho. Cierra con Esc, con la X o tocando el
fondo, y devuelve el foco a quien lo abrió. En JavaScript: UI.hoja(opciones), con
título, cuerpo, pie y qué hacer al cerrar.
El monto no puede pasar el valor del material. Este vale S/ 48.00.
El monto que pasa el valor se marca mientras se escribe; lo que falta, recién al intentar enviar. Un material roto completamente no se escribe: sale solo de su valor de reposición, en un campo de solo lectura.
innerHTML con texto que
venga del usuario o de la API. Todo el DOM de los portales se arma con UI.el(), que
usa textContent.