Updated on 2026-08-14
This commit is contained in:
parent
0627f0e62c
commit
b1b6dcade3
14 changed files with 95 additions and 31 deletions
|
|
@ -561,10 +561,7 @@
|
|||
<string name="nft_send">NFT senden</string>
|
||||
<string name="nft_traits_title">Eigenschaften</string>
|
||||
<string name="nft_untitled_collection">Unbetitelte Sammlung</string>
|
||||
<plurals name="nft_wallet_count">
|
||||
<item quantity="one"></item>
|
||||
<item quantity="other">%1$d NFTs in der %2$d Sammlung</item>
|
||||
</plurals>
|
||||
<string name="nft_wallet_count">%1$d NFTs in der %2$d Sammlung</string>
|
||||
<string name="nft_wallet_receive_nft">Tippe hier, um das erste NFT zu erhalten</string>
|
||||
<string name="nft_wallet_title">NFT-Sammlungen</string>
|
||||
<string name="nft_wallet_unable_to_load">Die Daten konnten nicht geladen werden</string>
|
||||
|
|
|
|||
|
|
@ -191,6 +191,7 @@
|
|||
<string name="common_server_unavailable">El servidor no está disponible, por favor inténtelo de nuevo más tarde</string>
|
||||
<string name="common_share">Compartir</string>
|
||||
<string name="common_share_link">Compartir enlace</string>
|
||||
<string name="common_show_more">Mostrar más</string>
|
||||
<string name="common_sign">Firme</string>
|
||||
<string name="common_sign_and_send">Firme y envíe</string>
|
||||
<string name="common_stake">Stake</string>
|
||||
|
|
|
|||
|
|
@ -191,6 +191,7 @@
|
|||
<string name="common_server_unavailable">Le serveur n\'est pas disponible, veuillez réessayer plus tard</string>
|
||||
<string name="common_share">Partager</string>
|
||||
<string name="common_share_link">Partager le lien</string>
|
||||
<string name="common_show_more">Afficher plus</string>
|
||||
<string name="common_sign">Signez</string>
|
||||
<string name="common_sign_and_send">Signez et envoyez</string>
|
||||
<string name="common_stake">Stake</string>
|
||||
|
|
@ -518,10 +519,7 @@
|
|||
<string name="nft_collections_title">Collections NFT</string>
|
||||
<string name="nft_collections_warning_subtitle">Certaines données peuvent ne pas se charger</string>
|
||||
<string name="nft_collections_warning_title">Problèmes de chargement temporaires</string>
|
||||
<plurals name="nft_wallet_count">
|
||||
<item quantity="one"></item>
|
||||
<item quantity="other">%1$d NFT dans la collection %2$d</item>
|
||||
</plurals>
|
||||
<string name="nft_wallet_count">%1$d NFT dans la collection %2$d</string>
|
||||
<string name="nft_wallet_receive_nft">Appuyez ici pour recevoir le premier NFT</string>
|
||||
<string name="nft_wallet_title">Collections NFT</string>
|
||||
<string name="nft_wallet_unable_to_load">Impossible de charger les données</string>
|
||||
|
|
|
|||
|
|
@ -64,6 +64,9 @@
|
|||
<plurals name="card_label_card_count">
|
||||
<item quantity="other">%d デバイス</item>
|
||||
</plurals>
|
||||
<plurals name="card_label_token_count">
|
||||
<item quantity="other">%1$dトークン</item>
|
||||
</plurals>
|
||||
<string name="card_settings_access_code_recovery_disabled_description">このカードを使用して、このウォレット内の他のカードまたはリングのアクセスコードをリセットしたくない場合は、このオプションを無効にしてください。これにより、このカードのアクセスコードもリセットできなくなりますのでご注意ください。</string>
|
||||
<string name="card_settings_access_code_recovery_enabled_description">このカードを使用して、このウォレット内の他のカードのアクセスコードをリセットできます。</string>
|
||||
<string name="card_settings_access_code_recovery_title">アクセスコードの復元</string>
|
||||
|
|
@ -148,6 +151,7 @@
|
|||
<string name="common_generate_addresses">アドレスを同期する</string>
|
||||
<string name="common_go_to_provider">プロバイダーへ移動</string>
|
||||
<string name="common_go_to_token">トークンへ移動</string>
|
||||
<string name="common_got_it">わかりました</string>
|
||||
<string name="common_hide">非表示</string>
|
||||
<string name="common_hour">時間</string>
|
||||
<string name="common_import">インポート</string>
|
||||
|
|
@ -202,6 +206,7 @@
|
|||
<string name="common_submit">送信</string>
|
||||
<string name="common_success">成功</string>
|
||||
<string name="common_support">サポート</string>
|
||||
<string name="common_supported_networks">対応ネットワーク</string>
|
||||
<string name="common_swap">スワップ</string>
|
||||
<string name="common_terms_and_conditions">利用規約</string>
|
||||
<string name="common_terms_of_use">利用規約</string>
|
||||
|
|
@ -554,9 +559,7 @@
|
|||
<string name="nft_send">NFTを送信する</string>
|
||||
<string name="nft_traits_title">特徴</string>
|
||||
<string name="nft_untitled_collection">無題のコレクション</string>
|
||||
<plurals name="nft_wallet_count">
|
||||
<item quantity="other">%1$dコレクションの%2$dNFT</item>
|
||||
</plurals>
|
||||
<string name="nft_wallet_count">%2$dコレクションの%1$dNFT</string>
|
||||
<string name="nft_wallet_receive_nft">ここをタップして最初のNFTを受け取ります</string>
|
||||
<string name="nft_wallet_title">NFTコレクション</string>
|
||||
<string name="nft_wallet_unable_to_load">データを読み込めません</string>
|
||||
|
|
@ -695,6 +698,8 @@
|
|||
<string name="push_notifications_permission_alert_negative_button">後で有効にする</string>
|
||||
<string name="push_notifications_permission_alert_positive_button">設定</string>
|
||||
<string name="push_notifications_permission_alert_title">通知を有効にする</string>
|
||||
<string name="push_transactions_notifications_description">対応ネットワーク上の受信取引の通知を受け取る</string>
|
||||
<string name="push_transactions_notifications_title">取引通知</string>
|
||||
<string name="qr_scanner_camera_denied_gallery_button">ギャラリーから選択</string>
|
||||
<string name="qr_scanner_camera_denied_settings_button">設定</string>
|
||||
<string name="qr_scanner_camera_denied_text">カメラへのアクセスを許可していません。</string>
|
||||
|
|
@ -1075,6 +1080,7 @@
|
|||
<string name="twins_recreate_toolbar">Tangemツイン</string>
|
||||
<string name="twins_recreate_warning">この操作は元に戻せません。古いウォレットにはアクセスできなくなります。</string>
|
||||
<string name="twins_scan_twin_with_number">番号%sのツインカードをタップし、操作が終了するまで取り外さないでください。</string>
|
||||
<string name="unexpected_error_title">問題が発生しました。</string>
|
||||
<string name="universal_error">エラーが発生しました。エラー コード:%s。サポートにお問い合わせください。</string>
|
||||
<string name="unlock_wallet_description_full">%sを使用するか、カード / リングをスキャンしてウォレットにアクセスしてください</string>
|
||||
<string name="unsupported_wc_version">接続に失敗しました:このdAppは、サポートされていないWallet Connectバージョン1.0を使用しています。正常に接続するには、dAppがWallet Connectバージョン2.0をサポートしていることを確認してください。</string>
|
||||
|
|
@ -1154,7 +1160,7 @@
|
|||
<string name="wallet_promo_banner_description">1.3万種類以上の暗号資産にアクセス。ワンタップで買付、売却、スワップ、ステーキングが可能です。\nバックアップ用に最大3枚のカードを連携できます。</string>
|
||||
<string name="wallet_promo_banner_title">Tangemウォレットを見る</string>
|
||||
<string name="wallet_settings_push_notifications_description">ウォレットの受信取引とTangemの更新について通知を受け取る。</string>
|
||||
<string name="wallet_settings_push_notifications_title">プッシュ通知</string>
|
||||
<string name="wallet_settings_push_notifications_title">取引通知</string>
|
||||
<string name="wallet_settings_title">ウォレット設定</string>
|
||||
<string name="wallet_title">Tangem</string>
|
||||
<string name="warning_access_denied_message">%sを使用するか、カード / リングをスキャンしてウォレットにアクセスしてください</string>
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@
|
|||
<string name="common_server_unavailable">Сервер недоступен, повторите попытку позднее</string>
|
||||
<string name="common_share">Поделиться</string>
|
||||
<string name="common_share_link">Поделиться ссылкой</string>
|
||||
<string name="common_show_more">Показать больше</string>
|
||||
<string name="common_show_more">Подробнее</string>
|
||||
<string name="common_sign">Подписать</string>
|
||||
<string name="common_sign_and_send">Подписать и отправить</string>
|
||||
<string name="common_stake">Застейкать</string>
|
||||
|
|
@ -568,12 +568,7 @@
|
|||
<string name="nft_receive_unavailable_section_title">Не добавлено</string>
|
||||
<string name="nft_send">Отправить NFT</string>
|
||||
<string name="nft_traits_title">Черты</string>
|
||||
<plurals name="nft_wallet_count">
|
||||
<item quantity="one">%1$d NFTs в %2$d коллекции</item>
|
||||
<item quantity="few">%1$d NFTs в %2$d коллекциях</item>
|
||||
<item quantity="many">%1$d NFTs в %2$d коллекциях</item>
|
||||
<item quantity="other">%1$d NFTs в %2$d коллекциях</item>
|
||||
</plurals>
|
||||
<string name="nft_wallet_count">%1$d NFTs в %2$d коллекциях</string>
|
||||
<string name="nft_wallet_receive_nft">Нажмите здесь, чтобы получить первую NFT</string>
|
||||
<string name="nft_wallet_title">NFT коллекции</string>
|
||||
<string name="nft_wallet_unable_to_load">Невозможно загрузить данные</string>
|
||||
|
|
|
|||
|
|
@ -197,6 +197,7 @@
|
|||
<string name="common_server_unavailable">Сервер недоступний, спробуйте пізніше</string>
|
||||
<string name="common_share">Поширити</string>
|
||||
<string name="common_share_link">Поділитися посиланням</string>
|
||||
<string name="common_show_more">Показати більше</string>
|
||||
<string name="common_sign">Підписати</string>
|
||||
<string name="common_sign_and_send">Підписати та надіслати</string>
|
||||
<string name="common_stake">Застейкати</string>
|
||||
|
|
@ -451,6 +452,8 @@
|
|||
<string name="markets_sort_by_top_gainers_title">Лідери росту</string>
|
||||
<string name="markets_sort_by_top_losers_title">Лідери падіння</string>
|
||||
<string name="markets_sort_by_trending_title">В тренді</string>
|
||||
<string name="markets_staking_banner_description_placeholder">Стейкінг — простий спосіб отримувати дохід з вашої криптовалюти. %s</string>
|
||||
<string name="markets_staking_banner_title">Отримуйте до %s APY</string>
|
||||
<string name="markets_token_details_about_token_title">Про %s</string>
|
||||
<plurals name="markets_token_details_amount_exchanges">
|
||||
<item quantity="one">%d біржа</item>
|
||||
|
|
@ -658,6 +661,8 @@
|
|||
<string name="organize_tokens_sort_by_balance">За балансом</string>
|
||||
<string name="organize_tokens_title">Сортування токенів</string>
|
||||
<string name="organize_tokens_ungroup">Список</string>
|
||||
<string name="push_notifications_more_info">Більше</string>
|
||||
<string name="push_notifications_permission_alert_title">Увімкнути сповіщення</string>
|
||||
<string name="qr_scanner_camera_denied_gallery_button">Виберіть з галереї</string>
|
||||
<string name="qr_scanner_camera_denied_settings_button">Налаштування</string>
|
||||
<string name="qr_scanner_camera_denied_text">Ви не надали доступ до своєї камери</string>
|
||||
|
|
@ -884,6 +889,11 @@
|
|||
<string name="staking_notification_restake_text">Рестейк дозволяє вам перемістити ваші кошти від одного валідатора до іншого без необхідності виводити кошти зі стейкінгу</string>
|
||||
<string name="staking_notification_stake_entire_balance_text">Ви збираєтеся застейкати весь свій баланс. Ми рекомендуємо залишити невелику суму, щоб покрити комісію мережі за зняття коштів або отримання винагороди.</string>
|
||||
<string name="staking_notification_ton_activate_account">Щоб почати стейкінг в TON, спочатку здійсніть вихідну транзакцію на будь-яку суму — це активує ваш гаманець.</string>
|
||||
<string name="staking_notification_ton_extra_reserve_info">До 0.2 TON може знадобитися додатково мережевої комісії для завершення транзакції. Невикористана частина буде повернута.</string>
|
||||
<string name="staking_notification_ton_extra_reserve_is_required">Для виконання операції потребується додатково 0.2 TON, крім мережевої комісії. Будь ласка, поповніть баланс.</string>
|
||||
<string name="staking_notification_ton_extra_reserve_title">Зарезервовано 0.2 TON</string>
|
||||
<string name="staking_notification_ton_have_to_unstake_all_text">Ця дія закриє інші позиції або переведе їх у статус виведення, відповідно до правил мережі.</string>
|
||||
<string name="staking_notification_ton_have_to_unstake_all_title">Статус позицій</string>
|
||||
<string name="staking_notification_unlock_text">Розблокуйте свої кошти, щоб вивести їх зі стейкінгу. Розблокування займе %s.</string>
|
||||
<string name="staking_notification_unstake_cosmos_text">Ваші кошти будуть доступні для використання після закінчення 21-денного періоду розблокування. Винагорода буде отримана разом з вашими незастейканими коштами.</string>
|
||||
<string name="staking_notification_unstake_text">Ваші кошти будуть доступні після %s періоду розблокування.</string>
|
||||
|
|
@ -1094,6 +1104,7 @@
|
|||
<string name="wallet_promo_banner_button_title">Отримати з 10% знижкою</string>
|
||||
<string name="wallet_promo_banner_description">Доступ до 13,000+ криптовалют. Купуйте, продавайте, обмінюйте та стейкайте одним дотиком.\nЗ’єднайте до трьох карток для бекапу.</string>
|
||||
<string name="wallet_promo_banner_title">Відкрийте Tangem Wallet</string>
|
||||
<string name="wallet_settings_push_notifications_title">Сповіщення про транзакції</string>
|
||||
<string name="wallet_settings_title">Налаштування гаманця</string>
|
||||
<string name="wallet_title">Tangem</string>
|
||||
<string name="warning_access_denied_message">Використовуйте %s або відскануйте картку/кільце, щоб розблокувати доступ до вашого гаманця</string>
|
||||
|
|
@ -1183,6 +1194,8 @@
|
|||
<string name="warning_testnet_card_message">Це картка Testnet. Вона не може обробляти транзакції і повинна використовуватися лише для тестування та розробки.</string>
|
||||
<string name="warning_testnet_card_title">Лише для цілей тестування</string>
|
||||
<string name="warning_token_balance_not_updated">Баланс може бути застарілим. Оновіть сторінку.</string>
|
||||
<string name="wc_common_address">Адреса</string>
|
||||
<string name="wc_contents">Вміст</string>
|
||||
<string name="welcome_interrupted_backup_alert_discard">Відмовитися</string>
|
||||
<string name="welcome_interrupted_backup_alert_message">Ви не завершили резервне копіювання. Бажаєте продовжити?</string>
|
||||
<string name="welcome_interrupted_backup_alert_resume">Так, поновити</string>
|
||||
|
|
|
|||
|
|
@ -155,6 +155,7 @@
|
|||
<string name="common_generate_addresses">Synchronize addresses</string>
|
||||
<string name="common_go_to_provider">Go to provider</string>
|
||||
<string name="common_go_to_token">Go to token</string>
|
||||
<string name="common_got_it">Got it</string>
|
||||
<string name="common_hide">Hide</string>
|
||||
<string name="common_hour">hour</string>
|
||||
<string name="common_import">Import</string>
|
||||
|
|
@ -209,6 +210,7 @@
|
|||
<string name="common_submit">Submit</string>
|
||||
<string name="common_success">Success</string>
|
||||
<string name="common_support">Support</string>
|
||||
<string name="common_supported_networks">Supported networks</string>
|
||||
<string name="common_swap">Swap</string>
|
||||
<string name="common_tangem_wallet">Tangem Wallet</string>
|
||||
<string name="common_terms_and_conditions">terms and conditions</string>
|
||||
|
|
@ -566,10 +568,7 @@
|
|||
<string name="nft_send">Send NFT</string>
|
||||
<string name="nft_traits_title">Traits</string>
|
||||
<string name="nft_untitled_collection">Untitled collection</string>
|
||||
<plurals name="nft_wallet_count">
|
||||
<item quantity="one">%1$d NFTs in %2$d collection</item>
|
||||
<item quantity="other">%1$d NFTs in %2$d collections</item>
|
||||
</plurals>
|
||||
<string name="nft_wallet_count">%1$d NFTs in %2$d collections</string>
|
||||
<string name="nft_wallet_receive_nft">Tap here to receive first NFT</string>
|
||||
<string name="nft_wallet_title">NFT collections</string>
|
||||
<string name="nft_wallet_unable_to_load">Unable to load the data</string>
|
||||
|
|
@ -710,6 +709,8 @@
|
|||
<string name="push_notifications_permission_alert_negative_button">Enable Later</string>
|
||||
<string name="push_notifications_permission_alert_positive_button">Settings</string>
|
||||
<string name="push_notifications_permission_alert_title">Enable Notifications</string>
|
||||
<string name="push_transactions_notifications_description">Receive alerts for incoming transactions on supported networks</string>
|
||||
<string name="push_transactions_notifications_title">Transaction Notifications</string>
|
||||
<string name="qr_scanner_camera_denied_gallery_button">Select from the gallery</string>
|
||||
<string name="qr_scanner_camera_denied_settings_button">Settings</string>
|
||||
<string name="qr_scanner_camera_denied_text">You have not given access to your camera</string>
|
||||
|
|
@ -1092,6 +1093,8 @@
|
|||
<string name="twins_recreate_toolbar">Tangem Twin</string>
|
||||
<string name="twins_recreate_warning">This action is irreversible. You will not have access to the old wallet.</string>
|
||||
<string name="twins_scan_twin_with_number">Tap the twin card with number %s and do not remove until the end of the operation</string>
|
||||
<string name="unexpected_error_description">Please try again later. If the issue persists, please contact support.</string>
|
||||
<string name="unexpected_error_title">Something went wrong!</string>
|
||||
<string name="universal_error">We\'ve encountered an error. Error code: %s. Please contact our support.</string>
|
||||
<string name="unlock_wallet_description_full">Use %s or scan a card/ring to have access to your wallet</string>
|
||||
<string name="unsupported_wc_version">Connection failed: This dApp uses Wallet Connect version 1.0, which is not supported. Please ensure the dApp supports Wallet Connect version 2.0 to connect successfully.</string>
|
||||
|
|
|
|||
|
|
@ -184,7 +184,7 @@ data class BottomSheetMessageV2(
|
|||
val messageBottomSheetUMV2: MessageBottomSheetUMV2,
|
||||
) : EventMessage
|
||||
|
||||
internal fun bottomSheetMessage(init: @MessageBottomSheetV2Dsl MessageBottomSheetUMV2.() -> Unit) =
|
||||
fun bottomSheetMessage(init: @MessageBottomSheetV2Dsl MessageBottomSheetUMV2.() -> Unit) =
|
||||
BottomSheetMessageV2(messageBottomSheetUM(init))
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import com.tangem.core.decompose.ui.UiMessageSender
|
|||
import com.tangem.core.error.UniversalError
|
||||
import com.tangem.core.error.ext.universalError
|
||||
import com.tangem.core.ui.utils.showErrorDialog
|
||||
import com.tangem.domain.visa.error.VisaApiError
|
||||
import com.tangem.domain.visa.model.VisaCardActivationStatus
|
||||
import com.tangem.domain.visa.model.VisaCardId
|
||||
import com.tangem.domain.visa.model.VisaCustomerWalletDataToSignRequest
|
||||
|
|
@ -23,6 +24,7 @@ import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.ui.state.Onb
|
|||
import com.tangem.features.onboarding.v2.visa.impl.child.welcome.model.analytics.OnboardingVisaAnalyticsEvent
|
||||
import com.tangem.features.onboarding.v2.visa.impl.child.welcome.model.analytics.VisaAnalyticsEvent
|
||||
import com.tangem.features.onboarding.v2.visa.impl.common.ActivationReadyEvent
|
||||
import com.tangem.features.onboarding.v2.visa.impl.common.unexpectedErrorAlertBS
|
||||
import com.tangem.sdk.api.TangemSdkManager
|
||||
import com.tangem.sdk.api.visa.VisaCardActivationTaskMode
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
|
|
@ -206,7 +208,11 @@ internal class OnboardingVisaAccessCodeModel @Inject constructor(
|
|||
|
||||
private fun onError(error: UniversalError) {
|
||||
loading(false)
|
||||
uiMessageSender.showErrorDialog(error)
|
||||
if (error is VisaApiError && error.isUnknown()) {
|
||||
uiMessageSender.send(unexpectedErrorAlertBS)
|
||||
} else {
|
||||
uiMessageSender.showErrorDialog(error)
|
||||
}
|
||||
analyticsEventsHandler.send(VisaAnalyticsEvent.ErrorOnboarding(error))
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import com.tangem.core.decompose.ui.UiMessageSender
|
|||
import com.tangem.core.error.UniversalError
|
||||
import com.tangem.core.error.ext.universalError
|
||||
import com.tangem.core.ui.utils.showErrorDialog
|
||||
import com.tangem.domain.visa.error.VisaApiError
|
||||
import com.tangem.domain.visa.model.VisaCardId
|
||||
import com.tangem.domain.visa.model.VisaDataForApprove
|
||||
import com.tangem.domain.visa.repository.VisaActivationRepository
|
||||
|
|
@ -19,6 +20,7 @@ import com.tangem.features.onboarding.v2.visa.impl.child.approve.OnboardingVisaA
|
|||
import com.tangem.features.onboarding.v2.visa.impl.child.approve.ui.state.OnboardingVisaApproveUM
|
||||
import com.tangem.features.onboarding.v2.visa.impl.child.welcome.model.analytics.OnboardingVisaAnalyticsEvent
|
||||
import com.tangem.features.onboarding.v2.visa.impl.child.welcome.model.analytics.VisaAnalyticsEvent
|
||||
import com.tangem.features.onboarding.v2.visa.impl.common.unexpectedErrorAlertBS
|
||||
import com.tangem.sdk.api.TangemSdkManager
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import kotlinx.coroutines.flow.MutableSharedFlow
|
||||
|
|
@ -103,7 +105,11 @@ internal class OnboardingVisaApproveModel @Inject constructor(
|
|||
|
||||
private fun onError(error: UniversalError) {
|
||||
loading(false)
|
||||
uiMessageSender.showErrorDialog(error)
|
||||
if (error is VisaApiError && error.isUnknown()) {
|
||||
uiMessageSender.send(unexpectedErrorAlertBS)
|
||||
} else {
|
||||
uiMessageSender.showErrorDialog(error)
|
||||
}
|
||||
analyticsEventHandler.send(VisaAnalyticsEvent.ErrorOnboarding(error))
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import com.tangem.features.onboarding.v2.visa.impl.child.inprogress.OnboardingVi
|
|||
import com.tangem.features.onboarding.v2.visa.impl.child.inprogress.OnboardingVisaInProgressComponent.Params
|
||||
import com.tangem.features.onboarding.v2.visa.impl.child.welcome.model.analytics.OnboardingVisaAnalyticsEvent
|
||||
import com.tangem.features.onboarding.v2.visa.impl.child.welcome.model.analytics.VisaAnalyticsEvent
|
||||
import com.tangem.features.onboarding.v2.visa.impl.common.unexpectedErrorAlertBS
|
||||
import com.tangem.features.onboarding.v2.visa.impl.route.OnboardingVisaRoute
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import kotlinx.coroutines.delay
|
||||
|
|
@ -69,7 +70,12 @@ internal class OnboardingVisaInProgressModel @Inject constructor(
|
|||
while (true) {
|
||||
val result = visaActivationRepository.getActivationRemoteState()
|
||||
.getOrElse {
|
||||
uiMessageSender.showErrorDialog(it)
|
||||
if (it.isUnknown()) {
|
||||
uiMessageSender.send(unexpectedErrorAlertBS)
|
||||
} else {
|
||||
uiMessageSender.showErrorDialog(it)
|
||||
}
|
||||
analyticsEventHandler.send(VisaAnalyticsEvent.ErrorOnboarding(it))
|
||||
delay(timeMillis = 2000)
|
||||
runShortPolling()
|
||||
return@launch
|
||||
|
|
|
|||
|
|
@ -10,11 +10,13 @@ import com.tangem.core.decompose.ui.UiMessageSender
|
|||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.utils.showErrorDialog
|
||||
import com.tangem.domain.visa.SetVisaPinCodeUseCase
|
||||
import com.tangem.domain.visa.error.VisaApiError
|
||||
import com.tangem.domain.visa.model.VisaCardId
|
||||
import com.tangem.features.onboarding.v2.impl.R
|
||||
import com.tangem.features.onboarding.v2.visa.impl.child.pincode.OnboardingVisaPinCodeComponent
|
||||
import com.tangem.features.onboarding.v2.visa.impl.child.pincode.ui.state.OnboardingVisaPinCodeUM
|
||||
import com.tangem.features.onboarding.v2.visa.impl.child.welcome.model.analytics.OnboardingVisaAnalyticsEvent
|
||||
import com.tangem.features.onboarding.v2.visa.impl.common.unexpectedErrorAlertBS
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import kotlinx.coroutines.flow.MutableSharedFlow
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
|
|
@ -92,9 +94,12 @@ internal class OnboardingVisaPinCodeModel @Inject constructor(
|
|||
pinCode = pinCode,
|
||||
visaCardId = visaCardId,
|
||||
activationOrderId = params.activationOrderInfo.orderId,
|
||||
).onLeft {
|
||||
loading(false)
|
||||
uiMessageSender.showErrorDialog(it)
|
||||
).onLeft { error ->
|
||||
if (error is VisaApiError && error.isUnknown()) {
|
||||
uiMessageSender.send(unexpectedErrorAlertBS)
|
||||
} else {
|
||||
uiMessageSender.showErrorDialog(error)
|
||||
}
|
||||
return@launch
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import com.tangem.core.decompose.ui.UiMessageSender
|
|||
import com.tangem.core.error.UniversalError
|
||||
import com.tangem.core.error.ext.universalError
|
||||
import com.tangem.core.ui.utils.showErrorDialog
|
||||
import com.tangem.domain.visa.error.VisaApiError
|
||||
import com.tangem.domain.visa.model.VisaCardId
|
||||
import com.tangem.domain.visa.model.VisaCustomerWalletDataToSignRequest
|
||||
import com.tangem.domain.visa.repository.VisaActivationRepository
|
||||
|
|
@ -20,6 +21,7 @@ import com.tangem.features.onboarding.v2.visa.impl.child.welcome.model.analytics
|
|||
import com.tangem.features.onboarding.v2.visa.impl.child.welcome.model.analytics.VisaAnalyticsEvent
|
||||
import com.tangem.features.onboarding.v2.visa.impl.child.welcome.ui.state.OnboardingVisaWelcomeUM
|
||||
import com.tangem.features.onboarding.v2.visa.impl.common.ActivationReadyEvent
|
||||
import com.tangem.features.onboarding.v2.visa.impl.common.unexpectedErrorAlertBS
|
||||
import com.tangem.sdk.api.TangemSdkManager
|
||||
import com.tangem.sdk.api.visa.VisaCardActivationTaskMode
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
|
|
@ -129,7 +131,11 @@ internal class OnboardingVisaWelcomeModel @Inject constructor(
|
|||
|
||||
private fun onError(error: UniversalError) {
|
||||
loading(false)
|
||||
uiMessageSender.showErrorDialog(error)
|
||||
if (error is VisaApiError && error.isUnknown()) {
|
||||
uiMessageSender.send(unexpectedErrorAlertBS)
|
||||
} else {
|
||||
uiMessageSender.showErrorDialog(error)
|
||||
}
|
||||
analyticsEventsHandler.send(VisaAnalyticsEvent.ErrorOnboarding(error))
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
package com.tangem.features.onboarding.v2.visa.impl.common
|
||||
|
||||
import com.tangem.core.ui.R
|
||||
import com.tangem.core.ui.components.bottomsheets.message.*
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.message.bottomSheetMessage
|
||||
|
||||
val unexpectedErrorAlertBS
|
||||
get() = bottomSheetMessage {
|
||||
infoBlock {
|
||||
icon(R.drawable.img_knight_shield_32) {
|
||||
type = MessageBottomSheetUMV2.Icon.Type.Attention
|
||||
backgroundType = MessageBottomSheetUMV2.Icon.BackgroundType.SameAsTint
|
||||
}
|
||||
title = resourceReference(R.string.unexpected_error_title)
|
||||
body = resourceReference(R.string.unexpected_error_description)
|
||||
}
|
||||
secondaryButton {
|
||||
text = resourceReference(R.string.common_got_it)
|
||||
onClick { closeBs() }
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue