Minor cleanup/fixes
- Add FAB collapsing in clear database screen (fixes #7935) - Don't allow multiline category names to be entered - Consolidate Downloaded Only / Incognito Mode banner components - Fix see-through migrate screen sticky header
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package eu.kanade.presentation.more.settings.database
|
||||
|
||||
import androidx.compose.foundation.lazy.rememberLazyListState
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import eu.kanade.presentation.components.Scaffold
|
||||
@@ -7,7 +8,6 @@ import eu.kanade.presentation.more.settings.database.components.ClearDatabaseCon
|
||||
import eu.kanade.presentation.more.settings.database.components.ClearDatabaseDeleteDialog
|
||||
import eu.kanade.presentation.more.settings.database.components.ClearDatabaseFloatingActionButton
|
||||
import eu.kanade.presentation.more.settings.database.components.ClearDatabaseToolbar
|
||||
import eu.kanade.presentation.util.plus
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.ui.setting.database.ClearDatabasePresenter
|
||||
import eu.kanade.tachiyomi.util.system.toast
|
||||
@@ -18,6 +18,7 @@ fun ClearDatabaseScreen(
|
||||
navigateUp: () -> Unit,
|
||||
) {
|
||||
val context = LocalContext.current
|
||||
val lazyListState = rememberLazyListState()
|
||||
Scaffold(
|
||||
topBar = { scrollBehavior ->
|
||||
ClearDatabaseToolbar(
|
||||
@@ -31,6 +32,7 @@ fun ClearDatabaseScreen(
|
||||
floatingActionButton = {
|
||||
ClearDatabaseFloatingActionButton(
|
||||
isVisible = presenter.selection.isNotEmpty(),
|
||||
lazyListState = lazyListState,
|
||||
onClickDelete = {
|
||||
presenter.dialog = ClearDatabasePresenter.Dialog.Delete(presenter.selection)
|
||||
},
|
||||
@@ -40,6 +42,7 @@ fun ClearDatabaseScreen(
|
||||
ClearDatabaseContent(
|
||||
state = presenter,
|
||||
contentPadding = paddingValues,
|
||||
lazyListState = lazyListState,
|
||||
onClickSelection = { source ->
|
||||
presenter.toggleSelection(source)
|
||||
},
|
||||
|
||||
@@ -5,6 +5,7 @@ import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.WindowInsets
|
||||
import androidx.compose.foundation.layout.asPaddingValues
|
||||
import androidx.compose.foundation.layout.navigationBars
|
||||
import androidx.compose.foundation.lazy.LazyListState
|
||||
import androidx.compose.foundation.lazy.items
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.res.stringResource
|
||||
@@ -19,12 +20,14 @@ import eu.kanade.tachiyomi.R
|
||||
fun ClearDatabaseContent(
|
||||
state: ClearDatabaseState,
|
||||
contentPadding: PaddingValues,
|
||||
lazyListState: LazyListState,
|
||||
onClickSelection: (Source) -> Unit,
|
||||
) {
|
||||
Crossfade(targetState = state.isEmpty.not()) { _state ->
|
||||
when (_state) {
|
||||
true -> FastScrollLazyColumn(
|
||||
contentPadding = contentPadding + WindowInsets.navigationBars.asPaddingValues(),
|
||||
state = lazyListState,
|
||||
) {
|
||||
items(state.items) { sourceWithCount ->
|
||||
ClearDatabaseItem(
|
||||
|
||||
@@ -4,6 +4,7 @@ import androidx.compose.animation.AnimatedVisibility
|
||||
import androidx.compose.animation.fadeIn
|
||||
import androidx.compose.animation.fadeOut
|
||||
import androidx.compose.foundation.layout.navigationBarsPadding
|
||||
import androidx.compose.foundation.lazy.LazyListState
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.outlined.Delete
|
||||
import androidx.compose.material3.Icon
|
||||
@@ -12,11 +13,14 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import eu.kanade.presentation.components.ExtendedFloatingActionButton
|
||||
import eu.kanade.presentation.util.isScrolledToEnd
|
||||
import eu.kanade.presentation.util.isScrollingUp
|
||||
import eu.kanade.tachiyomi.R
|
||||
|
||||
@Composable
|
||||
fun ClearDatabaseFloatingActionButton(
|
||||
isVisible: Boolean,
|
||||
lazyListState: LazyListState,
|
||||
onClickDelete: () -> Unit,
|
||||
) {
|
||||
AnimatedVisibility(
|
||||
@@ -33,6 +37,7 @@ fun ClearDatabaseFloatingActionButton(
|
||||
Icon(Icons.Outlined.Delete, contentDescription = "")
|
||||
},
|
||||
onClick = onClickDelete,
|
||||
expanded = lazyListState.isScrollingUp() || lazyListState.isScrolledToEnd(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user