refactor: move remaining items to CakeTextTheme and some missing fixes

This commit is contained in:
Rafael Saes 2023-07-05 15:10:45 -03:00
parent 74abc02a4f
commit d3cb19cc3c
20 changed files with 97 additions and 109 deletions

View file

@ -6,6 +6,7 @@ import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/routes.dart'; import 'package:cake_wallet/routes.dart';
import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/dropdown_item_widget.dart'; import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/dropdown_item_widget.dart';
import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart'; import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart';
import 'package:cake_wallet/themes/extensions/menu_theme.dart';
import 'package:cake_wallet/utils/show_bar.dart'; import 'package:cake_wallet/utils/show_bar.dart';
import 'package:cake_wallet/utils/show_pop_up.dart'; import 'package:cake_wallet/utils/show_pop_up.dart';
import 'package:cake_wallet/view_model/wallet_list/wallet_list_item.dart'; import 'package:cake_wallet/view_model/wallet_list/wallet_list_item.dart';
@ -94,8 +95,8 @@ class _DesktopWalletSelectionDropDownState extends State<DesktopWalletSelectionD
onChanged: (item) { onChanged: (item) {
item?.onSelected(); item?.onSelected();
}, },
dropdownColor: themeData.textTheme!.bodyLarge?.decorationColor, dropdownColor: themeData.extension<CakeMenuTheme>()!.backgroundColor,
style: TextStyle(color: themeData.primaryTextTheme!.titleLarge?.color), style: TextStyle(color: themeData.extension<CakeTextTheme>()!.titleColor),
selectedItemBuilder: (context) => dropDownItems.map((item) => item.child).toList(), selectedItemBuilder: (context) => dropDownItems.map((item) => item.child).toList(),
value: dropDownItems.firstWhere((element) => element.isSelected), value: dropDownItems.firstWhere((element) => element.isSelected),
underline: const SizedBox(), underline: const SizedBox(),

View file

@ -1,4 +1,5 @@
import 'package:cake_wallet/themes/extensions/keyboard_theme.dart'; import 'package:cake_wallet/themes/extensions/keyboard_theme.dart';
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
import 'package:cake_wallet/anonpay/anonpay_donation_link_info.dart'; import 'package:cake_wallet/anonpay/anonpay_donation_link_info.dart';
import 'package:cake_wallet/entities/preferences_key.dart'; import 'package:cake_wallet/entities/preferences_key.dart';
import 'package:cake_wallet/entities/receive_page_option.dart'; import 'package:cake_wallet/entities/receive_page_option.dart';
@ -188,10 +189,7 @@ class AddressPage extends BasePage {
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(25)), borderRadius: BorderRadius.all(Radius.circular(25)),
border: Border.all( border: Border.all(
color: Theme.of(context) color: Theme.of(context).extension<CakeTextTheme>()!.addressButtonBorderColor,
.textTheme!
.titleMedium!
.color!,
width: 1), width: 1),
color: Theme.of(context).extension<SyncIndicatorTheme>()!.syncedBackgroundColor), color: Theme.of(context).extension<SyncIndicatorTheme>()!.syncedBackgroundColor),
child: Row( child: Row(

View file

@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart'; import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
class AnonpayTransactionRow extends StatelessWidget { class AnonpayTransactionRow extends StatelessWidget {
@ -50,7 +51,7 @@ class AnonpayTransactionRow extends StatelessWidget {
Text(createdAt, Text(createdAt,
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 14,
color: Theme.of(context).textTheme!.labelSmall!.backgroundColor!)) color: Theme.of(context).extension<CakeTextTheme>()!.dateSectionRowColor))
]) ])
], ],
)) ))

View file

@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:cake_wallet/generated/i18n.dart'; import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/utils/date_formatter.dart'; import 'package:cake_wallet/utils/date_formatter.dart';
@ -36,9 +37,6 @@ class DateSectionRaw extends StatelessWidget {
child: Text(title, child: Text(title,
style: TextStyle( style: TextStyle(
fontSize: 12, fontSize: 12,
color: Theme.of(context) color: Theme.of(context).extension<CakeTextTheme>()!.dateSectionRowColor)));
.textTheme!
.labelSmall!
.backgroundColor!)));
} }
} }

