diff --git a/src/pages/Datastage.jsx b/src/pages/Datastage.jsx
index 2872c15..dfba561 100644
--- a/src/pages/Datastage.jsx
+++ b/src/pages/Datastage.jsx
@@ -39,7 +39,7 @@ function RegistrosCargadosModal({ open, onClose, registros }) {
- {Object.entries(registros).map(([registro, cantidad]) => (
+ {(registros && typeof registros === 'object' ? Object.entries(registros) : []).map(([registro, cantidad]) => (
| {registro} |
{cantidad} |
@@ -77,7 +77,12 @@ async function procesarDatastage(item, setDatastages, setSuccess, setError, setR
if (res.status === 200) {
// PATCH para marcar como procesado en backend
await patchProcesadoTrue(item);
- setDatastages(prev => prev.map(d => d.id === item.id ? { ...d, procesado: true } : d));
+ setDatastages(prev => ({
+ ...prev,
+ results: Array.isArray(prev.results)
+ ? prev.results.map(d => d.id === item.id ? { ...d, procesado: true } : d)
+ : []
+ }));
// Mostrar el mensaje con task_id y detail si existen
if (data && data.task_id && data.detail) {
setSuccess(`Procesamiento iniciado.\nTask ID: ${data.task_id}\n${data.detail}`);
@@ -481,7 +486,7 @@ export default function Datastage() {
{datastages.results.length === 0 ? (
No hay datastages disponibles
) : (
- datastages.results.map(item => (
+ (Array.isArray(datastages.results) ? datastages.results : []).map(item => (