What changed, and why it matters
This commit only swaps out some on-screen icons in the Stack Wallet app. It replaces standard Flutter icons with custom SVG-based icons in a few payment and order history screens. There is no security change here—just a visual consistency update.
No security action needed. Treat as a routine UI/UX consistency change.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff replaces Material Icon widgets with SvgPicture.asset or custom CopyIcon widgets across five Dart UI files (CakePay and ShopInBit pages). It adds imports for flutter_svg/svg.dart, utilities/assets.dart, and widgets/icon_widgets/copy_icon.dart. No logic, data handling, network, or permission code is modified.
Changed components
lib/pages/cakepay/cakepay_order_view.dartlib/pages/cakepay/cakepay_orders_view.dartlib/pages/shopinbit/shopinbit_payment_view.dartlib/pages/shopinbit/shopinbit_setup_view.dartlib/pages/shopinbit/shopinbit_ticket_detail.dartInspect captured patch +34 / −17
diff --git a/lib/pages/cakepay/cakepay_order_view.dart b/lib/pages/cakepay/cakepay_order_view.dart
index aa693c7..892d3b6 100644
--- a/lib/pages/cakepay/cakepay_order_view.dart
+++ b/lib/pages/cakepay/cakepay_order_view.dart
@@ -4,6 +4,7 @@ import 'package:decimal/decimal.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
+import 'package:flutter_svg/svg.dart';
import '../../app_config.dart';
import '../../notifications/show_flush_bar.dart';
@@ -558,9 +559,10 @@ class _CakePayOrderViewState extends ConsumerState<CakePayOrderView> {
children: [
Row(
children: [
- Icon(
- Icons.check_circle,
- size: 20,
+ SvgPicture.asset(
+ Assets.svg.checkCircle,
+ width: 20,
+ height: 20,
color: Theme.of(
context,
).extension<StackColors>()!.accentColorGreen,
@@ -622,9 +624,10 @@ class _CakePayOrderViewState extends ConsumerState<CakePayOrderView> {
RoundedWhiteContainer(
child: Row(
children: [
- Icon(
- Icons.cancel,
- size: 20,
+ SvgPicture.asset(
+ Assets.svg.circleX,
+ width: 20,
+ height: 20,
color: Theme.of(
context,
).extension<StackColors>()!.textSubtitle1,
diff --git a/lib/pages/cakepay/cakepay_orders_view.dart b/lib/pages/cakepay/cakepay_orders_view.dart
index 0e47608..990f43c 100644
--- a/lib/pages/cakepay/cakepay_orders_view.dart
+++ b/lib/pages/cakepay/cakepay_orders_view.dart
@@ -1,8 +1,10 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
+import 'package:flutter_svg/svg.dart';
import '../../providers/global/cakepay_orders_provider.dart';
import '../../themes/stack_colors.dart';
+import '../../utilities/assets.dart';
import '../../utilities/text_styles.dart';
import '../../utilities/util.dart';
import '../../widgets/background.dart';
@@ -135,8 +137,10 @@ class _CakePayOrdersViewState extends ConsumerState<CakePayOrdersView> {
),
),
SizedBox(width: isDesktop ? 16 : 8),
- Icon(
- Icons.chevron_right,
+ SvgPicture.asset(
+ Assets.svg.chevronRight,
+ width: 24,
+ height: 24,
color: Theme.of(
context,
).extension<StackColors>()!.textSubtitle1,
diff --git a/lib/pages/shopinbit/shopinbit_payment_view.dart b/lib/pages/shopinbit/shopinbit_payment_view.dart
index 2ade2f5..fce3892 100644
--- a/lib/pages/shopinbit/shopinbit_payment_view.dart
+++ b/lib/pages/shopinbit/shopinbit_payment_view.dart
@@ -22,6 +22,7 @@ import '../../widgets/desktop/desktop_dialog.dart';
import '../../widgets/desktop/desktop_dialog_close_button.dart';
import '../../widgets/desktop/primary_button.dart';
import '../../widgets/desktop/secondary_button.dart';
+import '../../widgets/icon_widgets/copy_icon.dart';
import '../../widgets/loading_indicator.dart';
import '../../widgets/rounded_white_container.dart';
import 'shopinbit_payment_shared.dart';
@@ -342,9 +343,9 @@ class _ShopInBitPaymentViewState extends ConsumerState<ShopInBitPaymentView> {
),
),
const SizedBox(width: 8),
- Icon(
- Icons.copy,
- size: 14,
+ CopyIcon(
+ width: 14,
+ height: 14,
color: Theme.of(
context,
).extension<StackColors>()!.accentColorBlue,
@@ -437,9 +438,10 @@ class _ShopInBitPaymentViewState extends ConsumerState<ShopInBitPaymentView> {
if (hasWallet)
Text("PAY NOW", style: STextStyles.link2(context))
else
- Icon(
- Icons.info_outline,
- size: 18,
+ SvgPicture.asset(
+ Assets.svg.circleInfo,
+ width: 18,
+ height: 18,
color: Theme.of(
context,
).extension<StackColors>()!.textSubtitle2,
diff --git a/lib/pages/shopinbit/shopinbit_setup_view.dart b/lib/pages/shopinbit/shopinbit_setup_view.dart
index 1ce525f..b02d5f1 100644
--- a/lib/pages/shopinbit/shopinbit_setup_view.dart
+++ b/lib/pages/shopinbit/shopinbit_setup_view.dart
@@ -11,6 +11,7 @@ import '../../utilities/text_styles.dart';
import '../../widgets/background.dart';
import '../../widgets/custom_buttons/app_bar_icon_button.dart';
import '../../widgets/desktop/primary_button.dart';
+import '../../widgets/icon_widgets/copy_icon.dart';
import '../../widgets/rounded_white_container.dart';
import '../../widgets/textfields/adaptive_text_field.dart';
import 'shopinbit_step_2.dart';
@@ -141,7 +142,10 @@ class _ShopInBitSetupViewState extends ConsumerState<ShopInBitSetupView> {
),
),
IconButton(
- icon: const Icon(Icons.copy, size: 20),
+ icon: const CopyIcon(
+ width: 20,
+ height: 20,
+ ),
onPressed: () {
Clipboard.setData(
ClipboardData(text: key),
diff --git a/lib/pages/shopinbit/shopinbit_ticket_detail.dart b/lib/pages/shopinbit/shopinbit_ticket_detail.dart
index fa374fe..65a0b8e 100644
--- a/lib/pages/shopinbit/shopinbit_ticket_detail.dart
+++ b/lib/pages/shopinbit/shopinbit_ticket_detail.dart
@@ -3,6 +3,7 @@ import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
+import 'package:flutter_svg/svg.dart';
import 'package:intl/intl.dart';
import '../../models/shopinbit/shopinbit_order_model.dart';
@@ -12,6 +13,7 @@ import '../../providers/global/shopin_bit_orders_provider.dart';
import '../../providers/global/shopin_bit_service_provider.dart';
import '../../services/shopinbit/shopinbit_orders_service.dart';
import '../../themes/stack_colors.dart';
+import '../../utilities/assets.dart';
import '../../utilities/text_styles.dart';
import '../../utilities/util.dart';
import '../../widgets/background.dart';
@@ -509,8 +511,10 @@ class _ShopInBitTicketDetailState extends ConsumerState<ShopInBitTicketDetail> {
if (!Util.isDesktop)
IconButton(
onPressed: _sendMessage,
- icon: Icon(
- Icons.send,
+ icon: SvgPicture.asset(
+ Assets.svg.send,
+ width: 24,
+ height: 24,
color: Theme.of(
context,
).extension<StackColors>()!.accentColorBlue,
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.