@(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) {
@user.communityTabs("ratings")

@title

@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)
}

@base.spinner()
}