@(u: User, as: Iterable[lila.activity.ActivityView])(implicit ctx: Context)
@import ActivityHtml._
@import lila.activity.activities._
@import lila.activity.model._
@renderPatron(p: Patron) = {
@trans.activity.supportedNbMonths.plural(p.months, p.months, Html(s"""
Patron"""))
}
@renderPractice(p: Map[lila.practice.PracticeStudy, Int]) = {
@p.toList.sortBy(-_._2).zipWithIndex.map {
case ((study, nb), i) => {
@if(i == 1) {
}
@trans.activity.practicedNbPositions.plural(nb, nb, Html(s"""
${study.name}"""))
}
}
@if(p.size > 1) {
}
}
@renderPuzzles(p: Puzzles) = {
@scoreHtml(p.score)
@trans.activity.solvedNbPuzzles.pluralSame(p.score.size)
@p.score.rp.filterNot(_.isEmpty).map(ratingProgHtml)
}
@renderGames(games: Games) = {
@games.value.toList.sortBy(-_._2.size).map {
case (pt, score) => {
@scoreHtml(score)
@trans.activity.playedNbGames.plural(score.size, score.size, pt.name)
@score.rp.filterNot(_.isEmpty).map(ratingProgHtml)
}
}
}
@renderPosts(posts: Map[lila.forum.Topic, List[lila.forum.Post]]) = {
}
@renderCorresMoves(nb: Int, povs: List[Pov]) = {
@trans.activity.playedNbMoves.plural(nb, nb, povs.size)
}
@renderCorresEnds(score: Score, povs: List[Pov]) = {
@trans.activity.completedNbGames.pluralSame(score.size)
@score.rp.filterNot(_.isEmpty).map(ratingProgHtml)
@scoreHtml(score)
}
@renderFollows(all: Follows) = {
@List(all.in.map(_ -> true), all.out.map(_ -> false)).flatten.map {
case (f, in) => {
@if(in) {
@trans.activity.gainedNbFollowers.pluralSame(f.actualNb)
} else {
@trans.activity.followedNbPlayers.pluralSame(f.actualNb)
}
@htmlList(f.ids.map(id => userIdLink(id.some)))
@f.nb.map { nb =>
and @(nb - maxSubEntries) more
}
}
}
}
@renderSimul(s: lila.simul.Simul) = {
@simuls.groupBy(_.isHost(u.some)).map {
case (isHost, simuls) => {
@if(isHost) {
@trans.activity.hostedNbSimuls.pluralSame(simuls.size)
} else {
@trans.activity.joinedNbSimuls.pluralSame(simuls.size)
}
@simuls.map(renderSimul)
}
}
}
@renderStudies(studies: List[lila.study.Study.IdName]) = {
@trans.activity.createdNbStudies.pluralSame(studies.size)
}
@renderTeams(teams: Teams) = {
@trans.activity.joinedNbTeams.pluralSame(teams.value.size)
@htmlList(teams.value.map(id => teamLink(id)))
}
@tourLink(t: lila.tournament.LeaderboardApi.Entry) = {
@trans.activity.competedInNbTournaments.pluralSame(tours.nb)
@tours.best.map { t =>
@trans.activity.rankedInTournament.plural(t.nbGames, Html(s"""${t.rank}"""), (t.rankRatio.value * 100).toInt atLeast 1, t.nbGames, tourLink(t))
}
}
@renderStream() = {
@trans.activity.signedUp()
}