diff --git a/app/build.gradle.kts b/app/build.gradle.kts index fb413b4..a9996c8 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -60,12 +60,18 @@ dependencies { implementation("androidx.compose.ui:ui-tooling-preview") implementation("androidx.compose.material3:material3") implementation(platform("androidx.compose:compose-bom:2023.03.00")) + implementation(platform("androidx.compose:compose-bom:2023.03.00")) + implementation(platform("androidx.compose:compose-bom:2023.03.00")) + implementation(platform("androidx.compose:compose-bom:2023.03.00")) testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.1.5") androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") androidTestImplementation(platform("androidx.compose:compose-bom:2023.03.00")) androidTestImplementation("androidx.compose.ui:ui-test-junit4") androidTestImplementation(platform("androidx.compose:compose-bom:2023.03.00")) + androidTestImplementation(platform("androidx.compose:compose-bom:2023.03.00")) + androidTestImplementation(platform("androidx.compose:compose-bom:2023.03.00")) + androidTestImplementation(platform("androidx.compose:compose-bom:2023.03.00")) debugImplementation("androidx.compose.ui:ui-tooling") debugImplementation("androidx.compose.ui:ui-test-manifest") } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7935e30..2262b1d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -12,6 +12,16 @@ android:supportsRtl="true" android:theme="@style/Theme.CleverClass" tools:targetApi="31"> + + Unit, color : Color, text : String) { ) { Text(text, color = MaterialTheme.colorScheme.background, - fontFamily = FontFamily(Font(R.font.arlrdbd, FontWeight.Normal)), - fontSize = 20.sp) + style = MaterialTheme.typography.labelMedium) } } diff --git a/app/src/main/java/com/schoolapp/cleverclass/PSEActivity.kt b/app/src/main/java/com/schoolapp/cleverclass/PSEActivity.kt index 572ce00..9e46c00 100644 --- a/app/src/main/java/com/schoolapp/cleverclass/PSEActivity.kt +++ b/app/src/main/java/com/schoolapp/cleverclass/PSEActivity.kt @@ -19,9 +19,6 @@ import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.text.font.Font -import androidx.compose.ui.text.font.FontFamily -import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import com.schoolapp.cleverclass.ui.theme.CleverClassTheme @@ -48,9 +45,8 @@ fun PSEContent(activity: ComponentActivity){ colors = TopAppBarDefaults.centerAlignedTopAppBarColors(MaterialTheme.colorScheme.primaryContainer), title = { Text(text = "Periodensystem", - fontFamily = FontFamily(Font(R.font.arlrdbd, FontWeight.Normal)) - ) - }, + style = MaterialTheme.typography.headlineSmall + )}, navigationIcon = { IconButton(onClick = { activity.finish() }) { Icon( diff --git a/app/src/main/java/com/schoolapp/cleverclass/SettingsActivity.kt b/app/src/main/java/com/schoolapp/cleverclass/SettingsActivity.kt new file mode 100644 index 0000000..8264695 --- /dev/null +++ b/app/src/main/java/com/schoolapp/cleverclass/SettingsActivity.kt @@ -0,0 +1,115 @@ +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.clickable +import androidx.compose.foundation.layout.Arrangement +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.size +import androidx.compose.foundation.layout.width +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.Divider +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.TopAppBar +import androidx.compose.material3.TopAppBarDefaults +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import com.schoolapp.cleverclass.ui.theme.AboutActivity +import com.schoolapp.cleverclass.ui.theme.CleverClassTheme + +class SettingsActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContent { + CleverClassTheme { + Surface(modifier = Modifier.fillMaxSize(), + color = MaterialTheme.colorScheme.background) { + SettingsContent(activity = this) + } + } + } + } +} + +// Content of Settings +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun SettingsContent(activity: ComponentActivity){ + Column { + TopAppBar( + colors = TopAppBarDefaults.centerAlignedTopAppBarColors(MaterialTheme.colorScheme.primaryContainer), + title = { + Text(text = "Einstellungen", + style = MaterialTheme.typography.headlineSmall + ) + }, + navigationIcon = { + IconButton(onClick = { activity.finish() }) { + Icon( + imageVector = Icons.Filled.ArrowBack, + contentDescription = null, + modifier = Modifier.size(28.dp) + ) + } + }, + modifier = Modifier.fillMaxWidth() + ) + + // Settings + Column(modifier = Modifier.verticalScroll(rememberScrollState())) { + Setting(text = "Stundenplan") + Setting(text = "Noten") + Setting(text = "Periodensystem") + Setting(text = "Mebis") + Setting(text = "DSBmobile") + } + + // About Button + Column( + modifier = Modifier.fillMaxWidth(), + verticalArrangement = Arrangement.Bottom, + horizontalAlignment = Alignment.CenterHorizontally,) + { + Spacer(modifier = Modifier.weight(1f)) + Divider() + Spacer(modifier = Modifier.height(16.dp)) + Text(text = "About", + modifier = Modifier.clickable { + val intent = Intent(activity, AboutActivity::class.java) + activity.startActivity(intent)}, + style = MaterialTheme.typography.bodySmall) + Spacer(modifier = Modifier.height(16.dp)) + } + } +} + +@Composable +fun Setting(text : String){ + Spacer(modifier = Modifier.height(16.dp)) + Row(verticalAlignment = Alignment.CenterVertically) { + Spacer(modifier = Modifier.width(16.dp)) + Switch(checked = true, onCheckedChange = null) + Spacer(modifier = Modifier.width(16.dp)) + Text(text = text, + color = MaterialTheme.colorScheme.onPrimaryContainer, + style = MaterialTheme.typography.labelMedium) + } +} diff --git a/app/src/main/java/com/schoolapp/cleverclass/ui/theme/Type.kt b/app/src/main/java/com/schoolapp/cleverclass/ui/theme/Type.kt index c2cc39d..199e06c 100644 --- a/app/src/main/java/com/schoolapp/cleverclass/ui/theme/Type.kt +++ b/app/src/main/java/com/schoolapp/cleverclass/ui/theme/Type.kt @@ -2,33 +2,40 @@ package com.schoolapp.cleverclass.ui.theme import androidx.compose.material3.Typography import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.Font import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.sp +import com.schoolapp.cleverclass.R // Set of Material typography styles to start with val Typography = Typography( - bodyLarge = TextStyle( - fontFamily = FontFamily.Default, + labelMedium = TextStyle( + fontFamily = FontFamily(Font(R.font.arlrdbd, FontWeight.Normal)), fontWeight = FontWeight.Normal, - fontSize = 16.sp, + fontSize = 20.sp, + lineHeight = 24.sp, + letterSpacing = 0.5.sp + ), + headlineMedium = TextStyle( + fontFamily = FontFamily(Font(R.font.arlrdbd, FontWeight.Normal)), + fontWeight = FontWeight.Normal, + fontSize = 28.sp, + lineHeight = 24.sp, + letterSpacing = 0.5.sp + ), + headlineSmall = TextStyle( + fontFamily = FontFamily(Font(R.font.arlrdbd, FontWeight.Normal)), + fontWeight = FontWeight.Normal, + fontSize = 22.sp, + lineHeight = 24.sp, + letterSpacing = 0.5.sp + ), + bodySmall = TextStyle( + fontFamily = FontFamily(Font(R.font.arlrdbd, FontWeight.Normal)), + fontWeight = FontWeight.Normal, + fontSize = 18.sp, lineHeight = 24.sp, letterSpacing = 0.5.sp ) - /* Other default text styles to override - titleLarge = TextStyle( - fontFamily = FontFamily.Default, - fontWeight = FontWeight.Normal, - fontSize = 22.sp, - lineHeight = 28.sp, - letterSpacing = 0.sp - ), - labelSmall = TextStyle( - fontFamily = FontFamily.Default, - fontWeight = FontWeight.Medium, - fontSize = 11.sp, - lineHeight = 16.sp, - letterSpacing = 0.5.sp - ) - */ ) \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fb86f16..d6997d2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,4 +1,6 @@ CleverClass PSEActivity + SettingsActivity + AboutActivity \ No newline at end of file