mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-03 23:58:55 +01:00 
			
		
		
		
	Switch back to upstream version of Voyager
This commit is contained in:
		@@ -16,6 +16,7 @@ import androidx.compose.ui.unit.Dp
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import androidx.compose.ui.window.Dialog
 | 
			
		||||
import androidx.compose.ui.window.DialogProperties
 | 
			
		||||
import cafe.adriel.voyager.core.annotation.InternalVoyagerApi
 | 
			
		||||
import cafe.adriel.voyager.core.lifecycle.DisposableEffectIgnoringConfiguration
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.Navigator
 | 
			
		||||
@@ -23,6 +24,7 @@ import cafe.adriel.voyager.transitions.ScreenTransition
 | 
			
		||||
import eu.kanade.presentation.util.isTabletUi
 | 
			
		||||
import tachiyomi.presentation.core.components.AdaptiveSheet as AdaptiveSheetImpl
 | 
			
		||||
 | 
			
		||||
@OptIn(InternalVoyagerApi::class)
 | 
			
		||||
@Composable
 | 
			
		||||
fun NavigatorAdaptiveSheet(
 | 
			
		||||
    screen: Screen,
 | 
			
		||||
 
 | 
			
		||||
@@ -14,6 +14,7 @@ import androidx.compose.ui.platform.LocalContext
 | 
			
		||||
import androidx.compose.ui.platform.LocalUriHandler
 | 
			
		||||
import androidx.compose.ui.res.stringResource
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import compose.icons.SimpleIcons
 | 
			
		||||
@@ -27,7 +28,6 @@ import eu.kanade.presentation.components.AppBar
 | 
			
		||||
import eu.kanade.presentation.more.LogoHeader
 | 
			
		||||
import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
 | 
			
		||||
import eu.kanade.presentation.util.LocalBackPress
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.BuildConfig
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import eu.kanade.tachiyomi.data.updater.AppUpdateChecker
 | 
			
		||||
@@ -53,7 +53,7 @@ import java.text.SimpleDateFormat
 | 
			
		||||
import java.util.Locale
 | 
			
		||||
import java.util.TimeZone
 | 
			
		||||
 | 
			
		||||
object AboutScreen : Screen() {
 | 
			
		||||
object AboutScreen : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -30,12 +30,12 @@ import androidx.compose.ui.util.fastMap
 | 
			
		||||
import cafe.adriel.voyager.core.model.StateScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.model.coroutineScope
 | 
			
		||||
import cafe.adriel.voyager.core.model.rememberScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.browse.components.SourceIcon
 | 
			
		||||
import eu.kanade.presentation.components.AppBar
 | 
			
		||||
import eu.kanade.presentation.components.AppBarActions
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import eu.kanade.tachiyomi.util.system.toast
 | 
			
		||||
import kotlinx.coroutines.flow.collectLatest
 | 
			
		||||
@@ -56,7 +56,7 @@ import tachiyomi.presentation.core.util.selectedBackground
 | 
			
		||||
import uy.kohesive.injekt.Injekt
 | 
			
		||||
import uy.kohesive.injekt.api.get
 | 
			
		||||
 | 
			
		||||
class ClearDatabaseScreen : Screen() {
 | 
			
		||||
class ClearDatabaseScreen : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -5,16 +5,16 @@ import androidx.compose.material3.MaterialTheme
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.res.stringResource
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import com.mikepenz.aboutlibraries.ui.compose.LibrariesContainer
 | 
			
		||||
import com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults
 | 
			
		||||
import eu.kanade.presentation.components.AppBar
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import tachiyomi.presentation.core.components.material.Scaffold
 | 
			
		||||
 | 
			
		||||
class LicensesScreen : Screen() {
 | 
			
		||||
class LicensesScreen : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -41,6 +41,7 @@ import androidx.compose.ui.graphics.vector.ImageVector
 | 
			
		||||
import androidx.compose.ui.res.stringResource
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import androidx.core.graphics.ColorUtils
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.Navigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
@@ -48,13 +49,12 @@ import eu.kanade.presentation.components.AppBar
 | 
			
		||||
import eu.kanade.presentation.components.AppBarActions
 | 
			
		||||
import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
 | 
			
		||||
import eu.kanade.presentation.util.LocalBackPress
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import tachiyomi.presentation.core.components.LazyColumn
 | 
			
		||||
import tachiyomi.presentation.core.components.material.Scaffold
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen as VoyagerScreen
 | 
			
		||||
 | 
			
		||||
object SettingsMainScreen : Screen() {
 | 
			
		||||
object SettingsMainScreen : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -47,10 +47,10 @@ import androidx.compose.ui.text.input.ImeAction
 | 
			
		||||
import androidx.compose.ui.text.input.TextFieldValue
 | 
			
		||||
import androidx.compose.ui.text.style.TextOverflow
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.more.settings.Preference
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import eu.kanade.tachiyomi.util.system.isLTR
 | 
			
		||||
import tachiyomi.presentation.core.components.material.Divider
 | 
			
		||||
@@ -59,7 +59,7 @@ import tachiyomi.presentation.core.screens.EmptyScreen
 | 
			
		||||
import tachiyomi.presentation.core.util.runOnEnterKeyPressed
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen as VoyagerScreen
 | 
			
		||||
 | 
			
		||||
class SettingsSearchScreen : Screen() {
 | 
			
		||||
class SettingsSearchScreen : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -8,17 +8,17 @@ import androidx.compose.runtime.getValue
 | 
			
		||||
import androidx.compose.runtime.produceState
 | 
			
		||||
import androidx.compose.ui.platform.LocalContext
 | 
			
		||||
import androidx.profileinstaller.ProfileVerifier
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.more.settings.Preference
 | 
			
		||||
import eu.kanade.presentation.more.settings.PreferenceScaffold
 | 
			
		||||
import eu.kanade.presentation.more.settings.screen.AboutScreen
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import eu.kanade.tachiyomi.util.system.DeviceUtil
 | 
			
		||||
import kotlinx.coroutines.guava.await
 | 
			
		||||
 | 
			
		||||
object DebugInfoScreen : Screen() {
 | 
			
		||||
object DebugInfoScreen : Screen {
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
        val navigator = LocalNavigator.currentOrThrow
 | 
			
		||||
 
 | 
			
		||||
@@ -26,9 +26,9 @@ import androidx.work.WorkInfo
 | 
			
		||||
import androidx.work.WorkQuery
 | 
			
		||||
import cafe.adriel.voyager.core.model.ScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.model.rememberScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.presentation.util.ioCoroutineScope
 | 
			
		||||
import eu.kanade.tachiyomi.util.system.copyToClipboard
 | 
			
		||||
import eu.kanade.tachiyomi.util.system.workManager
 | 
			
		||||
@@ -39,7 +39,7 @@ import tachiyomi.presentation.core.components.LazyColumn
 | 
			
		||||
import tachiyomi.presentation.core.components.material.Scaffold
 | 
			
		||||
import tachiyomi.presentation.core.util.plus
 | 
			
		||||
 | 
			
		||||
object WorkerInfoScreen : Screen() {
 | 
			
		||||
object WorkerInfoScreen : Screen {
 | 
			
		||||
 | 
			
		||||
    const val title = "Worker info"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,9 +5,6 @@ import androidx.compose.runtime.ProvidableCompositionLocal
 | 
			
		||||
import androidx.compose.runtime.staticCompositionLocalOf
 | 
			
		||||
import cafe.adriel.voyager.core.model.ScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.model.ScreenModelStore
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.core.screen.ScreenKey
 | 
			
		||||
import cafe.adriel.voyager.core.screen.uniqueScreenKey
 | 
			
		||||
import cafe.adriel.voyager.core.stack.StackEvent
 | 
			
		||||
import cafe.adriel.voyager.navigator.Navigator
 | 
			
		||||
import cafe.adriel.voyager.transitions.ScreenTransition
 | 
			
		||||
@@ -29,13 +26,6 @@ interface Tab : cafe.adriel.voyager.navigator.tab.Tab {
 | 
			
		||||
    suspend fun onReselect(navigator: Navigator) {}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// TODO: this prevents crashes in nested navigators with transitions not being disposed
 | 
			
		||||
// properly. Go back to using vanilla Voyager Screens once fixed upstream.
 | 
			
		||||
abstract class Screen : Screen {
 | 
			
		||||
 | 
			
		||||
    override val key: ScreenKey = uniqueScreenKey
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * A variant of ScreenModel.coroutineScope except with the IO dispatcher instead of the
 | 
			
		||||
 * main dispatcher.
 | 
			
		||||
 
 | 
			
		||||
@@ -6,16 +6,16 @@ import androidx.compose.runtime.collectAsState
 | 
			
		||||
import androidx.compose.runtime.getValue
 | 
			
		||||
import androidx.compose.ui.platform.LocalContext
 | 
			
		||||
import cafe.adriel.voyager.core.model.rememberScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.browse.ExtensionFilterScreen
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import eu.kanade.tachiyomi.util.system.toast
 | 
			
		||||
import kotlinx.coroutines.flow.collectLatest
 | 
			
		||||
import tachiyomi.presentation.core.screens.LoadingScreen
 | 
			
		||||
 | 
			
		||||
class ExtensionFilterScreen : Screen() {
 | 
			
		||||
class ExtensionFilterScreen : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -7,16 +7,16 @@ import androidx.compose.runtime.getValue
 | 
			
		||||
import androidx.compose.ui.platform.LocalContext
 | 
			
		||||
import androidx.compose.ui.platform.LocalUriHandler
 | 
			
		||||
import cafe.adriel.voyager.core.model.rememberScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.browse.ExtensionDetailsScreen
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import kotlinx.coroutines.flow.collectLatest
 | 
			
		||||
import tachiyomi.presentation.core.screens.LoadingScreen
 | 
			
		||||
 | 
			
		||||
data class ExtensionDetailsScreen(
 | 
			
		||||
    private val pkgName: String,
 | 
			
		||||
) : Screen() {
 | 
			
		||||
) : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -35,9 +35,9 @@ import androidx.preference.PreferenceFragmentCompat
 | 
			
		||||
import androidx.preference.PreferenceScreen
 | 
			
		||||
import androidx.preference.forEach
 | 
			
		||||
import androidx.preference.getOnBindEditTextListener
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import eu.kanade.tachiyomi.data.preference.SharedPreferencesDataStore
 | 
			
		||||
import eu.kanade.tachiyomi.source.ConfigurableSource
 | 
			
		||||
@@ -48,7 +48,7 @@ import tachiyomi.presentation.core.components.material.Scaffold
 | 
			
		||||
import uy.kohesive.injekt.Injekt
 | 
			
		||||
import uy.kohesive.injekt.api.get
 | 
			
		||||
 | 
			
		||||
class SourcePreferencesScreen(val sourceId: Long) : Screen() {
 | 
			
		||||
class SourcePreferencesScreen(val sourceId: Long) : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -6,10 +6,10 @@ import androidx.compose.runtime.collectAsState
 | 
			
		||||
import androidx.compose.runtime.getValue
 | 
			
		||||
import androidx.compose.ui.platform.LocalContext
 | 
			
		||||
import cafe.adriel.voyager.core.model.rememberScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.browse.MigrateMangaScreen
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import eu.kanade.tachiyomi.ui.browse.migration.search.MigrateSearchScreen
 | 
			
		||||
import eu.kanade.tachiyomi.ui.manga.MangaScreen
 | 
			
		||||
@@ -19,7 +19,7 @@ import tachiyomi.presentation.core.screens.LoadingScreen
 | 
			
		||||
 | 
			
		||||
data class MigrationMangaScreen(
 | 
			
		||||
    private val sourceId: Long,
 | 
			
		||||
) : Screen() {
 | 
			
		||||
) : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -4,13 +4,13 @@ import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.runtime.collectAsState
 | 
			
		||||
import androidx.compose.runtime.getValue
 | 
			
		||||
import cafe.adriel.voyager.core.model.rememberScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.browse.MigrateSearchScreen
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.ui.manga.MangaScreen
 | 
			
		||||
 | 
			
		||||
class MigrateSearchScreen(private val mangaId: Long) : Screen() {
 | 
			
		||||
class MigrateSearchScreen(private val mangaId: Long) : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -17,11 +17,11 @@ import androidx.compose.ui.platform.LocalUriHandler
 | 
			
		||||
import androidx.compose.ui.res.stringResource
 | 
			
		||||
import androidx.paging.compose.collectAsLazyPagingItems
 | 
			
		||||
import cafe.adriel.voyager.core.model.rememberScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.browse.BrowseSourceContent
 | 
			
		||||
import eu.kanade.presentation.components.SearchToolbar
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import eu.kanade.tachiyomi.source.online.HttpSource
 | 
			
		||||
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreenModel
 | 
			
		||||
@@ -40,7 +40,7 @@ data class SourceSearchScreen(
 | 
			
		||||
    private val oldManga: Manga,
 | 
			
		||||
    private val sourceId: Long,
 | 
			
		||||
    private val query: String?,
 | 
			
		||||
) : Screen() {
 | 
			
		||||
) : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -6,15 +6,15 @@ import androidx.compose.runtime.collectAsState
 | 
			
		||||
import androidx.compose.runtime.getValue
 | 
			
		||||
import androidx.compose.ui.platform.LocalContext
 | 
			
		||||
import cafe.adriel.voyager.core.model.rememberScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.browse.SourcesFilterScreen
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import eu.kanade.tachiyomi.util.system.toast
 | 
			
		||||
import tachiyomi.presentation.core.screens.LoadingScreen
 | 
			
		||||
 | 
			
		||||
class SourcesFilterScreen : Screen() {
 | 
			
		||||
class SourcesFilterScreen : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -33,6 +33,7 @@ import androidx.compose.ui.platform.LocalUriHandler
 | 
			
		||||
import androidx.compose.ui.res.stringResource
 | 
			
		||||
import androidx.paging.compose.collectAsLazyPagingItems
 | 
			
		||||
import cafe.adriel.voyager.core.model.rememberScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.browse.BrowseSourceContent
 | 
			
		||||
@@ -42,7 +43,6 @@ import eu.kanade.presentation.browse.components.RemoveMangaDialog
 | 
			
		||||
import eu.kanade.presentation.category.components.ChangeCategoryDialog
 | 
			
		||||
import eu.kanade.presentation.manga.DuplicateMangaDialog
 | 
			
		||||
import eu.kanade.presentation.util.AssistContentScreen
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import eu.kanade.tachiyomi.source.CatalogueSource
 | 
			
		||||
import eu.kanade.tachiyomi.source.online.HttpSource
 | 
			
		||||
@@ -65,7 +65,7 @@ import tachiyomi.source.local.LocalSource
 | 
			
		||||
data class BrowseSourceScreen(
 | 
			
		||||
    private val sourceId: Long,
 | 
			
		||||
    private val listingQuery: String?,
 | 
			
		||||
) : Screen(), AssistContentScreen {
 | 
			
		||||
) : Screen, AssistContentScreen {
 | 
			
		||||
 | 
			
		||||
    private var assistUrl: String? = null
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -8,10 +8,10 @@ import androidx.compose.runtime.mutableStateOf
 | 
			
		||||
import androidx.compose.runtime.remember
 | 
			
		||||
import androidx.compose.runtime.setValue
 | 
			
		||||
import cafe.adriel.voyager.core.model.rememberScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.browse.GlobalSearchScreen
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreen
 | 
			
		||||
import eu.kanade.tachiyomi.ui.manga.MangaScreen
 | 
			
		||||
import tachiyomi.presentation.core.screens.LoadingScreen
 | 
			
		||||
@@ -19,7 +19,7 @@ import tachiyomi.presentation.core.screens.LoadingScreen
 | 
			
		||||
class GlobalSearchScreen(
 | 
			
		||||
    val searchQuery: String = "",
 | 
			
		||||
    private val extensionFilter: String = "",
 | 
			
		||||
) : Screen() {
 | 
			
		||||
) : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -6,18 +6,18 @@ import androidx.compose.runtime.collectAsState
 | 
			
		||||
import androidx.compose.runtime.getValue
 | 
			
		||||
import androidx.compose.ui.platform.LocalContext
 | 
			
		||||
import cafe.adriel.voyager.core.model.rememberScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.category.CategoryScreen
 | 
			
		||||
import eu.kanade.presentation.category.components.CategoryCreateDialog
 | 
			
		||||
import eu.kanade.presentation.category.components.CategoryDeleteDialog
 | 
			
		||||
import eu.kanade.presentation.category.components.CategoryRenameDialog
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.util.system.toast
 | 
			
		||||
import kotlinx.coroutines.flow.collectLatest
 | 
			
		||||
import tachiyomi.presentation.core.screens.LoadingScreen
 | 
			
		||||
 | 
			
		||||
class CategoryScreen : Screen() {
 | 
			
		||||
class CategoryScreen : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -44,11 +44,11 @@ import androidx.core.view.updateLayoutParams
 | 
			
		||||
import androidx.core.view.updatePadding
 | 
			
		||||
import androidx.recyclerview.widget.LinearLayoutManager
 | 
			
		||||
import cafe.adriel.voyager.core.model.rememberScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.components.AppBar
 | 
			
		||||
import eu.kanade.presentation.components.OverflowMenu
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import eu.kanade.tachiyomi.databinding.DownloadListBinding
 | 
			
		||||
import tachiyomi.core.util.lang.launchUI
 | 
			
		||||
@@ -58,7 +58,7 @@ import tachiyomi.presentation.core.components.material.Scaffold
 | 
			
		||||
import tachiyomi.presentation.core.screens.EmptyScreen
 | 
			
		||||
import kotlin.math.roundToInt
 | 
			
		||||
 | 
			
		||||
object DownloadQueueScreen : Screen() {
 | 
			
		||||
object DownloadQueueScreen : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -30,12 +30,12 @@ import androidx.compose.ui.semantics.contentDescription
 | 
			
		||||
import androidx.compose.ui.semantics.semantics
 | 
			
		||||
import androidx.compose.ui.text.style.TextOverflow
 | 
			
		||||
import androidx.compose.ui.util.fastForEach
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import cafe.adriel.voyager.navigator.tab.LocalTabNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.tab.TabNavigator
 | 
			
		||||
import eu.kanade.domain.source.service.SourcePreferences
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.presentation.util.isTabletUi
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import eu.kanade.tachiyomi.ui.browse.BrowseTab
 | 
			
		||||
@@ -59,7 +59,7 @@ import tachiyomi.presentation.core.components.material.Scaffold
 | 
			
		||||
import uy.kohesive.injekt.Injekt
 | 
			
		||||
import uy.kohesive.injekt.api.get
 | 
			
		||||
 | 
			
		||||
object HomeScreen : Screen() {
 | 
			
		||||
object HomeScreen : Screen {
 | 
			
		||||
 | 
			
		||||
    private val librarySearchEvent = Channel<String>()
 | 
			
		||||
    private val openTabEvent = Channel<Tab>()
 | 
			
		||||
 
 | 
			
		||||
@@ -17,6 +17,7 @@ import androidx.compose.ui.platform.LocalContext
 | 
			
		||||
import androidx.compose.ui.platform.LocalHapticFeedback
 | 
			
		||||
import androidx.core.net.toUri
 | 
			
		||||
import cafe.adriel.voyager.core.model.rememberScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.Navigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
@@ -31,7 +32,6 @@ import eu.kanade.presentation.manga.MangaScreen
 | 
			
		||||
import eu.kanade.presentation.manga.components.DeleteChaptersDialog
 | 
			
		||||
import eu.kanade.presentation.manga.components.MangaCoverDialog
 | 
			
		||||
import eu.kanade.presentation.util.AssistContentScreen
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.presentation.util.isTabletUi
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import eu.kanade.tachiyomi.source.Source
 | 
			
		||||
@@ -59,7 +59,7 @@ import tachiyomi.presentation.core.screens.LoadingScreen
 | 
			
		||||
class MangaScreen(
 | 
			
		||||
    private val mangaId: Long,
 | 
			
		||||
    val fromSource: Boolean = false,
 | 
			
		||||
) : Screen(), AssistContentScreen {
 | 
			
		||||
) : Screen, AssistContentScreen {
 | 
			
		||||
 | 
			
		||||
    private var assistUrl: String? = null
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -32,6 +32,7 @@ import cafe.adriel.voyager.core.model.ScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.model.StateScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.model.coroutineScope
 | 
			
		||||
import cafe.adriel.voyager.core.model.rememberScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.Navigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
@@ -45,7 +46,6 @@ import eu.kanade.presentation.track.TrackInfoDialogHome
 | 
			
		||||
import eu.kanade.presentation.track.TrackScoreSelector
 | 
			
		||||
import eu.kanade.presentation.track.TrackServiceSearch
 | 
			
		||||
import eu.kanade.presentation.track.TrackStatusSelector
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import eu.kanade.tachiyomi.data.track.EnhancedTrackService
 | 
			
		||||
import eu.kanade.tachiyomi.data.track.TrackManager
 | 
			
		||||
@@ -85,7 +85,7 @@ data class TrackInfoDialogHomeScreen(
 | 
			
		||||
    private val mangaId: Long,
 | 
			
		||||
    private val mangaTitle: String,
 | 
			
		||||
    private val sourceId: Long,
 | 
			
		||||
) : Screen() {
 | 
			
		||||
) : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
@@ -266,7 +266,7 @@ data class TrackInfoDialogHomeScreen(
 | 
			
		||||
private data class TrackStatusSelectorScreen(
 | 
			
		||||
    private val track: Track,
 | 
			
		||||
    private val serviceId: Long,
 | 
			
		||||
) : Screen() {
 | 
			
		||||
) : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
@@ -315,7 +315,7 @@ private data class TrackStatusSelectorScreen(
 | 
			
		||||
private data class TrackChapterSelectorScreen(
 | 
			
		||||
    private val track: Track,
 | 
			
		||||
    private val serviceId: Long,
 | 
			
		||||
) : Screen() {
 | 
			
		||||
) : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
@@ -370,7 +370,7 @@ private data class TrackChapterSelectorScreen(
 | 
			
		||||
private data class TrackScoreSelectorScreen(
 | 
			
		||||
    private val track: Track,
 | 
			
		||||
    private val serviceId: Long,
 | 
			
		||||
) : Screen() {
 | 
			
		||||
) : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
@@ -421,7 +421,7 @@ private data class TrackDateSelectorScreen(
 | 
			
		||||
    private val track: Track,
 | 
			
		||||
    private val serviceId: Long,
 | 
			
		||||
    private val start: Boolean,
 | 
			
		||||
) : Screen() {
 | 
			
		||||
) : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
@@ -530,7 +530,7 @@ private data class TrackDateRemoverScreen(
 | 
			
		||||
    private val track: Track,
 | 
			
		||||
    private val serviceId: Long,
 | 
			
		||||
    private val start: Boolean,
 | 
			
		||||
) : Screen() {
 | 
			
		||||
) : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
@@ -613,7 +613,7 @@ data class TrackServiceSearchScreen(
 | 
			
		||||
    private val initialQuery: String,
 | 
			
		||||
    private val currentUrl: String?,
 | 
			
		||||
    private val serviceId: Long,
 | 
			
		||||
) : Screen() {
 | 
			
		||||
) : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -3,10 +3,10 @@ package eu.kanade.tachiyomi.ui.more
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.runtime.remember
 | 
			
		||||
import androidx.compose.ui.platform.LocalContext
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.more.NewUpdateScreen
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.data.updater.AppUpdateService
 | 
			
		||||
import eu.kanade.tachiyomi.util.system.openInBrowser
 | 
			
		||||
 | 
			
		||||
@@ -15,7 +15,7 @@ class NewUpdateScreen(
 | 
			
		||||
    private val changelogInfo: String,
 | 
			
		||||
    private val releaseLink: String,
 | 
			
		||||
    private val downloadLink: String,
 | 
			
		||||
) : Screen() {
 | 
			
		||||
) : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,7 @@ import androidx.compose.foundation.layout.windowInsetsPadding
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.runtime.CompositionLocalProvider
 | 
			
		||||
import androidx.compose.ui.Modifier
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.Navigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
@@ -18,14 +19,13 @@ import eu.kanade.presentation.more.settings.screen.SettingsGeneralScreen
 | 
			
		||||
import eu.kanade.presentation.more.settings.screen.SettingsMainScreen
 | 
			
		||||
import eu.kanade.presentation.util.DefaultNavigatorScreenTransition
 | 
			
		||||
import eu.kanade.presentation.util.LocalBackPress
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.presentation.util.isTabletUi
 | 
			
		||||
import tachiyomi.presentation.core.components.TwoPanelBox
 | 
			
		||||
 | 
			
		||||
class SettingsScreen private constructor(
 | 
			
		||||
    val toBackup: Boolean,
 | 
			
		||||
    val toAbout: Boolean,
 | 
			
		||||
) : Screen() {
 | 
			
		||||
) : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -5,17 +5,17 @@ import androidx.compose.runtime.collectAsState
 | 
			
		||||
import androidx.compose.runtime.getValue
 | 
			
		||||
import androidx.compose.ui.res.stringResource
 | 
			
		||||
import cafe.adriel.voyager.core.model.rememberScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.components.AppBar
 | 
			
		||||
import eu.kanade.presentation.more.stats.StatsScreenContent
 | 
			
		||||
import eu.kanade.presentation.more.stats.StatsScreenState
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import tachiyomi.presentation.core.components.material.Scaffold
 | 
			
		||||
import tachiyomi.presentation.core.screens.LoadingScreen
 | 
			
		||||
 | 
			
		||||
class StatsScreen : Screen() {
 | 
			
		||||
class StatsScreen : Screen {
 | 
			
		||||
 | 
			
		||||
    @Composable
 | 
			
		||||
    override fun Content() {
 | 
			
		||||
 
 | 
			
		||||
@@ -3,17 +3,17 @@ package eu.kanade.tachiyomi.ui.webview
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.ui.platform.LocalContext
 | 
			
		||||
import cafe.adriel.voyager.core.model.rememberScreenModel
 | 
			
		||||
import cafe.adriel.voyager.core.screen.Screen
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.util.AssistContentScreen
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.presentation.webview.WebViewScreenContent
 | 
			
		||||
 | 
			
		||||
class WebViewScreen(
 | 
			
		||||
    private val url: String,
 | 
			
		||||
    private val initialTitle: String? = null,
 | 
			
		||||
    private val sourceId: Long? = null,
 | 
			
		||||
) : Screen(), AssistContentScreen {
 | 
			
		||||
) : Screen, AssistContentScreen {
 | 
			
		||||
 | 
			
		||||
    private var assistUrl: String? = null
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user