diff --git a/app/src/main/kotlin/com/subtracks/ui/library/AlbumDetailScreen.kt b/app/src/main/kotlin/com/subtracks/ui/library/AlbumDetailScreen.kt index 14af47e3..dcf18834 100644 --- a/app/src/main/kotlin/com/subtracks/ui/library/AlbumDetailScreen.kt +++ b/app/src/main/kotlin/com/subtracks/ui/library/AlbumDetailScreen.kt @@ -1,12 +1,20 @@ package com.subtracks.ui.library import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.rounded.DiscFull +import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp @@ -119,7 +127,7 @@ fun AlbumDetailScreen( val disc = song.disc ?: 1L val discLabel = discLabels[disc] if (disc != lastDisc && (multiDisc || discLabel != null)) { - item(key = "disc:$disc") { DiscHeader(discLabel ?: "Disc $disc") } + item(key = "disc:$disc") { DiscHeader(discLabel ?: "Disc $disc", showIcon = discLabel != null) } } lastDisc = disc item(key = song.id) { @@ -137,12 +145,28 @@ fun AlbumDetailScreen( } @Composable -private fun DiscHeader(text: String) { - Text( - text = text, - style = MaterialTheme.typography.titleMedium, - fontWeight = FontWeight.SemiBold, - color = MaterialTheme.colorScheme.onSurfaceVariant, +private fun DiscHeader( + text: String, + showIcon: Boolean, +) { + Row( + verticalAlignment = Alignment.CenterVertically, modifier = Modifier.padding(start = 16.dp, end = 16.dp, top = 20.dp, bottom = 4.dp), - ) + ) { + if (showIcon) { + Icon( + imageVector = Icons.Rounded.DiscFull, + contentDescription = null, + tint = MaterialTheme.colorScheme.onSurfaceVariant, + modifier = Modifier.size(16.dp), + ) + Spacer(Modifier.width(8.dp)) + } + Text( + text = text, + style = MaterialTheme.typography.titleMedium, + fontWeight = FontWeight.SemiBold, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } }