Saltearse al contenido

La UI de un vistazo

Todo lo que no sea /login, /invite y la consola de operación a pantalla completa se renderiza dentro del shell — un layout táctico con cuatro zonas persistentes.

Las cuatro zonas

1. Barra superior (.tac-topbar)

Anclada arriba, siempre visible.

  • Botón de menú — hamburguesa en móvil, chevron en escritorio. Colapsa la navegación izquierda.
  • Marca — logo de ARGUS + wordmark. Haz clic para volver a /.
  • Título de la página — título traducido de la ruta actual (p. ej. app.overview, app.operations), controlado desde route.data.title vía eventos ActivationEnd.
  • Chip de estado del sistemaONLINE / OFFLINE.
  • Conmutador de tema — claro ↔ oscuro.
  • Campana de notificaciones — insignia de no leídos, limitada a 99+.
  • Avatar + nombre + chip de indicativo — abre el desplegable de perfil (nombre de la organización, insignia de rol, Perfil, Ajustes, Acerca de, Ayuda, Cerrar sesión).

2. Navegación izquierda (.tac-sidebar)

Raíl colapsable. Recuerda su estado en localStorage bajo sar.sidebar.collapsed. En móvil (≤768px) se convierte en un drawer deslizante con cierre por gesto.

  • MAIN — Resumen, Operaciones (con insignia de conteo en vivo), Mapping.
  • TOOLS — Perfil, Ajustes, Equipos, Joystick Debug (solo escritorio; aparece cuando WebHID / WebSerial / Gamepad están presentes).
  • ADMIN — solo para administradores. /admin/org, /admin/users, /admin/assets, /admin/venues, /admin/dji, /admin/webhooks, /admin/workflows, /admin/roles, /admin/subscription.
  • SYSTEM — Acerca de, Ayuda.

Cada elemento se filtra por PermissionService — si no puedes ver Operaciones, el enlace no se renderiza en absoluto.

3. Área de contenido derecha (.tac-content)

<router-outlet>. Todo lo que cuelga de la ruta del shell aterriza aquí. La Consola de Operación (/ops/:id/live) es una ruta de nivel superior aparte que reemplaza el shell con una cuadrícula de tiles a pantalla completa.

4. Overlays flotantes

  • FAB de ayuda (<app-help-fab>) — abajo a la derecha. Popover con centro de ayuda, atajos y FAQ.
  • Overlay de tour (<app-tour-overlay>) — foco guiado.
  • Panel de notificaciones y desplegable de perfil se montan cerca de la barra superior con fondos (backdrops).

Rutas clave

URLQué es
/Dashboard — tu pantalla de inicio
/operationsLa lista de operaciones a las que tienes acceso
/operations/newAsistente de creación de operación
/operations/:idDetalle de misión
/operations/:id/editEditar (solo propietario / admin)
/ops/:id/liveConsola de Operación — vista en vivo a pantalla completa
/teamsEquipos a los que perteneces
/mappingMapping — fotogrametría ODM
/profileTu perfil
/settingsTema, audio, entrada
/admin/orgGestión de organización (admin+)
/admin/usersUsuarios + invitaciones (manager+)
/admin/assetsInventario de activos (admin+)
/admin/venuesSedes / sitios interiores (admin / venue_creator)
/admin/djiDocks DJI (admin+)
/admin/webhooksWebhooks (admin+)
/admin/workflowsWorkflows (admin+)
/admin/rolesRoles personalizados (solo superadmin)
/admin/subscriptionPlan + facturación (solo superadmin)
/helpCentro de ayuda dentro de la app
/aboutInformación de compilación

La ruta heredada /missions redirige a /operations por compatibilidad.

Temas

Hoy: claro y oscuro (theme-light / theme-dark en <html>, conmutados por ThemeService, persistidos bajo sar.theme). El predeterminado es oscuro. Una tercera variante táctica para puestos de mando nocturnos es aspiracional — el servicio hoy es un conmutador de dos estados. Cambia desde el icono de tema de la barra superior o Ajustes → Tema.

Atajos de teclado

Lista completa: Atajos de teclado. Esenciales del shell:

  • Esc — cerrar desplegable de perfil / panel de notificaciones (conectado en el shell vía @HostListener('document:keydown.escape')).
  • Alt+1 — Dashboard.
  • Alt+2 — Operaciones.
  • Alt+H — Ayuda.
  • ? — overlay de atajos.
  • / — enfocar búsqueda global.

/, ? y Alt+N están documentados en la referencia de atajos pero dependen de su binding por superficie — aspiracionales a nivel de shell hasta que se despliegue un servicio de atajos globales. Dentro de la Consola de Operación, el conjunto completo de control de vuelo (Space hover, T takeoff, L land, M PTT) está activo.

Idioma

Inglés + español. I18nService elige: preferencia guardada (sar.lang) → navegador → inglés. Cambia desde Ajustes → Perfil o el menú del avatar.

Comportamiento offline

El chip de estado cambia a OFFLINE en navigator.onLine + desconexión de Firestore.

  • Las lecturas continúan desde la caché local de Firestore para cualquier cosa ya cargada.
  • Las escrituras (ediciones de misión, chat, flags) quedan encoladas por el SDK de Firestore y se envían al reconectar.
  • La Consola de Operación requiere TACLINK en vivo; al desconectarse muestra una banda y reintenta automáticamente — ver conexión TACLINK.

Relacionado