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 icons
pull/9180/head
Andrew Mazur 2021-06-14 10:13:27 +03:00 committed by GitHub
parent ef28d64ac1
commit e4db7c25e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
243 changed files with 776 additions and 776 deletions

View File

@ -165,7 +165,7 @@ trait FormHelper { self: I18nHelper =>
def submit( def submit(
content: Frag, content: Frag,
icon: Option[String] = Some("E"), icon: Option[String] = Some(""),
nameValue: Option[(String, String)] = None, nameValue: Option[(String, String)] = None,
klass: String = "", klass: String = "",
confirm: Option[String] = None confirm: Option[String] = None

View File

@ -110,7 +110,7 @@ trait GameHelper { self: I18nHelper with UserHelper with AiHelper with StringHel
def gameVsText(game: Game, withRatings: Boolean = false): String = def gameVsText(game: Game, withRatings: Boolean = false): String =
Namer.gameVsTextBlocking(game, withRatings)(lightUser) Namer.gameVsTextBlocking(game, withRatings)(lightUser)
val berserkIconSpan = iconTag("`") val berserkIconSpan = iconTag("")
def playerLink( def playerLink(
player: Player, player: Player,

View File

@ -21,7 +21,7 @@ trait TeamHelper { self: HasEnv =>
def teamLink(id: String, name: Frag, withIcon: Boolean): Tag = def teamLink(id: String, name: Frag, withIcon: Boolean): Tag =
a( a(
href := routes.Team.show(id), href := routes.Team.show(id),
dataIcon := withIcon.option("f"), dataIcon := withIcon.option(""),
cls := withIcon option "text" cls := withIcon option "text"
)(name) )(name)

View File

@ -29,14 +29,14 @@ trait TournamentHelper { self: I18nHelper with DateHelper with UserHelper =>
def tournamentLink(tour: Tournament)(implicit lang: Lang): Frag = def tournamentLink(tour: Tournament)(implicit lang: Lang): Frag =
a( a(
dataIcon := "g", dataIcon := "",
cls := (if (tour.isScheduled) "text is-gold" else "text"), cls := (if (tour.isScheduled) "text is-gold" else "text"),
href := routes.Tournament.show(tour.id).url href := routes.Tournament.show(tour.id).url
)(tour.name()) )(tour.name())
def tournamentLink(tourId: String)(implicit lang: Lang): Frag = def tournamentLink(tourId: String)(implicit lang: Lang): Frag =
a( a(
dataIcon := "g", dataIcon := "",
cls := "text", cls := "text",
href := routes.Tournament.show(tourId).url href := routes.Tournament.show(tourId).url
)(tournamentIdToName(tourId)) )(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 def icon(c: Char) = s"""<span data-icon="$c"></span>"""
private val replacements = List( private val replacements = List(
"Lichess " -> "", "Lichess " -> "",
"Marathon" -> icon('\\'), "Marathon" -> icon(''),
"HyperBullet" -> s"H${icon(PerfType.Bullet.iconChar)}", "HyperBullet" -> s"H${icon(PerfType.Bullet.iconChar)}",
"SuperBlitz" -> s"S${icon(PerfType.Blitz.iconChar)}" "SuperBlitz" -> s"S${icon(PerfType.Blitz.iconChar)}"
) ::: PerfType.leaderboardable.filterNot(PerfType.translated.contains).map { pt => ) ::: 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 = def tournamentIconChar(tour: Tournament): String =
tour.schedule.map(_.freq) match { 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 case _ => tour.spotlight.flatMap(_.iconFont) | tour.perfType.iconChar.toString
} }
} }

View File

@ -279,7 +279,7 @@ trait UserHelper { self: I18nHelper with StringHelper with NumberHelper =>
s"$name played $nbGames games since $createdAt.$currentRating" s"$name played $nbGames games since $createdAt.$currentRating"
} }
val patronIconChar = "" val patronIconChar = ""
val lineIconChar = "" val lineIconChar = ""
val lineIcon: Frag = i(cls := "line") val lineIcon: Frag = i(cls := "line")

View File

@ -17,7 +17,7 @@ object close {
active = "close" active = "close"
) { ) {
div(cls := "account box box-pad")( div(cls := "account box box-pad")(
h1(dataIcon := "j", cls := "text")(closeAccount()), h1(dataIcon := "", cls := "text")(closeAccount()),
if (managed) if (managed)
p("Your account is managed, and cannot be closed.") p("Your account is managed, and cannot be closed.")
else else
@ -30,7 +30,7 @@ object close {
a(href := routes.User.show(u.username))(changedMindDoNotCloseAccount()), a(href := routes.User.show(u.username))(changedMindDoNotCloseAccount()),
form3.submit( form3.submit(
closeAccount(), closeAccount(),
icon = "j".some, icon = "".some,
confirm = closingIsDefinitive.txt().some, confirm = closingIsDefinitive.txt().some,
klass = "button-red" klass = "button-red"
) )

View File

@ -178,7 +178,7 @@ object pref {
radios(form("insightShare"), translatedInsightShareChoices) radios(form("insightShare"), translatedInsightShareChoices)
) )
), ),
p(cls := "saved text none", dataIcon := "E")(yourPreferencesHaveBeenSaved()) p(cls := "saved text none", dataIcon := "")(yourPreferencesHaveBeenSaved())
) )
) )
} }

View File

@ -46,7 +46,7 @@ object reopen {
title = "Reopen your account" title = "Reopen your account"
) { ) {
main(cls := "page-small box box-pad")( 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("We've sent you an email with a link."),
p(trans.ifYouDoNotSeeTheEmailCheckOtherPlaces()) p(trans.ifYouDoNotSeeTheEmailCheckOtherPlaces())
) )

View File

@ -59,7 +59,7 @@ object security {
td( td(
s.session.id != cur option s.session.id != cur option
postForm(action := routes.Account.signout(s.session.id))( 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 := "")
) )
) )
} }

View File

