From aec980662f0159f1341392c62b8b7dba3466d835 Mon Sep 17 00:00:00 2001 From: arkon Date: Sun, 1 May 2022 11:36:55 -0400 Subject: [PATCH] Extract migrate list number badges for later use in library items --- .../presentation/components/ItemBadges.kt | 36 +++++++++++++++++++ .../source/MigrateSourceScreen.kt | 17 ++------- 2 files changed, 38 insertions(+), 15 deletions(-) create mode 100644 app/src/main/java/eu/kanade/presentation/components/ItemBadges.kt diff --git a/app/src/main/java/eu/kanade/presentation/components/ItemBadges.kt b/app/src/main/java/eu/kanade/presentation/components/ItemBadges.kt new file mode 100644 index 000000000..cbdbc06d0 --- /dev/null +++ b/app/src/main/java/eu/kanade/presentation/components/ItemBadges.kt @@ -0,0 +1,36 @@ +package eu.kanade.presentation.components + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp + +@Composable +fun ItemBadges( + modifier: Modifier = Modifier, + primaryText: String, +) { + Row( + modifier = modifier.clip(RoundedCornerShape(4.dp)), + ) { + Text( + text = primaryText, + modifier = Modifier + .background(MaterialTheme.colorScheme.primary) + .padding(horizontal = 4.dp, vertical = 2.dp), + style = MaterialTheme.typography.bodyMedium.copy( + color = MaterialTheme.colorScheme.onPrimary, + fontWeight = FontWeight.Medium, + ), + ) + + // TODO: support more badges (e.g., for library items) + } +} diff --git a/app/src/main/java/eu/kanade/presentation/source/MigrateSourceScreen.kt b/app/src/main/java/eu/kanade/presentation/source/MigrateSourceScreen.kt index 2554417bc..37acf32f0 100644 --- a/app/src/main/java/eu/kanade/presentation/source/MigrateSourceScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/source/MigrateSourceScreen.kt @@ -1,26 +1,24 @@ package eu.kanade.presentation.source -import androidx.compose.foundation.background import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.asPaddingValues import androidx.compose.foundation.layout.navigationBars import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items -import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.clip import androidx.compose.ui.input.nestedscroll.NestedScrollConnection import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import eu.kanade.domain.source.model.Source import eu.kanade.presentation.components.EmptyScreen +import eu.kanade.presentation.components.ItemBadges import eu.kanade.presentation.components.LoadingScreen import eu.kanade.presentation.source.components.BaseSourceItem import eu.kanade.presentation.theme.header @@ -107,17 +105,6 @@ fun MigrateSourceItem( showLanguageInContent = source.lang != "", onClickItem = onClickItem, onLongClickItem = onLongClickItem, - action = { - Text( - text = "$count", - modifier = Modifier - .clip(RoundedCornerShape(4.dp)) - .background(MaterialTheme.colorScheme.primary) - .padding(horizontal = 8.dp, vertical = 2.dp), - style = MaterialTheme.typography.bodyMedium.copy( - color = MaterialTheme.colorScheme.onPrimary - ) - ) - } + action = { ItemBadges(primaryText = "$count") }, ) }