fix(player): не обрезать низ плеера на телефонах (скролл + компактнее)

Плеер живёт в ModalBottomSheet без скролла. На телефонах с высоким dpi
высоты в dp меньше (480dpi → ~800dp против ~914dp у эмулятора 420dpi),
из-за чего низ — кнопка «Текст песни» — обрезался шторкой и был виден
лишь полоской. Добавлен verticalScroll (низ доступен на любом экране) и
ужата высота (обложка 220→190, крупные отступы), чтобы влезало без скролла.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
nk
2026-06-04 12:51:15 +03:00
parent c77c131a09
commit 6aa2588641

View File

@@ -8,6 +8,8 @@ import androidx.compose.animation.animateColorAsState
import androidx.compose.animation.core.tween
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.layout.navigationBarsPadding
@@ -87,6 +89,9 @@ fun PlayerBottomSheet(
.fillMaxWidth()
.background(colors.bgBase)
.navigationBarsPadding()
// Скролл — чтобы на телефонах с меньшей высотой в dp (высокий dpi)
// низ плеера (кнопка «Текст песни») не обрезался шторкой.
.verticalScroll(rememberScrollState())
.padding(horizontal = 24.dp, vertical = 20.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
@@ -129,7 +134,7 @@ fun PlayerBottomSheet(
// Обложка станции/трека
Box(
modifier = Modifier
.size(220.dp)
.size(190.dp)
.clip(RoundedCornerShape(24.dp))
.background(colors.surface2),
contentAlignment = Alignment.Center
@@ -151,7 +156,7 @@ fun PlayerBottomSheet(
)
}
}
Spacer(Modifier.height(22.dp))
Spacer(Modifier.height(14.dp))
// Название трека и исполнитель с Crossfade при смене
Crossfade(
@@ -189,7 +194,7 @@ fun PlayerBottomSheet(
playing = isPlaying,
color = colors.accent
)
Spacer(Modifier.height(24.dp))
Spacer(Modifier.height(16.dp))
// Управление воспроизведением
Row(