From af2ea1c39e75e9e406f742bf0f4b49a8cbb5a124 Mon Sep 17 00:00:00 2001 From: Stefan Date: Thu, 27 Nov 2025 09:52:36 +0100 Subject: [PATCH] fix: Resolve build errors after merging feature branches - Fix TypeScript errors in analysis page with non-null assertions - Fix Chessboard component API usage to use options prop - Fix Analyze Game button placement to be always visible --- src/app/analysis/page.tsx | 21 +++++++++++++-------- src/components/StartScreen.tsx | 27 ++++++++++++++------------- 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/src/app/analysis/page.tsx b/src/app/analysis/page.tsx index eee3ecf..b3a5379 100644 --- a/src/app/analysis/page.tsx +++ b/src/app/analysis/page.tsx @@ -212,9 +212,9 @@ export default function AnalysisPage() { try { const model = getGenAIModel(apiKey, "gemini-2.5-flash"); const delta = details.cpLoss ?? 0; - const evalBefore = details.evalBefore.score / 100; - const evalAfter = details.evalAfter.score / 100; - const mateInfo = details.evalAfter.mate !== null ? `Mate in ${details.evalAfter.mate}` : "No mate detected"; + const evalBefore = details.evalBefore!.score / 100; + const evalAfter = details.evalAfter!.score / 100; + const mateInfo = details.evalAfter!.mate !== null ? `Mate in ${details.evalAfter!.mate}` : "No mate detected"; const tactics = (details.missedTactics || []) .filter(t => t.tactic_type !== "none") .map(t => `${t.tactic_type}${t.material_delta ? ` (~${(t.material_delta / 100).toFixed(1)} pawns)` : ""}`) @@ -231,7 +231,7 @@ DATA: - Move played (SAN): ${step.san} - Evaluation before move: ${evalBefore.toFixed(2)} pawns - Evaluation after move: ${evalAfter.toFixed(2)} pawns -- Best move suggestion: ${details.bestMoveSan ?? details.evalBefore.bestMove} +- Best move suggestion: ${details.bestMoveSan ?? details.evalBefore!.bestMove} - Evaluation shift (centipawns): ${delta} - Opening context: ${openingInfo ? `${openingInfo.name} (${openingInfo.eco})` : "Unknown"} - Missed tactics: ${tactics} @@ -342,10 +342,15 @@ INSTRUCTIONS:
- -
-

- {t.start.analyzeGame} -

- -
)} + + {/* Analysis Mode - Always Visible */} +
+

+ {t.start.analyzeGame} +

+ +