From 6b395629250199669e42db0864180956cbdb07e4 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Fri, 25 Aug 2023 13:55:41 -0400 Subject: [PATCH] Allows the keyboard action to be used as commit in the status field. --- .../amethyst/ui/navigation/DrawerContent.kt | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/navigation/DrawerContent.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/navigation/DrawerContent.kt index f180aaef9..beb6e17fb 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/navigation/DrawerContent.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/navigation/DrawerContent.kt @@ -19,6 +19,7 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.verticalScroll import androidx.compose.material.AlertDialog @@ -56,6 +57,7 @@ import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp @@ -278,8 +280,17 @@ private fun EditStatusBox(baseAccountUser: User, accountViewModel: AccountViewMo ) }, keyboardOptions = KeyboardOptions.Default.copy( + imeAction = ImeAction.Send, capitalization = KeyboardCapitalization.Sentences ), + keyboardActions = KeyboardActions( + onSend = { + scope.launch(Dispatchers.IO) { + accountViewModel.createStatus(currentStatus.value) + focusManager.clearFocus(true) + } + } + ), singleLine = true, trailingIcon = { if (hasChanged) { @@ -319,8 +330,17 @@ private fun EditStatusBox(baseAccountUser: User, accountViewModel: AccountViewMo ) }, keyboardOptions = KeyboardOptions.Default.copy( + imeAction = ImeAction.Send, capitalization = KeyboardCapitalization.Sentences ), + keyboardActions = KeyboardActions( + onSend = { + scope.launch(Dispatchers.IO) { + accountViewModel.updateStatus(it, thisStatus.value) + focusManager.clearFocus(true) + } + } + ), singleLine = true, trailingIcon = { if (hasChanged) {