feat: Remove HideKeyboardOnDispose component to streamline keyboard management across screens

This commit is contained in:
k1ngsterr1
2026-01-13 21:35:31 +05:00
parent 7f89ffc779
commit 145a3621a1
7 changed files with 2 additions and 194 deletions

View File

@@ -67,8 +67,6 @@ import com.rosetta.messenger.network.SearchUser
import com.rosetta.messenger.ui.components.AppleEmojiPickerPanel
import com.rosetta.messenger.ui.components.AppleEmojiText
import com.rosetta.messenger.ui.components.AppleEmojiTextField
import com.rosetta.messenger.ui.components.HideKeyboardOnDispose
import com.rosetta.messenger.ui.components.rememberKeyboardController
import com.rosetta.messenger.ui.components.VerifiedBadge
import com.rosetta.messenger.ui.onboarding.PrimaryBlue
import android.view.inputmethod.InputMethodManager
@@ -218,15 +216,11 @@ fun ChatDetailScreen(
onUserProfileClick: () -> Unit = {},
viewModel: ChatViewModel = viewModel()
) {
// 🔥 Backup: скрывает клавиатуру при dispose (если не скрыли раньше)
HideKeyboardOnDispose()
val keyboardController = LocalSoftwareKeyboardController.current
val focusManager = LocalFocusManager.current
val clipboardManager = androidx.compose.ui.platform.LocalClipboardManager.current
val context = LocalContext.current
val view = LocalView.current
val keyboard = rememberKeyboardController()
val database = remember { com.rosetta.messenger.database.RosettaDatabase.getDatabase(context) }
// 🔔 Badge: количество непрочитанных сообщений из других чатов
@@ -288,9 +282,9 @@ fun ChatDetailScreen(
var selectedMessages by remember { mutableStateOf<Set<String>>(emptySet()) }
val isSelectionMode = selectedMessages.isNotEmpty()
// 🔥 Простое закрытие
// 🔥 Закрытие экрана
val hideKeyboardAndBack: () -> Unit = {
keyboard.hide()
keyboardController?.hide()
onBack()
}

View File

@@ -25,7 +25,6 @@ import androidx.compose.ui.unit.sp
import com.rosetta.messenger.data.RecentSearchesManager
import com.rosetta.messenger.network.ProtocolState
import com.rosetta.messenger.network.SearchUser
import com.rosetta.messenger.ui.components.HideKeyboardOnDispose
// Primary Blue color
private val PrimaryBlue = Color(0xFF54A9EB)
@@ -44,9 +43,6 @@ fun SearchScreen(
onBackClick: () -> Unit,
onUserSelect: (SearchUser) -> Unit
) {
// 🔥 Автоматическое скрытие клавиатуры при выходе с экрана
HideKeyboardOnDispose()
// Цвета ТОЧНО как в ChatsListScreen
val backgroundColor = if (isDarkTheme) Color(0xFF1A1A1A) else Color(0xFFFFFFFF)
val textColor = if (isDarkTheme) Color.White else Color(0xFF1a1a1a)