show perf icon in game widget

pull/119/head
Thibault Duplessis 2014-08-01 00:45:20 +02:00
parent dd16822e00
commit e77b2ee93d
4 changed files with 29 additions and 19 deletions

View File

@ -7,25 +7,25 @@
@gameFen(g, firstPlayer.color, ownerLink)
<div class="infos">
@bookmark.toggle(g)
@if(g.isBeingPlayed) {
<a class="link" href="@routes.Round.watcher(g.id, firstPlayer.color.name)" data-icon="v"> @trans.playingRightNow()</a>,
} else {
@momentFormat(g.createdAt)
}
@if(g.finishedOrAborted) {
@gameEndStatus(g)
@g.winner.map { winner =>
, <span class="@{ fromPlayer.map(p => (p == winner).fold("win", "loss")) }">
@winner.color.fold(trans.whiteIsVictorious(), trans.blackIsVictorious())
</span>
}
} else {
@g.turnColor.fold(trans.whitePlays(), trans.blackPlays())
}
@if(g.variant.exotic) {
<br />
@trans.variant(): <strong>@variantLink(g.variant, variantName(g.variant))</strong>
}
<div class="perf_block" @g.perfType.map { p => data-icon="@p.iconChar"}>
@if(g.isBeingPlayed) {
<a class="link" href="@routes.Round.watcher(g.id, firstPlayer.color.name)" data-icon="v"> @trans.playingRightNow()</a>,
} else {
@momentFormat(g.createdAt)
}
@if(g.finishedOrAborted) {
@gameEndStatus(g)
@g.winner.map { winner =>
, <span class="@{ fromPlayer.map(p => (p == winner).fold("win", "loss")) }">
@winner.color.fold(trans.whiteIsVictorious(), trans.blackIsVictorious())
</span>
}
} else {
@g.turnColor.fold(trans.whitePlays(), trans.blackPlays())
}
<br />
@trans.variant(): <strong>@variantLink(g.variant, variantName(g.variant))</strong>
</div>
@g.pgnImport.flatMap(_.date).map { date =>
<br />
PGN Import @date

View File

@ -7,6 +7,7 @@ import com.github.nscala_time.time.Imports._
import org.joda.time.DateTime
import lila.db.ByteArray
import lila.rating.PerfType
import lila.user.User
case class Game(
@ -201,6 +202,8 @@ case class Game(
def speed = chess.Speed(clock)
def perfType = PerfType(PerfPicker.key(this))
def started = status >= Status.Started
def notStarted = !started

View File

@ -19,6 +19,8 @@ object PerfPicker {
}
else variant.key
def key(game: Game): String = key(game.speed, game.variant, game.poolId)
def main(speed: Speed, variant: Variant, poolId: Option[String]): Option[Perfs => Perf] =
poolId match {
case Some(id) => Some(_ pool id)

View File

@ -1319,6 +1319,11 @@ div.game_row div.infos span.win {
div.game_row div.infos span.loss {
color: #ac524f;
}
div.game_row div.perf_block::before {
font-size: 30px;
float: left;
margin: 5px 8px 0 -5px;
}
div.game_row a.go_analyse {
position: absolute;
bottom: 16px;