import React from "react"; import _ from "lodash"; import { connect } from "react-redux"; import classNames from "classnames"; const pieceToNotation = (piece) => { const pieces = { pawn: "", knight: "N", bishop: "B", rook: "R", queen: "Q", king: "K", }; return pieces[piece.type]; }; const moveClass = (move) => { return classNames("move-list__move", "move-list__move--" + move.piece.colour); } const renderMove = (move) => { if (move != undefined) { return ( {pieceToNotation(move.piece)} {move.piece_captured ? "x" : ""} {move.to} ); } }; const renderMoves = (moves) => { let lineNumber = 1; return _.map(moves, (move) => { return ( {lineNumber++}. {renderMove(move[0])} {renderMove(move[1])} ); }); }; const MoveList = (props) => { return (
{renderMoves(props.moves)}
Moves
Move no. White Black
); }; const mapStateToProps = (state) => { return { moves: state.moves, }; }; export default connect(mapStateToProps)(MoveList);