sections/analysis/panelHeader/analyzeButton: auto analyze (#14)
This commit is contained in:
@@ -15,6 +15,7 @@ import { LoadingButton } from "@mui/lab";
|
|||||||
import { useEngine } from "@/hooks/useEngine";
|
import { useEngine } from "@/hooks/useEngine";
|
||||||
import { logAnalyticsEvent } from "@/lib/firebase";
|
import { logAnalyticsEvent } from "@/lib/firebase";
|
||||||
import { SavedEvals } from "@/types/eval";
|
import { SavedEvals } from "@/types/eval";
|
||||||
|
import { useEffect, useCallback } from "react";
|
||||||
|
|
||||||
export default function AnalyzeButton() {
|
export default function AnalyzeButton() {
|
||||||
const engineName = useAtomValue(engineNameAtom);
|
const engineName = useAtomValue(engineNameAtom);
|
||||||
@@ -32,7 +33,7 @@ export default function AnalyzeButton() {
|
|||||||
const readyToAnalyse =
|
const readyToAnalyse =
|
||||||
engine?.getIsReady() && game.history().length > 0 && !evaluationProgress;
|
engine?.getIsReady() && game.history().length > 0 && !evaluationProgress;
|
||||||
|
|
||||||
const handleAnalyze = async () => {
|
const handleAnalyze = useCallback(async () => {
|
||||||
const params = getEvaluateGameParams(game);
|
const params = getEvaluateGameParams(game);
|
||||||
if (
|
if (
|
||||||
!engine?.getIsReady() ||
|
!engine?.getIsReady() ||
|
||||||
@@ -71,7 +72,26 @@ export default function AnalyzeButton() {
|
|||||||
multiPv: engineMultiPv,
|
multiPv: engineMultiPv,
|
||||||
nbPositions: params.fens.length,
|
nbPositions: params.fens.length,
|
||||||
});
|
});
|
||||||
};
|
}, [
|
||||||
|
engine,
|
||||||
|
engineName,
|
||||||
|
game,
|
||||||
|
engineDepth,
|
||||||
|
engineMultiPv,
|
||||||
|
evaluationProgress,
|
||||||
|
setEvaluationProgress,
|
||||||
|
setEval,
|
||||||
|
gameFromUrl,
|
||||||
|
setGameEval,
|
||||||
|
setSavedEvals,
|
||||||
|
]);
|
||||||
|
|
||||||
|
// Automatically analyze when a new game is loaded and ready to analyze
|
||||||
|
useEffect(() => {
|
||||||
|
if (!gameEval && readyToAnalyse) {
|
||||||
|
handleAnalyze();
|
||||||
|
}
|
||||||
|
}, [gameEval, readyToAnalyse, handleAnalyze]);
|
||||||
|
|
||||||
if (evaluationProgress) return null;
|
if (evaluationProgress) return null;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user