View file

@ -1,4 +1,5 @@
import 'package:cake_wallet/buy/buy_provider_description.dart'; import 'package:cake_wallet/buy/buy_provider_description.dart';
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
import 'package:cake_wallet/buy/get_buy_provider_icon.dart'; import 'package:cake_wallet/buy/get_buy_provider_icon.dart';
import 'package:cake_wallet/themes/extensions/order_theme.dart'; import 'package:cake_wallet/themes/extensions/order_theme.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -68,10 +69,7 @@ class OrderRow extends StatelessWidget {
Text(createdAtFormattedDate, Text(createdAtFormattedDate,
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 14,
color: Theme.of(context) color: Theme.of(context).extension<CakeTextTheme>()!.dateSectionRowColor))
.textTheme!
.labelSmall!
.backgroundColor!))
]) ])
], ],
) )

View file

@ -1,3 +1,4 @@
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:cw_core/crypto_currency.dart'; import 'package:cw_core/crypto_currency.dart';
import 'package:cake_wallet/exchange/exchange_provider_description.dart'; import 'package:cake_wallet/exchange/exchange_provider_description.dart';
@ -60,7 +61,7 @@ class TradeRow extends StatelessWidget {
Text(createdAtFormattedDate!, Text(createdAtFormattedDate!,
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 14,
color: Theme.of(context).textTheme!.labelSmall!.backgroundColor!)) color: Theme.of(context).extension<CakeTextTheme>()!.dateSectionRowColor))
]) ])
], ],
)) ))

View file

@ -1,3 +1,4 @@
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:cw_core/transaction_direction.dart'; import 'package:cw_core/transaction_direction.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart'; import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
@ -70,17 +71,11 @@ class TransactionRow extends StatelessWidget {
Text(formattedDate, Text(formattedDate,
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 14,
color: Theme.of(context) color: Theme.of(context).extension<CakeTextTheme>()!.dateSectionRowColor)),
.textTheme!
.labelSmall!
.backgroundColor!)),
Text(formattedFiatAmount, Text(formattedFiatAmount,
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 14,
color: Theme.of(context) color: Theme.of(context).extension<CakeTextTheme>()!.dateSectionRowColor))
.textTheme!
.labelSmall!
.backgroundColor!))
]) ])
], ],
) )

View file

@ -157,7 +157,7 @@ class DisclaimerBodyState extends State<DisclaimerPageBody> {
changenowUrl, changenowUrl,
textAlign: TextAlign.left, textAlign: TextAlign.left,
style: TextStyle( style: TextStyle(
color: Palette.blueCraiola, color: Theme.of(context).primaryColor,
fontSize: 14.0, fontSize: 14.0,
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
decoration: TextDecoration.underline), decoration: TextDecoration.underline),

View file

@ -198,14 +198,8 @@ class SendPage extends BasePage {
radius: 6.0, radius: 6.0,
dotWidth: 6.0, dotWidth: 6.0,
dotHeight: 6.0, dotHeight: 6.0,
dotColor: Theme.of(context) dotColor: Theme.of(context).extension<SendPageTheme>()!.indicatorDotColor,
.primaryTextTheme activeDotColor: Theme.of(context).extension<SendPageTheme>()!.templateBackgroundColor),
!.displaySmall!
.backgroundColor!,
activeDotColor: Theme.of(context)
.primaryTextTheme
!.displayMedium!
.backgroundColor!),
) )
: Offstage(); : Offstage();
}, },

View file

