feat: Allow tap to copy on exchange url and add launch icon for launch. (#2262)
David Adegoke committed
May 13, 2025 at 13:01 UTC
ca8dbf3c81acb53824193030fa1851c6af9cbdcd
2 files changed
+26
-3
lib/src/screens/trade_details/trade_details_page.dart
+25
-2
@@ -9,6 +9,7 @@ import 'package:cake_wallet/src/widgets/list_row.dart';
9
import 'package:cake_wallet/src/widgets/standard_list.dart';
10
import 'package:cake_wallet/src/widgets/standard_list_card.dart';
11
import 'package:cake_wallet/src/widgets/standard_list_status_row.dart';
12
+import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
13
import 'package:cake_wallet/utils/show_bar.dart';
14
import 'package:cake_wallet/view_model/trade_details_view_model.dart';
15
import 'package:flutter/material.dart';
@@ -59,9 +60,31 @@ class TradeDetailsPageBodyState extends State<TradeDetailsPageBody> {
60
final item = tradeDetailsViewModel.items[index];
61
62
if (item is TrackTradeListItem)
62
- return GestureDetector(
63
+ return ListRow(
64
+ title: '${item.title}',
65
+ value: '${item.value}',
66
+ textWidget: GestureDetector(
67
+ onTap: () {
68
+ Clipboard.setData(ClipboardData(text: '${item.value}'));
69
+ showBar<void>(context, S.of(context).copied_to_clipboard);
70
+ },
71
+ child: Text(
72
+ '${item.value}',
73
+ style: TextStyle(
74
+ fontSize: 16,
75
+ fontWeight: FontWeight.w500,
76
+ color: Theme.of(context).extension<CakeTextTheme>()!.titleColor,
77
+ ),
78
+ ),
79
+ ),
80
+ image: GestureDetector(
81
onTap: item.onTap,
64
- child: ListRow(title: '${item.title}', value: '${item.value}'));
82
+ child: Icon(
83
+ Icons.launch_rounded,
84
+ color: Theme.of(context).extension<CakeTextTheme>()!.titleColor,
85
+ ),
86
+ ),
87
+ );
88
89
if (item is DetailsListStatusItem)
90
return StandardListStatusRow(title: item.title, value: item.value);
lib/src/widgets/list_row.dart
+1
-1
@@ -20,7 +20,7 @@ class ListRow extends StatelessWidget {
20
final String value;
21
final double titleFontSize;
22
final double valueFontSize;
23
- final Image? image;
23
+ final Widget? image;
24
final EdgeInsetsGeometry? padding;
25
final Color? color;
26
final Color? hintTextColor;