clean up LabelsSelectionSheet
This commit is contained in:
@ -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)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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
|
||||
},
|
||||
)
|
||||
}
|
||||
@ -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<SavedItemLabel> 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<SavedItemLabel>,
|
||||
|
||||
Reference in New Issue
Block a user