react-chessboard-ui 2.4.0 → 2.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2591,8 +2591,15 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
2591
2591
  var linesCheck = JSChessEngine.getLinesWithCheck(updatedCells, currentColor, boardReversed);
2592
2592
  setLinesWithCheck(linesCheck);
2593
2593
  if (fromPos[0] !== -1) {
2594
- var nextMoves = JSChessEngine.getNextMoves(updatedCells, fromPos, linesCheck, boardReversed);
2595
- setPossibleMoves(nextMoves);
2594
+ var figureFromPos = updatedCells[fromPos[1]][fromPos[0]].figure;
2595
+ if (!figureFromPos || figureFromPos.type !== holdedFigure.type || figureFromPos.color !== holdedFigure.color) {
2596
+ clearFromPos();
2597
+ setHoldedFigure(undefined);
2598
+ setPossibleMoves([]);
2599
+ } else {
2600
+ var nextMoves = JSChessEngine.getNextMoves(updatedCells, fromPos, linesCheck, boardReversed);
2601
+ setPossibleMoves(nextMoves);
2602
+ }
2596
2603
  }
2597
2604
  setActualState(updatedCells);
2598
2605
  if (figure.type === 'pawn' && (to[1] === 0 || to[1] === actualState.length - 1)) {