TP-83246 | fix | automatic scroll to top when coming back from home loans (#12491)
This commit is contained in:
committed by
GitHub
parent
1ae81cee37
commit
8aff63d96c
@@ -118,16 +118,31 @@ fun handleFabOnClick(selectedTabId: String, homeVM: HomeVM, homePageActivity: Ho
|
||||
)
|
||||
}
|
||||
|
||||
fun onTabClick(
|
||||
private fun onTabClick(
|
||||
selectedTabId: String,
|
||||
navController: NavController,
|
||||
sharedVM: SharedVM,
|
||||
tabId: String,
|
||||
) {
|
||||
if (selectedTabId == tabId && selectedTabId == BottomBarTabType.HOME.name) {
|
||||
sharedVM.resetScrollToTop(true, tabId)
|
||||
} else {
|
||||
updateTabSelection(
|
||||
selectedTabId = selectedTabId,
|
||||
navController = navController,
|
||||
sharedVM = sharedVM,
|
||||
tabId = tabId,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun updateTabSelection(
|
||||
selectedTabId: String,
|
||||
navController: NavController,
|
||||
sharedVM: SharedVM,
|
||||
tabId: String,
|
||||
isResetCall: Boolean = false
|
||||
) {
|
||||
if (selectedTabId == tabId && selectedTabId == BottomBarTabType.HOME.name) {
|
||||
sharedVM.resetScrollToTop(true, tabId)
|
||||
}
|
||||
if (selectedTabId != tabId || isResetCall) {
|
||||
navController.navigate(tabId) {
|
||||
navController.graph.startDestinationRoute?.let { route ->
|
||||
|
||||
@@ -47,7 +47,7 @@ import com.naviapp.home.compose.components.HomeScreenBottomSheet
|
||||
import com.naviapp.home.compose.home.navigation.HomePageNavHost
|
||||
import com.naviapp.home.compose.home.ui.dialog.HomeScreenDialog
|
||||
import com.naviapp.home.compose.home.ui.footer.HomeFooterRoot
|
||||
import com.naviapp.home.compose.home.ui.footer.utils.onTabClick
|
||||
import com.naviapp.home.compose.home.ui.footer.utils.updateTabSelection
|
||||
import com.naviapp.home.compose.model.InitiatePaymentFromComposeData
|
||||
import com.naviapp.home.compose.profile.ProfileScreen
|
||||
import com.naviapp.home.compose.profile.ProfileScreenShimmer
|
||||
@@ -95,7 +95,7 @@ fun HomePageActivityMainScreen(
|
||||
LaunchedEffect(key1 = Unit) {
|
||||
bottomNavBarVM.updateTabSelection.collect { updateTabSelection ->
|
||||
bottomNavBarVM.clearUpdateTabSelectionReplay()
|
||||
onTabClick(
|
||||
updateTabSelection(
|
||||
selectedTabId = selectedTabId,
|
||||
sharedVM = sharedVM,
|
||||
navController = navController,
|
||||
|
||||
Reference in New Issue
Block a user