ui: tighten the library tab bar and simplify the offline strip

Drop the strip's divider and shorten its label to "Offline mode". Take
the bar's horizontal inset off the scroll container so a tab that is
scrolled half off is cut at the screen edge instead of stopping inside
the bar's gutter; the gear keeps its end padding.
This commit is contained in:
austinried
2026-10-21 10:14:10 +00:00
parent 47787182d0
commit b9a3ae5ed0
2 changed files with 33 additions and 37 deletions
@@ -50,7 +50,6 @@ import androidx.compose.material3.FilterChip
import androidx.compose.material3.FilterChipDefaults
import androidx.compose.material3.FloatingActionButton
import androidx.compose.material3.FloatingActionButtonDefaults
import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.LocalContentColor
@@ -928,7 +927,7 @@ internal fun LibraryTabs(
Modifier
.fillMaxWidth()
.background(headerColor)
.padding(horizontal = 8.dp, vertical = 2.dp),
.padding(top = 2.dp, end = 8.dp, bottom = 2.dp),
) {
Row(
modifier = Modifier.fillMaxWidth(),
@@ -1015,41 +1014,38 @@ private fun OfflineStrip(
onGoOnline: () -> Unit,
modifier: Modifier = Modifier,
) {
Column(modifier.fillMaxWidth()) {
HorizontalDivider(color = MaterialTheme.colorScheme.outlineVariant)
Surface(
onClick = onGoOnline,
color = Color.Transparent,
contentColor = MaterialTheme.colorScheme.onBackground,
modifier = Modifier.fillMaxWidth(),
Surface(
onClick = onGoOnline,
color = Color.Transparent,
contentColor = MaterialTheme.colorScheme.onBackground,
modifier = modifier.fillMaxWidth(),
) {
Row(
modifier =
Modifier
.fillMaxWidth()
.heightIn(min = 44.dp)
.padding(horizontal = 16.dp, vertical = 6.dp),
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(8.dp),
) {
Row(
modifier =
Modifier
.fillMaxWidth()
.heightIn(min = 44.dp)
.padding(horizontal = 16.dp, vertical = 6.dp),
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(8.dp),
) {
Icon(
imageVector = Icons.Rounded.CloudOff,
contentDescription = null,
tint = MaterialTheme.colorScheme.primary,
modifier = Modifier.size(18.dp),
)
Text(
text = stringResource(R.string.offline_mode_banner),
style = MaterialTheme.typography.bodyMedium,
maxLines = 2,
modifier = Modifier.weight(1f),
)
Text(
text = stringResource(R.string.offline_go_online),
style = MaterialTheme.typography.labelLarge,
color = MaterialTheme.colorScheme.primary,
)
}
Icon(
imageVector = Icons.Rounded.CloudOff,
contentDescription = null,
tint = MaterialTheme.colorScheme.primary,
modifier = Modifier.size(18.dp),
)
Text(
text = stringResource(R.string.offline_mode_banner),
style = MaterialTheme.typography.bodyMedium,
maxLines = 2,
modifier = Modifier.weight(1f),
)
Text(
text = stringResource(R.string.offline_go_online),
style = MaterialTheme.typography.labelLarge,
color = MaterialTheme.colorScheme.primary,
)
}
}
}
+1 -1
View File
@@ -175,7 +175,7 @@
<string name="filters">Filters</string>
<string name="filter_downloaded">Downloaded</string>
<string name="close_search">Close search</string>
<string name="offline_mode_banner">Offline mode — downloads only</string>
<string name="offline_mode_banner">Offline mode</string>
<string name="offline_go_online">Go online</string>
<string name="shuffle_artist">Shuffle artist</string>