refactor: replace deprecated SVG resource, adjust device tap behavior, and improve wallet selection image rendering (#3276)
What changed, and why it matters
This commit is a routine user-interface cleanup. It swaps an old icon file for a newer one, changes how a couple of wallet-selection images are loaded, makes a device-tap area respond to taps more reliably, and tweaks text color. There is nothing in the changes that affects passwords, keys, funds, or network security.
No security action needed. Treat as a normal UI refactor review.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff is a pure UI refactor in a Dart/Flutter codebase. Changes: (1) removes an unused import and an old SVG asset res/pictures/wallet-trezor.svg; (2) adds behavior: HitTestBehavior.opaque to a GestureDetector in connect_device_page.dart so taps on the whole row register; (3) replaces Image.asset with CakeImageWidget in select_hardware_wallet_account_page.dart; (4) conditionally renders a header or a wallet SVG image and updates text style in new_wallet_type_page.dart. No cryptographic, networking, storage, or permission code is touched.
Changed components
lib/src/screens/connect_device/connect_device_page.dartlib/src/screens/connect_device/select_hardware_wallet_account_page.dartlib/src/screens/new_wallet/new_wallet_type_page.dartres/pictures/wallet-trezor.svgInspect captured patch +16 / −16
diff --git a/lib/src/screens/connect_device/connect_device_page.dart b/lib/src/screens/connect_device/connect_device_page.dart
index 22e466cf..3e3bda04 100644
--- a/lib/src/screens/connect_device/connect_device_page.dart
+++ b/lib/src/screens/connect_device/connect_device_page.dart
@@ -7,7 +7,6 @@ import 'package:cake_wallet/main.dart';
import 'package:cake_wallet/new-ui/widgets/new_primary_button.dart';
import 'package:cake_wallet/routes.dart';
import 'package:cake_wallet/src/screens/base_page.dart';
-import 'package:cake_wallet/src/screens/connect_device/widgets/device_tile.dart';
import 'package:cake_wallet/src/widgets/bottom_sheet/info_steps_bottom_sheet_widget.dart';
import 'package:cake_wallet/src/widgets/cake_image_widget.dart';
import 'package:cake_wallet/src/widgets/primary_button.dart';
@@ -250,6 +249,7 @@ class ConnectDevicePageBodyState extends State<ConnectDevicePageBody> {
final item = allDevices[index];
return GestureDetector(
onTap: () => _connectToDevice(item),
+ behavior: HitTestBehavior.opaque,
child: SizedBox(
height: 48,
child: Padding(
diff --git a/lib/src/screens/connect_device/select_hardware_wallet_account_page.dart b/lib/src/screens/connect_device/select_hardware_wallet_account_page.dart
index 678b5e3b..98cb577c 100644
--- a/lib/src/screens/connect_device/select_hardware_wallet_account_page.dart
+++ b/lib/src/screens/connect_device/select_hardware_wallet_account_page.dart
@@ -1,4 +1,5 @@
import 'package:cake_wallet/core/wallet_name_validator.dart';
+import 'package:cake_wallet/src/widgets/cake_image_widget.dart';
import 'package:cw_core/generate_name.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/src/screens/base_page.dart';
@@ -147,10 +148,9 @@ class _SelectHardwareWalletAccountFormState extends State<SelectHardwareWalletAc
return Padding(
padding: EdgeInsets.only(top: 10),
child: SelectButton(
- image: Image.asset(
- getCryptoCurrencyIconForWalletListItem(
- _walletHardwareRestoreVM.type,
- ),
+ image: CakeImageWidget(
+ imageUrl: getCryptoCurrencyIconForWalletListItem(
+ _walletHardwareRestoreVM.type),
height: 24,
width: 24,
),
diff --git a/lib/src/screens/new_wallet/new_wallet_type_page.dart b/lib/src/screens/new_wallet/new_wallet_type_page.dart
index 4b170dc0..dee66e95 100644
--- a/lib/src/screens/new_wallet/new_wallet_type_page.dart
+++ b/lib/src/screens/new_wallet/new_wallet_type_page.dart
@@ -120,10 +120,20 @@ class WalletTypeFormState extends State<WalletTypeForm> {
child: Column(
spacing: 24,
children: [
- const NewWalletTypePageHeader(),
+ widget.hardwareWalletType != null
+ ? const NewWalletTypePageHeader()
+ : const CakeImageWidget(
+ imageUrl: "assets/new-ui/wallet.svg",
+ width: 100,
+ height: 100,
+ ),
Text(
S.of(context).choose_wallet_currency,
textAlign: TextAlign.center,
+ style: TextStyle(
+ color: Theme.of(context).colorScheme.onSurfaceVariant,
+ fontSize: 14,
+ ),
),
Flexible(
child: Padding(
diff --git a/res/pictures/wallet-trezor.svg b/res/pictures/wallet-trezor.svg
deleted file mode 100644
index d0747c44..00000000
--- a/res/pictures/wallet-trezor.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_11382_58006)">
-<path d="M16.2852 0C17.1945 0 18.067 0.360924 18.71 1.00391C19.3529 1.64688 19.7139 2.51943 19.7139 3.42871V12.7871C19.7138 14.8347 19.2977 16.8608 18.4912 18.7422C18.0907 19.6743 17.5814 20.5558 16.9736 21.3682L15.7705 22.9717C15.531 23.2909 15.2202 23.55 14.8633 23.7285C14.5064 23.9069 14.1129 24 13.7139 24H10.2852C9.88596 24 9.49182 23.907 9.13477 23.7285C8.77785 23.55 8.46698 23.2909 8.22754 22.9717L7.02539 21.3682C6.41792 20.5557 5.90809 19.6743 5.50781 18.7422C4.70027 16.8608 4.28452 14.8345 4.28516 12.7871V3.42871C4.28516 2.5194 4.64608 1.64689 5.28906 1.00391C5.93204 0.360924 6.80455 0 7.71387 0H16.2852ZM7.71387 1.71387C7.25921 1.71387 6.82344 1.89531 6.50195 2.2168C6.18046 2.53829 5.99902 2.97405 5.99902 3.42871V12.7871C5.99906 14.6023 6.36828 16.3986 7.08301 18.0664C7.42925 18.8737 7.87029 19.6371 8.39648 20.3398L9.59961 21.9424C9.67937 22.0487 9.78249 22.1358 9.90137 22.1953C10.0204 22.2548 10.1521 22.2861 10.2852 22.2861H13.7139C13.8468 22.2861 13.9778 22.2547 14.0967 22.1953C14.2157 22.1358 14.3196 22.0488 14.3994 21.9424L15.6016 20.3398C16.1278 19.637 16.5697 18.8738 16.916 18.0664C17.6317 16.3984 18 14.6022 17.999 12.7871V3.42871C17.999 2.97409 17.8185 2.53828 17.4971 2.2168C17.1756 1.89531 16.7398 1.71387 16.2852 1.71387H7.71387ZM14.999 5.14258C15.3399 5.14258 15.6671 5.27852 15.9082 5.51953C16.1493 5.76065 16.2852 6.08772 16.2852 6.42871V12.4287C16.2851 12.7697 16.1493 13.0968 15.9082 13.3379C15.6671 13.5788 15.3399 13.7139 14.999 13.7139H8.99902C8.65836 13.7137 8.33179 13.5787 8.09082 13.3379C7.84974 13.0968 7.7139 12.7697 7.71387 12.4287V6.42871C7.71387 6.08772 7.8497 5.76065 8.09082 5.51953C8.33181 5.27864 8.65829 5.14271 8.99902 5.14258H14.999ZM9.42773 12H14.5713V6.85742H9.42773V12Z" fill="#8C9FBB"/>
-</g>
-<defs>
-<clipPath id="clip0_11382_58006">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</svg>
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.