From f594589736d7da6130c08a38e8c66a80ae99c620 Mon Sep 17 00:00:00 2001 From: davotoula Date: Sat, 9 May 2026 21:27:29 +0200 Subject: [PATCH] Code review: refactor(discover): restore exhaustive when in DiscoverTab.toTabIndex refactor(discover): collapse DiscoverTab.toTabIndex to ordinal and drop redundant pager guards --- .../amethyst/ui/screen/loggedIn/discover/DiscoverScreen.kt | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/discover/DiscoverScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/discover/DiscoverScreen.kt index 25303ee15..ac83a79bd 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/discover/DiscoverScreen.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/discover/DiscoverScreen.kt @@ -189,10 +189,7 @@ fun DiscoverScreen( val pagerState = rememberForeverPagerState(key = PagerStateKeys.DISCOVER_SCREEN) { feedTabs.size } LaunchedEffect(initialTab) { - val target = initialTab?.toTabIndex() ?: return@LaunchedEffect - if (target in feedTabs.indices && pagerState.currentPage != target) { - pagerState.scrollToPage(target) - } + initialTab?.let { pagerState.scrollToPage(it.toTabIndex()) } } WatchAccountForDiscoveryScreen( @@ -538,7 +535,7 @@ private fun DiscoverFeedColumnsLoaded( } } -// Tab positions match the order built in DiscoverScreen above. Update both together. +// Exhaustive on DiscoverTab so adding a new enum value forces an update of feedTabs above. private fun DiscoverTab.toTabIndex(): Int = when (this) { DiscoverTab.FOLLOWS -> 0