#21 style button to add subjects/tasks

This commit is contained in:
brreynie 2023-05-01 13:38:20 +02:00
parent 1e359b9e37
commit 4bbc3af4b2
3 changed files with 56 additions and 12 deletions

View file

@ -2,10 +2,25 @@ package be.ugent.sel.studeez.common.composable
import androidx.annotation.StringRes import androidx.annotation.StringRes
import androidx.compose.foundation.BorderStroke 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.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.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
@ -93,4 +108,40 @@ fun DialogCancelButton(@StringRes text: Int, action: () -> Unit) {
) { ) {
Text(text = stringResource(text)) 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)
} }

View file

@ -3,12 +3,11 @@ package be.ugent.sel.studeez.screens.tasks
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items 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.Composable
import androidx.compose.runtime.collectAsState import androidx.compose.runtime.collectAsState
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import be.ugent.sel.studeez.R 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.PrimaryScreenTemplate
import be.ugent.sel.studeez.common.composable.SubjectEntry import be.ugent.sel.studeez.common.composable.SubjectEntry
import be.ugent.sel.studeez.common.composable.drawer.DrawerActions import be.ugent.sel.studeez.common.composable.drawer.DrawerActions
@ -52,19 +51,11 @@ fun TaskScreen(
SubjectEntry(subject = it) 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 @Preview
@Composable @Composable

View file

@ -42,6 +42,8 @@
<!-- Tasks --> <!-- Tasks -->
<string name="tasks">Tasks</string> <string name="tasks">Tasks</string>
<string name="new_subject">New Subject</string>
<string name="new_task">New Task</string>
<!-- Sessions --> <!-- Sessions -->
<string name="sessions">Sessions</string> <string name="sessions">Sessions</string>