package com.example.piiiiiiiiiiig import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.MaterialTheme import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { LoginScreen() //similarly with FindUser() Done() Error() } } } @Composable fun LoginScreen() { val cor = rememberCoroutineScope() Surface { Column( modifier = Modifier.fillMaxSize(), verticalArrangement = Arrangement.Center, horizontalAlignment = Alignment.CenterHorizontally, ) { Row( verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.Center, modifier = Modifier.fillMaxWidth() ){ Image( painter = painterResource(id = R.drawable.heel), contentDescription = "", modifier = Modifier .size(width = 190.dp, height = 145.dp) .padding(bottom = 90.dp) ) } var login by remember { mutableStateOf("") } var password by remember { mutableStateOf("") } OutlinedTextField( value = login, onValueChange = { login = it }, label = { Text("Login") }, modifier = Modifier.padding(bottom = 4.dp), shape = RoundedCornerShape(12.dp) ) OutlinedTextField( value = password, onValueChange = { password = it }, label = { Text("Password") }, modifier = Modifier.padding(bottom = 12.dp), shape = RoundedCornerShape(12.dp), ) Button( colors = ButtonDefaults.buttonColors( containerColor = Color(red = 231, green = 113, blue = 113) ), onClick = { }, shape = RoundedCornerShape(12.dp) ) { Text( text = "Sign In", style = MaterialTheme. typography.bodyLarge ) } } Image( painter = painterResource(id = R.drawable.up_wave), contentDescription = "", modifier = Modifier.fillMaxWidth() ) Row( modifier = Modifier.fillMaxSize(), ) { Text( text = "pigs", fontSize = 25.sp, textAlign = TextAlign.End, modifier = Modifier.weight(1f).padding(vertical = 300.dp, horizontal = 100.dp) ) } Row( modifier = Modifier.fillMaxSize(), ) { Text( text = "mini", fontSize = 25.sp, textAlign = TextAlign.Start, modifier = Modifier.weight(1f).padding(vertical = 300.dp, horizontal = 100.dp) ) } } Box( modifier = Modifier.fillMaxSize() ) { Image( painter = painterResource(id = R.drawable.down_wave), contentDescription = "", modifier = Modifier.align(Alignment.BottomCenter) ) } } @Composable fun FindUser() { val cor = rememberCoroutineScope() Surface { Column( modifier = Modifier.fillMaxSize(), verticalArrangement = Arrangement.Center, horizontalAlignment = Alignment.CenterHorizontally, ) { Row( verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.Center, modifier = Modifier.fillMaxWidth() ){ Image( painter = painterResource(id = R.drawable.heel), contentDescription = "", modifier = Modifier .size(width = 190.dp, height = 145.dp) .padding(bottom = 90.dp) ) } var login by remember { mutableStateOf("") } OutlinedTextField( value = login, onValueChange = { login = it }, label = { Text("Login") }, modifier = Modifier.padding(bottom = 4.dp), shape = RoundedCornerShape(12.dp) ) Button( colors = ButtonDefaults.buttonColors( containerColor = Color(red = 231, green = 113, blue = 113) ), onClick = { }, shape = RoundedCornerShape(12.dp), modifier = Modifier.padding(top = 33.dp) ) { Text(text = "Find user", style = MaterialTheme.typography.bodyLarge) } } Image( painter = painterResource(id = R.drawable.up_wave), contentDescription = "", modifier = Modifier.fillMaxWidth() ) Box( modifier = Modifier.fillMaxSize() ) { Image( painter = painterResource(id = R.drawable.down_wave), contentDescription = "", modifier = Modifier.align(Alignment.BottomCenter) ) } Row( modifier = Modifier.fillMaxSize(), ) { Text( text = "pigs", fontSize = 25.sp, textAlign = TextAlign.End, modifier = Modifier.weight(1f).padding(vertical = 320.dp, horizontal = 100.dp) ) } Row( modifier = Modifier.fillMaxSize(), ) { Text( text = "mini", fontSize = 25.sp, textAlign = TextAlign.Start, modifier = Modifier.weight(1f).padding(vertical = 320.dp, horizontal = 100.dp) ) } } } @Composable fun Done() { val cor = rememberCoroutineScope() Surface { Column( modifier = Modifier .fillMaxSize() .background(Color.White), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center ){ Box( contentAlignment = Alignment.Center, content = {} ) Text( text = "Done", fontSize = 32.sp, fontWeight = FontWeight.Bold, modifier = Modifier.padding(16.dp), ) Image( painter = painterResource(id = R.drawable.happy_pig), contentDescription = "Happy pig", contentScale = ContentScale.Fit, modifier = Modifier .size(250.dp) .padding(8.dp) ) } Image( painter = painterResource(id = R.drawable.up_wave), contentDescription = "", modifier = Modifier.fillMaxWidth() ) Box( modifier = Modifier.fillMaxSize() ) { Image( painter = painterResource(id = R.drawable.down_wave), contentDescription = "", modifier = Modifier.align(Alignment.BottomCenter) ) } } } @Composable fun Error() { val cor = rememberCoroutineScope() Surface { Column( modifier = Modifier .fillMaxSize() .background(Color.White), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center ){ Box( contentAlignment = Alignment.Center, content = {} ) Text( text = "Error", fontSize = 32.sp, fontWeight = FontWeight.Bold, modifier = Modifier.padding(16.dp), ) Image( painter = painterResource(id = R.drawable.scary_pig), contentDescription = "Scary pig", contentScale = ContentScale.Fit, modifier = Modifier .size(250.dp) .padding(8.dp) ) } Image( painter = painterResource(id = R.drawable.up_wave), contentDescription = "", modifier = Modifier.fillMaxWidth() ) Box( modifier = Modifier.fillMaxSize() ) { Image( painter = painterResource(id = R.drawable.down_wave), contentDescription = "", modifier = Modifier.align(Alignment.BottomCenter) ) } } }