Skip to content

Commit 6d18ad5

Browse files
committed
fix: move TabBar to top layer
1 parent bd4295c commit 6d18ad5

File tree

2 files changed

+39
-11
lines changed

2 files changed

+39
-11
lines changed

app/src/main/java/to/bitkit/ui/ContentView.kt

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package to.bitkit.ui
22

33
import android.content.Intent
4+
import androidx.compose.animation.AnimatedVisibility
45
import androidx.compose.foundation.layout.Box
56
import androidx.compose.foundation.layout.fillMaxSize
7+
import androidx.compose.foundation.layout.fillMaxWidth
68
import androidx.compose.material3.DrawerState
79
import androidx.compose.material3.DrawerValue
810
import androidx.compose.material3.rememberDrawerState
@@ -20,6 +22,7 @@ import androidx.compose.runtime.setValue
2022
import androidx.compose.ui.Alignment
2123
import androidx.compose.ui.Modifier
2224
import androidx.compose.ui.platform.LocalContext
25+
import androidx.compose.ui.zIndex
2326
import androidx.core.net.toUri
2427
import androidx.hilt.navigation.compose.hiltViewModel
2528
import androidx.lifecycle.Lifecycle
@@ -33,8 +36,10 @@ import androidx.navigation.NavHostController
3336
import androidx.navigation.NavOptions
3437
import androidx.navigation.compose.NavHost
3538
import androidx.navigation.compose.composable
39+
import androidx.navigation.compose.currentBackStackEntryAsState
3640
import androidx.navigation.compose.rememberNavController
3741
import androidx.navigation.toRoute
42+
import dev.chrisbanes.haze.rememberHazeState
3843
import kotlinx.coroutines.delay
3944
import kotlinx.coroutines.launch
4045
import kotlinx.serialization.Serializable
@@ -48,6 +53,7 @@ import to.bitkit.ui.components.AuthCheckScreen
4853
import to.bitkit.ui.components.DrawerMenu
4954
import to.bitkit.ui.components.Sheet
5055
import to.bitkit.ui.components.SheetHost
56+
import to.bitkit.ui.components.TabBar
5157
import to.bitkit.ui.components.TimedSheetType
5258
import to.bitkit.ui.onboarding.InitializingWalletView
5359
import to.bitkit.ui.onboarding.WalletRestoreErrorView
@@ -88,6 +94,7 @@ import to.bitkit.ui.screens.transfer.external.LnurlChannelScreen
8894
import to.bitkit.ui.screens.wallets.HomeNav
8995
import to.bitkit.ui.screens.wallets.activity.ActivityDetailScreen
9096
import to.bitkit.ui.screens.wallets.activity.ActivityExploreScreen
97+
import to.bitkit.ui.screens.wallets.activity.AllActivityScreen
9198
import to.bitkit.ui.screens.wallets.activity.AllActivityScreenWithTabBar
9299
import to.bitkit.ui.screens.wallets.activity.DateRangeSelectorSheet
93100
import to.bitkit.ui.screens.wallets.activity.TagSelectorSheet
@@ -358,6 +365,8 @@ fun ContentView(
358365
val hasSeenShopIntro by settingsViewModel.hasSeenShopIntro.collectAsStateWithLifecycle()
359366

360367
val currentSheet by appViewModel.currentSheet.collectAsStateWithLifecycle()
368+
val hazeState = rememberHazeState()
369+
361370
Box(
362371
modifier = Modifier.fillMaxSize()
363372
) {
@@ -454,6 +463,29 @@ fun ContentView(
454463
)
455464
}
456465

466+
val navBackStackEntry by navController.currentBackStackEntryAsState()
467+
468+
val currentRoute = navBackStackEntry?.destination?.route
469+
470+
val showTabBar = currentRoute in listOf(
471+
Routes.Home::class.qualifiedName,
472+
Routes.AllActivity::class.qualifiedName,
473+
)
474+
475+
AnimatedVisibility(
476+
visible = showTabBar && currentSheet == null,
477+
modifier = Modifier
478+
.fillMaxWidth()
479+
.align(Alignment.BottomCenter)
480+
) {
481+
TabBar(
482+
hazeState = hazeState,
483+
onSendClick = { appViewModel.showSheet(Sheet.Send()) },
484+
onReceiveClick = { appViewModel.showSheet(Sheet.Receive) },
485+
onScanClick = { navController.navigateToScanner() },
486+
)
487+
}
488+
457489
DrawerMenu(
458490
drawerState = drawerState,
459491
walletNavController = walletNavController,
@@ -493,7 +525,6 @@ private fun RootNavHost(
493525
)
494526
allActivity(
495527
activityListViewModel = activityListViewModel,
496-
appViewModel = appViewModel,
497528
navController = navController,
498529
)
499530
settings(navController, settingsViewModel)
@@ -767,18 +798,15 @@ private fun NavGraphBuilder.home(
767798

768799
private fun NavGraphBuilder.allActivity(
769800
activityListViewModel: ActivityListViewModel,
770-
appViewModel: AppViewModel,
771801
navController: NavHostController,
772802
) {
773803
composableWithDefaultTransitions<Routes.AllActivity> {
774-
AllActivityScreenWithTabBar(
804+
AllActivityScreen(
775805
viewModel = activityListViewModel,
776-
appViewModel = appViewModel,
777806
onBack = {
778807
activityListViewModel.clearFilters()
779808
navController.navigateToHome()
780809
},
781-
onScanClick = { navController.navigateToScanner() },
782810
onActivityItemClick = { id -> navController.navigateToActivityItem(id) },
783811
)
784812
}

app/src/main/java/to/bitkit/ui/screens/wallets/HomeNav.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,12 @@ fun HomeNav(
7575
)
7676
}
7777

78-
TabBar(
79-
hazeState = hazeState,
80-
onSendClick = { appViewModel.showSheet(Sheet.Send()) },
81-
onReceiveClick = { appViewModel.showSheet(Sheet.Receive) },
82-
onScanClick = { rootNavController.navigateToScanner() },
83-
)
78+
// TabBar(
79+
// hazeState = hazeState,
80+
// onSendClick = { appViewModel.showSheet(Sheet.Send()) },
81+
// onReceiveClick = { appViewModel.showSheet(Sheet.Receive) },
82+
// onScanClick = { rootNavController.navigateToScanner() },
83+
// )
8484
}
8585
}
8686

0 commit comments

Comments
 (0)