fix: 隐藏首页动态入口失效

This commit is contained in:
HuanCheng65 2023-07-23 22:23:47 +08:00
parent fed1b0c284
commit 9cc4d7ec8d
No known key found for this signature in database
GPG Key ID: 5EC9DD60A32C7360
1 changed files with 59 additions and 51 deletions

View File

@ -122,15 +122,21 @@ fun MainPage(
} }
} }
val pagerState = rememberPagerState()
val hideExplore by rememberPreferenceAsState( val hideExplore by rememberPreferenceAsState(
key = booleanPreferencesKey("hideExplore"), key = booleanPreferencesKey("hideExplore"),
defaultValue = false defaultValue = LocalContext.current.appPreferences.hideExplore
) )
val pagerState = rememberPagerState() LaunchedEffect(hideExplore) {
if (pagerState.currentPage == 3 && hideExplore) {
pagerState.scrollToPage(2)
}
}
val coroutineScope = rememberCoroutineScope() val coroutineScope = rememberCoroutineScope()
val themeColors = ExtendedTheme.colors val themeColors = ExtendedTheme.colors
val navigationItems = remember(messageCount) { val navigationItems by remember {
derivedStateOf {
listOfNotNull( listOfNotNull(
NavigationItem( NavigationItem(
id = "home", id = "home",
@ -181,6 +187,8 @@ fun MainPage(
), ),
).toImmutableList() ).toImmutableList()
} }
}
val pageCount by remember { derivedStateOf { navigationItems.size } }
val navigationType by remember { val navigationType by remember {
derivedStateOf { derivedStateOf {
@ -262,7 +270,7 @@ fun MainPage(
) { paddingValues -> ) { paddingValues ->
LazyLoadHorizontalPager( LazyLoadHorizontalPager(
contentPadding = paddingValues, contentPadding = paddingValues,
pageCount = navigationItems.size, pageCount = pageCount,
state = pagerState, state = pagerState,
key = { navigationItems[it].id }, key = { navigationItems[it].id },
modifier = Modifier.fillMaxSize(), modifier = Modifier.fillMaxSize(),