diff --git a/app/src/main/java/eu/kanade/domain/ui/UiPreferences.kt b/app/src/main/java/eu/kanade/domain/ui/UiPreferences.kt index b32041798949..237ed9326651 100644 --- a/app/src/main/java/eu/kanade/domain/ui/UiPreferences.kt +++ b/app/src/main/java/eu/kanade/domain/ui/UiPreferences.kt @@ -38,6 +38,8 @@ class UiPreferences( fun expandFilters() = preferenceStore.getBoolean("eh_expand_filters", false) + fun hideFeedTab() = preferenceStore.getBoolean("hide_latest_tab", false) + fun feedTabInFront() = preferenceStore.getBoolean("latest_tab_position", false) fun recommendsInOverflow() = preferenceStore.getBoolean("recommends_in_overflow", false) diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt index 0fdb3e44562c..b528fd2cd734 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt @@ -4,10 +4,12 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.ReadOnlyComposable import androidx.compose.runtime.getValue import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.platform.LocalContext import androidx.fragment.app.FragmentActivity import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.preference.asState import eu.kanade.domain.source.service.SourcePreferences import eu.kanade.domain.ui.UiPreferences import eu.kanade.presentation.more.settings.Preference @@ -40,6 +42,8 @@ object SettingsBrowseScreen : SearchableSettings { val reposCount by sourcePreferences.extensionRepos().collectAsState() // SY --> + val scope = rememberCoroutineScope() + val hideFeedTab by remember { Injekt.get().hideFeedTab().asState(scope) } val uiPreferences = remember { Injekt.get() } val unsortedPreferences = remember { Injekt.get() } // SY <-- @@ -78,10 +82,15 @@ object SettingsBrowseScreen : SearchableSettings { Preference.PreferenceGroup( title = stringResource(SYMR.strings.feed), preferenceItems = persistentListOf( + Preference.PreferenceItem.SwitchPreference( + pref = uiPreferences.hideFeedTab(), + title = stringResource(SYMR.strings.pref_hide_feed), + ), Preference.PreferenceItem.SwitchPreference( pref = uiPreferences.feedTabInFront(), title = stringResource(SYMR.strings.pref_feed_position), subtitle = stringResource(SYMR.strings.pref_feed_position_summery), + enabled = hideFeedTab.not() ), ), ), diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.kt index ec9daa07cf93..20c9e79d6a60 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.kt @@ -57,9 +57,8 @@ data class BrowseTab( val context = LocalContext.current val scope = rememberCoroutineScope() // SY --> - val feedTabInFront by remember { - Injekt.get().feedTabInFront().asState(scope) - } + val hideFeedTab by remember { Injekt.get().hideFeedTab().asState(scope) } + val feedTabInFront by remember { Injekt.get().feedTabInFront().asState(scope) } // SY <-- // Hoisted for extensions tab's search bar @@ -69,7 +68,13 @@ data class BrowseTab( TabbedScreen( titleRes = MR.strings.browse, // SY --> - tabs = if (feedTabInFront) { + tabs = if (hideFeedTab) { + persistentListOf( + sourcesTab(), + extensionsTab(extensionsScreenModel), + migrateSourceTab(), + ) + } else if (feedTabInFront) { persistentListOf( feedTab(), sourcesTab(), diff --git a/i18n-sy/src/commonMain/resources/MR/base/strings.xml b/i18n-sy/src/commonMain/resources/MR/base/strings.xml index 03cbe40554c4..5b53deabe0b1 100644 --- a/i18n-sy/src/commonMain/resources/MR/base/strings.xml +++ b/i18n-sy/src/commonMain/resources/MR/base/strings.xml @@ -184,6 +184,7 @@ Launch category updates all the time + Hide Feed tab Feed tab position Do you want the feed tab to be the first tab in browse? This will make it the default tab when opening browse, not recommended if you\'re on data or a metered network Filter sources in categories