From 2b6bcbd2b81f6cd824513f4633e595976baca149 Mon Sep 17 00:00:00 2001 From: lbarraga Date: Sat, 8 Apr 2023 17:26:24 +0200 Subject: [PATCH] Added list of reusable button components --- .../common/composable/ButtonComposable.kt | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 app/src/main/java/be/ugent/sel/studeez/common/composable/ButtonComposable.kt 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 new file mode 100644 index 0000000..1697232 --- /dev/null +++ b/app/src/main/java/be/ugent/sel/studeez/common/composable/ButtonComposable.kt @@ -0,0 +1,56 @@ +package be.ugent.sel.studeez.common.composable + +import androidx.annotation.StringRes +import androidx.compose.material.* +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.sp + +@Composable +fun BasicTextButton(@StringRes text: Int, modifier: Modifier, action: () -> Unit) { + TextButton(onClick = action, modifier = modifier) { Text(text = stringResource(text)) } +} + +@Composable +fun BasicButton(@StringRes text: Int, modifier: Modifier, action: () -> Unit) { + Button( + onClick = action, + modifier = modifier, + colors = + ButtonDefaults.buttonColors( + backgroundColor = MaterialTheme.colors.primary, + contentColor = MaterialTheme.colors.onPrimary + ) + ) { + Text(text = stringResource(text), fontSize = 16.sp) + } +} + +@Composable +fun DialogConfirmButton(@StringRes text: Int, action: () -> Unit) { + Button( + onClick = action, + colors = + ButtonDefaults.buttonColors( + backgroundColor = MaterialTheme.colors.primary, + contentColor = MaterialTheme.colors.onPrimary + ) + ) { + Text(text = stringResource(text)) + } +} + +@Composable +fun DialogCancelButton(@StringRes text: Int, action: () -> Unit) { + Button( + onClick = action, + colors = + ButtonDefaults.buttonColors( + backgroundColor = MaterialTheme.colors.onPrimary, + contentColor = MaterialTheme.colors.primary + ) + ) { + Text(text = stringResource(text)) + } +} \ No newline at end of file