CompositionLocalProvider(LocalLayoutDirection provides LayoutDirection.Ltr) {
ModalNavigationDrawer(
drawerState = leftDrawerState,
drawerContent = {
ModalDrawerSheet(modifier = Modifier.width(300.dp)) {
Text("Поиск чатов", modifier = Modifier.padding(16.dp).clickable { })
Text("Сохранить в новый чат", color = MaterialTheme.colorScheme.primary, fontWeight = FontWeight.Bold, modifier = Modifier.padding(16.dp).clickable { showNewChatDialog = true })
HorizontalDivider()
LazyColumn {
items(savedChats) { chat ->
Text(
text = chat.name,
fontWeight = if (chat.id == currentChatId) FontWeight.Bold else FontWeight.Normal,
color = if (chat.id == currentChatId) MaterialTheme.colorScheme.primary else MaterialTheme.colorScheme.onSurface,
modifier = Modifier.fillMaxWidth().clickable {
currentChatId = chat.id; messages.clear(); messages.addAll(chat.messages)
scope.launch { leftDrawerState.close() }
}.padding(16.dp)
)
}
}
}
}
) {
Scaffold(
topBar = {
Row(Modifier.fillMaxWidth().padding(16.dp), horizontalArrangement = Arrangement.SpaceBetween, verticalAlignment = Alignment.CenterVertically) {
Icon(Icons.Default.Menu, "Меню", Modifier.clickable { scope.launch { leftDrawerState.open() } })
Text("Monika", fontWeight = FontWeight.Bold, fontSize = 20.sp)
Icon(Icons.Default.Settings, "Настройки", Modifier.clickable { scope.launch { rightDrawerState.open() } })
}
}
) { padding ->
Column(Modifier.fillMaxSize().padding(padding).background(MaterialTheme.colorScheme.background)) {