@(u: User, playing: Option[Pov], blocked: Boolean, followable: Boolean, rel: Option[lila.relation.Relation], ping: Option[Int], crosstable: Option[lila.game.Crosstable])(implicit ctx: Context)
@ping.map { p => @signalBars(p) } @u.profileOrDefault.countryInfo.map { c => @defining(u.username.size + c.shortName.size < 20) { spaceForNameText => @c.name @if(spaceForNameText) { @c.shortName } } } @userLink(u, withPowerTip = false)
@if(u.engine && ctx.me.fold(true)(u !=) && !isGranted(_.UserSpy)) {
@trans.thisPlayerUsesChessComputerAssistance()
} else {
@u.best8Perfs.map { pt => @showPerfRating(u, pt) }
}
@if(!ctx.pref.isBlindfold) { @playing.map { pov => @gameFen(pov)
@playerText(pov.opponent, withRating = true) @pov.game.clock.map { c => • @c.config.show }
} } @ctx.userId.map { myId => @crosstable.filter(_.nonEmpty).map { cross => @trans.yourScore { @cross.showScore(myId) - @cross.showOpponentScore(myId) } } @if(myId != u.id && u.enabled) { @if(!blocked) { }
@relation.mini(u.id, blocked, followable, rel)
} } @if(isGranted(_.UserSpy)) {
@if(u.lameOrTroll || u.disabled) { @userMarks(u, None) }

@trans.nbGames.plural(u.count.game, u.count.game.localize), @momentFromNow(u.createdAt)

}