@ -27,7 +27,7 @@ class SettingsLinkProviderCell extends StandardListRow {
style: TextStyle( style: TextStyle(
fontSize: 14.0, fontSize: 14.0,
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
color: Palette.blueCraiola)); color: Theme.of(context).primaryColor));
static void _launchUrl(String url) async { static void _launchUrl(String url) async {
try { try {

View file

@ -1,3 +1,4 @@
import 'package:cake_wallet/themes/extensions/transaction_trade_theme.dart';
import 'package:cake_wallet/utils/show_pop_up.dart'; import 'package:cake_wallet/utils/show_pop_up.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:cake_wallet/src/widgets/picker.dart'; import 'package:cake_wallet/src/widgets/picker.dart';
@ -55,7 +56,7 @@ class SettingsPickerCell<ItemType> extends StandardListRow {
style: TextStyle( style: TextStyle(
fontSize: 14.0, fontSize: 14.0,
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
color: Theme.of(context).primaryTextTheme!.labelSmall?.color, color: Theme.of(context).extension<TransactionTradeTheme>()!.detailsTitlesColor,
), ),
); );
} }

View file

@ -1,4 +1,5 @@
import 'package:cake_wallet/generated/i18n.dart'; import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:cake_wallet/routes.dart'; import 'package:cake_wallet/routes.dart';
@ -33,7 +34,7 @@ class Setup2FAPage extends BasePage {
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
fontSize: 14, fontSize: 14,
height: 1.571, height: 1.571,
color: Theme.of(context).primaryTextTheme.headline6!.color!, color: Theme.of(context).extension<CakeTextTheme>()!.titleColor,
), ),
), ),
SizedBox(height: 16), SizedBox(height: 16),
@ -43,7 +44,7 @@ class Setup2FAPage extends BasePage {
fontWeight: FontWeight.w400, fontWeight: FontWeight.w400,
fontSize: 14, fontSize: 14,
height: 1.571, height: 1.571,
color: Theme.of(context).primaryTextTheme.headline6!.color!, color: Theme.of(context).extension<CakeTextTheme>()!.titleColor,
), ),
), ),
], ],

View file

@ -1,4 +1,5 @@
import 'package:cake_wallet/core/totp_request_details.dart'; import 'package:cake_wallet/core/totp_request_details.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:cake_wallet/generated/i18n.dart'; import 'package:cake_wallet/generated/i18n.dart';
@ -51,7 +52,7 @@ class Setup2FAQRPage extends BasePage {
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border.all( border: Border.all(
width: 3, width: 3,
color: Theme.of(context).accentTextTheme.headline2!.backgroundColor!, color: Theme.of(context).extension<DashboardPageTheme>()!.textColor,
), ),
), ),
child: Container( child: Container(

View file

@ -84,10 +84,7 @@ class StandardListSeparator extends StatelessWidget {
color: Theme.of(context).colorScheme.background, color: Theme.of(context).colorScheme.background,
child: Container( child: Container(
height: height, height: height,
color: Theme.of(context) color: Theme.of(context).extension<CakeTextTheme>()!.textfieldUnderlineColor));
.primaryTextTheme!
.titleLarge
?.backgroundColor));
} }
} }

View file

@ -1,4 +1,5 @@
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart'; import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart'; import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
import 'package:cake_wallet/themes/extensions/exchange_page_theme.dart'; import 'package:cake_wallet/themes/extensions/exchange_page_theme.dart';
import 'package:cake_wallet/themes/extensions/filter_theme.dart'; import 'package:cake_wallet/themes/extensions/filter_theme.dart';
@ -7,6 +8,8 @@ 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/new_wallet_theme.dart';
import 'package:cake_wallet/themes/extensions/order_theme.dart'; import 'package:cake_wallet/themes/extensions/order_theme.dart';
import 'package:cake_wallet/themes/extensions/placeholder_theme.dart'; import 'package:cake_wallet/themes/extensions/placeholder_theme.dart';
import 'package:cake_wallet/themes/extensions/qr_code_theme.dart';
import 'package:cake_wallet/themes/extensions/receive_page_theme.dart';
import 'package:cake_wallet/themes/extensions/send_page_theme.dart'; import 'package:cake_wallet/themes/extensions/send_page_theme.dart';
import 'package:cake_wallet/themes/extensions/sync_indicator_theme.dart'; import 'package:cake_wallet/themes/extensions/sync_indicator_theme.dart';
import 'package:cake_wallet/themes/extensions/transaction_trade_theme.dart'; import 'package:cake_wallet/themes/extensions/transaction_trade_theme.dart';
@ -84,7 +87,7 @@ class BrightTheme extends LightTheme {
@override @override
SendPageTheme get sendPageTheme => super.sendPageTheme.copyWith( SendPageTheme get sendPageTheme => super.sendPageTheme.copyWith(
templateBackgroundColor: Palette.shadowWhite, templateBackgroundColor: Palette.shadowWhite,
templateDotterBorderColor: Palette.shadowWhite, templateDottedBorderColor: Palette.shadowWhite,
secondGradientColor: Palette.pinkFlamingo); secondGradientColor: Palette.pinkFlamingo);
@override @override
@ -110,22 +113,14 @@ class BrightTheme extends LightTheme {
.qrCodeTheme .qrCodeTheme
.copyWith(qrWidgetCopyButtonColor: Colors.white.withOpacity(0.4)); .copyWith(qrWidgetCopyButtonColor: Colors.white.withOpacity(0.4));
@override
CakeTextTheme get cakeTextTheme => super.cakeTextTheme.copyWith(
addressButtonBorderColor: Colors.white.withOpacity(0.4),
dateSectionRowColor: Colors.white.withOpacity(0.5));
@override @override
ThemeData get themeData => super.themeData.copyWith( ThemeData get themeData => super.themeData.copyWith(
indicatorColor: Colors.white.withOpacity(0.5), // page indicator indicatorColor: Colors.white.withOpacity(0.5), // page indicator
dividerColor: Palette.paleBlue, dividerColor: Palette.paleBlue,
hintColor: Palette.gray, hintColor: Palette.gray);
textTheme: TextTheme(
labelSmall: TextStyle(
backgroundColor:
Colors.white.withOpacity(0.5), // date section row
),
// subhead -> titleMedium
titleMedium: TextStyle(
color: Colors.white.withOpacity(0.2), // address button border
decorationColor:
Colors.white.withOpacity(0.4), // copy button (qr widget)
),
),
);
} }

