diff --git a/app/views/opening/JsData.scala b/app/views/opening/JsData.scala index a4fd0e934b..33bef2886c 100644 --- a/app/views/opening/JsData.scala +++ b/app/views/opening/JsData.scala @@ -35,7 +35,7 @@ object JsData extends lila.Steroids { "quality" -> quality.name) }), "url" -> s"$netBaseUrl${routes.Opening.show(opening.id)}", - "names" -> names + "names" -> names.take(3) ), "animation" -> Json.obj( "duration" -> ctx.pref.animationFactor * animationDuration.toMillis diff --git a/modules/opening/src/main/OpeningApi.scala b/modules/opening/src/main/OpeningApi.scala index 1c9b77bf72..0aeb083412 100644 --- a/modules/opening/src/main/OpeningApi.scala +++ b/modules/opening/src/main/OpeningApi.scala @@ -77,7 +77,8 @@ private[opening] final class OpeningApi( BSONDocument("_id" -> fen), BSONDocument("_id" -> false) ).one[BSONDocument] map { opt => - ~(opt ?? (_.getAs[List[String]]("names"))) + val names = ~(opt ?? (_.getAs[List[String]]("names"))) + names.map { _.split(',').take(2).mkString(",") }.distinct } } } diff --git a/public/stylesheets/opening.css b/public/stylesheets/opening.css index 75c1eb9e74..12c827ad61 100644 --- a/public/stylesheets/opening.css +++ b/public/stylesheets/opening.css @@ -35,7 +35,7 @@ border-radius: 25px; padding: 10px; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - margin-top: 20px; + margin: 20px 0 10px 0; } #opening .meter ul { width: 490px; diff --git a/ui/opening/src/view.js b/ui/opening/src/view.js index 3403875a12..26fda46cb4 100644 --- a/ui/opening/src/view.js +++ b/ui/opening/src/view.js @@ -20,7 +20,7 @@ function renderAnalysisButton(ctrl) { } function renderPlayTable(ctrl) { - return m('div.table', + return m('div.table', [ m('div.table_inner', [ m('div.current_player', m('div.player.' + ctrl.data.opening.color, [ @@ -38,7 +38,8 @@ function renderPlayTable(ctrl) { ' ', renderAnalysisButton(ctrl) ]) - ])); + ]) + ]); } function renderViewTable(ctrl) { @@ -258,7 +259,10 @@ module.exports = function(ctrl) { )) ]), m('div.center', [ - progress(ctrl), (ctrl.data.user && ctrl.data.user.history) ? renderHistory(ctrl) : null + progress(ctrl), + m('ul.names', ctrl.data.opening.names.map(function(name) { + return m('li', name); + })), (ctrl.data.user && ctrl.data.user.history) ? renderHistory(ctrl) : null ]) ]); };