File tree Expand file tree Collapse file tree 6 files changed +17
-15
lines changed
app/src/main/java/to/bitkit/ui Expand file tree Collapse file tree 6 files changed +17
-15
lines changed Original file line number Diff line number Diff line change @@ -7,7 +7,12 @@ import androidx.navigation3.runtime.NavKey
77
88@Stable
99class Navigator (@PublishedApi internal val backStack : NavBackStack <NavKey >) {
10- fun navigate (route : Routes ) = run { backStack.add(route) }
10+
11+ fun navigate (route : Routes ) {
12+ if (backStack.lastOrNull() != route) {
13+ backStack.add(route)
14+ }
15+ }
1116
1217 fun goBack (): Boolean = backStack.removeLastOrNull() != null
1318
@@ -50,9 +55,6 @@ class Navigator(@PublishedApi internal val backStack: NavBackStack<NavKey>) {
5055 else -> false
5156 }
5257
53- fun navigateToQuickPaySettings (hasSeenIntro : Boolean = true) = navigate(
54- if (hasSeenIntro) Routes .QuickPaySettings else Routes .QuickPayIntro
55- )
5658}
5759
5860const val MS_NAV_DELAY = 100L
Original file line number Diff line number Diff line change @@ -13,7 +13,7 @@ class SheetSceneStrategy<T : Any> : SceneStrategy<T> {
1313
1414 override fun SceneStrategyScope<T>.calculateScene (entries : List <NavEntry <T >>): Scene <T >? {
1515 val lastEntry = entries.lastOrNull()
16- val sheetProperties = lastEntry?.metadata?.get(SHEET_KEY ) as ? SheetProperties
16+ val sheetProperties = lastEntry?.metadata?.get(KEY_SHEET ) as ? SheetProperties
1717 return sheetProperties?.let { props ->
1818 @Suppress(" UNCHECKED_CAST" )
1919 SheetScene (
@@ -29,10 +29,10 @@ class SheetSceneStrategy<T : Any> : SceneStrategy<T> {
2929
3030 companion object {
3131 fun sheet (size : SheetSize = SheetSize .LARGE ): Map <String , Any > = mapOf (
32- SHEET_KEY to SheetProperties (size),
32+ KEY_SHEET to SheetProperties (size),
3333 )
3434
35- internal const val SHEET_KEY = " bitkit_sheet"
35+ internal const val KEY_SHEET = " bitkit_sheet"
3636 }
3737}
3838
Original file line number Diff line number Diff line change @@ -211,7 +211,7 @@ fun EntryProviderScope<NavKey>.settingsEntries(
211211 entry<Routes .QuickPayIntro > {
212212 QuickPayIntroScreen (
213213 onBack = { navigator.goBack() },
214- onContinue = { navigator.navigateToQuickPaySettings( ) },
214+ onContinue = { navigator.navigate( Routes . QuickPaySettings ) },
215215 )
216216 }
217217
Original file line number Diff line number Diff line change @@ -871,7 +871,7 @@ private fun EntryProviderScope<NavKey>.timedSheetEntries(
871871 QuickPayIntroSheet (
872872 onContinue = {
873873 appViewModel.dismissTimedSheet(skipQueue = true )
874- navigator.navigateToQuickPaySettings( )
874+ navigator.navigate( Routes . QuickPaySettings )
875875 },
876876 )
877877 }
Original file line number Diff line number Diff line change @@ -216,11 +216,8 @@ fun HomeScreen(
216216 }
217217
218218 Suggestion .QUICK_PAY -> {
219- if (! quickPayIntroSeen) {
220- navigator.navigate(Routes .QuickPayIntro )
221- } else {
222- navigator.navigateToQuickPaySettings()
223- }
219+ val route = if (quickPayIntroSeen) Routes .QuickPaySettings else Routes .QuickPayIntro
220+ navigator.navigate(route)
224221 }
225222
226223 Suggestion .NOTIFICATIONS -> {
Original file line number Diff line number Diff line change @@ -57,7 +57,10 @@ fun GeneralSettingsScreen(
5757 onDefaultUnitClick = { navigator.navigate(Routes .DefaultUnitSettings ) },
5858 onTransactionSpeedClick = { navigator.navigate(Routes .TransactionSpeedSettings ) },
5959 onWidgetsClick = { navigator.navigate(Routes .WidgetsSettings ) },
60- onQuickPayClick = { navigator.navigateToQuickPaySettings(quickPayIntroSeen) },
60+ onQuickPayClick = {
61+ val route = if (quickPayIntroSeen) Routes .QuickPaySettings else Routes .QuickPayIntro
62+ navigator.navigate(route)
63+ },
6164 onTagsClick = { navigator.navigate(Routes .TagsSettings ) },
6265 onLanguageSettingsClick = { navigator.navigate(Routes .LanguageSettings ) },
6366 onBgPaymentsClick = {
You can’t perform that action at this time.
0 commit comments