From 90b2ae8e6a37f21ea76764c6f9e9e0cf1476bbeb Mon Sep 17 00:00:00 2001 From: Stefano Sansone Date: Wed, 7 Feb 2024 17:36:28 +0000 Subject: [PATCH] clean up LabelsSelectionSheet --- .../omnivore/feature/components/LabelChip.kt | 33 +++++++++ .../feature/components/LabelFilterChip.kt | 47 ------------ .../components/LabelsSelectionSheet.kt | 72 +------------------ 3 files changed, 34 insertions(+), 118 deletions(-) create mode 100644 android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/components/LabelChip.kt delete mode 100644 android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/components/LabelFilterChip.kt diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/components/LabelChip.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/components/LabelChip.kt new file mode 100644 index 000000000..837f9f5dc --- /dev/null +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/components/LabelChip.kt @@ -0,0 +1,33 @@ +package app.omnivore.omnivore.feature.components + +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.padding +import androidx.compose.material.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp + +@Composable +fun LabelChip( + modifier: Modifier = Modifier, + name: String, + colors: LabelChipColors, +) { + Surface( + modifier = modifier.padding(2.dp), + shape = MaterialTheme.shapes.medium, + color = colors.containerColor + ) { + Row(modifier = Modifier + ) { + Text( + text = name, + color = colors.textColor, + style = MaterialTheme.typography.subtitle2, + modifier = Modifier.padding(vertical = 3.dp, horizontal = 5.dp) + ) + } + } +} diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/components/LabelFilterChip.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/components/LabelFilterChip.kt deleted file mode 100644 index b7aa77763..000000000 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/components/LabelFilterChip.kt +++ /dev/null @@ -1,47 +0,0 @@ -package app.omnivore.omnivore.feature.components - -import androidx.compose.foundation.layout.size -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Done -import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.FilterChip -import androidx.compose.material3.FilterChipDefaults -import androidx.compose.material3.Icon -import androidx.compose.material3.Text -import androidx.compose.runtime.Composable -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue -import androidx.compose.ui.Modifier - -@OptIn(ExperimentalMaterial3Api::class) -@Composable -fun LabelFilterChip( - onClick: () -> Unit, - label: String -) { - var selected by remember { mutableStateOf(false) } - - FilterChip( - onClick = { - selected = !selected - onClick() - }, - label = { - Text(label) - }, - selected = selected, - leadingIcon = if (selected) { - { - Icon( - imageVector = Icons.Filled.Done, - contentDescription = "Done icon", - modifier = Modifier.size(FilterChipDefaults.IconSize) - ) - } - } else { - null - }, - ) -} diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/components/LabelsSelectionSheet.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/components/LabelsSelectionSheet.kt index 1dd1aeb7d..725f7f68f 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/components/LabelsSelectionSheet.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/feature/components/LabelsSelectionSheet.kt @@ -1,5 +1,3 @@ -@file:OptIn(ExperimentalMaterialApi::class) - package app.omnivore.omnivore.feature.components import android.widget.Toast @@ -19,7 +17,6 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.verticalScroll -import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.material.Scaffold import androidx.compose.material.TextFieldDefaults import androidx.compose.material.icons.Icons @@ -39,7 +36,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment -import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.focus.FocusRequester @@ -67,69 +63,6 @@ import com.dokar.chiptextfield.m3.ChipTextFieldDefaults import com.dokar.chiptextfield.rememberChipTextFieldState import com.google.accompanist.flowlayout.FlowRow - -//@Composable -//fun LabelsSelectionSheet(viewModel: LibraryViewModel) { -// val isActive: Boolean by viewModel.showLabelsSelectionSheetLiveData.observeAsState(false) -// val labels: List by viewModel.savedItemLabelsLiveData.observeAsState(listOf()) -// val currentSavedItemData = viewModel.currentSavedItemUnderEdit() -// -// val modalBottomSheetState = rememberModalBottomSheetState( -// ModalBottomSheetValue.HalfExpanded, -// confirmStateChange = { it != ModalBottomSheetValue.Hidden } -// ) -// -// if (isActive) { -// ModalBottomSheetLayout( -// sheetBackgroundColor = Color.Transparent, -// sheetState = modalBottomSheetState, -// sheetContent = { -// BottomSheetUI { -// if (currentSavedItemData != null) { -// LabelsSelectionSheetContent( -// labels = labels, -// initialSelectedLabels = currentSavedItemData.labels, -// onCancel = { -// viewModel.showLabelsSelectionSheetLiveData.value = false -// viewModel.labelsSelectionCurrentItemLiveData.value = null -// }, -// isLibraryMode = false, -// onSave = { -// if (it != labels) { -// viewModel.updateSavedItemLabels( -// savedItemID = currentSavedItemData.savedItem.savedItemId, -// labels = it -// ) -// } -// viewModel.labelsSelectionCurrentItemLiveData.value = null -// viewModel.showLabelsSelectionSheetLiveData.value = false -// }, -// onCreateLabel = { newLabelName, labelHexValue -> -// viewModel.createNewSavedItemLabel(newLabelName, labelHexValue) -// } -// ) -// } else { // Is used in library mode -// LabelsSelectionSheetContent( -// labels = labels, -// initialSelectedLabels = viewModel.activeLabelsLiveData.value ?: listOf(), -// onCancel = { viewModel.showLabelsSelectionSheetLiveData.value = false }, -// isLibraryMode = true, -// onSave = { -// viewModel.updateAppliedLabels(it) -// viewModel.labelsSelectionCurrentItemLiveData.value = null -// viewModel.showLabelsSelectionSheetLiveData.value = false -// }, -// onCreateLabel = { newLabelName, labelHexValue -> -// viewModel.createNewSavedItemLabel(newLabelName, labelHexValue) -// } -// ) -// } -// } -// } -// ) {} -// } -//} - @Composable fun CircleIcon(colorHex: String) { val chipColors = LabelChipColors.fromHex(colorHex) @@ -242,10 +175,7 @@ fun findOrCreateLabel( } @Composable -@OptIn( - ExperimentalMaterialApi::class, ExperimentalComposeUiApi::class, - ExperimentalMaterial3Api::class -) +@OptIn(ExperimentalMaterial3Api::class) fun LabelsSelectionSheetContent( isLibraryMode: Boolean, labels: List,