mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-12-27 14:09:50 +00:00
52983edf91
* Center the account text on the balance page * Modify dashboard button spacing * Change default theme to Dark theme * Remove legacyTheme and modify theme order * Add condition for Monero.com wallet default theme * Add locale for new themes * Add new themes * Update padding * Fixes * Update settings_store.dart --------- Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
194 lines
7.9 KiB
Dart
194 lines
7.9 KiB
Dart
import 'package:cake_wallet/themes/dark_theme.dart';
|
|
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/alert_theme.dart';
|
|
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/cake_text_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/filter_theme.dart';
|
|
import 'package:cake_wallet/themes/extensions/indicator_dot_theme.dart';
|
|
import 'package:cake_wallet/themes/extensions/info_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/picker_theme.dart';
|
|
import 'package:cake_wallet/themes/extensions/pin_code_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/send_page_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/wallet_list_theme.dart';
|
|
import 'package:cake_wallet/generated/i18n.dart';
|
|
import 'package:cake_wallet/palette.dart';
|
|
import 'package:flutter/material.dart';
|
|
|
|
class MoneroDarkTheme extends DarkTheme {
|
|
MoneroDarkTheme({required int raw}) : super(raw: raw);
|
|
|
|
@override
|
|
String get title => S.current.monero_dark_theme;
|
|
@override
|
|
Color get backgroundColor => Colors.black;
|
|
@override
|
|
Color get primaryColor => PaletteDark.moneroOrange;
|
|
@override
|
|
Color get containerColor => PaletteDark.moneroCard;
|
|
@override
|
|
Color get dialogBackgroundColor => containerColor;
|
|
|
|
@override
|
|
CakeScrollbarTheme get scrollbarTheme =>
|
|
super.scrollbarTheme.copyWith(thumbColor: Colors.grey);
|
|
|
|
@override
|
|
SyncIndicatorTheme get syncIndicatorStyle =>
|
|
super.syncIndicatorStyle.copyWith(
|
|
textColor: Colors.white,
|
|
notSyncedBackgroundColor: Colors.grey.withOpacity(0.2),
|
|
syncedBackgroundColor: containerColor);
|
|
|
|
@override
|
|
PinCodeTheme get pinCodeTheme => super
|
|
.pinCodeTheme
|
|
.copyWith(indicatorsColor: primaryColor, switchColor: Colors.grey);
|
|
|
|
@override
|
|
ExchangePageTheme get exchangePageTheme => super.exchangePageTheme.copyWith(
|
|
hintTextColor: Colors.grey,
|
|
qrCodeColor: primaryTextColor,
|
|
buttonBackgroundColor: colorScheme.surfaceVariant,
|
|
textFieldButtonColor: colorScheme.onInverseSurface,
|
|
textFieldBorderBottomPanelColor: colorScheme.surfaceVariant,
|
|
textFieldBorderTopPanelColor: colorScheme.surfaceVariant,
|
|
secondGradientBottomPanelColor: containerColor,
|
|
firstGradientBottomPanelColor: containerColor,
|
|
secondGradientTopPanelColor: colorScheme.surface,
|
|
firstGradientTopPanelColor: colorScheme.surface,
|
|
receiveAmountColor: colorScheme.surfaceVariant);
|
|
|
|
@override
|
|
NewWalletTheme get newWalletTheme => super
|
|
.newWalletTheme
|
|
.copyWith(hintTextColor: Colors.grey, underlineColor: Colors.grey);
|
|
|
|
@override
|
|
AddressTheme get addressTheme =>
|
|
super.addressTheme.copyWith(actionButtonColor: containerColor);
|
|
|
|
@override
|
|
DashboardPageTheme get dashboardPageTheme =>
|
|
super.dashboardPageTheme.copyWith(
|
|
pageTitleTextColor: primaryColor,
|
|
mainActionsIconColor: primaryColor,
|
|
indicatorDotTheme: IndicatorDotTheme(
|
|
indicatorColor: colorScheme.secondaryContainer,
|
|
activeIndicatorColor: colorScheme.inversePrimary));
|
|
@override
|
|
BalancePageTheme get balancePageTheme => super.balancePageTheme.copyWith(
|
|
cardBorderColor: primaryColor.withOpacity(0.2),
|
|
labelTextColor: Colors.grey,
|
|
balanceAmountColor: primaryColor,
|
|
assetTitleColor: primaryColor);
|
|
|
|
@override
|
|
CakeMenuTheme get menuTheme => super.menuTheme.copyWith(
|
|
headerFirstGradientColor: primaryColor,
|
|
headerSecondGradientColor: containerColor,
|
|
backgroundColor: containerColor,
|
|
subnameTextColor: Colors.grey,
|
|
dividerColor: colorScheme.secondaryContainer,
|
|
iconColor: Colors.white,
|
|
settingActionsIconColor: colorScheme.secondaryContainer);
|
|
|
|
@override
|
|
FilterTheme get filterTheme => super.filterTheme.copyWith(
|
|
checkboxFirstGradientColor: colorScheme.secondaryContainer,
|
|
checkboxSecondGradientColor: colorScheme.inversePrimary,
|
|
checkboxBoundsColor: PaletteDark.wildVioletBlue,
|
|
checkboxBackgroundColor: PaletteDark.wildVioletBlue.withOpacity(0.3),
|
|
buttonColor: containerColor,
|
|
iconColor: Colors.grey);
|
|
|
|
@override
|
|
WalletListTheme get walletListTheme => super.walletListTheme.copyWith(
|
|
restoreWalletButtonTextColor: Colors.white,
|
|
createNewWalletButtonBackgroundColor: primaryColor);
|
|
|
|
@override
|
|
InfoTheme get infoTheme => super.infoTheme.copyWith(textColor: Colors.grey);
|
|
|
|
@override
|
|
PickerTheme get pickerTheme =>
|
|
super.pickerTheme.copyWith(dividerColor: Colors.grey.withOpacity(0.5));
|
|
|
|
@override
|
|
SendPageTheme get sendPageTheme => super.sendPageTheme.copyWith(
|
|
templateNewTextColor:
|
|
dashboardPageTheme.indicatorDotTheme.activeIndicatorColor,
|
|
templateTitleColor: primaryTextColor,
|
|
templateBackgroundColor: containerColor,
|
|
templateDottedBorderColor: colorScheme.primaryContainer,
|
|
templateSelectedCurrencyTitleColor: Colors.black,
|
|
textFieldButtonIconColor: colorScheme.inverseSurface,
|
|
textFieldButtonColor: colorScheme.onInverseSurface,
|
|
textFieldHintColor: Colors.grey.withOpacity(0.5),
|
|
textFieldBorderColor: Colors.grey.withOpacity(0.5),
|
|
secondGradientColor: containerColor,
|
|
firstGradientColor: containerColor,
|
|
indicatorDotColor: dashboardPageTheme.indicatorDotTheme.indicatorColor);
|
|
|
|
@override
|
|
SeedWidgetTheme get seedWidgetTheme =>
|
|
super.seedWidgetTheme.copyWith(hintTextColor: Colors.grey);
|
|
|
|
@override
|
|
TransactionTradeTheme get transactionTradeTheme => super
|
|
.transactionTradeTheme
|
|
.copyWith(detailsTitlesColor: Colors.grey, rowsColor: containerColor);
|
|
|
|
@override
|
|
CakeTextTheme get cakeTextTheme => super.cakeTextTheme.copyWith(
|
|
secondaryTextColor: Colors.grey,
|
|
addressButtonBorderColor: primaryColor.withOpacity(0.2),
|
|
dateSectionRowColor: Colors.grey,
|
|
textfieldUnderlineColor: Colors.grey.withOpacity(0.5));
|
|
|
|
@override
|
|
AccountListTheme get accountListTheme =>
|
|
super.accountListTheme.copyWith(tilesBackgroundColor: containerColor);
|
|
|
|
@override
|
|
ReceivePageTheme get receivePageTheme => super.receivePageTheme.copyWith(
|
|
currentTileBackgroundColor: primaryColor,
|
|
currentTileTextColor: Colors.white,
|
|
tilesBackgroundColor: containerColor,
|
|
iconsBackgroundColor: colorScheme.onInverseSurface,
|
|
iconsColor: colorScheme.inverseSurface,
|
|
amountBottomBorderColor: Colors.grey,
|
|
amountHintTextColor: Colors.grey);
|
|
|
|
@override
|
|
QRCodeTheme get qrCodeTheme => QRCodeTheme(
|
|
qrCodeColor: Colors.grey, qrWidgetCopyButtonColor: Colors.grey);
|
|
|
|
@override
|
|
AlertTheme get alertTheme => super
|
|
.alertTheme
|
|
.copyWith(backdropColor: colorScheme.surface.withOpacity(0.75));
|
|
|
|
@override
|
|
ThemeData get themeData => super.themeData.copyWith(
|
|
dividerColor: pickerTheme.dividerColor,
|
|
hintColor: Colors.grey,
|
|
dialogTheme:
|
|
super.themeData.dialogTheme.copyWith(backgroundColor: containerColor),
|
|
appBarTheme: super.themeData.appBarTheme.copyWith(
|
|
titleTextStyle: super
|
|
.themeData
|
|
.appBarTheme
|
|
.titleTextStyle!
|
|
.copyWith(color: primaryColor)));
|
|
}
|