123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package eu.kanade.presentation.browse
- import androidx.compose.material3.SnackbarHostState
- import androidx.compose.runtime.Composable
- import androidx.compose.runtime.getValue
- import androidx.compose.runtime.remember
- import androidx.compose.ui.platform.LocalUriHandler
- import androidx.paging.compose.collectAsLazyPagingItems
- import eu.kanade.domain.manga.model.Manga
- import eu.kanade.presentation.browse.components.BrowseLatestToolbar
- import eu.kanade.presentation.components.Scaffold
- import eu.kanade.tachiyomi.source.LocalSource
- import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourcePresenter
- import eu.kanade.tachiyomi.ui.more.MoreController
- @Composable
- fun BrowseLatestScreen(
- presenter: BrowseSourcePresenter,
- navigateUp: () -> Unit,
- onMangaClick: (Manga) -> Unit,
- onMangaLongClick: (Manga) -> Unit,
- onWebViewClick: () -> Unit,
- ) {
- val columns by presenter.getColumnsPreferenceForCurrentOrientation()
- val uriHandler = LocalUriHandler.current
- val onHelpClick = {
- uriHandler.openUri(LocalSource.HELP_URL)
- }
- Scaffold(
- topBar = { scrollBehavior ->
- BrowseLatestToolbar(
- navigateUp = navigateUp,
- source = presenter.source!!,
- displayMode = presenter.displayMode,
- onDisplayModeChange = { presenter.displayMode = it },
- onHelpClick = onHelpClick,
- onWebViewClick = onWebViewClick,
- scrollBehavior = scrollBehavior,
- )
- },
- ) { paddingValues ->
- BrowseSourceContent(
- source = presenter.source,
- mangaList = presenter.getMangaList().collectAsLazyPagingItems(),
- getMangaState = { presenter.getManga(it) },
- columns = columns,
- displayMode = presenter.displayMode,
- snackbarHostState = remember { SnackbarHostState() },
- contentPadding = paddingValues,
- onWebViewClick = onWebViewClick,
- onHelpClick = { uriHandler.openUri(MoreController.URL_HELP) },
- onLocalSourceHelpClick = onHelpClick,
- onMangaClick = onMangaClick,
- onMangaLongClick = onMangaLongClick,
- )
- }
- }
|