Updated on 2026-08-14
This commit is contained in:
commit
5d368c413e
23 changed files with 147 additions and 340 deletions
|
|
@ -126,6 +126,7 @@
|
|||
<string name="common_approval">Genehmigung</string>
|
||||
<string name="common_approve">Genehmigen</string>
|
||||
<string name="common_attention">Achtung</string>
|
||||
<string name="common_available_networks">Verfügbare Netzwerke</string>
|
||||
<string name="common_backup">Sicherungskopie</string>
|
||||
<string name="common_balance">Bilanz: %s</string>
|
||||
<string name="common_balance_title">Saldo</string>
|
||||
|
|
@ -140,6 +141,7 @@
|
|||
<string name="common_choose_action">Aktion wählen</string>
|
||||
<string name="common_choose_network">Netzwerk auswählen</string>
|
||||
<string name="common_choose_token">Token auswählen</string>
|
||||
<string name="common_choose_wallet">Wallet auswählen</string>
|
||||
<string name="common_claim">Beanspruchen</string>
|
||||
<string name="common_claim_rewards">Stakingbelohnungen beanspruchen</string>
|
||||
<string name="common_close">Schließen</string>
|
||||
|
|
@ -201,6 +203,7 @@
|
|||
<string name="common_nft">NFT</string>
|
||||
<string name="common_no">Nein</string>
|
||||
<string name="common_no_address">Keine Adresse</string>
|
||||
<string name="common_not_added">Nicht hinzugefügt</string>
|
||||
<string name="common_now">Jetzt</string>
|
||||
<string name="common_ok">OK</string>
|
||||
<string name="common_open_in_browser">Im Browser öffnen</string>
|
||||
|
|
@ -476,14 +479,12 @@
|
|||
<string name="manage_tokens_toast_portfolio_updated">Dein Portfolio wurde aktualisiert</string>
|
||||
<string name="manage_tokens_unavailable_description">Der ausgewählte Token ist derzeit nicht für Aktionen innerhalb der Krypto-Wallet verfügbar. Aber keine Sorge, du kannst dein Interesse bekunden, indem du den Token hochstufen.</string>
|
||||
<string name="manage_tokens_unavailable_vote">Hochstimmen</string>
|
||||
<string name="manage_tokens_wallet_selector_title">Wallet auswählen</string>
|
||||
<string name="manage_tokens_wallet_support_only_one_network_title">Das Wallet unterstützt nicht mehr als ein Netzwerk</string>
|
||||
<string name="markets_add_to_my_portfolio_description">Um dieses Asset zu kaufen, zu tauschen oder zu erhalten, füge diesen Deinem Portfolio hinzu</string>
|
||||
<string name="markets_add_to_my_portfolio_unavailable_description">Dieses Asset wird derzeit in der Wallet nicht unterstützt.</string>
|
||||
<string name="markets_add_to_my_portfolio_unavailable_for_wallet_description">Dieses Asset ist für dieses Wallet nicht verfügbar</string>
|
||||
<string name="markets_add_token">Hinzufügen</string>
|
||||
<string name="markets_apy_placeholder">APY %s</string>
|
||||
<string name="markets_available_networks">Verfügbare Netzwerke</string>
|
||||
<string name="markets_common_my_portfolio">Mein Portfolio</string>
|
||||
<string name="markets_common_title">Markt</string>
|
||||
<string name="markets_generate_addresses_notification">Um Adressen für ausgewählte Netzwerke zu generieren, musst du eine Tangem-Karte oder Ring scannen</string>
|
||||
|
|
@ -617,7 +618,6 @@
|
|||
<string name="nft_receive_title">NFT erhalten</string>
|
||||
<string name="nft_receive_unavailable_asset_warning_message">Du hast dieses Netzwerk noch nicht hinzugefügt. Um NFTs zu erhalten, füge es Deinem Portfolio hinzu.</string>
|
||||
<string name="nft_receive_unavailable_asset_warning_title">Netzwerk nicht hinzugefügt</string>
|
||||
<string name="nft_receive_unavailable_section_title">Nicht hinzugefügt</string>
|
||||
<string name="nft_receive_unsupported_types">Nicht unterstützte NFT-Arten</string>
|
||||
<string name="nft_receive_unsupported_types_description">cNFTs und pNFTs werden derzeit nicht unterstützt. Bitte sende diese nicht an Deine Wallet.</string>
|
||||
<string name="nft_send">NFT senden</string>
|
||||
|
|
|
|||
|
|
@ -115,6 +115,7 @@
|
|||
<string name="common_approval">Aprobación</string>
|
||||
<string name="common_approve">Aprobar</string>
|
||||
<string name="common_attention">Atención</string>
|
||||
<string name="common_available_networks">Redes disponibles</string>
|
||||
<string name="common_balance">Saldo: %s</string>
|
||||
<string name="common_balance_title">Saldo</string>
|
||||
<string name="common_biometric_authentication">autenticación biométrica</string>
|
||||
|
|
@ -128,6 +129,7 @@
|
|||
<string name="common_choose_action">Elige una acción</string>
|
||||
<string name="common_choose_network">Elegir red</string>
|
||||
<string name="common_choose_token">Elige token</string>
|
||||
<string name="common_choose_wallet">Elegir wallet</string>
|
||||
<string name="common_claim">Reclamar</string>
|
||||
<string name="common_claim_rewards">Reclame recompensas</string>
|
||||
<string name="common_close">Cerrar</string>
|
||||
|
|
@ -188,6 +190,7 @@
|
|||
<string name="common_nft">NFT</string>
|
||||
<string name="common_no">No</string>
|
||||
<string name="common_no_address">Ninguna dirección</string>
|
||||
<string name="common_not_added">No aregada</string>
|
||||
<string name="common_now">Ahora</string>
|
||||
<string name="common_ok">OK</string>
|
||||
<string name="common_open_in_browser">Abrir en el navegador</string>
|
||||
|
|
@ -448,14 +451,12 @@
|
|||
<string name="manage_tokens_toast_portfolio_updated">Su portafolio ha sido actualizada</string>
|
||||
<string name="manage_tokens_unavailable_description">El token seleccionado no está disponible actualmente para acciones dentro de la billetera cripto. Pero no se preocupa, puede expresar su interés votando a favor.</string>
|
||||
<string name="manage_tokens_unavailable_vote">Votar a favor</string>
|
||||
<string name="manage_tokens_wallet_selector_title">Elegir wallet</string>
|
||||
<string name="manage_tokens_wallet_support_only_one_network_title">La billetera no admite más de una red</string>
|
||||
<string name="markets_add_to_my_portfolio_description">Para comprar, intercambiar o recibir este activo, agréguelo a su portafolio</string>
|
||||
<string name="markets_add_to_my_portfolio_unavailable_description">Este activo no está disponible en la billetera</string>
|
||||
<string name="markets_add_to_my_portfolio_unavailable_for_wallet_description">Este activo no está disponible para esta billetera</string>
|
||||
<string name="markets_add_token">Añadir</string>
|
||||
<string name="markets_apy_placeholder">APY %s</string>
|
||||
<string name="markets_available_networks">Redes disponibles</string>
|
||||
<string name="markets_common_my_portfolio">Mi portafolio</string>
|
||||
<string name="markets_common_title">Mercado</string>
|
||||
<string name="markets_generate_addresses_notification">Para generar direcciones para las redes seleccionadas, debe escanear su tarjeta Tangem</string>
|
||||
|
|
@ -589,7 +590,6 @@
|
|||
<string name="nft_receive_title">Recibir NFT</string>
|
||||
<string name="nft_receive_unavailable_asset_warning_message">Todavía no ha agregado esta red. Para recibir NFTs, añádala a su portafolio.</string>
|
||||
<string name="nft_receive_unavailable_asset_warning_title">Red no agregada</string>
|
||||
<string name="nft_receive_unavailable_section_title">No aregada</string>
|
||||
<string name="nft_receive_unsupported_types">Tipos de NFT no compatibles</string>
|
||||
<string name="nft_receive_unsupported_types_description">cNFT y pNFT aún no son compatibles. Por favor, no los envíes a tu billetera.</string>
|
||||
<string name="nft_send">Enviar NFT</string>
|
||||
|
|
|
|||
|
|
@ -105,6 +105,7 @@
|
|||
<string name="common_approval">Approbation</string>
|
||||
<string name="common_approve">Approuver</string>
|
||||
<string name="common_attention">Attention</string>
|
||||
<string name="common_available_networks">Réseaux disponibles</string>
|
||||
<string name="common_balance">Solde : %s</string>
|
||||
<string name="common_balance_title">Solde</string>
|
||||
<string name="common_biometric_authentication">authentification biométrique</string>
|
||||
|
|
@ -118,6 +119,7 @@
|
|||
<string name="common_choose_action">Choisissez une action</string>
|
||||
<string name="common_choose_network">Choisissez le réseau</string>
|
||||
<string name="common_choose_token">Choisir le jeton</string>
|
||||
<string name="common_choose_wallet">Choisissez un portefeuille</string>
|
||||
<string name="common_claim">Réclamer</string>
|
||||
<string name="common_claim_rewards">Réclamez des récompenses</string>
|
||||
<string name="common_close">Fermer</string>
|
||||
|
|
@ -175,6 +177,7 @@
|
|||
<string name="common_nft">NFT</string>
|
||||
<string name="common_no">Non</string>
|
||||
<string name="common_no_address">Aucune adresse</string>
|
||||
<string name="common_not_added">Non ajouté</string>
|
||||
<string name="common_now">Maintenant</string>
|
||||
<string name="common_ok">OK</string>
|
||||
<string name="common_open_in_browser">Ouvrir dans le navigateur</string>
|
||||
|
|
@ -434,14 +437,12 @@
|
|||
<string name="manage_tokens_toast_portfolio_updated">Votre portfolio a été mis à jour</string>
|
||||
<string name="manage_tokens_unavailable_description">Le jeton sélectionné n\'est actuellement pas disponible pour des actions dans le portefeuille crypto. Mais ne vous inquiétez pas, vous pouvez exprimer votre intérêt en votant positivement.</string>
|
||||
<string name="manage_tokens_unavailable_vote">Vote positif</string>
|
||||
<string name="manage_tokens_wallet_selector_title">Choisissez un portefeuille</string>
|
||||
<string name="manage_tokens_wallet_support_only_one_network_title">Le portefeuille ne prend pas en charge plus d\'un réseau</string>
|
||||
<string name="markets_add_to_my_portfolio_description">Pour acheter, échanger ou recevoir cet actif, ajoutez-le à votre portefeuille</string>
|
||||
<string name="markets_add_to_my_portfolio_unavailable_description">Cet actif n\'est pas pris en charge dans le portefeuille</string>
|
||||
<string name="markets_add_to_my_portfolio_unavailable_for_wallet_description">Cet actif n\'est pas disponible pour ce portefeuille</string>
|
||||
<string name="markets_add_token">Ajoutez un jeton</string>
|
||||
<string name="markets_apy_placeholder">APY %s</string>
|
||||
<string name="markets_available_networks">Réseaux disponibles</string>
|
||||
<string name="markets_common_my_portfolio">Mon portfolio</string>
|
||||
<string name="markets_common_title">Marché</string>
|
||||
<string name="markets_generate_addresses_notification">Pour générer des adresses pour les réseaux sélectionnés, vous devez scanner votre carte Tangem</string>
|
||||
|
|
@ -575,7 +576,6 @@
|
|||
<string name="nft_receive_title">Recevoir des NFT</string>
|
||||
<string name="nft_receive_unavailable_asset_warning_message">Vous n\'avez pas encore ajouté ce réseau. Pour recevoir des NFT, ajoutez-le à votre portefeuille.</string>
|
||||
<string name="nft_receive_unavailable_asset_warning_title">Réseau non ajouté</string>
|
||||
<string name="nft_receive_unavailable_section_title">Non ajouté</string>
|
||||
<string name="nft_receive_unsupported_types">Types de NFT non pris en charge</string>
|
||||
<string name="nft_receive_unsupported_types_description">Les cNFT et les pNFT ne sont pas encore pris en charge</string>
|
||||
<string name="nft_send">Envoyer un NFT</string>
|
||||
|
|
|
|||
|
|
@ -145,6 +145,7 @@
|
|||
<string name="common_approval">承認</string>
|
||||
<string name="common_approve">承認</string>
|
||||
<string name="common_attention">注意</string>
|
||||
<string name="common_available_networks">利用可能なネットワーク</string>
|
||||
<string name="common_backup">バックアップ</string>
|
||||
<string name="common_balance">残高: %s</string>
|
||||
<string name="common_balance_title">残高</string>
|
||||
|
|
@ -159,6 +160,7 @@
|
|||
<string name="common_choose_action">アクションを選択</string>
|
||||
<string name="common_choose_network">ネットワークを選択</string>
|
||||
<string name="common_choose_token">トークンを選択</string>
|
||||
<string name="common_choose_wallet">ウォレットを選択</string>
|
||||
<string name="common_claim">請求</string>
|
||||
<string name="common_claim_rewards">報酬を受け取る</string>
|
||||
<string name="common_close">閉じる</string>
|
||||
|
|
@ -218,6 +220,7 @@
|
|||
<string name="common_nft">NFT</string>
|
||||
<string name="common_no">いいえ</string>
|
||||
<string name="common_no_address">アドレスがありません</string>
|
||||
<string name="common_not_added">未追加</string>
|
||||
<string name="common_now">今</string>
|
||||
<string name="common_ok">わかりました</string>
|
||||
<string name="common_open_in_browser">ブラウザで開く</string>
|
||||
|
|
@ -329,6 +332,9 @@
|
|||
<string name="details_title">詳細</string>
|
||||
<string name="disclaimer_error_loading">インターネット接続を確認するか、別のネットワークに切り替えてください。</string>
|
||||
<string name="disclaimer_title">利用規約</string>
|
||||
<string name="domain_receive_assets_onboarding_description">他のネットワークで資産を送金すると、永久に失われます。</string>
|
||||
<string name="domain_receive_assets_onboarding_network_name">%sネットワーク</string>
|
||||
<string name="domain_receive_assets_onboarding_title">下記のみを使用して資金を送金する</string>
|
||||
<string name="error_wrong_wallet_tapped">別のウォレットのカードまたはリングを使用しました。このウォレットにリンクしているカードまたはリングをタップしてください。</string>
|
||||
<string name="eth_gas_required_exceeds_allowance">取引に必要な資金が不足しています。アカウントに入金してください。</string>
|
||||
<string name="exchange_tokens_available_tokens_header">マイトークン</string>
|
||||
|
|
@ -494,14 +500,12 @@
|
|||
<string name="manage_tokens_toast_portfolio_updated">ポートフォリオが更新されました</string>
|
||||
<string name="manage_tokens_unavailable_description">選択したトークンは現在、暗号資産ウォレット内でのアクションには利用できません。しかし、心配しないでください。賛成票を投じることで関心を表明できます。</string>
|
||||
<string name="manage_tokens_unavailable_vote">賛成票を投じる</string>
|
||||
<string name="manage_tokens_wallet_selector_title">ウォレットを選択</string>
|
||||
<string name="manage_tokens_wallet_support_only_one_network_title">ウォレットは複数のネットワークをサポートしていません。</string>
|
||||
<string name="markets_add_to_my_portfolio_description">このアセットを購入・交換・受け取るには、ポートフォリオに追加してください。</string>
|
||||
<string name="markets_add_to_my_portfolio_unavailable_description">このアセットは現在ウォレットで利用できません</string>
|
||||
<string name="markets_add_to_my_portfolio_unavailable_for_wallet_description">このアセットはこのウォレットでは使用できません。</string>
|
||||
<string name="markets_add_token">追加</string>
|
||||
<string name="markets_apy_placeholder">APY %s</string>
|
||||
<string name="markets_available_networks">利用可能なネットワーク</string>
|
||||
<string name="markets_common_my_portfolio">私のポートフォリオ</string>
|
||||
<string name="markets_common_title">マーケット</string>
|
||||
<string name="markets_generate_addresses_notification">選択したネットワークのアドレスを生成するには、Tangemウォレットカードまたはリングをスキャンする必要があります。</string>
|
||||
|
|
@ -632,7 +636,6 @@
|
|||
<string name="nft_receive_title">NFTを受け取る</string>
|
||||
<string name="nft_receive_unavailable_asset_warning_message">このネットワークはまだ追加されていません。NFTを受け取るには、ポートフォリオに追加してください。</string>
|
||||
<string name="nft_receive_unavailable_asset_warning_title">ネットワークが追加されていません</string>
|
||||
<string name="nft_receive_unavailable_section_title">未追加</string>
|
||||
<string name="nft_receive_unsupported_types">サポートされていないNFTタイプ</string>
|
||||
<string name="nft_receive_unsupported_types_description">cNFTとpNFTはまだサポートされていません。ウォレットに送信しないでください。</string>
|
||||
<string name="nft_send">NFTを送信する</string>
|
||||
|
|
@ -1426,6 +1429,7 @@
|
|||
<string name="wc_common_networks">ネットワーク</string>
|
||||
<string name="wc_common_unlimited">無制限</string>
|
||||
<string name="wc_common_wallet">ウォレット</string>
|
||||
<string name="wc_connected_app_title">接続されたアプリ</string>
|
||||
<string name="wc_connected_networks">接続されたネットワーク</string>
|
||||
<string name="wc_connection_reqeust_can_view_balance">ウォレットの残高とアクティビティを表示する</string>
|
||||
<string name="wc_connection_reqeust_cant_sign">通知なしに取引に署名する</string>
|
||||
|
|
@ -1456,6 +1460,8 @@
|
|||
<string name="wc_request_from">リクエスト元</string>
|
||||
<string name="wc_send_anyway">とにかく送金</string>
|
||||
<string name="wc_signature_type">署名タイプ</string>
|
||||
<string name="wc_specify_networks_subtitle">dApp接続には、少なくとも1つのネットワークが必要です</string>
|
||||
<string name="wc_specify_networks_title">選択したネットワークを指定する</string>
|
||||
<string name="wc_transaction_info_to_title">宛先</string>
|
||||
<string name="wc_transaction_request">取引リクエスト</string>
|
||||
<string name="wc_transaction_request_title">取引リクエスト</string>
|
||||
|
|
|
|||
|
|
@ -102,6 +102,7 @@
|
|||
<string name="common_approval">Одобрение</string>
|
||||
<string name="common_approve">Подтвердить</string>
|
||||
<string name="common_attention">Внимание</string>
|
||||
<string name="common_available_networks">Доступные сети</string>
|
||||
<string name="common_balance">Баланс: %s</string>
|
||||
<string name="common_balance_title">Баланс</string>
|
||||
<string name="common_biometric_authentication">биометрическую аутентификацию</string>
|
||||
|
|
@ -115,6 +116,7 @@
|
|||
<string name="common_choose_action">Выберите действие</string>
|
||||
<string name="common_choose_network">Выберите сеть</string>
|
||||
<string name="common_choose_token">Выберите токен</string>
|
||||
<string name="common_choose_wallet">Выберите кошелек</string>
|
||||
<string name="common_claim">Получить</string>
|
||||
<string name="common_claim_rewards">Вывести награду</string>
|
||||
<string name="common_close">Закрыть</string>
|
||||
|
|
@ -174,6 +176,7 @@
|
|||
<string name="common_nft">NFT</string>
|
||||
<string name="common_no">Нет</string>
|
||||
<string name="common_no_address">Нет адреса</string>
|
||||
<string name="common_not_added">Не добавлено</string>
|
||||
<string name="common_now">Сейчас</string>
|
||||
<string name="common_ok">OK</string>
|
||||
<string name="common_open_in_browser">Открыть в браузере</string>
|
||||
|
|
@ -427,13 +430,11 @@
|
|||
<string name="manage_tokens_toast_portfolio_updated">Ваш портфель был обновлен</string>
|
||||
<string name="manage_tokens_unavailable_description">Выбранный токен не доступен в кошельке на данный момент. Но не переживайте, вы можете выразить свой интерес проголосовав за его добавление.</string>
|
||||
<string name="manage_tokens_unavailable_vote">Голосовать</string>
|
||||
<string name="manage_tokens_wallet_selector_title">Выберите кошелек</string>
|
||||
<string name="manage_tokens_wallet_support_only_one_network_title">Кошелёк не поддерживает более одной сети</string>
|
||||
<string name="markets_add_to_my_portfolio_description">Чтобы купить, обменять или получить данный токен, вам нужно добавить его к себе в портфель</string>
|
||||
<string name="markets_add_to_my_portfolio_unavailable_description">Этот актив в настоящее время не поддерживается в кошельке</string>
|
||||
<string name="markets_add_to_my_portfolio_unavailable_for_wallet_description">Этот токен не доступен для данного кошелька</string>
|
||||
<string name="markets_add_token">Добавить</string>
|
||||
<string name="markets_available_networks">Доступные сети</string>
|
||||
<string name="markets_common_my_portfolio">Мой портфель</string>
|
||||
<string name="markets_common_title">Рынок</string>
|
||||
<string name="markets_generate_addresses_notification">Чтобы создать адреса для выбранных сетей, отсканируйте вашу карту или кольцо Tangem кошелька</string>
|
||||
|
|
@ -573,7 +574,6 @@
|
|||
<string name="nft_receive_title">Получить NFT</string>
|
||||
<string name="nft_receive_unavailable_asset_warning_message">Вы ещё не добавили эту сеть. Чтобы получать NFT, добавьте её в ваш портфель.</string>
|
||||
<string name="nft_receive_unavailable_asset_warning_title">Сеть не добавлена</string>
|
||||
<string name="nft_receive_unavailable_section_title">Не добавлено</string>
|
||||
<string name="nft_receive_unsupported_types">Неподдерживаемый тип NFT</string>
|
||||
<string name="nft_receive_unsupported_types_description">cNFT и pNFT не поддерживаются. Пожалуйста, не отправляйте их на свой кошелёк.</string>
|
||||
<string name="nft_send">Отправить NFT</string>
|
||||
|
|
@ -1281,7 +1281,7 @@
|
|||
<string name="warning_token_balance_not_updated">Возможно, баланс устарел. Обновите страницу.</string>
|
||||
<string name="warning_token_required_min_coin_reserve">Недостаточно %1$s. Пополните свой счет %2$s для выполнения ассоциации токена</string>
|
||||
<string name="warning_token_trustline_button_title">Открыть Trustline</string>
|
||||
<string name="warning_token_trustline_subtitle">Согласно правилам сети, чтобы пополнить этот токен, необходимо сначала открыть Trustline — это позволит вашему кошельку принимать и хранить этот актив.</string>
|
||||
<string name="warning_token_trustline_subtitle">Чтобы получить этот токен, необходимо включить Trustline. Сеть требует резерв %1$s %2$s.</string>
|
||||
<string name="warning_token_trustline_title">Требуется трастлайн</string>
|
||||
<string name="wc_alert_audit_malicious_domain">Вредоносный домен</string>
|
||||
<string name="wc_alert_audit_unknown_domain">Неизвестный домен</string>
|
||||
|
|
|
|||
|
|
@ -102,6 +102,7 @@
|
|||
<string name="common_approval">Затвердження</string>
|
||||
<string name="common_approve">Підтвердити</string>
|
||||
<string name="common_attention">Увага</string>
|
||||
<string name="common_available_networks">Доступні мережі</string>
|
||||
<string name="common_balance">Баланс: %s</string>
|
||||
<string name="common_balance_title">Баланс</string>
|
||||
<string name="common_biometric_authentication">біометричну автентифікацію</string>
|
||||
|
|
@ -114,6 +115,7 @@
|
|||
<string name="common_change">Змінити</string>
|
||||
<string name="common_choose_action">Виберіть дію</string>
|
||||
<string name="common_choose_token">Оберіть токен</string>
|
||||
<string name="common_choose_wallet">Оберіть гаманець</string>
|
||||
<string name="common_claim">Отримати</string>
|
||||
<string name="common_claim_rewards">Отримати винагороди</string>
|
||||
<string name="common_close">Закрити</string>
|
||||
|
|
@ -173,6 +175,7 @@
|
|||
<string name="common_nft">NFT</string>
|
||||
<string name="common_no">Ні</string>
|
||||
<string name="common_no_address">Немає адреси</string>
|
||||
<string name="common_not_added">Не додано</string>
|
||||
<string name="common_now">Зараз</string>
|
||||
<string name="common_ok">ОК</string>
|
||||
<string name="common_open_in_browser">Відкрити в браузері</string>
|
||||
|
|
@ -426,13 +429,11 @@
|
|||
<string name="manage_tokens_toast_portfolio_updated">Ваше портфоліо оновлено</string>
|
||||
<string name="manage_tokens_unavailable_description">Обраний токен наразі недоступний для дій у криптогаманці. Але не хвилюйтеся, ви можете висловити свою зацікавленість, проголосувавши за його інтеграцію.</string>
|
||||
<string name="manage_tokens_unavailable_vote">Проголосувати</string>
|
||||
<string name="manage_tokens_wallet_selector_title">Оберіть гаманець</string>
|
||||
<string name="manage_tokens_wallet_support_only_one_network_title">Гаманець не підтримує більше однієї мережі</string>
|
||||
<string name="markets_add_to_my_portfolio_description">Щоб купити, обміняти або отримати цей актив, додайте його до свого портфоліо</string>
|
||||
<string name="markets_add_to_my_portfolio_unavailable_description">Цей актив наразі не підтримується в гаманці</string>
|
||||
<string name="markets_add_to_my_portfolio_unavailable_for_wallet_description">Цей токен недоступний для цього гаманця</string>
|
||||
<string name="markets_add_token">Додати</string>
|
||||
<string name="markets_available_networks">Доступні мережі</string>
|
||||
<string name="markets_common_my_portfolio">Моє портфоліо</string>
|
||||
<string name="markets_common_title">Маркет</string>
|
||||
<string name="markets_generate_addresses_notification">Щоб згенерувати адреси для обраних мереж, відскануйте вашу картку або кільце Tangem гаманця</string>
|
||||
|
|
@ -572,7 +573,6 @@
|
|||
<string name="nft_receive_title">Отримати NFT</string>
|
||||
<string name="nft_receive_unavailable_asset_warning_message">Ви ще не додали цю мережу. Щоб отримувати NFT, додайте її до свого портфоліо.</string>
|
||||
<string name="nft_receive_unavailable_asset_warning_title">Мережу не додано</string>
|
||||
<string name="nft_receive_unavailable_section_title">Не додано</string>
|
||||
<string name="nft_receive_unsupported_types">Непідтримувані типи NFT</string>
|
||||
<string name="nft_receive_unsupported_types_description">cNFT і pNFT наразі не підтримуються. Будь ласка, не надсилайте їх на свій гаманець.</string>
|
||||
<string name="nft_send">Надіслати NFT</string>
|
||||
|
|
@ -1280,7 +1280,7 @@
|
|||
<string name="warning_token_balance_not_updated">Баланс може бути застарілим. Оновіть сторінку.</string>
|
||||
<string name="warning_token_required_min_coin_reserve">Недостатньо %1$s. Поповніть свій рахунок %2$s, щоб прив’язати цей токен.</string>
|
||||
<string name="warning_token_trustline_button_title">Відкрити Trustline</string>
|
||||
<string name="warning_token_trustline_subtitle">Відповідно до правил мережі, щоб поповнити цей токен, спочатку потрібно відкрити Trustline — це дозволить вашому гаманцю приймати та зберігати цей актив.</string>
|
||||
<string name="warning_token_trustline_subtitle">Щоб отримати цей токен, потрібно увімкнути Trustline. Мережа вимагає резерв %1$s %2$s.</string>
|
||||
<string name="warning_token_trustline_title">Відкрийте Trustline</string>
|
||||
<string name="wc_alert_session_disconnected_description">Будь ласка, поверніться до браузеру і повторно підключіться через WalletConnect.</string>
|
||||
<string name="wc_alert_wrong_card_description">Обрана не вірна картка або кільце</string>
|
||||
|
|
|
|||
|
|
@ -149,6 +149,7 @@
|
|||
<string name="common_approval">Approval</string>
|
||||
<string name="common_approve">Approve</string>
|
||||
<string name="common_attention">Attention</string>
|
||||
<string name="common_available_networks">Available networks</string>
|
||||
<string name="common_backup">Backup</string>
|
||||
<string name="common_balance">Balance: %s</string>
|
||||
<string name="common_balance_title">Balance</string>
|
||||
|
|
@ -163,6 +164,7 @@
|
|||
<string name="common_choose_action">Choose action</string>
|
||||
<string name="common_choose_network">Choose network</string>
|
||||
<string name="common_choose_token">Choose token</string>
|
||||
<string name="common_choose_wallet">Choose wallet</string>
|
||||
<string name="common_claim">Claim</string>
|
||||
<string name="common_claim_rewards">Claim rewards</string>
|
||||
<string name="common_close">Close</string>
|
||||
|
|
@ -224,6 +226,7 @@
|
|||
<string name="common_nft">NFT</string>
|
||||
<string name="common_no">No</string>
|
||||
<string name="common_no_address">No address</string>
|
||||
<string name="common_not_added">Not Added</string>
|
||||
<string name="common_now">Now</string>
|
||||
<string name="common_ok">OK</string>
|
||||
<string name="common_open_in_browser">Open in Browser</string>
|
||||
|
|
@ -239,6 +242,7 @@
|
|||
<string name="common_reject">Reject</string>
|
||||
<string name="common_reload">Reload</string>
|
||||
<string name="common_rename">Rename</string>
|
||||
<string name="common_required">Required</string>
|
||||
<string name="common_save">Save</string>
|
||||
<string name="common_save_changes">Save changes</string>
|
||||
<string name="common_search">Search</string>
|
||||
|
|
@ -336,6 +340,9 @@
|
|||
<string name="details_title">Details</string>
|
||||
<string name="disclaimer_error_loading">Check your internet connection or switch to a different network</string>
|
||||
<string name="disclaimer_title">Terms of service</string>
|
||||
<string name="domain_receive_assets_onboarding_description">Sending assets in other networks will result in permanent loss.</string>
|
||||
<string name="domain_receive_assets_onboarding_network_name">%s network</string>
|
||||
<string name="domain_receive_assets_onboarding_title">Send funds using only</string>
|
||||
<string name="error_wrong_wallet_tapped">You have used a card or ring from another wallet. Tap the card or ring associated with this wallet</string>
|
||||
<string name="eth_gas_required_exceeds_allowance">Not enough funds for the transaction. Please top up your account.</string>
|
||||
<string name="exchange_tokens_available_tokens_header">My tokens</string>
|
||||
|
|
@ -506,14 +513,12 @@
|
|||
<string name="manage_tokens_toast_portfolio_updated">Your portfolio has been updated</string>
|
||||
<string name="manage_tokens_unavailable_description">The selected token is currently unavailable for actions within the crypto wallet. But worry not, you can express your interest by upvoting it.</string>
|
||||
<string name="manage_tokens_unavailable_vote">Upvote</string>
|
||||
<string name="manage_tokens_wallet_selector_title">Choose wallet</string>
|
||||
<string name="manage_tokens_wallet_support_only_one_network_title">The wallet doesn\'t support more than one network</string>
|
||||
<string name="markets_add_to_my_portfolio_description">To buy, exchange, or receive this asset, add it to your portfolio</string>
|
||||
<string name="markets_add_to_my_portfolio_unavailable_description">This asset is currently not supported in the wallet</string>
|
||||
<string name="markets_add_to_my_portfolio_unavailable_for_wallet_description">This asset is not available for this wallet</string>
|
||||
<string name="markets_add_token">Add</string>
|
||||
<string name="markets_apy_placeholder">APY %s</string>
|
||||
<string name="markets_available_networks">Available networks</string>
|
||||
<string name="markets_common_my_portfolio">My portfolio</string>
|
||||
<string name="markets_common_title">Market</string>
|
||||
<string name="markets_generate_addresses_notification">To generate addresses for selected networks, you must scan your Tangem Wallet card or ring</string>
|
||||
|
|
@ -647,7 +652,6 @@
|
|||
<string name="nft_receive_title">Receive NFT</string>
|
||||
<string name="nft_receive_unavailable_asset_warning_message">You haven\'t added this network yet. To receive NFTs, add it to your portfolio.</string>
|
||||
<string name="nft_receive_unavailable_asset_warning_title">Network not added</string>
|
||||
<string name="nft_receive_unavailable_section_title">Not Added</string>
|
||||
<string name="nft_receive_unsupported_types">Unsupported NFT types</string>
|
||||
<string name="nft_receive_unsupported_types_description">cNFTs and pNFTs are not supported yet. Please don\'t send them to your wallet.</string>
|
||||
<string name="nft_send">Send NFT</string>
|
||||
|
|
@ -1367,9 +1371,11 @@
|
|||
<string name="wallet_promo_banner_title">Discover Tangem Wallet</string>
|
||||
<string name="wallet_settings_access_code_description">Secret code to protect this wallet. Used for login and signatures.</string>
|
||||
<string name="wallet_settings_access_code_title">Set/Change Access Code</string>
|
||||
<string name="wallet_settings_change_access_code_title">Change Access Code</string>
|
||||
<string name="wallet_settings_push_notifications_description">Stay notified on wallet incoming transactions and Tangem updates.</string>
|
||||
<string name="wallet_settings_push_notifications_huawei_warning">Push notifications may currently not work on Huawei devices. We\'re actively working on a solution and will release a fix in an upcoming update. Thank you for your understanding!</string>
|
||||
<string name="wallet_settings_push_notifications_title">Transaction Notifications</string>
|
||||
<string name="wallet_settings_set_access_code_title">Set Access Code</string>
|
||||
<string name="wallet_settings_title">Wallet settings</string>
|
||||
<string name="wallet_title">Tangem</string>
|
||||
<string name="warning_access_denied_message">Use %s or scan a card/ring to unlock access to your wallet</string>
|
||||
|
|
@ -1487,6 +1493,7 @@
|
|||
<string name="wc_alert_verified_domain_title">Verified domain</string>
|
||||
<string name="wc_alert_wrong_card_description">Wrong card or ring selected in the App</string>
|
||||
<string name="wc_alert_wrong_card_title">We\'ve got some kind of problem</string>
|
||||
<string name="wc_all_dapps_disconnected">All dApps disconnected</string>
|
||||
<string name="wc_allow_to_spend">Allow to spend</string>
|
||||
<string name="wc_common_address">Address</string>
|
||||
<string name="wc_common_connect">Connect</string>
|
||||
|
|
@ -1495,7 +1502,9 @@
|
|||
<string name="wc_common_networks">Networks</string>
|
||||
<string name="wc_common_unlimited">Unlimited</string>
|
||||
<string name="wc_common_wallet">Wallet</string>
|
||||
<string name="wc_connected_app_title">Connected App</string>
|
||||
<string name="wc_connected_networks">Connected networks</string>
|
||||
<string name="wc_connected_to">Connected to %1$s</string>
|
||||
<string name="wc_connection_reqeust_can_view_balance">View your wallet balance and activity</string>
|
||||
<string name="wc_connection_reqeust_cant_sign">Sign transactions without your notice</string>
|
||||
<string name="wc_connection_reqeust_request_approval">Request approval for transactions</string>
|
||||
|
|
@ -1506,6 +1515,7 @@
|
|||
<string name="wc_contents">Contents</string>
|
||||
<string name="wc_copy_data_button_text">Copy data</string>
|
||||
<string name="wc_custom_allowance_title">Custom allowance</string>
|
||||
<string name="wc_dapp_disconnected">dApp disconnected</string>
|
||||
<string name="wc_disconnect_all">Disconnect all</string>
|
||||
<string name="wc_disconnect_all_alert_desc">Text about discnected all dApps</string>
|
||||
<string name="wc_disconnect_all_alert_title">Disconect All dApps</string>
|
||||
|
|
@ -1513,6 +1523,8 @@
|
|||
<string name="wc_estimated_wallet_changes_not_simulated">The transaction couldn\'t be simulated. Please proceed with caution.</string>
|
||||
<string name="wc_estimation_is_not_supported">Estimation is not supported for %s</string>
|
||||
<string name="wc_fee_suggested">Suggested by %s</string>
|
||||
<string name="wc_insufficient_warning_subtitle">Top up your balance to cover the network fee</string>
|
||||
<string name="wc_insufficient_warning_title">Insufficient %1$s</string>
|
||||
<string name="wc_malicious_transaction">Malicious transaction</string>
|
||||
<string name="wc_missing_required_network_description">Add the %s network to your portfolio for this wallet</string>
|
||||
<string name="wc_missing_required_network_title">The wallet has no required networks</string>
|
||||
|
|
@ -1525,6 +1537,9 @@
|
|||
<string name="wc_request_from">Request from</string>
|
||||
<string name="wc_send_anyway">Send anyway</string>
|
||||
<string name="wc_signature_type">Signature Type</string>
|
||||
<string name="wc_specify_networks_subtitle">At least one network is required for dApp connection</string>
|
||||
<string name="wc_specify_networks_title">Specify selected networks</string>
|
||||
<string name="wc_successfully_signed">Successfully signed</string>
|
||||
<string name="wc_transaction_info_to_title">To</string>
|
||||
<string name="wc_transaction_request">Transaction request</string>
|
||||
<string name="wc_transaction_request_title">Transaction request</string>
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ internal fun WalletSelectorBottomSheet(config: TangemBottomSheetConfig) {
|
|||
addBottomInsets = false,
|
||||
title = { content ->
|
||||
TangemTopAppBar(
|
||||
title = resourceReference(R.string.manage_tokens_wallet_selector_title),
|
||||
title = resourceReference(R.string.common_choose_wallet),
|
||||
titleAlignment = Alignment.CenterHorizontally,
|
||||
startButton = TopAppBarButtonUM.Back(content.onBack),
|
||||
height = TangemTopAppBarHeight.BOTTOM_SHEET,
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ internal fun NFTReceiveNetworksContent(state: NFTReceiveUM.Networks.Content, mod
|
|||
item(
|
||||
key = "not_available_title",
|
||||
) {
|
||||
Title(resourceReference(R.string.nft_receive_unavailable_section_title))
|
||||
Title(resourceReference(R.string.common_not_added))
|
||||
}
|
||||
networks(state.unavailableItems)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,38 +33,10 @@ internal class AlertsComponent(
|
|||
internal sealed class AlertType : TangemBottomSheetConfigContent {
|
||||
abstract val onDismiss: () -> Unit
|
||||
|
||||
@Serializable
|
||||
data class VerifiedDomain(val appName: String, override val onDismiss: () -> Unit) : AlertType()
|
||||
|
||||
@Serializable
|
||||
data class UnknownDomain(val onConnect: () -> Unit, override val onDismiss: () -> Unit) : AlertType()
|
||||
|
||||
@Serializable
|
||||
data class UnsafeDomain(val onConnect: () -> Unit, override val onDismiss: () -> Unit) : AlertType()
|
||||
|
||||
@Serializable
|
||||
data class UnsupportedNetworks(val appName: String, override val onDismiss: () -> Unit) : AlertType()
|
||||
|
||||
@Serializable
|
||||
data class UnsupportedMethod(override val onDismiss: () -> Unit) : AlertType()
|
||||
|
||||
@Serializable
|
||||
data class WcDisconnected(override val onDismiss: () -> Unit) : AlertType()
|
||||
|
||||
@Serializable
|
||||
data class UnknownError(val errorCode: Int, override val onDismiss: () -> Unit) : AlertType()
|
||||
|
||||
@Serializable
|
||||
data class WrongCardSelected(override val onDismiss: () -> Unit) : AlertType()
|
||||
|
||||
@Serializable
|
||||
data class ConnectionTimeout(val onTryAgain: () -> Unit, override val onDismiss: () -> Unit) : AlertType()
|
||||
|
||||
@Serializable
|
||||
data class MaliciousTransaction(
|
||||
val descriptionMessage: String,
|
||||
val onConnect: () -> Unit,
|
||||
override val onDismiss: () -> Unit,
|
||||
) : AlertType()
|
||||
}
|
||||
}
|
||||
|
|
@ -37,7 +37,7 @@ import com.tangem.core.ui.components.bottomsheets.modal.TangemModalBottomSheetWi
|
|||
import com.tangem.core.ui.components.notifications.Notification
|
||||
import com.tangem.core.ui.decompose.ComposableBottomSheetComponent
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.stringReference
|
||||
import com.tangem.core.ui.extensions.stringResourceSafe
|
||||
import com.tangem.core.ui.extensions.wrappedList
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.core.ui.res.TangemThemePreview
|
||||
|
|
@ -98,7 +98,7 @@ private fun WcSelectNetworksBS(
|
|||
containerColor = TangemTheme.colors.background.tertiary,
|
||||
title = {
|
||||
TangemModalBottomSheetTitle(
|
||||
title = stringReference("Choose networks"),
|
||||
title = resourceReference(R.string.common_choose_network),
|
||||
startIconRes = R.drawable.ic_back_24,
|
||||
onStartClick = onBack,
|
||||
)
|
||||
|
|
@ -114,7 +114,7 @@ private fun WcSelectNetworksBS(
|
|||
modifier = Modifier
|
||||
.padding(16.dp)
|
||||
.fillMaxWidth(),
|
||||
text = "Done",
|
||||
text = stringResourceSafe(R.string.common_done),
|
||||
onClick = state.onDone,
|
||||
enabled = state.doneButtonEnabled,
|
||||
)
|
||||
|
|
@ -181,7 +181,7 @@ private fun AvailableNetworksBlock(
|
|||
Column(modifier = modifier) {
|
||||
Text(
|
||||
modifier = Modifier.padding(top = 12.dp, bottom = 4.dp, start = 12.dp, end = 12.dp),
|
||||
text = "Available networks",
|
||||
text = stringResourceSafe(R.string.common_available_networks),
|
||||
style = TangemTheme.typography.subtitle2,
|
||||
color = TangemTheme.colors.text.tertiary,
|
||||
)
|
||||
|
|
@ -203,7 +203,7 @@ private fun NotAddedBlock(notAdded: ImmutableList<WcNetworkInfoItem>, modifier:
|
|||
Column(modifier = modifier) {
|
||||
Text(
|
||||
modifier = Modifier.padding(top = 12.dp, bottom = 4.dp, start = 12.dp, end = 12.dp),
|
||||
text = "Not Added",
|
||||
text = stringResourceSafe(R.string.common_not_added),
|
||||
style = TangemTheme.typography.subtitle2,
|
||||
color = TangemTheme.colors.text.tertiary,
|
||||
)
|
||||
|
|
@ -255,7 +255,7 @@ private fun NetworkItems(networkItem: WcNetworkInfoItem, modifier: Modifier = Mo
|
|||
}
|
||||
}
|
||||
is WcNetworkInfoItem.Required -> Text(
|
||||
text = "Required",
|
||||
text = stringResourceSafe(R.string.common_required),
|
||||
style = TangemTheme.typography.body2,
|
||||
color = TangemTheme.colors.text.tertiary,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ import com.tangem.core.ui.components.bottomsheets.modal.TangemModalBottomSheet
|
|||
import com.tangem.core.ui.components.bottomsheets.modal.TangemModalBottomSheetTitle
|
||||
import com.tangem.core.ui.decompose.ComposableBottomSheetComponent
|
||||
import com.tangem.core.ui.extensions.TextReference
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.stringReference
|
||||
import com.tangem.core.ui.extensions.wrappedList
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
|
|
@ -91,7 +92,7 @@ private fun WcSelectWalletModalBS(
|
|||
containerColor = TangemTheme.colors.background.primary,
|
||||
title = {
|
||||
TangemModalBottomSheetTitle(
|
||||
title = stringReference("Choose wallet"),
|
||||
title = resourceReference(R.string.common_choose_wallet),
|
||||
startIconRes = R.drawable.ic_back_24,
|
||||
onStartClick = onBack,
|
||||
)
|
||||
|
|
@ -145,77 +146,62 @@ private fun WcSelectWalletContent(
|
|||
@Preview(showBackground = true, device = Devices.PIXEL_7_PRO)
|
||||
@Preview(showBackground = true, device = Devices.PIXEL_7_PRO, uiMode = Configuration.UI_MODE_NIGHT_YES)
|
||||
private fun WcSelectWalletContent_Preview() {
|
||||
val wallets = persistentListOf(
|
||||
UserWalletItemUM(
|
||||
id = UserWalletId("user_wallet_1".encodeToByteArray()),
|
||||
name = stringReference("Tangem 2.0"),
|
||||
information = getInformation(42),
|
||||
balance = UserWalletItemUM.Balance.Loaded("1 496,34 $", isFlickering = false),
|
||||
isEnabled = true,
|
||||
onClick = {},
|
||||
),
|
||||
UserWalletItemUM(
|
||||
id = UserWalletId("user_wallet_2".encodeToByteArray()),
|
||||
name = stringReference("Tangem White"),
|
||||
information = getInformation(24),
|
||||
balance = UserWalletItemUM.Balance.Loaded("1 496,34 $", isFlickering = false),
|
||||
isEnabled = true,
|
||||
onClick = {},
|
||||
),
|
||||
UserWalletItemUM(
|
||||
id = UserWalletId("user_wallet_3".encodeToByteArray()),
|
||||
name = stringReference("Bitcoin"),
|
||||
information = getInformation(1),
|
||||
balance = UserWalletItemUM.Balance.Loaded("1 496,34 $", isFlickering = false),
|
||||
isEnabled = true,
|
||||
onClick = {},
|
||||
),
|
||||
UserWalletItemUM(
|
||||
id = UserWalletId("user_wallet_4".encodeToByteArray()),
|
||||
name = stringReference("Tangem 1.0"),
|
||||
information = getInformation(21),
|
||||
balance = UserWalletItemUM.Balance.Loaded("1 496,34 $", isFlickering = false),
|
||||
isEnabled = true,
|
||||
onClick = {},
|
||||
),
|
||||
UserWalletItemUM(
|
||||
id = UserWalletId("user_wallet_4".encodeToByteArray()),
|
||||
name = stringReference("Tangem 1.0"),
|
||||
information = UserWalletItemUM.Information.Loading,
|
||||
balance = UserWalletItemUM.Balance.Loaded("1 496,34 $", isFlickering = false),
|
||||
isEnabled = true,
|
||||
onClick = {},
|
||||
),
|
||||
UserWalletItemUM(
|
||||
id = UserWalletId("user_wallet_4".encodeToByteArray()),
|
||||
name = stringReference("Tangem 1.0"),
|
||||
information = UserWalletItemUM.Information.Failed,
|
||||
balance = UserWalletItemUM.Balance.Loaded("1 496,34 $", isFlickering = false),
|
||||
isEnabled = true,
|
||||
onClick = {},
|
||||
),
|
||||
)
|
||||
TangemThemePreview {
|
||||
TangemModalBottomSheet<TangemBottomSheetConfigContent.Empty>(
|
||||
containerColor = TangemTheme.colors.background.primary,
|
||||
config = TangemBottomSheetConfig(
|
||||
isShown = true,
|
||||
onDismissRequest = {},
|
||||
content = TangemBottomSheetConfigContent.Empty,
|
||||
),
|
||||
title = {
|
||||
TangemModalBottomSheetTitle(
|
||||
title = stringReference("Choose wallet"),
|
||||
onEndClick = {},
|
||||
endIconRes = R.drawable.ic_close_24,
|
||||
)
|
||||
},
|
||||
content = {
|
||||
WcSelectWalletContent(
|
||||
modifier = Modifier.padding(start = 16.dp, end = 16.dp, bottom = 16.dp),
|
||||
selectedWalletId = UserWalletId("user_wallet_1".encodeToByteArray()),
|
||||
wallets = persistentListOf(
|
||||
UserWalletItemUM(
|
||||
id = UserWalletId("user_wallet_1".encodeToByteArray()),
|
||||
name = stringReference("Tangem 2.0"),
|
||||
information = getInformation(42),
|
||||
balance = UserWalletItemUM.Balance.Loaded("1 496,34 \$", isFlickering = false),
|
||||
isEnabled = true,
|
||||
onClick = {},
|
||||
),
|
||||
UserWalletItemUM(
|
||||
id = UserWalletId("user_wallet_2".encodeToByteArray()),
|
||||
name = stringReference("Tangem White"),
|
||||
information = getInformation(24),
|
||||
balance = UserWalletItemUM.Balance.Loaded("1 496,34 \$", isFlickering = false),
|
||||
isEnabled = true,
|
||||
onClick = {},
|
||||
),
|
||||
UserWalletItemUM(
|
||||
id = UserWalletId("user_wallet_3".encodeToByteArray()),
|
||||
name = stringReference("Bitcoin"),
|
||||
information = getInformation(1),
|
||||
balance = UserWalletItemUM.Balance.Loaded("1 496,34 \$", isFlickering = false),
|
||||
isEnabled = true,
|
||||
onClick = {},
|
||||
),
|
||||
UserWalletItemUM(
|
||||
id = UserWalletId("user_wallet_4".encodeToByteArray()),
|
||||
name = stringReference("Tangem 1.0"),
|
||||
information = getInformation(21),
|
||||
balance = UserWalletItemUM.Balance.Loaded("1 496,34 \$", isFlickering = false),
|
||||
isEnabled = true,
|
||||
onClick = {},
|
||||
),
|
||||
UserWalletItemUM(
|
||||
id = UserWalletId("user_wallet_4".encodeToByteArray()),
|
||||
name = stringReference("Tangem 1.0"),
|
||||
information = UserWalletItemUM.Information.Loading,
|
||||
balance = UserWalletItemUM.Balance.Loaded("1 496,34 \$", isFlickering = false),
|
||||
isEnabled = true,
|
||||
onClick = {},
|
||||
),
|
||||
UserWalletItemUM(
|
||||
id = UserWalletId("user_wallet_4".encodeToByteArray()),
|
||||
name = stringReference("Tangem 1.0"),
|
||||
information = UserWalletItemUM.Information.Failed,
|
||||
balance = UserWalletItemUM.Balance.Loaded("1 496,34 \$", isFlickering = false),
|
||||
isEnabled = true,
|
||||
onClick = {},
|
||||
),
|
||||
),
|
||||
)
|
||||
},
|
||||
WcSelectWalletModalBS(
|
||||
wallets = wallets,
|
||||
selectedWalletId = wallets.first().id,
|
||||
onBack = {},
|
||||
onDismiss = {},
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ import com.domain.blockaid.models.dapp.CheckDAppResult
|
|||
import com.tangem.core.decompose.di.ModelScoped
|
||||
import com.tangem.core.decompose.model.Model
|
||||
import com.tangem.core.decompose.model.ParamsContainer
|
||||
import com.tangem.core.decompose.navigation.Router
|
||||
import com.tangem.core.decompose.ui.UiMessageSender
|
||||
import com.tangem.core.ui.extensions.iconResId
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.stringReference
|
||||
import com.tangem.core.ui.message.SnackbarMessage
|
||||
import com.tangem.domain.walletconnect.model.WcSession
|
||||
|
|
@ -23,6 +23,7 @@ import com.tangem.features.walletconnect.connections.entity.WcPrimaryButtonConfi
|
|||
import com.tangem.features.walletconnect.connections.entity.WcAppInfoSecurityNotification
|
||||
import com.tangem.features.walletconnect.connections.model.transformers.WcAppSubtitleConverter
|
||||
import com.tangem.features.walletconnect.connections.routes.ConnectedAppInfoRoutes
|
||||
import com.tangem.features.walletconnect.impl.R
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
|
|
@ -35,7 +36,6 @@ import javax.inject.Inject
|
|||
@Stable
|
||||
@ModelScoped
|
||||
internal class WcConnectedAppInfoModel @Inject constructor(
|
||||
private val router: Router,
|
||||
private val wcSessionsUseCase: WcSessionsUseCase,
|
||||
private val messageSender: UiMessageSender,
|
||||
private val disconnectUseCase: WcDisconnectUseCase,
|
||||
|
|
@ -121,7 +121,7 @@ internal class WcConnectedAppInfoModel @Inject constructor(
|
|||
}
|
||||
modelScope.launch {
|
||||
disconnectUseCase.disconnect(session)
|
||||
messageSender.send(SnackbarMessage(message = stringReference("dApp disconnected")))
|
||||
messageSender.send(SnackbarMessage(message = resourceReference(R.string.wc_dapp_disconnected)))
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ import com.tangem.core.decompose.ui.UiMessageSender
|
|||
import com.tangem.core.ui.components.appbar.models.TopAppBarButtonUM
|
||||
import com.tangem.core.ui.components.dropdownmenu.TangemDropdownMenuItem
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.stringReference
|
||||
import com.tangem.core.ui.message.DialogMessage
|
||||
import com.tangem.core.ui.message.EventMessageAction
|
||||
import com.tangem.core.ui.message.SnackbarMessage
|
||||
|
|
@ -50,7 +49,7 @@ internal class WcConnectionsModel @Inject constructor(
|
|||
private val wcDisconnectUseCase: WcDisconnectUseCase,
|
||||
private val wcPairService: WcPairService,
|
||||
override val dispatchers: CoroutineDispatcherProvider,
|
||||
private val analytics: AnalyticsEventHandler,
|
||||
analytics: AnalyticsEventHandler,
|
||||
paramsContainer: ParamsContainer,
|
||||
) : Model() {
|
||||
|
||||
|
|
@ -127,7 +126,7 @@ internal class WcConnectionsModel @Inject constructor(
|
|||
private fun disconnectAllSessions() {
|
||||
modelScope.launch {
|
||||
wcDisconnectUseCase.disconnectAll()
|
||||
uiMessageSender.send(SnackbarMessage(message = stringReference("All dApps disconnected")))
|
||||
uiMessageSender.send(SnackbarMessage(message = resourceReference(R.string.wc_all_dapps_disconnected)))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ import com.tangem.core.decompose.model.Model
|
|||
import com.tangem.core.decompose.model.ParamsContainer
|
||||
import com.tangem.core.decompose.navigation.Router
|
||||
import com.tangem.core.decompose.ui.UiMessageSender
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.stringReference
|
||||
import com.tangem.core.ui.extensions.wrappedList
|
||||
import com.tangem.core.ui.message.SnackbarMessage
|
||||
import com.tangem.core.ui.message.ToastMessage
|
||||
import com.tangem.domain.models.network.Network
|
||||
|
|
@ -30,6 +32,7 @@ import com.tangem.features.walletconnect.connections.entity.WcAppInfoUM
|
|||
import com.tangem.features.walletconnect.connections.entity.WcPrimaryButtonConfig
|
||||
import com.tangem.features.walletconnect.connections.model.transformers.*
|
||||
import com.tangem.features.walletconnect.connections.routes.WcAppInfoRoutes
|
||||
import com.tangem.features.walletconnect.impl.R
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import kotlinx.coroutines.flow.*
|
||||
import javax.inject.Inject
|
||||
|
|
@ -199,9 +202,13 @@ internal class WcPairModel @Inject constructor(
|
|||
}
|
||||
|
||||
private fun processSuccessfullyConnected(session: WcSession) {
|
||||
// TODO: [REDACTED_JIRA] localization
|
||||
messageSender.send(
|
||||
SnackbarMessage(message = stringReference("Connected to ${session.sdkModel.appMetaData.name}")),
|
||||
SnackbarMessage(
|
||||
message = resourceReference(
|
||||
id = R.string.wc_connected_to,
|
||||
formatArgs = wrappedList(session.sdkModel.appMetaData.name),
|
||||
),
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.tangem.features.walletconnect.connections.model.transformers
|
|||
import com.tangem.domain.models.network.Network
|
||||
import com.tangem.utils.converter.Converter
|
||||
|
||||
@Suppress("DestructuringDeclarationWithTooManyEntries")
|
||||
internal object WcConnectButtonAvailabilityConverter : Converter<WcConnectButtonAvailabilityConverter.Input, Boolean> {
|
||||
|
||||
override fun convert(value: Input): Boolean {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ import com.tangem.features.walletconnect.connections.entity.WcNetworksInfo
|
|||
import com.tangem.utils.converter.Converter
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
|
||||
@Suppress("DestructuringDeclarationWithTooManyEntries")
|
||||
internal object WcNetworksInfoConverter : Converter<WcNetworksInfoConverter.Input, WcNetworksInfo> {
|
||||
override fun convert(value: Input): WcNetworksInfo {
|
||||
val missing = value.missingNetworks
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import androidx.annotation.StringRes
|
|||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.shape.CircleShape
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
|
|
@ -23,7 +22,6 @@ import androidx.compose.ui.unit.dp
|
|||
import com.tangem.core.ui.R
|
||||
import com.tangem.core.ui.components.PrimaryButton
|
||||
import com.tangem.core.ui.components.SecondaryButton
|
||||
import com.tangem.core.ui.components.SecondaryButtonIconEnd
|
||||
import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig
|
||||
import com.tangem.core.ui.components.bottomsheets.modal.TangemModalBottomSheet
|
||||
import com.tangem.core.ui.components.bottomsheets.modal.TangemModalBottomSheetTitle
|
||||
|
|
@ -77,7 +75,6 @@ private fun ContentContainer(alert: AlertsComponent.AlertType, modifier: Modifie
|
|||
.padding(top = TangemTheme.dimens.spacing8),
|
||||
alert = alert,
|
||||
)
|
||||
AlertAudit(alert, modifier = Modifier.padding(top = TangemTheme.dimens.spacing16))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -90,71 +87,12 @@ private fun ButtonsContainer(alert: AlertsComponent.AlertType, modifier: Modifie
|
|||
) {
|
||||
val buttonsModifier = Modifier.fillMaxWidth()
|
||||
when (alert) {
|
||||
is AlertsComponent.AlertType.UnsafeDomain -> {
|
||||
PrimaryButton(
|
||||
modifier = buttonsModifier,
|
||||
text = stringResourceSafe(R.string.common_cancel),
|
||||
onClick = alert.onDismiss,
|
||||
)
|
||||
SecondaryButton(
|
||||
modifier = buttonsModifier,
|
||||
onClick = alert.onConnect,
|
||||
text = stringResourceSafe(R.string.wc_alert_connect_anyway),
|
||||
)
|
||||
}
|
||||
is AlertsComponent.AlertType.MaliciousTransaction -> {
|
||||
PrimaryButton(
|
||||
modifier = buttonsModifier,
|
||||
text = stringResourceSafe(R.string.common_cancel),
|
||||
onClick = alert.onDismiss,
|
||||
)
|
||||
SecondaryButtonIconEnd(
|
||||
modifier = buttonsModifier,
|
||||
onClick = alert.onConnect,
|
||||
iconResId = R.drawable.ic_tangem_24,
|
||||
text = stringResourceSafe(R.string.wc_alert_connect_anyway),
|
||||
)
|
||||
}
|
||||
is AlertsComponent.AlertType.UnknownDomain -> {
|
||||
PrimaryButton(
|
||||
modifier = buttonsModifier,
|
||||
text = stringResourceSafe(R.string.common_cancel),
|
||||
onClick = alert.onDismiss,
|
||||
)
|
||||
SecondaryButton(
|
||||
modifier = buttonsModifier,
|
||||
onClick = alert.onConnect,
|
||||
text = stringResourceSafe(R.string.wc_alert_connect_anyway),
|
||||
)
|
||||
}
|
||||
is AlertsComponent.AlertType.VerifiedDomain -> SecondaryButton(
|
||||
modifier = buttonsModifier,
|
||||
text = stringResourceSafe(R.string.common_done),
|
||||
onClick = alert.onDismiss,
|
||||
)
|
||||
is AlertsComponent.AlertType.ConnectionTimeout -> {
|
||||
PrimaryButton(
|
||||
modifier = buttonsModifier,
|
||||
onClick = alert.onTryAgain,
|
||||
text = stringResourceSafe(R.string.alert_button_try_again),
|
||||
)
|
||||
SecondaryButton(
|
||||
modifier = buttonsModifier,
|
||||
onClick = alert.onDismiss,
|
||||
text = stringResourceSafe(R.string.balance_hidden_got_it_button),
|
||||
)
|
||||
}
|
||||
is AlertsComponent.AlertType.WrongCardSelected,
|
||||
is AlertsComponent.AlertType.UnknownError,
|
||||
is AlertsComponent.AlertType.UnsupportedMethod,
|
||||
-> SecondaryButton(
|
||||
is AlertsComponent.AlertType.UnsupportedMethod -> SecondaryButton(
|
||||
modifier = buttonsModifier,
|
||||
onClick = alert.onDismiss,
|
||||
text = stringResourceSafe(R.string.balance_hidden_got_it_button),
|
||||
)
|
||||
is AlertsComponent.AlertType.WcDisconnected,
|
||||
is AlertsComponent.AlertType.UnsupportedNetworks,
|
||||
-> PrimaryButton(
|
||||
is AlertsComponent.AlertType.WcDisconnected -> PrimaryButton(
|
||||
modifier = buttonsModifier,
|
||||
onClick = alert.onDismiss,
|
||||
text = stringResourceSafe(R.string.balance_hidden_got_it_button),
|
||||
|
|
@ -166,49 +104,17 @@ private fun ButtonsContainer(alert: AlertsComponent.AlertType, modifier: Modifie
|
|||
@Composable
|
||||
private fun AlertIcon(alert: AlertsComponent.AlertType, modifier: Modifier = Modifier) {
|
||||
val color = when (alert) {
|
||||
is AlertsComponent.AlertType.VerifiedDomain -> TangemTheme.colors.icon.accent
|
||||
is AlertsComponent.AlertType.WcDisconnected,
|
||||
is AlertsComponent.AlertType.ConnectionTimeout,
|
||||
is AlertsComponent.AlertType.UnsupportedNetworks,
|
||||
-> TangemTheme.colors.icon.informative
|
||||
is AlertsComponent.AlertType.WrongCardSelected,
|
||||
is AlertsComponent.AlertType.UnknownDomain,
|
||||
is AlertsComponent.AlertType.UnknownError,
|
||||
is AlertsComponent.AlertType.UnsupportedMethod,
|
||||
-> TangemTheme.colors.icon.attention
|
||||
is AlertsComponent.AlertType.MaliciousTransaction,
|
||||
is AlertsComponent.AlertType.UnsafeDomain,
|
||||
-> TangemTheme.colors.icon.warning
|
||||
is AlertsComponent.AlertType.WcDisconnected -> TangemTheme.colors.icon.informative
|
||||
is AlertsComponent.AlertType.UnsupportedMethod -> TangemTheme.colors.icon.attention
|
||||
}
|
||||
|
||||
@DrawableRes val drawableId = when (alert) {
|
||||
is AlertsComponent.AlertType.WcDisconnected,
|
||||
is AlertsComponent.AlertType.ConnectionTimeout,
|
||||
-> R.drawable.ic_wallet_connect_24
|
||||
is AlertsComponent.AlertType.MaliciousTransaction -> R.drawable.img_knight_shield_32
|
||||
is AlertsComponent.AlertType.UnknownDomain,
|
||||
is AlertsComponent.AlertType.UnsafeDomain,
|
||||
-> R.drawable.img_knight_shield_32
|
||||
is AlertsComponent.AlertType.UnsupportedNetworks -> R.drawable.ic_network_new_24
|
||||
is AlertsComponent.AlertType.WrongCardSelected,
|
||||
is AlertsComponent.AlertType.UnknownError,
|
||||
is AlertsComponent.AlertType.UnsupportedMethod,
|
||||
-> R.drawable.img_attention_20
|
||||
is AlertsComponent.AlertType.VerifiedDomain -> R.drawable.img_approvale2_20
|
||||
is AlertsComponent.AlertType.WcDisconnected -> R.drawable.ic_wallet_connect_24
|
||||
is AlertsComponent.AlertType.UnsupportedMethod -> R.drawable.img_attention_20
|
||||
}
|
||||
val iconTint = when (alert) {
|
||||
is AlertsComponent.AlertType.UnknownDomain,
|
||||
is AlertsComponent.AlertType.UnsafeDomain,
|
||||
is AlertsComponent.AlertType.MaliciousTransaction,
|
||||
is AlertsComponent.AlertType.UnsupportedNetworks,
|
||||
is AlertsComponent.AlertType.ConnectionTimeout,
|
||||
is AlertsComponent.AlertType.WcDisconnected,
|
||||
-> color
|
||||
is AlertsComponent.AlertType.VerifiedDomain,
|
||||
is AlertsComponent.AlertType.UnknownError,
|
||||
is AlertsComponent.AlertType.WrongCardSelected,
|
||||
is AlertsComponent.AlertType.UnsupportedMethod,
|
||||
-> Color.Unspecified
|
||||
is AlertsComponent.AlertType.WcDisconnected -> color
|
||||
is AlertsComponent.AlertType.UnsupportedMethod -> Color.Unspecified
|
||||
}
|
||||
Box(
|
||||
modifier = modifier
|
||||
|
|
@ -230,16 +136,7 @@ private fun AlertIcon(alert: AlertsComponent.AlertType, modifier: Modifier = Mod
|
|||
@Composable
|
||||
private fun AlertContentTitle(alert: AlertsComponent.AlertType, modifier: Modifier = Modifier) {
|
||||
@StringRes val titleRes: Int = when (alert) {
|
||||
is AlertsComponent.AlertType.UnknownDomain,
|
||||
is AlertsComponent.AlertType.UnsafeDomain,
|
||||
is AlertsComponent.AlertType.MaliciousTransaction,
|
||||
-> R.string.security_alert_title
|
||||
is AlertsComponent.AlertType.ConnectionTimeout -> R.string.wc_alert_connection_timeout_title
|
||||
is AlertsComponent.AlertType.UnknownError -> R.string.wc_alert_unknown_error_title
|
||||
is AlertsComponent.AlertType.UnsupportedNetworks -> R.string.wc_alert_unsupported_networks_title
|
||||
is AlertsComponent.AlertType.VerifiedDomain -> R.string.wc_alert_verified_domain_title
|
||||
is AlertsComponent.AlertType.WcDisconnected -> R.string.wc_alert_session_disconnected_title
|
||||
is AlertsComponent.AlertType.WrongCardSelected -> R.string.wc_alert_wrong_card_title
|
||||
is AlertsComponent.AlertType.UnsupportedMethod -> R.string.wc_alert_unsupported_method_title
|
||||
}
|
||||
Text(
|
||||
|
|
@ -254,29 +151,9 @@ private fun AlertContentTitle(alert: AlertsComponent.AlertType, modifier: Modifi
|
|||
@Composable
|
||||
private fun AlertContentDescription(alert: AlertsComponent.AlertType, modifier: Modifier = Modifier) {
|
||||
val message = when (alert) {
|
||||
is AlertsComponent.AlertType.ConnectionTimeout -> stringResourceSafe(
|
||||
R.string.wc_alert_connection_timeout_description,
|
||||
)
|
||||
is AlertsComponent.AlertType.MaliciousTransaction -> alert.descriptionMessage
|
||||
is AlertsComponent.AlertType.UnknownDomain,
|
||||
is AlertsComponent.AlertType.UnsafeDomain,
|
||||
-> stringResourceSafe(R.string.wc_alert_domain_issues_description)
|
||||
is AlertsComponent.AlertType.UnknownError -> stringResourceSafe(
|
||||
R.string.wc_alert_unknown_error_description,
|
||||
alert.errorCode,
|
||||
)
|
||||
is AlertsComponent.AlertType.UnsupportedNetworks -> stringResourceSafe(
|
||||
R.string.wc_alert_unsupported_networks_description,
|
||||
alert.appName,
|
||||
)
|
||||
is AlertsComponent.AlertType.VerifiedDomain -> stringResourceSafe(
|
||||
R.string.wc_alert_verified_domain_description,
|
||||
alert.appName,
|
||||
)
|
||||
is AlertsComponent.AlertType.WcDisconnected -> stringResourceSafe(
|
||||
R.string.wc_alert_session_disconnected_description,
|
||||
)
|
||||
is AlertsComponent.AlertType.WrongCardSelected -> stringResourceSafe(R.string.wc_alert_wrong_card_description)
|
||||
is AlertsComponent.AlertType.UnsupportedMethod -> stringResourceSafe(
|
||||
R.string.wc_alert_unsupported_method_description,
|
||||
)
|
||||
|
|
@ -290,44 +167,6 @@ private fun AlertContentDescription(alert: AlertsComponent.AlertType, modifier:
|
|||
)
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun AlertAudit(alert: AlertsComponent.AlertType, modifier: Modifier = Modifier) {
|
||||
when (alert) {
|
||||
is AlertsComponent.AlertType.UnknownDomain -> Text(
|
||||
modifier = modifier
|
||||
.background(
|
||||
shape = RoundedCornerShape(TangemTheme.dimens.radius16),
|
||||
color = TangemTheme.colors.text.primary1.copy(alpha = 0.1F),
|
||||
)
|
||||
.padding(vertical = TangemTheme.dimens.spacing4, horizontal = TangemTheme.dimens.spacing12),
|
||||
text = stringResourceSafe(R.string.wc_alert_audit_unknown_domain),
|
||||
style = TangemTheme.typography.caption1,
|
||||
color = TangemTheme.colors.text.primary1,
|
||||
)
|
||||
is AlertsComponent.AlertType.UnsafeDomain -> Text(
|
||||
modifier = Modifier
|
||||
.padding(top = TangemTheme.dimens.spacing16)
|
||||
.background(
|
||||
shape = RoundedCornerShape(TangemTheme.dimens.radius16),
|
||||
color = TangemTheme.colors.text.warning.copy(alpha = 0.1F),
|
||||
)
|
||||
.padding(vertical = TangemTheme.dimens.spacing4, horizontal = TangemTheme.dimens.spacing12),
|
||||
text = stringResourceSafe(R.string.wc_alert_audit_unknown_domain),
|
||||
style = TangemTheme.typography.caption1,
|
||||
color = TangemTheme.colors.text.warning,
|
||||
)
|
||||
is AlertsComponent.AlertType.ConnectionTimeout,
|
||||
is AlertsComponent.AlertType.MaliciousTransaction,
|
||||
is AlertsComponent.AlertType.UnknownError,
|
||||
is AlertsComponent.AlertType.UnsupportedNetworks,
|
||||
is AlertsComponent.AlertType.VerifiedDomain,
|
||||
is AlertsComponent.AlertType.WcDisconnected,
|
||||
is AlertsComponent.AlertType.WrongCardSelected,
|
||||
is AlertsComponent.AlertType.UnsupportedMethod,
|
||||
-> Unit
|
||||
}
|
||||
}
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
|
||||
@Composable
|
||||
|
|
@ -347,19 +186,7 @@ private fun AlertsModalBottomSheet_Preview(
|
|||
|
||||
private class AlertTypesProvider : CollectionPreviewParameterProvider<AlertsComponent.AlertType>(
|
||||
collection = listOf(
|
||||
AlertsComponent.AlertType.VerifiedDomain(appName = "React App", onDismiss = {}),
|
||||
AlertsComponent.AlertType.UnknownDomain(onConnect = {}, onDismiss = {}),
|
||||
AlertsComponent.AlertType.UnsafeDomain(onConnect = {}, onDismiss = {}),
|
||||
AlertsComponent.AlertType.MaliciousTransaction(
|
||||
descriptionMessage = "The transaction approves erc20 tokens to a known malicious address",
|
||||
onConnect = {},
|
||||
onDismiss = {},
|
||||
),
|
||||
AlertsComponent.AlertType.UnsupportedNetworks(appName = "React App", onDismiss = {}),
|
||||
AlertsComponent.AlertType.WcDisconnected(onDismiss = {}),
|
||||
AlertsComponent.AlertType.UnknownError(errorCode = 8005, onDismiss = {}),
|
||||
AlertsComponent.AlertType.WrongCardSelected(onDismiss = {}),
|
||||
AlertsComponent.AlertType.ConnectionTimeout(onTryAgain = {}, onDismiss = {}),
|
||||
AlertsComponent.AlertType.UnsupportedMethod(onDismiss = {}),
|
||||
),
|
||||
)
|
||||
|
|
@ -35,7 +35,10 @@ import com.tangem.core.ui.components.bottomsheets.modal.TangemModalBottomSheetTi
|
|||
import com.tangem.core.ui.components.bottomsheets.modal.TangemModalBottomSheetWithFooter
|
||||
import com.tangem.core.ui.components.notifications.Notification
|
||||
import com.tangem.core.ui.components.notifications.NotificationConfig
|
||||
import com.tangem.core.ui.extensions.*
|
||||
import com.tangem.core.ui.extensions.clickableSingle
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.stringResourceSafe
|
||||
import com.tangem.core.ui.extensions.wrappedList
|
||||
import com.tangem.core.ui.res.TangemColorPalette
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.core.ui.res.TangemThemePreview
|
||||
|
|
@ -286,9 +289,8 @@ private fun WcAppInfoSecondBlock(state: WcAppInfoUM.Content, modifier: Modifier
|
|||
Notification(
|
||||
config = NotificationConfig(
|
||||
iconResId = R.drawable.ic_alert_circle_24,
|
||||
// TODO: [REDACTED_JIRA] localization
|
||||
title = stringReference("Specify selected networks"),
|
||||
subtitle = stringReference("At least one network is required for dApp connection"),
|
||||
title = resourceReference(R.string.wc_specify_networks_title),
|
||||
subtitle = resourceReference(R.string.wc_specify_networks_subtitle),
|
||||
),
|
||||
iconTint = TangemTheme.colors.icon.attention,
|
||||
containerColor = TangemTheme.colors.background.action,
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@ import com.tangem.core.ui.components.bottomsheets.modal.TangemModalBottomSheet
|
|||
import com.tangem.core.ui.components.bottomsheets.modal.TangemModalBottomSheetTitle
|
||||
import com.tangem.core.ui.components.notifications.Notification
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.stringReference
|
||||
import com.tangem.core.ui.extensions.stringResourceSafe
|
||||
import com.tangem.core.ui.extensions.wrappedList
|
||||
import com.tangem.core.ui.res.TangemColorPalette
|
||||
|
|
@ -48,7 +47,7 @@ internal fun WcConnectedAppInfoBS(state: WcConnectedAppInfoUM) {
|
|||
containerColor = TangemTheme.colors.background.tertiary,
|
||||
title = {
|
||||
TangemModalBottomSheetTitle(
|
||||
title = stringReference("Connected App"), // TODO: [REDACTED_JIRA]
|
||||
title = resourceReference(R.string.wc_connected_app_title),
|
||||
subtitle = state.connectingTime?.let { timestamp ->
|
||||
resourceReference(
|
||||
R.string.send_date_format,
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
package com.tangem.features.walletconnect.transaction.entity.blockaid
|
||||
|
||||
internal data class TransactionCheckResultsUM(
|
||||
val estimatedWalletChanges: WcEstimatedWalletChangesUM,
|
||||
val notificationText: String? = null,
|
||||
)
|
||||
|
|
@ -2,8 +2,9 @@ package com.tangem.features.walletconnect.transaction.entity.common
|
|||
|
||||
import com.tangem.core.decompose.ui.UiMessageSender
|
||||
import com.tangem.core.ui.extensions.TextReference
|
||||
import com.tangem.core.ui.extensions.stringReference
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.message.ToastMessage
|
||||
import com.tangem.features.walletconnect.impl.R
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
|
||||
internal interface WcCommonTransactionModel {
|
||||
|
|
@ -16,8 +17,7 @@ internal interface WcCommonTransactionModel {
|
|||
|
||||
fun popBack()
|
||||
|
||||
// TODO: [REDACTED_JIRA]
|
||||
fun showSuccessSignMessage(message: TextReference = stringReference("Successfully signed")) {
|
||||
fun showSuccessSignMessage(message: TextReference = resourceReference(R.string.wc_successfully_signed)) {
|
||||
messageSender.send(ToastMessage(message = message))
|
||||
}
|
||||
}
|
||||
|
|
@ -4,7 +4,7 @@ import com.tangem.blockchain.common.transaction.TransactionFee
|
|||
import com.tangem.common.ui.notifications.NotificationUM
|
||||
import com.tangem.core.ui.components.notifications.NotificationConfig
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.stringReference
|
||||
import com.tangem.core.ui.extensions.wrappedList
|
||||
import com.tangem.domain.models.currency.CryptoCurrencyStatus
|
||||
import com.tangem.features.send.v2.api.entity.FeeSelectorUM
|
||||
import com.tangem.features.send.v2.api.subcomponents.feeSelector.utils.FeeCalculationUtils
|
||||
|
|
@ -29,10 +29,12 @@ internal class WcNotificationsFactory @Inject constructor() {
|
|||
cryptoCurrencyStatus: CryptoCurrencyStatus,
|
||||
feeSelectorUM: FeeSelectorUM?,
|
||||
): NotificationUM.Info? {
|
||||
// TODO: [REDACTED_TASK_KEY] localization
|
||||
return NotificationUM.Info(
|
||||
title = stringReference("Insufficient ${cryptoCurrencyStatus.currency.name}"),
|
||||
subtitle = stringReference("Top up your balance to cover the network fee"),
|
||||
title = resourceReference(
|
||||
id = R.string.wc_insufficient_warning_title,
|
||||
formatArgs = wrappedList(cryptoCurrencyStatus.currency.name),
|
||||
),
|
||||
subtitle = resourceReference(R.string.wc_insufficient_warning_subtitle),
|
||||
).takeIf { isFeeExceedsBalance(cryptoCurrencyStatus = cryptoCurrencyStatus, feeSelectorUM = feeSelectorUM) }
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue