diff --git a/app/src/main/java/com/mattintech/simplelogupload/ui/screens/tabs/GeneralUploadTab.kt b/app/src/main/java/com/mattintech/simplelogupload/ui/screens/tabs/GeneralUploadTab.kt index 84d1635..adba3d7 100644 --- a/app/src/main/java/com/mattintech/simplelogupload/ui/screens/tabs/GeneralUploadTab.kt +++ b/app/src/main/java/com/mattintech/simplelogupload/ui/screens/tabs/GeneralUploadTab.kt @@ -11,6 +11,7 @@ import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.contract.ActivityResultContracts import androidx.compose.foundation.layout.* import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Close import androidx.compose.material.icons.filled.Upload import androidx.compose.material3.* import androidx.compose.runtime.* @@ -194,12 +195,27 @@ fun GeneralUploadTab( modifier = Modifier.fillMaxWidth() ) { Column(modifier = Modifier.padding(16.dp)) { - Text( - text = "Selected File", - style = MaterialTheme.typography.titleSmall, - color = MaterialTheme.colorScheme.primary - ) - Spacer(modifier = Modifier.height(4.dp)) + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween, + verticalAlignment = Alignment.CenterVertically + ) { + Text( + text = "Selected File", + style = MaterialTheme.typography.titleSmall, + color = MaterialTheme.colorScheme.primary + ) + IconButton( + onClick = { viewModel.clearSelectedFile() }, + enabled = !uiState.isLoading + ) { + Icon( + Icons.Default.Close, + contentDescription = "Remove selected file", + tint = MaterialTheme.colorScheme.onSurfaceVariant + ) + } + } Text( text = fileName, style = MaterialTheme.typography.bodyMedium diff --git a/app/src/main/java/com/mattintech/simplelogupload/viewmodel/MainViewModel.kt b/app/src/main/java/com/mattintech/simplelogupload/viewmodel/MainViewModel.kt index 736374f..9beb782 100644 --- a/app/src/main/java/com/mattintech/simplelogupload/viewmodel/MainViewModel.kt +++ b/app/src/main/java/com/mattintech/simplelogupload/viewmodel/MainViewModel.kt @@ -139,7 +139,9 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { showUploadResultDialog = true, uploadProgress = 0, bytesUploaded = 0, - totalBytes = 0 + totalBytes = 0, + selectedFile = null, + selectedFileName = null ) } AppConstants.ACTION_UPLOAD_ERROR -> { @@ -328,6 +330,16 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { ) } + /** + * Clear the selected file + */ + fun clearSelectedFile() { + _uiState.value = _uiState.value.copy( + selectedFile = null, + selectedFileName = null + ) + } + /** * Show upload parameters dialog */