mirror of
https://github.com/tachiyomiorg/tachiyomi.git
synced 2024-07-01 05:26:02 +02:00
9c899e97a9
- Accept full URL as input instead, which allows for non-GitHub - Remove automatic CDN fallback in favor of adding that as an external repo if needed
62 lines
2.2 KiB
Kotlin
62 lines
2.2 KiB
Kotlin
@file:JvmName("ExtensionReposScreenKt")
|
|
|
|
package eu.kanade.presentation.more.settings.screen.browse.components
|
|
|
|
import androidx.compose.foundation.layout.PaddingValues
|
|
import androidx.compose.foundation.layout.padding
|
|
import androidx.compose.foundation.lazy.rememberLazyListState
|
|
import androidx.compose.material3.MaterialTheme
|
|
import androidx.compose.runtime.Composable
|
|
import androidx.compose.ui.Modifier
|
|
import eu.kanade.presentation.category.components.CategoryFloatingActionButton
|
|
import eu.kanade.presentation.components.AppBar
|
|
import eu.kanade.presentation.more.settings.screen.browse.RepoScreenState
|
|
import tachiyomi.i18n.MR
|
|
import tachiyomi.presentation.core.components.material.Scaffold
|
|
import tachiyomi.presentation.core.components.material.padding
|
|
import tachiyomi.presentation.core.components.material.topSmallPaddingValues
|
|
import tachiyomi.presentation.core.i18n.stringResource
|
|
import tachiyomi.presentation.core.screens.EmptyScreen
|
|
import tachiyomi.presentation.core.util.plus
|
|
|
|
@Composable
|
|
fun ExtensionReposScreen(
|
|
state: RepoScreenState.Success,
|
|
onClickCreate: () -> Unit,
|
|
onClickDelete: (String) -> Unit,
|
|
navigateUp: () -> Unit,
|
|
) {
|
|
val lazyListState = rememberLazyListState()
|
|
Scaffold(
|
|
topBar = { scrollBehavior ->
|
|
AppBar(
|
|
navigateUp = navigateUp,
|
|
title = stringResource(MR.strings.label_extension_repos),
|
|
scrollBehavior = scrollBehavior,
|
|
)
|
|
},
|
|
floatingActionButton = {
|
|
CategoryFloatingActionButton(
|
|
lazyListState = lazyListState,
|
|
onCreate = onClickCreate,
|
|
)
|
|
},
|
|
) { paddingValues ->
|
|
if (state.isEmpty) {
|
|
EmptyScreen(
|
|
MR.strings.information_empty_repos,
|
|
modifier = Modifier.padding(paddingValues),
|
|
)
|
|
return@Scaffold
|
|
}
|
|
|
|
ExtensionReposContent(
|
|
repos = state.repos,
|
|
lazyListState = lazyListState,
|
|
paddingValues = paddingValues + topSmallPaddingValues +
|
|
PaddingValues(horizontal = MaterialTheme.padding.medium),
|
|
onClickDelete = onClickDelete,
|
|
)
|
|
}
|
|
}
|