Add add and remove function to grades

This commit is contained in:
BuildTools
2024-04-01 21:57:41 +02:00
parent 207c8139b4
commit a4aa252494
2 changed files with 30 additions and 14 deletions

View File

@@ -14,7 +14,9 @@ import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.width
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Add import androidx.compose.material.icons.filled.Add
import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.material.icons.filled.ArrowBack
@@ -42,7 +44,6 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment.Companion.CenterVertically import androidx.compose.ui.Alignment.Companion.CenterVertically
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.schoolapp.cleverclass.ui.theme.CleverClassTheme import com.schoolapp.cleverclass.ui.theme.CleverClassTheme
import com.schoolapp.cleverclass.ui.theme.TextOnColouredButton import com.schoolapp.cleverclass.ui.theme.TextOnColouredButton
@@ -63,7 +64,7 @@ class FachActivity : ComponentActivity() {
modifier = Modifier.fillMaxSize(), modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background color = MaterialTheme.colorScheme.background
) { ) {
FachContent(activity = this, name = name) GradeContent(activity = this, name = name)
} }
} }
} }
@@ -72,7 +73,19 @@ class FachActivity : ComponentActivity() {
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun FachContent(activity: ComponentActivity, name : String){ fun GradeContent(activity: ComponentActivity, name : String){
val colors = listOf(
Color(0xFF536DFE),
Color(0xFF448AFF),
Color(0xFF40C4FF),
Color(0xFF18FFFF),
Color(0xFF64FFDA),
Color(0xFF69F0AE)
)
var grades by remember {
mutableStateOf(emptyList<GradeData>())
}
Scaffold( Scaffold(
topBar = { topBar = {
TopAppBar( TopAppBar(
@@ -114,7 +127,8 @@ fun FachContent(activity: ComponentActivity, name : String){
} }
}, },
floatingActionButton = { floatingActionButton = {
FloatingActionButton(onClick = { /*TODO*/ }, FloatingActionButton(
onClick = { grades = grades + GradeData(grades.size, colors.random()) },
shape = RoundedCornerShape(40) shape = RoundedCornerShape(40)
) { ) {
Icon(imageVector = Icons.Filled.Add, Icon(imageVector = Icons.Filled.Add,
@@ -124,18 +138,18 @@ fun FachContent(activity: ComponentActivity, name : String){
) {innerPadding -> ) {innerPadding ->
Column(modifier = Modifier Column(modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.padding(innerPadding)) .padding(innerPadding)
.verticalScroll(rememberScrollState()))
{ {
NotenPrefab() grades.forEach{ gradeData ->
NotenPrefab() GradePrefab(onClose = { grades = grades.filter { it != gradeData } }, color = gradeData.color)
}
} }
} }
} }
@Preview
@Composable @Composable
fun NotenPrefab(){ fun GradePrefab(onClose: () -> Unit, color: Color){
val color = Color(0xFFB2FF59)
var typeExpanded by remember { var typeExpanded by remember {
mutableStateOf(false) mutableStateOf(false)
} }
@@ -187,7 +201,7 @@ fun NotenPrefab(){
tint = TextOnColouredButton, tint = TextOnColouredButton,
modifier = Modifier modifier = Modifier
.size(28.dp) .size(28.dp)
.clickable { /*TODO*/ } .clickable { onClose() }
) )
} }
@@ -242,3 +256,5 @@ fun NotenPrefab(){
} }
} }
data class GradeData(val id: Int, val color: Color)

View File

@@ -82,9 +82,9 @@ fun MainContent(activity: ComponentActivity){
Column(modifier = Modifier.verticalScroll(rememberScrollState())) { Column(modifier = Modifier.verticalScroll(rememberScrollState())) {
MainButton(onClick = { switchToActivity(activity, StundenplanActivity::class.java) }, color = Color(0xFFFF4081), text = "Stundenplan", sharedPreferences) MainButton(onClick = { switchToActivity(activity, StundenplanActivity::class.java) }, color = Color(0xFFFF4081), text = "Stundenplan", sharedPreferences)
MainButton(onClick = { switchToActivity(activity, NotenActivity::class.java) }, color = Color(0xFFFFAB40), text = "Noten", sharedPreferences) MainButton(onClick = { switchToActivity(activity, NotenActivity::class.java) }, color = Color(0xFFE040FB), text = "Noten", sharedPreferences)
MainButton(onClick = { switchToActivity(activity, PSEActivity::class.java) }, color = Color(0xFF536DFE), text = "Periodensystem", sharedPreferences) MainButton(onClick = { switchToActivity(activity, PSEActivity::class.java) }, color = Color(0xFF536DFE), text = "Periodensystem", sharedPreferences)
MainButton(onClick = { /*TODO: Mebis activity*/ }, color = Color(0xFFE040FB), text = "Mebis", sharedPreferences) MainButton(onClick = { /*TODO: Mebis activity*/ }, color = Color(0xFF7C4DFF), text = "Mebis", sharedPreferences)
MainButton(onClick = { /*TODO: DSBmobile activity*/ }, color = Color(0xFFFF6E40), text = "DSBmobile", sharedPreferences) MainButton(onClick = { /*TODO: DSBmobile activity*/ }, color = Color(0xFFFF6E40), text = "DSBmobile", sharedPreferences)
} }
} }