diff --git a/frontend/src/pages/Configuracion/CatalogEditor.jsx b/frontend/src/pages/Configuracion/CatalogEditor.jsx
index 839c44e..e9ab6a1 100644
--- a/frontend/src/pages/Configuracion/CatalogEditor.jsx
+++ b/frontend/src/pages/Configuracion/CatalogEditor.jsx
@@ -22,7 +22,7 @@ function emptyForm(fields) {
export function CatalogEditor({ catalogKey, fields, title }) {
const { t, openDialog, pushToast } = useUi();
const runAction = useAction();
- const { data: items, loading, reload } = useAsync(() => listCatalog(catalogKey), [catalogKey]);
+ const { data: items, reload } = useAsync(() => listCatalog(catalogKey), [catalogKey]);
const [editing, setEditing] = useState(false);
const [selected, setSelected] = useState(null);
const [form, setForm] = useState(emptyForm(fields));
@@ -75,7 +75,7 @@ export function CatalogEditor({ catalogKey, fields, title }) {
: undefined,
}));
- if (loading || !items) return
diff --git a/frontend/src/pages/Dashboard/DashboardPage.jsx b/frontend/src/pages/Dashboard/DashboardPage.jsx
index 06263c6..3804e6e 100644
--- a/frontend/src/pages/Dashboard/DashboardPage.jsx
+++ b/frontend/src/pages/Dashboard/DashboardPage.jsx
@@ -8,9 +8,9 @@ import { ProgressBar, DueBadge } from '../../components/StatusBadge.jsx';
export default function DashboardPage() {
const { t } = useUi();
const navigate = useNavigate();
- const { data, loading } = useAsync(getSummary, []);
+ const { data } = useAsync(getSummary, []);
- if (loading || !data) return
{t('common_loading')}
;
+ if (!data) return
{t('common_loading')}
;
const { kpis, myActivities, projectsByStatus } = data;
return (
diff --git a/frontend/src/pages/Organizacion/DepartmentsPanel.jsx b/frontend/src/pages/Organizacion/DepartmentsPanel.jsx
index ce14d70..10b7ca0 100644
--- a/frontend/src/pages/Organizacion/DepartmentsPanel.jsx
+++ b/frontend/src/pages/Organizacion/DepartmentsPanel.jsx
@@ -20,7 +20,7 @@ function flatten(nodes, acc = []) {
export default function DepartmentsPanel() {
const { t, openDialog, pushToast } = useUi();
const runAction = useAction();
- const { data: tree, loading, reload } = useAsync(listDepartments, []);
+ const { data: tree, reload } = useAsync(listDepartments, []);
const [selected, setSelected] = useState(null);
const [editing, setEditing] = useState(false);
const [form, setForm] = useState({ name: '', parentId: '' });
@@ -71,7 +71,7 @@ export default function DepartmentsPanel() {
});
}
- if (loading || !tree) return
{t('common_loading')}
;
+ if (!tree) return
{t('common_loading')}
;
return (
diff --git a/frontend/src/pages/Organizacion/UsersPanel.jsx b/frontend/src/pages/Organizacion/UsersPanel.jsx
index fe2ea3a..e656771 100644
--- a/frontend/src/pages/Organizacion/UsersPanel.jsx
+++ b/frontend/src/pages/Organizacion/UsersPanel.jsx
@@ -22,7 +22,7 @@ const EMPTY_FORM = { name: '', email: '', roleId: '', departmentId: '', position
export default function UsersPanel() {
const { t, pushToast } = useUi();
const runAction = useAction();
- const { data: users, loading, reload } = useAsync(listUsers, []);
+ const { data: users, reload } = useAsync(listUsers, []);
const { data: roles } = useAsync(listRoles, []);
const { data: deptTree } = useAsync(listDepartments, []);
@@ -78,7 +78,7 @@ export default function UsersPanel() {
) },
];
- if (loading || !users) return
{t('common_loading')}
;
+ if (!users) return
{t('common_loading')}
;
return (
diff --git a/frontend/src/pages/Proyectos/ProjectActivitiesTab.jsx b/frontend/src/pages/Proyectos/ProjectActivitiesTab.jsx
index c7b9aae..a0fd4d1 100644
--- a/frontend/src/pages/Proyectos/ProjectActivitiesTab.jsx
+++ b/frontend/src/pages/Proyectos/ProjectActivitiesTab.jsx
@@ -20,7 +20,7 @@ const EMPTY_FORM = { name: '', description: '', responsibleUserId: '', priorityI
export default function ProjectActivitiesTab({ projectId }) {
const { t, pushToast } = useUi();
const runAction = useAction();
- const { data: activities, loading, reload } = useAsync(() => listActivitiesByProject(projectId), [projectId]);
+ const { data: activities, reload } = useAsync(() => listActivitiesByProject(projectId), [projectId]);
const { data: priorities } = useAsync(() => listCatalog('priorities'), []);
const { data: statuses } = useAsync(() => listCatalog('activity-statuses'), []);
const { data: users } = useAsync(listUsers, []);
@@ -70,7 +70,7 @@ export default function ProjectActivitiesTab({ projectId }) {
{ key: 'progress_pct', label: t('activity_progress'), render: (r) =>
},
];
- if (loading || !activities) return
{t('common_loading')}
;
+ if (!activities) return
{t('common_loading')}
;
return (
diff --git a/frontend/src/pages/Proyectos/ProjectCalendarTab.jsx b/frontend/src/pages/Proyectos/ProjectCalendarTab.jsx
index 40255e4..28bff0e 100644
--- a/frontend/src/pages/Proyectos/ProjectCalendarTab.jsx
+++ b/frontend/src/pages/Proyectos/ProjectCalendarTab.jsx
@@ -20,7 +20,7 @@ function buildGrid(year, month) {
export default function ProjectCalendarTab({ projectId }) {
const { t } = useUi();
- const { data: activities, loading } = useAsync(() => listActivitiesByProject(projectId), [projectId]);
+ const { data: activities } = useAsync(() => listActivitiesByProject(projectId), [projectId]);
const [cursor, setCursor] = useState(() => { const n = new Date(); return new Date(n.getFullYear(), n.getMonth(), 1); });
const cells = useMemo(() => buildGrid(cursor.getFullYear(), cursor.getMonth()), [cursor]);
@@ -35,7 +35,7 @@ export default function ProjectCalendarTab({ projectId }) {
return map;
}, [activities]);
- if (loading || !activities) return
{t('common_loading')}
;
+ if (!activities) return
{t('common_loading')}
;
return (
diff --git a/frontend/src/pages/Proyectos/ProjectGanttTab.jsx b/frontend/src/pages/Proyectos/ProjectGanttTab.jsx
index dde8f4c..62aecf5 100644
--- a/frontend/src/pages/Proyectos/ProjectGanttTab.jsx
+++ b/frontend/src/pages/Proyectos/ProjectGanttTab.jsx
@@ -4,9 +4,9 @@ import { getGantt } from '../../services/projects.js';
export default function ProjectGanttTab({ projectId }) {
const { t } = useUi();
- const { data: items, loading } = useAsync(() => getGantt(projectId), [projectId]);
+ const { data: items } = useAsync(() => getGantt(projectId), [projectId]);
- if (loading || !items) return
{t('common_loading')}
;
+ if (!items) return
{t('common_loading')}
;
const withDates = items.filter((i) => i.startDate && i.dueDate);
if (withDates.length === 0) return
{t('common_empty')}
;
diff --git a/frontend/src/pages/Proyectos/ProyectoDetallePage.jsx b/frontend/src/pages/Proyectos/ProyectoDetallePage.jsx
index 953fa64..12c781f 100644
--- a/frontend/src/pages/Proyectos/ProyectoDetallePage.jsx
+++ b/frontend/src/pages/Proyectos/ProyectoDetallePage.jsx
@@ -21,9 +21,9 @@ export default function ProyectoDetallePage() {
const navigate = useNavigate();
const [tab, setTab] = useState('info');
- const { data: project, loading, reload } = useAsync(() => getProject(projectId), [projectId]);
+ const { data: project, reload } = useAsync(() => getProject(projectId), [projectId]);
- if (loading || !project) return
{t('common_loading')}
;
+ if (!project) return
{t('common_loading')}
;
return (
diff --git a/frontend/src/pages/Proyectos/ProyectosPage.jsx b/frontend/src/pages/Proyectos/ProyectosPage.jsx
index f2e7e1a..9db61eb 100644
--- a/frontend/src/pages/Proyectos/ProyectosPage.jsx
+++ b/frontend/src/pages/Proyectos/ProyectosPage.jsx
@@ -32,7 +32,7 @@ export default function ProyectosPage() {
const navigate = useNavigate();
const runAction = useAction();
- const { data: projects, loading, reload } = useAsync(listProjects, []);
+ const { data: projects, reload } = useAsync(listProjects, []);
const { data: priorities } = useAsync(() => listCatalog('priorities'), []);
const { data: statuses } = useAsync(() => listCatalog('project-statuses'), []);
const { data: types } = useAsync(() => listCatalog('project-types'), []);
@@ -75,7 +75,7 @@ export default function ProyectosPage() {
{ key: 'risk_level', label: t('project_risk'), render: (r) =>
{t(`risk_${r.risk_level}`)} },
];
- if (loading || !projects) return
{t('common_loading')}
;
+ if (!projects) return
{t('common_loading')}
;
return (