Skip to content

Commit 4302bd3

Browse files
committed
tutor supports variants
but not opening metrics since variant have no named openings
1 parent 58db38c commit 4302bd3

File tree

6 files changed

+28
-10
lines changed

6 files changed

+28
-10
lines changed

modules/insight/src/main/PovToEntry.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,9 +208,8 @@ final private class PovToEntry(
208208
)
209209

210210
private def findOpening(from: RichPov): Option[SimpleOpening] =
211-
from.pov.game.variant.standard.so(
211+
from.pov.game.variant.standard.so:
212212
OpeningDb
213213
.searchInPositions(from.boards)
214214
.map(_.opening)
215215
.flatMap(SimpleOpening.apply)
216-
)

modules/tutor/src/main/TutorBuilder.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ final private class TutorBuilder(
6161
yield TutorFullReport(config, nowInstant, perfs)
6262

6363
private[tutor] def eligiblePerfKeysOf(user: UserWithPerfs): List[PerfKey] =
64-
lila.rating.PerfType.standardWithUltra.filter: pt =>
64+
supportedPerfs.filter: pt =>
6565
val perf = user.perfs(pt)
6666
perf.nb >= 30 && perf.latest.exists(_.isAfter(lila.insight.minDate))
6767

modules/tutor/src/main/TutorPerfReport.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ case class TutorPerfReport(
2424
pieces: TutorPieces,
2525
flagging: TutorFlagging
2626
):
27+
28+
def variant = lila.rating.PerfType.variantOf(perf)
29+
2730
lazy val estimateTotalTime: Option[FiniteDuration] =
2831
(perf != PerfType.Correspondence).option(stats.time * 2)
2932

modules/tutor/src/main/package.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ export lila.common.extensions.*
99

1010
private val logger = lila.log("tutor")
1111

12+
private val supportedPerfs = lila.rating.PerfType.standardWithUltra ::: lila.rating.PerfType.variants
13+
1214
private given Ordering[lila.analyse.AccuracyPercent] = doubleOrdering
1315
private given Ordering[ClockPercent] = doubleOrdering
1416
private given Ordering[IntRating] = intOrdering

modules/tutor/src/main/ui/TutorPerfUi.scala

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,12 @@ final class TutorPerfUi(helpers: Helpers, bits: TutorBits):
4545
frag(report.perf.trans, " openings"),
4646
full.url.angle(report.perf, "opening").some
4747
)(
48-
selectFourOpenings(report).map: (color, fam) =>
49-
grade.peerGrade(concept.opening(fam.family, color), fam.mix, h4)
48+
cls := (if report.variant.exotic then "tutor__perf__angle--na" else ""),
49+
if report.variant.exotic
50+
then "Not applicable to variants"
51+
else
52+
selectFourOpenings(report).map: (color, fam) =>
53+
grade.peerGrade(concept.opening(fam.family, color), fam.mix, h4)
5054
),
5155
angleCard(
5256
frag(report.perf.trans, " time management"),

ui/tutor/css/_angles.scss

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,19 @@
1-
.tutor__perf__angle--pieces {
2-
@media (min-width: at-least($medium)) {
3-
grid-column: span 2;
1+
.tutor__perf__angle {
2+
@extend %flex-column;
3+
&--pieces {
4+
@media (min-width: at-least($medium)) {
5+
grid-column: span 2;
6+
}
7+
.tutor-grades {
8+
display: grid;
9+
grid-template-columns: repeat(2, 1fr);
10+
}
411
}
512
.tutor-grades {
6-
display: grid;
7-
grid-template-columns: repeat(2, 1fr);
13+
flex: 1 1 100%;
14+
}
15+
&--na {
16+
@extend %flex-center-center;
17+
color: $c-font-dim;
818
}
919
}

0 commit comments

Comments
 (0)