Commit Graph

5 Commits

Author SHA1 Message Date
Adrian Flores Cortes
b93f4c5797 [CONST-D-001] feat: Integrate API frontend with backend
## New Files
- .env.example: Environment variables template
- .env: Local development config (API URL: localhost:3021)
- src/services/auth/auth.api.ts: Authentication API service
- src/hooks/useAuth.ts: React Query hooks for auth
- src/pages/auth/LoginPage.tsx: Functional login page

## Modified Files
- src/App.tsx: Use LoginPage instead of placeholder
- src/hooks/index.ts: Export useAuth hook

## Features
- Login with email/password
- JWT token management
- Automatic token refresh
- Error handling with toast notifications
- Zustand + React Query integration

Build: PASSED

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 04:25:10 -06:00
Adrian Flores Cortes
e3b33f9caf feat(obras): Add Control de Obra module - Avances and Bitacora
Sprint 1 - S1-T03: Pagina de Catalogo de Obras

New features:
- Avances de Obra page: work progress tracking with workflow
  (pending -> captured -> reviewed -> approved/rejected)
- Bitacora de Obra page: daily work log with timeline view
- Progress API services (avances-obra.api.ts, bitacora-obra.api.ts)
- React Query hooks (useProgress.ts) with 18 hooks total
- Navigation section "Control de Obra" in sidebar

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 23:02:54 -06:00
Adrian Flores Cortes
dac9ae6f19 feat(frontend): Agregar hooks React Query para módulo HSE
Implementación completa de 16 hooks personalizados de React Query para
gestión del módulo HSE (Health, Safety & Environment):

**Incidentes (7 hooks):**
- useIncidentes, useIncidente, useIncidenteStats
- useCreateIncidente, useUpdateIncidente
- useInvestigateIncidente, useCloseIncidente

**Capacitaciones (6 hooks):**
- useCapacitaciones, useCapacitacion
- useCreateCapacitacion, useUpdateCapacitacion
- useToggleCapacitacion, useDeleteCapacitacion

**Inspecciones (7 hooks):**
- useTiposInspeccion (con staleTime 30min)
- useInspecciones, useInspeccion, useInspeccionesStats
- useCreateInspeccion, useUpdateEstadoInspeccion
- useAddHallazgo

**Características:**
- Query Keys jerárquicos type-safe
- Manejo centralizado de errores con toast
- Invalidación inteligente de queries relacionadas
- Patrón consistente con useConstruccion.ts
- TypeScript completamente tipado
- 291 líneas de código

**Validaciones:**
✓ npm run type-check (sin errores)
✓ npm run lint (sin warnings)

Archivos:
- web/src/hooks/useHSE.ts (nuevo, 291 líneas)
- web/src/hooks/index.ts (export agregado)

Relacionado: MAA-017 (Módulo HSE Backend)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 21:25:18 -06:00
Adrian Flores Cortes
e4cfe62b1b feat(FASE-5A): Frontend modules Dashboard, Presupuestos, Bidding
New modules implemented:
- Dashboard: EVM visualization, Curva S, KPIs, alerts
- Presupuestos: Conceptos tree, presupuestos list, estimaciones workflow
- Bidding: Opportunities, tenders, proposals, vendors pages

Files created:
- services/reports/ - Reports API service (6 types, 8 methods)
- services/presupuestos/ - Budget/estimates API (presupuestos.api, estimaciones.api)
- services/bidding/ - Bidding API (opportunities, tenders, proposals, vendors)
- hooks/useReports.ts - 8 query hooks, 2 mutation hooks
- hooks/usePresupuestos.ts - 27 hooks for conceptos, presupuestos, estimaciones
- hooks/useBidding.ts - 24 hooks for bidding module
- pages/admin/dashboard/ - DashboardPage with EVM metrics
- pages/admin/presupuestos/ - 3 pages (Conceptos, Presupuestos, Estimaciones)
- pages/admin/bidding/ - 4 pages (Opportunities, Tenders, Proposals, Vendors)

Updated:
- App.tsx: Added routes for new modules
- AdminLayout.tsx: Collapsible sidebar with 4 sections
- hooks/index.ts: Export new hooks

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 07:21:28 -06:00
Adrian Flores Cortes
f3d91433fe [MAI-002] feat: Implement frontend Proyectos module
- API services: 5 files (fraccionamientos, etapas, manzanas, lotes, prototipos)
- React Query hooks: useConstruccion.ts with 25+ hooks
- Pages: 6 pages for CRUD operations
  - FraccionamientosPage, FraccionamientoDetailPage
  - EtapasPage, ManzanasPage, LotesPage, PrototiposPage
- Components: LoteStatusBadge, HierarchyBreadcrumb
- AdminLayout with sidebar navigation
- Auth store with Zustand + persist
- React Query provider + react-hot-toast setup

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 10:04:54 -06:00