// RowDemoApp
package com.example.rowdemoapp

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
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.width
import androidx.compose.material3.Button
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TextField
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.scale
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.example.rowdemoapp.ui.theme.RowDemoAppTheme

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContent {
            RowDemoAppTheme {
                Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
                    RowDemo(
                        modifier = Modifier.padding(innerPadding)
                    )
                }
            }
        }
    }
}

@Composable
fun RowDemo (modifier: Modifier = Modifier) {
    var regno by remember { mutableStateOf("") }
    var name by remember { mutableStateOf("") }
    var faculty by remember { mutableStateOf("") }
    var course by remember { mutableStateOf("") }
    var semester by remember { mutableStateOf("") }
    var fees by remember { mutableStateOf("") }
    var hall by remember { mutableStateOf("") }
    var age by remember { mutableStateOf("") }

    Column(
        verticalArrangement = Arrangement.SpaceAround,
        horizontalAlignment = Alignment.CenterHorizontally,
        modifier = Modifier
            .fillMaxSize()
            .background(Color.White)
            .padding(10.dp)
    ) {
        Text(
            text = "REGISTER HERE",
            fontSize = 30.sp,
            color = Color.Red,
            fontWeight = FontWeight.Bold,
            textDecoration = TextDecoration.Underline
        )

        Row(
            horizontalArrangement = Arrangement.SpaceAround,
            verticalAlignment = Alignment.CenterVertically,
            modifier = Modifier
                .fillMaxWidth()

        ) {
            Text(
                text = "REGNO:",
                fontWeight = FontWeight.Bold,
                fontSize = 30.sp,
                color = Color.Black
            )
            TextField(
                value = "regno",
                onValueChange = {regno = it},
                label = {
                    Text(
                        text = "Enter Regno",
                        fontSize = 20.sp
                    )
                },
                modifier = Modifier
                    .width(200.dp)
            )

        }
        Row(
            horizontalArrangement = Arrangement.SpaceAround,
            verticalAlignment = Alignment.CenterVertically,
            modifier = Modifier
                .fillMaxWidth()

        ) {
            Text(
                text = "NAME:",
                fontWeight = FontWeight.Bold,
                fontSize = 30.sp,
                color = Color.Black
            )
            TextField(
                value = "name",
                onValueChange = {name = it},
                label = {
                    Text(
                        text = "Enter Name",
                        fontSize = 20.sp
                    )
                },
                modifier = Modifier
                    .width(200.dp)
            )

        }
        Row(
            horizontalArrangement = Arrangement.SpaceAround,
            verticalAlignment = Alignment.CenterVertically,
            modifier = Modifier
                .fillMaxWidth()

        ) {
            Text(
                text = "FACULTY:",
                fontWeight = FontWeight.Bold,
                fontSize = 30.sp,
                color = Color.Black
            )
            TextField(
                value = "faculty",
                onValueChange = {faculty = it},
                label = {
                    Text(
                        text = "Enter Faculty",
                        fontSize = 20.sp
                    )
                },
                modifier = Modifier
                    .width(200.dp)
            )

        }
        Row(
            horizontalArrangement = Arrangement.SpaceAround,
            verticalAlignment = Alignment.CenterVertically,
            modifier = Modifier
                .fillMaxWidth()

        ) {
            Text(
                text = "COURSE:",
                fontWeight = FontWeight.Bold,
                fontSize = 30.sp,
                color = Color.Black
            )
            TextField(
                value = "course",
                onValueChange = {course = it},
                label = {
                    Text(
                        text = "Enter Course",
                        fontSize = 20.sp
                    )
                },
                modifier = Modifier
                    .width(200.dp)
            )

        }
        Row(
            horizontalArrangement = Arrangement.SpaceAround,
            verticalAlignment = Alignment.CenterVertically,
            modifier = Modifier
                .fillMaxWidth()

        ) {
            Text(
                text = "SEMESTER:",
                fontWeight = FontWeight.Bold,
                fontSize = 30.sp,
                color = Color.Black
            )
            TextField(
                value = "semester",
                onValueChange = {regno = it},
                label = {
                    Text(
                        text = "Enter Semester",
                        fontSize = 20.sp
                    )
                },
                modifier = Modifier
                    .width(200.dp)
            )

        }
        Row(
            horizontalArrangement = Arrangement.SpaceAround,
            verticalAlignment = Alignment.CenterVertically,
            modifier = Modifier
                .fillMaxWidth()

        ) {
            Text(
                text = "FEES:",
                fontWeight = FontWeight.Bold,
                fontSize = 30.sp,
                color = Color.Black
            )
            TextField(
                value = "fees",
                onValueChange = {fees = it},
                label = {
                    Text(
                        text = "Enter Fees",
                        fontSize = 20.sp
                    )
                },
                modifier = Modifier
                    .width(200.dp)
            )

        }
        Row(
            horizontalArrangement = Arrangement.SpaceAround,
            verticalAlignment = Alignment.CenterVertically,
            modifier = Modifier
                .fillMaxWidth()

        ) {
            Text(
                text = "HALL:",
                fontWeight = FontWeight.Bold,
                fontSize = 30.sp,
                color = Color.Black
            )
            TextField(
                value = "hall",
                onValueChange = {regno = it},
                label = {
                    Text(
                        text = "Enter Hall",
                        fontSize = 20.sp
                    )
                },
                modifier = Modifier
                    .width(200.dp)
            )

        }
        Row(
            horizontalArrangement = Arrangement.SpaceAround,
            verticalAlignment = Alignment.CenterVertically,
            modifier = Modifier
                .fillMaxWidth()

        ) {
            Text(
                text = "AGE:",
                fontWeight = FontWeight.Bold,
                fontSize = 30.sp,
                color = Color.Black
            )
            TextField(
                value = "age",
                onValueChange = {age = it},
                label = {
                    Text(
                        text = "Enter Age",
                        fontSize = 20.sp
                    )
                },
                modifier = Modifier
                    .width(200.dp)
            )

        }
        Row(
            horizontalArrangement = Arrangement.SpaceAround,
            verticalAlignment = Alignment.CenterVertically,
            modifier = Modifier
                .fillMaxWidth()

        ){
            Button(onClick = {}) {
                Text(
                    text = "SUBMIT",
                    fontSize = 20.sp
                )
            }
            Button(onClick = {}) {
                Text(
                    text = "CANCEL",
                    fontSize = 20.sp,
                )
            }
        }
        

    }

}

@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
    RowDemoAppTheme {
        RowDemo(modifier = Modifier)
    }
}