mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-03-21 14:48:53 +00:00
refactor: create ReceivePageTheme
This commit is contained in:
parent
26cdb9e0cb
commit
3f51f22982
13 changed files with 138 additions and 120 deletions
|
@ -1,4 +1,5 @@
|
||||||
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/receive_page_theme.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:cake_wallet/palette.dart';
|
import 'package:cake_wallet/palette.dart';
|
||||||
|
|
||||||
|
@ -35,7 +36,7 @@ class SyncIndicatorIcon extends StatelessWidget {
|
||||||
break;
|
break;
|
||||||
case actionRequired:
|
case actionRequired:
|
||||||
indicatorColor =
|
indicatorColor =
|
||||||
Theme.of(context).textTheme!.displayMedium!.decorationColor!;
|
Theme.of(context).extension<ReceivePageTheme>()!.currentTileBackgroundColor;
|
||||||
break;
|
break;
|
||||||
case created:
|
case created:
|
||||||
indicatorColor = PaletteDark.brightGreen;
|
indicatorColor = PaletteDark.brightGreen;
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import 'package:cake_wallet/core/execution_state.dart';
|
import 'package:cake_wallet/core/execution_state.dart';
|
||||||
|
import 'package:cake_wallet/themes/extensions/receive_page_theme.dart';
|
||||||
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
|
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
|
||||||
import 'package:cake_wallet/ionia/ionia_merchant.dart';
|
import 'package:cake_wallet/ionia/ionia_merchant.dart';
|
||||||
import 'package:cake_wallet/ionia/ionia_tip.dart';
|
import 'package:cake_wallet/ionia/ionia_tip.dart';
|
||||||
|
@ -236,7 +237,7 @@ class IoniaBuyGiftCardDetailPage extends BasePage {
|
||||||
child: Text(
|
child: Text(
|
||||||
ioniaPurchaseViewModel.ioniaMerchant.termsAndConditions,
|
ioniaPurchaseViewModel.ioniaMerchant.termsAndConditions,
|
||||||
style: textMedium(
|
style: textMedium(
|
||||||
color: Theme.of(context).textTheme!.displaySmall!.color!,
|
color: Theme.of(context).extension<ReceivePageTheme>()!.tilesTextColor,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -274,13 +275,13 @@ class IoniaBuyGiftCardDetailPage extends BasePage {
|
||||||
child: Text(
|
child: Text(
|
||||||
instruction.header,
|
instruction.header,
|
||||||
style: textLargeSemiBold(
|
style: textLargeSemiBold(
|
||||||
color: Theme.of(context).textTheme!.displaySmall!.color!,
|
color: Theme.of(context).extension<ReceivePageTheme>()!.tilesTextColor,
|
||||||
),
|
),
|
||||||
)),
|
)),
|
||||||
Text(
|
Text(
|
||||||
instruction.body,
|
instruction.body,
|
||||||
style: textMedium(
|
style: textMedium(
|
||||||
color: Theme.of(context).textTheme!.displaySmall!.color!,
|
color: Theme.of(context).extension<ReceivePageTheme>()!.tilesTextColor,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import 'package:cake_wallet/ionia/ionia_create_state.dart';
|
import 'package:cake_wallet/ionia/ionia_create_state.dart';
|
||||||
|
import 'package:cake_wallet/themes/extensions/receive_page_theme.dart';
|
||||||
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
|
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
|
||||||
import 'package:cake_wallet/ionia/ionia_virtual_card.dart';
|
import 'package:cake_wallet/ionia/ionia_virtual_card.dart';
|
||||||
import 'package:cake_wallet/routes.dart';
|
import 'package:cake_wallet/routes.dart';
|
||||||
|
@ -55,10 +56,7 @@ class IoniaDebitCardPage extends BasePage {
|
||||||
child: Text(
|
child: Text(
|
||||||
S.of(context).billing_address_info,
|
S.of(context).billing_address_info,
|
||||||
style: textSmall(
|
style: textSmall(
|
||||||
color: Theme.of(context)
|
color: Theme.of(context).extension<ReceivePageTheme>()!.iconsColor),
|
||||||
.textTheme!
|
|
||||||
.headlineMedium!
|
|
||||||
.color!),
|
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -67,7 +65,7 @@ class IoniaDebitCardPage extends BasePage {
|
||||||
text: S.of(context).order_physical_card,
|
text: S.of(context).order_physical_card,
|
||||||
onPressed: () {},
|
onPressed: () {},
|
||||||
color: Color(0xffE9F2FC),
|
color: Color(0xffE9F2FC),
|
||||||
textColor: Theme.of(context).textTheme!.displaySmall!.color!,
|
textColor: Theme.of(context).extension<ReceivePageTheme>()!.tilesTextColor,
|
||||||
),
|
),
|
||||||
SizedBox(height: 8),
|
SizedBox(height: 8),
|
||||||
PrimaryButton(
|
PrimaryButton(
|
||||||
|
@ -121,15 +119,12 @@ class IoniaDebitCardPage extends BasePage {
|
||||||
text: S.of(context).get_a,
|
text: S.of(context).get_a,
|
||||||
style: textMedium(
|
style: textMedium(
|
||||||
color:
|
color:
|
||||||
Theme.of(context).textTheme!.displaySmall!.color!),
|
Theme.of(context).extension<ReceivePageTheme>()!.tilesTextColor),
|
||||||
children: [
|
children: [
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: S.of(context).digital_and_physical_card,
|
text: S.of(context).digital_and_physical_card,
|
||||||
style: textMediumBold(
|
style: textMediumBold(
|
||||||
color: Theme.of(context)
|
color: Theme.of(context).extension<ReceivePageTheme>()!.tilesTextColor),
|
||||||
.textTheme!
|
|
||||||
.displaySmall!
|
|
||||||
.color!),
|
|
||||||
),
|
),
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: S.of(context).get_card_note,
|
text: S.of(context).get_card_note,
|
||||||
|
@ -188,10 +183,7 @@ class IoniaDebitCardPage extends BasePage {
|
||||||
child: Text(
|
child: Text(
|
||||||
S.of(context).signup_for_card_accept_terms,
|
S.of(context).signup_for_card_accept_terms,
|
||||||
style: textSmallSemiBold(
|
style: textSmallSemiBold(
|
||||||
color: Theme.of(context)
|
color: Theme.of(context).extension<ReceivePageTheme>()!.tilesTextColor,
|
||||||
.textTheme!
|
|
||||||
.displaySmall!
|
|
||||||
.color!,
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -213,7 +205,7 @@ class IoniaDebitCardPage extends BasePage {
|
||||||
text: S.of(context).send_got_it,
|
text: S.of(context).send_got_it,
|
||||||
color: Color.fromRGBO(233, 242, 252, 1),
|
color: Color.fromRGBO(233, 242, 252, 1),
|
||||||
textColor:
|
textColor:
|
||||||
Theme.of(context).textTheme!.displaySmall!.color!,
|
Theme.of(context).extension<ReceivePageTheme>()!.tilesTextColor,
|
||||||
),
|
),
|
||||||
SizedBox(height: 21),
|
SizedBox(height: 21),
|
||||||
],
|
],
|
||||||
|
@ -387,13 +379,13 @@ class _TitleSubtitleTile extends StatelessWidget {
|
||||||
Text(
|
Text(
|
||||||
title,
|
title,
|
||||||
style: textSmallSemiBold(
|
style: textSmallSemiBold(
|
||||||
color: Theme.of(context).textTheme!.displaySmall!.color!),
|
color: Theme.of(context).extension<ReceivePageTheme>()!.tilesTextColor),
|
||||||
),
|
),
|
||||||
SizedBox(height: 4),
|
SizedBox(height: 4),
|
||||||
Text(
|
Text(
|
||||||
subtitle,
|
subtitle,
|
||||||
style: textSmall(
|
style: textSmall(
|
||||||
color: Theme.of(context).textTheme!.displaySmall!.color!),
|
color: Theme.of(context).extension<ReceivePageTheme>()!.tilesTextColor),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import 'package:cake_wallet/core/execution_state.dart';
|
import 'package:cake_wallet/core/execution_state.dart';
|
||||||
|
import 'package:cake_wallet/themes/extensions/receive_page_theme.dart';
|
||||||
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
|
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
|
||||||
import 'package:cake_wallet/ionia/ionia_gift_card.dart';
|
import 'package:cake_wallet/ionia/ionia_gift_card.dart';
|
||||||
import 'package:cake_wallet/routes.dart';
|
import 'package:cake_wallet/routes.dart';
|
||||||
|
@ -199,13 +200,13 @@ class IoniaGiftCardDetailPage extends BasePage {
|
||||||
child: Text(
|
child: Text(
|
||||||
instruction.header,
|
instruction.header,
|
||||||
style: textLargeSemiBold(
|
style: textLargeSemiBold(
|
||||||
color: Theme.of(context).textTheme!.displaySmall!.color!,
|
color: Theme.of(context).extension<ReceivePageTheme>()!.tilesTextColor,
|
||||||
),
|
),
|
||||||
)),
|
)),
|
||||||
Text(
|
Text(
|
||||||
instruction.body,
|
instruction.body,
|
||||||
style: textMedium(
|
style: textMedium(
|
||||||
color: Theme.of(context).textTheme!.displaySmall!.color!,
|
color: Theme.of(context).extension<ReceivePageTheme>()!.tilesTextColor,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import 'package:cake_wallet/themes/extensions/account_list_theme.dart';
|
import 'package:cake_wallet/themes/extensions/account_list_theme.dart';
|
||||||
|
import 'package:cake_wallet/themes/extensions/receive_page_theme.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
class AccountTile extends StatelessWidget {
|
class AccountTile extends StatelessWidget {
|
||||||
|
@ -58,7 +59,7 @@ class AccountTile extends StatelessWidget {
|
||||||
fontSize: 15,
|
fontSize: 15,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
fontFamily: 'Lato',
|
fontFamily: 'Lato',
|
||||||
color: Theme.of(context).textTheme!.headlineMedium!.color!,
|
color: Theme.of(context).extension<ReceivePageTheme>()!.iconsColor,
|
||||||
decoration: TextDecoration.none,
|
decoration: TextDecoration.none,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
@ -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/receive_page_theme.dart';
|
||||||
import 'package:cake_wallet/src/widgets/gradient_background.dart';
|
import 'package:cake_wallet/src/widgets/gradient_background.dart';
|
||||||
import 'package:cake_wallet/src/widgets/keyboard_done_button.dart';
|
import 'package:cake_wallet/src/widgets/keyboard_done_button.dart';
|
||||||
import 'package:cake_wallet/src/widgets/section_divider.dart';
|
import 'package:cake_wallet/src/widgets/section_divider.dart';
|
||||||
|
@ -147,10 +148,7 @@ class ReceivePage extends BasePage {
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.arrow_forward_ios,
|
Icons.arrow_forward_ios,
|
||||||
size: 14,
|
size: 14,
|
||||||
color: Theme.of(context)
|
color: Theme.of(context).extension<ReceivePageTheme>()!.iconsColor,
|
||||||
.textTheme!
|
|
||||||
.headlineMedium!
|
|
||||||
.color!,
|
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,10 +160,7 @@ class ReceivePage extends BasePage {
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.add,
|
Icons.add,
|
||||||
size: 20,
|
size: 20,
|
||||||
color: Theme.of(context)
|
color: Theme.of(context).extension<ReceivePageTheme>()!.iconsColor,
|
||||||
.textTheme!
|
|
||||||
.headlineMedium!
|
|
||||||
.color!,
|
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -174,23 +169,11 @@ class ReceivePage extends BasePage {
|
||||||
final isCurrent =
|
final isCurrent =
|
||||||
item.address == addressListViewModel.address.address;
|
item.address == addressListViewModel.address.address;
|
||||||
final backgroundColor = isCurrent
|
final backgroundColor = isCurrent
|
||||||
? Theme.of(context)
|
? Theme.of(context).extension<ReceivePageTheme>()!.currentTileBackgroundColor
|
||||||
.textTheme!
|
: Theme.of(context).extension<ReceivePageTheme>()!.tilesBackgroundColor;
|
||||||
.displayMedium!
|
|
||||||
.decorationColor!
|
|
||||||
: Theme.of(context)
|
|
||||||
.textTheme!
|
|
||||||
.displaySmall!
|
|
||||||
.decorationColor!;
|
|
||||||
final textColor = isCurrent
|
final textColor = isCurrent
|
||||||
? Theme.of(context)
|
? Theme.of(context).extension<ReceivePageTheme>()!.currentTileTextColor
|
||||||
.textTheme!
|
: Theme.of(context).extension<ReceivePageTheme>()!.tilesTextColor;
|
||||||
.displayMedium!
|
|
||||||
.color!
|
|
||||||
: Theme.of(context)
|
|
||||||
.textTheme!
|
|
||||||
.displaySmall!
|
|
||||||
.color!;
|
|
||||||
|
|
||||||
return AddressCell.fromItem(item,
|
return AddressCell.fromItem(item,
|
||||||
isCurrent: isCurrent,
|
isCurrent: isCurrent,
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:cake_wallet/themes/extensions/receive_page_theme.dart';
|
||||||
|
|
||||||
class HeaderTile extends StatelessWidget {
|
class HeaderTile extends StatelessWidget {
|
||||||
HeaderTile({
|
HeaderTile({
|
||||||
|
@ -22,7 +23,7 @@ class HeaderTile extends StatelessWidget {
|
||||||
top: 24,
|
top: 24,
|
||||||
bottom: 24
|
bottom: 24
|
||||||
),
|
),
|
||||||
color: Theme.of(context).textTheme!.displaySmall!.decorationColor!,
|
color: Theme.of(context).extension<ReceivePageTheme>()!.tilesBackgroundColor,
|
||||||
child: Row(
|
child: Row(
|
||||||
mainAxisSize: MainAxisSize.max,
|
mainAxisSize: MainAxisSize.max,
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
@ -32,17 +33,14 @@ class HeaderTile extends StatelessWidget {
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 18,
|
fontSize: 18,
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
color: Theme.of(context)!.textTheme.displaySmall!.color!),
|
color: Theme.of(context)!.extension<ReceivePageTheme>()!.tilesTextColor),
|
||||||
),
|
),
|
||||||
Container(
|
Container(
|
||||||
height: 32,
|
height: 32,
|
||||||
width: 32,
|
width: 32,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
color: Theme.of(context)
|
color: Theme.of(context).extension<ReceivePageTheme>()!.iconsBackgroundColor),
|
||||||
.textTheme!
|
|
||||||
.headlineMedium!
|
|
||||||
.decorationColor!),
|
|
||||||
child: icon,
|
child: icon,
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import 'package:cake_wallet/palette.dart';
|
import 'package:cake_wallet/palette.dart';
|
||||||
|
import 'package:cake_wallet/themes/extensions/receive_page_theme.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
class SettingActionButton extends StatelessWidget {
|
class SettingActionButton extends StatelessWidget {
|
||||||
|
@ -29,10 +30,10 @@ class SettingActionButton extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
Color? color = isSelected
|
Color? color = isSelected
|
||||||
? Theme.of(context).textTheme!.displaySmall!.color
|
? Theme.of(context).extension<ReceivePageTheme>()!.tilesTextColor
|
||||||
: selectionActive
|
: selectionActive
|
||||||
? Palette.darkBlue
|
? Palette.darkBlue
|
||||||
: Theme.of(context).textTheme!.displaySmall!.color;
|
: Theme.of(context).extension<ReceivePageTheme>()!.tilesTextColor;
|
||||||
return InkWell(
|
return InkWell(
|
||||||
onTap: onTap,
|
onTap: onTap,
|
||||||
hoverColor: Colors.transparent,
|
hoverColor: Colors.transparent,
|
||||||
|
|
|
@ -96,10 +96,18 @@ class BrightTheme extends LightTheme {
|
||||||
.transactionTradeTheme
|
.transactionTradeTheme
|
||||||
.copyWith(rowsColor: Colors.white.withOpacity(0.2));
|
.copyWith(rowsColor: Colors.white.withOpacity(0.2));
|
||||||
|
|
||||||
|
@override
|
||||||
|
ReceivePageTheme get receivePageTheme => super.receivePageTheme.copyWith(
|
||||||
|
currentTileBackgroundColor: Palette.moderateSlateBlue,
|
||||||
|
tilesBackgroundColor: Colors.white,
|
||||||
|
iconsBackgroundColor: Palette.lavender,
|
||||||
|
amountBottomBorderColor: Colors.white.withOpacity(0.5),
|
||||||
|
amountHintTextColor: Colors.white,
|
||||||
|
);
|
||||||
|
|
||||||
@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
|
||||||
hoverColor: Colors.white, // amount hint text (receive page)
|
|
||||||
dividerColor: Palette.paleBlue,
|
dividerColor: Palette.paleBlue,
|
||||||
hintColor: Palette.gray,
|
hintColor: Palette.gray,
|
||||||
textTheme: TextTheme(
|
textTheme: TextTheme(
|
||||||
|
@ -116,29 +124,7 @@ class BrightTheme extends LightTheme {
|
||||||
// headline -> headlineSmall
|
// headline -> headlineSmall
|
||||||
headlineSmall: TextStyle(
|
headlineSmall: TextStyle(
|
||||||
color: Colors.white, // qr code
|
color: Colors.white, // qr code
|
||||||
decorationColor: Colors.white
|
|
||||||
.withOpacity(0.5), // bottom border of amount (receive page)
|
|
||||||
),
|
),
|
||||||
// display1 -> headlineMedium
|
|
||||||
headlineMedium: TextStyle(
|
|
||||||
color: PaletteDark.lightBlueGrey, // icons color (receive page)
|
|
||||||
decorationColor:
|
|
||||||
Palette.lavender, // icons background (receive page)
|
|
||||||
),
|
|
||||||
// display2 -> displaySmall
|
|
||||||
displaySmall: TextStyle(
|
|
||||||
color:
|
|
||||||
Palette.darkBlueCraiola, // text color of tiles (receive page)
|
|
||||||
decorationColor:
|
|
||||||
Colors.white // background of tiles (receive page)
|
|
||||||
),
|
|
||||||
// display3 -> displayMedium
|
|
||||||
displayMedium: TextStyle(
|
|
||||||
color: Colors.white, // text color of current tile (receive page),
|
|
||||||
//decorationColor: Palette.blueCraiola // background of current tile (receive page)
|
|
||||||
decorationColor: Palette
|
|
||||||
.moderateSlateBlue // background of current tile (receive page)
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -178,10 +178,20 @@ class DarkTheme extends ThemeBase {
|
||||||
tilesBackgroundColor: PaletteDark.darkOceanBlue,
|
tilesBackgroundColor: PaletteDark.darkOceanBlue,
|
||||||
tilesTextColor: Colors.white);
|
tilesTextColor: Colors.white);
|
||||||
|
|
||||||
|
@override
|
||||||
|
ReceivePageTheme get receivePageTheme => ReceivePageTheme(
|
||||||
|
currentTileBackgroundColor: PaletteDark.lightOceanBlue,
|
||||||
|
currentTileTextColor: Palette.blueCraiola,
|
||||||
|
tilesBackgroundColor: PaletteDark.nightBlue,
|
||||||
|
tilesTextColor: Colors.white,
|
||||||
|
iconsBackgroundColor: PaletteDark.distantNightBlue,
|
||||||
|
iconsColor: Colors.white,
|
||||||
|
amountBottomBorderColor: PaletteDark.darkGrey,
|
||||||
|
amountHintTextColor: PaletteDark.cyanBlue);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ThemeData get themeData => super.themeData.copyWith(
|
ThemeData get themeData => super.themeData.copyWith(
|
||||||
indicatorColor: PaletteDark.cyanBlue, // page indicator
|
indicatorColor: PaletteDark.cyanBlue, // page indicator
|
||||||
hoverColor: PaletteDark.cyanBlue, // amount hint text (receive page)
|
|
||||||
dividerColor: PaletteDark.dividerColor,
|
dividerColor: PaletteDark.dividerColor,
|
||||||
hintColor: PaletteDark.pigeonBlue,
|
hintColor: PaletteDark.pigeonBlue,
|
||||||
disabledColor: PaletteDark.deepVioletBlue,
|
disabledColor: PaletteDark.deepVioletBlue,
|
||||||
|
@ -201,26 +211,7 @@ class DarkTheme extends ThemeBase {
|
||||||
// headline -> headlineSmall
|
// headline -> headlineSmall
|
||||||
headlineSmall: TextStyle(
|
headlineSmall: TextStyle(
|
||||||
color: PaletteDark.lightBlueGrey, // qr code
|
color: PaletteDark.lightBlueGrey, // qr code
|
||||||
decorationColor: PaletteDark.darkGrey, // bottom border of amount (receive page)
|
|
||||||
),
|
),
|
||||||
// display1 -> headlineMedium
|
|
||||||
headlineMedium: TextStyle(
|
|
||||||
color: Colors.white, // icons color (receive page)
|
|
||||||
decorationColor: PaletteDark.distantNightBlue, // icons background (receive page)
|
|
||||||
),
|
|
||||||
// display2 -> displaySmall
|
|
||||||
displaySmall: TextStyle(
|
|
||||||
color: Colors.white, // text color of tiles (receive page)
|
|
||||||
decorationColor:
|
|
||||||
PaletteDark.nightBlue // background of tiles (receive page)
|
|
||||||
),
|
|
||||||
// display3 -> displayMedium
|
|
||||||
displayMedium: TextStyle(
|
|
||||||
color: Palette
|
|
||||||
.blueCraiola, // text color of current tile (receive page)
|
|
||||||
decorationColor: PaletteDark
|
|
||||||
.lightOceanBlue // background of current tile (receive page)
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
70
lib/themes/extensions/receive_page_theme.dart
Normal file
70
lib/themes/extensions/receive_page_theme.dart
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class ReceivePageTheme extends ThemeExtension<ReceivePageTheme> {
|
||||||
|
final Color currentTileBackgroundColor;
|
||||||
|
final Color currentTileTextColor;
|
||||||
|
final Color tilesBackgroundColor;
|
||||||
|
final Color tilesTextColor;
|
||||||
|
final Color iconsBackgroundColor;
|
||||||
|
final Color iconsColor;
|
||||||
|
final Color amountBottomBorderColor;
|
||||||
|
final Color amountHintTextColor;
|
||||||
|
|
||||||
|
ReceivePageTheme(
|
||||||
|
{required this.currentTileBackgroundColor,
|
||||||
|
required this.currentTileTextColor,
|
||||||
|
required this.tilesBackgroundColor,
|
||||||
|
required this.tilesTextColor,
|
||||||
|
required this.iconsBackgroundColor,
|
||||||
|
required this.iconsColor,
|
||||||
|
required this.amountBottomBorderColor,
|
||||||
|
required this.amountHintTextColor});
|
||||||
|
|
||||||
|
@override
|
||||||
|
ReceivePageTheme copyWith(
|
||||||
|
{Color? currentTileBackgroundColor,
|
||||||
|
Color? currentTileTextColor,
|
||||||
|
Color? tilesBackgroundColor,
|
||||||
|
Color? tilesTextColor,
|
||||||
|
Color? iconsBackgroundColor,
|
||||||
|
Color? iconsColor,
|
||||||
|
Color? amountBottomBorderColor,
|
||||||
|
Color? amountHintTextColor}) =>
|
||||||
|
ReceivePageTheme(
|
||||||
|
currentTileBackgroundColor:
|
||||||
|
currentTileBackgroundColor ?? this.currentTileBackgroundColor,
|
||||||
|
currentTileTextColor:
|
||||||
|
currentTileTextColor ?? this.currentTileTextColor,
|
||||||
|
tilesBackgroundColor:
|
||||||
|
tilesBackgroundColor ?? this.tilesBackgroundColor,
|
||||||
|
tilesTextColor: tilesTextColor ?? this.tilesTextColor,
|
||||||
|
iconsBackgroundColor:
|
||||||
|
iconsBackgroundColor ?? this.iconsBackgroundColor,
|
||||||
|
iconsColor: iconsColor ?? this.iconsColor,
|
||||||
|
amountBottomBorderColor:
|
||||||
|
amountBottomBorderColor ?? this.amountBottomBorderColor,
|
||||||
|
amountHintTextColor: amountHintTextColor ?? this.amountHintTextColor);
|
||||||
|
|
||||||
|
@override
|
||||||
|
ReceivePageTheme lerp(ThemeExtension<ReceivePageTheme>? other, double t) {
|
||||||
|
if (other is! ReceivePageTheme) {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ReceivePageTheme(
|
||||||
|
currentTileBackgroundColor: Color.lerp(
|
||||||
|
currentTileBackgroundColor, other.currentTileBackgroundColor, t)!,
|
||||||
|
currentTileTextColor:
|
||||||
|
Color.lerp(currentTileTextColor, other.currentTileTextColor, t)!,
|
||||||
|
tilesBackgroundColor:
|
||||||
|
Color.lerp(tilesBackgroundColor, other.tilesBackgroundColor, t)!,
|
||||||
|
tilesTextColor: Color.lerp(tilesTextColor, other.tilesTextColor, t)!,
|
||||||
|
iconsBackgroundColor:
|
||||||
|
Color.lerp(iconsBackgroundColor, other.iconsBackgroundColor, t)!,
|
||||||
|
iconsColor: Color.lerp(iconsColor, other.iconsColor, t)!,
|
||||||
|
amountBottomBorderColor: Color.lerp(
|
||||||
|
amountBottomBorderColor, other.amountBottomBorderColor, t)!,
|
||||||
|
amountHintTextColor:
|
||||||
|
Color.lerp(amountHintTextColor, other.amountHintTextColor, t)!);
|
||||||
|
}
|
||||||
|
}
|
|
@ -180,11 +180,21 @@ class LightTheme extends ThemeBase {
|
||||||
tilesBackgroundColor: Colors.white,
|
tilesBackgroundColor: Colors.white,
|
||||||
tilesTextColor: Palette.violetBlue);
|
tilesTextColor: Palette.violetBlue);
|
||||||
|
|
||||||
|
@override
|
||||||
|
ReceivePageTheme get receivePageTheme => ReceivePageTheme(
|
||||||
|
currentTileBackgroundColor: Palette.blueCraiola,
|
||||||
|
currentTileTextColor: Colors.white,
|
||||||
|
tilesBackgroundColor: Palette.blueAlice,
|
||||||
|
tilesTextColor: Palette.darkBlueCraiola,
|
||||||
|
iconsBackgroundColor: Palette.moderateLavender,
|
||||||
|
iconsColor: PaletteDark.lightBlueGrey,
|
||||||
|
amountBottomBorderColor: Palette.darkBlueCraiola,
|
||||||
|
amountHintTextColor: Palette.darkBlueCraiola);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ThemeData get themeData => super.themeData.copyWith(
|
ThemeData get themeData => super.themeData.copyWith(
|
||||||
indicatorColor:
|
indicatorColor:
|
||||||
PaletteDark.darkCyanBlue.withOpacity(0.67), // page indicator
|
PaletteDark.darkCyanBlue.withOpacity(0.67), // page indicator
|
||||||
hoverColor: Palette.darkBlueCraiola, // amount hint text (receive page)
|
|
||||||
dividerColor: Palette.paleBlue,
|
dividerColor: Palette.paleBlue,
|
||||||
hintColor: Palette.gray,
|
hintColor: Palette.gray,
|
||||||
disabledColor: Palette.darkGray,
|
disabledColor: Palette.darkGray,
|
||||||
|
@ -204,27 +214,7 @@ class LightTheme extends ThemeBase {
|
||||||
// headline -> headlineSmall
|
// headline -> headlineSmall
|
||||||
headlineSmall: TextStyle(
|
headlineSmall: TextStyle(
|
||||||
color: Colors.white, // qr code
|
color: Colors.white, // qr code
|
||||||
decorationColor: Palette.darkBlueCraiola, // bottom border of amount (receive page)
|
|
||||||
),
|
),
|
||||||
// display1 -> headlineMedium
|
|
||||||
headlineMedium: TextStyle(
|
|
||||||
color: PaletteDark.lightBlueGrey, // icons color (receive page)
|
|
||||||
decorationColor: Palette.moderateLavender, // icons background (receive page)
|
|
||||||
),
|
|
||||||
// display2 -> headldisplaySmalline3
|
|
||||||
displaySmall: TextStyle(
|
|
||||||
color:
|
|
||||||
Palette.darkBlueCraiola, // text color of tiles (receive page)
|
|
||||||
decorationColor:
|
|
||||||
Palette.blueAlice // background of tiles (receive page)
|
|
||||||
),
|
|
||||||
// display3 -> displayMedium
|
|
||||||
displayMedium: TextStyle(
|
|
||||||
color: Colors.white, // text color of current tile (receive page),
|
|
||||||
//decorationColor: Palette.blueCraiola // background of current tile (receive page)
|
|
||||||
decorationColor: Palette
|
|
||||||
.blueCraiola // background of current tile (receive page)
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -102,6 +102,8 @@ abstract class ThemeBase {
|
||||||
|
|
||||||
AccountListTheme get accountListTheme;
|
AccountListTheme get accountListTheme;
|
||||||
|
|
||||||
|
ReceivePageTheme get receivePageTheme;
|
||||||
|
|
||||||
ThemeData get themeData => generatedThemeData.copyWith(
|
ThemeData get themeData => generatedThemeData.copyWith(
|
||||||
primaryColor: primaryColor,
|
primaryColor: primaryColor,
|
||||||
cardColor: containerColor,
|
cardColor: containerColor,
|
||||||
|
@ -130,6 +132,7 @@ abstract class ThemeBase {
|
||||||
transactionTradeTheme,
|
transactionTradeTheme,
|
||||||
cakeTextTheme,
|
cakeTextTheme,
|
||||||
accountListTheme,
|
accountListTheme,
|
||||||
|
receivePageTheme,
|
||||||
],
|
],
|
||||||
scrollbarTheme: ScrollbarThemeData(
|
scrollbarTheme: ScrollbarThemeData(
|
||||||
thumbColor: MaterialStateProperty.all(scrollbarTheme.thumbColor),
|
thumbColor: MaterialStateProperty.all(scrollbarTheme.thumbColor),
|
||||||
|
|
Loading…
Reference in a new issue