fix(ui): иконочный таб-бар, заголовок станций, ровные кнопки плеера, рабочая ссылка на текст

- таб-бар только иконки (6 разделов не помещались с подписями)
- «Откройте радио» -> «Выберите радиостанцию»
- кнопки плеера (лайк/prev/next/запись) единого размера 24/48, ряд SpaceBetween
  (кнопка записи больше не обрезается и не выбивается размером)
- текст песни: Musixmatch резал соединение -> веб-поиск трека (открывается)
This commit is contained in:
nk
2026-06-03 11:15:29 +03:00
parent fc9b23f62c
commit a50a108f63
4 changed files with 18 additions and 28 deletions

View File

@@ -157,7 +157,8 @@ fun PlayerBottomSheet(
// Управление воспроизведением
Row(
horizontalArrangement = Arrangement.spacedBy(24.dp),
modifier = Modifier.fillMaxWidth().padding(horizontal = 8.dp),
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically
) {
// Кнопка избранного
@@ -166,15 +167,15 @@ fun PlayerBottomSheet(
animationSpec = tween(Motion.Medium),
label = "heartTint"
)
PlayerIconBtn(size = 44.dp) {
PlayerIconBtn(size = 48.dp) {
IconButton(
onClick = {
haptics.performHapticFeedback(HapticFeedbackType.LongPress)
onToggleFavorite()
},
modifier = Modifier.size(44.dp)
modifier = Modifier.size(48.dp)
) {
Icon(Lucide.Heart, "Избранное", tint = heartTint, modifier = Modifier.size(22.dp))
Icon(Lucide.Heart, "Избранное", tint = heartTint, modifier = Modifier.size(24.dp))
}
}
@@ -226,8 +227,8 @@ fun PlayerBottomSheet(
animationSpec = tween(Motion.Medium),
label = "recordTint"
)
PlayerIconBtn(size = 44.dp) {
IconButton(onClick = onToggleRecording, modifier = Modifier.size(44.dp)) {
PlayerIconBtn(size = 48.dp) {
IconButton(onClick = onToggleRecording, modifier = Modifier.size(48.dp)) {
Crossfade(
targetState = isRecording,
animationSpec = tween(Motion.Fast),
@@ -237,7 +238,7 @@ fun PlayerBottomSheet(
imageVector = if (recording) Lucide.MicOff else Lucide.Mic,
contentDescription = if (recording) "Остановить запись" else "Запись",
tint = recordTint,
modifier = Modifier.size(20.dp)
modifier = Modifier.size(24.dp)
)
}
}