feat: enhance swipe back functionality in OtherProfileScreen with pager state checks
This commit is contained in:
@@ -189,8 +189,10 @@ fun OtherProfileScreen(
|
||||
}
|
||||
val screenHeightDp = LocalConfiguration.current.screenHeightDp.dp
|
||||
val sharedPagerMinHeight = (screenHeightDp * 0.45f).coerceAtLeast(240.dp)
|
||||
LaunchedEffect(showImageViewer) {
|
||||
onSwipeBackEnabledChanged(!showImageViewer)
|
||||
val isPagerSwiping = pagerState.isScrollInProgress
|
||||
val isOnFirstPage = pagerState.currentPage == 0 && pagerState.currentPageOffsetFraction == 0f
|
||||
LaunchedEffect(showImageViewer, isPagerSwiping, isOnFirstPage) {
|
||||
onSwipeBackEnabledChanged(!showImageViewer && !isPagerSwiping && isOnFirstPage)
|
||||
}
|
||||
|
||||
val backgroundColor = if (isDarkTheme) Color(0xFF1A1A1A) else Color(0xFFFFFFFF)
|
||||
@@ -696,7 +698,7 @@ fun OtherProfileScreen(
|
||||
modifier = Modifier.fillMaxWidth().heightIn(min = sharedPagerMinHeight),
|
||||
beyondBoundsPageCount = 0,
|
||||
verticalAlignment = Alignment.Top,
|
||||
userScrollEnabled = false
|
||||
userScrollEnabled = true
|
||||
) { page ->
|
||||
Box(modifier = Modifier.fillMaxWidth(), contentAlignment = Alignment.TopStart) {
|
||||
OtherProfileSharedTabContent(
|
||||
|
||||
Reference in New Issue
Block a user