@ -67,7 +67,7 @@ object twoFactor {
) { ) {
div(cls := "account twofactor box box-pad")( div(cls := "account twofactor box box-pad")(
h1( h1(
i(cls := "is-green text", dataIcon := "E"), i(cls := "is-green text", dataIcon := ""),
twoFactorEnabled() twoFactorEnabled()
), ),
standardFlash(), standardFlash(),

View File

@ -49,7 +49,7 @@ object activity {
private def renderPatron(p: Patron)(implicit ctx: Context) = private def renderPatron(p: Patron)(implicit ctx: Context) =
div(cls := "entry plan")( div(cls := "entry plan")(
iconTag(""), iconTag(""),
div( div(
if (p.months == 0) a(href := routes.Plan.index)("Lifetime Patron!") if (p.months == 0) a(href := routes.Plan.index)("Lifetime Patron!")
else else
@ -83,7 +83,7 @@ object activity {
private def renderPuzzles(u: User)(p: Puzzles)(implicit ctx: Context) = private def renderPuzzles(u: User)(p: Puzzles)(implicit ctx: Context) =
entryTag( entryTag(
iconTag("-"), iconTag(""),
scoreFrag(p.score), scoreFrag(p.score),
div( div(
trans.activity.solvedNbPuzzles.pluralSame(p.score.size), trans.activity.solvedNbPuzzles.pluralSame(p.score.size),
@ -93,7 +93,7 @@ object activity {
private def renderStorm(s: Storm)(implicit ctx: Context) = private def renderStorm(s: Storm)(implicit ctx: Context) =
entryTag( entryTag(
iconTag("~"), iconTag(""),
scoreTag(winTag(trans.storm.highscoreX(strong(s.score)))), scoreTag(winTag(trans.storm.highscoreX(strong(s.score)))),
div( div(
trans.storm.playedNbRunsOfPuzzleStorm trans.storm.playedNbRunsOfPuzzleStorm
@ -103,7 +103,7 @@ object activity {
private def renderRacer(s: Racer)(implicit ctx: Context) = private def renderRacer(s: Racer)(implicit ctx: Context) =
entryTag( entryTag(
iconTag(","), iconTag(""),
scoreTag(winTag(trans.storm.highscoreX(strong(s.score)))), scoreTag(winTag(trans.storm.highscoreX(strong(s.score)))),
div( div(
trans.storm.playedNbRunsOfPuzzleStorm trans.storm.playedNbRunsOfPuzzleStorm
@ -113,7 +113,7 @@ object activity {
private def renderStreak(s: Streak)(implicit ctx: Context) = private def renderStreak(s: Streak)(implicit ctx: Context) =
entryTag( entryTag(
iconTag("}"), iconTag(""),
scoreTag(winTag(trans.storm.highscoreX(strong(s.score)))), scoreTag(winTag(trans.storm.highscoreX(strong(s.score)))),
div( div(
trans.storm.playedNbRunsOfPuzzleStorm trans.storm.playedNbRunsOfPuzzleStorm
@ -135,7 +135,7 @@ object activity {
private def renderPosts(posts: Map[lila.forum.Topic, List[lila.forum.Post]])(implicit ctx: Context) = private def renderPosts(posts: Map[lila.forum.Topic, List[lila.forum.Post]])(implicit ctx: Context) =
ctx.noKid option entryTag( ctx.noKid option entryTag(
iconTag("d"), iconTag(""),
div( div(
posts.toSeq.map { case (topic, posts) => posts.toSeq.map { case (topic, posts) =>
val url = routes.ForumTopic.show(topic.categId, topic.slug) 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) = private def renderCorresMoves(nb: Int, povs: List[lila.game.LightPov])(implicit ctx: Context) =
entryTag( entryTag(
iconTag(";"), iconTag(""),
div( div(
trans.activity.playedNbMoves.pluralSame(nb), trans.activity.playedNbMoves.pluralSame(nb),
" ", " ",
@ -174,7 +174,7 @@ object activity {
private def renderCorresEnds(score: Score, povs: List[lila.game.LightPov])(implicit ctx: Context) = private def renderCorresEnds(score: Score, povs: List[lila.game.LightPov])(implicit ctx: Context) =
entryTag( entryTag(
iconTag(";"), iconTag(""),
div( div(
trans.activity.completedNbGames.plural(score.size, subCount(score.size)), trans.activity.completedNbGames.plural(score.size, subCount(score.size)),
score.rp.filterNot(_.isEmpty).map(ratingProgFrag), score.rp.filterNot(_.isEmpty).map(ratingProgFrag),
@ -200,7 +200,7 @@ object activity {
private def renderFollows(all: Follows)(implicit ctx: Context) = private def renderFollows(all: Follows)(implicit ctx: Context) =
entryTag( entryTag(
iconTag("h"), iconTag(""),
div( div(
List(all.in.map(_ -> true), all.out.map(_ -> false)).flatten map { case (f, in) => List(all.in.map(_ -> true), all.out.map(_ -> false)).flatten map { case (f, in) =>
frag( frag(
@ -219,7 +219,7 @@ object activity {
private def renderSimuls(u: User)(simuls: List[lila.simul.Simul])(implicit ctx: Context) = private def renderSimuls(u: User)(simuls: List[lila.simul.Simul])(implicit ctx: Context) =
entryTag( entryTag(
iconTag("f"), iconTag(""),
div( div(
simuls.groupBy(_.isHost(u.some)).toSeq.map { case (isHost, simuls) => simuls.groupBy(_.isHost(u.some)).toSeq.map { case (isHost, simuls) =>
frag( frag(
@ -244,7 +244,7 @@ object activity {
private def renderStudies(studies: List[lila.study.Study.IdName])(implicit ctx: Context) = private def renderStudies(studies: List[lila.study.Study.IdName])(implicit ctx: Context) =
entryTag( entryTag(
iconTag("4"), iconTag(""),
div( div(
trans.activity.createdNbStudies.pluralSame(studies.size), trans.activity.createdNbStudies.pluralSame(studies.size),
subTag( subTag(
@ -257,7 +257,7 @@ object activity {
private def renderTeams(teams: Teams)(implicit ctx: Context) = private def renderTeams(teams: Teams)(implicit ctx: Context) =
ctx.noKid option entryTag( ctx.noKid option entryTag(
iconTag("f"), iconTag(""),
div( div(
trans.activity.joinedNbTeams.pluralSame(teams.value.size), trans.activity.joinedNbTeams.pluralSame(teams.value.size),
subTag(fragList(teams.value.map(id => teamLink(id)))) 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) = private def renderTours(tours: lila.activity.ActivityView.Tours)(implicit ctx: Context) =
entryTag( entryTag(
iconTag("g"), iconTag(""),
div( div(
trans.activity.competedInNbTournaments.pluralSame(tours.nb), trans.activity.competedInNbTournaments.pluralSame(tours.nb),
subTag( subTag(
@ -276,7 +276,7 @@ object activity {
"is-gold" -> (t.rank == 1), "is-gold" -> (t.rank == 1),
"text" -> (t.rank <= 3) "text" -> (t.rank <= 3)
), ),
dataIcon := (t.rank <= 3).option("g") dataIcon := (t.rank <= 3).option("")
)( )(
trans.activity.rankedInTournament.plural( trans.activity.rankedInTournament.plural(
t.nbGames, t.nbGames,
@ -294,7 +294,7 @@ object activity {
private def renderSwisses(swisses: List[(Swiss.IdName, Int)])(implicit ctx: Context) = private def renderSwisses(swisses: List[(Swiss.IdName, Int)])(implicit ctx: Context) =
entryTag( entryTag(
iconTag("g"), iconTag(""),
div( div(
trans.activity.competedInNbSwissTournaments.pluralSame(swisses.size), trans.activity.competedInNbSwissTournaments.pluralSame(swisses.size),
subTag( subTag(
@ -304,7 +304,7 @@ object activity {
"is-gold" -> (rank == 1), "is-gold" -> (rank == 1),
"text" -> (rank <= 3) "text" -> (rank <= 3)
), ),
dataIcon := (rank <= 3).option("g") dataIcon := (rank <= 3).option("")
)( )(
trans.activity.rankedInSwissTournament( trans.activity.rankedInSwissTournament(
strong(rank), strong(rank),
@ -325,7 +325,7 @@ object activity {
private def renderSignup(implicit ctx: Context) = private def renderSignup(implicit ctx: Context) =
entryTag( entryTag(
iconTag("s"), iconTag(""),
div(trans.activity.signedUp()) div(trans.activity.signedUp())
) )

View File

@ -47,7 +47,7 @@ object replay {
} }
val pgnLinks = div( val pgnLinks = div(
a( a(
dataIcon := "x", dataIcon := "",
cls := "text", cls := "text",
href := s"${routes.Game.exportOne(game.id)}?literate=1", href := s"${routes.Game.exportOne(game.id)}?literate=1",
downloadAttr downloadAttr
@ -55,7 +55,7 @@ object replay {
trans.downloadAnnotated() trans.downloadAnnotated()
), ),
a( a(
dataIcon := "x", dataIcon := "",
cls := "text", cls := "text",
href := s"${routes.Game.exportOne(game.id)}?evals=0&clocks=0", href := s"${routes.Game.exportOne(game.id)}?evals=0&clocks=0",
downloadAttr downloadAttr
@ -63,15 +63,15 @@ object replay {
trans.downloadRaw() trans.downloadRaw()
), ),
game.isPgnImport option a( game.isPgnImport option a(
dataIcon := "x", dataIcon := "",
cls := "text", cls := "text",
href := s"${routes.Game.exportOne(game.id)}?imported=1", href := s"${routes.Game.exportOne(game.id)}?imported=1",
downloadAttr downloadAttr
)(trans.downloadImported()), )(trans.downloadImported()),
ctx.noBlind option frag( ctx.noBlind option frag(
a(dataIcon := "=", cls := "text embed-howto")(trans.embedInYourWebsite()), a(dataIcon := "", cls := "text embed-howto")(trans.embedInYourWebsite()),
a( a(
dataIcon := "$", dataIcon := "",
cls := "text", cls := "text",
targetBlank, targetBlank,
href := cdnUrl(routes.Export.gif(pov.gameId, pov.color.name).url) href := cdnUrl(routes.Export.gif(pov.gameId, pov.color.name).url)

View File

@ -264,7 +264,7 @@ object tree {
"Read more about the appeal process" "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"))
) )
) )
} }

View File

@ -42,7 +42,7 @@ object bits {
) { ) {
main(cls := "auth auth-signup box box-pad")( main(cls := "auth auth-signup box box-pad")(
h1( h1(
fail option span(cls := "is-red", dataIcon := "L"), fail option span(cls := "is-red", dataIcon := ""),
trans.passwordReset() trans.passwordReset()
), ),
postForm(cls := "form3", action := routes.Auth.passwordResetApply)( postForm(cls := "form3", action := routes.Auth.passwordResetApply)(
@ -60,7 +60,7 @@ object bits {
title = trans.passwordReset.txt() title = trans.passwordReset.txt()
) { ) {
main(cls := "page-small box box-pad")( 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.weHaveSentYouAnEmailTo(email)),
p(trans.ifYouDoNotSeeTheEmailCheckOtherPlaces()) p(trans.ifYouDoNotSeeTheEmailCheckOtherPlaces())
) )
@ -81,8 +81,8 @@ object bits {
) { ) {
main(cls := "page-small box box-pad")( main(cls := "page-small box box-pad")(
(ok match { (ok match {
case Some(true) => h1(cls := "is-green text", dataIcon := "E") case Some(true) => h1(cls := "is-green text", dataIcon := "")
case Some(false) => h1(cls := "is-red text", dataIcon := "L") case Some(false) => h1(cls := "is-red text", dataIcon := "")
case _ => h1 case _ => h1
})( })(
userLink(u, withOnline = false), userLink(u, withOnline = false),
@ -114,7 +114,7 @@ object bits {
) { ) {
main(cls := "auth auth-signup box box-pad")( main(cls := "auth auth-signup box box-pad")(
h1( h1(
fail option span(cls := "is-red", dataIcon := "L"), fail option span(cls := "is-red", dataIcon := ""),
"Log in by email" "Log in by email"
), ),
p("We will send you an email containing a link to log you in."), 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" title = "Log in by email"
) { ) {
main(cls := "page-small box box-pad")( 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("We've sent you an email with a link."),
p(trans.ifYouDoNotSeeTheEmailCheckOtherPlaces()) p(trans.ifYouDoNotSeeTheEmailCheckOtherPlaces())
) )

View File

@ -21,7 +21,7 @@ object checkYourEmail {
main( main(
cls := s"page-small box box-pad email-confirm ${if (form.exists(_.hasErrors)) "error" else "anim"}" 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()), p(trans.weHaveSentYouAnEmailClickTheLink()),
h2("Not receiving it?"), h2("Not receiving it?"),
ol( ol(

View File

@ -60,15 +60,15 @@ z-index: 99;
def pagination(url: Int => String, page: Int, nbPages: Int, showPost: Boolean): Tag = def pagination(url: Int => String, page: Int, nbPages: Int, showPost: Boolean): Tag =
st.nav(cls := "pagination")( st.nav(cls := "pagination")(
if (page > 1) a(href := url(page - 1), dataIcon := "I") if (page > 1) a(href := url(page - 1), dataIcon := "")
else span(cls := "disabled", dataIcon := "I"), else span(cls := "disabled", dataIcon := ""),
sliding(page, nbPages, 3, showPost = showPost).map { sliding(page, nbPages, 3, showPost = showPost).map {
case None => raw(" &hellip; ") case None => raw(" &hellip; ")
case Some(p) if p == page => span(cls := "current")(p) case Some(p) if p == page => span(cls := "current")(p)
case Some(p) => a(href := url(p))(p) case Some(p) => a(href := url(p))(p)
}, },
if (page < nbPages) a(rel := "next", href := url(page + 1), dataIcon := "H") if (page < nbPages) a(rel := "next", href := url(page + 1), dataIcon := "")
else span(cls := "disabled", dataIcon := "H") else span(cls := "disabled", dataIcon := "")
) )
private def sliding(pager: Paginator[_], length: Int, showPost: Boolean): List[Option[Int]] = private def sliding(pager: Paginator[_], length: Int, showPost: Boolean): List[Option[Int]] =

View File

@ -54,8 +54,8 @@ object captcha {
trans.help(), trans.help(),
" ", " ",
a(title := trans.viewTheSolution.txt(), targetBlank, href := s"${url}#last")(url), a(title := trans.viewTheSolution.txt(), targetBlank, href := s"${url}#last")(url),
div(cls := "result success text", dataIcon := "E")(trans.checkmate()), div(cls := "result success text", dataIcon := "")(trans.checkmate()),
div(cls := "result failure text", dataIcon := "k")(trans.notACheckmate()), div(cls := "result failure text", dataIcon := "")(trans.notACheckmate()),
form3.hidden(form("move")) form3.hidden(form("move"))
) )
) )

View File

@ -86,7 +86,7 @@ object layout {
private def zenToggle(implicit ctx: Context) = private def zenToggle(implicit ctx: Context) =
spaceless(s""" 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()} ${trans.preferences.zenMode.txt()}
</a>""") </a>""")
@ -100,7 +100,7 @@ object layout {
spaceless(s"""<div> spaceless(s"""<div>
<a id="challenge-toggle" class="toggle link"> <a id="challenge-toggle" class="toggle link">
<span title="${trans.challenge.challenges <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> </a>
<div id="challenge-app" class="dropdown"></div> <div id="challenge-app" class="dropdown"></div>
</div> </div>
@ -115,14 +115,14 @@ object layout {
private def anonDasher(playing: Boolean)(implicit ctx: Context) = private def anonDasher(playing: Boolean)(implicit ctx: Context) =
spaceless(s"""<div class="dasher"> spaceless(s"""<div class="dasher">
<a class="toggle link anon"> <a class="toggle link anon">
<span title="${trans.preferences.preferences.txt()}" data-icon="%"></span> <span title="${trans.preferences.preferences.txt()}" data-icon=""></span>
</a> </a>
<div id="dasher_app" class="dropdown" data-playing="$playing"></div> <div id="dasher_app" class="dropdown" data-playing="$playing"></div>
</div> </div>
<a href="${routes.Auth.login}?referrer=${ctx.req.path}" class="signin button button-empty">${trans.signIn <a href="${routes.Auth.login}?referrer=${ctx.req.path}" class="signin button button-empty">${trans.signIn
.txt()}</a>""") .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) = private def clinput(implicit ctx: Context) =
div(id := "clinput")( div(id := "clinput")(
@ -289,12 +289,12 @@ object layout {
id := "friend_box", id := "friend_box",
dataI18n := safeJsonValue(i18nJsObject(i18nKeys)) 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_wrap none")(
div(cls := "content list") 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) loadScripts(moreJs, chessground)
) )
) )
@ -341,7 +341,7 @@ object layout {
cls := "link data-count link-center", cls := "link data-count link-center",
href := routes.Team.requests, href := routes.Team.requests,
dataCount := ctx.teamNbRequests, dataCount := ctx.teamNbRequests,
dataIcon := "f", dataIcon := "",
title := trans.team.teams.txt() title := trans.team.teams.txt()
) )

View File

@ -43,5 +43,5 @@ object navTree {
private def makeLink(id: String) = href := s"#help-$id" private def makeLink(id: String) = href := s"#help-$id"
private def goBack(parent: Node): Frag = 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")
} }

View File

@ -38,13 +38,13 @@ object bits {
div(cls := "meta-headline")( div(cls := "meta-headline")(
div(cls := "meta")( div(cls := "meta")(
doc.getDate("blog.date").map { date => 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 => 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 => 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)) strong(cls := "headline")(doc.getHtml("blog.shortlede", prismic.linkResolver).map(raw))

View File

@ -27,7 +27,7 @@ object index {
div(cls := "blog index page-menu__content page-small box")( div(cls := "blog index page-menu__content page-small box")(
div(cls := "box__top")( div(cls := "box__top")(
h1("Lichess Official Blog"), h1("Lichess Official Blog"),
a(cls := "atom", href := routes.Blog.atom, dataIcon := "3") a(cls := "atom", href := routes.Blog.atom, dataIcon := "")
), ),
primaryPost map { post => primaryPost map { post =>
frag( frag(
@ -85,7 +85,7 @@ object index {
a( a(
cls := "button", cls := "button",
href := routes.Blog.show(doc.id, doc.slug, ref = prismic.maybeRef), href := routes.Blog.show(doc.id, doc.slug, ref = prismic.maybeRef),
dataIcon := "G" dataIcon := ""
)( )(
" Continue reading this post" " Continue reading this post"
) )

View File

@ -48,7 +48,7 @@ object show {
.exists( .exists(
_.value.toDateTimeAtStartOfDay isAfter org.joda.time.DateTime.now.minusWeeks(2) _.value.toDateTimeAtStartOfDay isAfter org.joda.time.DateTime.now.minusWeeks(2)
)) option )) 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" "Discuss this blog post in the forum"
) )
} else p("This is a preview."), } else p("This is a preview."),

View File

@ -18,13 +18,13 @@ object bookmark {
href := routes.Game.bookmark(g.id), href := routes.Game.bookmark(g.id),
title := trans.bookmarkThisGame.txt() title := trans.bookmarkThisGame.txt()
)( )(
iconTag("t")(cls := "on is3"), iconTag("")(cls := "on is3"),
iconTag("s")(cls := "off is3"), iconTag("")(cls := "off is3"),
span(g.showBookmarks) span(g.showBookmarks)
) )
else if (g.hasBookmarks) else if (g.hasBookmarks)
span(cls := "bookmark")( span(cls := "bookmark")(
span(dataIcon := "s", cls := "is3")(g.showBookmarks) span(dataIcon := "", cls := "is3")(g.showBookmarks)
) )
else emptyFrag else emptyFrag
} }

View File

@ -29,7 +29,7 @@ object bits {
def details(c: Challenge)(implicit ctx: Context) = def details(c: Challenge)(implicit ctx: Context) =
div(cls := "details")( 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( div(
views.html.game.bits.variantLink(c.variant, c.perfType.some), views.html.game.bits.variantLink(c.variant, c.perfType.some),
br, br,

View File

@ -15,7 +15,7 @@ object mine {
val cancelForm = val cancelForm =
postForm(action := routes.Challenge.cancel(c.id), cls := "cancel xhr")( 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( views.html.base.layout(
@ -61,7 +61,7 @@ object mine {
title := "Copy URL", title := "Copy URL",
cls := "copy button", cls := "copy button",
dataRel := "challenge-id", dataRel := "challenge-id",
dataIcon := "\"" dataIcon := ""
) )
), ),
p(trans.theFirstPersonToComeOnThisUrlWillPlayWithYou()) p(trans.theFirstPersonToComeOnThisUrlWillPlayWithYou())

View File

@ -52,7 +52,7 @@ object theirs {
(c.mode.rated && c.unlimited) option (c.mode.rated && c.unlimited) option
badTag(trans.bewareTheGameIsRatedButHasNoClock()), badTag(trans.bewareTheGameIsRatedButHasNoClock()),
postForm(cls := "accept", action := routes.Challenge.accept(c.id, color.map(_.name)))( 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 } else

View File

@ -49,7 +49,7 @@ object clas {
href := routes.Clas.form, href := routes.Clas.form,
cls := "new button button-empty", cls := "new button button-empty",
title := trans.clas.newClass.txt(), title := trans.clas.newClass.txt(),
dataIcon := "O" dataIcon := ""
) )
), ),
if (classes.isEmpty) if (classes.isEmpty)
@ -70,7 +70,7 @@ object clas {
classes.map { clas => classes.map { clas =>
div( div(
cls := List("clas-widget" -> true, "clas-widget-archived" -> clas.isArchived), cls := List("clas-widget" -> true, "clas-widget-archived" -> clas.isArchived),
dataIcon := "f" dataIcon := ""
)( )(
a(cls := "overlay", href := routes.Clas.show(clas.id.value)), a(cls := "overlay", href := routes.Clas.show(clas.id.value)),
div( div(

View File

@ -36,7 +36,7 @@ object invite {
trans.decline(), trans.decline(),
nameValue = ("v" -> false.toString).some, nameValue = ("v" -> false.toString).some,
klass = "button-red button-fat", klass = "button-red button-fat",
icon = "L".some icon = "".some
) )
else p, else p,
form3.submit( form3.submit(

View File

@ -63,7 +63,7 @@ object student {
private def top(clas: Clas, s: Student.WithUser)(implicit ctx: Context) = private def top(clas: Clas, s: Student.WithUser)(implicit ctx: Context) =
div(cls := "student-show__top")( div(cls := "student-show__top")(
h1(dataIcon := "r")( h1(dataIcon := "")(
span( span(
strong(s.user.username), strong(s.user.username),
em(s.student.realName) em(s.student.realName)

View File

@ -19,7 +19,7 @@ object studentDashboard {
bits.layout(c.name, Left(c withStudents Nil))( bits.layout(c.name, Left(c withStudents Nil))(
cls := "clas-show dashboard dashboard-student", cls := "clas-show dashboard dashboard-student",
div(cls := "clas-show__top")( 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.desc.trim.nonEmpty option div(cls := "clas-show__desc")(richText(c.desc))
), ),
c.archived map { archived => c.archived map { archived =>
@ -103,7 +103,7 @@ object studentDashboard {
val online = isOnline(user.id) val online = isOnline(user.id)
td( td(
a( a(
dataIcon := "U", dataIcon := "",
cls := List("button button-empty text" -> true, "disabled" -> !online), cls := List("button button-empty text" -> true, "disabled" -> !online),
title := trans.challenge.challengeToPlay.txt(), title := trans.challenge.challengeToPlay.txt(),
href := online option s"${routes.Lobby.home}?user=${user.username}#friend" href := online option s"${routes.Lobby.home}?user=${user.username}#friend"

View File

@ -19,7 +19,7 @@ object teacherDashboard {
bits.layout(c.name, Left(c withStudents students.map(_.student)))( bits.layout(c.name, Left(c withStudents students.map(_.student)))(
cls := s"clas-show dashboard dashboard-teacher dashboard-teacher-$active", cls := s"clas-show dashboard dashboard-teacher dashboard-teacher-$active",
div(cls := "clas-show__top")( div(cls := "clas-show__top")(
h1(dataIcon := "f", cls := "text")(c.name), h1(dataIcon := "", cls := "text")(c.name),
st.nav(cls := "dashboard-nav")( st.nav(cls := "dashboard-nav")(
a(cls := active.active("overview"), href := routes.Clas.show(c.id.value))("Overview"), 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"), a(cls := active.active("wall"), href := routes.Clas.wall(c.id.value))("News"),
@ -57,7 +57,7 @@ object teacherDashboard {
a( a(
href := routes.Clas.studentForm(c.id.value), href := routes.Clas.studentForm(c.id.value),
cls := "button button-clas text", cls := "button button-clas text",
dataIcon := "O" dataIcon := ""
)(trans.clas.addStudent()) )(trans.clas.addStudent())
) )
), ),
@ -262,7 +262,7 @@ object teacherDashboard {
dataSortNumberTh(trans.games()), dataSortNumberTh(trans.games()),
dataSortNumberTh(trans.puzzles()), dataSortNumberTh(trans.puzzles()),
dataSortNumberTh(trans.clas.lastActiveDate()), dataSortNumberTh(trans.clas.lastActiveDate()),
th(iconTag("5")(title := trans.clas.managed.txt())) th(iconTag("")(title := trans.clas.managed.txt()))
) )
), ),
tbody( tbody(
@ -277,7 +277,7 @@ object teacherDashboard {
td(dataSort := user.seenAt.map(_.getMillis.toString))(user.seenAt.map(momentFromNowOnce)), td(dataSort := user.seenAt.map(_.getMillis.toString))(user.seenAt.map(momentFromNowOnce)),
td( td(
dataSort := (if (student.managed) 1 else 0), 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())
) )
) )
} }

View File

@ -13,10 +13,10 @@ object wall {
def show(c: Clas, html: Frag, students: List[Student.WithUser])(implicit ctx: Context) = def show(c: Clas, html: Frag, students: List[Student.WithUser])(implicit ctx: Context) =
teacherDashboard.layout(c, students.filter(_.student.isActive), "wall")( teacherDashboard.layout(c, students.filter(_.student.isActive), "wall")(
div(cls := "clas-wall__actions")( 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() 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() trans.clas.notifyAllStudents()
) )
), ),

View File

@ -64,7 +64,7 @@ object edit {
a( a(
href := routes.Coach.show(c.user.username), href := routes.Coach.show(c.user.username),
cls := "button button-empty text", cls := "button button-empty text",
dataIcon := "v" dataIcon := ""
)("Preview coach page") )("Preview coach page")
) )
) )
@ -182,14 +182,14 @@ object edit {
), ),
div(cls := "actions btn-rack")( div(cls := "actions btn-rack")(
r.moddedAt.fold(true)(_.isBefore(r.updatedAt)) option r.moddedAt.fold(true)(_.isBefore(r.updatedAt)) option
a(dataValue := "1", cls := "btn-rack__btn yes", dataIcon := "E"), a(dataValue := "1", cls := "btn-rack__btn yes", dataIcon := ""),
a(dataValue := "0", cls := "btn-rack__btn no", dataIcon := "L") 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.")
) )
) )
) )

View File

@ -52,12 +52,12 @@ object show {
frag( frag(
if (c.coach.isListed) p("This page is now public.") if (c.coach.isListed) p("This page is now public.")
else "This page is not public yet. ", 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 else
a( a(
cls := "text button button-empty", cls := "text button button-empty",
dataIcon := "c", dataIcon := "",
href := s"${routes.Msg.convo(c.user.username)}" href := s"${routes.Msg.convo(c.user.username)}"
)(sendPM()), )(sendPM()),
ctx.me.exists(_.id != c.user.id) option review.form(c, myReview), ctx.me.exists(_.id != c.user.id) option review.form(c, myReview),

View File

@ -99,8 +99,8 @@ object widget {
!link option tr(cls := "available")( !link option tr(cls := "available")(
th(availability()), th(availability()),
td( td(
if (c.coach.available.value) span(cls := "text", dataIcon := "E")(accepting()) if (c.coach.available.value) span(cls := "text", dataIcon := "")(accepting())
else span(cls := "text", dataIcon := "L")(notAccepting()) else span(cls := "text", dataIcon := "")(notAccepting())
) )
), ),
c.user.seenAt.map { seen => c.user.seenAt.map { seen =>

View File

@ -39,7 +39,7 @@ object dev {
}) })
) )
}, },
submitButton(cls := "button button-empty", dataIcon := "E") submitButton(cls := "button button-empty", dataIcon := "")
) )
} }
) )

View File

@ -92,7 +92,7 @@ object dgt {
st.section( st.section(
h2("Lichess connectivity"), h2("Lichess connectivity"),
if (token.isDefined) if (token.isDefined)
p(cls := "text", dataIcon := "E")( p(cls := "text", dataIcon := "")(
"You have an OAuth token suitable for DGT play.", "You have an OAuth token suitable for DGT play.",
br, br,
br, br,

View File

@ -83,7 +83,7 @@ object event {
div(cls := "box__top")( div(cls := "box__top")(
h1(title), h1(title),
div(cls := "box__top__actions")( 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")( table(cls := "slist slist-pad")(
@ -112,7 +112,7 @@ object event {
showDateTimeUTC(e.finishesAt), showDateTimeUTC(e.finishesAt),
momentFromNow(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 := ""))
) )
} }
) )

View File

@ -24,7 +24,7 @@ object categ {
) { ) {
main(cls := "forum index box")( main(cls := "forum index box")(
div(cls := "box__top")( div(cls := "box__top")(
h1(dataIcon := "d", cls := "text")("Lichess Forum"), h1(dataIcon := "", cls := "text")("Lichess Forum"),
bits.searchForm() bits.searchForm()
), ),
showCategs(categs.filterNot(_.categ.isTeam)), showCategs(categs.filterNot(_.categ.isTeam)),
@ -47,7 +47,7 @@ object categ {
a( a(
href := routes.ForumTopic.form(categ.slug), href := routes.ForumTopic.form(categ.slug),
cls := "button button-empty button-green text", cls := "button button-empty button-green text",
dataIcon := "m" dataIcon := ""
)( )(
trans.createANewTopic() trans.createANewTopic()
) )
@ -89,7 +89,7 @@ object categ {
h1( h1(
a( a(
href := categ.team.fold(routes.ForumCateg.index)(routes.Team.show(_)), href := categ.team.fold(routes.ForumCateg.index)(routes.Team.show(_)),
dataIcon := "I", dataIcon := "",
cls := "text" cls := "text"
), ),
categ.team.fold(frag(categ.name))(teamIdToName) categ.team.fold(frag(categ.name))(teamIdToName)

View File

@ -16,7 +16,7 @@ object post {
posts map { p => posts map { p =>
li( li(
a( a(
dataIcon := p.isTeam.option("f"), dataIcon := p.isTeam.option(""),
cls := "post_link text", cls := "post_link text",
href := routes.ForumPost.redirect(p.postId), href := routes.ForumPost.redirect(p.postId),
title := p.topicName title := p.topicName
@ -56,12 +56,12 @@ object post {
} }
), ),
(!post.erased && ctx.userId.exists(post.shouldShowEditForm)) option (!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)) if (!post.erased && ctx.userId.has(~post.userId))
postForm(action := routes.ForumPost.delete(categ.slug, post.id))( postForm(action := routes.ForumPost.delete(categ.slug, post.id))(
submitButton( submitButton(
cls := "mod delete button button-empty confirm", cls := "mod delete button button-empty confirm",
dataIcon := "q", dataIcon := "",
title := "Delete" title := "Delete"
) )
) )
@ -69,7 +69,7 @@ object post {
a( a(
cls := "mod delete button button-empty", cls := "mod delete button button-empty",
href := routes.ForumPost.delete(categ.slug, post.id), href := routes.ForumPost.delete(categ.slug, post.id),
dataIcon := "q", dataIcon := "",
title := "Delete" title := "Delete"
) )
else else
@ -81,7 +81,7 @@ object post {
titleOrText(trans.reportXToModerators.txt(userId)), titleOrText(trans.reportXToModerators.txt(userId)),
cls := "mod report button button-empty", cls := "mod report button button-empty",
href := s"${routes.Report.form}?username=${userId}&postUrl=${urlencode(postUrl)}", href := s"${routes.Report.form}?username=${userId}&postUrl=${urlencode(postUrl)}",
dataIcon := "!" dataIcon := ""
) )
) )
} }

View File

@ -20,7 +20,7 @@ object search {
main(cls := "box search")( main(cls := "box search")(
div(cls := "box__top")( div(cls := "box__top")(
h1( h1(
a(href := routes.ForumCateg.index, dataIcon := "I", cls := "text"), a(href := routes.ForumCateg.index, dataIcon := "", cls := "text"),
title title
), ),
bits.searchForm(text) bits.searchForm(text)

View File

@ -23,11 +23,11 @@ object topic {
) { ) {
main(cls := "forum forum-topic topic-form page-small box box-pad")( main(cls := "forum forum-topic topic-form page-small box box-pad")(
h1( h1(
a(href := routes.ForumCateg.show(categ.slug), dataIcon := "I", cls := "text"), a(href := routes.ForumCateg.show(categ.slug), dataIcon := "", cls := "text"),
categ.name categ.name
), ),
st.section(cls := "warning")( st.section(cls := "warning")(
h2(dataIcon := "!", cls := "text")(trans.important()), h2(dataIcon := "", cls := "text")(trans.important()),
p( p(
trans.yourQuestionMayHaveBeenAnswered( trans.yourQuestionMayHaveBeenAnswered(
strong(a(href := routes.Main.faq)(trans.inTheFAQ())) strong(a(href := routes.Main.faq)(trans.inTheFAQ()))
@ -100,7 +100,7 @@ object topic {
h1( h1(
a( a(
href := routes.ForumCateg.show(categ.slug), href := routes.ForumCateg.show(categ.slug),
dataIcon := "I", dataIcon := "",
cls := "text" cls := "text"
), ),
topic.name topic.name
@ -142,10 +142,10 @@ object topic {
cls := s"unsub ${if (uns) "on" else "off"}", cls := s"unsub ${if (uns) "on" else "off"}",
action := routes.Timeline.unsub(s"forum:${topic.id}") 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() 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() trans.unsubscribe()
) )
) )

View File

@ -14,12 +14,12 @@ object bits {
def gameIcon(game: Game): Char = def gameIcon(game: Game): Char =
game.perfType match { game.perfType match {
case _ if game.fromPosition => '*' case _ if game.fromPosition => ''
case _ if game.imported => '/' case _ if game.imported => ''
case Some(p) if game.variant.exotic => p.iconChar case Some(p) if game.variant.exotic => p.iconChar
case _ if game.hasAi => 'n' case _ if game.hasAi => ''
case Some(p) => p.iconChar case Some(p) => p.iconChar
case _ => '8' case _ => ''
} }
def sides( def sides(

View File

@ -53,7 +53,7 @@ object importGame {
help = Some(analyseHelp), help = Some(analyseHelp),
disabled = ctx.isAnon disabled = ctx.isAnon
), ),
form3.action(form3.submit(trans.importGame(), "/".some)) form3.action(form3.submit(trans.importGame(), "".some))
) )
) )
} }

View File

@ -113,7 +113,7 @@ object side {
}, },
tour.map { t => tour.map { t =>
st.section(cls := "game__tournament")( 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) div(cls := "clock", dataTime := t.tour.secondsToFinish)(t.tour.clockStatus)
) )
} orElse game.tournamentId.map { tourId => } orElse game.tournamentId.map { tourId =>

View File

@ -60,7 +60,7 @@ object widgets {
), ),
div(cls := "versus")( div(cls := "versus")(
gamePlayer(g.whitePlayer), gamePlayer(g.whitePlayer),
div(cls := "swords", dataIcon := "U"), div(cls := "swords", dataIcon := ""),
gamePlayer(g.blackPlayer) gamePlayer(g.blackPlayer)
), ),
div(cls := "result")( div(cls := "result")(

View File

@ -66,7 +66,7 @@ object insight {
moreCss = cssTag("insight") moreCss = cssTag("insight")
)( )(
main(cls := "box box-pad page-small")( 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!"), p(userLink(u), " has no chess insights yet!"),
refreshForm(u, s"Generate ${u.username}'s chess insights") refreshForm(u, s"Generate ${u.username}'s chess insights")
) )
@ -88,7 +88,7 @@ object insight {
def refreshForm(u: User, action: String) = def refreshForm(u: User, action: String) =
postForm(cls := "insight-refresh", st.action := routes.Insight.refresh(u.username))( 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")( div(cls := "crunching none")(
spinner, spinner,
br, br,

View File

@ -116,7 +116,7 @@ object irwin {
link = false link = false
), ),
br, br,
pov.game.isTournament ?? frag(iconTag("g"), " "), pov.game.isTournament ?? frag(iconTag(""), " "),
pov.game.perfType.map { pt => pov.game.perfType.map { pt =>
iconTag(pt.iconChar) iconTag(pt.iconChar)
}, },

View File

@ -22,7 +22,7 @@ object bits {
frag( frag(
div(cls := "lobby__leaderboard lobby__box")( div(cls := "lobby__leaderboard lobby__box")(
div(cls := "lobby__box__top")( 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(), " »") a(cls := "more", href := routes.User.list)(trans.more(), " »")
), ),
div(cls := "lobby__box__content")( div(cls := "lobby__box__content")(
@ -43,7 +43,7 @@ object bits {
), ),
div(cls := "lobby__winners lobby__box")( div(cls := "lobby__winners lobby__box")(
div(cls := "lobby__box__top")( 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(), " »") a(cls := "more", href := routes.Tournament.leaderboard)(trans.more(), " »")
), ),
div(cls := "lobby__box__content")( div(cls := "lobby__box__content")(
@ -65,7 +65,7 @@ object bits {
), ),
div(cls := "lobby__tournaments lobby__box")( div(cls := "lobby__tournaments lobby__box")(
a(cls := "lobby__box__top", href := routes.Tournament.home)( 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(), " »") span(cls := "more")(trans.more(), " »")
), ),
div(cls := "enterable_list lobby__box__content")( div(cls := "enterable_list lobby__box__content")(
@ -74,7 +74,7 @@ object bits {
), ),
simuls.nonEmpty option div(cls := "lobby__simuls lobby__box")( simuls.nonEmpty option div(cls := "lobby__simuls lobby__box")(
a(cls := "lobby__box__top", href := routes.Simul.home)( 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(), " »") span(cls := "more")(trans.more(), " »")
), ),
div(cls := "enterable_list lobby__box__content")( div(cls := "enterable_list lobby__box__content")(
@ -87,7 +87,7 @@ object bits {
posts.nonEmpty option posts.nonEmpty option
div(cls := "lobby__blog lobby__box")( div(cls := "lobby__blog lobby__box")(
a(cls := "lobby__box__top", href := routes.Blog.index())( 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(), " »") span(cls := "more")(trans.more(), " »")
), ),
div(cls := "lobby__box__content")( div(cls := "lobby__box__content")(
@ -138,7 +138,7 @@ object bits {
p("You have a game in progress with ", strong(current.opponent), "."), p("You have a game in progress with ", strong(current.opponent), "."),
br, br,
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" "Join the game"
), ),
br, br,
@ -147,7 +147,7 @@ object bits {
br, br,
br, br,
postForm(action := routes.Round.resign(current.pov.fullId))( 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", if (current.pov.game.abortable) "Abort" else "Resign",
" the game" " the game"
) )

View File

@ -161,7 +161,7 @@ object home {
ctx.noBot option bits.underboards(tours, simuls, leaderboard, tournamentWinners), ctx.noBot option bits.underboards(tours, simuls, leaderboard, tournamentWinners),
ctx.noKid option div(cls := "lobby__forum lobby__box")( ctx.noKid option div(cls := "lobby__forum lobby__box")(
a(cls := "lobby__box__top", href := routes.ForumCateg.index)( 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(), " »") span(cls := "more")(trans.more(), " »")
), ),
div(cls := "lobby__box__content")( div(cls := "lobby__box__content")(

View File

@ -27,27 +27,27 @@ object chatPanic {
"Current state: ", "Current state: ",
state.map { s => state.map { s =>
frag( frag(
goodTag(cls := "text", dataIcon := "E")(strong("ENABLED")), goodTag(cls := "text", dataIcon := "")(strong("ENABLED")),
". Expires ", ". Expires ",
momentFromNow(s) momentFromNow(s)
) )
} getOrElse badTag(cls := "text", dataIcon := "L")(strong("DISABLED")) } getOrElse badTag(cls := "text", dataIcon := "")(strong("DISABLED"))
), ),
div(cls := "forms")( div(cls := "forms")(
if (state.isDefined) if (state.isDefined)
frag( frag(
postForm(action := s"${routes.Mod.chatPanicPost}?v=0")( 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")( 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" "Renew for two hours"
) )
) )
) )
else else
postForm(action := s"${routes.Mod.chatPanicPost}?v=1")( 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")
) )
) )
) )

View File

@ -60,8 +60,8 @@ this.setSelectionRange(this.value.length, this.value.length);
td(momentFromNow(u.createdAt)), td(momentFromNow(u.createdAt)),
td(u.seenAt.map(momentFromNow(_))), td(u.seenAt.map(momentFromNow(_))),
td(style := "font-size:2em")( td(style := "font-size:2em")(
if (!u.everLoggedIn) iconTag("E")(cls := "is-green") if (!u.everLoggedIn) iconTag("")(cls := "is-green")
else iconTag("L")(cls := "is-red") else iconTag("")(cls := "is-red")
) )
) )
) )

View File

@ -88,7 +88,7 @@ object games {
), ),
dataSortNumberTh("Opponent"), dataSortNumberTh("Opponent"),
dataSortNumberTh("Speed"), dataSortNumberTh("Speed"),
th(iconTag('g')), th(iconTag('')),
dataSortNumberTh("Moves"), dataSortNumberTh("Moves"),
dataSortNumberTh("Result"), dataSortNumberTh("Result"),
dataSortNumberTh("ACPL", br, "(Avg ± SD)"), dataSortNumberTh("ACPL", br, "(Avg ± SD)"),
@ -123,14 +123,14 @@ object games {
td(dataSort := ~pov.game.tournamentId)( td(dataSort := ~pov.game.tournamentId)(
pov.game.tournamentId map { tourId => pov.game.tournamentId map { tourId =>
a( a(
dataIcon := "g", dataIcon := "",
href := routes.Tournament.show(tourId).url, href := routes.Tournament.show(tourId).url,
title := tournamentIdToName(tourId) title := tournamentIdToName(tourId)
) )
}, },
pov.game.swissId map { swissId => pov.game.swissId map { swissId =>
a( a(
dataIcon := "g", dataIcon := "",
href := routes.Swiss.show(swissId).url, href := routes.Swiss.show(swissId).url,
title := s"Swiss #${swissId}" title := s"Swiss #${swissId}"
) )

View File

@ -73,7 +73,7 @@ object gamify {
views.html.mod.menu("gamify"), views.html.mod.menu("gamify"),
div(id := "mod-gamify", cls := "page-menu__content box")( div(id := "mod-gamify", cls := "page-menu__content box")(
h1( h1(
a(href := routes.Mod.gamify, dataIcon := "I"), a(href := routes.Mod.gamify, dataIcon := ""),
title title
), ),
div(cls := "period")( div(cls := "period")(

View File

@ -143,7 +143,7 @@ object inquiry {
), ),
div(cls := "actions")( div(cls := "actions")(
isGranted(_.ModMessage) option div(cls := "dropper warn buttons")( isGranted(_.ModMessage) option div(cls := "dropper warn buttons")(
iconTag("e"), iconTag(""),
div( div(
env.mod.presets.pmPresets.get().value.map { preset => env.mod.presets.pmPresets.get().value.map { preset =>
postForm(action := routes.Mod.warn(in.user.username, preset.name))( 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 val url = routes.Mod.engine(in.user.username, !in.user.marks.engine).url
div(cls := "dropper engine buttons")( div(cls := "dropper engine buttons")(
postForm(action := url, title := "Mark as cheat")( postForm(action := url, title := "Mark as cheat")(
markButton(in.user.marks.engine)(dataIcon := "n"), markButton(in.user.marks.engine)(dataIcon := ""),
autoNextInput autoNextInput
), ),
thenForms(url, markButton(false)) thenForms(url, markButton(false))
@ -167,7 +167,7 @@ object inquiry {
val url = routes.Mod.booster(in.user.username, !in.user.marks.boost).url val url = routes.Mod.booster(in.user.username, !in.user.marks.boost).url
div(cls := "dropper booster buttons")( div(cls := "dropper booster buttons")(
postForm(action := url, cls := "main", title := "Mark as booster or sandbagger")( 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 autoNextInput
), ),
thenForms(url, markButton(false)) thenForms(url, markButton(false))
@ -181,7 +181,7 @@ object inquiry {
title := (if (in.user.marks.troll) "Un-shadowban" else "Shadowban"), title := (if (in.user.marks.troll) "Un-shadowban" else "Shadowban"),
cls := "main" cls := "main"
)( )(
markButton(in.user.marks.troll)(dataIcon := "c"), markButton(in.user.marks.troll)(dataIcon := ""),
autoNextInput autoNextInput
), ),
thenForms(url, markButton(false)) thenForms(url, markButton(false))
@ -198,7 +198,7 @@ object inquiry {
) )
}, },
div(cls := "dropper more buttons")( div(cls := "dropper more buttons")(
iconTag("u"), iconTag(""),
div( div(
isGranted(_.NotifySlack) option { isGranted(_.NotifySlack) option {
postForm(action := routes.Mod.notifySlack(in.user.id))( postForm(action := routes.Mod.notifySlack(in.user.id))(
@ -232,7 +232,7 @@ object inquiry {
title := "Dismiss this report as processed. (Hotkey: d)", title := "Dismiss this report as processed. (Hotkey: d)",
cls := "process" cls := "process"
)( )(
submitButton(dataIcon := "E", cls := "fbt"), submitButton(dataIcon := "", cls := "fbt"),
autoNextInput autoNextInput
), ),
postForm( postForm(
@ -240,7 +240,7 @@ object inquiry {
title := "Cancel the inquiry, re-instore the report", title := "Cancel the inquiry, re-instore the report",
cls := "cancel" cls := "cancel"
)( )(
submitButton(dataIcon := "L", cls := "fbt") submitButton(dataIcon := "", cls := "fbt")
) )
) )
) )

View File

@ -38,7 +38,7 @@ object presets {
).some ).some
)(form3.textarea(_)(rows := 20)), )(form3.textarea(_)(rows := 20)),
form3.action( form3.action(
submitButton(cls := "button text", dataIcon := "E")("Save") submitButton(cls := "button text", dataIcon := "")("Save")
) )
) )
) )

View File

@ -38,7 +38,7 @@ object index {
submitButton( submitButton(
cls := "button button-empty button-red confirm text", cls := "button button-empty button-red confirm text",
title := s"Revoke access from ${t.app.name}", title := s"Revoke access from ${t.app.name}",
dataIcon := "q" dataIcon := ""
)("Revoke") )("Revoke")
) )
) )
@ -81,13 +81,13 @@ object index {
href := routes.OAuthApp.edit(t.clientId.value), href := routes.OAuthApp.edit(t.clientId.value),
cls := "button button-empty", cls := "button button-empty",
title := "Edit this app", title := "Edit this app",
dataIcon := "m" dataIcon := ""
), ),
postForm(action := routes.OAuthApp.delete(t.clientId.value))( postForm(action := routes.OAuthApp.delete(t.clientId.value))(
submitButton( submitButton(
cls := "button button-empty button-red confirm", cls := "button button-empty button-red confirm",
title := "Delete this app", title := "Delete this app",
dataIcon := "q" dataIcon := ""
) )
) )
) )

View File

@ -17,7 +17,7 @@ object index {
div(cls := "box__top")( div(cls := "box__top")(
h1(title), h1(title),
st.form(cls := "box-top__actions", action := routes.OAuthToken.create)( 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"), standardFlash(cls := "box__pad"),
@ -45,7 +45,7 @@ object index {
), ),
tokens.headOption.filter(_.isBrandNew).map { token => tokens.headOption.filter(_.isBrandNew).map { token =>
div(cls := "box__pad brand")( div(cls := "box__pad brand")(
iconTag("E")(cls := "is-green"), iconTag("")(cls := "is-green"),
div( div(
p( p(
"Make sure to copy your new personal access token now.", "Make sure to copy your new personal access token now.",

View File

@ -194,11 +194,11 @@ object features {
st.tr(th(name), th(trans.patron.freeAccount()), th(trans.patron.lichessPatron())) 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)) private def all(content: Frag) = frag(td(content), td(content))

View File

@ -23,7 +23,7 @@ object config {
postForm(action := routes.Practice.configSave)( postForm(action := routes.Practice.configSave)(
textarea(cls := "practice_text", name := "text")(form("text").value), textarea(cls := "practice_text", name := "text")(form("text").value),
errMsg(form("text")), errMsg(form("text")),
submitButton(cls := "button button-fat text", dataIcon := "E")("Save") submitButton(cls := "button button-fat text", dataIcon := "")("Save")
), ),
div(cls := "preview")( div(cls := "preview")(
ol( ol(

View File

@ -112,7 +112,7 @@ object dashboard {
bits.pageMenu(path), bits.pageMenu(path),
div(cls := s"page-menu__content box box-pad $baseClass")( div(cls := s"page-menu__content box box-pad $baseClass")(
div(cls := "box__top")( div(cls := "box__top")(
// iconTag('-'), // iconTag(''),
h1( h1(
title, title,
strong(subtitle) strong(subtitle)
@ -178,7 +178,7 @@ object dashboard {
strong(results.unfixed), strong(results.unfixed),
span("to replay") span("to replay")
), ),
iconTag(if (results.canReplay) 'G' else 'E') iconTag(if (results.canReplay) '' else '')
) )
) )
} }

View File

@ -25,13 +25,13 @@ object actions {
titleOrText(trans.challenge.challengeToPlay.txt()), titleOrText(trans.challenge.challengeToPlay.txt()),
href := s"${routes.Lobby.home}?user=$userId#friend", href := s"${routes.Lobby.home}?user=$userId#friend",
cls := "btn-rack__btn", cls := "btn-rack__btn",
dataIcon := "U" dataIcon := ""
), ),
a( a(
titleOrText(trans.composeMessage.txt()), titleOrText(trans.composeMessage.txt()),
href := routes.Msg.convo(userId), href := routes.Msg.convo(userId),
cls := "btn-rack__btn", cls := "btn-rack__btn",
dataIcon := "c" dataIcon := ""
) )
), ),
relation match { relation match {
@ -41,18 +41,18 @@ object actions {
cls := "btn-rack__btn relation-button", cls := "btn-rack__btn relation-button",
href := routes.Relation.follow(userId), href := routes.Relation.follow(userId),
titleOrText(trans.follow.txt()), titleOrText(trans.follow.txt()),
dataIcon := "h" dataIcon := ""
), ),
a( a(
cls := "btn-rack__btn relation-button", cls := "btn-rack__btn relation-button",
href := routes.Relation.block(userId), href := routes.Relation.block(userId),
titleOrText(trans.block.txt()), titleOrText(trans.block.txt()),
dataIcon := "k" dataIcon := ""
) )
) )
case Some(true) => case Some(true) =>
a( a(
dataIcon := "h", dataIcon := "",
cls := "btn-rack__btn relation-button text hover-text", cls := "btn-rack__btn relation-button text hover-text",
href := routes.Relation.unfollow(userId), href := routes.Relation.unfollow(userId),
titleOrText(trans.following.txt()), titleOrText(trans.following.txt()),
@ -60,7 +60,7 @@ object actions {
) )
case Some(false) => case Some(false) =>
a( a(
dataIcon := "k", dataIcon := "",
cls := "btn-rack__btn relation-button text hover-text", cls := "btn-rack__btn relation-button text hover-text",
href := routes.Relation.unblock(userId), href := routes.Relation.unblock(userId),
titleOrText(trans.blocked.txt()), titleOrText(trans.blocked.txt()),

View File

@ -18,7 +18,7 @@ object mini {
case None if followable && !blocked => case None if followable && !blocked =>
a( a(
cls := "btn-rack__btn relation-button text", cls := "btn-rack__btn relation-button text",
dataIcon := "h", dataIcon := "",
href := s"${routes.Relation.follow(userId)}?mini=1" href := s"${routes.Relation.follow(userId)}?mini=1"
)(trans.follow()) )(trans.follow())
case Some(true) => case Some(true) =>
@ -26,14 +26,14 @@ object mini {
cls := "btn-rack__btn relation-button text", cls := "btn-rack__btn relation-button text",
title := trans.unfollow.txt(), title := trans.unfollow.txt(),
href := s"${routes.Relation.unfollow(userId)}?mini=1", href := s"${routes.Relation.unfollow(userId)}?mini=1",
dataIcon := "h" dataIcon := ""
)(trans.following()) )(trans.following())
case Some(false) => case Some(false) =>
a( a(
cls := "btn-rack__btn relation-button text", cls := "btn-rack__btn relation-button text",
title := trans.unblock.txt(), title := trans.unblock.txt(),
href := s"${routes.Relation.unblock(userId)}?mini=1", href := s"${routes.Relation.unblock(userId)}?mini=1",
dataIcon := "k" dataIcon := ""
)(trans.blocked()) )(trans.blocked())
case _ => emptyFrag case _ => emptyFrag
} }

View File

@ -30,7 +30,7 @@ object tour {
href := routes.RelayTour.form, href := routes.RelayTour.form,
cls := "new button button-empty", cls := "new button button-empty",
title := newBroadcast.txt(), title := newBroadcast.txt(),
dataIcon := "O" dataIcon := ""
) )
), ),
st.section( st.section(

View File

@ -62,7 +62,7 @@ object form {
form3.hidden("text", text take 140), form3.hidden("text", text take 140),
submitButton( submitButton(
cls := "button button-empty button-red confirm", cls := "button button-empty button-red confirm",
dataIcon := "j", dataIcon := "",
title := "Report spam or offensive language" title := "Report spam or offensive language"
) )
) )

View File

@ -64,12 +64,12 @@ object list {
case None => case None =>
if (r.done.isDefined) if (r.done.isDefined)
postForm(action := routes.Report.inquiry(r.id), cls := "reopen")( 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 else
frag( frag(
postForm(action := routes.Report.inquiry(r.id), cls := "inquiry")( 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")( postForm(action := routes.Report.process(r.id), cls := "cancel")(
submitButton(cls := "button button-thin button-empty")("Dismiss") submitButton(cls := "button button-thin button-empty")("Dismiss")

View File

@ -37,7 +37,7 @@ fetch($button.data('action'), {method:'post'})
cls := "report-block button", cls := "report-block button",
st.title := trans.block.txt() st.title := trans.block.txt()
)( )(
span(cls := "text", dataIcon := "k")("Block ", usernameOrId(userId)) span(cls := "text", dataIcon := "")("Block ", usernameOrId(userId))
) )
), ),
br, br,

View File

@ -22,7 +22,7 @@ private object bits {
dataValidateUrl := s"""${routes.Setup.validateFen}${strict.??("?strict=1")}""" dataValidateUrl := s"""${routes.Setup.validateFen}${strict.??("?strict=1")}"""
)( )(
form3.input(field)(st.placeholder := trans.pasteTheFenStringHere.txt()), 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)( a(cls := "board_editor", href := url)(
span(cls := "preview")( span(cls := "preview")(

View File

@ -75,10 +75,10 @@ object filter {
) )
), ),
div(cls := "actions")( 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() trans.reset()
), ),
submitButton(cls := "button button-green text apply", dataIcon := "E")(trans.apply()) submitButton(cls := "button button-green text apply", dataIcon := "")(trans.apply())
) )
) )
) )

View File

@ -133,7 +133,7 @@ object forms {
frag( frag(
p(cls := "error")(e), p(cls := "error")(e),
br, 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 { .getOrElse {

View File

@ -45,8 +45,8 @@ object bits {
tr( tr(
td(cls := "name")(a(href := routes.Simul.show(simul.id))(simul.fullName)), td(cls := "name")(a(href := routes.Simul.show(simul.id))(simul.fullName)),
td(userIdLink(simul.hostId.some)), td(userIdLink(simul.hostId.some)),
td(cls := "text", dataIcon := "p")(simul.clock.config.show), td(cls := "text", dataIcon := "")(simul.clock.config.show),
td(cls := "text", dataIcon := "r")(simul.applicants.size) td(cls := "text", dataIcon := "")(simul.applicants.size)
) )
} }
) )

View File

@ -30,7 +30,7 @@ object form {
formContent(form, teams, none), formContent(form, teams, none),
form3.actions( form3.actions(
a(href := routes.Simul.home)(trans.cancel()), 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), formContent(form, teams, simul.some),
form3.actions( form3.actions(
a(href := routes.Simul.show(simul.id))(trans.cancel()), 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))( 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" "Cancel the simul"
) )
) )

View File

@ -31,7 +31,7 @@ object homeInner {
tr(cls := "scheduled")( tr(cls := "scheduled")(
simTd(sim), simTd(sim),
simHost(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")( tr(cls := "scheduled")(
simTd(sim), simTd(sim),
simHost(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")( ctx.isAuth option tr(cls := "create")(
@ -70,7 +70,7 @@ object homeInner {
tr( tr(
simTd(sim), simTd(sim),
simHost(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( tr(
simTd(sim), simTd(sim),
simHost(sim), simHost(sim),
td(cls := "players text", dataIcon := "r")(sim.pairings.size) td(cls := "players text", dataIcon := "")(sim.pairings.size)
) )
} }
) )

View File

@ -48,7 +48,7 @@ object show {
div(cls := "simul__meta")( div(cls := "simul__meta")(
div(cls := "game-infos")( div(cls := "game-infos")(
div(cls := "header")( div(cls := "header")(
iconTag("f"), iconTag(""),
div( div(
span(cls := "clock")(sim.clock.config.show), span(cls := "clock")(sim.clock.config.show),
div(cls := "setup")( div(cls := "setup")(
@ -57,7 +57,7 @@ object show {
trans.casual(), trans.casual(),
(isGranted(_.ManageSimul) || ctx.userId.has(sim.hostId)) && sim.isCreated option frag( (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(""))
) )
) )
) )

View File

@ -159,7 +159,7 @@ object contact {
"." "."
), ),
p( p(
youCanAlsoReachReportPage(button(cls := "thin button button-empty", dataIcon := "!")) youCanAlsoReachReportPage(button(cls := "thin button button-empty", dataIcon := ""))
), ),
p( p(
doNotMessageModerators(), doNotMessageModerators(),

View File

@ -21,7 +21,7 @@ object message {
main(cls := "box box-pad")( main(cls := "box box-pad")(
h1(dataIcon := icon ifTrue back.isEmpty, cls := List("text" -> (icon.isDefined && back.isEmpty)))( h1(dataIcon := icon ifTrue back.isEmpty, cls := List("text" -> (icon.isDefined && back.isEmpty)))(
back map { url => back map { url =>
a(href := url, dataIcon := "I", cls := "text") a(href := url, dataIcon := "", cls := "text")
}, },
title title
), ),

View File

@ -122,7 +122,7 @@ $('#asset-version-message').text(lichess.info.message);"""
cls := "copyable autoselect", cls := "copyable autoselect",
value := s"""<iframe src="$netBaseUrl/tv/frame?theme=brown&bg=dark" $args></iframe>""" 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 parameters
) )
@ -146,7 +146,7 @@ $('#asset-version-message').text(lichess.info.message);"""
title := "Copy code", title := "Copy code",
cls := "copy button", cls := "copy button",
dataRel := "puzzle-embed-src", dataRel := "puzzle-embed-src",
dataIcon := "\"" dataIcon := ""
) )
), ),
parameters, parameters,
@ -205,7 +205,7 @@ $('#asset-version-message').text(lichess.info.message);"""
moreJs = moreJs moreJs = moreJs
) { ) {
val sep = div(cls := "sep") val sep = div(cls := "sep")
val external = frag(" ", i(dataIcon := "0")) val external = frag(" ", i(dataIcon := ""))
def activeCls(c: String) = cls := active.activeO(c) def activeCls(c: String) = cls := active.activeO(c)
main(cls := "page-menu")( main(cls := "page-menu")(
st.nav(cls := "page-menu__menu subnav")( st.nav(cls := "page-menu__menu subnav")(

View File

@ -54,7 +54,7 @@ object edit extends Context.ToLang {
frag( frag(
(ctx.is(s.user) && s.streamer.listed.value) option div( (ctx.is(s.user) && s.streamer.listed.value) option div(
cls := s"status is${granted ?? "-green"}", cls := s"status is${granted ?? "-green"}",
dataIcon := (if (granted) "E" else "") dataIcon := (if (granted) "" else "")
)( )(
if (granted) if (granted)
frag( frag(
@ -94,7 +94,7 @@ object edit extends Context.ToLang {
), ),
modData.map { case ((log, notes), same) => modData.map { case ((log, notes), same) =>
div(cls := "mod_log status")( div(cls := "mod_log status")(
strong(cls := "text", dataIcon := "!")( strong(cls := "text", dataIcon := "")(
"Moderation history", "Moderation history",
log.isEmpty option ": nothing to show." log.isEmpty option ": nothing to show."
), ),
@ -112,7 +112,7 @@ object edit extends Context.ToLang {
} }
), ),
br, br,
strong(cls := "text", dataIcon := "!")( strong(cls := "text", dataIcon := "")(
"Moderator notes", "Moderator notes",
notes.isEmpty option ": nothing to show." notes.isEmpty option ": nothing to show."
), ),
@ -126,7 +126,7 @@ object edit extends Context.ToLang {
} }
), ),
br, br,
strong(cls := "text", dataIcon := "!")( strong(cls := "text", dataIcon := "")(
"Streamers with same Twitch or YouTube", "Streamers with same Twitch or YouTube",
same.isEmpty option ": nothing to show." same.isEmpty option ": nothing to show."
), ),
@ -192,7 +192,7 @@ object edit extends Context.ToLang {
name := "approval.quick", name := "approval.quick",
value := "approve" value := "approve"
), ),
form3.submit("Decline and next", icon = "L".some)( form3.submit("Decline and next", icon = "".some)(
cls := "button-red", cls := "button-red",
name := "approval.quick", name := "approval.quick",
value := "decline" value := "decline"

View File

@ -39,7 +39,7 @@ $('.streamer-picture form.upload input[type=file]').on('change', function() {
submitButton(cls := "button button-red")(deletePicture()) submitButton(cls := "button button-red")(deletePicture())
), ),
div(cls := "cancel")( div(cls := "cancel")(
a(href := routes.Streamer.edit, cls := "text", dataIcon := "I")(trans.cancel()) a(href := routes.Streamer.edit, cls := "text", dataIcon := "")(trans.cancel())
) )
) )
) )

View File

@ -29,7 +29,7 @@ object bits {
def newForm()(implicit ctx: Context) = def newForm()(implicit ctx: Context) =
postForm(cls := "new-study", action := routes.Study.create)( 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) = { 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) = def widget(s: lila.study.Study.WithChaptersAndLiked, tag: Tag = h2)(implicit ctx: Context) =
frag( frag(
a(cls := "overlay", href := routes.Study.show(s.study.id.value), title := s.study.name.value), 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( div(
tag(cls := "study-name")(s.study.name.value), tag(cls := "study-name")(s.study.name.value),
span( span(
!s.study.isPublic option frag( !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 ""), iconTag(if (s.liked) "" else ""),
@ -71,14 +71,14 @@ object bits {
div(cls := "body")( div(cls := "body")(
ol(cls := "chapters")( ol(cls := "chapters")(
s.chapters.map { name => s.chapters.map { name =>
li(cls := "text", dataIcon := "K")(name.value) li(cls := "text", dataIcon := "")(name.value)
} }
), ),
ol(cls := "members")( ol(cls := "members")(
s.study.members.members.values s.study.members.members.values
.take(4) .take(4)
.map { m => .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 .toList
) )

View File

@ -11,7 +11,7 @@ object clone {
def apply(s: lila.study.Study)(implicit ctx: Context) = def apply(s: lila.study.Study)(implicit ctx: Context) =
views.html.site.message( views.html.site.message(
title = s"Clone ${s.name}", title = s"Clone ${s.name}",
icon = Some("4") icon = Some("")
) { ) {
postForm(action := routes.Study.cloneApply(s.id.value))( postForm(action := routes.Study.cloneApply(s.id.value))(
p("This will create a new private study with the same chapters."), p("This will create a new private study with the same chapters."),
@ -21,12 +21,12 @@ object clone {
p( p(
submitButton( submitButton(
cls := "submit button large text", cls := "submit button large text",
dataIcon := "4", dataIcon := "",
style := "margin: 30px auto; display: block; font-size: 2em;" style := "margin: 30px auto; display: block; font-size: 2em;"
)("Clone the study") )("Clone the study")
), ),
p( 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())
) )
) )
} }

View File

@ -19,7 +19,7 @@ object create {
)(implicit ctx: Context) = )(implicit ctx: Context) =
views.html.site.message( views.html.site.message(
title = trans.toStudy.txt(), title = trans.toStudy.txt(),
icon = Some("4"), icon = Some(""),
back = data.fen.map(f => routes.Editor.load(f.value).url), back = data.fen.map(f => routes.Editor.load(f.value).url),
moreCss = cssTag("study.create").some moreCss = cssTag("study.create").some
) { ) {
@ -36,7 +36,7 @@ object create {
name := "as", name := "as",
value := "study", value := "study",
cls := "submit button large new text", cls := "submit button large new text",
dataIcon := "4" dataIcon := ""
)(trans.study.createStudy()) )(trans.study.createStudy())
), ),
div(cls := "studies")( div(cls := "studies")(

View File

@ -41,7 +41,7 @@ object embed {
a( a(
targetBlank, targetBlank,
cls := "open", cls := "open",
dataIcon := "=", dataIcon := "",
href := url, href := url,
title := trans.study.open.txt() title := trans.study.open.txt()
) )

View File

@ -116,7 +116,7 @@ object list {
private[study] def paginate(pager: Paginator[WithChaptersAndLiked], url: Call)(implicit ctx: Context) = private[study] def paginate(pager: Paginator[WithChaptersAndLiked], url: Call)(implicit ctx: Context) =
if (pager.currentPageResults.isEmpty) if (pager.currentPageResults.isEmpty)
div(cls := "nostudies")( div(cls := "nostudies")(
iconTag("4"), iconTag(""),
p(trans.study.noneYet()) p(trans.study.noneYet())
) )
else else
@ -149,7 +149,7 @@ object list {
private[study] def searchForm(placeholder: String, value: String) = private[study] def searchForm(placeholder: String, value: String) =
form(cls := "search", action := routes.Study.search(), method := "get")( form(cls := "search", action := routes.Study.search(), method := "get")(
input(name := "q", st.placeholder := placeholder, st.value := value), input(name := "q", st.placeholder := placeholder, st.value := value),
submitButton(cls := "button", dataIcon := "y") submitButton(cls := "button", dataIcon := "")
) )
private def layout( private def layout(

View File

@ -14,7 +14,7 @@ object bits {
def link(swissId: Swiss.Id): Frag = link(swissId, idToName(swissId)) def link(swissId: Swiss.Id): Frag = link(swissId, idToName(swissId))
def link(swissId: Swiss.Id, name: String): Frag = def link(swissId: Swiss.Id, name: String): Frag =
a( a(
dataIcon := "g", dataIcon := "",
cls := "text", cls := "text",
href := routes.Swiss.show(swissId.value).url href := routes.Swiss.show(swissId.value).url
)(name) )(name)
@ -64,7 +64,7 @@ object bits {
td(cls := "infos")( td(cls := "infos")(
momentFromNowOnce(s.startsAt) momentFromNowOnce(s.startsAt)
), ),
td(cls := "text", dataIcon := "r")(s.nbPlayers.localize) td(cls := "text", dataIcon := "")(s.nbPlayers.localize)
) )
} }
) )

View File

@ -40,7 +40,7 @@ object form {
form3.globalError(form), form3.globalError(form),
form3.actions( form3.actions(
a(href := routes.Team.show(teamId))(trans.cancel()), 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.globalError(form),
form3.actions( form3.actions(
a(href := routes.Swiss.show(swiss.id.value))(trans.cancel()), 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))( 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" "Cancel the tournament"
) )
) )

View File

@ -28,7 +28,7 @@ object home {
) )
), ),
div(cls := "team")( div(cls := "team")(
iconTag("f"), iconTag(""),
p( p(
"Swiss tournaments can only be created by team leaders, and can only be played by team members.", "Swiss tournaments can only be created by team leaders, and can only be played by team members.",
br, br,
@ -72,7 +72,7 @@ object home {
td( td(
momentFromNow(s.startsAt), momentFromNow(s.startsAt),
br, br,
span(cls := "players text", dataIcon := "r")(s.nbPlayers.localize) span(cls := "players text", dataIcon := "")(s.nbPlayers.localize)
) )
) )
} }

View File

@ -39,7 +39,7 @@ object side {
a(href := routes.Swiss.home)("Swiss"), a(href := routes.Swiss.home)("Swiss"),
(isGranted(_.ManageTournament) || (ctx.userId.has(s.createdBy) && !s.isFinished)) option frag( (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) bits.showInterval(s)
@ -64,8 +64,8 @@ object side {
teamLink(s.teamId), teamLink(s.teamId),
if (verdicts.relevant) if (verdicts.relevant)
st.section( st.section(
dataIcon := (if (ctx.isAuth && verdicts.accepted) "E" dataIcon := (if (ctx.isAuth && verdicts.accepted) ""
else "L"), else ""),
cls := List( cls := List(
"conditions" -> true, "conditions" -> true,
"accepted" -> (ctx.isAuth && verdicts.accepted), "accepted" -> (ctx.isAuth && verdicts.accepted),

View File

@ -93,7 +93,7 @@ $('#form3-message').val($('#form3-message').val() + $(e.target).data('copyurl')
momentFromNow(t.startsAt), momentFromNow(t.startsAt),
" ", " ",
a( a(
dataIcon := "z", dataIcon := "",
cls := "text copy-url-button", cls := "text copy-url-button",
data.copyurl := s"${netConfig.domain}${routes.Tournament.show(t.id).url}" data.copyurl := s"${netConfig.domain}${routes.Tournament.show(t.id).url}"
) )

View File

@ -48,7 +48,7 @@ object bits {
tr(cls := "paginated")( tr(cls := "paginated")(
td(cls := "subject")( td(cls := "subject")(
a( a(
dataIcon := "f", dataIcon := "",
cls := List( cls := List(
"team-name text" -> true, "team-name text" -> true,
"mine" -> isMine "mine" -> isMine

View File

@ -75,7 +75,7 @@ object form {
hr, hr,
t.enabled option postForm(cls := "inline", action := routes.Team.disable(t.id))( t.enabled option postForm(cls := "inline", action := routes.Team.disable(t.id))(
submitButton( submitButton(
dataIcon := "j", dataIcon := "",
cls := "submit button text confirm button-empty button-red", cls := "submit button text confirm button-empty button-red",
st.title := trans.team.closeTeamDescription.txt() // can actually be reverted st.title := trans.team.closeTeamDescription.txt() // can actually be reverted
)(closeTeam()) )(closeTeam())
@ -83,7 +83,7 @@ object form {
isGranted(_.ManageTeam) option isGranted(_.ManageTeam) option
postForm(cls := "inline", action := routes.Team.close(t.id))( postForm(cls := "inline", action := routes.Team.close(t.id))(
submitButton( submitButton(
dataIcon := "q", dataIcon := "",
cls := "text button button-empty button-red confirm", cls := "text button button-empty button-red confirm",
st.title := "Deletes the team and its memberships. Cannot be reverted!" st.title := "Deletes the team and its memberships. Cannot be reverted!"
)(trans.delete()) )(trans.delete())

View File

@ -60,7 +60,7 @@ object show {
} }
)( )(
div(cls := "box__top")( div(cls := "box__top")(
h1(cls := "text", dataIcon := "f")(t.name), h1(cls := "text", dataIcon := "")(t.name),
div( div(
if (t.disabled) span(cls := "staff")("CLOSED") if (t.disabled) span(cls := "staff")("CLOSED")
else nbMembers.plural(t.nbMembers, strong(t.nbMembers.localize)) else nbMembers.plural(t.nbMembers, strong(t.nbMembers.localize))
@ -116,7 +116,7 @@ object show {
a( a(
href := routes.Tournament.teamBattleForm(t.id), href := routes.Tournament.teamBattleForm(t.id),
cls := "button button-empty text", cls := "button button-empty text",
dataIcon := "g" dataIcon := ""
)( )(
span( span(
strong(teamBattle()), strong(teamBattle()),
@ -126,7 +126,7 @@ object show {
a( a(
href := s"${routes.Tournament.form}?team=${t.id}", href := s"${routes.Tournament.form}?team=${t.id}",
cls := "button button-empty text", cls := "button button-empty text",
dataIcon := "g" dataIcon := ""
)( )(
span( span(
strong(teamTournament()), strong(teamTournament()),
@ -136,7 +136,7 @@ object show {
a( a(
href := s"${routes.Swiss.form(t.id)}", href := s"${routes.Swiss.form(t.id)}",
cls := "button button-empty text", cls := "button button-empty text",
dataIcon := "g" dataIcon := ""
)( )(
span( span(
strong(trans.swiss.swissTournaments()), strong(trans.swiss.swissTournaments()),
@ -146,7 +146,7 @@ object show {
a( a(
href := routes.Team.pmAll(t.id), href := routes.Team.pmAll(t.id),
cls := "button button-empty text", cls := "button button-empty text",
dataIcon := "e" dataIcon := ""
)( )(
span( span(
strong(messageAllMembers()), strong(messageAllMembers()),
@ -155,7 +155,7 @@ object show {
) )
), ),
((t.enabled && info.ledByMe) || isGranted(_.Admin)) option ((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() trans.settings.settings()
) )
), ),

View File

@ -101,7 +101,7 @@ object tournaments {
) )
) )
), ),
td(cls := "text", dataIcon := "r")(any.nbPlayers.localize) td(cls := "text", dataIcon := "")(any.nbPlayers.localize)
) )
} }
) )

View File

@ -112,7 +112,7 @@ object timeline {
.plural(months, userLink(userId), months) .plural(months, userLink(userId), months)
) )
case BlogPost(id, slug, title) => 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) => case StreamStart(id, name) =>
views.html.streamer.bits views.html.streamer.bits
.redirectLink(id)(cls := "text", dataIcon := "")(trans.xStartedStreaming(name)) .redirectLink(id)(cls := "text", dataIcon := "")(trans.xStartedStreaming(name))

View File

@ -37,7 +37,7 @@ object bits {
td(momentFromNow(s.at)) td(momentFromNow(s.at))
}, },
td(tour.durationString), td(tour.durationString),
td(dataIcon := "r", cls := "text")(tour.nbPlayers) td(dataIcon := "", cls := "text")(tour.nbPlayers)
) )
} }
) )

View File

@ -58,7 +58,7 @@ object crud {
action := routes.TournamentCrud.cloneT(tour.id), action := routes.TournamentCrud.cloneT(tour.id),
method := "get" method := "get"
)( )(
form3.submit("Clone", "g".some, klass = "button-green") form3.submit("Clone", "".some, klass = "button-green")
) )
), ),
standardFlash(), standardFlash(),
@ -134,7 +134,7 @@ object crud {
div(cls := "box__top")( div(cls := "box__top")(
h1("Tournament manager"), h1("Tournament manager"),
div(cls := "box__top__actions")( 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")( table(cls := "slist slist-pad")(
@ -162,7 +162,7 @@ object crud {
td(tour.clock.toString), td(tour.clock.toString),
td(tour.minutes, "m"), td(tour.minutes, "m"),
td(showDateTimeUTC(tour.startsAt), " ", momentFromNow(tour.startsAt, alwaysRelative = true)), 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) pagerNextTable(tours, np => routes.TournamentCrud.index(np).url)

View File

@ -18,7 +18,7 @@ object faq {
) { ) {
main(cls := "page-small box box-pad page")( main(cls := "page-small box box-pad page")(
h1( h1(
a(href := routes.Tournament.home, dataIcon := "I", cls := "text"), a(href := routes.Tournament.home, dataIcon := "", cls := "text"),
trans.tournamentFAQ() trans.tournamentFAQ()
), ),
div(cls := "body")(apply()) div(cls := "body")(apply())

View File

@ -19,7 +19,7 @@ object finishedList {
td(cls := "date")(momentFromNow(t.startsAt)), td(cls := "date")(momentFromNow(t.startsAt)),
td(cls := "players")( td(cls := "players")(
span( span(
iconTag('g')(cls := "text"), iconTag('')(cls := "text"),
userIdLink(t.winnerId, withOnline = false) userIdLink(t.winnerId, withOnline = false)
), ),
span(trans.nbPlayers.plural(t.nbPlayers, t.nbPlayers.localize)) span(trans.nbPlayers.plural(t.nbPlayers, t.nbPlayers.localize))

View File

@ -42,7 +42,7 @@ object form {
fields.isTeamBattle option form3.hidden(form("teamBattleByTeam")), fields.isTeamBattle option form3.hidden(form("teamBattleByTeam")),
form3.actions( form3.actions(
a(href := routes.Tournament.home)(trans.cancel()), 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( form3.actions(
a(href := routes.Tournament.show(tour.id))(trans.cancel()), 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))( 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" "Cancel the tournament"
) )
) )
@ -296,7 +296,7 @@ final private class TourFields(form: Form[_], tour: Option[Tournament])(implicit
legend(trans.advancedSettings()), legend(trans.advancedSettings()),
errMsg(form("conditions")), errMsg(form("conditions")),
p( p(
strong(dataIcon := "!", cls := "text")(trans.recommendNotTouching()), strong(dataIcon := "", cls := "text")(trans.recommendNotTouching()),
" ", " ",
trans.fewerPlayers(), trans.fewerPlayers(),
" ", " ",

View File

@ -87,7 +87,7 @@ object home {
a( a(
href := routes.Tournament.form, href := routes.Tournament.form,
cls := "button button-green text", cls := "button button-green text",
dataIcon := "O" dataIcon := ""
)(trans.createANewTournament()) )(trans.createANewTournament())
) )
), ),

Some files were not shown because too many files have changed in this diff Show More