Skip to content

Commit ef56dea

Browse files
committed
Fix content color in comment replies fragment
1 parent 23b3835 commit ef56dea

1 file changed

Lines changed: 54 additions & 41 deletions

File tree

app/src/main/java/org/schabi/newpipe/ui/components/video/comment/CommentRepliesDialog.kt

Lines changed: 54 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,13 @@ import androidx.compose.foundation.lazy.LazyColumn
66
import androidx.compose.foundation.lazy.rememberLazyListState
77
import androidx.compose.material3.ExperimentalMaterial3Api
88
import androidx.compose.material3.HorizontalDivider
9+
import androidx.compose.material3.LocalContentColor
910
import androidx.compose.material3.MaterialTheme
1011
import androidx.compose.material3.ModalBottomSheet
1112
import androidx.compose.material3.Text
13+
import androidx.compose.material3.contentColorFor
1214
import androidx.compose.runtime.Composable
15+
import androidx.compose.runtime.CompositionLocalProvider
1316
import androidx.compose.runtime.remember
1417
import androidx.compose.runtime.rememberCoroutineScope
1518
import androidx.compose.ui.Modifier
@@ -67,54 +70,64 @@ private fun CommentRepliesDialog(
6770
val state = rememberLazyListState()
6871

6972
ModalBottomSheet(onDismissRequest = onDismissRequest) {
70-
LazyColumnScrollbar(
71-
state = state,
72-
settings = ScrollbarSettings.Default.copy(
73-
thumbSelectedColor = md_theme_dark_primary,
74-
thumbUnselectedColor = Color.Red
75-
)
73+
CompositionLocalProvider(
74+
// contentColorFor(MaterialTheme.colorScheme.containerColor), i.e. ModalBottomSheet's
75+
// default background color, does not resolve correctly, so need to manually set the
76+
// content color for MaterialTheme.colorScheme.background instead
77+
LocalContentColor provides contentColorFor(MaterialTheme.colorScheme.background)
7678
) {
77-
LazyColumn(
78-
modifier = Modifier.nestedScroll(nestedScrollInterop),
79-
state = state
79+
LazyColumnScrollbar(
80+
state = state,
81+
settings = ScrollbarSettings.Default.copy(
82+
thumbSelectedColor = md_theme_dark_primary,
83+
thumbUnselectedColor = Color.Red
84+
)
8085
) {
81-
item {
82-
CommentRepliesHeader(comment = parentComment)
83-
HorizontalDivider(
84-
thickness = 1.dp,
85-
modifier = Modifier.padding(start = 16.dp, end = 16.dp, bottom = 8.dp)
86-
)
87-
}
88-
89-
if (comments.itemCount == 0) {
86+
LazyColumn(
87+
modifier = Modifier.nestedScroll(nestedScrollInterop),
88+
state = state
89+
) {
9090
item {
91-
val refresh = comments.loadState.refresh
92-
if (refresh is LoadState.Loading) {
93-
LoadingIndicator(modifier = Modifier.padding(top = 8.dp))
94-
} else {
95-
val message = if (refresh is LoadState.Error) {
96-
R.string.error_unable_to_load_comments
91+
CommentRepliesHeader(comment = parentComment)
92+
HorizontalDivider(
93+
thickness = 1.dp,
94+
modifier = Modifier.padding(start = 16.dp, end = 16.dp, bottom = 8.dp)
95+
)
96+
}
97+
98+
if (comments.itemCount == 0) {
99+
item {
100+
val refresh = comments.loadState.refresh
101+
if (refresh is LoadState.Loading) {
102+
LoadingIndicator(modifier = Modifier.padding(top = 8.dp))
97103
} else {
98-
R.string.no_comments
104+
val message = if (refresh is LoadState.Error) {
105+
R.string.error_unable_to_load_comments
106+
} else {
107+
R.string.no_comments
108+
}
109+
NoItemsMessage(message)
99110
}
100-
NoItemsMessage(message)
101111
}
102-
}
103-
} else {
104-
if (comments.itemCount >= 0) {
105-
item {
106-
Text(
107-
modifier = Modifier.padding(horizontal = 12.dp, vertical = 4.dp),
108-
text = pluralStringResource(
109-
R.plurals.replies, comments.itemCount, comments.itemCount
110-
),
111-
maxLines = 1,
112-
style = MaterialTheme.typography.titleMedium
113-
)
112+
} else {
113+
if (comments.itemCount >= 0) {
114+
item {
115+
Text(
116+
modifier = Modifier.padding(
117+
horizontal = 12.dp,
118+
vertical = 4.dp
119+
),
120+
text = pluralStringResource(
121+
R.plurals.replies, comments.itemCount, comments.itemCount
122+
),
123+
maxLines = 1,
124+
style = MaterialTheme.typography.titleMedium
125+
)
126+
}
127+
}
128+
items(comments.itemCount) {
129+
Comment(comment = comments[it]!!)
114130
}
115-
}
116-
items(comments.itemCount) {
117-
Comment(comment = comments[it]!!)
118131
}
119132
}
120133
}

0 commit comments

Comments
 (0)