diff --git a/composeApp/src/commonMain/kotlin/com/nuvio/app/core/ui/NuvioComponents.kt b/composeApp/src/commonMain/kotlin/com/nuvio/app/core/ui/NuvioComponents.kt index d015d089..5bd03582 100644 --- a/composeApp/src/commonMain/kotlin/com/nuvio/app/core/ui/NuvioComponents.kt +++ b/composeApp/src/commonMain/kotlin/com/nuvio/app/core/ui/NuvioComponents.kt @@ -293,6 +293,7 @@ fun NuvioInputField( onValueChange: (String) -> Unit, placeholder: String, modifier: Modifier = Modifier, + trailingContent: (@Composable (() -> Unit))? = null, ) { OutlinedTextField( value = value, @@ -308,6 +309,7 @@ fun NuvioInputField( ) }, textStyle = MaterialTheme.typography.bodyLarge.copy(color = MaterialTheme.colorScheme.onSurface), + trailingIcon = trailingContent, colors = OutlinedTextFieldDefaults.colors( focusedBorderColor = MaterialTheme.colorScheme.outline, unfocusedBorderColor = MaterialTheme.colorScheme.outline, diff --git a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/search/SearchScreen.kt b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/search/SearchScreen.kt index a3d892c4..eb26bc8b 100644 --- a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/search/SearchScreen.kt +++ b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/search/SearchScreen.kt @@ -179,6 +179,19 @@ fun SearchScreen( value = query, onValueChange = { query = it }, placeholder = "Search movies, shows...", + trailingContent = if (query.isNotBlank()) { + { + IconButton(onClick = { query = "" }) { + Icon( + imageVector = Icons.Rounded.Close, + contentDescription = "Clear search", + tint = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } + } + } else { + null + }, ) } androidx.compose.foundation.layout.Spacer(modifier = Modifier.height(14.dp))