Add add and remove function to grades
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user