From 4bbc3af4b27eee822c28d1249f4fd22a5f59e002 Mon Sep 17 00:00:00 2001 From: brreynie Date: Mon, 1 May 2023 13:38:20 +0200 Subject: [PATCH] #21 style button to add subjects/tasks --- .../common/composable/ButtonComposable.kt | 53 ++++++++++++++++++- .../sel/studeez/screens/tasks/TaskScreen.kt | 13 +---- app/src/main/res/values/strings.xml | 2 + 3 files changed, 56 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/ButtonComposable.kt b/app/src/main/java/be/ugent/sel/studeez/common/composable/ButtonComposable.kt index 3fa9bd2..8a2a939 100644 --- a/app/src/main/java/be/ugent/sel/studeez/common/composable/ButtonComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/common/composable/ButtonComposable.kt @@ -2,10 +2,25 @@ package be.ugent.sel.studeez.common.composable import androidx.annotation.StringRes import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.* +import androidx.compose.material.Button +import androidx.compose.material.ButtonColors +import androidx.compose.material.ButtonDefaults +import androidx.compose.material.Icon +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Text +import androidx.compose.material.TextButton +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Add import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -93,4 +108,40 @@ fun DialogCancelButton(@StringRes text: Int, action: () -> Unit) { ) { Text(text = stringResource(text)) } +} + +@Composable +fun NewTaskSubjectButton( + onClick: () -> Unit, + @StringRes text: Int, +) { + Button( + onClick = onClick, + modifier = Modifier + .fillMaxWidth() + .height(60.dp) + .padding(10.dp, 5.dp), + colors = ButtonDefaults.buttonColors( + backgroundColor = Color.Transparent, + contentColor = Color.Gray, + ), + shape = RoundedCornerShape(2.dp), + border = BorderStroke(1.dp, Color.Gray), + elevation = null, + ) { + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween, + verticalAlignment = Alignment.CenterVertically, + ) { + Text(text = stringResource(id = text)) + Icon(imageVector = Icons.Default.Add, contentDescription = stringResource(id = text)) + } + } +} + +@Preview +@Composable +fun NewTaskButtonPreview() { + NewTaskSubjectButton(onClick = {}, text = R.string.new_task) } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/tasks/TaskScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/tasks/TaskScreen.kt index 5d11ef7..5c8e576 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/tasks/TaskScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/tasks/TaskScreen.kt @@ -3,12 +3,11 @@ package be.ugent.sel.studeez.screens.tasks import androidx.compose.foundation.layout.Column import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items -import androidx.compose.material.Button -import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.ui.tooling.preview.Preview import be.ugent.sel.studeez.R +import be.ugent.sel.studeez.common.composable.NewTaskSubjectButton import be.ugent.sel.studeez.common.composable.PrimaryScreenTemplate import be.ugent.sel.studeez.common.composable.SubjectEntry import be.ugent.sel.studeez.common.composable.drawer.DrawerActions @@ -52,19 +51,11 @@ fun TaskScreen( SubjectEntry(subject = it) } } - AddSubjectButton(onClick = addSubject) + NewTaskSubjectButton(onClick = addSubject, R.string.new_subject) } } } -@Composable -fun AddSubjectButton( - onClick: () -> Unit, -) { - Button(onClick = onClick) { - Text(text = "Add Subject") - } -} @Preview @Composable diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bb643d3..22db344 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -42,6 +42,8 @@ Tasks + New Subject + New Task Sessions