|
|
|
@ -3,6 +3,7 @@ package eu.kanade.presentation.more
|
|
|
|
|
import androidx.compose.foundation.layout.WindowInsets
|
|
|
|
|
import androidx.compose.foundation.layout.asPaddingValues
|
|
|
|
|
import androidx.compose.foundation.layout.navigationBars
|
|
|
|
|
import androidx.compose.foundation.layout.statusBarsPadding
|
|
|
|
|
import androidx.compose.material.icons.Icons
|
|
|
|
|
import androidx.compose.material.icons.outlined.CloudOff
|
|
|
|
|
import androidx.compose.material.icons.outlined.GetApp
|
|
|
|
@ -16,15 +17,16 @@ import androidx.compose.runtime.collectAsState
|
|
|
|
|
import androidx.compose.runtime.getValue
|
|
|
|
|
import androidx.compose.ui.Modifier
|
|
|
|
|
import androidx.compose.ui.graphics.vector.rememberVectorPainter
|
|
|
|
|
import androidx.compose.ui.input.nestedscroll.NestedScrollConnection
|
|
|
|
|
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
|
|
|
|
import androidx.compose.ui.platform.LocalUriHandler
|
|
|
|
|
import androidx.compose.ui.res.painterResource
|
|
|
|
|
import androidx.compose.ui.res.stringResource
|
|
|
|
|
import eu.kanade.presentation.components.AppBar
|
|
|
|
|
import eu.kanade.presentation.components.Divider
|
|
|
|
|
import eu.kanade.presentation.components.PreferenceRow
|
|
|
|
|
import eu.kanade.presentation.components.Scaffold
|
|
|
|
|
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
|
|
|
|
import eu.kanade.presentation.components.SwitchPreference
|
|
|
|
|
import eu.kanade.presentation.util.plus
|
|
|
|
|
import eu.kanade.presentation.util.quantityStringResource
|
|
|
|
|
import eu.kanade.tachiyomi.R
|
|
|
|
|
import eu.kanade.tachiyomi.ui.more.DownloadQueueState
|
|
|
|
@ -33,7 +35,6 @@ import eu.kanade.tachiyomi.ui.more.MorePresenter
|
|
|
|
|
|
|
|
|
|
@Composable
|
|
|
|
|
fun MoreScreen(
|
|
|
|
|
nestedScrollInterop: NestedScrollConnection,
|
|
|
|
|
presenter: MorePresenter,
|
|
|
|
|
onClickDownloadQueue: () -> Unit,
|
|
|
|
|
onClickCategories: () -> Unit,
|
|
|
|
@ -44,9 +45,18 @@ fun MoreScreen(
|
|
|
|
|
val uriHandler = LocalUriHandler.current
|
|
|
|
|
val downloadQueueState by presenter.downloadQueueState.collectAsState()
|
|
|
|
|
|
|
|
|
|
Scaffold(
|
|
|
|
|
modifier = Modifier.statusBarsPadding(),
|
|
|
|
|
topBar = {
|
|
|
|
|
AppBar(
|
|
|
|
|
title = stringResource(R.string.label_more),
|
|
|
|
|
downloadedOnlyMode = presenter.downloadedOnly.value,
|
|
|
|
|
incognitoMode = presenter.incognitoMode.value,
|
|
|
|
|
)
|
|
|
|
|
},
|
|
|
|
|
) { paddingValues ->
|
|
|
|
|
ScrollbarLazyColumn(
|
|
|
|
|
modifier = Modifier.nestedScroll(nestedScrollInterop),
|
|
|
|
|
contentPadding = WindowInsets.navigationBars.asPaddingValues(),
|
|
|
|
|
contentPadding = paddingValues + WindowInsets.navigationBars.asPaddingValues(),
|
|
|
|
|
) {
|
|
|
|
|
item {
|
|
|
|
|
LogoHeader()
|
|
|
|
@ -81,7 +91,13 @@ fun MoreScreen(
|
|
|
|
|
if (pending == 0) {
|
|
|
|
|
stringResource(R.string.paused)
|
|
|
|
|
} else {
|
|
|
|
|
"${stringResource(R.string.paused)} • ${quantityStringResource(R.plurals.download_queue_summary, pending, pending)}"
|
|
|
|
|
"${stringResource(R.string.paused)} • ${
|
|
|
|
|
quantityStringResource(
|
|
|
|
|
R.plurals.download_queue_summary,
|
|
|
|
|
pending,
|
|
|
|
|
pending,
|
|
|
|
|
)
|
|
|
|
|
}"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
is DownloadQueueState.Downloading -> {
|
|
|
|
@ -132,4 +148,5 @@ fun MoreScreen(
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|