← volver al flujo general → ver árbol técnico completo ← volver al mapa completo

Paneles — demo de funcionalidad

Actualizado según 2026.zip (IX 2026): Drives y Servers cambiaron a solo-captura (sin dashboard público); Cotizador y QR ya están Online con archivos reales. Nuevo: tarjeta Standings (Cubo-sport-data) ya Online. Corrección: Bitácora 777 no tiene css/ ni js/ propios — todo va inline en index.html + la librería SheetJS por CDN.

100%
%% ============================================
%% DEMO DE PANELES — funcionalidad real, sin
%% nombres de archivo ni rutas de backend
%% ============================================

flowchart TD
    Entrada["admin_panels.html
case study: Paneles"]:::main Entrada --> Cine["Cinecanibal
externo (no es panel-adm)"]:::external Entrada --> Drives["Administración de Drives
solo captura · sin link"]:::privado Entrada --> Servers["Administración de Servers
solo captura · sin link"]:::privado Entrada --> Standings["Standings
Online → Cubo-sport-data/nfl.html"]:::panel Entrada --> Bitacora["Bitácora 777
Online → bitacora777/index.html"]:::panel Entrada --> Cotizador["Cotizador en línea — Octopus
Online → Octopus_cotizador/index.html"]:::panel Entrada --> QRParque["QR de acceso — Conejo Pintado
Online → QR_parque/index.html"]:::panel %% --- Standings (panel-adm/Cubo-sport-data/): 6 ligas, motor compartido --- %% archivos: mlb.html, nfl.html, ligamx.html, laliga.html, ligaexpansion.html, %% npb.html, standings.css, standings.js (motor genérico), images/158518.jpg Standings -->|"nfl.html (liga por defecto)"| StandingsSync["Sincronizar con fuente pública
(standings.js)"]:::accion StandingsSync --> StandingsEdit["Edición manual de respaldo
+ calendario y ficha de jugador"]:::accion %% --- Cotizador (Octopus_cotizador/index.html): backend real --- %% archivos: index.html, script.js, styles.css, cotizador-octopus.gs (Apps Script) Cotizador -->|"script.js"| CotizadorPasos["Formulario multi-paso
(showStep / updateNavState)"]:::accion CotizadorPasos --> CotizadorEstimado["Calcular estimado
(updateEstimate / recalcMultiPrice)"]:::accion CotizadorEstimado -.->|"cotizador-octopus.gs"| CotizadorEmail["Enviar cotización
por correo (Google Apps Script)"]:::accion %% --- QR_parque/index.html: flujo de validación de boletos --- QRParque -->|"index.html"| QREscanear["Generar boleto y escanear QR"]:::accion QREscanear --> QRResultado["Mostrar resultado
(válido / inválido)"]:::accion %% --- Drives: carpeta real en panel-adm/drives/ solo trae --- %% .git/ y .vscode/settings.json — sin index.html/script.js/style.css %% publicados, por eso la tarjeta ya no enlaza a un dashboard real. Drives -.->|"panel-adm/drives/"| DrivesFolder["Sin archivos de app públicos
(solo .git/ y .vscode/settings.json)"]:::pendiente %% --- Servers: carpeta panel-adm/servers/ está vacía en el export --- Servers -.->|"panel-adm/servers/"| ServersFolder["Carpeta vacía
(sin rack.html ni ningún archivo)"]:::pendiente %% --- Bitácora 777: flujo de registro --- %% archivos reales (2026.zip): index.html, api.php, README-DREAMHOST.md, %% data/ (.htaccess + NOSTROMO_Bitacora_2026-09-03.xlsx), images/777.jpg %% No hay css/ ni js/ propios — todo el CSS/JS va inline en index.html; %% SheetJS se carga por CDN (cdnjs), no como archivo local. Bitacora --> Nuevo["Nuevo registro
(formulario modal)"]:::accion Bitacora --> Historial["Buscar / filtrar registros"]:::accion Bitacora --> Exportar["Importar / exportar Excel
(SheetJS vía CDN)"]:::accion Bitacora -.->|"data/"| BitacoraData["NOSTROMO_Bitacora_2026-09-03.xlsx
+ .htaccess"]:::accion classDef main fill:#0a3d2e,stroke:#00ff9d,color:#e8e8ed,stroke-width:2px; classDef panel fill:#0f2a3d,stroke:#7ec8ff,color:#e8e8ed,stroke-width:2px; classDef accion fill:#2a1f3d,stroke:#c792ea,color:#e8e8ed,stroke-width:1.5px; classDef external fill:#2c2c2a,stroke:#888780,color:#e8e8ed,stroke-width:1.5px; classDef pending fill:#3d3320,stroke:#ffcc66,color:#e8e8ed,stroke-width:1.5px; classDef privado fill:#3d2020,stroke:#ff8a8a,color:#e8e8ed,stroke-width:1.5px; classDef pendiente fill:#3d3320,stroke:#ffcc66,color:#e8e8ed,stroke-width:1.5px;