@defining(user flatMap g.player) { fromPlayer =>
@defining(fromPlayer | g.firstPlayer ) { firstPlayer =>
@gameFen(Pov(g, firstPlayer), ownerLink, withTitle = false)
@gamePlayer(g.variant, g.whitePlayer)
@gamePlayer(g.variant, g.blackPlayer)
@if(g.isBeingPlayed) {@trans.playingRightNow()} else {
@if(g.finishedOrAborted) {
@gameEndStatus(g)@g.winner.map { winner =>, @winner.color.fold(trans.whiteIsVictorious(), trans.blackIsVictorious()) }
} else {
@g.turnColor.fold(trans.whitePlays(), trans.blackPlays())
}
}
@if(g.turns > 0) {
@defining(g.pgnMoves take 20) { pgnMoves =>
@if(!g.fromPosition) {
@g.opening.map { opening =>
@opening.opening.ecoName
}
}
@pgnMoves.take(6).grouped(2).zipWithIndex.map {
case (Vector(w, b), i) => {@(i+1). @w @b}
case (Vector(w), i) => {@(i+1). @w}
case _ => {}
}.mkString(" ")@if(g.turns > 6) { ... @{1 + (g.turns - 1) / 2} moves }
}
} else {
}
@if(g.metadata.analysed) { @trans.computerAnalysisAvailable()
}
@g.pgnImport.flatMap(_.user).map { user =>
PGN import by @userIdLink(user.some)
}