complete elo filter
parent
45a6a6f150
commit
01b3d0fec3
|
@ -60,7 +60,7 @@ object FilterConfig {
|
|||
variant ← filter.getAs[Int]("v")
|
||||
mode ← filter.getAs[Int]("m")
|
||||
speed ← filter.getAs[Int]("s")
|
||||
eloDiff = ~filter.getAs[Int]("e")
|
||||
eloDiff ← filter.getAs[Int]("e")
|
||||
config ← RawFilterConfig(variant, mode, speed, eloDiff).decode
|
||||
} yield config
|
||||
}
|
||||
|
|
|
@ -21,4 +21,11 @@ trait SetupHelper { self: I18nHelper ⇒
|
|||
def translatedSpeedChoices(implicit ctx: Context) = Speed.all map { s ⇒
|
||||
s.id.toString -> (s.toString + " - " + StringHelper.ucFirst(s.name))
|
||||
}
|
||||
|
||||
def eloDiffChoices(elo: Int)(implicit ctx: Context) = FilterConfig.eloDiffs map { diff ⇒
|
||||
diff -> (diff == 0).fold(
|
||||
trans.eloRange.str(),
|
||||
"%d - %d (+-%d)".format(elo - diff, elo + diff, diff)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import play.api.templates.Html
|
|||
|
||||
trait AssetHelper {
|
||||
|
||||
val assetVersion = 39
|
||||
val assetVersion = 40
|
||||
|
||||
def cssTag(name: String) = css("stylesheets/" + name)
|
||||
|
||||
|
|
|
@ -3,9 +3,10 @@
|
|||
@helper.form(action = routes.Setup.filter(), 'novalidate -> "novalidate") {
|
||||
@base.select(form("variant"), translatedVariantChoices, trans.variant.str().some)
|
||||
@base.select(form("speed"), translatedSpeedChoices, trans.timeControl.str().some)
|
||||
@if(ctx.isAuth) {
|
||||
@base.select(form("mode"), translatedModeChoices,trans.mode.str().some)
|
||||
} else {
|
||||
@ctx.me.map { me =>
|
||||
@base.select(form("mode"), translatedModeChoices, trans.mode.str().some)
|
||||
@base.select(form("eloDiff"), eloDiffChoices(me.elo))
|
||||
}.getOrElse {
|
||||
@base.select(form("mode"), translatedModeChoices take 1)
|
||||
}
|
||||
<div class="actions">
|
||||
|
|
|
@ -1531,8 +1531,7 @@ var lichess_translations = [];
|
|||
$a.removeClass('active');
|
||||
});
|
||||
}, 10);
|
||||
$(this).toggleClass('active');
|
||||
if($(this).hasClass('active')) {
|
||||
if($(this).toggleClass('active').hasClass('active')) {
|
||||
var $filter = $div.fadeIn(200);
|
||||
if ($filter.is(':empty')) {
|
||||
$.ajax({
|
||||
|
@ -1704,9 +1703,9 @@ var lichess_translations = [];
|
|||
var hook = $(this).data('hook');
|
||||
var hide = (filter.variant != null && filter.variant != hook.variant) ||
|
||||
(filter.mode != null && filter.mode != hook.mode) ||
|
||||
(filter.speed != null && filter.speed != hook.speed);
|
||||
hide = hide && (hook.action != 'cancel');
|
||||
$(this).toggleClass('none', hide);
|
||||
(filter.speed != null && filter.speed != hook.speed) ||
|
||||
(filter.eloDiff > 0 && (!hook.elo || hook.elo > (myElo + filter.eloDiff) || hook.elo < (myElo - filter.eloDiff)));
|
||||
$(this).toggleClass('none', hide && (hook.action != 'cancel'));
|
||||
});
|
||||
|
||||
var nbVisibleHooks = $hooksTable.find('tr.hook:not(.none)').length;
|
||||
|
@ -1715,7 +1714,7 @@ var lichess_translations = [];
|
|||
$wrap
|
||||
.toggleClass("large", nbVisibleHooks > 6)
|
||||
.find('a.filter')
|
||||
.toggleClass('on', filter.mode != null || filter.variant != null || filter.speed != null)
|
||||
.toggleClass('on', filter.mode != null || filter.variant != null || filter.speed != null || filter.eloDiff > 0)
|
||||
.find('span.number').text('(' + $hooksTable.find('tr.hook.none').length + ')');
|
||||
}
|
||||
|
||||
|
|
5
todo
5
todo
|
@ -54,5 +54,8 @@ traduction intégrale
|
|||
block user creation from an IP
|
||||
mute IP
|
||||
time color toward end http://fr.lichess.org/forum/lichess-feedback/suggestion-time-color-towards-end#5
|
||||
finish elo filter!
|
||||
fast join game = creator not redirected properly?
|
||||
|
||||
deploy
|
||||
------
|
||||
db.config.update({_id:"thibault"},{$unset:{filter:true}}, {multi: true})
|
||||
|
|
Loading…
Reference in New Issue