From a005d4d922fab347daa4e25b4bf84096298a8109 Mon Sep 17 00:00:00 2001 From: avi Date: Tue, 15 Sep 2026 10:41:17 -0500 Subject: [PATCH] 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 --- .../java/com/shonar/ui/home/HomeScreen.kt | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/android/app/src/main/java/com/shonar/ui/home/HomeScreen.kt b/android/app/src/main/java/com/shonar/ui/home/HomeScreen.kt index a1a3f5b..2bf72cd 100644 --- a/android/app/src/main/java/com/shonar/ui/home/HomeScreen.kt +++ b/android/app/src/main/java/com/shonar/ui/home/HomeScreen.kt @@ -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,9 +229,27 @@ 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