Icons private use area (#9136)
* move all glyphs to private area * replace exclamation mark icon * replace quotation mark icon * replace rapid icon * replace share icon * replace patron icon * replace gear icon * replace phone icon * replace streak icon * replace die-six and ograve icons * replace flag icon * replace flame icon * replace feather icon * replace turtle icon * replace nuclear icon * replace arrow-streamline-target icon * replace buffer icon * replace upload-cloud icon * replace number and some special characters icons * replace upper case alphabet characters icons * replace alphabet characters icons and a few special characters icons * fixing some missing icons * notifications icons fix * a few more icons found * changing a few more iconspull/9180/head
parent
ef28d64ac1
commit
e4db7c25e6
|
@ -165,7 +165,7 @@ trait FormHelper { self: I18nHelper =>
|
|||
|
||||
def submit(
|
||||
content: Frag,
|
||||
icon: Option[String] = Some("E"),
|
||||
icon: Option[String] = Some(""),
|
||||
nameValue: Option[(String, String)] = None,
|
||||
klass: String = "",
|
||||
confirm: Option[String] = None
|
||||
|
|
|
@ -110,7 +110,7 @@ trait GameHelper { self: I18nHelper with UserHelper with AiHelper with StringHel
|
|||
def gameVsText(game: Game, withRatings: Boolean = false): String =
|
||||
Namer.gameVsTextBlocking(game, withRatings)(lightUser)
|
||||
|
||||
val berserkIconSpan = iconTag("`")
|
||||
val berserkIconSpan = iconTag("")
|
||||
|
||||
def playerLink(
|
||||
player: Player,
|
||||
|
|
|
@ -21,7 +21,7 @@ trait TeamHelper { self: HasEnv =>
|
|||
def teamLink(id: String, name: Frag, withIcon: Boolean): Tag =
|
||||
a(
|
||||
href := routes.Team.show(id),
|
||||
dataIcon := withIcon.option("f"),
|
||||
dataIcon := withIcon.option(""),
|
||||
cls := withIcon option "text"
|
||||
)(name)
|
||||
|
||||
|
|
|
@ -29,14 +29,14 @@ trait TournamentHelper { self: I18nHelper with DateHelper with UserHelper =>
|
|||
|
||||
def tournamentLink(tour: Tournament)(implicit lang: Lang): Frag =
|
||||
a(
|
||||
dataIcon := "g",
|
||||
dataIcon := "",
|
||||
cls := (if (tour.isScheduled) "text is-gold" else "text"),
|
||||
href := routes.Tournament.show(tour.id).url
|
||||
)(tour.name())
|
||||
|
||||
def tournamentLink(tourId: String)(implicit lang: Lang): Frag =
|
||||
a(
|
||||
dataIcon := "g",
|
||||
dataIcon := "",
|
||||
cls := "text",
|
||||
href := routes.Tournament.show(tourId).url
|
||||
)(tournamentIdToName(tourId))
|
||||
|
@ -48,7 +48,7 @@ trait TournamentHelper { self: I18nHelper with DateHelper with UserHelper =>
|
|||
private def icon(c: Char) = s"""<span data-icon="$c"></span>"""
|
||||
private val replacements = List(
|
||||
"Lichess " -> "",
|
||||
"Marathon" -> icon('\\'),
|
||||
"Marathon" -> icon(''),
|
||||
"HyperBullet" -> s"H${icon(PerfType.Bullet.iconChar)}",
|
||||
"SuperBlitz" -> s"S${icon(PerfType.Blitz.iconChar)}"
|
||||
) ::: PerfType.leaderboardable.filterNot(PerfType.translated.contains).map { pt =>
|
||||
|
@ -65,7 +65,7 @@ trait TournamentHelper { self: I18nHelper with DateHelper with UserHelper =>
|
|||
|
||||
def tournamentIconChar(tour: Tournament): String =
|
||||
tour.schedule.map(_.freq) match {
|
||||
case Some(Schedule.Freq.Marathon | Schedule.Freq.ExperimentalMarathon) => "\\"
|
||||
case Some(Schedule.Freq.Marathon | Schedule.Freq.ExperimentalMarathon) => ""
|
||||
case _ => tour.spotlight.flatMap(_.iconFont) | tour.perfType.iconChar.toString
|
||||
}
|
||||
}
|
||||
|
|
|
@ -279,7 +279,7 @@ trait UserHelper { self: I18nHelper with StringHelper with NumberHelper =>
|
|||
s"$name played $nbGames games since $createdAt.$currentRating"
|
||||
}
|
||||
|
||||
val patronIconChar = ""
|
||||
val patronIconChar = ""
|
||||
val lineIconChar = ""
|
||||
|
||||
val lineIcon: Frag = i(cls := "line")
|
||||
|
|
|
@ -17,7 +17,7 @@ object close {
|
|||
active = "close"
|
||||
) {
|
||||
div(cls := "account box box-pad")(
|
||||
h1(dataIcon := "j", cls := "text")(closeAccount()),
|
||||
h1(dataIcon := "", cls := "text")(closeAccount()),
|
||||
if (managed)
|
||||
p("Your account is managed, and cannot be closed.")
|
||||
else
|
||||
|
@ -30,7 +30,7 @@ object close {
|
|||
a(href := routes.User.show(u.username))(changedMindDoNotCloseAccount()),
|
||||
form3.submit(
|
||||
closeAccount(),
|
||||
icon = "j".some,
|
||||
icon = "".some,
|
||||
confirm = closingIsDefinitive.txt().some,
|
||||
klass = "button-red"
|
||||
)
|
||||
|
|
|
@ -178,7 +178,7 @@ object pref {
|
|||
radios(form("insightShare"), translatedInsightShareChoices)
|
||||
)
|
||||
),
|
||||
p(cls := "saved text none", dataIcon := "E")(yourPreferencesHaveBeenSaved())
|
||||
p(cls := "saved text none", dataIcon := "")(yourPreferencesHaveBeenSaved())
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
|
@ -46,7 +46,7 @@ object reopen {
|
|||
title = "Reopen your account"
|
||||
) {
|
||||
main(cls := "page-small box box-pad")(
|
||||
h1(cls := "is-green text", dataIcon := "E")(trans.checkYourEmail()),
|
||||
h1(cls := "is-green text", dataIcon := "")(trans.checkYourEmail()),
|
||||
p("We've sent you an email with a link."),
|
||||
p(trans.ifYouDoNotSeeTheEmailCheckOtherPlaces())
|
||||
)
|
||||
|
|
|
@ -59,7 +59,7 @@ object security {
|
|||
td(
|
||||
s.session.id != cur option
|
||||
postForm(action := routes.Account.signout(s.session.id))(
|
||||
submitButton(cls := "button button-red", title := trans.logOut.txt(), dataIcon := "L")
|
||||
submitButton(cls := "button button-red", title := trans.logOut.txt(), dataIcon := "")
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ object twoFactor {
|
|||
) {
|
||||
div(cls := "account twofactor box box-pad")(
|
||||
h1(
|
||||
i(cls := "is-green text", dataIcon := "E"),
|
||||
i(cls := "is-green text", dataIcon := ""),
|
||||
twoFactorEnabled()
|
||||
),
|
||||
standardFlash(),
|
||||
|
|
|
@ -49,7 +49,7 @@ object activity {
|
|||
|
||||
private def renderPatron(p: Patron)(implicit ctx: Context) =
|
||||
div(cls := "entry plan")(
|
||||
iconTag(""),
|
||||
iconTag(""),
|
||||
div(
|
||||
if (p.months == 0) a(href := routes.Plan.index)("Lifetime Patron!")
|
||||
else
|
||||
|
@ -83,7 +83,7 @@ object activity {
|
|||
|
||||
private def renderPuzzles(u: User)(p: Puzzles)(implicit ctx: Context) =
|
||||
entryTag(
|
||||
iconTag("-"),
|
||||
iconTag(""),
|
||||
scoreFrag(p.score),
|
||||
div(
|
||||
trans.activity.solvedNbPuzzles.pluralSame(p.score.size),
|
||||
|
@ -93,7 +93,7 @@ object activity {
|
|||
|
||||
private def renderStorm(s: Storm)(implicit ctx: Context) =
|
||||
entryTag(
|
||||
iconTag("~"),
|
||||
iconTag(""),
|
||||
scoreTag(winTag(trans.storm.highscoreX(strong(s.score)))),
|
||||
div(
|
||||
trans.storm.playedNbRunsOfPuzzleStorm
|
||||
|
@ -103,7 +103,7 @@ object activity {
|
|||
|
||||
private def renderRacer(s: Racer)(implicit ctx: Context) =
|
||||
entryTag(
|
||||
iconTag(","),
|
||||
iconTag(""),
|
||||
scoreTag(winTag(trans.storm.highscoreX(strong(s.score)))),
|
||||
div(
|
||||
trans.storm.playedNbRunsOfPuzzleStorm
|
||||
|
@ -113,7 +113,7 @@ object activity {
|
|||
|
||||
private def renderStreak(s: Streak)(implicit ctx: Context) =
|
||||
entryTag(
|
||||
iconTag("}"),
|
||||
iconTag(""),
|
||||
scoreTag(winTag(trans.storm.highscoreX(strong(s.score)))),
|
||||
div(
|
||||
trans.storm.playedNbRunsOfPuzzleStorm
|
||||
|
@ -135,7 +135,7 @@ object activity {
|
|||
|
||||
private def renderPosts(posts: Map[lila.forum.Topic, List[lila.forum.Post]])(implicit ctx: Context) =
|
||||
ctx.noKid option entryTag(
|
||||
iconTag("d"),
|
||||
iconTag(""),
|
||||
div(
|
||||
posts.toSeq.map { case (topic, posts) =>
|
||||
val url = routes.ForumTopic.show(topic.categId, topic.slug)
|
||||
|
@ -154,7 +154,7 @@ object activity {
|
|||
|
||||
private def renderCorresMoves(nb: Int, povs: List[lila.game.LightPov])(implicit ctx: Context) =
|
||||
entryTag(
|
||||
iconTag(";"),
|
||||
iconTag(""),
|
||||
div(
|
||||
trans.activity.playedNbMoves.pluralSame(nb),
|
||||
" ",
|
||||
|
@ -174,7 +174,7 @@ object activity {
|
|||
|
||||
private def renderCorresEnds(score: Score, povs: List[lila.game.LightPov])(implicit ctx: Context) =
|
||||
entryTag(
|
||||
iconTag(";"),
|
||||
iconTag(""),
|
||||
div(
|
||||
trans.activity.completedNbGames.plural(score.size, subCount(score.size)),
|
||||
score.rp.filterNot(_.isEmpty).map(ratingProgFrag),
|
||||
|
@ -200,7 +200,7 @@ object activity {
|
|||
|
||||
private def renderFollows(all: Follows)(implicit ctx: Context) =
|
||||
entryTag(
|
||||
iconTag("h"),
|
||||
iconTag(""),
|
||||
div(
|
||||
List(all.in.map(_ -> true), all.out.map(_ -> false)).flatten map { case (f, in) =>
|
||||
frag(
|
||||
|
@ -219,7 +219,7 @@ object activity {
|
|||
|
||||
private def renderSimuls(u: User)(simuls: List[lila.simul.Simul])(implicit ctx: Context) =
|
||||
entryTag(
|
||||
iconTag("f"),
|
||||
iconTag(""),
|
||||
div(
|
||||
simuls.groupBy(_.isHost(u.some)).toSeq.map { case (isHost, simuls) =>
|
||||
frag(
|
||||
|
@ -244,7 +244,7 @@ object activity {
|
|||
|
||||
private def renderStudies(studies: List[lila.study.Study.IdName])(implicit ctx: Context) =
|
||||
entryTag(
|
||||
iconTag("4"),
|
||||
iconTag(""),
|
||||
div(
|
||||
trans.activity.createdNbStudies.pluralSame(studies.size),
|
||||
subTag(
|
||||
|
@ -257,7 +257,7 @@ object activity {
|
|||
|
||||
private def renderTeams(teams: Teams)(implicit ctx: Context) =
|
||||
ctx.noKid option entryTag(
|
||||
iconTag("f"),
|
||||
iconTag(""),
|
||||
div(
|
||||
trans.activity.joinedNbTeams.pluralSame(teams.value.size),
|
||||
subTag(fragList(teams.value.map(id => teamLink(id))))
|
||||
|
@ -266,7 +266,7 @@ object activity {
|
|||
|
||||
private def renderTours(tours: lila.activity.ActivityView.Tours)(implicit ctx: Context) =
|
||||
entryTag(
|
||||
iconTag("g"),
|
||||
iconTag(""),
|
||||
div(
|
||||
trans.activity.competedInNbTournaments.pluralSame(tours.nb),
|
||||
subTag(
|
||||
|
@ -276,7 +276,7 @@ object activity {
|
|||
"is-gold" -> (t.rank == 1),
|
||||
"text" -> (t.rank <= 3)
|
||||
),
|
||||
dataIcon := (t.rank <= 3).option("g")
|
||||
dataIcon := (t.rank <= 3).option("")
|
||||
)(
|
||||
trans.activity.rankedInTournament.plural(
|
||||
t.nbGames,
|
||||
|
@ -294,7 +294,7 @@ object activity {
|
|||
|
||||
private def renderSwisses(swisses: List[(Swiss.IdName, Int)])(implicit ctx: Context) =
|
||||
entryTag(
|
||||
iconTag("g"),
|
||||
iconTag(""),
|
||||
div(
|
||||
trans.activity.competedInNbSwissTournaments.pluralSame(swisses.size),
|
||||
subTag(
|
||||
|
@ -304,7 +304,7 @@ object activity {
|
|||
"is-gold" -> (rank == 1),
|
||||
"text" -> (rank <= 3)
|
||||
),
|
||||
dataIcon := (rank <= 3).option("g")
|
||||
dataIcon := (rank <= 3).option("")
|
||||
)(
|
||||
trans.activity.rankedInSwissTournament(
|
||||
strong(rank),
|
||||
|
@ -325,7 +325,7 @@ object activity {
|
|||
|
||||
private def renderSignup(implicit ctx: Context) =
|
||||
entryTag(
|
||||
iconTag("s"),
|
||||
iconTag(""),
|
||||
div(trans.activity.signedUp())
|
||||
)
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ object replay {
|
|||
}
|
||||
val pgnLinks = div(
|
||||
a(
|
||||
dataIcon := "x",
|
||||
dataIcon := "",
|
||||
cls := "text",
|
||||
href := s"${routes.Game.exportOne(game.id)}?literate=1",
|
||||
downloadAttr
|
||||
|
@ -55,7 +55,7 @@ object replay {
|
|||
trans.downloadAnnotated()
|
||||
),
|
||||
a(
|
||||
dataIcon := "x",
|
||||
dataIcon := "",
|
||||
cls := "text",
|
||||
href := s"${routes.Game.exportOne(game.id)}?evals=0&clocks=0",
|
||||
downloadAttr
|
||||
|
@ -63,15 +63,15 @@ object replay {
|
|||
trans.downloadRaw()
|
||||
),
|
||||
game.isPgnImport option a(
|
||||
dataIcon := "x",
|
||||
dataIcon := "",
|
||||
cls := "text",
|
||||
href := s"${routes.Game.exportOne(game.id)}?imported=1",
|
||||
downloadAttr
|
||||
)(trans.downloadImported()),
|
||||
ctx.noBlind option frag(
|
||||
a(dataIcon := "=", cls := "text embed-howto")(trans.embedInYourWebsite()),
|
||||
a(dataIcon := "", cls := "text embed-howto")(trans.embedInYourWebsite()),
|
||||
a(
|
||||
dataIcon := "$",
|
||||
dataIcon := "",
|
||||
cls := "text",
|
||||
targetBlank,
|
||||
href := cdnUrl(routes.Export.gif(pov.gameId, pov.color.name).url)
|
||||
|
|
|
@ -264,7 +264,7 @@ object tree {
|
|||
"Read more about the appeal process"
|
||||
)
|
||||
),
|
||||
p(a(cls := "text", dataIcon := "x", href := routes.Account.data)("Export personal data"))
|
||||
p(a(cls := "text", dataIcon := "", href := routes.Account.data)("Export personal data"))
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ object bits {
|
|||
) {
|
||||
main(cls := "auth auth-signup box box-pad")(
|
||||
h1(
|
||||
fail option span(cls := "is-red", dataIcon := "L"),
|
||||
fail option span(cls := "is-red", dataIcon := ""),
|
||||
trans.passwordReset()
|
||||
),
|
||||
postForm(cls := "form3", action := routes.Auth.passwordResetApply)(
|
||||
|
@ -60,7 +60,7 @@ object bits {
|
|||
title = trans.passwordReset.txt()
|
||||
) {
|
||||
main(cls := "page-small box box-pad")(
|
||||
h1(cls := "is-green text", dataIcon := "E")(trans.checkYourEmail()),
|
||||
h1(cls := "is-green text", dataIcon := "")(trans.checkYourEmail()),
|
||||
p(trans.weHaveSentYouAnEmailTo(email)),
|
||||
p(trans.ifYouDoNotSeeTheEmailCheckOtherPlaces())
|
||||
)
|
||||
|
@ -81,8 +81,8 @@ object bits {
|
|||
) {
|
||||
main(cls := "page-small box box-pad")(
|
||||
(ok match {
|
||||
case Some(true) => h1(cls := "is-green text", dataIcon := "E")
|
||||
case Some(false) => h1(cls := "is-red text", dataIcon := "L")
|
||||
case Some(true) => h1(cls := "is-green text", dataIcon := "")
|
||||
case Some(false) => h1(cls := "is-red text", dataIcon := "")
|
||||
case _ => h1
|
||||
})(
|
||||
userLink(u, withOnline = false),
|
||||
|
@ -114,7 +114,7 @@ object bits {
|
|||
) {
|
||||
main(cls := "auth auth-signup box box-pad")(
|
||||
h1(
|
||||
fail option span(cls := "is-red", dataIcon := "L"),
|
||||
fail option span(cls := "is-red", dataIcon := ""),
|
||||
"Log in by email"
|
||||
),
|
||||
p("We will send you an email containing a link to log you in."),
|
||||
|
@ -133,7 +133,7 @@ object bits {
|
|||
title = "Log in by email"
|
||||
) {
|
||||
main(cls := "page-small box box-pad")(
|
||||
h1(cls := "is-green text", dataIcon := "E")(trans.checkYourEmail()),
|
||||
h1(cls := "is-green text", dataIcon := "")(trans.checkYourEmail()),
|
||||
p("We've sent you an email with a link."),
|
||||
p(trans.ifYouDoNotSeeTheEmailCheckOtherPlaces())
|
||||
)
|
||||
|
|
|
@ -21,7 +21,7 @@ object checkYourEmail {
|
|||
main(
|
||||
cls := s"page-small box box-pad email-confirm ${if (form.exists(_.hasErrors)) "error" else "anim"}"
|
||||
)(
|
||||
h1(cls := "is-green text", dataIcon := "E")(trans.checkYourEmail()),
|
||||
h1(cls := "is-green text", dataIcon := "")(trans.checkYourEmail()),
|
||||
p(trans.weHaveSentYouAnEmailClickTheLink()),
|
||||
h2("Not receiving it?"),
|
||||
ol(
|
||||
|
|
|
@ -60,15 +60,15 @@ z-index: 99;
|
|||
|
||||
def pagination(url: Int => String, page: Int, nbPages: Int, showPost: Boolean): Tag =
|
||||
st.nav(cls := "pagination")(
|
||||
if (page > 1) a(href := url(page - 1), dataIcon := "I")
|
||||
else span(cls := "disabled", dataIcon := "I"),
|
||||
if (page > 1) a(href := url(page - 1), dataIcon := "")
|
||||
else span(cls := "disabled", dataIcon := ""),
|
||||
sliding(page, nbPages, 3, showPost = showPost).map {
|
||||
case None => raw(" … ")
|
||||
case Some(p) if p == page => span(cls := "current")(p)
|
||||
case Some(p) => a(href := url(p))(p)
|
||||
},
|
||||
if (page < nbPages) a(rel := "next", href := url(page + 1), dataIcon := "H")
|
||||
else span(cls := "disabled", dataIcon := "H")
|
||||
if (page < nbPages) a(rel := "next", href := url(page + 1), dataIcon := "")
|
||||
else span(cls := "disabled", dataIcon := "")
|
||||
)
|
||||
|
||||
private def sliding(pager: Paginator[_], length: Int, showPost: Boolean): List[Option[Int]] =
|
||||
|
|
|
@ -54,8 +54,8 @@ object captcha {
|
|||
trans.help(),
|
||||
" ",
|
||||
a(title := trans.viewTheSolution.txt(), targetBlank, href := s"${url}#last")(url),
|
||||
div(cls := "result success text", dataIcon := "E")(trans.checkmate()),
|
||||
div(cls := "result failure text", dataIcon := "k")(trans.notACheckmate()),
|
||||
div(cls := "result success text", dataIcon := "")(trans.checkmate()),
|
||||
div(cls := "result failure text", dataIcon := "")(trans.notACheckmate()),
|
||||
form3.hidden(form("move"))
|
||||
)
|
||||
)
|
||||
|
|
|
@ -86,7 +86,7 @@ object layout {
|
|||
|
||||
private def zenToggle(implicit ctx: Context) =
|
||||
spaceless(s"""
|
||||
<a data-icon="E" id="zentog" class="text fbt active">
|
||||
<a data-icon="" id="zentog" class="text fbt active">
|
||||
${trans.preferences.zenMode.txt()}
|
||||
</a>""")
|
||||
|
||||
|
@ -100,7 +100,7 @@ object layout {
|
|||
spaceless(s"""<div>
|
||||
<a id="challenge-toggle" class="toggle link">
|
||||
<span title="${trans.challenge.challenges
|
||||
.txt()}" class="data-count" data-count="${ctx.nbChallenges}" data-icon="U"></span>
|
||||
.txt()}" class="data-count" data-count="${ctx.nbChallenges}" data-icon=""></span>
|
||||
</a>
|
||||
<div id="challenge-app" class="dropdown"></div>
|
||||
</div>
|
||||
|
@ -115,14 +115,14 @@ object layout {
|
|||
private def anonDasher(playing: Boolean)(implicit ctx: Context) =
|
||||
spaceless(s"""<div class="dasher">
|
||||
<a class="toggle link anon">
|
||||
<span title="${trans.preferences.preferences.txt()}" data-icon="%"></span>
|
||||
<span title="${trans.preferences.preferences.txt()}" data-icon=""></span>
|
||||
</a>
|
||||
<div id="dasher_app" class="dropdown" data-playing="$playing"></div>
|
||||
</div>
|
||||
<a href="${routes.Auth.login}?referrer=${ctx.req.path}" class="signin button button-empty">${trans.signIn
|
||||
.txt()}</a>""")
|
||||
|
||||
private val clinputLink = a(cls := "link")(span(dataIcon := "y"))
|
||||
private val clinputLink = a(cls := "link")(span(dataIcon := ""))
|
||||
|
||||
private def clinput(implicit ctx: Context) =
|
||||
div(id := "clinput")(
|
||||
|
@ -289,12 +289,12 @@ object layout {
|
|||
id := "friend_box",
|
||||
dataI18n := safeJsonValue(i18nJsObject(i18nKeys))
|
||||
)(
|
||||
div(cls := "friend_box_title")(trans.nbFriendsOnline.plural(0, iconTag("S"))),
|
||||
div(cls := "friend_box_title")(trans.nbFriendsOnline.plural(0, iconTag(""))),
|
||||
div(cls := "content_wrap none")(
|
||||
div(cls := "content list")
|
||||
)
|
||||
),
|
||||
a(id := "reconnecting", cls := "link text", dataIcon := "B")(trans.reconnecting()),
|
||||
a(id := "reconnecting", cls := "link text", dataIcon := "")(trans.reconnecting()),
|
||||
loadScripts(moreJs, chessground)
|
||||
)
|
||||
)
|
||||
|
@ -341,7 +341,7 @@ object layout {
|
|||
cls := "link data-count link-center",
|
||||
href := routes.Team.requests,
|
||||
dataCount := ctx.teamNbRequests,
|
||||
dataIcon := "f",
|
||||
dataIcon := "",
|
||||
title := trans.team.teams.txt()
|
||||
)
|
||||
|
||||
|
|
|
@ -43,5 +43,5 @@ object navTree {
|
|||
private def makeLink(id: String) = href := s"#help-$id"
|
||||
|
||||
private def goBack(parent: Node): Frag =
|
||||
a(makeLink(parent.id), cls := "back", dataIcon := "I", title := "Go back")
|
||||
a(makeLink(parent.id), cls := "back", dataIcon := "", title := "Go back")
|
||||
}
|
||||
|
|
|
@ -38,13 +38,13 @@ object bits {
|
|||
div(cls := "meta-headline")(
|
||||
div(cls := "meta")(
|
||||
doc.getDate("blog.date").map { date =>
|
||||
span(cls := "text", dataIcon := "p")(semanticDate(date.value.toDateTimeAtStartOfDay))
|
||||
span(cls := "text", dataIcon := "")(semanticDate(date.value.toDateTimeAtStartOfDay))
|
||||
},
|
||||
doc.getText("blog.author").map { author =>
|
||||
span(cls := "text", dataIcon := "r")(richText(author))
|
||||
span(cls := "text", dataIcon := "")(richText(author))
|
||||
},
|
||||
doc.getText("blog.category").map { categ =>
|
||||
span(cls := "text", dataIcon := "t")(categ)
|
||||
span(cls := "text", dataIcon := "")(categ)
|
||||
}
|
||||
),
|
||||
strong(cls := "headline")(doc.getHtml("blog.shortlede", prismic.linkResolver).map(raw))
|
||||
|
|
|
@ -27,7 +27,7 @@ object index {
|
|||
div(cls := "blog index page-menu__content page-small box")(
|
||||
div(cls := "box__top")(
|
||||
h1("Lichess Official Blog"),
|
||||
a(cls := "atom", href := routes.Blog.atom, dataIcon := "3")
|
||||
a(cls := "atom", href := routes.Blog.atom, dataIcon := "")
|
||||
),
|
||||
primaryPost map { post =>
|
||||
frag(
|
||||
|
@ -85,7 +85,7 @@ object index {
|
|||
a(
|
||||
cls := "button",
|
||||
href := routes.Blog.show(doc.id, doc.slug, ref = prismic.maybeRef),
|
||||
dataIcon := "G"
|
||||
dataIcon := ""
|
||||
)(
|
||||
" Continue reading this post"
|
||||
)
|
||||
|
|
|
@ -48,7 +48,7 @@ object show {
|
|||
.exists(
|
||||
_.value.toDateTimeAtStartOfDay isAfter org.joda.time.DateTime.now.minusWeeks(2)
|
||||
)) option
|
||||
a(href := routes.Blog.discuss(doc.id), cls := "button text discuss", dataIcon := "d")(
|
||||
a(href := routes.Blog.discuss(doc.id), cls := "button text discuss", dataIcon := "")(
|
||||
"Discuss this blog post in the forum"
|
||||
)
|
||||
} else p("This is a preview."),
|
||||
|
|
|
@ -18,13 +18,13 @@ object bookmark {
|
|||
href := routes.Game.bookmark(g.id),
|
||||
title := trans.bookmarkThisGame.txt()
|
||||
)(
|
||||
iconTag("t")(cls := "on is3"),
|
||||
iconTag("s")(cls := "off is3"),
|
||||
iconTag("")(cls := "on is3"),
|
||||
iconTag("")(cls := "off is3"),
|
||||
span(g.showBookmarks)
|
||||
)
|
||||
else if (g.hasBookmarks)
|
||||
span(cls := "bookmark")(
|
||||
span(dataIcon := "s", cls := "is3")(g.showBookmarks)
|
||||
span(dataIcon := "", cls := "is3")(g.showBookmarks)
|
||||
)
|
||||
else emptyFrag
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ object bits {
|
|||
|
||||
def details(c: Challenge)(implicit ctx: Context) =
|
||||
div(cls := "details")(
|
||||
div(cls := "variant", dataIcon := (if (c.initialFen.isDefined) '*' else c.perfType.iconChar))(
|
||||
div(cls := "variant", dataIcon := (if (c.initialFen.isDefined) '' else c.perfType.iconChar))(
|
||||
div(
|
||||
views.html.game.bits.variantLink(c.variant, c.perfType.some),
|
||||
br,
|
||||
|
|
|
@ -15,7 +15,7 @@ object mine {
|
|||
|
||||
val cancelForm =
|
||||
postForm(action := routes.Challenge.cancel(c.id), cls := "cancel xhr")(
|
||||
submitButton(cls := "button button-red text", dataIcon := "L")(trans.cancel())
|
||||
submitButton(cls := "button button-red text", dataIcon := "")(trans.cancel())
|
||||
)
|
||||
|
||||
views.html.base.layout(
|
||||
|
@ -61,7 +61,7 @@ object mine {
|
|||
title := "Copy URL",
|
||||
cls := "copy button",
|
||||
dataRel := "challenge-id",
|
||||
dataIcon := "\""
|
||||
dataIcon := ""
|
||||
)
|
||||
),
|
||||
p(trans.theFirstPersonToComeOnThisUrlWillPlayWithYou())
|
||||
|
|
|
@ -52,7 +52,7 @@ object theirs {
|
|||
(c.mode.rated && c.unlimited) option
|
||||
badTag(trans.bewareTheGameIsRatedButHasNoClock()),
|
||||
postForm(cls := "accept", action := routes.Challenge.accept(c.id, color.map(_.name)))(
|
||||
submitButton(cls := "text button button-fat", dataIcon := "G")(trans.joinTheGame())
|
||||
submitButton(cls := "text button button-fat", dataIcon := "")(trans.joinTheGame())
|
||||
)
|
||||
)
|
||||
} else
|
||||
|
|
|
@ -49,7 +49,7 @@ object clas {
|
|||
href := routes.Clas.form,
|
||||
cls := "new button button-empty",
|
||||
title := trans.clas.newClass.txt(),
|
||||
dataIcon := "O"
|
||||
dataIcon := ""
|
||||
)
|
||||
),
|
||||
if (classes.isEmpty)
|
||||
|
@ -70,7 +70,7 @@ object clas {
|
|||
classes.map { clas =>
|
||||
div(
|
||||
cls := List("clas-widget" -> true, "clas-widget-archived" -> clas.isArchived),
|
||||
dataIcon := "f"
|
||||
dataIcon := ""
|
||||
)(
|
||||
a(cls := "overlay", href := routes.Clas.show(clas.id.value)),
|
||||
div(
|
||||
|
|
|
@ -36,7 +36,7 @@ object invite {
|
|||
trans.decline(),
|
||||
nameValue = ("v" -> false.toString).some,
|
||||
klass = "button-red button-fat",
|
||||
icon = "L".some
|
||||
icon = "".some
|
||||
)
|
||||
else p,
|
||||
form3.submit(
|
||||
|
|
|
@ -63,7 +63,7 @@ object student {
|
|||
|
||||
private def top(clas: Clas, s: Student.WithUser)(implicit ctx: Context) =
|
||||
div(cls := "student-show__top")(
|
||||
h1(dataIcon := "r")(
|
||||
h1(dataIcon := "")(
|
||||
span(
|
||||
strong(s.user.username),
|
||||
em(s.student.realName)
|
||||
|
|
|
@ -19,7 +19,7 @@ object studentDashboard {
|
|||
bits.layout(c.name, Left(c withStudents Nil))(
|
||||
cls := "clas-show dashboard dashboard-student",
|
||||
div(cls := "clas-show__top")(
|
||||
h1(dataIcon := "f", cls := "text")(c.name),
|
||||
h1(dataIcon := "", cls := "text")(c.name),
|
||||
c.desc.trim.nonEmpty option div(cls := "clas-show__desc")(richText(c.desc))
|
||||
),
|
||||
c.archived map { archived =>
|
||||
|
@ -103,7 +103,7 @@ object studentDashboard {
|
|||
val online = isOnline(user.id)
|
||||
td(
|
||||
a(
|
||||
dataIcon := "U",
|
||||
dataIcon := "",
|
||||
cls := List("button button-empty text" -> true, "disabled" -> !online),
|
||||
title := trans.challenge.challengeToPlay.txt(),
|
||||
href := online option s"${routes.Lobby.home}?user=${user.username}#friend"
|
||||
|
|
|
@ -19,7 +19,7 @@ object teacherDashboard {
|
|||
bits.layout(c.name, Left(c withStudents students.map(_.student)))(
|
||||
cls := s"clas-show dashboard dashboard-teacher dashboard-teacher-$active",
|
||||
div(cls := "clas-show__top")(
|
||||
h1(dataIcon := "f", cls := "text")(c.name),
|
||||
h1(dataIcon := "", cls := "text")(c.name),
|
||||
st.nav(cls := "dashboard-nav")(
|
||||
a(cls := active.active("overview"), href := routes.Clas.show(c.id.value))("Overview"),
|
||||
a(cls := active.active("wall"), href := routes.Clas.wall(c.id.value))("News"),
|
||||
|
@ -57,7 +57,7 @@ object teacherDashboard {
|
|||
a(
|
||||
href := routes.Clas.studentForm(c.id.value),
|
||||
cls := "button button-clas text",
|
||||
dataIcon := "O"
|
||||
dataIcon := ""
|
||||
)(trans.clas.addStudent())
|
||||
)
|
||||
),
|
||||
|
@ -262,7 +262,7 @@ object teacherDashboard {
|
|||
dataSortNumberTh(trans.games()),
|
||||
dataSortNumberTh(trans.puzzles()),
|
||||
dataSortNumberTh(trans.clas.lastActiveDate()),
|
||||
th(iconTag("5")(title := trans.clas.managed.txt()))
|
||||
th(iconTag("")(title := trans.clas.managed.txt()))
|
||||
)
|
||||
),
|
||||
tbody(
|
||||
|
@ -277,7 +277,7 @@ object teacherDashboard {
|
|||
td(dataSort := user.seenAt.map(_.getMillis.toString))(user.seenAt.map(momentFromNowOnce)),
|
||||
td(
|
||||
dataSort := (if (student.managed) 1 else 0),
|
||||
student.managed option iconTag("5")(title := trans.clas.managed.txt())
|
||||
student.managed option iconTag("")(title := trans.clas.managed.txt())
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
|
@ -13,10 +13,10 @@ object wall {
|
|||
def show(c: Clas, html: Frag, students: List[Student.WithUser])(implicit ctx: Context) =
|
||||
teacherDashboard.layout(c, students.filter(_.student.isActive), "wall")(
|
||||
div(cls := "clas-wall__actions")(
|
||||
a(dataIcon := "m", href := routes.Clas.wallEdit(c.id.value), cls := "button button-clas text")(
|
||||
a(dataIcon := "", href := routes.Clas.wallEdit(c.id.value), cls := "button button-clas text")(
|
||||
trans.clas.editNews()
|
||||
),
|
||||
a(dataIcon := "e", href := routes.Clas.notifyStudents(c.id.value), cls := "button button-clas text")(
|
||||
a(dataIcon := "", href := routes.Clas.notifyStudents(c.id.value), cls := "button button-clas text")(
|
||||
trans.clas.notifyAllStudents()
|
||||
)
|
||||
),
|
||||
|
|
|
@ -64,7 +64,7 @@ object edit {
|
|||
a(
|
||||
href := routes.Coach.show(c.user.username),
|
||||
cls := "button button-empty text",
|
||||
dataIcon := "v"
|
||||
dataIcon := ""
|
||||
)("Preview coach page")
|
||||
)
|
||||
)
|
||||
|
@ -182,14 +182,14 @@ object edit {
|
|||
),
|
||||
div(cls := "actions btn-rack")(
|
||||
r.moddedAt.fold(true)(_.isBefore(r.updatedAt)) option
|
||||
a(dataValue := "1", cls := "btn-rack__btn yes", dataIcon := "E"),
|
||||
a(dataValue := "0", cls := "btn-rack__btn no", dataIcon := "L")
|
||||
a(dataValue := "1", cls := "btn-rack__btn yes", dataIcon := ""),
|
||||
a(dataValue := "0", cls := "btn-rack__btn no", dataIcon := "")
|
||||
)
|
||||
)
|
||||
}
|
||||
)
|
||||
),
|
||||
div(cls := "status text", dataIcon := "E")("Your changes have been saved.")
|
||||
div(cls := "status text", dataIcon := "")("Your changes have been saved.")
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
|
@ -52,12 +52,12 @@ object show {
|
|||
frag(
|
||||
if (c.coach.isListed) p("This page is now public.")
|
||||
else "This page is not public yet. ",
|
||||
a(href := routes.Coach.edit, cls := "text", dataIcon := "m")("Edit my coach profile")
|
||||
a(href := routes.Coach.edit, cls := "text", dataIcon := "")("Edit my coach profile")
|
||||
)
|
||||
else
|
||||
a(
|
||||
cls := "text button button-empty",
|
||||
dataIcon := "c",
|
||||
dataIcon := "",
|
||||
href := s"${routes.Msg.convo(c.user.username)}"
|
||||
)(sendPM()),
|
||||
ctx.me.exists(_.id != c.user.id) option review.form(c, myReview),
|
||||
|
|
|
@ -99,8 +99,8 @@ object widget {
|
|||
!link option tr(cls := "available")(
|
||||
th(availability()),
|
||||
td(
|
||||
if (c.coach.available.value) span(cls := "text", dataIcon := "E")(accepting())
|
||||
else span(cls := "text", dataIcon := "L")(notAccepting())
|
||||
if (c.coach.available.value) span(cls := "text", dataIcon := "")(accepting())
|
||||
else span(cls := "text", dataIcon := "")(notAccepting())
|
||||
)
|
||||
),
|
||||
c.user.seenAt.map { seen =>
|
||||
|
|
|
@ -39,7 +39,7 @@ object dev {
|
|||
})
|
||||
)
|
||||
},
|
||||
submitButton(cls := "button button-empty", dataIcon := "E")
|
||||
submitButton(cls := "button button-empty", dataIcon := "")
|
||||
)
|
||||
}
|
||||
)
|
||||
|
|
|
@ -92,7 +92,7 @@ object dgt {
|
|||
st.section(
|
||||
h2("Lichess connectivity"),
|
||||
if (token.isDefined)
|
||||
p(cls := "text", dataIcon := "E")(
|
||||
p(cls := "text", dataIcon := "")(
|
||||
"You have an OAuth token suitable for DGT play.",
|
||||
br,
|
||||
br,
|
||||
|
|
|
@ -83,7 +83,7 @@ object event {
|
|||
div(cls := "box__top")(
|
||||
h1(title),
|
||||
div(cls := "box__top__actions")(
|
||||
a(cls := "button button-green", href := routes.Event.form, dataIcon := "O")
|
||||
a(cls := "button button-green", href := routes.Event.form, dataIcon := "")
|
||||
)
|
||||
),
|
||||
table(cls := "slist slist-pad")(
|
||||
|
@ -112,7 +112,7 @@ object event {
|
|||
showDateTimeUTC(e.finishesAt),
|
||||
momentFromNow(e.finishesAt)
|
||||
),
|
||||
td(a(cls := "text", href := routes.Event.show(e.id), dataIcon := "v"))
|
||||
td(a(cls := "text", href := routes.Event.show(e.id), dataIcon := ""))
|
||||
)
|
||||
}
|
||||
)
|
||||
|
|
|
@ -24,7 +24,7 @@ object categ {
|
|||
) {
|
||||
main(cls := "forum index box")(
|
||||
div(cls := "box__top")(
|
||||
h1(dataIcon := "d", cls := "text")("Lichess Forum"),
|
||||
h1(dataIcon := "", cls := "text")("Lichess Forum"),
|
||||
bits.searchForm()
|
||||
),
|
||||
showCategs(categs.filterNot(_.categ.isTeam)),
|
||||
|
@ -47,7 +47,7 @@ object categ {
|
|||
a(
|
||||
href := routes.ForumTopic.form(categ.slug),
|
||||
cls := "button button-empty button-green text",
|
||||
dataIcon := "m"
|
||||
dataIcon := ""
|
||||
)(
|
||||
trans.createANewTopic()
|
||||
)
|
||||
|
@ -89,7 +89,7 @@ object categ {
|
|||
h1(
|
||||
a(
|
||||
href := categ.team.fold(routes.ForumCateg.index)(routes.Team.show(_)),
|
||||
dataIcon := "I",
|
||||
dataIcon := "",
|
||||
cls := "text"
|
||||
),
|
||||
categ.team.fold(frag(categ.name))(teamIdToName)
|
||||
|
|
|
@ -16,7 +16,7 @@ object post {
|
|||
posts map { p =>
|
||||
li(
|
||||
a(
|
||||
dataIcon := p.isTeam.option("f"),
|
||||
dataIcon := p.isTeam.option(""),
|
||||
cls := "post_link text",
|
||||
href := routes.ForumPost.redirect(p.postId),
|
||||
title := p.topicName
|
||||
|
@ -56,12 +56,12 @@ object post {
|
|||
}
|
||||
),
|
||||
(!post.erased && ctx.userId.exists(post.shouldShowEditForm)) option
|
||||
a(cls := "mod edit button button-empty text", dataIcon := "m")("Edit"),
|
||||
a(cls := "mod edit button button-empty text", dataIcon := "")("Edit"),
|
||||
if (!post.erased && ctx.userId.has(~post.userId))
|
||||
postForm(action := routes.ForumPost.delete(categ.slug, post.id))(
|
||||
submitButton(
|
||||
cls := "mod delete button button-empty confirm",
|
||||
dataIcon := "q",
|
||||
dataIcon := "",
|
||||
title := "Delete"
|
||||
)
|
||||
)
|
||||
|
@ -69,7 +69,7 @@ object post {
|
|||
a(
|
||||
cls := "mod delete button button-empty",
|
||||
href := routes.ForumPost.delete(categ.slug, post.id),
|
||||
dataIcon := "q",
|
||||
dataIcon := "",
|
||||
title := "Delete"
|
||||
)
|
||||
else
|
||||
|
@ -81,7 +81,7 @@ object post {
|
|||
titleOrText(trans.reportXToModerators.txt(userId)),
|
||||
cls := "mod report button button-empty",
|
||||
href := s"${routes.Report.form}?username=${userId}&postUrl=${urlencode(postUrl)}",
|
||||
dataIcon := "!"
|
||||
dataIcon := ""
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ object search {
|
|||
main(cls := "box search")(
|
||||
div(cls := "box__top")(
|
||||
h1(
|
||||
a(href := routes.ForumCateg.index, dataIcon := "I", cls := "text"),
|
||||
a(href := routes.ForumCateg.index, dataIcon := "", cls := "text"),
|
||||
title
|
||||
),
|
||||
bits.searchForm(text)
|
||||
|
|
|
@ -23,11 +23,11 @@ object topic {
|
|||
) {
|
||||
main(cls := "forum forum-topic topic-form page-small box box-pad")(
|
||||
h1(
|
||||
a(href := routes.ForumCateg.show(categ.slug), dataIcon := "I", cls := "text"),
|
||||
a(href := routes.ForumCateg.show(categ.slug), dataIcon := "", cls := "text"),
|
||||
categ.name
|
||||
),
|
||||
st.section(cls := "warning")(
|
||||
h2(dataIcon := "!", cls := "text")(trans.important()),
|
||||
h2(dataIcon := "", cls := "text")(trans.important()),
|
||||
p(
|
||||
trans.yourQuestionMayHaveBeenAnswered(
|
||||
strong(a(href := routes.Main.faq)(trans.inTheFAQ()))
|
||||
|
@ -100,7 +100,7 @@ object topic {
|
|||
h1(
|
||||
a(
|
||||
href := routes.ForumCateg.show(categ.slug),
|
||||
dataIcon := "I",
|
||||
dataIcon := "",
|
||||
cls := "text"
|
||||
),
|
||||
topic.name
|
||||
|
@ -142,10 +142,10 @@ object topic {
|
|||
cls := s"unsub ${if (uns) "on" else "off"}",
|
||||
action := routes.Timeline.unsub(s"forum:${topic.id}")
|
||||
)(
|
||||
button(cls := "button button-empty text on", dataIcon := "v", bits.dataUnsub := "off")(
|
||||
button(cls := "button button-empty text on", dataIcon := "", bits.dataUnsub := "off")(
|
||||
trans.subscribe()
|
||||
),
|
||||
button(cls := "button button-empty text off", dataIcon := "v", bits.dataUnsub := "on")(
|
||||
button(cls := "button button-empty text off", dataIcon := "", bits.dataUnsub := "on")(
|
||||
trans.unsubscribe()
|
||||
)
|
||||
)
|
||||
|
|
|
@ -14,12 +14,12 @@ object bits {
|
|||
|
||||
def gameIcon(game: Game): Char =
|
||||
game.perfType match {
|
||||
case _ if game.fromPosition => '*'
|
||||
case _ if game.imported => '/'
|
||||
case _ if game.fromPosition => ''
|
||||
case _ if game.imported => ''
|
||||
case Some(p) if game.variant.exotic => p.iconChar
|
||||
case _ if game.hasAi => 'n'
|
||||
case _ if game.hasAi => ''
|
||||
case Some(p) => p.iconChar
|
||||
case _ => '8'
|
||||
case _ => ''
|
||||
}
|
||||
|
||||
def sides(
|
||||
|
|
|
@ -53,7 +53,7 @@ object importGame {
|
|||
help = Some(analyseHelp),
|
||||
disabled = ctx.isAnon
|
||||
),
|
||||
form3.action(form3.submit(trans.importGame(), "/".some))
|
||||
form3.action(form3.submit(trans.importGame(), "".some))
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
|
@ -113,7 +113,7 @@ object side {
|
|||
},
|
||||
tour.map { t =>
|
||||
st.section(cls := "game__tournament")(
|
||||
a(cls := "text", dataIcon := "g", href := routes.Tournament.show(t.tour.id))(t.tour.name()),
|
||||
a(cls := "text", dataIcon := "", href := routes.Tournament.show(t.tour.id))(t.tour.name()),
|
||||
div(cls := "clock", dataTime := t.tour.secondsToFinish)(t.tour.clockStatus)
|
||||
)
|
||||
} orElse game.tournamentId.map { tourId =>
|
||||
|
|
|
@ -60,7 +60,7 @@ object widgets {
|
|||
),
|
||||
div(cls := "versus")(
|
||||
gamePlayer(g.whitePlayer),
|
||||
div(cls := "swords", dataIcon := "U"),
|
||||
div(cls := "swords", dataIcon := ""),
|
||||
gamePlayer(g.blackPlayer)
|
||||
),
|
||||
div(cls := "result")(
|
||||
|
|
|
@ -66,7 +66,7 @@ object insight {
|
|||
moreCss = cssTag("insight")
|
||||
)(
|
||||
main(cls := "box box-pad page-small")(
|
||||
h1(cls := "text", dataIcon := "7")(u.username, " chess insights"),
|
||||
h1(cls := "text", dataIcon := "")(u.username, " chess insights"),
|
||||
p(userLink(u), " has no chess insights yet!"),
|
||||
refreshForm(u, s"Generate ${u.username}'s chess insights")
|
||||
)
|
||||
|
@ -88,7 +88,7 @@ object insight {
|
|||
|
||||
def refreshForm(u: User, action: String) =
|
||||
postForm(cls := "insight-refresh", st.action := routes.Insight.refresh(u.username))(
|
||||
button(dataIcon := "E", cls := "button text")(action),
|
||||
button(dataIcon := "", cls := "button text")(action),
|
||||
div(cls := "crunching none")(
|
||||
spinner,
|
||||
br,
|
||||
|
|
|
@ -116,7 +116,7 @@ object irwin {
|
|||
link = false
|
||||
),
|
||||
br,
|
||||
pov.game.isTournament ?? frag(iconTag("g"), " "),
|
||||
pov.game.isTournament ?? frag(iconTag(""), " "),
|
||||
pov.game.perfType.map { pt =>
|
||||
iconTag(pt.iconChar)
|
||||
},
|
||||
|
|
|
@ -22,7 +22,7 @@ object bits {
|
|||
frag(
|
||||
div(cls := "lobby__leaderboard lobby__box")(
|
||||
div(cls := "lobby__box__top")(
|
||||
h2(cls := "title text", dataIcon := "C")(trans.leaderboard()),
|
||||
h2(cls := "title text", dataIcon := "")(trans.leaderboard()),
|
||||
a(cls := "more", href := routes.User.list)(trans.more(), " »")
|
||||
),
|
||||
div(cls := "lobby__box__content")(
|
||||
|
@ -43,7 +43,7 @@ object bits {
|
|||
),
|
||||
div(cls := "lobby__winners lobby__box")(
|
||||
div(cls := "lobby__box__top")(
|
||||
h2(cls := "title text", dataIcon := "g")(trans.tournamentWinners()),
|
||||
h2(cls := "title text", dataIcon := "")(trans.tournamentWinners()),
|
||||
a(cls := "more", href := routes.Tournament.leaderboard)(trans.more(), " »")
|
||||
),
|
||||
div(cls := "lobby__box__content")(
|
||||
|
@ -65,7 +65,7 @@ object bits {
|
|||
),
|
||||
div(cls := "lobby__tournaments lobby__box")(
|
||||
a(cls := "lobby__box__top", href := routes.Tournament.home)(
|
||||
h2(cls := "title text", dataIcon := "g")(trans.openTournaments()),
|
||||
h2(cls := "title text", dataIcon := "")(trans.openTournaments()),
|
||||
span(cls := "more")(trans.more(), " »")
|
||||
),
|
||||
div(cls := "enterable_list lobby__box__content")(
|
||||
|
@ -74,7 +74,7 @@ object bits {
|
|||
),
|
||||
simuls.nonEmpty option div(cls := "lobby__simuls lobby__box")(
|
||||
a(cls := "lobby__box__top", href := routes.Simul.home)(
|
||||
h2(cls := "title text", dataIcon := "f")(trans.simultaneousExhibitions()),
|
||||
h2(cls := "title text", dataIcon := "")(trans.simultaneousExhibitions()),
|
||||
span(cls := "more")(trans.more(), " »")
|
||||
),
|
||||
div(cls := "enterable_list lobby__box__content")(
|
||||
|
@ -87,7 +87,7 @@ object bits {
|
|||
posts.nonEmpty option
|
||||
div(cls := "lobby__blog lobby__box")(
|
||||
a(cls := "lobby__box__top", href := routes.Blog.index())(
|
||||
h2(cls := "title text", dataIcon := "6")(trans.latestUpdates()),
|
||||
h2(cls := "title text", dataIcon := "")(trans.latestUpdates()),
|
||||
span(cls := "more")(trans.more(), " »")
|
||||
),
|
||||
div(cls := "lobby__box__content")(
|
||||
|
@ -138,7 +138,7 @@ object bits {
|
|||
p("You have a game in progress with ", strong(current.opponent), "."),
|
||||
br,
|
||||
br,
|
||||
a(cls := "text button button-fat", dataIcon := "G", href := routes.Round.player(current.pov.fullId))(
|
||||
a(cls := "text button button-fat", dataIcon := "", href := routes.Round.player(current.pov.fullId))(
|
||||
"Join the game"
|
||||
),
|
||||
br,
|
||||
|
@ -147,7 +147,7 @@ object bits {
|
|||
br,
|
||||
br,
|
||||
postForm(action := routes.Round.resign(current.pov.fullId))(
|
||||
button(cls := "text button button-red", dataIcon := "L")(
|
||||
button(cls := "text button button-red", dataIcon := "")(
|
||||
if (current.pov.game.abortable) "Abort" else "Resign",
|
||||
" the game"
|
||||
)
|
||||
|
|
|
@ -161,7 +161,7 @@ object home {
|
|||
ctx.noBot option bits.underboards(tours, simuls, leaderboard, tournamentWinners),
|
||||
ctx.noKid option div(cls := "lobby__forum lobby__box")(
|
||||
a(cls := "lobby__box__top", href := routes.ForumCateg.index)(
|
||||
h2(cls := "title text", dataIcon := "d")(trans.latestForumPosts()),
|
||||
h2(cls := "title text", dataIcon := "")(trans.latestForumPosts()),
|
||||
span(cls := "more")(trans.more(), " »")
|
||||
),
|
||||
div(cls := "lobby__box__content")(
|
||||
|
|
|
@ -27,27 +27,27 @@ object chatPanic {
|
|||
"Current state: ",
|
||||
state.map { s =>
|
||||
frag(
|
||||
goodTag(cls := "text", dataIcon := "E")(strong("ENABLED")),
|
||||
goodTag(cls := "text", dataIcon := "")(strong("ENABLED")),
|
||||
". Expires ",
|
||||
momentFromNow(s)
|
||||
)
|
||||
} getOrElse badTag(cls := "text", dataIcon := "L")(strong("DISABLED"))
|
||||
} getOrElse badTag(cls := "text", dataIcon := "")(strong("DISABLED"))
|
||||
),
|
||||
div(cls := "forms")(
|
||||
if (state.isDefined)
|
||||
frag(
|
||||
postForm(action := s"${routes.Mod.chatPanicPost}?v=0")(
|
||||
submitButton(cls := "button button-fat button-red text", dataIcon := "L")("Disable")
|
||||
submitButton(cls := "button button-fat button-red text", dataIcon := "")("Disable")
|
||||
),
|
||||
postForm(action := s"${routes.Mod.chatPanicPost}?v=1")(
|
||||
submitButton(cls := "button button-fat button-green text", dataIcon := "E")(
|
||||
submitButton(cls := "button button-fat button-green text", dataIcon := "")(
|
||||
"Renew for two hours"
|
||||
)
|
||||
)
|
||||
)
|
||||
else
|
||||
postForm(action := s"${routes.Mod.chatPanicPost}?v=1")(
|
||||
submitButton(cls := "button button-fat text", dataIcon := "E")("Enable")
|
||||
submitButton(cls := "button button-fat text", dataIcon := "")("Enable")
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
|
@ -60,8 +60,8 @@ this.setSelectionRange(this.value.length, this.value.length);
|
|||
td(momentFromNow(u.createdAt)),
|
||||
td(u.seenAt.map(momentFromNow(_))),
|
||||
td(style := "font-size:2em")(
|
||||
if (!u.everLoggedIn) iconTag("E")(cls := "is-green")
|
||||
else iconTag("L")(cls := "is-red")
|
||||
if (!u.everLoggedIn) iconTag("")(cls := "is-green")
|
||||
else iconTag("")(cls := "is-red")
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
|
@ -88,7 +88,7 @@ object games {
|
|||
),
|
||||
dataSortNumberTh("Opponent"),
|
||||
dataSortNumberTh("Speed"),
|
||||
th(iconTag('g')),
|
||||
th(iconTag('')),
|
||||
dataSortNumberTh("Moves"),
|
||||
dataSortNumberTh("Result"),
|
||||
dataSortNumberTh("ACPL", br, "(Avg ± SD)"),
|
||||
|
@ -123,14 +123,14 @@ object games {
|
|||
td(dataSort := ~pov.game.tournamentId)(
|
||||
pov.game.tournamentId map { tourId =>
|
||||
a(
|
||||
dataIcon := "g",
|
||||
dataIcon := "",
|
||||
href := routes.Tournament.show(tourId).url,
|
||||
title := tournamentIdToName(tourId)
|
||||
)
|
||||
},
|
||||
pov.game.swissId map { swissId =>
|
||||
a(
|
||||
dataIcon := "g",
|
||||
dataIcon := "",
|
||||
href := routes.Swiss.show(swissId).url,
|
||||
title := s"Swiss #${swissId}"
|
||||
)
|
||||
|
|
|
@ -73,7 +73,7 @@ object gamify {
|
|||
views.html.mod.menu("gamify"),
|
||||
div(id := "mod-gamify", cls := "page-menu__content box")(
|
||||
h1(
|
||||
a(href := routes.Mod.gamify, dataIcon := "I"),
|
||||
a(href := routes.Mod.gamify, dataIcon := ""),
|
||||
title
|
||||
),
|
||||
div(cls := "period")(
|
||||
|
|
|
@ -143,7 +143,7 @@ object inquiry {
|
|||
),
|
||||
div(cls := "actions")(
|
||||
isGranted(_.ModMessage) option div(cls := "dropper warn buttons")(
|
||||
iconTag("e"),
|
||||
iconTag(""),
|
||||
div(
|
||||
env.mod.presets.pmPresets.get().value.map { preset =>
|
||||
postForm(action := routes.Mod.warn(in.user.username, preset.name))(
|
||||
|
@ -157,7 +157,7 @@ object inquiry {
|
|||
val url = routes.Mod.engine(in.user.username, !in.user.marks.engine).url
|
||||
div(cls := "dropper engine buttons")(
|
||||
postForm(action := url, title := "Mark as cheat")(
|
||||
markButton(in.user.marks.engine)(dataIcon := "n"),
|
||||
markButton(in.user.marks.engine)(dataIcon := ""),
|
||||
autoNextInput
|
||||
),
|
||||
thenForms(url, markButton(false))
|
||||
|
@ -167,7 +167,7 @@ object inquiry {
|
|||
val url = routes.Mod.booster(in.user.username, !in.user.marks.boost).url
|
||||
div(cls := "dropper booster buttons")(
|
||||
postForm(action := url, cls := "main", title := "Mark as booster or sandbagger")(
|
||||
markButton(in.user.marks.boost)(dataIcon := "9"),
|
||||
markButton(in.user.marks.boost)(dataIcon := ""),
|
||||
autoNextInput
|
||||
),
|
||||
thenForms(url, markButton(false))
|
||||
|
@ -181,7 +181,7 @@ object inquiry {
|
|||
title := (if (in.user.marks.troll) "Un-shadowban" else "Shadowban"),
|
||||
cls := "main"
|
||||
)(
|
||||
markButton(in.user.marks.troll)(dataIcon := "c"),
|
||||
markButton(in.user.marks.troll)(dataIcon := ""),
|
||||
autoNextInput
|
||||
),
|
||||
thenForms(url, markButton(false))
|
||||
|
@ -198,7 +198,7 @@ object inquiry {
|
|||
)
|
||||
},
|
||||
div(cls := "dropper more buttons")(
|
||||
iconTag("u"),
|
||||
iconTag(""),
|
||||
div(
|
||||
isGranted(_.NotifySlack) option {
|
||||
postForm(action := routes.Mod.notifySlack(in.user.id))(
|
||||
|
@ -232,7 +232,7 @@ object inquiry {
|
|||
title := "Dismiss this report as processed. (Hotkey: d)",
|
||||
cls := "process"
|
||||
)(
|
||||
submitButton(dataIcon := "E", cls := "fbt"),
|
||||
submitButton(dataIcon := "", cls := "fbt"),
|
||||
autoNextInput
|
||||
),
|
||||
postForm(
|
||||
|
@ -240,7 +240,7 @@ object inquiry {
|
|||
title := "Cancel the inquiry, re-instore the report",
|
||||
cls := "cancel"
|
||||
)(
|
||||
submitButton(dataIcon := "L", cls := "fbt")
|
||||
submitButton(dataIcon := "", cls := "fbt")
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
|
@ -38,7 +38,7 @@ object presets {
|
|||
).some
|
||||
)(form3.textarea(_)(rows := 20)),
|
||||
form3.action(
|
||||
submitButton(cls := "button text", dataIcon := "E")("Save")
|
||||
submitButton(cls := "button text", dataIcon := "")("Save")
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
|
@ -38,7 +38,7 @@ object index {
|
|||
submitButton(
|
||||
cls := "button button-empty button-red confirm text",
|
||||
title := s"Revoke access from ${t.app.name}",
|
||||
dataIcon := "q"
|
||||
dataIcon := ""
|
||||
)("Revoke")
|
||||
)
|
||||
)
|
||||
|
@ -81,13 +81,13 @@ object index {
|
|||
href := routes.OAuthApp.edit(t.clientId.value),
|
||||
cls := "button button-empty",
|
||||
title := "Edit this app",
|
||||
dataIcon := "m"
|
||||
dataIcon := ""
|
||||
),
|
||||
postForm(action := routes.OAuthApp.delete(t.clientId.value))(
|
||||
submitButton(
|
||||
cls := "button button-empty button-red confirm",
|
||||
title := "Delete this app",
|
||||
dataIcon := "q"
|
||||
dataIcon := ""
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
|
@ -17,7 +17,7 @@ object index {
|
|||
div(cls := "box__top")(
|
||||
h1(title),
|
||||
st.form(cls := "box-top__actions", action := routes.OAuthToken.create)(
|
||||
submitButton(cls := "button frameless", st.title := "New access token", dataIcon := "O")
|
||||
submitButton(cls := "button frameless", st.title := "New access token", dataIcon := "")
|
||||
)
|
||||
),
|
||||
standardFlash(cls := "box__pad"),
|
||||
|
@ -45,7 +45,7 @@ object index {
|
|||
),
|
||||
tokens.headOption.filter(_.isBrandNew).map { token =>
|
||||
div(cls := "box__pad brand")(
|
||||
iconTag("E")(cls := "is-green"),
|
||||
iconTag("")(cls := "is-green"),
|
||||
div(
|
||||
p(
|
||||
"Make sure to copy your new personal access token now.",
|
||||
|
|
|
@ -194,11 +194,11 @@ object features {
|
|||
st.tr(th(name), th(trans.patron.freeAccount()), th(trans.patron.lichessPatron()))
|
||||
)
|
||||
|
||||
private val unlimited = span(dataIcon := "E", cls := "is is-green text unlimited")("Unlimited")
|
||||
private val unlimited = span(dataIcon := "", cls := "is is-green text unlimited")("Unlimited")
|
||||
|
||||
private val check = span(dataIcon := "E", cls := "is is-green text check")("Yes")
|
||||
private val check = span(dataIcon := "", cls := "is is-green text check")("Yes")
|
||||
|
||||
private def custom(str: String) = span(dataIcon := "E", cls := "is is-green text check")(str)
|
||||
private def custom(str: String) = span(dataIcon := "", cls := "is is-green text check")(str)
|
||||
|
||||
private def all(content: Frag) = frag(td(content), td(content))
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ object config {
|
|||
postForm(action := routes.Practice.configSave)(
|
||||
textarea(cls := "practice_text", name := "text")(form("text").value),
|
||||
errMsg(form("text")),
|
||||
submitButton(cls := "button button-fat text", dataIcon := "E")("Save")
|
||||
submitButton(cls := "button button-fat text", dataIcon := "")("Save")
|
||||
),
|
||||
div(cls := "preview")(
|
||||
ol(
|
||||
|
|
|
@ -112,7 +112,7 @@ object dashboard {
|
|||
bits.pageMenu(path),
|
||||
div(cls := s"page-menu__content box box-pad $baseClass")(
|
||||
div(cls := "box__top")(
|
||||
// iconTag('-'),
|
||||
// iconTag(''),
|
||||
h1(
|
||||
title,
|
||||
strong(subtitle)
|
||||
|
@ -178,7 +178,7 @@ object dashboard {
|
|||
strong(results.unfixed),
|
||||
span("to replay")
|
||||
),
|
||||
iconTag(if (results.canReplay) 'G' else 'E')
|
||||
iconTag(if (results.canReplay) '' else '')
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
|
@ -25,13 +25,13 @@ object actions {
|
|||
titleOrText(trans.challenge.challengeToPlay.txt()),
|
||||
href := s"${routes.Lobby.home}?user=$userId#friend",
|
||||
cls := "btn-rack__btn",
|
||||
dataIcon := "U"
|
||||
dataIcon := ""
|
||||
),
|
||||
a(
|
||||
titleOrText(trans.composeMessage.txt()),
|
||||
href := routes.Msg.convo(userId),
|
||||
cls := "btn-rack__btn",
|
||||
dataIcon := "c"
|
||||
dataIcon := ""
|
||||
)
|
||||
),
|
||||
relation match {
|
||||
|
@ -41,18 +41,18 @@ object actions {
|
|||
cls := "btn-rack__btn relation-button",
|
||||
href := routes.Relation.follow(userId),
|
||||
titleOrText(trans.follow.txt()),
|
||||
dataIcon := "h"
|
||||
dataIcon := ""
|
||||
),
|
||||
a(
|
||||
cls := "btn-rack__btn relation-button",
|
||||
href := routes.Relation.block(userId),
|
||||
titleOrText(trans.block.txt()),
|
||||
dataIcon := "k"
|
||||
dataIcon := ""
|
||||
)
|
||||
)
|
||||
case Some(true) =>
|
||||
a(
|
||||
dataIcon := "h",
|
||||
dataIcon := "",
|
||||
cls := "btn-rack__btn relation-button text hover-text",
|
||||
href := routes.Relation.unfollow(userId),
|
||||
titleOrText(trans.following.txt()),
|
||||
|
@ -60,7 +60,7 @@ object actions {
|
|||
)
|
||||
case Some(false) =>
|
||||
a(
|
||||
dataIcon := "k",
|
||||
dataIcon := "",
|
||||
cls := "btn-rack__btn relation-button text hover-text",
|
||||
href := routes.Relation.unblock(userId),
|
||||
titleOrText(trans.blocked.txt()),
|
||||
|
|
|
@ -18,7 +18,7 @@ object mini {
|
|||
case None if followable && !blocked =>
|
||||
a(
|
||||
cls := "btn-rack__btn relation-button text",
|
||||
dataIcon := "h",
|
||||
dataIcon := "",
|
||||
href := s"${routes.Relation.follow(userId)}?mini=1"
|
||||
)(trans.follow())
|
||||
case Some(true) =>
|
||||
|
@ -26,14 +26,14 @@ object mini {
|
|||
cls := "btn-rack__btn relation-button text",
|
||||
title := trans.unfollow.txt(),
|
||||
href := s"${routes.Relation.unfollow(userId)}?mini=1",
|
||||
dataIcon := "h"
|
||||
dataIcon := ""
|
||||
)(trans.following())
|
||||
case Some(false) =>
|
||||
a(
|
||||
cls := "btn-rack__btn relation-button text",
|
||||
title := trans.unblock.txt(),
|
||||
href := s"${routes.Relation.unblock(userId)}?mini=1",
|
||||
dataIcon := "k"
|
||||
dataIcon := ""
|
||||
)(trans.blocked())
|
||||
case _ => emptyFrag
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ object tour {
|
|||
href := routes.RelayTour.form,
|
||||
cls := "new button button-empty",
|
||||
title := newBroadcast.txt(),
|
||||
dataIcon := "O"
|
||||
dataIcon := ""
|
||||
)
|
||||
),
|
||||
st.section(
|
||||
|
|
|
@ -62,7 +62,7 @@ object form {
|
|||
form3.hidden("text", text take 140),
|
||||
submitButton(
|
||||
cls := "button button-empty button-red confirm",
|
||||
dataIcon := "j",
|
||||
dataIcon := "",
|
||||
title := "Report spam or offensive language"
|
||||
)
|
||||
)
|
||||
|
|
|
@ -64,12 +64,12 @@ object list {
|
|||
case None =>
|
||||
if (r.done.isDefined)
|
||||
postForm(action := routes.Report.inquiry(r.id), cls := "reopen")(
|
||||
submitButton(dataIcon := "G", cls := "text button button-metal")("Reopen")
|
||||
submitButton(dataIcon := "", cls := "text button button-metal")("Reopen")
|
||||
)
|
||||
else
|
||||
frag(
|
||||
postForm(action := routes.Report.inquiry(r.id), cls := "inquiry")(
|
||||
submitButton(dataIcon := "G", cls := "button button-metal")
|
||||
submitButton(dataIcon := "", cls := "button button-metal")
|
||||
),
|
||||
postForm(action := routes.Report.process(r.id), cls := "cancel")(
|
||||
submitButton(cls := "button button-thin button-empty")("Dismiss")
|
||||
|
|
|
@ -37,7 +37,7 @@ fetch($button.data('action'), {method:'post'})
|
|||
cls := "report-block button",
|
||||
st.title := trans.block.txt()
|
||||
)(
|
||||
span(cls := "text", dataIcon := "k")("Block ", usernameOrId(userId))
|
||||
span(cls := "text", dataIcon := "")("Block ", usernameOrId(userId))
|
||||
)
|
||||
),
|
||||
br,
|
||||
|
|
|
@ -22,7 +22,7 @@ private object bits {
|
|||
dataValidateUrl := s"""${routes.Setup.validateFen}${strict.??("?strict=1")}"""
|
||||
)(
|
||||
form3.input(field)(st.placeholder := trans.pasteTheFenStringHere.txt()),
|
||||
a(cls := "button button-empty", dataIcon := "m", title := trans.boardEditor.txt(), href := url)
|
||||
a(cls := "button button-empty", dataIcon := "", title := trans.boardEditor.txt(), href := url)
|
||||
),
|
||||
a(cls := "board_editor", href := url)(
|
||||
span(cls := "preview")(
|
||||
|
|
|
@ -75,10 +75,10 @@ object filter {
|
|||
)
|
||||
),
|
||||
div(cls := "actions")(
|
||||
button(tpe := "reset", cls := "button button-empty button-red text reset", dataIcon := "k")(
|
||||
button(tpe := "reset", cls := "button button-empty button-red text reset", dataIcon := "")(
|
||||
trans.reset()
|
||||
),
|
||||
submitButton(cls := "button button-green text apply", dataIcon := "E")(trans.apply())
|
||||
submitButton(cls := "button button-green text apply", dataIcon := "")(trans.apply())
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
|
@ -133,7 +133,7 @@ object forms {
|
|||
frag(
|
||||
p(cls := "error")(e),
|
||||
br,
|
||||
a(href := routes.Lobby.home, cls := "button text", dataIcon := "L")(trans.cancel.txt())
|
||||
a(href := routes.Lobby.home, cls := "button text", dataIcon := "")(trans.cancel.txt())
|
||||
)
|
||||
}
|
||||
.getOrElse {
|
||||
|
|
|
@ -45,8 +45,8 @@ object bits {
|
|||
tr(
|
||||
td(cls := "name")(a(href := routes.Simul.show(simul.id))(simul.fullName)),
|
||||
td(userIdLink(simul.hostId.some)),
|
||||
td(cls := "text", dataIcon := "p")(simul.clock.config.show),
|
||||
td(cls := "text", dataIcon := "r")(simul.applicants.size)
|
||||
td(cls := "text", dataIcon := "")(simul.clock.config.show),
|
||||
td(cls := "text", dataIcon := "")(simul.applicants.size)
|
||||
)
|
||||
}
|
||||
)
|
||||
|
|
|
@ -30,7 +30,7 @@ object form {
|
|||
formContent(form, teams, none),
|
||||
form3.actions(
|
||||
a(href := routes.Simul.home)(trans.cancel()),
|
||||
form3.submit(trans.hostANewSimul(), icon = "g".some)
|
||||
form3.submit(trans.hostANewSimul(), icon = "".some)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -50,11 +50,11 @@ object form {
|
|||
formContent(form, teams, simul.some),
|
||||
form3.actions(
|
||||
a(href := routes.Simul.show(simul.id))(trans.cancel()),
|
||||
form3.submit(trans.save(), icon = "g".some)
|
||||
form3.submit(trans.save(), icon = "".some)
|
||||
)
|
||||
),
|
||||
postForm(cls := "terminate", action := routes.Simul.abort(simul.id))(
|
||||
submitButton(dataIcon := "j", cls := "text button button-red confirm")(
|
||||
submitButton(dataIcon := "", cls := "text button button-red confirm")(
|
||||
"Cancel the simul"
|
||||
)
|
||||
)
|
||||
|
|
|
@ -31,7 +31,7 @@ object homeInner {
|
|||
tr(cls := "scheduled")(
|
||||
simTd(sim),
|
||||
simHost(sim),
|
||||
td(cls := "players text", dataIcon := "r")(sim.applicants.size)
|
||||
td(cls := "players text", dataIcon := "")(sim.applicants.size)
|
||||
)
|
||||
}
|
||||
)
|
||||
|
@ -48,7 +48,7 @@ object homeInner {
|
|||
tr(cls := "scheduled")(
|
||||
simTd(sim),
|
||||
simHost(sim),
|
||||
td(cls := "players text", dataIcon := "r")(sim.applicants.size)
|
||||
td(cls := "players text", dataIcon := "")(sim.applicants.size)
|
||||
)
|
||||
},
|
||||
ctx.isAuth option tr(cls := "create")(
|
||||
|
@ -70,7 +70,7 @@ object homeInner {
|
|||
tr(
|
||||
simTd(sim),
|
||||
simHost(sim),
|
||||
td(cls := "players text", dataIcon := "r")(sim.pairings.size)
|
||||
td(cls := "players text", dataIcon := "")(sim.pairings.size)
|
||||
)
|
||||
}
|
||||
)
|
||||
|
@ -87,7 +87,7 @@ object homeInner {
|
|||
tr(
|
||||
simTd(sim),
|
||||
simHost(sim),
|
||||
td(cls := "players text", dataIcon := "r")(sim.pairings.size)
|
||||
td(cls := "players text", dataIcon := "")(sim.pairings.size)
|
||||
)
|
||||
}
|
||||
)
|
||||
|
|
|
@ -48,7 +48,7 @@ object show {
|
|||
div(cls := "simul__meta")(
|
||||
div(cls := "game-infos")(
|
||||
div(cls := "header")(
|
||||
iconTag("f"),
|
||||
iconTag(""),
|
||||
div(
|
||||
span(cls := "clock")(sim.clock.config.show),
|
||||
div(cls := "setup")(
|
||||
|
@ -57,7 +57,7 @@ object show {
|
|||
trans.casual(),
|
||||
(isGranted(_.ManageSimul) || ctx.userId.has(sim.hostId)) && sim.isCreated option frag(
|
||||
" • ",
|
||||
a(href := routes.Simul.edit(sim.id), title := "Edit simul")(iconTag("%"))
|
||||
a(href := routes.Simul.edit(sim.id), title := "Edit simul")(iconTag(""))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
|
@ -159,7 +159,7 @@ object contact {
|
|||
"."
|
||||
),
|
||||
p(
|
||||
youCanAlsoReachReportPage(button(cls := "thin button button-empty", dataIcon := "!"))
|
||||
youCanAlsoReachReportPage(button(cls := "thin button button-empty", dataIcon := ""))
|
||||
),
|
||||
p(
|
||||
doNotMessageModerators(),
|
||||
|
|
|
@ -21,7 +21,7 @@ object message {
|
|||
main(cls := "box box-pad")(
|
||||
h1(dataIcon := icon ifTrue back.isEmpty, cls := List("text" -> (icon.isDefined && back.isEmpty)))(
|
||||
back map { url =>
|
||||
a(href := url, dataIcon := "I", cls := "text")
|
||||
a(href := url, dataIcon := "", cls := "text")
|
||||
},
|
||||
title
|
||||
),
|
||||
|
|
|
@ -122,7 +122,7 @@ $('#asset-version-message').text(lichess.info.message);"""
|
|||
cls := "copyable autoselect",
|
||||
value := s"""<iframe src="$netBaseUrl/tv/frame?theme=brown&bg=dark" $args></iframe>"""
|
||||
),
|
||||
button(title := "Copy code", cls := "copy button", dataRel := "tv-embed-src", dataIcon := "\"")
|
||||
button(title := "Copy code", cls := "copy button", dataRel := "tv-embed-src", dataIcon := "")
|
||||
),
|
||||
parameters
|
||||
)
|
||||
|
@ -146,7 +146,7 @@ $('#asset-version-message').text(lichess.info.message);"""
|
|||
title := "Copy code",
|
||||
cls := "copy button",
|
||||
dataRel := "puzzle-embed-src",
|
||||
dataIcon := "\""
|
||||
dataIcon := ""
|
||||
)
|
||||
),
|
||||
parameters,
|
||||
|
@ -205,7 +205,7 @@ $('#asset-version-message').text(lichess.info.message);"""
|
|||
moreJs = moreJs
|
||||
) {
|
||||
val sep = div(cls := "sep")
|
||||
val external = frag(" ", i(dataIcon := "0"))
|
||||
val external = frag(" ", i(dataIcon := ""))
|
||||
def activeCls(c: String) = cls := active.activeO(c)
|
||||
main(cls := "page-menu")(
|
||||
st.nav(cls := "page-menu__menu subnav")(
|
||||
|
|
|
@ -54,7 +54,7 @@ object edit extends Context.ToLang {
|
|||
frag(
|
||||
(ctx.is(s.user) && s.streamer.listed.value) option div(
|
||||
cls := s"status is${granted ?? "-green"}",
|
||||
dataIcon := (if (granted) "E" else "")
|
||||
dataIcon := (if (granted) "" else "")
|
||||
)(
|
||||
if (granted)
|
||||
frag(
|
||||
|
@ -94,7 +94,7 @@ object edit extends Context.ToLang {
|
|||
),
|
||||
modData.map { case ((log, notes), same) =>
|
||||
div(cls := "mod_log status")(
|
||||
strong(cls := "text", dataIcon := "!")(
|
||||
strong(cls := "text", dataIcon := "")(
|
||||
"Moderation history",
|
||||
log.isEmpty option ": nothing to show."
|
||||
),
|
||||
|
@ -112,7 +112,7 @@ object edit extends Context.ToLang {
|
|||
}
|
||||
),
|
||||
br,
|
||||
strong(cls := "text", dataIcon := "!")(
|
||||
strong(cls := "text", dataIcon := "")(
|
||||
"Moderator notes",
|
||||
notes.isEmpty option ": nothing to show."
|
||||
),
|
||||
|
@ -126,7 +126,7 @@ object edit extends Context.ToLang {
|
|||
}
|
||||
),
|
||||
br,
|
||||
strong(cls := "text", dataIcon := "!")(
|
||||
strong(cls := "text", dataIcon := "")(
|
||||
"Streamers with same Twitch or YouTube",
|
||||
same.isEmpty option ": nothing to show."
|
||||
),
|
||||
|
@ -192,7 +192,7 @@ object edit extends Context.ToLang {
|
|||
name := "approval.quick",
|
||||
value := "approve"
|
||||
),
|
||||
form3.submit("Decline and next", icon = "L".some)(
|
||||
form3.submit("Decline and next", icon = "".some)(
|
||||
cls := "button-red",
|
||||
name := "approval.quick",
|
||||
value := "decline"
|
||||
|
|
|
@ -39,7 +39,7 @@ $('.streamer-picture form.upload input[type=file]').on('change', function() {
|
|||
submitButton(cls := "button button-red")(deletePicture())
|
||||
),
|
||||
div(cls := "cancel")(
|
||||
a(href := routes.Streamer.edit, cls := "text", dataIcon := "I")(trans.cancel())
|
||||
a(href := routes.Streamer.edit, cls := "text", dataIcon := "")(trans.cancel())
|
||||
)
|
||||
)
|
||||
)
|
||||
|
|
|
@ -29,7 +29,7 @@ object bits {
|
|||
|
||||
def newForm()(implicit ctx: Context) =
|
||||
postForm(cls := "new-study", action := routes.Study.create)(
|
||||
submitButton(cls := "button button-green", dataIcon := "O", title := trans.study.createStudy.txt())
|
||||
submitButton(cls := "button button-green", dataIcon := "", title := trans.study.createStudy.txt())
|
||||
)
|
||||
|
||||
def authLinks(active: String, order: lila.study.Order)(implicit ctx: Context) = {
|
||||
|
@ -50,12 +50,12 @@ object bits {
|
|||
def widget(s: lila.study.Study.WithChaptersAndLiked, tag: Tag = h2)(implicit ctx: Context) =
|
||||
frag(
|
||||
a(cls := "overlay", href := routes.Study.show(s.study.id.value), title := s.study.name.value),
|
||||
div(cls := "top", dataIcon := "4")(
|
||||
div(cls := "top", dataIcon := "")(
|
||||
div(
|
||||
tag(cls := "study-name")(s.study.name.value),
|
||||
span(
|
||||
!s.study.isPublic option frag(
|
||||
iconTag("a")(cls := "private", ariaTitle(trans.study.`private`.txt())),
|
||||
iconTag("")(cls := "private", ariaTitle(trans.study.`private`.txt())),
|
||||
" "
|
||||
),
|
||||
iconTag(if (s.liked) "" else ""),
|
||||
|
@ -71,14 +71,14 @@ object bits {
|
|||
div(cls := "body")(
|
||||
ol(cls := "chapters")(
|
||||
s.chapters.map { name =>
|
||||
li(cls := "text", dataIcon := "K")(name.value)
|
||||
li(cls := "text", dataIcon := "")(name.value)
|
||||
}
|
||||
),
|
||||
ol(cls := "members")(
|
||||
s.study.members.members.values
|
||||
.take(4)
|
||||
.map { m =>
|
||||
li(cls := "text", dataIcon := (if (m.canContribute) "" else "v"))(usernameOrId(m.id))
|
||||
li(cls := "text", dataIcon := (if (m.canContribute) "" else ""))(usernameOrId(m.id))
|
||||
}
|
||||
.toList
|
||||
)
|
||||
|
|
|
@ -11,7 +11,7 @@ object clone {
|
|||
def apply(s: lila.study.Study)(implicit ctx: Context) =
|
||||
views.html.site.message(
|
||||
title = s"Clone ${s.name}",
|
||||
icon = Some("4")
|
||||
icon = Some("")
|
||||
) {
|
||||
postForm(action := routes.Study.cloneApply(s.id.value))(
|
||||
p("This will create a new private study with the same chapters."),
|
||||
|
@ -21,12 +21,12 @@ object clone {
|
|||
p(
|
||||
submitButton(
|
||||
cls := "submit button large text",
|
||||
dataIcon := "4",
|
||||
dataIcon := "",
|
||||
style := "margin: 30px auto; display: block; font-size: 2em;"
|
||||
)("Clone the study")
|
||||
),
|
||||
p(
|
||||
a(href := routes.Study.show(s.id.value), cls := "text", dataIcon := "I")(trans.cancel())
|
||||
a(href := routes.Study.show(s.id.value), cls := "text", dataIcon := "")(trans.cancel())
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ object create {
|
|||
)(implicit ctx: Context) =
|
||||
views.html.site.message(
|
||||
title = trans.toStudy.txt(),
|
||||
icon = Some("4"),
|
||||
icon = Some(""),
|
||||
back = data.fen.map(f => routes.Editor.load(f.value).url),
|
||||
moreCss = cssTag("study.create").some
|
||||
) {
|
||||
|
@ -36,7 +36,7 @@ object create {
|
|||
name := "as",
|
||||
value := "study",
|
||||
cls := "submit button large new text",
|
||||
dataIcon := "4"
|
||||
dataIcon := ""
|
||||
)(trans.study.createStudy())
|
||||
),
|
||||
div(cls := "studies")(
|
||||
|
|
|
@ -41,7 +41,7 @@ object embed {
|
|||
a(
|
||||
targetBlank,
|
||||
cls := "open",
|
||||
dataIcon := "=",
|
||||
dataIcon := "",
|
||||
href := url,
|
||||
title := trans.study.open.txt()
|
||||
)
|
||||
|
|
|
@ -116,7 +116,7 @@ object list {
|
|||
private[study] def paginate(pager: Paginator[WithChaptersAndLiked], url: Call)(implicit ctx: Context) =
|
||||
if (pager.currentPageResults.isEmpty)
|
||||
div(cls := "nostudies")(
|
||||
iconTag("4"),
|
||||
iconTag(""),
|
||||
p(trans.study.noneYet())
|
||||
)
|
||||
else
|
||||
|
@ -149,7 +149,7 @@ object list {
|
|||
private[study] def searchForm(placeholder: String, value: String) =
|
||||
form(cls := "search", action := routes.Study.search(), method := "get")(
|
||||
input(name := "q", st.placeholder := placeholder, st.value := value),
|
||||
submitButton(cls := "button", dataIcon := "y")
|
||||
submitButton(cls := "button", dataIcon := "")
|
||||
)
|
||||
|
||||
private def layout(
|
||||
|
|
|
@ -14,7 +14,7 @@ object bits {
|
|||
def link(swissId: Swiss.Id): Frag = link(swissId, idToName(swissId))
|
||||
def link(swissId: Swiss.Id, name: String): Frag =
|
||||
a(
|
||||
dataIcon := "g",
|
||||
dataIcon := "",
|
||||
cls := "text",
|
||||
href := routes.Swiss.show(swissId.value).url
|
||||
)(name)
|
||||
|
@ -64,7 +64,7 @@ object bits {
|
|||
td(cls := "infos")(
|
||||
momentFromNowOnce(s.startsAt)
|
||||
),
|
||||
td(cls := "text", dataIcon := "r")(s.nbPlayers.localize)
|
||||
td(cls := "text", dataIcon := "")(s.nbPlayers.localize)
|
||||
)
|
||||
}
|
||||
)
|
||||
|
|
|
@ -40,7 +40,7 @@ object form {
|
|||
form3.globalError(form),
|
||||
form3.actions(
|
||||
a(href := routes.Team.show(teamId))(trans.cancel()),
|
||||
form3.submit(trans.createANewTournament(), icon = "g".some)
|
||||
form3.submit(trans.createANewTournament(), icon = "".some)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -75,11 +75,11 @@ object form {
|
|||
form3.globalError(form),
|
||||
form3.actions(
|
||||
a(href := routes.Swiss.show(swiss.id.value))(trans.cancel()),
|
||||
form3.submit(trans.save(), icon = "g".some)
|
||||
form3.submit(trans.save(), icon = "".some)
|
||||
)
|
||||
),
|
||||
postForm(cls := "terminate", action := routes.Swiss.terminate(swiss.id.value))(
|
||||
submitButton(dataIcon := "j", cls := "text button button-red confirm")(
|
||||
submitButton(dataIcon := "", cls := "text button button-red confirm")(
|
||||
"Cancel the tournament"
|
||||
)
|
||||
)
|
||||
|
|
|
@ -28,7 +28,7 @@ object home {
|
|||
)
|
||||
),
|
||||
div(cls := "team")(
|
||||
iconTag("f"),
|
||||
iconTag(""),
|
||||
p(
|
||||
"Swiss tournaments can only be created by team leaders, and can only be played by team members.",
|
||||
br,
|
||||
|
@ -72,7 +72,7 @@ object home {
|
|||
td(
|
||||
momentFromNow(s.startsAt),
|
||||
br,
|
||||
span(cls := "players text", dataIcon := "r")(s.nbPlayers.localize)
|
||||
span(cls := "players text", dataIcon := "")(s.nbPlayers.localize)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ object side {
|
|||
a(href := routes.Swiss.home)("Swiss"),
|
||||
(isGranted(_.ManageTournament) || (ctx.userId.has(s.createdBy) && !s.isFinished)) option frag(
|
||||
" ",
|
||||
a(href := routes.Swiss.edit(s.id.value), title := "Edit tournament")(iconTag("%"))
|
||||
a(href := routes.Swiss.edit(s.id.value), title := "Edit tournament")(iconTag(""))
|
||||
)
|
||||
),
|
||||
bits.showInterval(s)
|
||||
|
@ -64,8 +64,8 @@ object side {
|
|||
teamLink(s.teamId),
|
||||
if (verdicts.relevant)
|
||||
st.section(
|
||||
dataIcon := (if (ctx.isAuth && verdicts.accepted) "E"
|
||||
else "L"),
|
||||
dataIcon := (if (ctx.isAuth && verdicts.accepted) ""
|
||||
else ""),
|
||||
cls := List(
|
||||
"conditions" -> true,
|
||||
"accepted" -> (ctx.isAuth && verdicts.accepted),
|
||||
|
|
|
@ -93,7 +93,7 @@ $('#form3-message').val($('#form3-message').val() + $(e.target).data('copyurl')
|
|||
momentFromNow(t.startsAt),
|
||||
" ",
|
||||
a(
|
||||
dataIcon := "z",
|
||||
dataIcon := "",
|
||||
cls := "text copy-url-button",
|
||||
data.copyurl := s"${netConfig.domain}${routes.Tournament.show(t.id).url}"
|
||||
)
|
||||
|
|
|
@ -48,7 +48,7 @@ object bits {
|
|||
tr(cls := "paginated")(
|
||||
td(cls := "subject")(
|
||||
a(
|
||||
dataIcon := "f",
|
||||
dataIcon := "",
|
||||
cls := List(
|
||||
"team-name text" -> true,
|
||||
"mine" -> isMine
|
||||
|
|
|
@ -75,7 +75,7 @@ object form {
|
|||
hr,
|
||||
t.enabled option postForm(cls := "inline", action := routes.Team.disable(t.id))(
|
||||
submitButton(
|
||||
dataIcon := "j",
|
||||
dataIcon := "",
|
||||
cls := "submit button text confirm button-empty button-red",
|
||||
st.title := trans.team.closeTeamDescription.txt() // can actually be reverted
|
||||
)(closeTeam())
|
||||
|
@ -83,7 +83,7 @@ object form {
|
|||
isGranted(_.ManageTeam) option
|
||||
postForm(cls := "inline", action := routes.Team.close(t.id))(
|
||||
submitButton(
|
||||
dataIcon := "q",
|
||||
dataIcon := "",
|
||||
cls := "text button button-empty button-red confirm",
|
||||
st.title := "Deletes the team and its memberships. Cannot be reverted!"
|
||||
)(trans.delete())
|
||||
|
|
|
@ -60,7 +60,7 @@ object show {
|
|||
}
|
||||
)(
|
||||
div(cls := "box__top")(
|
||||
h1(cls := "text", dataIcon := "f")(t.name),
|
||||
h1(cls := "text", dataIcon := "")(t.name),
|
||||
div(
|
||||
if (t.disabled) span(cls := "staff")("CLOSED")
|
||||
else nbMembers.plural(t.nbMembers, strong(t.nbMembers.localize))
|
||||
|
@ -116,7 +116,7 @@ object show {
|
|||
a(
|
||||
href := routes.Tournament.teamBattleForm(t.id),
|
||||
cls := "button button-empty text",
|
||||
dataIcon := "g"
|
||||
dataIcon := ""
|
||||
)(
|
||||
span(
|
||||
strong(teamBattle()),
|
||||
|
@ -126,7 +126,7 @@ object show {
|
|||
a(
|
||||
href := s"${routes.Tournament.form}?team=${t.id}",
|
||||
cls := "button button-empty text",
|
||||
dataIcon := "g"
|
||||
dataIcon := ""
|
||||
)(
|
||||
span(
|
||||
strong(teamTournament()),
|
||||
|
@ -136,7 +136,7 @@ object show {
|
|||
a(
|
||||
href := s"${routes.Swiss.form(t.id)}",
|
||||
cls := "button button-empty text",
|
||||
dataIcon := "g"
|
||||
dataIcon := ""
|
||||
)(
|
||||
span(
|
||||
strong(trans.swiss.swissTournaments()),
|
||||
|
@ -146,7 +146,7 @@ object show {
|
|||
a(
|
||||
href := routes.Team.pmAll(t.id),
|
||||
cls := "button button-empty text",
|
||||
dataIcon := "e"
|
||||
dataIcon := ""
|
||||
)(
|
||||
span(
|
||||
strong(messageAllMembers()),
|
||||
|
@ -155,7 +155,7 @@ object show {
|
|||
)
|
||||
),
|
||||
((t.enabled && info.ledByMe) || isGranted(_.Admin)) option
|
||||
a(href := routes.Team.edit(t.id), cls := "button button-empty text", dataIcon := "%")(
|
||||
a(href := routes.Team.edit(t.id), cls := "button button-empty text", dataIcon := "")(
|
||||
trans.settings.settings()
|
||||
)
|
||||
),
|
||||
|
|
|
@ -101,7 +101,7 @@ object tournaments {
|
|||
)
|
||||
)
|
||||
),
|
||||
td(cls := "text", dataIcon := "r")(any.nbPlayers.localize)
|
||||
td(cls := "text", dataIcon := "")(any.nbPlayers.localize)
|
||||
)
|
||||
}
|
||||
)
|
||||
|
|
|
@ -112,7 +112,7 @@ object timeline {
|
|||
.plural(months, userLink(userId), months)
|
||||
)
|
||||
case BlogPost(id, slug, title) =>
|
||||
a(cls := "text", dataIcon := "6", href := routes.Blog.show(id, slug))(title)
|
||||
a(cls := "text", dataIcon := "", href := routes.Blog.show(id, slug))(title)
|
||||
case StreamStart(id, name) =>
|
||||
views.html.streamer.bits
|
||||
.redirectLink(id)(cls := "text", dataIcon := "")(trans.xStartedStreaming(name))
|
||||
|
|
|
@ -37,7 +37,7 @@ object bits {
|
|||
td(momentFromNow(s.at))
|
||||
},
|
||||
td(tour.durationString),
|
||||
td(dataIcon := "r", cls := "text")(tour.nbPlayers)
|
||||
td(dataIcon := "", cls := "text")(tour.nbPlayers)
|
||||
)
|
||||
}
|
||||
)
|
||||
|
|
|
@ -58,7 +58,7 @@ object crud {
|
|||
action := routes.TournamentCrud.cloneT(tour.id),
|
||||
method := "get"
|
||||
)(
|
||||
form3.submit("Clone", "g".some, klass = "button-green")
|
||||
form3.submit("Clone", "".some, klass = "button-green")
|
||||
)
|
||||
),
|
||||
standardFlash(),
|
||||
|
@ -134,7 +134,7 @@ object crud {
|
|||
div(cls := "box__top")(
|
||||
h1("Tournament manager"),
|
||||
div(cls := "box__top__actions")(
|
||||
a(cls := "button button-green", href := routes.TournamentCrud.form, dataIcon := "O")
|
||||
a(cls := "button button-green", href := routes.TournamentCrud.form, dataIcon := "")
|
||||
)
|
||||
),
|
||||
table(cls := "slist slist-pad")(
|
||||
|
@ -162,7 +162,7 @@ object crud {
|
|||
td(tour.clock.toString),
|
||||
td(tour.minutes, "m"),
|
||||
td(showDateTimeUTC(tour.startsAt), " ", momentFromNow(tour.startsAt, alwaysRelative = true)),
|
||||
td(a(href := routes.Tournament.show(tour.id), dataIcon := "v", title := "View on site"))
|
||||
td(a(href := routes.Tournament.show(tour.id), dataIcon := "", title := "View on site"))
|
||||
)
|
||||
},
|
||||
pagerNextTable(tours, np => routes.TournamentCrud.index(np).url)
|
||||
|
|
|
@ -18,7 +18,7 @@ object faq {
|
|||
) {
|
||||
main(cls := "page-small box box-pad page")(
|
||||
h1(
|
||||
a(href := routes.Tournament.home, dataIcon := "I", cls := "text"),
|
||||
a(href := routes.Tournament.home, dataIcon := "", cls := "text"),
|
||||
trans.tournamentFAQ()
|
||||
),
|
||||
div(cls := "body")(apply())
|
||||
|
|
|
@ -19,7 +19,7 @@ object finishedList {
|
|||
td(cls := "date")(momentFromNow(t.startsAt)),
|
||||
td(cls := "players")(
|
||||
span(
|
||||
iconTag('g')(cls := "text"),
|
||||
iconTag('')(cls := "text"),
|
||||
userIdLink(t.winnerId, withOnline = false)
|
||||
),
|
||||
span(trans.nbPlayers.plural(t.nbPlayers, t.nbPlayers.localize))
|
||||
|
|
|
@ -42,7 +42,7 @@ object form {
|
|||
fields.isTeamBattle option form3.hidden(form("teamBattleByTeam")),
|
||||
form3.actions(
|
||||
a(href := routes.Tournament.home)(trans.cancel()),
|
||||
form3.submit(trans.createANewTournament(), icon = "g".some)
|
||||
form3.submit(trans.createANewTournament(), icon = "".some)
|
||||
)
|
||||
)
|
||||
),
|
||||
|
@ -81,11 +81,11 @@ object form {
|
|||
),
|
||||
form3.actions(
|
||||
a(href := routes.Tournament.show(tour.id))(trans.cancel()),
|
||||
form3.submit(trans.save(), icon = "g".some)
|
||||
form3.submit(trans.save(), icon = "".some)
|
||||
)
|
||||
),
|
||||
postForm(cls := "terminate", action := routes.Tournament.terminate(tour.id))(
|
||||
submitButton(dataIcon := "j", cls := "text button button-red confirm")(
|
||||
submitButton(dataIcon := "", cls := "text button button-red confirm")(
|
||||
"Cancel the tournament"
|
||||
)
|
||||
)
|
||||
|
@ -296,7 +296,7 @@ final private class TourFields(form: Form[_], tour: Option[Tournament])(implicit
|
|||
legend(trans.advancedSettings()),
|
||||
errMsg(form("conditions")),
|
||||
p(
|
||||
strong(dataIcon := "!", cls := "text")(trans.recommendNotTouching()),
|
||||
strong(dataIcon := "", cls := "text")(trans.recommendNotTouching()),
|
||||
" ",
|
||||
trans.fewerPlayers(),
|
||||
" ",
|
||||
|
|
|
@ -87,7 +87,7 @@ object home {
|
|||
a(
|
||||
href := routes.Tournament.form,
|
||||
cls := "button button-green text",
|
||||
dataIcon := "O"
|
||||
dataIcon := ""
|
||||
)(trans.createANewTournament())
|
||||
)
|
||||
),
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue