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


package com.example.monika

import android.content.Intent
import android.net.Uri
import androidx.compose.foundation.*
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.*
import androidx.compose.foundation.shape.*
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.*
import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.ui.*
import androidx.compose.ui.draw.rotate
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.*
import kotlinx.coroutines.launch

@Composable
fun MonikaApp() {
    val drawerState = rememberDrawerState(DrawerValue.Closed)
    val rightDrawerState = rememberDrawerState(DrawerValue.Closed)
    val scope = rememberCoroutineScope()
    val uriHandler = LocalUriHandler.current
    var showBottomSheet by remember { mutableStateOf(false) }

    ModalNavigationDrawer(
        drawerState = drawerState, // Левая шторка
        drawerContent = { 
            ModalDrawerSheet { 
                Text("Поиск чатов", modifier = Modifier.padding(16.dp))
                Text("Новый чат", modifier = Modifier.padding(16.dp).clickable { /* Твоя логика */ })
            } 
        }
    ) {
        ModalNavigationDrawer(
            drawerState = rightDrawerState, // Правая шторка (настройки)
            drawerContent = {
                ModalDrawerSheet {
                    // Твой дизайн профиля
                    Column(Modifier.padding(16.dp)) {
                        Box(contentAlignment = Alignment.Center) {
                            // Кружок с полукругом
                            Surface(shape = CircleShape, color = Color.Gray, modifier = Modifier.size(80.dp)) {
                                Box(contentAlignment = Alignment.Center) {
                                    Icon(Icons.Default.Person, null, Modifier.size(40.dp))
                                    // Полукруг снизу
                                    Box(Modifier.align(Alignment.BottomCenter).fillMaxWidth(0.6f).height(10.dp).background(Color.DarkGray))
                                }
                            }
                            Text("Скоро...", color = Color.Red, modifier = Modifier.rotate(45f))
                        }
                        Text("Профиль", fontWeight = FontWeight.Bold)
                        Text("Войти/Зарегистрироваться", fontSize = 12.sp)
                    }
                    HorizontalDivider()
                    Text("Смена темы", modifier = Modifier.padding(16.dp))
                }
            },
            drawerState = rightDrawerState
        ) {
            Scaffold(
                topBar = {
                    Row(Modifier.fillMaxWidth().padding(16.dp), horizontalArrangement = Arrangement.SpaceBetween) {
                        Icon(Icons.Default.Menu, null, Modifier.clickable { scope.launch { drawerState.open() } })
                        Text("Monika", fontWeight = FontWeight.Bold)
                        Icon(Icons.Default.Settings, null, Modifier.clickable { scope.launch { rightDrawerState.open() } })
                    }
                }
            ) { padding ->
                Box(Modifier.fillMaxSize().padding(padding)) {
                    // Чат (Сообщения пользователя справа, Моники — слева)
                    // ... (здесь логика LazyColumn)
                    
                    // Поле ввода
                    Surface(Modifier.fillMaxWidth().align(Alignment.BottomCenter).padding(8.dp)) {
                        Row {
                            IconButton(onClick = { showBottomSheet = true }) { Icon(Icons.Default.Add, null) }
                            // TextField...
                        }
                    }

                    // Шторка снизу (для плюсика)
                    if (showBottomSheet) {
                        Surface(Modifier.align(Alignment.BottomCenter).fillMaxWidth().height(200.dp), shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp)) {
                            Box {
                                Column {
                                    Text("Сделать фото")
                                    Text("Прикрепить фото")
                                    Text("Прикрепить файл")
                                }
                                Text("Скоро....", color = Color.Red, modifier = Modifier.rotate(45f).align(Alignment.Center))
                            }
                        }
                    }
                }
            }
        }
    }
}