From 631781ee8cafb3ed6ac1bd8241f0e3bf866832a1 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 (cherry picked from commit aec980662f0159f1341392c62b8b7dba3466d835) # Conflicts: # app/src/main/java/eu/kanade/presentation/source/MigrateSourceScreen.kt --- .../presentation/components/ItemBadges.kt | 36 +++++++++++++++++++ .../source/MigrateSourceScreen.kt | 15 ++------ 2 files changed, 38 insertions(+), 13 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 179ce3918..58d3eeb6c 100644 --- a/app/src/main/java/eu/kanade/presentation/source/MigrateSourceScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/source/MigrateSourceScreen.kt @@ -1,13 +1,11 @@ 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.LocalTextStyle import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text @@ -16,13 +14,13 @@ 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 @@ -115,16 +113,7 @@ fun MigrateSourceItem( 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 - ) - ) + ItemBadges(primaryText = "$count") TextButton(onClick = onClickAll) { Text( text = stringResource(id = R.string.all),