2 Commits
v0.0 ... v0.01

Author SHA1 Message Date
d6e0b5c3bb update SettingsScreen.kt 2025-12-02 11:32:33 +01:00
328c240183 update SettingsScreen.kt 2025-12-02 11:20:55 +01:00

View File

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