#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.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)
}

View file

@ -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

View file

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