package eu.kanade.presentation.library.components import androidx.compose.foundation.layout.Column import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.Folder import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.PreviewLightDark import eu.kanade.presentation.theme.TachiyomiPreviewTheme import tachiyomi.presentation.core.components.Badge @Composable internal fun DownloadsBadge(count: Long) { if (count > 0) { Badge( text = "$count", color = MaterialTheme.colorScheme.tertiary, textColor = MaterialTheme.colorScheme.onTertiary, ) } } @Composable internal fun UnreadBadge(count: Long) { if (count > 0) { Badge(text = "$count") } } @Composable internal fun LanguageBadge( isLocal: Boolean, sourceLanguage: String, ) { if (isLocal) { Badge( imageVector = Icons.Outlined.Folder, color = MaterialTheme.colorScheme.tertiary, iconColor = MaterialTheme.colorScheme.onTertiary, ) } else if (sourceLanguage.isNotEmpty()) { Badge( text = sourceLanguage.uppercase(), color = MaterialTheme.colorScheme.tertiary, textColor = MaterialTheme.colorScheme.onTertiary, ) } } @PreviewLightDark @Composable private fun BadgePreview() { TachiyomiPreviewTheme { Column { DownloadsBadge(count = 10) UnreadBadge(count = 10) LanguageBadge(isLocal = true, sourceLanguage = "EN") LanguageBadge(isLocal = false, sourceLanguage = "EN") } } }