Home: add Discard with confirm to in-progress recording card
- RecordingStatusCard: Pause/Resume + Finish + Discard (red)
- Discard shows confirm dialog ('Delete current recording?')
then discards temp via ACTION_DELETE; Cancel keeps recording
This commit is contained in:
parent
5235707de5
commit
a005d4d922
1 changed files with 21 additions and 0 deletions
|
|
@ -167,6 +167,7 @@ fun HomeScreen(
|
|||
onPause = vm::pause,
|
||||
onResume = vm::resume,
|
||||
onStop = vm::stop,
|
||||
onDiscard = vm::discard,
|
||||
)
|
||||
}
|
||||
if (recordings.isNotEmpty()) {
|
||||
|
|
@ -213,7 +214,9 @@ private fun RecordingStatusCard(
|
|||
onPause: () -> Unit,
|
||||
onResume: () -> Unit,
|
||||
onStop: () -> Unit,
|
||||
onDiscard: () -> Unit,
|
||||
) {
|
||||
var confirmDiscard by remember { mutableStateOf(false) }
|
||||
Card(Modifier.fillMaxWidth()) {
|
||||
Column(Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(8.dp)) {
|
||||
Text(
|
||||
|
|
@ -226,10 +229,28 @@ private fun RecordingStatusCard(
|
|||
Text(if (state.phase == com.shonar.recording.RecordingSnapshot.Phase.PAUSED) "Resume" else "Pause")
|
||||
}
|
||||
TextButton(onClick = onStop) { Text("Finish") }
|
||||
TextButton(onClick = { confirmDiscard = true }) {
|
||||
Text("Discard", color = MaterialTheme.colorScheme.error)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (confirmDiscard) {
|
||||
AlertDialog(
|
||||
onDismissRequest = { confirmDiscard = false },
|
||||
title = { Text("Delete current recording?") },
|
||||
text = { Text("This throws away the in-progress take. It can't be undone.") },
|
||||
confirmButton = {
|
||||
TextButton(
|
||||
onClick = { confirmDiscard = false; onDiscard() },
|
||||
) { Text("Delete", color = MaterialTheme.colorScheme.error) }
|
||||
},
|
||||
dismissButton = {
|
||||
TextButton(onClick = { confirmDiscard = false }) { Text("Cancel") }
|
||||
},
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun RecordingRow(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue