feat(filters): чипы растворяются под кнопкой-категорией (fade left edge)

Кнопка-категории теперь ПОВЕРХ чипов (Box-оверлей), чипы идут во всю ширину с
отступом слева под кнопку. У левого края — затухание прозрачности (Modifier.
fadingStartEdge: graphicsLayer Offscreen + horizontalGradient BlendMode.DstIn), так
чипы при прокрутке влево красиво уплывают под кнопку и растворяются, а не обрезаются.
FilterChips/GenreSelector получили параметр contentPadding. Экраны Радио и Чарты.
This commit is contained in:
nk
2026-06-07 17:33:35 +03:00
parent 78282e97ca
commit 87dca7a6df
3 changed files with 60 additions and 20 deletions

View File

@@ -178,19 +178,26 @@ fun StationsScreen(
)
.padding(top = 2.dp, bottom = 12.dp)
) {
Row(verticalAlignment = Alignment.CenterVertically) {
Box(modifier = Modifier.fillMaxWidth().height(44.dp)) {
// Чипы во всю ширину, но с отступом слева под кнопку; у левого
// края — затухание прозрачности (чипы «уплывают» под кнопку).
FilterChips(
tags = tags,
selectedTag = selectedTag,
onTagSelected = viewModel::onTagSelected,
contentPadding = PaddingValues(start = 66.dp, end = 16.dp),
modifier = Modifier
.fillMaxWidth()
.align(Alignment.Center)
.fadingStartEdge(60.dp)
)
// Кнопка-категории — поверх чипов, слева.
CategoryPicker(
title = "Категории",
items = tags,
selected = selectedTag,
onSelect = viewModel::onTagSelected,
modifier = Modifier.padding(start = 16.dp)
)
FilterChips(
tags = tags,
selectedTag = selectedTag,
onTagSelected = viewModel::onTagSelected,
modifier = Modifier.weight(1f)
modifier = Modifier.align(Alignment.CenterStart).padding(start = 16.dp)
)
}
}