summaryrefslogtreecommitdiff
path: root/pkg/ui/views/game_moves.go
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2025-04-17 11:37:51 +0200
committerSanto Cariotti <santo@dcariotti.me>2025-04-17 11:37:51 +0200
commit6df768cc9782c94ae72edd0ec4c3ba3f1c4db632 (patch)
treee801c23f768443dc9d8143d62037d7be3a83d3e0 /pkg/ui/views/game_moves.go
parent942ded6e14630d0ad3674d43d7cc2b1a83276978 (diff)
Use a better UI to show moves
Diffstat (limited to 'pkg/ui/views/game_moves.go')
-rw-r--r--pkg/ui/views/game_moves.go21
1 files changed, 13 insertions, 8 deletions
diff --git a/pkg/ui/views/game_moves.go b/pkg/ui/views/game_moves.go
index ee2c2db..de2ef94 100644
--- a/pkg/ui/views/game_moves.go
+++ b/pkg/ui/views/game_moves.go
@@ -44,14 +44,17 @@ func (m GameModel) handleUpdateMovesListMsg() GameModel {
if m.isMyTurn() && m.game != nil {
var items []list.Item
for _, move := range m.chessGame.ValidMoves() {
- items = append(items, item{title: move.String()})
+ items = append(
+ items,
+ item{title: fmt.Sprintf("%s → %s", move.S1().String(), move.S2().String())},
+ )
}
- m.movesList.SetItems(items)
- m.movesList.Title = "Choose a move"
- m.movesList.Select(0)
- m.movesList.SetShowFilter(true)
- m.movesList.SetFilteringEnabled(true)
- m.movesList.ResetFilter()
+ m.availableMovesList.SetItems(items)
+ m.availableMovesList.Title = "Choose a move"
+ m.availableMovesList.Select(0)
+ m.availableMovesList.SetShowFilter(true)
+ m.availableMovesList.SetFilteringEnabled(true)
+ m.availableMovesList.ResetFilter()
}
return m
}
@@ -60,7 +63,9 @@ func (m GameModel) handleChessMoveMsg(msg ChessMoveMsg) (GameModel, tea.Cmd) {
m.turn++
err := m.chessGame.MoveStr(string(msg))
if err != nil {
- fmt.Println("Error applying move:", err)
+ m.err = err
+ } else {
+ m.err = nil
}
return m, tea.Batch(m.getMoves(), m.updateMovesListCmd())
}