Замена BasicTextField на AppleEmojiTextField для улучшения ввода названия группы с поддержкой эмодзи и улучшенной логикой отображения.
All checks were successful
Android Kernel Build / build (push) Successful in 16h10m51s

This commit is contained in:
2026-03-07 18:43:58 +05:00
parent c2761ecedf
commit 5d8dc32672

View File

@@ -26,7 +26,6 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.text.BasicTextField
import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.FloatingActionButton
@@ -54,9 +53,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusRequester
import androidx.compose.ui.focus.onFocusChanged
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
@@ -66,7 +63,6 @@ import androidx.compose.ui.platform.LocalSoftwareKeyboardController
import androidx.compose.ui.platform.LocalView
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
@@ -79,6 +75,7 @@ import com.rosetta.messenger.data.GroupRepository
import com.rosetta.messenger.network.GroupStatus
import com.rosetta.messenger.network.SearchUser
import com.rosetta.messenger.repository.AvatarRepository
import com.rosetta.messenger.ui.components.AppleEmojiTextField
import com.rosetta.messenger.ui.components.KeyboardHeightProvider
import com.rosetta.messenger.ui.components.OptimizedEmojiPicker
import com.rosetta.messenger.ui.components.AppleEmojiText
@@ -441,44 +438,29 @@ fun GroupSetupScreen(
verticalAlignment = Alignment.CenterVertically
) {
Box(modifier = Modifier.weight(1f)) {
BasicTextField(
AppleEmojiTextField(
value = title,
onValueChange = { newValue -> title = newValue.take(80) },
singleLine = true,
textStyle = TextStyle(
color = primaryTextColor,
fontSize = 18.sp,
fontWeight = FontWeight.Medium
),
cursorBrush = SolidColor(accentColor),
enabled = !isLoading,
textColor = primaryTextColor,
textSize = 18f,
hint = "Group name",
hintColor = secondaryTextColor.copy(alpha = 0.88f),
modifier =
Modifier
.fillMaxWidth()
.focusRequester(nameFocusRequester)
.onFocusChanged { focusState ->
if (focusState.isFocused &&
showEmojiKeyboard &&
!coordinator.isTransitioning
) {
coordinator.closeEmoji(hideEmoji = { showEmojiKeyboard = false })
}
}
.padding(vertical = 2.dp),
decorationBox = { innerTextField ->
Box(
modifier = Modifier.fillMaxWidth(),
contentAlignment = Alignment.CenterStart
onViewCreated = { editText ->
editText.isSingleLine = true
editText.maxLines = 1
editText.setHorizontallyScrolling(true)
},
onFocusChanged = { hasFocus ->
if (hasFocus &&
showEmojiKeyboard &&
!coordinator.isTransitioning
) {
if (title.isBlank()) {
Text(
text = "Group name",
color = secondaryTextColor.copy(alpha = 0.88f),
fontSize = 18.sp,
fontWeight = FontWeight.Normal
)
}
innerTextField()
coordinator.closeEmoji(hideEmoji = { showEmojiKeyboard = false })
}
}
)