Загрузка данных


                var showBottomSheet by remember { mutableStateOf(false) }
                var showNewChatDialog by remember { mutableStateOf(false) }
                var newChatName by remember { mutableStateOf("") }
                var showMessageMenuFor by remember { mutableStateOf<ChatMessage?>(null) }
                var editMessageData by remember { mutableStateOf<ChatMessage?>(null) }
                var editedText by remember { mutableStateOf("") }

                val userBubbleColor = if (isDarkTheme) Color.DarkGray else Color.Gray
                val userTextColor = Color.White
                val monikaTextColor = MaterialTheme.colorScheme.onBackground

                fun autoSaveCurrentChat() {
                    if (currentChatId != null) {
                        val index = savedChats.indexOfFirst { it.id == currentChatId }
                        if (index != -1) {
                            savedChats[index] = savedChats[index].copy(messages = messages.toList())
                            ChatManager.saveChats(context, savedChats)
                        }
                    }
                }

                LaunchedEffect(messages.size) {
                    if (messages.isNotEmpty()) listState.animateScrollToItem(messages.size - 1)
                }

                CompositionLocalProvider(LocalLayoutDirection provides LayoutDirection.Rtl) {
                    ModalNavigationDrawer(
                        drawerState = rightDrawerState,
                        drawerContent = {
                            CompositionLocalProvider(LocalLayoutDirection provides LayoutDirection.Ltr) {
                                ModalDrawerSheet(modifier = Modifier.width(300.dp)) {
                                    Column(Modifier.padding(16.dp)) {
                                        Box(modifier = Modifier.fillMaxWidth().height(100.dp), contentAlignment = Alignment.Center) {
                                            Row(verticalAlignment = Alignment.CenterVertically, modifier = Modifier.fillMaxWidth()) {
                                                Icon(Icons.Default.AccountCircle, "Профиль", modifier = Modifier.size(64.dp), tint = Color.Gray)
                                                Spacer(modifier = Modifier.width(12.dp))
                                                Column {
                                                    Text("Профиль", fontWeight = FontWeight.Bold)
                                                    Text("Войти/Зарегистрироваться", fontSize = 10.sp, color = Color.Gray)
                                                }
                                            }
                                            Text("Скоро....", color = Color.Red, fontSize = 24.sp, fontWeight = FontWeight.Bold, modifier = Modifier.rotate(-45f))
                                        }
                                    }
                                    HorizontalDivider()
                                    val themeDisplayText = when(themeModeStr) { "LIGHT" -> "светлая"; "DARK" -> "темная"; else -> "системная" }
                                    Text(
                                        text = "Смена темы: $themeDisplayText", 
                                        modifier = Modifier.fillMaxWidth().clickable {
                                            themeModeStr = when (themeModeStr) { "SYSTEM" -> "LIGHT"; "LIGHT" -> "DARK"; "DARK" -> "SYSTEM"; else -> "SYSTEM" }
                                            themePrefs.edit().putString("theme", themeModeStr).apply()
                                        }.padding(16.dp)
                                    )
                                    Spacer(modifier = Modifier.weight(1f))
                                    Text("Team Lazy Cat™ - Monika AI.\nVersion: Beta 1.5 Patch 5 Panda 2", fontSize = 10.sp, color = Color.Gray, modifier = Modifier.padding(16.dp))
                                }
                            }
                        }
                    ) {