Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit fa65e47

Browse files
authored
Improve selection box (scalacenter#1049)
1 parent d1cccb6 commit fa65e47

File tree

3 files changed

+17
-6
lines changed

3 files changed

+17
-6
lines changed

api/src/main/scala/com.olegych.scastie.api/ScalaVersions.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ object ScalaVersions {
1616
val versions = tpe match {
1717
case ScalaTargetType.Scala3 =>
1818
List(
19-
BuildInfo.stableLTS,
20-
// BuildInfo.stableNext,
21-
BuildInfo.latestLTS,
2219
BuildInfo.latestNext,
20+
BuildInfo.stableNext,
21+
BuildInfo.latestLTS,
22+
BuildInfo.stableLTS,
2323
"3.3.0",
2424
"3.2.2",
2525
"3.2.1",

client/src/main/resources/sass/build-settings-theme.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@
5656
}
5757
}
5858

59+
.selected-option {
60+
outline: 2px solid $selected-radio-color;
61+
}
62+
5963
.search .search-input {
6064
background-color: $input-background-color;
6165
.close {

client/src/main/scala/com.olegych.scastie.client/components/VersionSelector.scala

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,25 +44,32 @@ object VersionSelector {
4444
onChange --> props.onChange(versionSelectors(suggestedVersion)),
4545
checked := props.scalaTarget.scalaVersion == suggestedVersion
4646
),
47-
label(`for` := s"scala-$suggestedVersion", cls := "radio", role := "button", renderRecommended3Versions(suggestedVersion))
47+
label(`for` := s"scala-$suggestedVersion", className := "radio", role := "button", renderRecommended3Versions(suggestedVersion))
4848
)
4949
}
5050
.toTagMod,
5151
li(
5252
label(
53-
div(cls := "select-wrapper")(
53+
div(cls := "select-wrapper"){
54+
val isRecommended = ScalaVersions
55+
.suggestedScalaVersions(props.scalaTarget.targetType)
56+
.contains(props.scalaTarget.scalaVersion)
57+
5458
select(
5559
name := "scalaVersion",
5660
onChange ==> { (e: ReactEventFromInput) =>
5761
props.onChange(versionSelectors(e.target.value))
5862
},
63+
value := {if (isRecommended) "Other" else props.scalaTarget.scalaVersion},
64+
TagMod.when(!isRecommended)(className := "selected-option")
5965
)(
6066
ScalaVersions
6167
.allVersions(props.scalaTarget.targetType)
6268
.map(version => option(version))
69+
.prepended(option("Other")(hidden := true, disabled := true))
6370
.toTagMod
6471
)
65-
)
72+
}
6673
)
6774
)
6875
)

0 commit comments

Comments
 (0)