View file

@ -1,3 +1,4 @@
import 'package:cake_wallet/themes/extensions/account_list_theme.dart';
import 'package:cake_wallet/themes/extensions/address_theme.dart'; import 'package:cake_wallet/themes/extensions/address_theme.dart';
import 'package:cake_wallet/themes/extensions/alert_theme.dart'; import 'package:cake_wallet/themes/extensions/alert_theme.dart';
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart'; import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
@ -15,6 +16,8 @@ import 'package:cake_wallet/themes/extensions/order_theme.dart';
import 'package:cake_wallet/themes/extensions/picker_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/pin_code_theme.dart';
import 'package:cake_wallet/themes/extensions/placeholder_theme.dart'; import 'package:cake_wallet/themes/extensions/placeholder_theme.dart';
import 'package:cake_wallet/themes/extensions/qr_code_theme.dart';
import 'package:cake_wallet/themes/extensions/receive_page_theme.dart';
import 'package:cake_wallet/themes/extensions/seed_widget_theme.dart'; import 'package:cake_wallet/themes/extensions/seed_widget_theme.dart';
import 'package:cake_wallet/themes/extensions/send_page_theme.dart'; import 'package:cake_wallet/themes/extensions/send_page_theme.dart';
import 'package:cake_wallet/themes/extensions/support_page_theme.dart'; import 'package:cake_wallet/themes/extensions/support_page_theme.dart';
@ -153,7 +156,8 @@ class DarkTheme extends ThemeBase {
textFieldHintColor: PaletteDark.darkCyanBlue, textFieldHintColor: PaletteDark.darkCyanBlue,
textFieldBorderColor: PaletteDark.lightVioletBlue, textFieldBorderColor: PaletteDark.lightVioletBlue,
secondGradientColor: PaletteDark.darkNightBlue, secondGradientColor: PaletteDark.darkNightBlue,
firstGradientColor: PaletteDark.darkNightBlue); firstGradientColor: PaletteDark.darkNightBlue,
indicatorDotColor: PaletteDark.cyanBlue);
@override @override
SeedWidgetTheme get seedWidgetTheme => SeedWidgetTheme get seedWidgetTheme =>
@ -171,7 +175,9 @@ class DarkTheme extends ThemeBase {
CakeTextTheme get cakeTextTheme => CakeTextTheme( CakeTextTheme get cakeTextTheme => CakeTextTheme(
secondaryTextColor: PaletteDark.darkCyanBlue, secondaryTextColor: PaletteDark.darkCyanBlue,
textfieldUnderlineColor: PaletteDark.darkOceanBlue, textfieldUnderlineColor: PaletteDark.darkOceanBlue,
titleColor: Colors.white); titleColor: Colors.white,
addressButtonBorderColor: PaletteDark.nightBlue,
dateSectionRowColor: PaletteDark.darkCyanBlue);
@override @override
AccountListTheme get accountListTheme => AccountListTheme( AccountListTheme get accountListTheme => AccountListTheme(
@ -196,22 +202,12 @@ class DarkTheme extends ThemeBase {
@override @override
ThemeData get themeData => super.themeData.copyWith( ThemeData get themeData => super.themeData.copyWith(
indicatorColor: PaletteDark.cyanBlue, // page indicator indicatorColor: PaletteDark.cyanBlue,
dividerColor: PaletteDark.dividerColor, dividerColor: PaletteDark.dividerColor,
hintColor: PaletteDark.pigeonBlue, hintColor: PaletteDark.pigeonBlue,
disabledColor: PaletteDark.deepVioletBlue, disabledColor: PaletteDark.deepVioletBlue,
dialogTheme: super dialogTheme: super
.themeData .themeData
.dialogTheme .dialogTheme
.copyWith(backgroundColor: PaletteDark.nightBlue), .copyWith(backgroundColor: PaletteDark.nightBlue));
textTheme: TextTheme(
labelSmall: TextStyle(
backgroundColor: PaletteDark.darkCyanBlue, // date section row
),
// subhead -> titleMedium
titleMedium: TextStyle(
color: PaletteDark.nightBlue, // address button border
),
),
);
} }

View file

@ -4,22 +4,31 @@ class CakeTextTheme extends ThemeExtension<CakeTextTheme> {
final Color secondaryTextColor; final Color secondaryTextColor;
final Color textfieldUnderlineColor; final Color textfieldUnderlineColor;
final Color titleColor; final Color titleColor;
final Color addressButtonBorderColor;
final Color dateSectionRowColor;
CakeTextTheme( CakeTextTheme(
{required this.secondaryTextColor, {required this.secondaryTextColor,
required this.textfieldUnderlineColor, required this.textfieldUnderlineColor,
required this.titleColor}); required this.titleColor,
required this.addressButtonBorderColor,
required this.dateSectionRowColor});
@override @override
CakeTextTheme copyWith( CakeTextTheme copyWith(
{Color? secondaryTextColor, {Color? secondaryTextColor,
Color? textfieldUnderlineColor, Color? textfieldUnderlineColor,
Color? titleColor}) => Color? titleColor,
Color? addressButtonBorderColor,
Color? dateSectionRowColor}) =>
CakeTextTheme( CakeTextTheme(
secondaryTextColor: secondaryTextColor ?? this.secondaryTextColor, secondaryTextColor: secondaryTextColor ?? this.secondaryTextColor,
textfieldUnderlineColor: textfieldUnderlineColor:
textfieldUnderlineColor ?? this.textfieldUnderlineColor, textfieldUnderlineColor ?? this.textfieldUnderlineColor,
titleColor: titleColor ?? this.titleColor); titleColor: titleColor ?? this.titleColor,
addressButtonBorderColor:
addressButtonBorderColor ?? this.addressButtonBorderColor,
dateSectionRowColor: dateSectionRowColor ?? this.dateSectionRowColor);
@override @override
CakeTextTheme lerp(ThemeExtension<CakeTextTheme>? other, double t) { CakeTextTheme lerp(ThemeExtension<CakeTextTheme>? other, double t) {
@ -32,6 +41,10 @@ class CakeTextTheme extends ThemeExtension<CakeTextTheme> {
Color.lerp(secondaryTextColor, other.secondaryTextColor, t)!, Color.lerp(secondaryTextColor, other.secondaryTextColor, t)!,
textfieldUnderlineColor: Color.lerp( textfieldUnderlineColor: Color.lerp(
textfieldUnderlineColor, other.textfieldUnderlineColor, t)!, textfieldUnderlineColor, other.textfieldUnderlineColor, t)!,
titleColor: Color.lerp(titleColor, other.titleColor, t)!); titleColor: Color.lerp(titleColor, other.titleColor, t)!,
addressButtonBorderColor: Color.lerp(
addressButtonBorderColor, other.addressButtonBorderColor, t)!,
dateSectionRowColor:
Color.lerp(dateSectionRowColor, other.dateSectionRowColor, t)!);
} }
} }

