+ {t.analysis.modeTitle}
+
+ {t.analysis.modeDescription}
+{t.analysis.title}
+ {openingInfo && ( + + {t.analysis.opening}: {openingInfo.name} ({openingInfo.eco}) + + )} +{t.analysis.currentPosition}
+ ) : ( +{t.analysis.none}
+ )} + {tacticSummary.length > 0 && ( +-
+ {tacticSummary.map((tactic, idx) => (
+
- + {tactic.tactic_type} + {tactic.material_delta ? ` (~${(tactic.material_delta / 100).toFixed(1)} pawns)` : ""} + {tactic.affected_squares ? ` on ${tactic.affected_squares.join(", ")}` : ""} + + ))} +
{t.analysis.aiAnalysis}
+ {!apiKey && ( +Please add an API key in settings to receive commentary.
+ )} + {currentIndex === 0 && ( +{t.analysis.currentPosition}
+ )} + {currentIndex > 0 && ( +{t.analysis.coachPending}
+ )} +