From 0f4e1a8e0d05c4ce297d65b371b3f9843fb9284e Mon Sep 17 00:00:00 2001 From: tom5079 Date: Sun, 19 Dec 2021 12:42:19 +0900 Subject: [PATCH] Readerbase actions --- .../pupil/sources/composable/ReaderBase.kt | 16 +++++++++++++++- .../pupil/sources/composable/SearchBase.kt | 1 - .../xyz/quaver/pupil/sources/hitomi/Hitomi.kt | 7 +++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/xyz/quaver/pupil/sources/composable/ReaderBase.kt b/app/src/main/java/xyz/quaver/pupil/sources/composable/ReaderBase.kt index d358c808..3bac274e 100644 --- a/app/src/main/java/xyz/quaver/pupil/sources/composable/ReaderBase.kt +++ b/app/src/main/java/xyz/quaver/pupil/sources/composable/ReaderBase.kt @@ -30,6 +30,8 @@ import androidx.compose.material.* import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.BrokenImage import androidx.compose.material.icons.filled.Fullscreen +import androidx.compose.material.icons.filled.Star +import androidx.compose.material.icons.filled.StarOutline import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -59,6 +61,7 @@ import xyz.quaver.graphics.subsampledimage.* import xyz.quaver.io.FileX import xyz.quaver.pupil.R import xyz.quaver.pupil.db.AppDatabase +import xyz.quaver.pupil.ui.theme.Orange500 import xyz.quaver.pupil.util.NetworkCache import xyz.quaver.pupil.util.rememberFileXImageSource import kotlin.math.abs @@ -156,6 +159,7 @@ open class ReaderBaseViewModel(app: Application) : AndroidViewModel(app), DIAwar @Composable fun ReaderBase( model: ReaderBaseViewModel, + icon: @Composable () -> Unit = { }, bookmark: Boolean = false, onToggleBookmark: () -> Unit = { } ) { @@ -200,7 +204,17 @@ fun ReaderBase( ) }, actions = { - //TODO + IconButton(onClick = { }) { + icon() + } + + IconButton(onClick = onToggleBookmark) { + Icon( + if (bookmark) Icons.Default.Star else Icons.Default.StarOutline, + contentDescription = null, + tint = Orange500 + ) + } }, contentPadding = rememberInsetsPaddingValues( LocalWindowInsets.current.statusBars, diff --git a/app/src/main/java/xyz/quaver/pupil/sources/composable/SearchBase.kt b/app/src/main/java/xyz/quaver/pupil/sources/composable/SearchBase.kt index 23aa3d36..cde02388 100644 --- a/app/src/main/java/xyz/quaver/pupil/sources/composable/SearchBase.kt +++ b/app/src/main/java/xyz/quaver/pupil/sources/composable/SearchBase.kt @@ -257,7 +257,6 @@ fun SearchBase( ): Offset { if ( available.y == 0f || - source == NestedScrollSource.Fling || !model.prevPageAvailable && available.y > 0f || !model.nextPageAvailable && available.y < 0f ) return Offset.Zero diff --git a/app/src/main/java/xyz/quaver/pupil/sources/hitomi/Hitomi.kt b/app/src/main/java/xyz/quaver/pupil/sources/hitomi/Hitomi.kt index 908a1aae..e09bafa9 100644 --- a/app/src/main/java/xyz/quaver/pupil/sources/hitomi/Hitomi.kt +++ b/app/src/main/java/xyz/quaver/pupil/sources/hitomi/Hitomi.kt @@ -229,6 +229,13 @@ class Hitomi(app: Application) : Source(), DIAware { ReaderBase( model, + icon = { + Image( + painter = painterResource(R.drawable.hitomi), + contentDescription = null, + modifier = Modifier.size(24.dp) + ) + }, bookmark = bookmark, onToggleBookmark = { coroutineScope.launch {