feat: Preload emojis asynchronously and improve keyboard height handling in ChatDetailScreen
This commit is contained in:
@@ -36,7 +36,6 @@ import coil.request.ImageRequest
|
||||
import com.rosetta.messenger.ui.onboarding.PrimaryBlue
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
/**
|
||||
@@ -608,15 +607,11 @@ fun AppleEmojiPickerPanel(
|
||||
var selectedCategory by remember { mutableStateOf(EMOJI_CATEGORIES[0]) }
|
||||
val gridState = rememberLazyGridState()
|
||||
|
||||
// 🚀 Предзагружаем эмодзи СИНХРОННО при создании компонента
|
||||
val emojisReady = remember {
|
||||
// 🚀 Загружаем эмодзи АСИНХРОННО - без блокировки UI
|
||||
LaunchedEffect(Unit) {
|
||||
if (!EmojiCache.isLoaded) {
|
||||
// Загружаем синхронно для мгновенного отображения
|
||||
runBlocking {
|
||||
EmojiCache.loadEmojis(context)
|
||||
}
|
||||
EmojiCache.loadEmojis(context)
|
||||
}
|
||||
true
|
||||
}
|
||||
|
||||
// Текущие эмодзи для выбранной категории - используем derivedStateOf для оптимизации
|
||||
|
||||
Reference in New Issue
Block a user