Avsluta-dialogen: tidsredigeringen hopfälld bakom 'Ändra tid'
All checks were successful
release / build-release (push) Successful in 4m46s
All checks were successful
release / build-release (push) Successful in 4m46s
Standardvyn visar bara en rad: start → slut (varaktighet). Knappen fäller ut start/varaktighet/slut-kontrollerna vid behov. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kf4MAbZ3c3B4Xy5XfuGsCP
This commit is contained in:
@@ -473,6 +473,7 @@ private fun CompleteSessionDialog(
|
|||||||
mutableStateOf(((lastActivity - originalStart) / 1000).toInt().coerceAtLeast(60))
|
mutableStateOf(((lastActivity - originalStart) / 1000).toInt().coerceAtLeast(60))
|
||||||
}
|
}
|
||||||
var showCalorieInfo by remember { mutableStateOf(false) }
|
var showCalorieInfo by remember { mutableStateOf(false) }
|
||||||
|
var showTimeEditor by remember { mutableStateOf(false) }
|
||||||
var showDatePicker by remember { mutableStateOf(false) }
|
var showDatePicker by remember { mutableStateOf(false) }
|
||||||
var showTimePicker by remember { mutableStateOf(false) }
|
var showTimePicker by remember { mutableStateOf(false) }
|
||||||
var showDurationPicker by remember { mutableStateOf(false) }
|
var showDurationPicker by remember { mutableStateOf(false) }
|
||||||
@@ -626,6 +627,28 @@ private fun CompleteSessionDialog(
|
|||||||
style = MaterialTheme.typography.bodyMedium,
|
style = MaterialTheme.typography.bodyMedium,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
val zone = java.time.ZoneId.systemDefault()
|
||||||
|
val start = java.time.Instant.ofEpochMilli(startEpochMs).atZone(zone)
|
||||||
|
val end = java.time.Instant.ofEpochMilli(startEpochMs + durationSeconds * 1000L)
|
||||||
|
.atZone(zone)
|
||||||
|
|
||||||
|
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||||
|
Text(
|
||||||
|
buildString {
|
||||||
|
append(start.format(java.time.format.DateTimeFormatter.ofPattern("EEE d MMM HH:mm")))
|
||||||
|
append(" → %02d:%02d".format(end.hour, end.minute))
|
||||||
|
if (end.toLocalDate() != start.toLocalDate()) append(" +1d")
|
||||||
|
append(" (%d:%02d)".format(durationSeconds / 3600, (durationSeconds % 3600) / 60))
|
||||||
|
},
|
||||||
|
style = MaterialTheme.typography.bodyMedium,
|
||||||
|
modifier = Modifier.weight(1f),
|
||||||
|
)
|
||||||
|
TextButton(onClick = { showTimeEditor = !showTimeEditor }) {
|
||||||
|
Text(if (showTimeEditor) "Dölj" else "Ändra tid")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (showTimeEditor) {
|
||||||
Column(verticalArrangement = Arrangement.spacedBy(4.dp)) {
|
Column(verticalArrangement = Arrangement.spacedBy(4.dp)) {
|
||||||
Text(
|
Text(
|
||||||
"START (rätta om passet startades sent eller glömdes)",
|
"START (rätta om passet startades sent eller glömdes)",
|
||||||
@@ -633,8 +656,6 @@ private fun CompleteSessionDialog(
|
|||||||
color = MaterialTheme.colorScheme.onSurfaceVariant,
|
color = MaterialTheme.colorScheme.onSurfaceVariant,
|
||||||
)
|
)
|
||||||
Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) {
|
Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) {
|
||||||
val zone = java.time.ZoneId.systemDefault()
|
|
||||||
val start = java.time.Instant.ofEpochMilli(startEpochMs).atZone(zone)
|
|
||||||
FilledTonalButton(
|
FilledTonalButton(
|
||||||
onClick = { showDatePicker = true },
|
onClick = { showDatePicker = true },
|
||||||
modifier = Modifier.weight(1f),
|
modifier = Modifier.weight(1f),
|
||||||
@@ -655,11 +676,6 @@ private fun CompleteSessionDialog(
|
|||||||
}
|
}
|
||||||
|
|
||||||
Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) {
|
Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) {
|
||||||
val zone = java.time.ZoneId.systemDefault()
|
|
||||||
val startDay = java.time.Instant.ofEpochMilli(startEpochMs)
|
|
||||||
.atZone(zone).toLocalDate()
|
|
||||||
val end = java.time.Instant.ofEpochMilli(startEpochMs + durationSeconds * 1000L)
|
|
||||||
.atZone(zone)
|
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier.weight(1f),
|
modifier = Modifier.weight(1f),
|
||||||
verticalArrangement = Arrangement.spacedBy(4.dp),
|
verticalArrangement = Arrangement.spacedBy(4.dp),
|
||||||
@@ -691,11 +707,12 @@ private fun CompleteSessionDialog(
|
|||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
"%02d:%02d".format(end.hour, end.minute) +
|
"%02d:%02d".format(end.hour, end.minute) +
|
||||||
if (end.toLocalDate() != startDay) " +1d" else ""
|
if (end.toLocalDate() != start.toLocalDate()) " +1d" else ""
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||||
Text(
|
Text(
|
||||||
|
|||||||
Reference in New Issue
Block a user