import { LineEval } from "@/types/eval"; import { ListItem, Skeleton, Typography } from "@mui/material"; import { useAtomValue } from "jotai"; import { boardAtom } from "./states"; import { moveLineUciToSan } from "@/lib/chess"; interface Props { line: LineEval; } export default function LineEvaluation({ line }: Props) { const board = useAtomValue(boardAtom); const lineLabel = line.cp !== undefined ? `${line.cp / 100}` : line.mate ? `Mate in ${Math.abs(line.mate)}` : "?"; const showSkeleton = line.depth < 6; return ( {showSkeleton ? ( placeholder ) : ( lineLabel )} {showSkeleton ? ( ) : ( line.pv.slice(0, 10).map(moveLineUciToSan(board.fen())).join(", ") )} ); }