Добавить маршрут для экрана настроек в sealed class Screen. Создать data class для состояния UI экрана настроек. Создать ViewModel для экрана настроек. Создать Composable для UI экрана настроек. Unit ) { val uiState by viewModel.uiState.collectAsState() MainScaffold( title = "Настройки", onNavigateUp = onNavigateUp ) { paddingValues -> SettingsContent( modifier = Modifier.padding(paddingValues), uiState = uiState, onServerUrlChange = viewModel::onServerUrlChange, onSaveClick = viewModel::saveSettings ) } } @Composable fun SettingsContent( modifier: Modifier = Modifier, uiState: SettingsUiState, onServerUrlChange: (String) -> Unit, onSaveClick: () -> Unit ) { Column( modifier = modifier .fillMaxSize() .padding(16.dp) ) { OutlinedTextField( value = uiState.serverUrl, onValueChange = onServerUrlChange, label = { Text("URL Сервера") }, modifier = Modifier.fillMaxWidth() ) Spacer(modifier = Modifier.height(16.dp)) Button( onClick = onSaveClick, enabled = !uiState.isLoading, modifier = Modifier.fillMaxWidth() ) { if (uiState.isLoading) { CircularProgressIndicator(modifier = Modifier.size(24.dp)) } else { Text("Сохранить") } } if (uiState.isSaved) { Text("Настройки сохранены!", color = MaterialTheme.colorScheme.primary) } if (uiState.error != null) { Text(uiState.error, color = MaterialTheme.colorScheme.error) } } } ]]> Добавить экран настроек в навигационный граф. Добавить пункт "Настройки" в боковое меню.