fix the home tab text colour against the dark theme

This commit is contained in:
austinried
2026-10-04 00:30:06 +00:00
parent 378d6a3b47
commit 82b62b8d9d
2 changed files with 90 additions and 73 deletions
@@ -19,10 +19,12 @@ import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.CircleShape
import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.AssistChip import androidx.compose.material3.AssistChip
import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.material3.TextButton import androidx.compose.material3.TextButton
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
@@ -127,9 +129,10 @@ fun HomeScreen(
onSync: () -> Unit = {}, onSync: () -> Unit = {},
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
) { ) {
CompositionLocalProvider(LocalContentColor provides MaterialTheme.colorScheme.onBackground) {
if (feed.loading) { if (feed.loading) {
LoadingState(modifier) LoadingState(modifier)
return return@CompositionLocalProvider
} }
if (feed.isEmpty()) { if (feed.isEmpty()) {
EmptyState( EmptyState(
@@ -138,7 +141,7 @@ fun HomeScreen(
actionLabel = "Sync", actionLabel = "Sync",
onAction = onSync, onAction = onSync,
) )
return return@CompositionLocalProvider
} }
LazyColumn( LazyColumn(
modifier = modifier.fillMaxSize(), modifier = modifier.fillMaxSize(),
@@ -178,7 +181,15 @@ fun HomeScreen(
) )
genreBlock(HomeSection.Genres, feed.genres, onGenreClick, onMore) genreBlock(HomeSection.Genres, feed.genres, onGenreClick, onMore)
decadeRow(HomeSection.Decades, feed.decades, onDecadeClick, onMore) decadeRow(HomeSection.Decades, feed.decades, onDecadeClick, onMore)
starredSongs(HomeSection.RecentlyStarredSongs, feed.recentlyStarredSongs, coverArt, playingSongId, onSongClick, onLongClick, onMore) starredSongs(
HomeSection.RecentlyStarredSongs,
feed.recentlyStarredSongs,
coverArt,
playingSongId,
onSongClick,
onLongClick,
onMore,
)
albumRow( albumRow(
HomeSection.RecentlyAddedAlbums, HomeSection.RecentlyAddedAlbums,
feed.recentlyAddedAlbums, feed.recentlyAddedAlbums,
@@ -196,6 +207,7 @@ fun HomeScreen(
onMore, onMore,
) )
} }
}
} }
private fun HomeFeed.isEmpty(): Boolean = private fun HomeFeed.isEmpty(): Boolean =
@@ -1,6 +1,9 @@
package com.subtracks.ui.home package com.subtracks.ui.home
import androidx.activity.ComponentActivity import androidx.activity.ComponentActivity
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.Surface
import androidx.compose.ui.Modifier
import androidx.compose.ui.test.junit4.v2.createAndroidComposeRule import androidx.compose.ui.test.junit4.v2.createAndroidComposeRule
import androidx.compose.ui.test.onAllNodesWithText import androidx.compose.ui.test.onAllNodesWithText
import androidx.compose.ui.test.onRoot import androidx.compose.ui.test.onRoot
@@ -30,6 +33,7 @@ class HomeScreenshotTest {
fun home() { fun home() {
composeRule.setContent { composeRule.setContent {
SubtracksTheme { SubtracksTheme {
Surface(modifier = Modifier.fillMaxSize()) {
HomeScreen( HomeScreen(
feed = feed(), feed = feed(),
coverArt = { _, _ -> null }, coverArt = { _, _ -> null },
@@ -37,6 +41,7 @@ class HomeScreenshotTest {
) )
} }
} }
}
composeRule.waitUntil(timeoutMillis = 5_000) { composeRule.waitUntil(timeoutMillis = 5_000) {
composeRule.onAllNodesWithText("Recently played").fetchSemanticsNodes().isNotEmpty() composeRule.onAllNodesWithText("Recently played").fetchSemanticsNodes().isNotEmpty()
} }