Skip to content

Commit eabe2c0

Browse files
committed
Merge branch 'feat/nav3' into fix/uniffy-timed-sheet-behavior
2 parents a110582 + 6059092 commit eabe2c0

File tree

7 files changed

+18
-16
lines changed

7 files changed

+18
-16
lines changed

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import kotlinx.coroutines.delay
3232
import to.bitkit.models.NodeLifecycleState
3333
import to.bitkit.ui.components.DrawerMenu
3434
import to.bitkit.ui.components.TabBar
35+
import to.bitkit.ui.nav.MS_NAV_DELAY
3536
import to.bitkit.ui.nav.Navigator
3637
import to.bitkit.ui.nav.Routes
3738
import to.bitkit.ui.nav.SheetSceneStrategy
@@ -45,6 +46,7 @@ import to.bitkit.ui.onboarding.InitializingWalletView
4546
import to.bitkit.ui.onboarding.WalletRestoreErrorView
4647
import to.bitkit.ui.onboarding.WalletRestoreSuccessView
4748
import to.bitkit.ui.settings.lightning.LightningConnectionsViewModel
49+
import to.bitkit.ui.utils.AutoReadClipboardHandler
4850
import to.bitkit.utils.Logger
4951
import to.bitkit.viewmodels.ActivityListViewModel
5052
import to.bitkit.viewmodels.AppViewModel
@@ -126,10 +128,9 @@ fun ContentView(
126128
when (it) {
127129
is MainScreenEffect.Navigate -> navigator.navigate(it.route)
128130
is MainScreenEffect.ProcessClipboardAutoRead -> {
129-
val isOnHome = backStack.lastOrNull() is Routes.Home
130-
if (!isOnHome) {
131+
if (!navigator.isAtHome()) {
131132
navigator.navigateToHome()
132-
delay(100)
133+
delay(MS_NAV_DELAY)
133134
}
134135
appViewModel.onScanResult(it.data)
135136
}
@@ -249,6 +250,8 @@ fun ContentView(
249250
val hasSeenWidgetsIntro by settingsViewModel.hasSeenWidgetsIntro.collectAsStateWithLifecycle()
250251
val hasSeenShopIntro by settingsViewModel.hasSeenShopIntro.collectAsStateWithLifecycle()
251252

253+
AutoReadClipboardHandler()
254+
252255
Box(modifier = modifier.fillMaxSize()) {
253256
Box(modifier = Modifier.fillMaxSize()) {
254257
NavDisplay(

app/src/main/java/to/bitkit/ui/nav/Navigator.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package to.bitkit.ui.nav
22

3+
import androidx.compose.animation.core.AnimationConstants
34
import androidx.compose.runtime.Stable
45
import androidx.navigation3.runtime.NavBackStack
56
import androidx.navigation3.runtime.NavKey
67

78
@Stable
89
class Navigator(@PublishedApi internal val backStack: NavBackStack<NavKey>) {
9-
1010
fun navigate(route: Routes) = run { backStack.add(route) }
1111

1212
fun goBack(): Boolean = backStack.removeLastOrNull() != null
@@ -54,3 +54,6 @@ class Navigator(@PublishedApi internal val backStack: NavBackStack<NavKey>) {
5454
if (hasSeenIntro) Routes.QuickPaySettings else Routes.QuickPayIntro
5555
)
5656
}
57+
58+
const val MS_NAV_DELAY = 100L
59+
const val MS_TRANSITION_SCREEN = AnimationConstants.DefaultDurationMillis.toLong() // 300ms

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import to.bitkit.ui.shared.modifiers.sheetHeight
3737
import to.bitkit.ui.shared.util.gradientBackground
3838
import to.bitkit.ui.theme.AppThemeSurface
3939
import to.bitkit.ui.theme.Colors
40-
import to.bitkit.ui.theme.TRANSITION_SCREEN_MS
40+
import to.bitkit.ui.nav.MS_TRANSITION_SCREEN
4141
import to.bitkit.viewmodels.AddTagUiState
4242
import to.bitkit.viewmodels.TagsViewModel
4343

@@ -81,7 +81,7 @@ fun AddTagContent(
8181
val focusRequester = remember { FocusRequester() }
8282
LaunchedEffect(focusOnShow) {
8383
if (focusOnShow) {
84-
delay(TRANSITION_SCREEN_MS)
84+
delay(MS_TRANSITION_SCREEN)
8585
focusRequester.requestFocus()
8686
}
8787
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import to.bitkit.ui.shared.util.gradientBackground
3333
import to.bitkit.ui.theme.AppTextStyles
3434
import to.bitkit.ui.theme.AppThemeSurface
3535
import to.bitkit.ui.theme.Colors
36-
import to.bitkit.ui.theme.TRANSITION_SCREEN_MS
36+
import to.bitkit.ui.nav.MS_TRANSITION_SCREEN
3737
import to.bitkit.viewmodels.SendEvent
3838
import to.bitkit.viewmodels.SendUiState
3939

@@ -46,7 +46,7 @@ fun SendAddressScreen(
4646
) {
4747
val focusRequester = remember { FocusRequester() }
4848
LaunchedEffect(Unit) {
49-
delay(TRANSITION_SCREEN_MS)
49+
delay(MS_TRANSITION_SCREEN)
5050
focusRequester.requestFocus()
5151
}
5252
Column(

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ import to.bitkit.ui.shared.util.gradientBackground
7575
import to.bitkit.ui.theme.AppThemeSurface
7676
import to.bitkit.ui.theme.Colors
7777
import to.bitkit.ui.theme.Shapes
78-
import to.bitkit.ui.theme.TRANSITION_SCREEN_MS
78+
import to.bitkit.ui.nav.MS_TRANSITION_SCREEN
7979
import to.bitkit.ui.utils.withAccent
8080
import to.bitkit.utils.Logger
8181
import to.bitkit.viewmodels.SendEvent
@@ -150,7 +150,7 @@ fun SendRecipientScreen(
150150
LaunchedEffect(cameraPermissionState.status, isCameraInitialized) {
151151
if (cameraPermissionState.status.isGranted && !isCameraInitialized) {
152152
runCatching {
153-
delay(TRANSITION_SCREEN_MS)
153+
delay(MS_TRANSITION_SCREEN)
154154
imageAnalysis.setAnalyzer(executor, analyzer)
155155

156156
val cameraProvider = withContext(Dispatchers.IO) {

app/src/main/java/to/bitkit/ui/settings/backups/ShowMnemonicScreen.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ import to.bitkit.ui.shared.modifiers.sheetHeight
5252
import to.bitkit.ui.shared.util.gradientBackground
5353
import to.bitkit.ui.theme.AppThemeSurface
5454
import to.bitkit.ui.theme.Colors
55-
import to.bitkit.ui.theme.TRANSITION_SCREEN_MS
55+
import to.bitkit.ui.nav.MS_TRANSITION_SCREEN
5656
import to.bitkit.ui.utils.withAccent
5757

5858
@Composable
@@ -97,7 +97,7 @@ private fun ShowMnemonicContent(
9797
// Scroll to bottom when mnemonic is revealed
9898
LaunchedEffect(showMnemonic) {
9999
if (showMnemonic) {
100-
delay(TRANSITION_SCREEN_MS) // Wait for the animation to start
100+
delay(MS_TRANSITION_SCREEN) // Wait for the animation to start
101101
scope.launch {
102102
scrollState.animateScrollTo(scrollState.maxValue)
103103
}

app/src/main/java/to/bitkit/ui/theme/Defaults.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package to.bitkit.ui.theme
22

3-
import androidx.compose.animation.core.AnimationConstants
43
import androidx.compose.foundation.layout.WindowInsets
54
import androidx.compose.foundation.layout.asPaddingValues
65
import androidx.compose.foundation.layout.navigationBars
@@ -112,9 +111,6 @@ object AppSwitchDefaults {
112111
)
113112
}
114113

115-
const val TRANSITION_SCREEN_MS = AnimationConstants.DefaultDurationMillis.toLong() // 300ms
116-
const val TRANSITION_SHEET_MS = 650L
117-
118114
object Insets {
119115
val Top: Dp
120116
@Composable

0 commit comments

Comments
 (0)