Skip to content

Commit

Permalink
Revert "Revert "index game perf rather than variant, link user profil…
Browse files Browse the repository at this point in the history
…e perf titles""

This reverts commit 92806c4.
  • Loading branch information
ornicar committed Sep 3, 2015
1 parent a3e533f commit 81480ea
Show file tree
Hide file tree
Showing 9 changed files with 41 additions and 28 deletions.
4 changes: 2 additions & 2 deletions app/views/search/index.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -89,10 +89,10 @@ <h1 class="title">@trans.advancedSearch()</h1>
</tr>
<tr>
<th>
<label for="@form("variant").id">@trans.variant()</label>
<label for="@form("perf").id">@trans.variant()</label>
</th>
<td class="single">
@base.select(form("variant"), Query.variants, "".some)
@base.select(form("perf"), Query.perfs, "".some)
</td>
</tr>
<tr>
Expand Down
4 changes: 2 additions & 2 deletions app/views/search/user.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@
</tr>
<tr>
<th>
<label for="@form("variant").id">@trans.variant()</label>
<label for="@form("perf").id">@trans.variant()</label>
</th>
<td class="single">
@base.select(form("variant"), Query.variants, "".some)
@base.select(form("perf"), Query.perfs, "".some)
</td>
</tr>
<tr>
Expand Down
8 changes: 7 additions & 1 deletion app/views/user/show.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

@title = @{ s"${u.username} : ${userGameFilterTitleNoTag(info, filters.current)}${if(games.currentPage == 1) "" else " - page " + games.currentPage}" }

@searchUrl = @{ routes.User.showFilter(u.username, "search") }

