@(perfType: lila.rating.PerfType, data: List[Int])(implicit ctx: Context) @moreJs = { @jsTag("chart/ratingDistribution.js") @embedJs { lichess.ratingDistributionChart({ freq: @data.mkString("[", ",", "]"), myRating: @ctx.me.fold("null")(_.perfs(perfType).intRating.toString) }); } } @title = { @trans.weeklyPerfTypeRatingDistribution(perfType.name) } @layout( title = title.toString, active = perfType.key, moreJs = moreJs) {
@ctx.me.flatMap(_.perfs(perfType).glicko.establishedIntRating).map { rating =>
@lila.user.Stat.percentile(data, rating) match {
case (under, sum) => {
@trans.nbPerfTypePlayersThisWeek(Html(s"""${sum.localize}"""), perfType.name)
@trans.yourPerfTypeRatingIsRating(perfType.name, Html(s"""$rating"""))
@trans.youAreBetterThanPercentOfPerfTypePlayers(Html(s"""${"%.1f" format under * 100.0 / sum}%"""), perfType.name)
}
}
}.getOrElse {
@trans.nbPerfTypePlayersThisWeek.plural(data.sum, Html(s"""${data.sum.localize}"""), perfType.name)
@trans.youDoNotHaveAnEstablishedPerfTypeRating(perfType.name)
}