feat: add glowing effect to active player's pieces
All checks were successful
Deploy c4 / deploy (push) Successful in 42s
All checks were successful
Deploy c4 / deploy (push) Successful in 42s
Pulsing box-shadow on the current turn's placed pieces makes the turn state visible directly on the board rather than only in the status banner.
This commit is contained in:
13
ui/board.go
13
ui/board.go
@@ -11,12 +11,18 @@ type ColumnClickFn func(col int) h.H
|
||||
func BoardComponent(g *game.Game, columnClick ColumnClickFn, myColor int) h.H {
|
||||
var cols []h.H
|
||||
|
||||
activeTurn := 0
|
||||
if g.Status == game.StatusInProgress {
|
||||
activeTurn = g.CurrentTurn
|
||||
}
|
||||
|
||||
for col := 0; col < 7; col++ {
|
||||
var cells []h.H
|
||||
for row := 0; row < 6; row++ {
|
||||
cellColor := g.Board[row][col]
|
||||
isWinning := g.IsWinningCell(row, col)
|
||||
cells = append(cells, Cell(cellColor, isWinning))
|
||||
isActiveTurn := cellColor != 0 && cellColor == activeTurn
|
||||
cells = append(cells, Cell(cellColor, isWinning, isActiveTurn))
|
||||
}
|
||||
|
||||
// Column is clickable only if it's player's turn and game is in progress
|
||||
@@ -45,7 +51,7 @@ func Column(colIdx int, cells []h.H, columnClick ColumnClickFn, canClick bool) h
|
||||
return h.Div(attrs...)
|
||||
}
|
||||
|
||||
func Cell(color int, isWinning bool) h.H {
|
||||
func Cell(color int, isWinning, isActiveTurn bool) h.H {
|
||||
class := "cell"
|
||||
switch color {
|
||||
case 1:
|
||||
@@ -56,5 +62,8 @@ func Cell(color int, isWinning bool) h.H {
|
||||
if isWinning {
|
||||
class += " winning"
|
||||
}
|
||||
if isActiveTurn {
|
||||
class += " active-turn"
|
||||
}
|
||||
return h.Div(h.Class(class))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user