@evenMoreJs = {
@if(!u.lame || ctx.is(u) || isGranted(_.UserSpy)) {
@if(filters.current.name == "search") {
Expand All @@ -19,7 +21,11 @@

@showPerf(perf: lila.rating.Perf, perfType: PerfType, name: Option[String] = none) = {
<div data-icon="@perfType.iconChar">
<h3 class="hint--top" data-hint="@perfType.title">@name.getOrElse(perfType.name).toUpperCase</h3>
<h3 class="hint--top" data-hint="@perfType.title">
<a href="@[email protected]">
@name.getOrElse(perfType.name).toUpperCase
</a>
</h3>
<div class="rating">
<strong class="hint--bottom" data-hint="Glicko rating ±@perf.glicko.intDeviation">@perf.glicko.intRating@if(perf.provisional){?}</strong>
<span class="hint--bottom">/ @perf.nb.localize @if(perfType.key == "puzzle") {@trans.puzzles()} else {@trans.games()}</span>
Expand Down
6 changes: 3 additions & 3 deletions modules/gameSearch/src/main/DataForm.scala
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ private[gameSearch] final class DataForm {
"black" -> optional(nonEmptyText)
)(SearchPlayer.apply)(SearchPlayer.unapply),
"winnerColor" -> optional(numberIn(Query.winnerColors)),
"variant" -> optional(numberIn(Query.variants)),
"perf" -> optional(numberIn(Query.perfs)),
"source" -> optional(numberIn(Query.sources)),
"mode" -> optional(numberIn(Query.modes)),
"opening" -> optional(stringIn(Query.openings)),
Expand All @@ -46,7 +46,7 @@ private[gameSearch] final class DataForm {
private[gameSearch] case class SearchData(
players: SearchPlayer = SearchPlayer(),
winnerColor: Option[Int] = None,
variant: Option[Int] = None,
perf: Option[Int] = None,
source: Option[Int] = None,
mode: Option[Int] = None,
opening: Option[String] = None,
Expand All @@ -72,7 +72,7 @@ private[gameSearch] case class SearchData(
user2 = players.cleanB,
winner = players.cleanWinner,
winnerColor = winnerColor,
variant = variant,
perf = perf,
source = source,
rated = mode flatMap Mode.apply map (_.rated),
opening = opening map (_.trim.toLowerCase),
Expand Down
2 changes: 1 addition & 1 deletion modules/gameSearch/src/main/Fields.scala
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ private[gameSearch] object Fields {
val status = "s"
val turns = "t"
val rated = "r"
val variant = "v"
val perf = "p"
val uids = "u"
val winner = "w"
val winnerColor = "c"
Expand Down
6 changes: 3 additions & 3 deletions modules/gameSearch/src/main/Indexer.scala
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
status typed ShortType,
turns typed ShortType,
rated typed BooleanType,
variant typed ShortType,
perf typed ShortType,
uids typed StringType,
winner typed StringType,
winnerColor typed ShortType,
Expand All @@ -61,7 +61,7 @@
var nb = 0
var nbSkipped = 0
var started = nowMillis
$enumerate.bulk[Option[lila.game.Game]]($query.all, batchSize, limit = 500000) { gameOptions =>
$enumerate.bulk[Option[lila.game.Game]]($query.all, batchSize, 200000) { gameOptions =>
val games = gameOptions.flatten filter storable
val nbGames = games.size
(GameRepo filterAnalysed games.map(_.id).toSeq flatMap { analysedIds =>
Expand Down Expand Up @@ -103,7 +103,7 @@
}).id.some,
turns -> math.ceil(game.turns.toFloat / 2).some,
rated -> game.rated.some,
variant -> game.variant.id.some,
perf -> game.perfType.map(_.id),
uids -> game.userIds.toArray.some.filterNot(_.isEmpty),
winner -> (game.winner flatMap (_.userId)),
winnerColor -> game.winner.fold(3)(_.color.fold(1, 2)).some,
Expand Down
6 changes: 3 additions & 3 deletions modules/gameSearch/src/main/Query.scala
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ case class Query(
user2: Option[String] = None,
winner: Option[String] = None,
winnerColor: Option[Int] = None,
variant: Option[Int] = None,
perf: Option[Int] = None,
source: Option[Int] = None,
status: Option[Int] = None,
turns: Range[Int] = Range.none,
Expand All @@ -32,7 +32,7 @@ case class Query(
user2.nonEmpty ||
winner.nonEmpty ||
winnerColor.nonEmpty ||
variant.nonEmpty ||
perf.nonEmpty ||
source.nonEmpty ||
status.nonEmpty ||
turns.nonEmpty ||
Expand Down Expand Up @@ -69,7 +69,7 @@ object Query {

val winnerColors = List(1 -> "White", 2 -> "Black", 3 -> "None")

val variants = chess.variant.Variant.all map { v => v.id -> v.name }
val perfs = lila.rating.PerfType.nonPuzzle map { v => v.id -> v.name }

val sources = lila.game.Source.searchable map { v => v.id -> v.name.capitalize }

Expand Down
27 changes: 14 additions & 13 deletions modules/rating/src/main/PerfType.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,88 +3,89 @@ package lila.rating
import chess.Speed

sealed abstract class PerfType(
val id: Int,
val key: Perf.Key,
val name: String,
val title: String,
val iconChar: Char)

object PerfType {

case object Bullet extends PerfType(
case object Bullet extends PerfType(1,
key = "bullet",
name = Speed.Bullet.name,
title = Speed.Bullet.title,
iconChar = 'T')

case object Blitz extends PerfType(
case object Blitz extends PerfType(2,
key = "blitz",
name = Speed.Blitz.name,
title = Speed.Blitz.title,
iconChar = ')')

case object Classical extends PerfType(
case object Classical extends PerfType(3,
key = "classical",
name = Speed.Classical.name,
title = Speed.Classical.title,
iconChar = '+')

case object Correspondence extends PerfType(
case object Correspondence extends PerfType(4,
key = "correspondence",
name = "Correspondence",
title = "Correspondence (days per turn)",
iconChar = ';')

case object Standard extends PerfType(
case object Standard extends PerfType(5,
key = "standard",
name = chess.variant.Standard.name,
title = "Standard rules of chess",
iconChar = '8')

case object Chess960 extends PerfType(
case object Chess960 extends PerfType(11,
key = "chess960",
name = chess.variant.Chess960.name,
title = "Chess960 variant",
iconChar = ''')

case object KingOfTheHill extends PerfType(
case object KingOfTheHill extends PerfType(12,
key = "kingOfTheHill",
name = chess.variant.KingOfTheHill.name,
title = "King of the Hill variant",
iconChar = '(')

case object Antichess extends PerfType(
case object Antichess extends PerfType(13,
key = "antichess",
name = chess.variant.Antichess.name,
title = "Antichess variant",
iconChar = '@'
)

case object Atomic extends PerfType(
case object Atomic extends PerfType(14,
key="atomic",
name= chess.variant.Atomic.name,
title = "Atomic variant",
iconChar = '>'
)

case object ThreeCheck extends PerfType(
case object ThreeCheck extends PerfType(15,
key = "threeCheck",
name = chess.variant.ThreeCheck.name,
title = "Three-check variant",
iconChar = '.')

case object Horde extends PerfType(
case object Horde extends PerfType(16,
key = "horde",
name = chess.variant.Horde.name,
title = "Horde variant",
iconChar = '_')

case object Puzzle extends PerfType(
case object Puzzle extends PerfType(20,
key = "puzzle",
name = "Training",
title = "Training puzzles",
iconChar = '-')

case object Opening extends PerfType(
case object Opening extends PerfType(21,
key = "opening",
name = "Opening",
title = "Opening trainer",
Expand Down
6 changes: 6 additions & 0 deletions public/stylesheets/user-show.css
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,12 @@ div.sub_ratings h3 {
margin: 0;
display: inline-block;
}
div.sub_ratings h3 a {
text-decoration: none;
}
div.sub_ratings h3 a:hover {
text-decoration: underline;
}
#site_header div.sub_ratings strong {
font-weight: bold;
font-size: 1.2em;
Expand Down

0 comments on commit 81480ea

Please sign in to comment.