perf: defer cut yield recommendations
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m10s

This commit is contained in:
Cauê Faleiros
2026-08-28 12:53:37 -03:00
parent c5edaec7d3
commit 4122e21dc2

View File

@@ -157,6 +157,7 @@ const Cutting = () => {
const [settingsSection, setSettingsSection] = useState<SettingsSection>('rules');
const [cuttingSettings, setCuttingSettings] = useState<CuttingSettings>(loadCuttingSettings);
const [yieldRecommendations, setYieldRecommendations] = useState<ProductionYieldRecommendation[]>([]);
const [hasLoadedYieldRecommendations, setHasLoadedYieldRecommendations] = useState(false);
const [saveStatus, setSaveStatus] = useState<SaveStatus>('idle');
const [hasUnsavedSettings, setHasUnsavedSettings] = useState(false);
const [correctionIssueFilter, setCorrectionIssueFilter] = useState<CorrectionIssueFilter>('all');
@@ -214,14 +215,22 @@ const Cutting = () => {
}, []);
useEffect(() => {
if (!isSettingsOpen || settingsSection !== 'rules' || hasLoadedYieldRecommendations) return;
let isMounted = true;
void fetchProductionOrderImportData().then(data => {
if (isMounted) setYieldRecommendations(data.recommendations);
if (isMounted) {
setYieldRecommendations(data.recommendations);
setHasLoadedYieldRecommendations(true);
}
}).catch(() => {
if (isMounted) setYieldRecommendations([]);
if (isMounted) {
setYieldRecommendations([]);
setHasLoadedYieldRecommendations(true);
}
});
return () => { isMounted = false; };
}, []);
}, [hasLoadedYieldRecommendations, isSettingsOpen, settingsSection]);
useEffect(() => {
let isMounted = true;