Загрузка данных
package com.example.monika
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Menu
import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import kotlinx.coroutines.launch
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MaterialTheme {
val drawerState = rememberDrawerState(initialValue = DrawerValue.Closed)
val scope = rememberCoroutineScope()
var searchText by remember { mutableStateOf("") }
ModalNavigationDrawer(
drawerState = drawerState,
drawerContent = {
ModalDrawerSheet {
Column(modifier = Modifier.padding(16.dp)) {
Text("Поиск чатов", fontSize = 20.sp, fontWeight = FontWeight.Bold)
Spacer(modifier = Modifier.height(16.dp))
OutlinedTextField(
value = searchText,
onValueChange = { searchText = it },
label = { Text("Найти...") },
modifier = Modifier.fillMaxWidth()
)
Spacer(modifier = Modifier.height(16.dp))
NavigationDrawerItem(
label = { Text("Создать новый чат") },
selected = false,
onClick = { scope.launch { drawerState.close() } }
)
}
}
}
) {
Scaffold(
topBar = {
Row(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp),
verticalAlignment = Alignment.CenterVertically
) {
IconButton(onClick = { scope.launch { drawerState.open() } }) {
Icon(
imageVector = Icons.Default.Menu,
contentDescription = "Меню",
tint = Color.Black
)
}
Spacer(modifier = Modifier.weight(1f))
Text(
text = "Monika",
fontSize = 20.sp,
fontWeight = FontWeight.Bold,
color = Color.Black
)
Spacer(modifier = Modifier.weight(1f))
}
}
) { paddingValues ->
var mainInputText by remember { mutableStateOf("") }
Column(
modifier = Modifier
.fillMaxSize()
.padding(paddingValues)
.padding(top = 100.dp),
horizontalAlignment = Alignment.Start
) {
Text(
text = "Здравствуйте!",
fontSize = 42.sp,
fontWeight = FontWeight.Bold,
color = Color.Black,
modifier = Modifier.padding(start = 24.dp)
)
Spacer(modifier = Modifier.weight(1f))
OutlinedTextField(
value = mainInputText,
onValueChange = { mainInputText = it },
label = { Text("Спросить Gemini") },
modifier = Modifier
.fillMaxWidth()
.padding(16.dp)
)
}
}
}
}
}
}
}