Some checks are pending
CI/CD Pipeline / Backend CI (push) Waiting to run
CI/CD Pipeline / Frontend CI (push) Waiting to run
CI/CD Pipeline / WhatsApp Service CI (push) Waiting to run
CI/CD Pipeline / Mobile CI (push) Waiting to run
CI/CD Pipeline / Docker Build (./apps/backend, ./apps/backend/Dockerfile, backend) (push) Blocked by required conditions
CI/CD Pipeline / Docker Build (./apps/frontend, ./apps/frontend/Dockerfile, frontend) (push) Blocked by required conditions
CI/CD Pipeline / Docker Build (./apps/whatsapp-service, ./apps/whatsapp-service/Dockerfile, whatsapp-service) (push) Blocked by required conditions
CI/CD Pipeline / Deploy to Production (push) Blocked by required conditions
- Move 7 non-standard folders to _archive/ - Archive 3 extra root files - Update _MAP.md with standardized structure Standard: SIMCO-ESTANDAR-ORCHESTRATION v1.0.0 Level: CONSUMER (L2) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.2 KiB
3.2 KiB
SUBAGENTE SA-003: Orders API Integration
Metadata
| Campo | Valor |
|---|---|
| ID | SA-003 |
| Agent ID | aa7d1dd |
| Tipo | general-purpose |
| Perfil | Frontend Developer |
| Tarea | T3.3 |
| Estado | COMPLETADO |
| Commit | c8cf78e |
Prompt Enviado
## TAREA: Conectar Orders.tsx a las APIs reales
**Proyecto:** michangarrito
**Ubicación:** /home/isem/workspace-v2/projects/michangarrito
### CONTEXTO
La página Orders.tsx actualmente usa datos mock. Necesita conectarse a las APIs reales del backend incluyendo flujo de estados de pedido.
### REFERENCIAS A CONSULTAR
1. `frontend/src/pages/Orders.tsx` - Página actual con mock data
2. `frontend/src/lib/api.ts` - APIs ya definidas (ordersApi)
3. `orchestration/inventarios/FRONTEND_INVENTORY.yml` - Estado actual de la página
### APIs DISPONIBLES
- `ordersApi.getAll(params)` - Listar pedidos con filtros
- `ordersApi.getById(id)` - Obtener pedido por ID
- `ordersApi.create(data)` - Crear pedido
- `ordersApi.updateStatus(id, status)` - Cambiar estado del pedido
- `ordersApi.cancel(id)` - Cancelar pedido
### ESTADOS DE PEDIDO
- pending → preparing → ready → delivered
- pending → cancelled (en cualquier momento antes de delivered)
### INSTRUCCIONES
1. Leer el archivo Orders.tsx actual
2. Identificar los datos mock a reemplazar
3. Implementar useQuery para listado con filtros
4. Implementar useMutation para cambios de estado
5. Agregar indicadores visuales por estado
6. Agregar estados de loading y error
7. Mantener la estructura visual existente
8. Hacer commit con mensaje: `[MCH-FE] feat: Connect Orders to real API`
9. Push al remote
### VALIDACIONES
- Build debe pasar: `npm run build`
- No errores de TypeScript
Contexto Adicional Proporcionado
- Acceso al archivo Orders.tsx vía Read tool
- Acceso a api.ts para ver el patrón de APIs
- Definición de estados de pedido y transiciones permitidas
Resultado
Archivos Modificados
| Archivo | Cambios |
|---|---|
frontend/src/pages/Orders.tsx |
+useQuery, +useMutation, -mock data, +status flow, +loading/error states |
Cambios Implementados
-
Imports agregados:
useQuery,useMutation,useQueryClientde@tanstack/react-queryordersApide../lib/api
-
Interfaces TypeScript:
OrderOrderItemOrderStatusOrderFilters
-
React Query hooks:
const { data: orders, isLoading, error } = useQuery({ queryKey: ['orders', filters], queryFn: () => ordersApi.getAll(filters) }); const statusMutation = useMutation({ mutationFn: ({ id, status }) => ordersApi.updateStatus(id, status), onSuccess: () => queryClient.invalidateQueries(['orders']) }); -
Funcionalidades:
- Listado con filtros por estado y fecha
- Transición de estados con botones contextuales
- Indicadores de color por estado
- Cancelación de pedidos
Lecciones del Subagente
Que funcionó bien
- La máquina de estados estaba bien definida
- Los indicadores visuales siguieron patrones existentes
- El flujo de transiciones fue claro
Mejoras sugeridas
- Incluir notificaciones toast al cambiar estado
- Agregar confirmación para cancelación