Resume when history item is tapped (#6982)

* Remove resume button

* Rename onClickItem to onClickCover

* Optimize imports

* Rename reference to onClickItem in HistoryController.kt

Co-authored-by: CrepeTF <trungnguyen02@outlookcom>
This commit is contained in:
CrepeTF 2022-04-23 15:58:33 +01:00 committed by GitHub
parent 2d01933c28
commit 070abd79ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 37 deletions

View File

@ -2,32 +2,14 @@ package eu.kanade.presentation.history
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.*
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.navigationBarsPadding
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.foundation.selection.toggleable import androidx.compose.foundation.selection.toggleable
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.PlayArrow
import androidx.compose.material.icons.outlined.Delete import androidx.compose.material.icons.outlined.Delete
import androidx.compose.material3.AlertDialog import androidx.compose.material3.*
import androidx.compose.material3.Checkbox import androidx.compose.runtime.*
import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.material3.TextButton
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.input.nestedscroll.NestedScrollConnection import androidx.compose.ui.input.nestedscroll.NestedScrollConnection
@ -56,13 +38,13 @@ import uy.kohesive.injekt.api.get
import java.text.DateFormat import java.text.DateFormat
import java.text.DecimalFormat import java.text.DecimalFormat
import java.text.DecimalFormatSymbols import java.text.DecimalFormatSymbols
import java.util.Date import java.util.*
@Composable @Composable
fun HistoryScreen( fun HistoryScreen(
nestedScrollInterop: NestedScrollConnection, nestedScrollInterop: NestedScrollConnection,
presenter: HistoryPresenter, presenter: HistoryPresenter,
onClickItem: (HistoryWithRelations) -> Unit, onClickCover: (HistoryWithRelations) -> Unit,
onClickResume: (HistoryWithRelations) -> Unit, onClickResume: (HistoryWithRelations) -> Unit,
onClickDelete: (HistoryWithRelations, Boolean) -> Unit, onClickDelete: (HistoryWithRelations, Boolean) -> Unit,
) { ) {
@ -81,7 +63,7 @@ fun HistoryScreen(
HistoryContent( HistoryContent(
nestedScroll = nestedScrollInterop, nestedScroll = nestedScrollInterop,
history = history, history = history,
onClickItem = onClickItem, onClickCover = onClickCover,
onClickResume = onClickResume, onClickResume = onClickResume,
onClickDelete = onClickDelete, onClickDelete = onClickDelete,
) )
@ -92,7 +74,7 @@ fun HistoryScreen(
@Composable @Composable
fun HistoryContent( fun HistoryContent(
history: LazyPagingItems<UiModel>, history: LazyPagingItems<UiModel>,
onClickItem: (HistoryWithRelations) -> Unit, onClickCover: (HistoryWithRelations) -> Unit,
onClickResume: (HistoryWithRelations) -> Unit, onClickResume: (HistoryWithRelations) -> Unit,
onClickDelete: (HistoryWithRelations, Boolean) -> Unit, onClickDelete: (HistoryWithRelations, Boolean) -> Unit,
preferences: PreferencesHelper = Injekt.get(), preferences: PreferencesHelper = Injekt.get(),
@ -125,7 +107,7 @@ fun HistoryContent(
HistoryItem( HistoryItem(
modifier = Modifier.animateItemPlacement(), modifier = Modifier.animateItemPlacement(),
history = value, history = value,
onClickItem = { onClickItem(value) }, onClickCover = { onClickCover(value) },
onClickResume = { onClickResume(value) }, onClickResume = { onClickResume(value) },
onClickDelete = { setRemoveState(value) }, onClickDelete = { setRemoveState(value) },
) )
@ -175,19 +157,21 @@ fun HistoryHeader(
fun HistoryItem( fun HistoryItem(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
history: HistoryWithRelations, history: HistoryWithRelations,
onClickItem: () -> Unit, onClickCover: () -> Unit,
onClickResume: () -> Unit, onClickResume: () -> Unit,
onClickDelete: () -> Unit, onClickDelete: () -> Unit,
) { ) {
Row( Row(
modifier = modifier modifier = modifier
.clickable(onClick = onClickItem) .clickable(onClick = onClickResume)
.height(96.dp) .height(96.dp)
.padding(horizontal = horizontalPadding, vertical = 8.dp), .padding(horizontal = horizontalPadding, vertical = 8.dp),
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
) { ) {
MangaCover( MangaCover(
modifier = Modifier.fillMaxHeight(), modifier = Modifier
.fillMaxHeight()
.clickable(onClick = onClickCover),
data = history.thumbnailUrl, data = history.thumbnailUrl,
aspect = MangaCoverAspect.COVER aspect = MangaCoverAspect.COVER
) )
@ -221,6 +205,7 @@ fun HistoryItem(
) )
} }
} }
IconButton(onClick = onClickDelete) { IconButton(onClick = onClickDelete) {
Icon( Icon(
imageVector = Icons.Outlined.Delete, imageVector = Icons.Outlined.Delete,
@ -228,13 +213,6 @@ fun HistoryItem(
tint = MaterialTheme.colorScheme.onSurface, tint = MaterialTheme.colorScheme.onSurface,
) )
} }
IconButton(onClick = onClickResume) {
Icon(
imageVector = Icons.Filled.PlayArrow,
contentDescription = stringResource(id = R.string.action_resume),
tint = MaterialTheme.colorScheme.onSurface,
)
}
} }
} }

View File

@ -33,7 +33,7 @@ class HistoryController : ComposeController<HistoryPresenter>(), RootController
HistoryScreen( HistoryScreen(
nestedScrollInterop = nestedScrollInterop, nestedScrollInterop = nestedScrollInterop,
presenter = presenter, presenter = presenter,
onClickItem = { history -> onClickCover = { history ->
router.pushController(MangaController(history).withFadeTransaction()) router.pushController(MangaController(history).withFadeTransaction())
}, },
onClickResume = { history -> onClickResume = { history ->