109 lines
4.3 KiB
Kotlin
109 lines
4.3 KiB
Kotlin
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)
|
|
}
|
|
}
|
|
} |