react-chessboard-ui 1.4.3 → 1.4.5

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.
@@ -37,7 +37,9 @@ export declare const useChessBoardInteractive: (props: UseChessBoardInteractiveP
37
37
  selectClickFrom: (cellPos: CellPos) => void;
38
38
  selectHoverFrom: (cellPos: CellPos) => void;
39
39
  setInitialState: import("react").Dispatch<import("react").SetStateAction<Cell[][]>>;
40
+ setBoardReversed: import("react").Dispatch<import("react").SetStateAction<boolean>>;
40
41
  startRenderArrow: (pos: CellPos) => void;
42
+ cleanAllForFigure: () => void;
41
43
  reverseChessBoard: () => void;
42
44
  handleGrabbingCell: (cellPos: CellPos) => void;
43
45
  moveFigureByChange: (change: ChangeMove) => void;
@@ -1,4 +1,4 @@
1
- import type { FigureColor, Cell } from './JSChessEngine';
1
+ import { FigureColor, Cell } from './JSChessEngine';
2
2
  /**
3
3
  * Вовзвращет позицию клетки по состоянию fen
4
4
  * @param positionFEN позиция из FEN вида e4
@@ -24,7 +24,7 @@ export declare const partFENtoState: (notation: string) => Cell[][];
24
24
  * rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
25
25
  * @param notation Описание текущего состояния от Stockfish https://hxim.github.io/Stockfish-Evaluation-Guide/
26
26
  */
27
- export declare const FENtoGameState: (FEN: string) => {
27
+ export declare const FENtoGameState: (FEN: string, reversed?: boolean) => {
28
28
  boardState: Cell[][];
29
29
  currentColor: FigureColor;
30
30
  };
package/dist/index.js CHANGED
@@ -1549,7 +1549,7 @@ var partFENtoState = function partFENtoState(notation) {
1549
1549
  return row.length > 0;
1550
1550
  });
1551
1551
  };
1552
- var FENtoGameState = function FENtoGameState(FEN) {
1552
+ var FENtoGameState = function FENtoGameState(FEN, reversed) {
1553
1553
  var gameState = {
1554
1554
  boardState: [],
1555
1555
  currentColor: 'white'
@@ -1578,6 +1578,10 @@ var FENtoGameState = function FENtoGameState(FEN) {
1578
1578
  beated: true
1579
1579
  });
1580
1580
  }
1581
+ if (reversed) return {
1582
+ boardState: JSChessEngine.reverseChessBoard(gameState.boardState),
1583
+ currentColor: gameState.currentColor
1584
+ };
1581
1585
  return gameState;
1582
1586
  };
1583
1587
  var getBeatedCellFENfromState = function getBeatedCellFENfromState(state) {
@@ -2427,7 +2431,8 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
2427
2431
  return {};
2428
2432
  }
2429
2433
  var colorFEN = currentColor === 'white' ? 'black' : 'white';
2430
- var FEN = stateToFEN(updatedCells, colorFEN);
2434
+ var reversedUpdatedCells = boardReversed ? JSChessEngine.reverseChessBoard(updatedCells) : updatedCells;
2435
+ var FEN = stateToFEN(reversedUpdatedCells, colorFEN);
2431
2436
  var moveData = {
2432
2437
  figure: figure,
2433
2438
  from: from,
@@ -2482,7 +2487,8 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
2482
2487
  return {};
2483
2488
  }
2484
2489
  var colorFEN = currentColor === 'white' ? 'black' : 'white';
2485
- var FEN = stateToFEN(updatedCells, colorFEN);
2490
+ var reversedUpdatedCells = boardReversed ? JSChessEngine.reverseChessBoard(updatedCells) : updatedCells;
2491
+ var FEN = stateToFEN(reversedUpdatedCells, colorFEN);
2486
2492
  var moveData = {
2487
2493
  figure: figure,
2488
2494
  from: from,
@@ -2730,7 +2736,9 @@ var useChessBoardInteractive = function useChessBoardInteractive(props) {
2730
2736
  selectClickFrom: selectClickFrom,
2731
2737
  selectHoverFrom: selectHoverFrom,
2732
2738
  setInitialState: setInitialState,
2739
+ setBoardReversed: setBoardReversed,
2733
2740
  startRenderArrow: startRenderArrow,
2741
+ cleanAllForFigure: cleanAllForFigure,
2734
2742
  reverseChessBoard: reverseChessBoard,
2735
2743
  handleGrabbingCell: handleGrabbingCell,
2736
2744
  moveFigureByChange: moveFigureByChange,
@@ -2923,30 +2931,29 @@ var ChessBoard = function ChessBoard(props) {
2923
2931
  setCurrentColor = _useChessBoardInterac.setCurrentColor,
2924
2932
  selectHoverFrom = _useChessBoardInterac.selectHoverFrom,
2925
2933
  setInitialState = _useChessBoardInterac.setInitialState,
2934
+ setBoardReversed = _useChessBoardInterac.setBoardReversed,
2926
2935
  startRenderArrow = _useChessBoardInterac.startRenderArrow,
2927
- reverseChessBoard = _useChessBoardInterac.reverseChessBoard,
2936
+ cleanAllForFigure = _useChessBoardInterac.cleanAllForFigure,
2928
2937
  handleGrabbingCell = _useChessBoardInterac.handleGrabbingCell,
2929
2938
  getHasCheckByCellPos = _useChessBoardInterac.getHasCheckByCellPos,
2930
2939
  handleSelectFigurePicker = _useChessBoardInterac.handleSelectFigurePicker,
2931
2940
  handleChangeFromExternal = _useChessBoardInterac.handleChangeFromExternal;
2932
- var handleUpdateFEN = function handleUpdateFEN(FEN) {
2933
- var _FENtoGameState = FENtoGameState(FEN),
2941
+ var handleUpdateFEN = function handleUpdateFEN(FEN, reversed) {
2942
+ var _FENtoGameState = FENtoGameState(FEN, reversed),
2934
2943
  boardState = _FENtoGameState.boardState,
2935
2944
  currentColor = _FENtoGameState.currentColor;
2945
+ cleanAllForFigure();
2936
2946
  setInitialState(boardState);
2937
2947
  setActualState(boardState);
2938
2948
  setCurrentColor(currentColor);
2949
+ setBoardReversed(reversed);
2939
2950
  };
2940
2951
  React.useEffect(function () {
2941
2952
  setPlayerColor(playerColor);
2942
2953
  }, [playerColor]);
2943
2954
  React.useEffect(function () {
2944
- handleUpdateFEN(FEN);
2945
- if (reversed) reverseChessBoard();
2955
+ handleUpdateFEN(FEN, reversed);
2946
2956
  }, [FEN, reversed]);
2947
- React.useEffect(function () {
2948
- if (reversed) reverseChessBoard();
2949
- }, [reversed]);
2950
2957
  React.useEffect(function () {
2951
2958
  if (!change) return;
2952
2959
  var reversedChange = reversed ? JSChessEngine.reverseMove(change.move) : change.move;
@@ -2959,7 +2966,6 @@ var ChessBoard = function ChessBoard(props) {
2959
2966
  }), React__default.createElement(ChessBoardFiguresLayout, {
2960
2967
  initialState: initialState,
2961
2968
  change: newMove,
2962
- reversed: reversed,
2963
2969
  boardConfig: boardConfig,
2964
2970
  animated: animated
2965
2971
  }), React__default.createElement(ChessBoardInteractiveLayout, {