Show correct language string in browse screens (#8136)
Cette révision appartient à :
Parent
b8fa326c21
révision
bbe1608006
3 fichiers modifiés avec 12 ajouts et 11 suppressions
|
@ -41,7 +41,6 @@ import eu.kanade.presentation.util.plus
|
||||||
import eu.kanade.presentation.util.topPaddingValues
|
import eu.kanade.presentation.util.topPaddingValues
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.ui.browse.migration.sources.MigrationSourcesPresenter
|
import eu.kanade.tachiyomi.ui.browse.migration.sources.MigrationSourcesPresenter
|
||||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
|
||||||
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
@ -145,7 +144,7 @@ private fun MigrateSourceItem(
|
||||||
Badge(text = "$count")
|
Badge(text = "$count")
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
content = { source, showLanguageInContent ->
|
content = { _, sourceLangString ->
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.padding(horizontal = horizontalPadding)
|
.padding(horizontal = horizontalPadding)
|
||||||
|
@ -161,9 +160,9 @@ private fun MigrateSourceItem(
|
||||||
horizontalArrangement = Arrangement.spacedBy(8.dp),
|
horizontalArrangement = Arrangement.spacedBy(8.dp),
|
||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
) {
|
) {
|
||||||
if (showLanguageInContent) {
|
if (sourceLangString != null) {
|
||||||
Text(
|
Text(
|
||||||
text = LocaleHelper.getDisplayName(source.lang),
|
text = sourceLangString,
|
||||||
maxLines = 1,
|
maxLines = 1,
|
||||||
overflow = TextOverflow.Ellipsis,
|
overflow = TextOverflow.Ellipsis,
|
||||||
style = MaterialTheme.typography.bodySmall,
|
style = MaterialTheme.typography.bodySmall,
|
||||||
|
|
|
@ -161,7 +161,7 @@ private fun SourceItem(
|
||||||
source = source,
|
source = source,
|
||||||
onClickItem = { onClickItem(source, GetRemoteManga.QUERY_POPULAR) },
|
onClickItem = { onClickItem(source, GetRemoteManga.QUERY_POPULAR) },
|
||||||
onLongClickItem = { onLongClickItem(source) },
|
onLongClickItem = { onLongClickItem(source) },
|
||||||
action = { source ->
|
action = {
|
||||||
if (source.supportsLatest) {
|
if (source.supportsLatest) {
|
||||||
TextButton(onClick = { onClickItem(source, GetRemoteManga.QUERY_LATEST) }) {
|
TextButton(onClick = { onClickItem(source, GetRemoteManga.QUERY_LATEST) }) {
|
||||||
Text(
|
Text(
|
||||||
|
|
|
@ -7,6 +7,7 @@ import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import eu.kanade.domain.source.model.Source
|
import eu.kanade.domain.source.model.Source
|
||||||
import eu.kanade.presentation.util.horizontalPadding
|
import eu.kanade.presentation.util.horizontalPadding
|
||||||
|
@ -21,15 +22,16 @@ fun BaseSourceItem(
|
||||||
onLongClickItem: () -> Unit = {},
|
onLongClickItem: () -> Unit = {},
|
||||||
icon: @Composable RowScope.(Source) -> Unit = defaultIcon,
|
icon: @Composable RowScope.(Source) -> Unit = defaultIcon,
|
||||||
action: @Composable RowScope.(Source) -> Unit = {},
|
action: @Composable RowScope.(Source) -> Unit = {},
|
||||||
content: @Composable RowScope.(Source, Boolean) -> Unit = defaultContent,
|
content: @Composable RowScope.(Source, String?) -> Unit = defaultContent,
|
||||||
) {
|
) {
|
||||||
|
val sourceLangString = LocaleHelper.getSourceDisplayName(source.lang, LocalContext.current).takeIf { showLanguageInContent }
|
||||||
BaseBrowseItem(
|
BaseBrowseItem(
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
onClickItem = onClickItem,
|
onClickItem = onClickItem,
|
||||||
onLongClickItem = onLongClickItem,
|
onLongClickItem = onLongClickItem,
|
||||||
icon = { icon.invoke(this, source) },
|
icon = { icon.invoke(this, source) },
|
||||||
action = { action.invoke(this, source) },
|
action = { action.invoke(this, source) },
|
||||||
content = { content.invoke(this, source, showLanguageInContent) },
|
content = { content.invoke(this, source, sourceLangString) },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,21 +39,21 @@ private val defaultIcon: @Composable RowScope.(Source) -> Unit = { source ->
|
||||||
SourceIcon(source = source)
|
SourceIcon(source = source)
|
||||||
}
|
}
|
||||||
|
|
||||||
private val defaultContent: @Composable RowScope.(Source, Boolean) -> Unit = { source, showLanguageInContent ->
|
private val defaultContent: @Composable RowScope.(Source, String?) -> Unit = { source, sourceLangString ->
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.padding(horizontal = horizontalPadding)
|
.padding(horizontal = horizontalPadding)
|
||||||
.weight(1f),
|
.weight(1f),
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = source.name.ifBlank { source.id.toString() },
|
text = source.name,
|
||||||
maxLines = 1,
|
maxLines = 1,
|
||||||
overflow = TextOverflow.Ellipsis,
|
overflow = TextOverflow.Ellipsis,
|
||||||
style = MaterialTheme.typography.bodyMedium,
|
style = MaterialTheme.typography.bodyMedium,
|
||||||
)
|
)
|
||||||
if (showLanguageInContent) {
|
if (sourceLangString != null) {
|
||||||
Text(
|
Text(
|
||||||
text = LocaleHelper.getDisplayName(source.lang),
|
text = sourceLangString,
|
||||||
maxLines = 1,
|
maxLines = 1,
|
||||||
overflow = TextOverflow.Ellipsis,
|
overflow = TextOverflow.Ellipsis,
|
||||||
style = MaterialTheme.typography.bodySmall,
|
style = MaterialTheme.typography.bodySmall,
|
||||||
|
|
Référencer dans un nouveau ticket