mirror of
https://github.com/Myzel394/NumberHub.git
synced 2025-06-19 00:35:26 +02:00
Remove experimental ChipsRow
This commit is contained in:
parent
5ed0caa4ab
commit
4319d18e17
@ -183,7 +183,6 @@ internal class ConverterViewModel @Inject constructor(
|
||||
sorting = prefs.unitConverterSorting,
|
||||
shownUnitGroups = prefs.shownUnitGroups,
|
||||
favorites = prefs.unitConverterFavoritesOnly,
|
||||
verticalList = prefs.enableToolsExperiment,
|
||||
query = query,
|
||||
units = units,
|
||||
unitGroup = unitGroup
|
||||
|
@ -41,13 +41,12 @@ import com.sadellie.unitto.core.base.R
|
||||
import com.sadellie.unitto.core.ui.common.SearchPlaceholder
|
||||
import com.sadellie.unitto.core.ui.common.UnittoEmptyScreen
|
||||
import com.sadellie.unitto.core.ui.common.UnittoSearchBar
|
||||
import com.sadellie.unitto.data.converter.MyUnitIDS
|
||||
import com.sadellie.unitto.data.model.UnitGroup
|
||||
import com.sadellie.unitto.data.model.UnitsListSorting
|
||||
import com.sadellie.unitto.data.model.unit.AbstractUnit
|
||||
import com.sadellie.unitto.data.model.unit.NormalUnit
|
||||
import com.sadellie.unitto.data.converter.MyUnitIDS
|
||||
import com.sadellie.unitto.feature.converter.components.BasicUnitListItem
|
||||
import com.sadellie.unitto.feature.converter.components.ChipsFlexRow
|
||||
import com.sadellie.unitto.feature.converter.components.ChipsRow
|
||||
import com.sadellie.unitto.feature.converter.components.FavoritesButton
|
||||
import com.sadellie.unitto.feature.converter.components.UnitGroupHeader
|
||||
@ -120,22 +119,13 @@ private fun LeftSideScreen(
|
||||
scrollBehavior = scrollBehavior
|
||||
)
|
||||
|
||||
if (uiState.verticalList) {
|
||||
ChipsFlexRow(
|
||||
chosenUnitGroup = uiState.unitGroup,
|
||||
items = uiState.shownUnitGroups,
|
||||
selectAction = updateUnitGroup,
|
||||
navigateToSettingsAction = navigateToUnitGroups
|
||||
)
|
||||
} else {
|
||||
ChipsRow(
|
||||
chosenUnitGroup = uiState.unitGroup,
|
||||
items = uiState.shownUnitGroups,
|
||||
selectAction = updateUnitGroup,
|
||||
lazyListState = chipsRowLazyListState,
|
||||
navigateToSettingsAction = navigateToUnitGroups
|
||||
)
|
||||
}
|
||||
ChipsRow(
|
||||
chosenUnitGroup = uiState.unitGroup,
|
||||
items = uiState.shownUnitGroups,
|
||||
selectAction = updateUnitGroup,
|
||||
lazyListState = chipsRowLazyListState,
|
||||
navigateToSettingsAction = navigateToUnitGroups
|
||||
)
|
||||
}
|
||||
}
|
||||
) { paddingValues ->
|
||||
@ -203,7 +193,6 @@ private fun LeftSideScreenPreview() {
|
||||
shownUnitGroups = listOf(UnitGroup.LENGTH, UnitGroup.TEMPERATURE, UnitGroup.CURRENCY),
|
||||
unitGroup = units.keys.toList().first(),
|
||||
sorting = UnitsListSorting.USAGE,
|
||||
verticalList = false
|
||||
),
|
||||
onQueryChange = {},
|
||||
toggleFavoritesOnly = {},
|
||||
|
@ -34,6 +34,5 @@ internal sealed class LeftSideUIState {
|
||||
val shownUnitGroups: List<UnitGroup>,
|
||||
val unitGroup: UnitGroup?,
|
||||
val sorting: UnitsListSorting,
|
||||
val verticalList: Boolean,
|
||||
) : LeftSideUIState()
|
||||
}
|
||||
|
@ -18,39 +18,23 @@
|
||||
|
||||
package com.sadellie.unitto.feature.converter.components
|
||||
|
||||
import androidx.compose.animation.core.animateDp
|
||||
import androidx.compose.animation.core.animateFloat
|
||||
import androidx.compose.animation.core.tween
|
||||
import androidx.compose.animation.core.updateTransition
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.FlowRow
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.fillMaxHeight
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.heightIn
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.lazy.LazyListState
|
||||
import androidx.compose.foundation.lazy.LazyRow
|
||||
import androidx.compose.foundation.lazy.items
|
||||
import androidx.compose.foundation.lazy.rememberLazyListState
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.Check
|
||||
import androidx.compose.material.icons.filled.ExpandMore
|
||||
import androidx.compose.material.icons.filled.Settings
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
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
|
||||
import androidx.compose.ui.draw.clipToBounds
|
||||
import androidx.compose.ui.draw.rotate
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
@ -111,70 +95,6 @@ internal fun ChipsRow(
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun ChipsFlexRow(
|
||||
items: List<UnitGroup> = ALL_UNIT_GROUPS,
|
||||
chosenUnitGroup: UnitGroup?,
|
||||
selectAction: (UnitGroup?) -> Unit,
|
||||
navigateToSettingsAction: () -> Unit,
|
||||
) {
|
||||
var expanded by remember { mutableStateOf(false) }
|
||||
val transition = updateTransition(expanded, label = "Expanded transition")
|
||||
|
||||
val rowHeight by transition.animateDp({ tween() }, "Row height") {
|
||||
if (it) 392.dp else 32.dp
|
||||
}
|
||||
|
||||
val expandRotation by transition.animateFloat({ tween() }, "Expand rotation") {
|
||||
if (it) 180f else 0f
|
||||
}
|
||||
|
||||
Row(
|
||||
modifier = Modifier
|
||||
.padding(16.dp, 8.dp)
|
||||
.heightIn(max = rowHeight)
|
||||
.clipToBounds()
|
||||
) {
|
||||
FlowRow(
|
||||
modifier = Modifier
|
||||
.verticalScroll(rememberScrollState(), expanded)
|
||||
.fillMaxHeight()
|
||||
.weight(1f),
|
||||
horizontalArrangement = Arrangement.spacedBy(8.dp),
|
||||
verticalArrangement = Arrangement.spacedBy(8.dp)
|
||||
) {
|
||||
items.forEach { item ->
|
||||
val selected: Boolean = item == chosenUnitGroup
|
||||
FilterChip(
|
||||
selected = selected,
|
||||
onClick = { selectAction(if (selected) null else item) },
|
||||
label = stringResource(item.res),
|
||||
imageVector = Icons.Default.Check,
|
||||
contentDescription = stringResource(R.string.checked_filter_description)
|
||||
)
|
||||
}
|
||||
AssistChip(
|
||||
onClick = navigateToSettingsAction,
|
||||
imageVector = Icons.Default.Settings,
|
||||
contentDescription = stringResource(R.string.open_settings_label)
|
||||
)
|
||||
}
|
||||
|
||||
IconButton(
|
||||
onClick = { expanded = !expanded },
|
||||
modifier = Modifier.size(32.dp)
|
||||
) {
|
||||
Icon(
|
||||
imageVector = Icons.Default.ExpandMore,
|
||||
contentDescription = null,
|
||||
modifier = Modifier
|
||||
.size(32.dp)
|
||||
.rotate(expandRotation)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Preview
|
||||
@Composable
|
||||
fun PreviewUnittoChips() {
|
||||
@ -192,20 +112,3 @@ fun PreviewUnittoChips() {
|
||||
lazyListState = rememberLazyListState()
|
||||
)
|
||||
}
|
||||
|
||||
@Preview(showSystemUi = true, showBackground = true, backgroundColor = 0xFFE0E0E0)
|
||||
@Composable
|
||||
fun PreviewChipsFlowRow() {
|
||||
var selected by remember { mutableStateOf<UnitGroup?>(UnitGroup.LENGTH) }
|
||||
|
||||
fun selectAction(unitGroup: UnitGroup?) {
|
||||
selected = unitGroup
|
||||
}
|
||||
|
||||
ChipsFlexRow(
|
||||
items = ALL_UNIT_GROUPS,
|
||||
chosenUnitGroup = selected,
|
||||
selectAction = { selectAction(it) },
|
||||
navigateToSettingsAction = {},
|
||||
)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user