diff --git a/app/src/main/java/com/tangem/tap/routing/utils/ChildFactory.kt b/app/src/main/java/com/tangem/tap/routing/utils/ChildFactory.kt
index 4131a1c99f..6078133aea 100644
--- a/app/src/main/java/com/tangem/tap/routing/utils/ChildFactory.kt
+++ b/app/src/main/java/com/tangem/tap/routing/utils/ChildFactory.kt
@@ -349,6 +349,7 @@ internal class ChildFactory @Inject constructor(
val source = when (route.source) {
is AppRoute.QrScanning.Source.Send -> SourceType.SEND
is AppRoute.QrScanning.Source.WalletConnect -> SourceType.WALLET_CONNECT
+ is AppRoute.QrScanning.Source.MainScreen -> SourceType.MAIN_SCREEN
}
createComponentChild(
context = context,
diff --git a/common/routing/src/main/kotlin/com/tangem/common/routing/AppRoute.kt b/common/routing/src/main/kotlin/com/tangem/common/routing/AppRoute.kt
index 07b256a7eb..8b1bc37667 100644
--- a/common/routing/src/main/kotlin/com/tangem/common/routing/AppRoute.kt
+++ b/common/routing/src/main/kotlin/com/tangem/common/routing/AppRoute.kt
@@ -167,11 +167,14 @@ sealed class AppRoute(val path: String) : Route {
get() = when (this) {
is Send -> "/$networkName"
WalletConnect -> ""
+ MainScreen -> ""
}
data class Send(val networkName: String) : Source()
data object WalletConnect : Source()
+
+ data object MainScreen : Source()
}
}
diff --git a/core/res/src/main/res/values-de/strings.xml b/core/res/src/main/res/values-de/strings.xml
index 4cc165f633..402ebaa74f 100644
--- a/core/res/src/main/res/values-de/strings.xml
+++ b/core/res/src/main/res/values-de/strings.xml
@@ -399,6 +399,7 @@
Staking beenden
Aufgrund der Beschränkungen von %1$s können nur %2$d UTXOs in eine einzige Transaktion passen. Das bedeutet, dass du nur %3$s oder weniger senden kannst. Du musst den Betrag reduzieren.
Wert kopiert
+ Meine Wallet
Woche
mit
Ja
@@ -469,9 +470,12 @@
Sende Geld nur mit
Beste Gelegenheiten
Filter löschen
+ Die Liste ist vorübergehend leer, da sie gerade aktualisiert wird. Schauen Sie in Kürze wieder rein.
Alle Netzwerke
Alle Arten
Filtern nach
+ Meine Netzwerke
+ Netzwerke
Meist verwendet
Keine Ergebnisse
Verdienen
@@ -826,6 +830,7 @@
Volumen
Rufe dies auf oder tippe auf die Suchleiste, um Token direkt vom Markt hinzuzufügen
Token hinzufügen
+ Token hinzufügen
Steiger die Leistung Deiner Assets und ermögliche Dir gleichzeitig den sofortigen Zugriff. %s
Yield-Modus aktivieren
Du musst auf die folgende Version aktualisieren: %1$s um eine mobile Wallet zu erstellen
@@ -845,6 +850,7 @@
Verwandte Token
Verwandte Nachrichten
Auf dem Laufenden bleiben
+ Trend-Score
NFC ist auf deinem Gerät nicht verfügbar
Über NFT
NFT-Vermögenswert
@@ -963,12 +969,12 @@
Biometrische Daten
Lese mehr über die Seed-Phrase
-
+ - .
- Schreibe diese %d-Wörter in der unten angegebenen Reihenfolge auf und bewahre sie an einem sicheren und geheimen Ort auf.
Deine Seed-Phrase
-
+ - .
- %d Wörter
Um deine Wallets zu importieren, gib bitte deine Seed-Phrase in das folgende Feld ein
@@ -1431,6 +1437,7 @@
Das Netzwerk erhebt eine Token-Genehmigungsgebühr, um zu überprüfen, ob Sie die Verwendung Ihres Tokens für den Swap genehmigen.
Tausche mehr Token zu besseren Kursen direkt in deiner Brieftasche.
Neuer Swap-Anbieter verfügbar!
+ Suchen Sie etwas anderes? Versuchen Sie es mit der Suche oder erkunden Sie eine andere Kryptowährung!
Suchen Sie nach einem beliebigen Token, auch wenn es noch nicht in Ihrer Liste ist.
Nutzen Sie die Suche, um zu finden, was Sie benötigen.
Vertraue auf den rund um die Uhr verfügbaren Support bei allen Problemen
diff --git a/core/res/src/main/res/values-ja/strings.xml b/core/res/src/main/res/values-ja/strings.xml
index 6b87995090..e1c2294119 100644
--- a/core/res/src/main/res/values-ja/strings.xml
+++ b/core/res/src/main/res/values-ja/strings.xml
@@ -839,6 +839,7 @@
関連トークン
関連ニュース
最新情報を入手
+ トレンドスコア
お使いのデバイスではNFCが使用できません
NFTについて
NFTアセット
@@ -1488,6 +1489,7 @@
メイン画面からKYCを非表示にする
資金を追加
入金オプション
+ Googleウォレットに追加
カード番号
PINを変更する
カードは支払いの準備が整いました。
@@ -1876,6 +1878,8 @@
サービスは一時的に利用できません
スワップするトークンの量は %s を超えないでください
スワップ金額は %s 以上である必要があります
+ このペアではスワップを利用できません。別のトークンを選択して、もう一度お試しください。
+ スワップ非対応のペアです
スワップの金額を変更してください
このカードは、サンプル品または偽造品である可能性があります
真正性チェックに失敗しました
diff --git a/core/res/src/main/res/values-ru/strings.xml b/core/res/src/main/res/values-ru/strings.xml
index 350f3c2c43..32e497df40 100644
--- a/core/res/src/main/res/values-ru/strings.xml
+++ b/core/res/src/main/res/values-ru/strings.xml
@@ -733,13 +733,13 @@
Удалить
Например Bitcoin
Ваш портфель был обновлен
- Выбранный токен не доступен в кошельке на данный момент. Но не переживайте, вы можете выразить свой интерес проголосовав за его добавление.
+ Выбранный токен недоступен в кошельке на данный момент. Но не переживайте, вы можете выразить свой интерес проголосовав за его добавление.
Голосовать
Кошелёк не поддерживает более одной сети
О монете
Чтобы купить, обменять или получить данный токен, вам нужно добавить его к себе в портфель
Этот актив в настоящее время не поддерживается в кошельке
- Этот токен не доступен для данного кошелька
+ Этот токен недоступен для данного кошелька
Добавить
APY %s
Мой портфель
@@ -1499,7 +1499,7 @@
Обмен…
Вы получите
Выберите токен
- не доступен
+ недоступен
Будем рады вашей обратной связи
Tangem Pay в режиме beta
Карта заморожена
diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml
index b03f0df753..7e5f655ad3 100644
--- a/core/res/src/main/res/values/strings.xml
+++ b/core/res/src/main/res/values/strings.xml
@@ -699,6 +699,7 @@
Mana level
To begin tracking your crypto assets and transactions, add tokens
Manage tokens
+ Scan QR code to send funds or connect to an app
To access all the networks you need to scan the card
Scan your card or ring
Enjoy %1$s service fees on swaps via Changelly from February %2$s-%3$s
@@ -1509,6 +1510,7 @@
Hide KYC from main screen
Add funds
Top-up options
+ Add to Google Wallet
Card Number
Change PIN
The card is fully ready for payments.
diff --git a/core/ui/src/main/java/com/tangem/core/ui/ds/topbar/TangemTopBar.kt b/core/ui/src/main/java/com/tangem/core/ui/ds/topbar/TangemTopBar.kt
index 383047dd49..ecb96f61cf 100644
--- a/core/ui/src/main/java/com/tangem/core/ui/ds/topbar/TangemTopBar.kt
+++ b/core/ui/src/main/java/com/tangem/core/ui/ds/topbar/TangemTopBar.kt
@@ -63,7 +63,7 @@ fun TangemTopBar(
},
endContent = if (endActions.isNotEmpty()) {
{
- Row(horizontalArrangement = Arrangement.spacedBy(TangemTheme.dimens2.x1)) {
+ Row(horizontalArrangement = Arrangement.spacedBy(TangemTheme.dimens2.x5)) {
endActions.forEach { action ->
TangemTopBarActionContent(action)
}
@@ -225,7 +225,7 @@ private fun TangemTopBar_Preview(@PreviewParameter(PreviewProvider::class) param
startContent = params.startActionUM?.let { { TangemTopBarActionContent(it) } },
endContent = if (params.endActions.isNotEmpty()) {
{
- Row(horizontalArrangement = Arrangement.spacedBy(TangemTheme.dimens2.x1)) {
+ Row(horizontalArrangement = Arrangement.spacedBy(TangemTheme.dimens2.x5)) {
params.endActions.forEach { action ->
TangemTopBarActionContent(action)
}
diff --git a/core/ui/src/main/java/com/tangem/core/ui/ds/topbar/TangemTopBarActionUM.kt b/core/ui/src/main/java/com/tangem/core/ui/ds/topbar/TangemTopBarActionUM.kt
index 6857bffdbd..eb096a2d8f 100644
--- a/core/ui/src/main/java/com/tangem/core/ui/ds/topbar/TangemTopBarActionUM.kt
+++ b/core/ui/src/main/java/com/tangem/core/ui/ds/topbar/TangemTopBarActionUM.kt
@@ -2,6 +2,7 @@ package com.tangem.core.ui.ds.topbar
import androidx.annotation.DrawableRes
import androidx.annotation.FloatRange
+import androidx.compose.runtime.Immutable
/**
* User model for top bar action
@@ -11,6 +12,7 @@ import androidx.annotation.FloatRange
* @property onClick lambda be invoked when action component is clicked. If null, action will not be clickable
* @property ghostModeProgress progress of ghost mode animation, from 0f to 1f.
*/
+@Immutable
data class TangemTopBarActionUM(
@param:DrawableRes val iconRes: Int,
val isActionable: Boolean = true,
diff --git a/core/ui/src/main/res/drawable/ic_qrcode_scaner_24.xml b/core/ui/src/main/res/drawable/ic_qrcode_scaner_24.xml
new file mode 100644
index 0000000000..2e11d5915c
--- /dev/null
+++ b/core/ui/src/main/res/drawable/ic_qrcode_scaner_24.xml
@@ -0,0 +1,18 @@
+
+
+
+
diff --git a/domain/qr-scanning/models/src/main/java/com/tangem/domain/qrscanning/models/SourceType.kt b/domain/qr-scanning/models/src/main/java/com/tangem/domain/qrscanning/models/SourceType.kt
index 87be83fd0c..3f4e122ff6 100644
--- a/domain/qr-scanning/models/src/main/java/com/tangem/domain/qrscanning/models/SourceType.kt
+++ b/domain/qr-scanning/models/src/main/java/com/tangem/domain/qrscanning/models/SourceType.kt
@@ -3,4 +3,5 @@ package com.tangem.domain.qrscanning.models
enum class SourceType {
WALLET_CONNECT,
SEND,
+ MAIN_SCREEN,
}
\ No newline at end of file
diff --git a/features/qr-scanning/impl/src/main/java/com/tangem/feature/qrscanning/presentation/transformers/InitializeQrScanningStateTransformer.kt b/features/qr-scanning/impl/src/main/java/com/tangem/feature/qrscanning/presentation/transformers/InitializeQrScanningStateTransformer.kt
index 06faacb811..ca3528a5e9 100644
--- a/features/qr-scanning/impl/src/main/java/com/tangem/feature/qrscanning/presentation/transformers/InitializeQrScanningStateTransformer.kt
+++ b/features/qr-scanning/impl/src/main/java/com/tangem/feature/qrscanning/presentation/transformers/InitializeQrScanningStateTransformer.kt
@@ -22,6 +22,7 @@ internal class InitializeQrScanningStateTransformer(
val message = when (source) {
SourceType.SEND -> network?.let { resourceReference(R.string.send_qrcode_scan_info, wrappedList(it)) }
SourceType.WALLET_CONNECT -> resourceReference(R.string.wc_qr_scan_hint)
+ SourceType.MAIN_SCREEN -> resourceReference(R.string.main_qr_scan_hint)
}
return QrScanningState(
@@ -44,6 +45,10 @@ internal class InitializeQrScanningStateTransformer(
title = resourceReference(R.string.wc_new_connection),
startIcon = R.drawable.ic_close_24,
)
+ SourceType.MAIN_SCREEN -> TopBarConfig(
+ title = null,
+ startIcon = R.drawable.ic_close_24,
+ )
}
}
diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/wallet/model/intents/WalletContentClickIntents.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/wallet/model/intents/WalletContentClickIntents.kt
index 3264587566..5c65edb11b 100644
--- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/wallet/model/intents/WalletContentClickIntents.kt
+++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/wallet/model/intents/WalletContentClickIntents.kt
@@ -43,6 +43,7 @@ import kotlinx.coroutines.launch
import timber.log.Timber
import javax.inject.Inject
+@Suppress("TooManyFunctions")
internal interface WalletContentClickIntents {
fun onDetailsClick()
diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletTopBar.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletTopBar.kt
index e2eb07e356..7dd4faf316 100644
--- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletTopBar.kt
+++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletTopBar.kt
@@ -82,8 +82,8 @@ internal fun WalletTopBar(config: WalletTopBarConfig) {
},
actions = {
config.endActions.forEach { action ->
- if (action.onClick != null) {
- IconButton(onClick = action.onClick!!) {
+ action.onClick?.let { onClick ->
+ IconButton(onClick = onClick) {
Icon(
painter = painterResource(id = action.iconRes),
contentDescription = null,