Add NotenActivity

Add basic functions for NotenActivity
Some other small changes
This commit is contained in:
BuildTools
2024-03-22 20:01:46 +01:00
parent 1c6c814736
commit fedf52c38e
9 changed files with 330 additions and 11 deletions

View File

@@ -0,0 +1,109 @@
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)
}
}
}