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


package com.monika.orangesky

import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
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

@Composable
fun ProfileScreen(userId: String, onBack: () -> Unit) {
    val winterIceBlue = Color(0xFF1E3F66)
    val snowBackground = Color(0xFFF0F4F8)
    
    // Универсальный поиск: сравниваем элементы безопасным приведением к строке
    val user = DataSource.users.firstOrNull { it.id.toString() == userId }

    Column(
        modifier = Modifier
            .fillMaxSize()
            .background(snowBackground)
    ) {
        Row(
            modifier = Modifier
                .fillMaxWidth()
                .background(winterIceBlue)
                .padding(12.dp),
            horizontalArrangement = Arrangement.SpaceBetween,
            verticalAlignment = Alignment.CenterVertically
        ) {
            Text("❄️ Student Profile", color = Color.White, fontWeight = FontWeight.Bold, fontSize = 20.sp)
            TextButton(onClick = onBack) {
                Text("Back", color = Color.White)
            }
        }

        Column(
            modifier = Modifier
                .fillMaxSize()
                .padding(16.dp),
            horizontalAlignment = Alignment.CenterHorizontally
        ) {
            Card(
                colors = CardDefaults.cardColors(containerColor = Color.White),
                elevation = CardDefaults.cardElevation(3.dp),
                modifier = Modifier.fillMaxWidth()
            ) {
                Column(modifier = Modifier.padding(16.dp)) {
                    if (user != null) {
                        Text(user.name, fontWeight = FontWeight.Bold, color = winterIceBlue, fontSize = 22.sp)
                        Spacer(modifier = Modifier.height(8.dp))
                        Text("House / Dorm: ${user.house}", fontSize = 14.sp, color = Color.Gray)
                        Spacer(modifier = Modifier.height(12.sp))
                        Text("Status / Bio:", fontWeight = FontWeight.Bold, fontSize = 14.sp)
                        Text(user.status, fontSize = 16.sp, modifier = Modifier.padding(top = 4.dp))
                    } else {
                        Text("Student not found", color = Color.Red, fontSize = 18.sp)
                    }
                }
            }
        }
    }
}