fix(lint): ReportPage.tsx — useMemo dep simulation en lugar de simulation?.result + eslint-disable intencional en useEffect
Some checks failed
/ Deploy to Cloudflare Pages (push) Has been cancelled

This commit is contained in:
2026-06-23 18:47:35 +00:00
parent c93d8e824f
commit db82be4e8c

View File

@@ -40,8 +40,11 @@ export function ReportPage() {
const { lastPersistedExecutedAt, loadLatestForProcess } = useSimulationStore() const { lastPersistedExecutedAt, loadLatestForProcess } = useSimulationStore()
// Cargar executedAt persistido si el usuario llega directo al reporte (sin pasar por workspace) // Cargar executedAt persistido si el usuario llega directo al reporte (sin pasar por workspace)
// Intencional: dep [process?.id] — solo re-ejecutar cuando cambia el proceso, no en cada
// re-render por cambios de nombre/cliente/etc. del objeto process.
useEffect(() => { useEffect(() => {
if (process) loadLatestForProcess(process.id) if (process) loadLatestForProcess(process.id)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [process?.id, loadLatestForProcess]) }, [process?.id, loadLatestForProcess])
// Set de bpmnElementIds marcados como automatizables — debe estar antes de los early returns // Set de bpmnElementIds marcados como automatizables — debe estar antes de los early returns
@@ -70,7 +73,7 @@ export function ReportPage() {
return Object.fromEntries( return Object.fromEntries(
simulation.result.perActivity.map((a) => [a.activityId, a.resourceCostBreakdown]) simulation.result.perActivity.map((a) => [a.activityId, a.resourceCostBreakdown])
) )
}, [simulation?.result]) }, [simulation])
// Estado y refs para el tab "Actual" // Estado y refs para el tab "Actual"
const [selectedIdActual, setSelectedIdActual] = useState<string | null>(null) const [selectedIdActual, setSelectedIdActual] = useState<string | null>(null)