View file

@ -12,6 +12,7 @@ class SendPageTheme extends ThemeExtension<SendPageTheme> {
final Color textFieldBorderColor; final Color textFieldBorderColor;
final Color firstGradientColor; final Color firstGradientColor;
final Color secondGradientColor; final Color secondGradientColor;
final Color indicatorDotColor;
SendPageTheme( SendPageTheme(
{required this.templateTitleColor, {required this.templateTitleColor,
@ -24,21 +25,23 @@ class SendPageTheme extends ThemeExtension<SendPageTheme> {
required this.textFieldHintColor, required this.textFieldHintColor,
required this.textFieldBorderColor, required this.textFieldBorderColor,
required this.firstGradientColor, required this.firstGradientColor,
required this.secondGradientColor}); required this.secondGradientColor,
required this.indicatorDotColor});
@override @override
SendPageTheme copyWith( SendPageTheme copyWith(
{Color? templateTitleColor, {Color? templateTitleColor,
Color? templateBackgroundColor, Color? templateBackgroundColor,
Color? templateNewTextColor, Color? templateNewTextColor,
Color? templateDotterBorderColor, Color? templateDottedBorderColor,
Color? estimatedFeeColor, Color? estimatedFeeColor,
Color? textFieldButtonIconColor, Color? textFieldButtonIconColor,
Color? textFieldButtonColor, Color? textFieldButtonColor,
Color? textFieldHintColor, Color? textFieldHintColor,
Color? textFieldBorderColor, Color? textFieldBorderColor,
Color? firstGradientColor, Color? firstGradientColor,
Color? secondGradientColor}) => Color? secondGradientColor,
Color? indicatorDotColor}) =>
SendPageTheme( SendPageTheme(
templateTitleColor: templateTitleColor ?? this.templateTitleColor, templateTitleColor: templateTitleColor ?? this.templateTitleColor,
templateBackgroundColor: templateBackgroundColor:
@ -46,7 +49,7 @@ class SendPageTheme extends ThemeExtension<SendPageTheme> {
templateNewTextColor: templateNewTextColor:
templateNewTextColor ?? this.templateNewTextColor, templateNewTextColor ?? this.templateNewTextColor,
templateDottedBorderColor: templateDottedBorderColor:
templateDotterBorderColor ?? this.templateDottedBorderColor, templateDottedBorderColor ?? this.templateDottedBorderColor,
estimatedFeeColor: estimatedFeeColor ?? this.estimatedFeeColor, estimatedFeeColor: estimatedFeeColor ?? this.estimatedFeeColor,
textFieldButtonIconColor: textFieldButtonIconColor:
textFieldButtonIconColor ?? this.textFieldButtonIconColor, textFieldButtonIconColor ?? this.textFieldButtonIconColor,
@ -56,7 +59,8 @@ class SendPageTheme extends ThemeExtension<SendPageTheme> {
textFieldBorderColor: textFieldBorderColor:
textFieldBorderColor ?? this.textFieldBorderColor, textFieldBorderColor ?? this.textFieldBorderColor,
firstGradientColor: firstGradientColor ?? this.firstGradientColor, firstGradientColor: firstGradientColor ?? this.firstGradientColor,
secondGradientColor: secondGradientColor ?? this.secondGradientColor); secondGradientColor: secondGradientColor ?? this.secondGradientColor,
indicatorDotColor: indicatorDotColor ?? this.indicatorDotColor);
@override @override
SendPageTheme lerp(ThemeExtension<SendPageTheme>? other, double t) { SendPageTheme lerp(ThemeExtension<SendPageTheme>? other, double t) {
@ -65,16 +69,14 @@ class SendPageTheme extends ThemeExtension<SendPageTheme> {
} }
return SendPageTheme( return SendPageTheme(
templateTitleColor: Color.lerp( templateTitleColor:
templateTitleColor, other.templateTitleColor, t)!, Color.lerp(templateTitleColor, other.templateTitleColor, t)!,
templateBackgroundColor: Color.lerp( templateBackgroundColor: Color.lerp(
templateBackgroundColor, other.templateBackgroundColor, t)!, templateBackgroundColor, other.templateBackgroundColor, t)!,
templateNewTextColor: templateNewTextColor:
Color.lerp(templateNewTextColor, other.templateNewTextColor, t)!, Color.lerp(templateNewTextColor, other.templateNewTextColor, t)!,
templateDottedBorderColor: Color.lerp( templateDottedBorderColor: Color.lerp(
templateDottedBorderColor, templateDottedBorderColor, other.templateDottedBorderColor, t)!,
other.templateDottedBorderColor,
t)!,
estimatedFeeColor: estimatedFeeColor:
Color.lerp(estimatedFeeColor, other.estimatedFeeColor, t)!, Color.lerp(estimatedFeeColor, other.estimatedFeeColor, t)!,
textFieldButtonIconColor: Color.lerp( textFieldButtonIconColor: Color.lerp(
@ -88,6 +90,8 @@ class SendPageTheme extends ThemeExtension<SendPageTheme> {
firstGradientColor: firstGradientColor:
Color.lerp(firstGradientColor, other.firstGradientColor, t)!, Color.lerp(firstGradientColor, other.firstGradientColor, t)!,
secondGradientColor: secondGradientColor:
Color.lerp(secondGradientColor, other.secondGradientColor, t)!); Color.lerp(secondGradientColor, other.secondGradientColor, t)!,
indicatorDotColor:
Color.lerp(indicatorDotColor, other.indicatorDotColor, t)!);
} }
} }

View file

@ -1,3 +1,4 @@
import 'package:cake_wallet/themes/extensions/account_list_theme.dart';
import 'package:cake_wallet/themes/extensions/address_theme.dart'; import 'package:cake_wallet/themes/extensions/address_theme.dart';
import 'package:cake_wallet/themes/extensions/alert_theme.dart'; import 'package:cake_wallet/themes/extensions/alert_theme.dart';
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart'; import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
@ -15,6 +16,8 @@ import 'package:cake_wallet/themes/extensions/order_theme.dart';
import 'package:cake_wallet/themes/extensions/picker_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/pin_code_theme.dart';
import 'package:cake_wallet/themes/extensions/placeholder_theme.dart'; import 'package:cake_wallet/themes/extensions/placeholder_theme.dart';
import 'package:cake_wallet/themes/extensions/qr_code_theme.dart';
import 'package:cake_wallet/themes/extensions/receive_page_theme.dart';
import 'package:cake_wallet/themes/extensions/seed_widget_theme.dart'; import 'package:cake_wallet/themes/extensions/seed_widget_theme.dart';
import 'package:cake_wallet/themes/extensions/send_page_theme.dart'; import 'package:cake_wallet/themes/extensions/send_page_theme.dart';
import 'package:cake_wallet/themes/extensions/support_page_theme.dart'; import 'package:cake_wallet/themes/extensions/support_page_theme.dart';
@ -64,8 +67,7 @@ class LightTheme extends ThemeBase {
@override @override
PinCodeTheme get pinCodeTheme => PinCodeTheme( PinCodeTheme get pinCodeTheme => PinCodeTheme(
indicatorsColor: Palette.darkGray, indicatorsColor: Palette.darkGray, switchColor: Palette.darkGray);
switchColor: Palette.darkGray);
@override @override
SupportPageTheme get supportPageTheme => SupportPageTheme get supportPageTheme =>
@ -154,7 +156,8 @@ class LightTheme extends ThemeBase {
textFieldHintColor: Colors.white.withOpacity(0.5), textFieldHintColor: Colors.white.withOpacity(0.5),
textFieldBorderColor: Colors.white.withOpacity(0.5), textFieldBorderColor: Colors.white.withOpacity(0.5),
secondGradientColor: Palette.blueGreyCraiola, secondGradientColor: Palette.blueGreyCraiola,
firstGradientColor: Palette.blueCraiola); firstGradientColor: Palette.blueCraiola,
indicatorDotColor: PaletteDark.darkCyanBlue.withOpacity(0.67));
@override @override
SeedWidgetTheme get seedWidgetTheme => SeedWidgetTheme get seedWidgetTheme =>
@ -166,19 +169,19 @@ class LightTheme extends ThemeBase {
@override @override
TransactionTradeTheme get transactionTradeTheme => TransactionTradeTheme( TransactionTradeTheme get transactionTradeTheme => TransactionTradeTheme(
detailsTitlesColor: Palette.darkGray, detailsTitlesColor: Palette.darkGray, rowsColor: Palette.blueAlice);
rowsColor: Palette.blueAlice);
@override @override
CakeTextTheme get cakeTextTheme => CakeTextTheme( CakeTextTheme get cakeTextTheme => CakeTextTheme(
secondaryTextColor: PaletteDark.pigeonBlue, secondaryTextColor: PaletteDark.pigeonBlue,
textfieldUnderlineColor: Palette.wildPeriwinkle, textfieldUnderlineColor: Palette.wildPeriwinkle,
titleColor: Palette.violetBlue); titleColor: Palette.violetBlue,
addressButtonBorderColor: Palette.blueAlice,
dateSectionRowColor: PaletteDark.darkCyanBlue);
@override @override
AccountListTheme get accountListTheme => AccountListTheme( AccountListTheme get accountListTheme => AccountListTheme(
tilesBackgroundColor: Colors.white, tilesBackgroundColor: Colors.white, tilesTextColor: Palette.violetBlue);
tilesTextColor: Palette.violetBlue);
@override @override
ReceivePageTheme get receivePageTheme => ReceivePageTheme( ReceivePageTheme get receivePageTheme => ReceivePageTheme(
@ -203,18 +206,6 @@ class LightTheme extends ThemeBase {
dividerColor: Palette.paleBlue, dividerColor: Palette.paleBlue,
hintColor: Palette.gray, hintColor: Palette.gray,
disabledColor: Palette.darkGray, disabledColor: Palette.darkGray,
dialogTheme: super dialogTheme:
.themeData super.themeData.dialogTheme.copyWith(backgroundColor: Colors.white));
.dialogTheme
.copyWith(backgroundColor: Colors.white),
textTheme: TextTheme(
labelSmall: TextStyle(
backgroundColor: PaletteDark.darkCyanBlue, // date section row
),
// subhead -> titleMedium
titleMedium: TextStyle(
color: Palette.blueAlice, // address button border
),
),
);
} }

View file

@ -1,3 +1,4 @@
import 'package:cake_wallet/themes/extensions/account_list_theme.dart';
import 'package:cake_wallet/themes/extensions/address_theme.dart'; import 'package:cake_wallet/themes/extensions/address_theme.dart';
import 'package:cake_wallet/themes/extensions/alert_theme.dart'; import 'package:cake_wallet/themes/extensions/alert_theme.dart';
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart'; import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
@ -14,6 +15,8 @@ import 'package:cake_wallet/themes/extensions/order_theme.dart';
import 'package:cake_wallet/themes/extensions/picker_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/pin_code_theme.dart';
import 'package:cake_wallet/themes/extensions/placeholder_theme.dart'; import 'package:cake_wallet/themes/extensions/placeholder_theme.dart';
import 'package:cake_wallet/themes/extensions/qr_code_theme.dart';
import 'package:cake_wallet/themes/extensions/receive_page_theme.dart';
import 'package:cake_wallet/themes/extensions/seed_widget_theme.dart'; import 'package:cake_wallet/themes/extensions/seed_widget_theme.dart';
import 'package:cake_wallet/themes/extensions/send_page_theme.dart'; import 'package:cake_wallet/themes/extensions/send_page_theme.dart';
import 'package:cake_wallet/themes/extensions/support_page_theme.dart'; import 'package:cake_wallet/themes/extensions/support_page_theme.dart';
@ -22,7 +25,7 @@ import 'package:cake_wallet/themes/extensions/transaction_trade_theme.dart';
import 'package:cake_wallet/themes/extensions/wallet_list_theme.dart'; import 'package:cake_wallet/themes/extensions/wallet_list_theme.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
enum ThemeType { light, bright, dark } enum ThemeType { bright, light, dark }
abstract class ThemeBase { abstract class ThemeBase {
ThemeBase({required this.raw}); ThemeBase({required this.raw});