refactor: create BalancePageTheme for accentTextTheme.displaySmall.backgroundColor

This commit is contained in:
Rafael Saes 2023-07-03 15:36:17 -03:00
parent 6b691475fd
commit a85d8ef5d4
12 changed files with 59 additions and 43 deletions

View file

@ -31,6 +31,7 @@ import 'package:smooth_page_indicator/smooth_page_indicator.dart';
import 'package:cake_wallet/main.dart';
import 'package:cake_wallet/src/screens/release_notes/release_notes_screen.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
class DashboardPage extends StatelessWidget {
DashboardPage({
@ -198,10 +199,7 @@ class _DashboardPageView extends BasePage {
dashboardViewModel) ??
true
? Theme.of(context).extension<DashboardPageTheme>()!.textColor
: Theme.of(context)
.accentTextTheme!
.displaySmall!
.backgroundColor!),
: Theme.of(context).extension<BalancePageTheme>()!.textColor),
title: action.name(context),
onClick: () async => await action.onTap(
context, dashboardViewModel),
@ -209,10 +207,7 @@ class _DashboardPageView extends BasePage {
?.call(dashboardViewModel) ??
true
? null
: Theme.of(context)
.accentTextTheme!
.displaySmall!
.backgroundColor!,
: Theme.of(context).extension<BalancePageTheme>()!.textColor,
),
))
.toList(),

View file

@ -1,4 +1,5 @@
import 'package:auto_size_text/auto_size_text.dart';
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
import 'package:cake_wallet/themes/extensions/sync_indicator_theme.dart';
import 'package:flutter/material.dart';
@ -44,10 +45,7 @@ class DesktopActionButton extends StatelessWidget {
width: 30,
color: isEnabled
? Theme.of(context).extension<DashboardPageTheme>()!.textColor
: Theme.of(context)
.accentTextTheme!
.displaySmall!
.backgroundColor!,
: Theme.of(context).extension<BalancePageTheme>()!.textColor,
),
const SizedBox(width: 10),
AutoSizeText(

View file

@ -25,6 +25,7 @@ import 'package:mobx/mobx.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:cake_wallet/di.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
class AddressPage extends BasePage {
AddressPage({
@ -220,10 +221,7 @@ class AddressPage extends BasePage {
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 15,
color: Theme.of(context)
.accentTextTheme!
.displaySmall!
.backgroundColor!));
color: Theme.of(context).extension<BalancePageTheme>()!.textColor));
})
],
),

View file

@ -9,6 +9,7 @@ import 'package:auto_size_text/auto_size_text.dart';
import 'package:cake_wallet/src/widgets/introducing_card.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
class BalancePage extends StatelessWidget {
BalancePage({required this.dashboardViewModel, required this.settingsStore});
@ -113,10 +114,7 @@ class BalancePage extends StatelessWidget {
fontSize: 12,
fontFamily: 'Lato',
fontWeight: FontWeight.w400,
color: Theme.of(context)
.accentTextTheme!
.displaySmall!
.backgroundColor!,
color: Theme.of(context).extension<BalancePageTheme>()!.textColor,
height: 1)),
SizedBox(height: 5),
Row(
@ -160,10 +158,7 @@ class BalancePage extends StatelessWidget {
fontSize: 12,
fontFamily: 'Lato',
fontWeight: FontWeight.w400,
color: Theme.of(context)
.accentTextTheme!
.displaySmall!
.backgroundColor!,
color: Theme.of(context).extension<BalancePageTheme>()!.textColor,
height: 1)),
SizedBox(height: 8),
AutoSizeText(frozenBalance,
@ -194,10 +189,7 @@ class BalancePage extends StatelessWidget {
fontSize: 12,
fontFamily: 'Lato',
fontWeight: FontWeight.w400,
color: Theme.of(context)
.accentTextTheme!
.displaySmall!
.backgroundColor!,
color: Theme.of(context).extension<BalancePageTheme>()!.textColor,
height: 1)),
SizedBox(height: 8),
AutoSizeText(additionalBalance,

View file

@ -19,6 +19,7 @@ import 'package:flutter/material.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
class IoniaManageCardsPage extends BasePage {
IoniaManageCardsPage(this._cardsListViewModel): searchFocusNode = FocusNode() {
@ -226,7 +227,7 @@ class _IoniaManageCardsPageBodyState extends State<IoniaManageCardsPageBody> {
subTitle: merchant.avaibilityStatus,
backgroundColor: Theme.of(context).extension<SyncIndicatorTheme>()!.syncedBackgroundColor,
titleColor: Theme.of(context).extension<DashboardPageTheme>()!.textColor,
subtitleColor: Theme.of(context).accentTextTheme!.displaySmall!.backgroundColor!,
subtitleColor: Theme.of(context).extension<BalancePageTheme>()!.textColor,
discount: merchant.discount,
);
},
@ -286,7 +287,7 @@ class _SearchWidget extends StatelessWidget {
fillColor: Theme.of(context).extension<SyncIndicatorTheme>()!.syncedBackgroundColor,
hintText: S.of(context).search,
hintStyle: TextStyle(
color: Theme.of(context).accentTextTheme!.displaySmall!.backgroundColor!,
color: Theme.of(context).extension<BalancePageTheme>()!.textColor,
),
alignLabelWithHint: true,
floatingLabelBehavior: FloatingLabelBehavior.never,

View file

@ -21,6 +21,7 @@ import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_i
import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_view_model.dart';
import 'package:cake_wallet/src/screens/receive/widgets/qr_widget.dart';
import 'package:keyboard_actions/keyboard_actions.dart';
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
class ReceivePage extends BasePage {
ReceivePage({required this.addressListViewModel})
@ -235,10 +236,7 @@ class ReceivePage extends BasePage {
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 15,
color: Theme.of(context)
.accentTextTheme!
.displaySmall!
.backgroundColor!)),
color: Theme.of(context).extension<BalancePageTheme>()!.textColor)),
],
),
);

