diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactList.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactList.kt index 759db1864af83c247c9ac92e16cf68a17eede07e..44d5e14624052e7b95f7775e3a9fe6b8738e93ae 100644 --- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactList.kt +++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactList.kt @@ -137,7 +137,7 @@ fun ContactList( modifier = Modifier.fillMaxWidth().height(HEADER_SIZE + 1.dp), ) { SearchTextField( - placeholder = i18n("contacts.search.title"), + title = i18n("contacts.search.title"), icon = Icons.Filled.PersonAdd, searchValue = filterBy, addButtonDescription = i18n("access.contacts.add"), diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/GroupListComposable.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/GroupListComposable.kt index 0c08e2a6d5cb208c064bb2ee6909c6dac4fef5aa..c5e0af27503f5cf18f43e8086a24d8b73e501076 100644 --- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/GroupListComposable.kt +++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/GroupListComposable.kt @@ -68,7 +68,7 @@ fun GroupListComposable( modifier = Modifier.fillMaxWidth().height(Constants.HEADER_SIZE + 1.dp), ) { SearchTextField( - placeholder = i18n("forum.search.title"), + title = i18n("forum.search.title"), icon = Icons.Filled.AddComment, searchValue = filterBy, addButtonDescription = i18n("forum.add.title"), diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/SearchTextField.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/SearchTextField.kt index c1b08e1b5ac1fa230ab54fa37dd7e7d493d147e3..89827e5a371991c6385b89dc3bfc001f120ebd40 100644 --- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/SearchTextField.kt +++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/SearchTextField.kt @@ -70,15 +70,14 @@ import kotlinx.coroutines.runInterruptible import org.briarproject.briar.desktop.theme.surfaceVariant import org.briarproject.briar.desktop.utils.InternationalizationUtils.i18n -@OptIn(ExperimentalComposeUiApi::class) @Composable fun SearchTextField( - placeholder: String, + title: String, icon: ImageVector, searchValue: String, addButtonDescription: String, onValueChange: (String) -> Unit, - onAddButtonClicked: () -> Unit + onAddButtonClicked: () -> Unit, ) { val (isSearchMode, setSearchMode) = remember { mutableStateOf(false) } @@ -91,22 +90,25 @@ fun SearchTextField( onBack = { setSearchMode(false) }, ) } else { - ContactListTopAppBar( + SearchTopAppBar( + title, onAddButtonClicked, + addButtonDescription, onSearch = { setSearchMode(true) }, - icon + icon, ) } } } } -@OptIn(ExperimentalComposeUiApi::class) @Composable -fun ContactListTopAppBar( +fun SearchTopAppBar( + placeholder: String, onContactAdd: () -> Unit, + addButtonDescription: String, onSearch: () -> Unit, - icon: ImageVector + icon: ImageVector, ) { Surface( color = MaterialTheme.colors.surfaceVariant, @@ -114,14 +116,12 @@ fun ContactListTopAppBar( ) { Box { Row( - Modifier.fillMaxSize(), - horizontalArrangement = Arrangement.SpaceBetween, + Modifier.fillMaxSize().padding(start = 64.dp, end = 14.dp), verticalAlignment = Alignment.CenterVertically ) { Text( - i18n("contacts.search.title"), + placeholder, style = MaterialTheme.typography.h4, - modifier = Modifier.padding(start = 64.dp) ) Spacer(Modifier.weight(1f)) IconButton( @@ -133,7 +133,7 @@ fun ContactListTopAppBar( } IconButton( onClick = onContactAdd, - modifier = Modifier.padding(end = 14.dp).then(Modifier.size(32.dp)) + modifier = Modifier.size(32.dp), ) { Icon( icon, @@ -168,7 +168,7 @@ fun SearchInput( textStyle = LocalTextStyle.current.copy( color = MaterialTheme.colors.onSurface ), - placeholder = { Text(i18n("contacts.search.placeholder"), style = MaterialTheme.typography.body1) }, + placeholder = { Text(i18n("search"), style = MaterialTheme.typography.body1) }, shape = RoundedCornerShape(0.dp), colors = TextFieldDefaults.textFieldColors(backgroundColor = MaterialTheme.colors.surfaceVariant), leadingIcon = { @@ -188,7 +188,7 @@ fun SearchInput( }, Modifier.size(24.dp).pointerHoverIcon(PointerIconDefaults.Default) ) { - Icon(Icons.Filled.Close, "clear search text") + Icon(Icons.Filled.Close, i18n("search.clear")) } } }, diff --git a/briar-desktop/src/main/resources/strings/BriarDesktop.properties b/briar-desktop/src/main/resources/strings/BriarDesktop.properties index 8f559e5d8809d3a33df505332e6f62aaa8b4be4a..f5707f47879fc48344e0d30ed698f4bace022d22 100644 --- a/briar-desktop/src/main/resources/strings/BriarDesktop.properties +++ b/briar-desktop/src/main/resources/strings/BriarDesktop.properties @@ -261,6 +261,7 @@ unsupported_feature=Unfortunately, this feature is not yet supported by Briar De remove=Remove hide=Hide search=Search +search.clear=Clear Search # Compose text edit actions copy=Copy