Updated on 2026-08-14

This commit is contained in:
Tangem 2026-06-19 11:18:58 +02:00
parent 99b517455a
commit 09db4a7d03
58 changed files with 1353 additions and 826 deletions

View file

@ -6,6 +6,7 @@ import android.annotation.SuppressLint
import android.os.Bundle
import com.tangem.common.routing.bundle.RouteBundleParams
import com.tangem.common.routing.bundle.bundle
import com.tangem.common.routing.entity.AddressBookOpenMode
import com.tangem.common.routing.entity.InitScreenLaunchMode
import com.tangem.core.analytics.models.AnalyticsParam
import com.tangem.core.decompose.navigation.Route
@ -174,8 +175,14 @@ sealed class AppRoute(val path: String) : Route {
@Serializable
data class AddressBook(
val predefinedAddress: String? = null,
) : AppRoute(path = "/address_book/predefinedAddress/$predefinedAddress")
val addressBookOpenMode: AddressBookOpenMode = AddressBookOpenMode.Default,
) : AppRoute(
path = when (addressBookOpenMode) {
is AddressBookOpenMode.WithContactCreation ->
"/address_book/${addressBookOpenMode.address}-${addressBookOpenMode.networkId}"
AddressBookOpenMode.Default -> "/address_book"
},
)
@Serializable
data class QrScanning(val source: Source) : AppRoute(path = "/$source/qr_scanning${source.path}") {

View file

@ -0,0 +1,17 @@
package com.tangem.common.routing.entity
import kotlinx.serialization.Serializable
/** How the address book is opened — part of the navigation contract, carried by [com.tangem.common.routing.AppRoute.AddressBook]. */
@Serializable
sealed interface AddressBookOpenMode {
@Serializable
data object Default : AddressBookOpenMode
@Serializable
data class WithContactCreation(
val address: String,
val networkId: String,
) : AddressBookOpenMode
}