View file

@ -14,6 +14,7 @@ import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
class YatEmojiId extends StatelessWidget {
YatEmojiId(this.emojiId);
@ -104,10 +105,7 @@ class YatEmojiId extends StatelessWidget {
fontSize: 18,
fontWeight: FontWeight.normal,
fontFamily: 'Lato',
color: Theme.of(context)
.accentTextTheme!
.displaySmall!
.backgroundColor!,
color: Theme.of(context).extension<BalancePageTheme>()!.textColor,
decoration: TextDecoration.none,
)
)

View file

@ -1,3 +1,4 @@
import 'package:cake_wallet/themes/extensions/balance_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/new_wallet_theme.dart';
@ -46,6 +47,10 @@ class BrightTheme extends LightTheme {
hintTextColor: Palette.darkGray,
underlineColor: Palette.periwinkleCraiola);
@override
BalancePageTheme get balancePageTheme =>
BalancePageTheme(textColor: Colors.white.withOpacity(0.5));
@override
ThemeData get themeData => super.themeData.copyWith(
indicatorColor: Colors.white.withOpacity(0.5), // page indicator
@ -209,8 +214,6 @@ class BrightTheme extends LightTheme {
color:
Palette.shadowWhite, // action button color (address text field)
decorationColor: Palette.darkGray, // hint text (seed widget)
backgroundColor:
Colors.white.withOpacity(0.5) // text on balance page
),
));
}

View file

@ -1,3 +1,4 @@
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
import 'package:cake_wallet/themes/extensions/cake_scrollbar_theme.dart';
import 'package:cake_wallet/themes/extensions/exchange_page_theme.dart';
import 'package:cake_wallet/themes/extensions/keyboard_theme.dart';
@ -74,6 +75,10 @@ class DarkTheme extends ThemeBase {
hintTextColor: PaletteDark.cyanBlue,
underlineColor: PaletteDark.darkGrey);
@override
BalancePageTheme get balancePageTheme =>
BalancePageTheme(textColor: PaletteDark.cyanBlue);
@override
ThemeData get themeData => super.themeData.copyWith(
indicatorColor: PaletteDark.cyanBlue, // page indicator
@ -244,7 +249,6 @@ class DarkTheme extends ThemeBase {
.nightBlue, // action button color (address text field)
decorationColor:
PaletteDark.darkCyanBlue, // hint text (seed widget)
backgroundColor: PaletteDark.cyanBlue // text on balance page
),
),
);

View file

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

View file

@ -1,3 +1,4 @@
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
import 'package:cake_wallet/themes/extensions/cake_scrollbar_theme.dart';
import 'package:cake_wallet/themes/extensions/exchange_page_theme.dart';
import 'package:cake_wallet/themes/extensions/keyboard_theme.dart';
@ -75,6 +76,10 @@ class LightTheme extends ThemeBase {
hintTextColor: Palette.darkGray,
underlineColor: Palette.periwinkleCraiola);
@override
BalancePageTheme get balancePageTheme =>
BalancePageTheme(textColor: Palette.darkBlueCraiola.withOpacity(0.67));
@override
ThemeData get themeData => super.themeData.copyWith(
indicatorColor:
@ -240,8 +245,6 @@ class LightTheme extends ThemeBase {
color:
Palette.shadowWhite, // action button color (address text field)
decorationColor: Palette.darkGray, // hint text (seed widget)
backgroundColor: Palette.darkBlueCraiola
.withOpacity(0.67) // text on balance page
),
),
);

View file

@ -1,3 +1,4 @@
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
import 'package:cake_wallet/themes/extensions/cake_scrollbar_theme.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
import 'package:cake_wallet/themes/extensions/exchange_page_theme.dart';
@ -58,6 +59,8 @@ abstract class ThemeBase {
NewWalletTheme get newWalletTheme;
BalancePageTheme get balancePageTheme;
ThemeData get themeData => generatedThemeData.copyWith(
primaryColor: primaryColor,
cardColor: containerColor,
@ -71,6 +74,7 @@ abstract class ThemeBase {
supportPageTheme,
exchangePageTheme,
newWalletTheme,
balancePageTheme,
],
scrollbarTheme: ScrollbarThemeData(
thumbColor: MaterialStateProperty.all(scrollbarTheme.thumbColor),