mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	Adjust missing chapters UI
This commit is contained in:
		| @@ -394,7 +394,7 @@ private fun MangaScreenSmallImpl( | ||||
|                         ChapterHeader( | ||||
|                             enabled = chapters.fastAll { !it.selected }, | ||||
|                             chapterCount = chapters.size, | ||||
|                             missingChapters = countMissingChapters(chapters.map { it.chapter.chapterNumber }), | ||||
|                             missingChapterCount = countMissingChapters(chapters.map { it.chapter.chapterNumber }), | ||||
|                             onClick = onFilterClicked, | ||||
|                         ) | ||||
|                     } | ||||
| @@ -606,7 +606,7 @@ fun MangaScreenLargeImpl( | ||||
|                                 ChapterHeader( | ||||
|                                     enabled = chapters.fastAll { !it.selected }, | ||||
|                                     chapterCount = chapters.size, | ||||
|                                     missingChapters = countMissingChapters(chapters.map { it.chapter.chapterNumber }), | ||||
|                                     missingChapterCount = countMissingChapters(chapters.map { it.chapter.chapterNumber }), | ||||
|                                     onClick = onFilterButtonClicked, | ||||
|                                 ) | ||||
|                             } | ||||
|   | ||||
| @@ -1,31 +1,29 @@ | ||||
| package eu.kanade.presentation.manga.components | ||||
|  | ||||
| import androidx.compose.foundation.clickable | ||||
| import androidx.compose.foundation.layout.Row | ||||
| import androidx.compose.foundation.layout.Arrangement | ||||
| import androidx.compose.foundation.layout.Column | ||||
| import androidx.compose.foundation.layout.fillMaxWidth | ||||
| import androidx.compose.foundation.layout.padding | ||||
| import androidx.compose.material3.AssistChip | ||||
| import androidx.compose.material3.AssistChipDefaults.assistChipColors | ||||
| import androidx.compose.material3.AssistChipDefaults.assistChipElevation | ||||
| import androidx.compose.material3.MaterialTheme | ||||
| import androidx.compose.material3.Text | ||||
| import androidx.compose.runtime.Composable | ||||
| import androidx.compose.ui.Alignment | ||||
| import androidx.compose.ui.Modifier | ||||
| import androidx.compose.ui.res.pluralStringResource | ||||
| import androidx.compose.ui.res.stringResource | ||||
| import androidx.compose.ui.text.style.TextOverflow | ||||
| import androidx.compose.ui.unit.dp | ||||
| import eu.kanade.tachiyomi.R | ||||
| import tachiyomi.presentation.core.util.secondaryItemAlpha | ||||
|  | ||||
| @Composable | ||||
| fun ChapterHeader( | ||||
|     enabled: Boolean, | ||||
|     chapterCount: Int?, | ||||
|     missingChapters: Int?, | ||||
|     missingChapterCount: Int?, | ||||
|     onClick: () -> Unit, | ||||
| ) { | ||||
|     Row( | ||||
|     Column( | ||||
|         modifier = Modifier | ||||
|             .fillMaxWidth() | ||||
|             .clickable( | ||||
| @@ -33,7 +31,7 @@ fun ChapterHeader( | ||||
|                 onClick = onClick, | ||||
|             ) | ||||
|             .padding(horizontal = 16.dp, vertical = 4.dp), | ||||
|         verticalAlignment = Alignment.CenterVertically, | ||||
|         verticalArrangement = Arrangement.spacedBy(4.dp), | ||||
|     ) { | ||||
|         Text( | ||||
|             text = if (chapterCount == null) { | ||||
| @@ -42,45 +40,29 @@ fun ChapterHeader( | ||||
|                 pluralStringResource(id = R.plurals.manga_num_chapters, count = chapterCount, chapterCount) | ||||
|             }, | ||||
|             style = MaterialTheme.typography.titleMedium, | ||||
|             modifier = Modifier.weight(1f), | ||||
|             color = MaterialTheme.colorScheme.onBackground, | ||||
|         ) | ||||
|  | ||||
|         // Missing chapters | ||||
|         if (missingChapters == null) { | ||||
|             DrawWarning( | ||||
|                 text = stringResource(R.string.missing_chapters_unknown), | ||||
|             ) | ||||
|         } else if (missingChapters > 0) { | ||||
|             DrawWarning( | ||||
|                 text = pluralStringResource( | ||||
|                     id = R.plurals.missing_chapters, | ||||
|                     count = missingChapters, | ||||
|                     missingChapters, | ||||
|                 ), | ||||
|             ) | ||||
|         } | ||||
|         MissingChaptersWarning(missingChapterCount) | ||||
|     } | ||||
| } | ||||
|  | ||||
| @Composable | ||||
| private fun DrawWarning(text: String) { | ||||
|     AssistChip( | ||||
|         onClick = { | ||||
|             // TODO Show missing chapters | ||||
|         }, | ||||
|         label = { | ||||
|             Text( | ||||
|                 text = text, | ||||
|                 overflow = TextOverflow.Ellipsis, | ||||
|                 color = MaterialTheme.colorScheme.primary, | ||||
|             ) | ||||
|         }, | ||||
|         shape = MaterialTheme.shapes.small, | ||||
|         border = null, | ||||
|         colors = assistChipColors( | ||||
|             containerColor = MaterialTheme.colorScheme.surface, | ||||
|         ), | ||||
|         elevation = assistChipElevation(1.dp), | ||||
|     ) | ||||
| private fun MissingChaptersWarning(count: Int?) { | ||||
|     val text = when { | ||||
|         count == null -> stringResource(R.string.missing_chapters_unknown) | ||||
|         count > 0 -> pluralStringResource(id = R.plurals.missing_chapters, count = count, count) | ||||
|         else -> null | ||||
|     } | ||||
|  | ||||
|     if (text != null) { | ||||
|         Text( | ||||
|             modifier = Modifier.secondaryItemAlpha(), | ||||
|             text = text, | ||||
|             maxLines = 1, | ||||
|             overflow = TextOverflow.Ellipsis, | ||||
|             style = MaterialTheme.typography.bodySmall, | ||||
|             color = MaterialTheme.colorScheme.error, | ||||
|         ) | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user