Compare commits
2 Commits
bcba89ab3a
...
d6e0b5c3bb
| Author | SHA1 | Date | |
|---|---|---|---|
| d6e0b5c3bb | |||
| 328c240183 |
@@ -1,5 +1,6 @@
|
||||
package com.petrovv.gogameclock
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
@@ -20,6 +21,7 @@ import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.text.input.KeyboardType
|
||||
import androidx.compose.ui.unit.dp
|
||||
|
||||
@@ -35,9 +37,12 @@ fun SettingsScreen(
|
||||
modifier: Modifier = Modifier,
|
||||
onTimingChange: (IClock, IClock) -> Unit
|
||||
) {
|
||||
var t1 by remember { mutableStateOf("1200") }
|
||||
var t2 by remember { mutableStateOf("60") }
|
||||
var t3 by remember { mutableStateOf("25") }
|
||||
var mainT by remember { mutableStateOf("20") }
|
||||
var byoM by remember { mutableStateOf("1") }
|
||||
var byoSe by remember { mutableStateOf("0") }
|
||||
|
||||
var byoSt by remember { mutableStateOf("25") }
|
||||
|
||||
val timingOptions = remember { TimingOption.entries }
|
||||
var selectedTiming by remember { mutableStateOf(TimingOption.Absolute) }
|
||||
|
||||
@@ -51,9 +56,9 @@ fun SettingsScreen(
|
||||
Spacer(modifier = Modifier.height(16.dp))
|
||||
|
||||
TextField(
|
||||
value = t1,
|
||||
onValueChange = { t1 = it },
|
||||
label = { Text("Main time (s)") },
|
||||
value = mainT,
|
||||
onValueChange = { mainT = it },
|
||||
label = { Text("Main time (m)") },
|
||||
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number),
|
||||
)
|
||||
|
||||
@@ -88,40 +93,64 @@ fun SettingsScreen(
|
||||
when (selectedTiming) {
|
||||
TimingOption.Absolute -> {}
|
||||
TimingOption.Fischer -> {
|
||||
text1 = "Increment (s)"
|
||||
text1 = "Increment"
|
||||
show1 = true
|
||||
byoM = "0"
|
||||
byoSe = "10"
|
||||
}
|
||||
TimingOption.Canadian -> {
|
||||
text1 = "byo-yomi time (s)"
|
||||
text1 = "byo-yomi time"
|
||||
text2 = "byo-yomi stones"
|
||||
show1 = true
|
||||
show2 = true
|
||||
byoM = "10"
|
||||
byoSe = "0"
|
||||
byoSt = "25"
|
||||
}
|
||||
TimingOption.Japan -> {
|
||||
text1 = "byo-yomi time (s)"
|
||||
text1 = "byo-yomi time"
|
||||
text2 = "byo-yomi periods"
|
||||
show1 = true
|
||||
show2 = true
|
||||
byoM = "1"
|
||||
byoSe = "0"
|
||||
byoSt = "3"
|
||||
}
|
||||
}
|
||||
|
||||
if (show1) {
|
||||
Spacer(modifier = Modifier.height(8.dp))
|
||||
|
||||
Text(text = text1)
|
||||
|
||||
Row(
|
||||
modifier = Modifier.padding(horizontal = 50.dp),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.spacedBy(8.dp)
|
||||
) {
|
||||
TextField(
|
||||
value = t2,
|
||||
onValueChange = { t2 = it },
|
||||
label = { Text(text1) },
|
||||
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number)
|
||||
value = byoM,
|
||||
onValueChange = { byoM = it },
|
||||
label = { Text("min") },
|
||||
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number),
|
||||
modifier = Modifier.weight(1f)
|
||||
)
|
||||
Text(":")
|
||||
TextField(
|
||||
value = byoSe,
|
||||
onValueChange = { byoSe = it },
|
||||
label = { Text("sec") },
|
||||
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number),
|
||||
modifier = Modifier.weight(1f)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (show2) {
|
||||
Spacer(modifier = Modifier.height(8.dp))
|
||||
TextField(
|
||||
value = t3,
|
||||
onValueChange = { t3 = it },
|
||||
value = byoSt,
|
||||
onValueChange = { byoSt = it },
|
||||
label = { Text(text2) },
|
||||
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number)
|
||||
)
|
||||
@@ -130,9 +159,13 @@ fun SettingsScreen(
|
||||
Spacer(modifier = Modifier.height(16.dp))
|
||||
|
||||
Button(onClick = {
|
||||
val v1 = t1.toLongOrNull() ?: 25
|
||||
val v2 = t2.toLongOrNull() ?: 25
|
||||
val v3 = t3.toLongOrNull() ?: 25
|
||||
val v1 = (mainT.toLongOrNull() ?: 25) * 60
|
||||
|
||||
val t1 = byoM.toLongOrNull() ?: 0
|
||||
val t2 = byoSe.toLongOrNull() ?: 0
|
||||
val v2 = (t1 * 60) + t2
|
||||
|
||||
val v3 = byoSt.toLongOrNull() ?: 0
|
||||
|
||||
when (selectedTiming) {
|
||||
TimingOption.Absolute -> onTimingChange(AbsoluteTiming(v1), AbsoluteTiming(v1))
|
||||
|
||||
Reference in New Issue
Block a user