package com.schoolapp.cleverclass import android.content.Intent import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import com.schoolapp.cleverclass.ui.theme.CleverClassTheme import com.schoolapp.cleverclass.ui.theme.TextOnColouredButton class NotenActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { CleverClassTheme { Surface( modifier = Modifier.fillMaxSize(), color = MaterialTheme.colorScheme.background ) { NotenContent(activity = this) } } } } } // Content of Noten @OptIn(ExperimentalMaterial3Api::class) @Composable fun NotenContent(activity: ComponentActivity){ Column() { TopAppBar( colors = TopAppBarDefaults.centerAlignedTopAppBarColors(MaterialTheme.colorScheme.primaryContainer), title = { Text(text = "Noten", style = MaterialTheme.typography.headlineSmall )}, navigationIcon = { IconButton(onClick = { activity.finish() }) { Icon( imageVector = Icons.Filled.ArrowBack, contentDescription = null, modifier = Modifier.size(28.dp) ) } }, modifier = Modifier.fillMaxWidth() ) Column(modifier = Modifier.verticalScroll(rememberScrollState())) { FachButton(color = Color(0xFF69F0AE), text = "Deutsch", 3.66f, activity) FachButton(color = Color(0xFFEEFF41), text = "Mathe", 1.56f, activity) FachButton(color = Color(0xFFFFAB40), text = "Englisch", 2.27f, activity) FachButton(color = Color(0xFF18FFFF), text = "Latein", 4.75f, activity) FachButton(color = Color(0xFFB2FF59), text = "Französisch", 2.33f, activity) } } } @Composable fun FachButton(color : Color, text : String, average : Float, activity : ComponentActivity){ Button( onClick = { val intent = Intent(activity, FachActivity::class.java).apply { putExtra(FachActivity.ARGUMENT_KEY, text) } activity.startActivity(intent) }, shape = RoundedCornerShape(40), colors = ButtonDefaults.outlinedButtonColors(containerColor = color), modifier = Modifier .fillMaxWidth() .height(64.dp) .padding(start = 16.dp, end = 16.dp, top = 16.dp) ) { Row(modifier = Modifier.fillMaxWidth()) { Text(text = text, color = TextOnColouredButton, style = MaterialTheme.typography.labelMedium) Spacer(modifier = Modifier.weight(1f)) Text(text = "Ø$average", color = TextOnColouredButton, style = MaterialTheme.typography.labelMedium) } } }