[Manatoki] MangaListingBottomSheet show current item indicator

This commit is contained in:
tom5079
2021-12-22 21:33:55 +09:00
parent d626cc09d5
commit 4625bb5806
2 changed files with 12 additions and 5 deletions

View File

@@ -429,6 +429,7 @@ class Manatoki(app: Application) : Source(), DIAware {
sheetContent = { sheetContent = {
MangaListingBottomSheet( MangaListingBottomSheet(
mangaListing, mangaListing,
currentItemID = itemID,
onListSize = { onListSize = {
mangaListingListSize = it mangaListingListSize = it
}, },

View File

@@ -18,7 +18,6 @@
package xyz.quaver.pupil.sources.manatoki.composable package xyz.quaver.pupil.sources.manatoki.composable
import android.util.Log
import androidx.compose.foundation.Image import androidx.compose.foundation.Image
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
@@ -26,8 +25,9 @@ import androidx.compose.foundation.indication
import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.* import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.* import androidx.compose.foundation.lazy.*
import androidx.compose.foundation.lazy.items
import androidx.compose.material.* import androidx.compose.material.*
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.ArrowRight
import androidx.compose.material.ripple.rememberRipple import androidx.compose.material.ripple.rememberRipple
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.CompositionLocalProvider
@@ -45,8 +45,6 @@ import com.google.accompanist.flowlayout.FlowRow
import com.google.accompanist.insets.LocalWindowInsets import com.google.accompanist.insets.LocalWindowInsets
import com.google.accompanist.insets.navigationBarsPadding import com.google.accompanist.insets.navigationBarsPadding
import com.google.accompanist.insets.rememberInsetsPaddingValues import com.google.accompanist.insets.rememberInsetsPaddingValues
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.launch
import xyz.quaver.pupil.sources.manatoki.MangaListing import xyz.quaver.pupil.sources.manatoki.MangaListing
private val FabSpacing = 8.dp private val FabSpacing = 8.dp
@@ -103,6 +101,7 @@ fun MangaListingBottomSheetLayout(
@Composable @Composable
fun MangaListingBottomSheet( fun MangaListingBottomSheet(
mangaListing: MangaListing? = null, mangaListing: MangaListing? = null,
currentItemID: String? = null,
onListSize: (Size) -> Unit = { }, onListSize: (Size) -> Unit = { },
listState: LazyListState = rememberLazyListState(), listState: LazyListState = rememberLazyListState(),
rippleInteractionSource: List<MutableInteractionSource> = emptyList(), rippleInteractionSource: List<MutableInteractionSource> = emptyList(),
@@ -143,7 +142,7 @@ fun MangaListingBottomSheet(
modifier = Modifier modifier = Modifier
.width(150.dp) .width(150.dp)
.aspectRatio( .aspectRatio(
with(painter.intrinsicSize) { if (this == androidx.compose.ui.geometry.Size.Unspecified) 1f else width / height }, with(painter.intrinsicSize) { if (this == Size.Unspecified) 1f else width / height },
true true
), ),
painter = painter, painter = painter,
@@ -223,6 +222,13 @@ fun MangaListingBottomSheet(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.spacedBy(8.dp) horizontalArrangement = Arrangement.spacedBy(8.dp)
) { ) {
if (entry.itemID == currentItemID)
Icon(
Icons.Default.ArrowRight,
contentDescription = null,
tint = MaterialTheme.colors.secondary
)
Text( Text(
entry.title, entry.title,
style = MaterialTheme.typography.h6, style = MaterialTheme.typography.h6,