fix-colors-for-address-tile-send-UI (#2113)

* Update confirm_sending_bottom_sheet_widget.dart * Update standard_slide_button_widget.dart

Serhii committed Mar 24, 2025 at 22:11 UTC 13dc6de8dd697a2dd2f458917326f7a3885edca1
2 files changed +36 -11
lib/src/widgets/bottom_sheet/confirm_sending_bottom_sheet_widget.dart
+26 -6
@@ -3,6 +3,7 @@ import 'package:cake_wallet/src/widgets/standard_slide_button_widget.dart';
3 import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
4 import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
5 import 'package:cake_wallet/themes/extensions/filter_theme.dart';
6 +import 'package:cake_wallet/themes/extensions/sync_indicator_theme.dart';
7 import 'package:cake_wallet/themes/theme_base.dart';
8 import 'package:cake_wallet/view_model/send/output.dart';
9 import 'package:cw_core/crypto_currency.dart';
@@ -71,6 +72,12 @@ class ConfirmSendingBottomSheet extends BaseBottomSheet {
72 decoration: TextDecoration.none,
73 );
74
75 + final tileBackgroundColor = currentTheme.type == ThemeType.light
76 + ? Theme.of(context).extension<SyncIndicatorTheme>()!.syncedBackgroundColor
77 + : currentTheme.type == ThemeType.oled
78 + ? Colors.black.withOpacity(0.5)
79 + : Theme.of(context).extension<FilterTheme>()!.buttonColor;
80 +
81 Widget content = Padding(
82 padding: EdgeInsets.fromLTRB(8, 0, showScrollbar ? 16 : 8, 8),
83 child: Column(
@@ -86,6 +93,7 @@ class ConfirmSendingBottomSheet extends BaseBottomSheet {
93 amount: '',
94 address: paymentIdValue!,
95 itemSubTitleTextStyle: itemSubTitleTextStyle,
96 + tileBackgroundColor: tileBackgroundColor,
97 ),
98 ),
99 StandardTile(
@@ -94,6 +102,7 @@ class ConfirmSendingBottomSheet extends BaseBottomSheet {
102 itemTitleTextStyle: itemTitleTextStyle,
103 itemSubTitle: fiatAmountValue,
104 itemSubTitleTextStyle: itemSubTitleTextStyle,
105 + tileBackgroundColor: tileBackgroundColor,
106 ),
107 const SizedBox(height: 8),
108 StandardTile(
@@ -102,6 +111,7 @@ class ConfirmSendingBottomSheet extends BaseBottomSheet {
111 itemTitleTextStyle: itemTitleTextStyle,
112 itemSubTitle: feeFiatAmount,
113 itemSubTitleTextStyle: itemSubTitleTextStyle,
114 + tileBackgroundColor: tileBackgroundColor,
115 ),
116 const SizedBox(height: 8),
117 Column(
@@ -130,6 +140,7 @@ class ConfirmSendingBottomSheet extends BaseBottomSheet {
140 isBatchSending: isBatchSending,
141 itemTitleTextStyle: itemTitleTextStyle,
142 itemSubTitleTextStyle: itemSubTitleTextStyle,
143 + tileBackgroundColor: tileBackgroundColor,
144 )
145 : AddressTile(
146 itemTitle: 'Address',
@@ -139,6 +150,7 @@ class ConfirmSendingBottomSheet extends BaseBottomSheet {
150 amount: _amount,
151 address: _address,
152 itemSubTitleTextStyle: itemSubTitleTextStyle,
153 + tileBackgroundColor: tileBackgroundColor,
154 );
155 },
156 ),
@@ -154,6 +166,7 @@ class ConfirmSendingBottomSheet extends BaseBottomSheet {
166 isBatchSending: true,
167 itemTitleTextStyle: itemTitleTextStyle,
168 itemSubTitleTextStyle: itemSubTitleTextStyle,
169 + tileBackgroundColor: tileBackgroundColor,
170 ),
171 ),
172 ],
@@ -214,6 +227,7 @@ class StandardTile extends StatelessWidget {
227 required this.itemTitleTextStyle,
228 this.itemSubTitle,
229 required this.itemSubTitleTextStyle,
230 + required this.tileBackgroundColor,
231 });
232
233 final String itemTitle;
@@ -221,14 +235,14 @@ class StandardTile extends StatelessWidget {
235 final TextStyle itemTitleTextStyle;
236 final String? itemSubTitle;
237 final TextStyle itemSubTitleTextStyle;
238 + final Color tileBackgroundColor;
239
240 @override
241 Widget build(BuildContext context) {
242 return Container(
243 padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 8),
229 - decoration: BoxDecoration(
230 - borderRadius: BorderRadius.circular(10),
231 - color: Theme.of(context).extension<FilterTheme>()!.buttonColor),
244 + decoration:
245 + BoxDecoration(borderRadius: BorderRadius.circular(10), color: tileBackgroundColor),
246 child: Row(
247 mainAxisAlignment: MainAxisAlignment.spaceBetween,
248 children: [
@@ -258,6 +272,7 @@ class AddressTile extends StatelessWidget {
272 required this.amount,
273 required this.address,
274 required this.itemSubTitleTextStyle,
275 + required this.tileBackgroundColor,
276 });
277
278 final String itemTitle;
@@ -267,6 +282,7 @@ class AddressTile extends StatelessWidget {
282 final String amount;
283 final String address;
284 final TextStyle itemSubTitleTextStyle;
285 + final Color tileBackgroundColor;
286
287 @override
288 Widget build(BuildContext context) {
@@ -283,7 +299,7 @@ class AddressTile extends StatelessWidget {
299 padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 8),
300 decoration: BoxDecoration(
301 borderRadius: BorderRadius.circular(10),
286 - color: Theme.of(context).extension<FilterTheme>()!.buttonColor,
302 + color: tileBackgroundColor,
303 ),
304 child: Column(
305 crossAxisAlignment: CrossAxisAlignment.start,
@@ -343,6 +359,7 @@ class AddressExpansionTile extends StatelessWidget {
359 required this.isBatchSending,
360 required this.itemTitleTextStyle,
361 required this.itemSubTitleTextStyle,
362 + required this.tileBackgroundColor,
363 });
364
365 final String contactType;
@@ -353,6 +370,7 @@ class AddressExpansionTile extends StatelessWidget {
370 final bool isBatchSending;
371 final TextStyle itemTitleTextStyle;
372 final TextStyle itemSubTitleTextStyle;
373 + final Color tileBackgroundColor;
374
375 @override
376 Widget build(BuildContext context) {
@@ -369,7 +387,7 @@ class AddressExpansionTile extends StatelessWidget {
387 return Container(
388 decoration: BoxDecoration(
389 borderRadius: BorderRadius.all(Radius.circular(10)),
372 - color: Theme.of(context).extension<FilterTheme>()!.buttonColor,
390 + color: tileBackgroundColor,
391 ),
392 child: Theme(
393 data: Theme.of(context).copyWith(dividerColor: Colors.transparent),
@@ -383,7 +401,9 @@ class AddressExpansionTile extends StatelessWidget {
401 title: Row(
402 mainAxisAlignment: MainAxisAlignment.spaceBetween,
403 children: [
386 - Expanded(child: Text(isBatchSending ? name : contactType, style: itemTitleTextStyle, softWrap: true)),
404 + Expanded(
405 + child: Text(isBatchSending ? name : contactType,
406 + style: itemTitleTextStyle, softWrap: true)),
407 Text(isBatchSending ? amount : name,
408 style: TextStyle(
409 fontSize: 14,
lib/src/widgets/standard_slide_button_widget.dart
+10 -5
@@ -1,6 +1,7 @@
1 import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
2 import 'package:cake_wallet/themes/extensions/filter_theme.dart';
3 import 'package:cake_wallet/themes/extensions/menu_theme.dart';
4 +import 'package:cake_wallet/themes/extensions/sync_indicator_theme.dart';
5 import 'package:cake_wallet/themes/theme_base.dart';
6 import 'package:flutter/material.dart';
7
@@ -33,13 +34,17 @@ class _StandardSlideButtonState extends State<StandardSlideButton> {
34 final double effectiveMaxWidth = maxWidth - 2 * sideMargin;
35 const double sliderWidth = 42.0;
36
37 + final tileBackgroundColor = widget.currentTheme.type == ThemeType.light
38 + ? Theme.of(context).extension<SyncIndicatorTheme>()!.syncedBackgroundColor
39 + : widget.currentTheme.type == ThemeType.oled
40 + ? Colors.black.withOpacity(0.5)
41 + : Theme.of(context).extension<FilterTheme>()!.buttonColor;
42 +
43 return Container(
44 height: widget.height,
45 decoration: BoxDecoration(
46 borderRadius: BorderRadius.circular(10),
40 - color: widget.currentTheme.type == ThemeType.light || widget.currentTheme.type == ThemeType.bright
41 - ? Theme.of(context).disabledColor
42 - : widget.currentTheme.type == ThemeType.oled ? Colors.black : Theme.of(context).extension<CakeMenuTheme>()!.backgroundColor),
47 + color: tileBackgroundColor),
48 child: Stack(
49 alignment: Alignment.centerLeft,
50 children: [
@@ -74,11 +79,11 @@ class _StandardSlideButtonState extends State<StandardSlideButton> {
79 height: widget.height - 8,
80 decoration: BoxDecoration(
81 borderRadius: BorderRadius.circular(10),
77 - color: widget.currentTheme.type == ThemeType.bright ? Theme.of(context).extension<CakeMenuTheme>()!.backgroundColor : Theme.of(context).extension<FilterTheme>()!.buttonColor,
82 + color: Theme.of(context).extension<CakeTextTheme>()!.titleColor,
83 ),
84 alignment: Alignment.center,
85 child: Icon(Icons.arrow_forward,
81 - color: Theme.of(context).extension<CakeTextTheme>()!.titleColor),
86 + color: widget.currentTheme.type == ThemeType.bright ? Theme.of(context).extension<CakeMenuTheme>()!.backgroundColor : Theme.of(context).extension<FilterTheme>()!.buttonColor),
87 ),
88 ),
89 )