TP-83246 | fix | automatic scroll to top when coming back from home loans (#12491)

This commit is contained in:
Soumya Ranjan Patra
2024-09-12 13:44:20 +05:30
committed by GitHub
parent 1ae81cee37
commit 8aff63d96c
2 changed files with 21 additions and 6 deletions

View File

@@ -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 ->

View File

@@ -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,