From 269e462ae40ec5aa082ddef5dc7ce369aeff2655 Mon Sep 17 00:00:00 2001 From: machiav3lli Date: Sun, 9 Oct 2022 23:07:08 +0200 Subject: [PATCH] Add: ActionChip composable --- .../ui/compose/components/ActionChip.kt | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/main/kotlin/com/machiav3lli/fdroid/ui/compose/components/ActionChip.kt diff --git a/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/components/ActionChip.kt b/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/components/ActionChip.kt new file mode 100644 index 00000000..04260899 --- /dev/null +++ b/src/main/kotlin/com/machiav3lli/fdroid/ui/compose/components/ActionChip.kt @@ -0,0 +1,48 @@ +package com.machiav3lli.fdroid.ui.compose.components + +import androidx.annotation.StringRes +import androidx.compose.foundation.layout.size +import androidx.compose.material3.AssistChip +import androidx.compose.material3.AssistChipDefaults +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.material3.surfaceColorAtElevation +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.dp +import com.machiav3lli.fdroid.R + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun ActionChip( + modifier: Modifier = Modifier, + @StringRes textId: Int, + icon: ImageVector, + onClick: () -> Unit = {} +) { + AssistChip( + modifier = modifier, + label = { + Text(text = stringResource(id = textId)) + }, + leadingIcon = { + Icon( + modifier = Modifier.size(18.dp), + imageVector = icon, + contentDescription = stringResource(id = R.string.sort_filter) + ) + }, + shape = MaterialTheme.shapes.medium, + colors = AssistChipDefaults.assistChipColors( + containerColor = MaterialTheme.colorScheme.surfaceColorAtElevation(48.dp), + labelColor = MaterialTheme.colorScheme.onSurface, + leadingIconContentColor = MaterialTheme.colorScheme.onSurface, + ), + border = null, + onClick = onClick + ) +} \ No newline at end of file