Milton Gonzalez b172a8f087 fix(ui): no desmontar la pantalla en cada recarga en segundo plano
Las 11 pantallas con listado/detalle bloqueaban TODO su render con
"if (loading || !data) return <Cargando/>". Como useAsync pone loading=true en
cada reload (no solo en la carga inicial), cualquier accion dentro de un
DetailPopup abierto que dispara un reload del padre (agregar subtarea, agregar
dependencia, guardar comentario, etc.) desmontaba momentaneamente TODA la
pantalla -y con ella el popup y su estado interno (pestaña activa)-, que volvia
a montarse desde cero con sus valores iniciales.

Sintoma reportado: al agregar una subtarea (Enter o boton "Nuevo"), el popup de
la actividad volvia a la pestaña Info en vez de quedarse en Subtareas.

Fix: la guarda ahora es solo "if (!data)" -bloquea unicamente la carga
inicial, cuando todavia no hay nada que mostrar-. Las recargas subsiguientes
actualizan el contenido en el sitio sin desmontar nada.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-03 11:30:20 -05:00
2026-09-03 08:37:58 -05:00
2026-09-03 08:37:58 -05:00
2026-09-03 08:37:58 -05:00
2026-09-03 08:37:58 -05:00
2026-09-03 08:37:58 -05:00
2026-09-03 08:37:58 -05:00
2026-09-03 08:37:58 -05:00
2026-09-03 08:37:58 -05:00
2026-09-03 08:37:58 -05:00
2026-09-03 08:37:58 -05:00

project.linkedcorp.net

Gestión y seguimiento de proyectos y actividades de TI para una empresa de tamaño medio. MVP simple por diseño (menos campos, menos módulos separados) con el modelo de datos preparado para crecer hacia el resto del alcance funcional (riesgos, incidencias, recursos, proveedores, presupuesto, reportes exportables, etc.) sin romper lo construido.

Stack

  • Frontend: React + Vite
  • Backend: Node.js + Express
  • Base de datos: MariaDB
  • Deploy: Debian 12 (dos servicios separados — arquetipo B del grupo)

Estructura

project.linkedcorp.net/
├── README.md
├── AGENTS.md
├── SPEC.md
├── API.md
├── BASE_DE_DATOS.md
├── CONFIGURACION.md
├── VERSIONADO.md
├── ESTADO.md
├── frontend/
├── backend/
├── docs/
└── scripts/

Modulos principales (MVP)

  • Seguridad (usuarios, roles, auditoría)
  • Organización (departamentos, usuarios)
  • Proyectos, Actividades y Subtareas
  • Dashboard, Calendario, Gantt (solo lectura)
  • Comentarios, adjuntos, notificaciones in-app
  • Configuración (catálogos)

Arranque rapido

Backend

cd backend
npm install
cp .env.example .env   # completar con las credenciales reales
npm run dev

Frontend

cd frontend
npm install
npm run dev

Puertos de este proyecto (registrados en PORTS_INVENTORY.md del grupo): frontend 5196, backend 4019. El frontend escucha en 0.0.0.0 para poder probarlo desde otro equipo/celular en la misma red.

Variables y configuracion

  • Revisar backend/.env.example y CONFIGURACION.md.
  • Base de datos dev: project_linkedcorp en 192.168.222.20 (ya creada).

Documentacion relacionada

  • AGENTS.md — contexto del proyecto para el asistente de IA (leer primero el orquestador del grupo).
  • SPEC.md — alcance funcional.
  • API.md — contrato de la API.
  • BASE_DE_DATOS.md — modelo de datos.
  • CONFIGURACION.md — variables de entorno y setup local.
  • docs/UI-UX-WINDOWS.md — identidad visual del proyecto (Fluent/Windows 11).
  • ESTADO.md — punto de retoma del proyecto (handoff).
S
Description
Gestion y seguimiento de proyectos/actividades TI
Readme 10 MiB
Languages
JavaScript 94.6%
CSS 3.7%
Shell 1.4%
PowerShell 0.2%