diff --git a/app/src/main/java/com/schoolapp/cleverclass/PSEActivity.kt b/app/src/main/java/com/schoolapp/cleverclass/PSEActivity.kt index 924a350..2988291 100644 --- a/app/src/main/java/com/schoolapp/cleverclass/PSEActivity.kt +++ b/app/src/main/java/com/schoolapp/cleverclass/PSEActivity.kt @@ -1,52 +1,46 @@ package com.schoolapp.cleverclass -import android.app.AlertDialog +import android.content.Context import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent -import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable import androidx.compose.foundation.horizontalScroll +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.defaultMinSize +import androidx.compose.foundation.layout.fillMaxHeight 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.requiredSizeIn import androidx.compose.foundation.layout.size -import androidx.compose.foundation.layout.width -import androidx.compose.foundation.layout.wrapContentHeight -import androidx.compose.foundation.layout.wrapContentSize -import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.foundation.rememberScrollState 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.ButtonColors -import androidx.compose.material3.ButtonDefaults +import androidx.compose.material.icons.outlined.Info +import androidx.compose.material3.AlertDialog 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.Switch import androidx.compose.material3.Text -import androidx.compose.material3.TextButton import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBarDefaults -import androidx.compose.material3.contentColorFor import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.geometry.Rect import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.RectangleShape -import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import com.schoolapp.cleverclass.ui.theme.CleverClassTheme +import org.json.JSONObject +import java.io.InputStreamReader class PSEActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { @@ -66,6 +60,21 @@ class PSEActivity : ComponentActivity() { @OptIn(ExperimentalMaterial3Api::class) @Composable fun PSEContent(activity: ComponentActivity){ + var showInfo by remember { + mutableStateOf(false) + } + var dialogChooser by remember { + mutableStateOf(-1) + } + val elementConstructorList = listOf( + 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, + 2, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 5, 6, 7, 8, 9, + 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12, 13, 14, 15, 16, 17, + 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,33, 34, 35, + 36, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117 + ) Column { TopAppBar( colors = TopAppBarDefaults.centerAlignedTopAppBarColors(MaterialTheme.colorScheme.primaryContainer), @@ -81,6 +90,18 @@ fun PSEContent(activity: ComponentActivity){ Icon( imageVector = Icons.Filled.ArrowBack, contentDescription = null, + modifier = Modifier.size(60.dp), + tint = MaterialTheme.colorScheme.onPrimaryContainer + ) + } + }, + actions = { + IconButton(onClick = { + showInfo = true + }) { + Icon( + imageVector = Icons.Outlined.Info, + contentDescription = null, modifier = Modifier.size(28.dp), tint = MaterialTheme.colorScheme.onPrimaryContainer ) @@ -89,1113 +110,299 @@ fun PSEContent(activity: ComponentActivity){ modifier = Modifier.fillMaxWidth() ) - //Element dialog builders - val listofbuilder = mutableListOf() - for (i in 0..117) { - listofbuilder.add(AlertDialog.Builder(activity)) - listofbuilder[i].setTitle(elements[i].data0 + " (" + elements[i].data1 + ", " + elements[i].data2 + ")") - listofbuilder[i].setMessage( - "Ordnungszahl" + "\n >>> " + elements[i].data1 + "\n \n" + - "Elemenelementsymbol" + "\n >>> " + elements[i].data2 + "\n \n" + - "Molare Masse" + "\n >>> " + elements[i].data3 + "\n \n" + - "Dichte" + "\n >>> " + elements[i].data4 + "\n \n" + - "Elektronegativität" + "\n >>> " + elements[i].data5 + "\n \n" + - "Schmelztemperatur" + "\n >>> " + elements[i].data6 + "\n \n" + - "Siedetemperatur" + "\n >>> " + elements[i].data7 + "\n \n" + - "radioaktiv" + "\n >>> " + elements[i].data8 + "\n \n" + - "Halbwertszeit" + "\n >>> " + elements[i].data9 + "\n \n" + - "Strahlungsart" + "\n >>> " + elements[i].data10 + "\n \n" + - "künstlich" + "\n >>> " + elements[i].data11 + "\n \n" + - "langlebigstes Isotop" + "\n >>> " + elements[i].data12 - ) - listofbuilder[i].setNegativeButton(R.string.dialog_schließen, null) - } - - //PSE 1 Column with 7 Rows, elements in rows - Column(modifier = Modifier - .verticalScroll(rememberScrollState()) - .horizontalScroll(rememberScrollState())) { + Column( + modifier = Modifier + .fillMaxHeight() + .verticalScroll(rememberScrollState()) + .horizontalScroll(rememberScrollState()) + ) { Row { - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFBCA76D)), - onClick = { listofbuilder[0].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[0].data2) - } - Spacer(modifier = Modifier.size(1920.dp, 0.dp)) - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFBCA76D)), - onClick = { listofbuilder[1].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[1].data2) + for (i in 0 .. 31) { + if (elementConstructorList[i] != -1) { + Box(modifier = Modifier + .padding(3.dp) + .size(60.dp) + .background(color = Color(0xFFBCA76D)) + .clickable { dialogChooser = elementConstructorList[i] } + ) { + Text(modifier = Modifier.align(Alignment.Center), text = readElementSymbol(activity, elementConstructorList[i]), color = com.schoolapp.cleverclass.ui.theme.TextOnColouredButton) + } + } else { + Box( + modifier = Modifier + .padding(3.dp) + .size(60.dp) + ) + } } } Row { - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFC65253)), - onClick = { listofbuilder[2].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[2].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFC65253)), - onClick = { listofbuilder[3].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[3].data2) - } - Spacer(modifier = Modifier.size(1536.dp, 0.dp)) - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFC65253)), - onClick = { listofbuilder[4].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[4].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFC65253)), - onClick = { listofbuilder[5].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[5].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFC65253)), - onClick = { listofbuilder[6].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[6].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFC65253)), - onClick = { listofbuilder[7].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[7].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFC65253)), - onClick = { listofbuilder[8].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[8].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFC65253)), - onClick = { listofbuilder[9].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[9].data2) - } + for (i in 32 .. 63) + if (elementConstructorList[i] != -1) { + Box(modifier = Modifier + .padding(3.dp) + .size(60.dp) + .background(color = Color(0xFFC65253)) + .clickable { dialogChooser = elementConstructorList[i] } + ) { + Text(modifier = Modifier.align(Alignment.Center), text = readElementSymbol(activity, elementConstructorList[i]), color = com.schoolapp.cleverclass.ui.theme.TextOnColouredButton) + } + } else { + Box( + modifier = Modifier + .padding(3.dp) + .size(60.dp) + ) + } } Row { - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[10].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[10].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[11].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[11].data2) - } - Spacer(modifier = Modifier.size(1536.dp, 0.dp)) - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[12].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[12].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[13].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[13].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[14].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[14].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[15].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[15].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[16].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[16].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[17].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[17].data2) - } + for (i in 64 .. 95) + if (elementConstructorList[i] != -1) { + Box(modifier = Modifier + .padding(3.dp) + .size(60.dp) + .background(color = Color(0xFF337733)) + .clickable { dialogChooser = elementConstructorList[i] } + ) { + Text(modifier = Modifier.align(Alignment.Center), text = readElementSymbol(activity, elementConstructorList[i]), color = com.schoolapp.cleverclass.ui.theme.TextOnColouredButton) + } + } else { + Box( + modifier = Modifier + .padding(3.dp) + .size(60.dp) + ) + } } Row { - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[18].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[18].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[19].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[19].data2) - } - Spacer(modifier = Modifier.size(896.dp, 0.dp)) - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[20].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[20].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[21].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[21].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[22].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[22].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[23].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[23].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[24].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[24].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[25].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[25].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[26].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[26].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[27].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[27].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[28].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[28].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF337733)), - onClick = { listofbuilder[29].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[29].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[30].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[30].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[31].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[31].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[32].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[32].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[33].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[33].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[34].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[34].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[35].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[35].data2) - } + for (i in 96 .. 127) + if (elementConstructorList[i] != -1) { + if (i in 112..121) { + Box(modifier = Modifier + .padding(3.dp) + .size(60.dp) + .background(color = Color(0xFF337733)) + .clickable { dialogChooser = elementConstructorList[i] } + ) { + Text(modifier = Modifier.align(Alignment.Center), text = readElementSymbol(activity, elementConstructorList[i]), color = com.schoolapp.cleverclass.ui.theme.TextOnColouredButton) + } + } + else { + Box(modifier = Modifier + .padding(3.dp) + .size(60.dp) + .background(color = Color(0xFFDC2222)) + .clickable { dialogChooser = elementConstructorList[i] } + ) { + Text(modifier = Modifier.align(Alignment.Center), text = readElementSymbol(activity, elementConstructorList[i]), color = com.schoolapp.cleverclass.ui.theme.TextOnColouredButton) + } + } + } else { + Box( + modifier = Modifier + .padding(3.dp) + .size(60.dp) + ) + } } Row { - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[36].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[36].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[37].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[37].data2) - } - Spacer(modifier = Modifier.size(896.dp, 0.dp)) - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[38].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[38].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[39].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[39].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[40].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[40].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[41].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[41].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[42].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[42].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[43].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[43].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[44].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[44].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[45].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[45].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[46].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[46].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[47].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[47].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[48].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[48].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[49].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[49].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[50].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[50].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[51].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[51].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[52].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[52].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[53].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[53].data2) - } + for (i in 128..159) + if (elementConstructorList[i] != -1) { + if (i in 144..153) { + Box(modifier = Modifier + .padding(3.dp) + .size(60.dp) + .background(color = Color(0xFFDC2222)) + .clickable { dialogChooser = elementConstructorList[i] } + ) { + Text(modifier = Modifier.align(Alignment.Center), text = readElementSymbol(activity, elementConstructorList[i]), color = com.schoolapp.cleverclass.ui.theme.TextOnColouredButton) + } + } + else { + Box(modifier = Modifier + .padding(3.dp) + .size(60.dp) + .background(color = Color(0xFF129DC3)) + .clickable { dialogChooser = elementConstructorList[i] } + ) { + Text(modifier = Modifier.align(Alignment.Center), text = readElementSymbol(activity, elementConstructorList[i]), color = com.schoolapp.cleverclass.ui.theme.TextOnColouredButton) + } + } + } else { + Box( + modifier = Modifier + .padding(3.dp) + .size(60.dp) + ) + } } Row { - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[54].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[54].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[55].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[55].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[56].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[56].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[57].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[57].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[58].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[58].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[59].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[59].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[60].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[60].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[61].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[61].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[62].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[62].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[63].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[63].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[64].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[64].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[65].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[65].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[66].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[66].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[67].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[67].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[68].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[68].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDC2222)), - onClick = { listofbuilder[69].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[69].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[70].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[70].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[71].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[71].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[72].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[72].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[73].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[73].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[74].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[74].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[75].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[75].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[76].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[76].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[77].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[77].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[78].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[78].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[79].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[79].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[80].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[80].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[81].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[81].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[82].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[82].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[83].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[83].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[84].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[84].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[85].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[85].data2) - } + for (i in 160..191) + if (elementConstructorList[i] != -1) { + when (i) { + in 162..175 -> { + Box(modifier = Modifier + .padding(3.dp) + .size(60.dp) + .background(color = Color(0xFFDC2222)) + .clickable { dialogChooser = elementConstructorList[i] } + ) { + Text(modifier = Modifier.align(Alignment.Center), text = readElementSymbol(activity, elementConstructorList[i]), color = com.schoolapp.cleverclass.ui.theme.TextOnColouredButton) + } + } + in 176..185 -> { + Box(modifier = Modifier + .padding(3.dp) + .size(60.dp) + .background(color = Color(0xFF129DC3)) + .clickable { dialogChooser = elementConstructorList[i] } + ) { + Text(modifier = Modifier.align(Alignment.Center), text = readElementSymbol(activity, elementConstructorList[i]), color = com.schoolapp.cleverclass.ui.theme.TextOnColouredButton) + } + } + else -> { + Box(modifier = Modifier + .padding(3.dp) + .size(60.dp) + .background(color = Color(0xFFDDCC69)) + .clickable { dialogChooser = elementConstructorList[i] } + ) { + Text(modifier = Modifier.align(Alignment.Center), text = readElementSymbol(activity, elementConstructorList[i]), color = com.schoolapp.cleverclass.ui.theme.TextOnColouredButton) + } + } + } + } else { + Box( + modifier = Modifier + .padding(3.dp) + .size(60.dp) + ) + } } Row { - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF7044DD)), - onClick = { listofbuilder[86].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[86].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF7044DD)), - onClick = { listofbuilder[87].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[87].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[88].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[88].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[89].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[89].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[90].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[90].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[91].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[91].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[92].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[92].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[93].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[93].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[94].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[94].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[95].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[95].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[96].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[96].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[97].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[97].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[98].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[98].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[99].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[99].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[100].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[100].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF129DC3)), - onClick = { listofbuilder[101].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[101].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[102].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[102].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[103].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[103].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[104].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[104].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[105].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[105].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[106].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[106].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[107].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[107].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[108].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[108].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[109].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[109].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[110].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[110].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFFDDCC69)), - onClick = { listofbuilder[111].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[111].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF7044DD)), - onClick = { listofbuilder[112].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[112].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF7044DD)), - onClick = { listofbuilder[113].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[113].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF7044DD)), - onClick = { listofbuilder[114].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[114].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF7044DD)), - onClick = { listofbuilder[115].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[115].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF7044DD)), - onClick = { listofbuilder[116].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[116].data2) - } - Button( - modifier = Modifier - .padding(2.dp) - .requiredSizeIn(60.dp, 60.dp, 60.dp, 60.dp), - shape = RectangleShape, - colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF7044DD)), - onClick = { listofbuilder[117].show() }) { - Text(modifier = Modifier.wrapContentSize(Alignment.CenterStart, true), text = elements[117].data2) - } + for (i in 192 .. 223) + if (elementConstructorList[i] != -1) { + when (i) { + in 194..207 -> { + Box(modifier = Modifier + .padding(3.dp) + .size(60.dp) + .background(color = Color(0xFF129DC3)) + .clickable { dialogChooser = elementConstructorList[i] } + ) { + Text(modifier = Modifier.align(Alignment.Center), text = readElementSymbol(activity, elementConstructorList[i]), color = com.schoolapp.cleverclass.ui.theme.TextOnColouredButton) + } + } + in 208..217 -> { + Box(modifier = Modifier + .padding(3.dp) + .size(60.dp) + .background(color = Color(0xFFDDCC69)) + .clickable { dialogChooser = elementConstructorList[i] } + ) { + Text(modifier = Modifier.align(Alignment.Center), text = readElementSymbol(activity, elementConstructorList[i]), color = com.schoolapp.cleverclass.ui.theme.TextOnColouredButton) + } + } + else -> { + Box(modifier = Modifier + .padding(3.dp) + .size(60.dp) + .background(color = Color(0xFF7044DD)) + .clickable { dialogChooser = elementConstructorList[i] } + ) { + Text(modifier = Modifier.align(Alignment.Center), text = readElementSymbol(activity, elementConstructorList[i]), color = com.schoolapp.cleverclass.ui.theme.TextOnColouredButton) + } + } + } + } else { + Box( + modifier = Modifier + .padding(3.dp) + .size(60.dp) + ) + } } } } + + if (dialogChooser != -1) { + val dcValue = dialogChooser + AlertDialog( + onDismissRequest = { dialogChooser = -1 }, + text = { + Text( + modifier = Modifier + .verticalScroll(rememberScrollState()) + .horizontalScroll(rememberScrollState()), + text = readElementData(activity, dcValue), + color = MaterialTheme.colorScheme.onPrimaryContainer, + style = MaterialTheme.typography.labelMedium) }, + confirmButton = { + Text( + text = "Schließen", + color = MaterialTheme.colorScheme.secondary, + style = MaterialTheme.typography.labelMedium, + modifier = Modifier.clickable { + dialogChooser = -1 + } + ) + }, + containerColor = MaterialTheme.colorScheme.primaryContainer, + modifier = Modifier + .padding(5.dp) + ) + } + if (showInfo) { + AlertDialog( + onDismissRequest = { showInfo = false }, + text = { + Text( + text = "Verwendung im Querformat empfohlen", + color = MaterialTheme.colorScheme.onPrimaryContainer, + style = MaterialTheme.typography.labelMedium) }, + confirmButton = { + Text( + text = "Schließen", + color = MaterialTheme.colorScheme.secondary, + style = MaterialTheme.typography.labelMedium, + modifier = Modifier.clickable { + showInfo = false + } + ) + }, + containerColor = MaterialTheme.colorScheme.primaryContainer, + modifier = Modifier + .padding(5.dp) + ) + } +} + +fun readElementData(context: Context, int: Int): String { + val file = "elements_data.json" + val assetManager = context.assets + val inputStream = assetManager.open(file) + val rootObj = JSONObject(InputStreamReader(inputStream).readText()) + val elementDataArray = rootObj.getJSONArray("elements") + val elementData = elementDataArray.getJSONObject(int) + return "Name\n >>> ${elementData.get("Name")}\n\n" + + "Elementsymbol\n >>> ${elementData.get("Elementsymbol")}\n\n" + + "Molare Masse\n >>> ${elementData.get("Molare Masse")}\n\n" + + "Dichte\n >>> ${elementData.get("Dichte")}\n\n" + + "Elektronegativität\n >>> ${elementData.get("Elektronegativität")}\n\n" + + "Schmelztemperatur\n >>> ${elementData.get("Schmelztemperatur")}\n\n" + + "Siedetemperatur\n >>> ${elementData.get("Siedetemperatur")}\n\n" + + "radioaktiv\n >>> ${elementData.get("radioaktiv")}\n\n" + + "Halbwertszeit\n >>> ${elementData.get("Halbwertszeit")}\n\n" + + "Strahlungsart\n >>> ${elementData.get("Strahlungsart")}\n\n" + + "künstlich\n >>> ${elementData.get("künstlich")}\n\n" + + "langlebigstes Isotop\n >>> ${elementData.get("langlebigstes Isotop")}" +} +fun readElementSymbol(context: Context, int: Int): String { + val file = "elements_data.json" + val assetManager = context.assets + val inputStream = assetManager.open(file) + val rootObj = JSONObject(InputStreamReader(inputStream).readText()) + val elementDataArray = rootObj.getJSONArray("elements") + val elementData = elementDataArray.getJSONObject(int) + return "${elementData.get("Elementsymbol")}" } \ No newline at end of file