diff --git a/assets/js/components/move-list.js b/assets/js/components/move-list.js
index 0f11cb0..25a16e3 100644
--- a/assets/js/components/move-list.js
+++ b/assets/js/components/move-list.js
@@ -18,10 +18,14 @@ const pieceToNotation = (piece) => {
const renderMove = (move) => {
if (move != undefined) {
return (
-
{pieceToNotation(move.piece)}{move.to} |
- )
+
+ {pieceToNotation(move.piece)}
+ {move.piece_captured ? "x" : ""}
+ {move.to}
+ |
+ );
}
-}
+};
const renderMoves = (moves) => {
return _.map(moves, (move) => {
diff --git a/lib/chess/store/move.ex b/lib/chess/store/move.ex
index d9fac62..d6069d3 100644
--- a/lib/chess/store/move.ex
+++ b/lib/chess/store/move.ex
@@ -31,6 +31,7 @@ defmodule Chess.Store.Move do
%{
id: move.id,
piece: move.piece,
+ piece_captured: move.piece_captured,
from: <<97 + move.from["file"], 49 + move.from["rank"]>>,
to: <<97 + move.to["file"], 49 + move.to["rank"]>>,
}
diff --git a/test/chess/move_list_test.exs b/test/chess/move_list_test.exs
index 9f19584..9b7e2a8 100644
--- a/test/chess/move_list_test.exs
+++ b/test/chess/move_list_test.exs
@@ -31,12 +31,14 @@ defmodule Chess.MoveListTest do
%{
id: nil,
piece: %{"type" => "pawn", "colour" => "white"},
+ piece_captured: nil,
from: "e2",
to: "e4"
},
%{
id: nil,
piece: %{"type" => "pawn", "colour" => "black"},
+ piece_captured: nil,
from: "e7",
to: "e5"
}
@@ -45,6 +47,7 @@ defmodule Chess.MoveListTest do
%{
id: nil,
piece: %{"type" => "knight", "colour" => "white"},
+ piece_captured: nil,
from: "b1",
to: "c3"
}
diff --git a/test/chess/store/move_test.exs b/test/chess/store/move_test.exs
index c0aba46..3295034 100644
--- a/test/chess/store/move_test.exs
+++ b/test/chess/store/move_test.exs
@@ -82,6 +82,7 @@ defmodule Chess.Store.MoveTest do
test "translates a move" do
move = %Move{
piece: %{"type" => "pawn", "colour" => "white"},
+ piece_captured: %{"type" => "pawn", "colour" => "black"},
from: %{"file" => 4, "rank" => 1},
to: %{"file" => 4, "rank" => 3},
}
@@ -89,6 +90,7 @@ defmodule Chess.Store.MoveTest do
assert Move.transform(move) == %{
id: nil,
piece: %{"type" => "pawn", "colour" => "white"},
+ piece_captured: %{"type" => "pawn", "colour" => "black"},
from: "e2",
to: "e4"
}