Skip to content

Commit f200e80

Browse files
committed
fix(scanner): hide() any open sheets before handling cash links
Signed-off-by: Brandon McAnsh <git@bmcreations.dev>
1 parent 80917c9 commit f200e80

2 files changed

Lines changed: 11 additions & 2 deletions

File tree

  • apps/flipcash/features/scanner/src/main/kotlin/com/flipcash/app/scanner/internal
  • ui/navigation/src/main/kotlin/com/getcode/navigation/core

apps/flipcash/features/scanner/src/main/kotlin/com/flipcash/app/scanner/internal/Scanner.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,9 @@ internal fun Scanner() {
117117
if (deeplink != null) {
118118
vibrator.vibrate(duration = 50)
119119
when (deeplink) {
120-
is DeeplinkType.CashLink -> session.openCashLink(deeplink.entropy)
120+
is DeeplinkType.CashLink -> {
121+
session.openCashLink(deeplink.entropy)
122+
}
121123
is DeeplinkType.Navigatable -> {
122124
val routes = when (deeplink) {
123125
is DeeplinkType.TokenInfo -> listOf(

ui/navigation/src/main/kotlin/com/getcode/navigation/core/CodeNavigator.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import androidx.compose.runtime.snapshots.Snapshot
1111
import androidx.compose.runtime.staticCompositionLocalOf
1212
import androidx.navigation3.runtime.NavBackStack
1313
import androidx.navigation3.runtime.NavKey
14+
import com.getcode.navigation.Sheet
1415
import com.getcode.navigation.results.NavResultStateRegistry
1516
import com.getcode.navigation.results.NavResultStore
1617
import com.getcode.navigation.results.NavResultStoreImpl
@@ -207,7 +208,13 @@ data class CodeNavigator(
207208
}
208209

209210
/** Hide/dismiss a sheet (pops the current route). */
210-
fun hide() = onRootReached()
211+
fun hide() {
212+
val isSheetOpen = backStack.any { it is Sheet }
213+
if (isSheetOpen) {
214+
navigateBack()
215+
}
216+
onRootReached()
217+
}
211218

212219
/** Replace the current route with a new one. */
213220
fun replace(route: NavKey) = navigate(route, NavOptions(popUpTo = NavOptions.PopUpTo.PopLast))

0 commit comments

Comments
 (0)