Files
ContainerFlow/tareas/completadas/05-react-flow-layout.md
T
2026-03-22 09:53:08 +00:00

1.1 KiB

05 — React Flow + Auto-Layout + Agrupación

Objetivo

Montar el canvas de React Flow con auto-layout (dagre) y subgraphs por proyecto/compose file.

Tareas

  • src/client/App.tsx:
    • React Flow con Background, Controls, MiniMap
    • Dark theme (bg-slate-950, minimap dark)
    • fitView al cargar
  • src/client/engine/layout.ts:
    • Auto-layout con dagre respetando grupos
    • Nodos dentro de su grupo (parentId)
    • Posicionamiento que no se solape
  • Agrupación automática:
    • detectGrouping(): si hay 1 proyecto → agrupa por compose_file, si hay múltiples → agrupa por project
    • Nodos "group" de React Flow con borde dashed, label, fondo semi-transparente
    • Colores distintos por grupo
  • Edges entre nodos:
    • Usa connections del backend
    • Label con tipo de conexión (postgres, cache, upstream, broker)
    • Estilo: línea sólida gris con label
  • Conectar useDocker hook → actualizar nodos/edges en tiempo real

Criterio de completado

Dashboard muestra todos los containers agrupados por proyecto/compose file, con edges entre ellos, auto-layout limpio, minimap, zoom y pan.