feat: Remove HideKeyboardOnDispose component to streamline keyboard management across screens
This commit is contained in:
@@ -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()
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user