refactor: primaryTextTheme.displayLarge.backgroundColor -> OrderTheme.iconColor

This commit is contained in:
Rafael Saes 2023-07-05 08:54:18 -03:00
parent 85a30d1d81
commit 36359e305e
7 changed files with 41 additions and 10 deletions

View file

@ -1,5 +1,6 @@
import 'package:cake_wallet/buy/buy_provider_description.dart';
import 'package:cake_wallet/buy/get_buy_provider_icon.dart';
import 'package:cake_wallet/themes/extensions/order_theme.dart';
import 'package:flutter/material.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
@ -21,7 +22,7 @@ class OrderRow extends StatelessWidget {
@override
Widget build(BuildContext context) {
final iconColor =
Theme.of(context).primaryTextTheme!.displayLarge!.backgroundColor!;
Theme.of(context).extension<OrderTheme>()!.iconColor;
final providerIcon = getBuyProviderIcon(provider, iconColor: iconColor);

View file

@ -5,6 +5,7 @@ import 'package:cake_wallet/routes.dart';
import 'package:cake_wallet/src/screens/base_page.dart';
import 'package:cake_wallet/src/screens/ionia/widgets/card_item.dart';
import 'package:cake_wallet/themes/extensions/exchange_page_theme.dart';
import 'package:cake_wallet/themes/extensions/order_theme.dart';
import 'package:cake_wallet/typography.dart';
import 'package:cake_wallet/view_model/ionia/ionia_account_view_model.dart';
import 'package:flutter/material.dart';
@ -87,10 +88,7 @@ class _IoniaCardTabsState extends State<_IoniaCardTabs> with SingleTickerProvide
),
color: Theme.of(context).primaryColor,
),
labelColor: Theme.of(context)
.primaryTextTheme!
.displayLarge!
.backgroundColor!,
labelColor: Theme.of(context).extension<OrderTheme>()!.iconColor,
unselectedLabelColor:
Theme.of(context).primaryTextTheme!.titleLarge!.color!,
tabs: [

View file

@ -5,6 +5,7 @@ import 'package:cake_wallet/themes/extensions/filter_theme.dart';
import 'package:cake_wallet/themes/extensions/indicator_dot_theme.dart';
import 'package:cake_wallet/themes/extensions/menu_theme.dart';
import 'package:cake_wallet/themes/extensions/new_wallet_theme.dart';
import 'package:cake_wallet/themes/extensions/order_theme.dart';
import 'package:cake_wallet/themes/extensions/sync_indicator_theme.dart';
import 'package:cake_wallet/themes/extensions/wallet_list_theme.dart';
import 'package:cake_wallet/themes/light_theme.dart';
@ -74,6 +75,9 @@ class BrightTheme extends LightTheme {
WalletListTheme get walletListTheme => super.walletListTheme.copyWith(
createNewWalletButtonBackgroundColor: Palette.moderateSlateBlue);
@override
OrderTheme get orderTheme => OrderTheme(iconColor: Colors.white);
@override
ThemeData get themeData => super.themeData.copyWith(
indicatorColor: Colors.white.withOpacity(0.5), // page indicator
@ -173,7 +177,6 @@ class BrightTheme extends LightTheme {
// display4 -> displayLarge
displayLarge: TextStyle(
color: Palette.darkBlueCraiola, // template title (send page)
backgroundColor: Colors.white, // icon color on order row (moonpay)
),
),
);

View file

@ -10,6 +10,7 @@ import 'package:cake_wallet/themes/extensions/info_theme.dart';
import 'package:cake_wallet/themes/extensions/keyboard_theme.dart';
import 'package:cake_wallet/themes/extensions/menu_theme.dart';
import 'package:cake_wallet/themes/extensions/new_wallet_theme.dart';
import 'package:cake_wallet/themes/extensions/order_theme.dart';
import 'package:cake_wallet/themes/extensions/picker_theme.dart';
import 'package:cake_wallet/themes/extensions/pin_code_theme.dart';
import 'package:cake_wallet/themes/extensions/support_page_theme.dart';
@ -132,6 +133,9 @@ class DarkTheme extends ThemeBase {
AlertTheme get alertTheme =>
AlertTheme(leftButtonTextColor: Palette.alizarinRed);
@override
OrderTheme get orderTheme => OrderTheme(iconColor: Colors.white);
@override
ThemeData get themeData => super.themeData.copyWith(
indicatorColor: PaletteDark.cyanBlue, // page indicator
@ -234,8 +238,6 @@ class DarkTheme extends ThemeBase {
// display4 -> displayLarge
displayLarge: TextStyle(
color: PaletteDark.cyanBlue, // template title (send page)
backgroundColor:
Colors.white, // icon color on order row (moonpay)
),
),
);

View file

@ -0,0 +1,21 @@
import 'package:flutter/material.dart';
class OrderTheme extends ThemeExtension<OrderTheme> {
final Color iconColor;
OrderTheme({required this.iconColor});
@override
OrderTheme copyWith({Color? iconColor}) =>
OrderTheme(iconColor: iconColor ?? this.iconColor);
@override
OrderTheme lerp(ThemeExtension<OrderTheme>? other, double t) {
if (other is! OrderTheme) {
return this;
}
return OrderTheme(
iconColor: Color.lerp(iconColor, other.iconColor, t) ?? iconColor);
}
}

View file

@ -10,6 +10,7 @@ import 'package:cake_wallet/themes/extensions/info_theme.dart';
import 'package:cake_wallet/themes/extensions/keyboard_theme.dart';
import 'package:cake_wallet/themes/extensions/menu_theme.dart';
import 'package:cake_wallet/themes/extensions/new_wallet_theme.dart';
import 'package:cake_wallet/themes/extensions/order_theme.dart';
import 'package:cake_wallet/themes/extensions/picker_theme.dart';
import 'package:cake_wallet/themes/extensions/pin_code_theme.dart';
import 'package:cake_wallet/themes/extensions/support_page_theme.dart';
@ -133,6 +134,9 @@ class LightTheme extends ThemeBase {
AlertTheme get alertTheme =>
AlertTheme(leftButtonTextColor: Palette.brightOrange);
@override
OrderTheme get orderTheme => OrderTheme(iconColor: Colors.black);
@override
ThemeData get themeData => super.themeData.copyWith(
indicatorColor:
@ -235,8 +239,6 @@ class LightTheme extends ThemeBase {
// display4 -> displayLarge
displayLarge: TextStyle(
color: Palette.darkBlueCraiola, // template title (send page)
backgroundColor:
Colors.black, // icon color on order row (moonpay)
),
),
);

View file

@ -9,6 +9,7 @@ import 'package:cake_wallet/themes/extensions/info_theme.dart';
import 'package:cake_wallet/themes/extensions/keyboard_theme.dart';
import 'package:cake_wallet/themes/extensions/menu_theme.dart';
import 'package:cake_wallet/themes/extensions/new_wallet_theme.dart';
import 'package:cake_wallet/themes/extensions/order_theme.dart';
import 'package:cake_wallet/themes/extensions/picker_theme.dart';
import 'package:cake_wallet/themes/extensions/pin_code_theme.dart';
import 'package:cake_wallet/themes/extensions/support_page_theme.dart';
@ -82,6 +83,8 @@ abstract class ThemeBase {
AlertTheme get alertTheme;
OrderTheme get orderTheme;
ThemeData get themeData => generatedThemeData.copyWith(
primaryColor: primaryColor,
cardColor: containerColor,
@ -103,6 +106,7 @@ abstract class ThemeBase {
infoTheme,
pickerTheme,
alertTheme,
orderTheme,
],
scrollbarTheme: ScrollbarThemeData(
thumbColor: MaterialStateProperty.all(scrollbarTheme.thumbColor),