diff --git a/assets/images/moonpay.png b/assets/images/moonpay.png new file mode 100644 index 000000000..b02af6c00 Binary files /dev/null and b/assets/images/moonpay.png differ diff --git a/lib/buy/get_buy_provider_icon.dart b/lib/buy/get_buy_provider_icon.dart index f284b6f04..672dfdd9d 100644 --- a/lib/buy/get_buy_provider_icon.dart +++ b/lib/buy/get_buy_provider_icon.dart @@ -2,23 +2,20 @@ import 'package:flutter/material.dart'; import 'package:cake_wallet/buy/buy_provider_description.dart'; Image getBuyProviderIcon(BuyProviderDescription providerDescription, - {bool isWhiteIconColor = false}) { + {Color iconColor = Colors.black}) { final _wyreIcon = Image.asset('assets/images/wyre-icon.png', width: 36, height: 36); - final _moonPayWhiteIcon = - Image.asset('assets/images/moonpay-icon.png', color: Colors.white, + final _moonPayIcon = + Image.asset('assets/images/moonpay-icon.png', color: iconColor, width: 36, height: 34); - final _moonPayBlackIcon = - Image.asset('assets/images/moonpay-icon.png', color: Colors.black, - width: 36, height: 34); if (providerDescription != null) { switch (providerDescription) { case BuyProviderDescription.wyre: return _wyreIcon; case BuyProviderDescription.moonPay: - return isWhiteIconColor ? _moonPayWhiteIcon : _moonPayBlackIcon; + return _moonPayIcon; default: return null; } diff --git a/lib/src/screens/buy/widgets/buy_list_item.dart b/lib/src/screens/buy/widgets/buy_list_item.dart index 97eb88ec6..26d173eb4 100644 --- a/lib/src/screens/buy/widgets/buy_list_item.dart +++ b/lib/src/screens/buy/widgets/buy_list_item.dart @@ -27,9 +27,10 @@ class BuyListItem extends StatelessWidget { @override Widget build(BuildContext context) { final isSelected = selectedProvider?.description == provider.description; + final iconColor = isSelected ? Colors.white : Colors.black; final providerIcon = getBuyProviderIcon(provider.description, - isWhiteIconColor: isSelected); + iconColor: iconColor); final backgroundColor = isSelected ? Palette.greyBlueCraiola diff --git a/lib/src/screens/dashboard/widgets/order_row.dart b/lib/src/screens/dashboard/widgets/order_row.dart index 9a7a61525..dea69cdd8 100644 --- a/lib/src/screens/dashboard/widgets/order_row.dart +++ b/lib/src/screens/dashboard/widgets/order_row.dart @@ -1,9 +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/theme_base.dart'; import 'package:flutter/material.dart'; -import 'package:cake_wallet/di.dart'; -import 'package:cake_wallet/store/settings_store.dart'; class OrderRow extends StatelessWidget { OrderRow({ @@ -22,11 +19,10 @@ class OrderRow extends StatelessWidget { @override Widget build(BuildContext context) { - final currentTheme = getIt.get().currentTheme; - final isWhiteIconColor = currentTheme.type != ThemeType.light; + final iconColor = + Theme.of(context).primaryTextTheme.display4.backgroundColor; - final providerIcon = getBuyProviderIcon(provider, - isWhiteIconColor: isWhiteIconColor); + final providerIcon = getBuyProviderIcon(provider, iconColor: iconColor); return InkWell( onTap: onTap, diff --git a/lib/src/screens/settings/widgets/settings_link_provider_cell.dart b/lib/src/screens/settings/widgets/settings_link_provider_cell.dart index 362d5ac46..0dbd5703f 100644 --- a/lib/src/screens/settings/widgets/settings_link_provider_cell.dart +++ b/lib/src/screens/settings/widgets/settings_link_provider_cell.dart @@ -7,6 +7,7 @@ class SettingsLinkProviderCell extends StandardListRow { SettingsLinkProviderCell( {@required String title, @required this.icon, + this.iconColor, @required this.link, @required this.linkTitle}) : super(title: title, isSelected: false, onTap: (BuildContext context) => _launchUrl(link) ); @@ -14,10 +15,11 @@ class SettingsLinkProviderCell extends StandardListRow { final String icon; final String link; final String linkTitle; + final Color iconColor; @override Widget buildLeading(BuildContext context) => - icon != null ? Image.asset(icon) : null; + icon != null ? Image.asset(icon, color: iconColor) : null; @override Widget buildTrailing(BuildContext context) => Text(linkTitle, diff --git a/lib/src/screens/support/support_page.dart b/lib/src/screens/support/support_page.dart index 2c5d7ef9a..986317533 100644 --- a/lib/src/screens/support/support_page.dart +++ b/lib/src/screens/support/support_page.dart @@ -19,6 +19,9 @@ class SupportPage extends BasePage { @override Widget body(BuildContext context) { + final iconColor = + Theme.of(context).accentTextTheme.display4.backgroundColor; + return SectionStandardList( sectionCount: 1, itemCounter: (int _) => supportViewModel.items.length, @@ -34,6 +37,7 @@ class SupportPage extends BasePage { return SettingsLinkProviderCell( title: item.title, icon: item.icon, + iconColor: item.hasIconColor ? iconColor : null, link: item.link, linkTitle: item.linkTitle); } diff --git a/lib/themes/bright_theme.dart b/lib/themes/bright_theme.dart index 39c33f8f1..73c33aba3 100644 --- a/lib/themes/bright_theme.dart +++ b/lib/themes/bright_theme.dart @@ -113,6 +113,7 @@ class BrightTheme extends ThemeBase { ), display4: TextStyle( color: Palette.darkBlueCraiola, // template title (send page) + backgroundColor: Colors.white, // icon color on order row (moonpay) decorationColor: Palette.niagara // receive amount text (exchange page) ), subtitle: TextStyle( @@ -179,6 +180,7 @@ class BrightTheme extends ThemeBase { ), display4: TextStyle( color: Palette.darkGray, // switch background (settings page) + backgroundColor: Colors.black, // icon color on support page (moonpay, github) decorationColor: Colors.white.withOpacity(0.4) // hint text (exchange page) ), body1: TextStyle( diff --git a/lib/themes/dark_theme.dart b/lib/themes/dark_theme.dart index 09fb5526f..428100eba 100644 --- a/lib/themes/dark_theme.dart +++ b/lib/themes/dark_theme.dart @@ -112,6 +112,7 @@ class DarkTheme extends ThemeBase { ), display4: TextStyle( color: PaletteDark.cyanBlue, // template title (send page) + backgroundColor: Colors.white, // icon color on order row (moonpay) decorationColor: PaletteDark.darkCyanBlue // receive amount text (exchange page) ), subtitle: TextStyle( @@ -178,6 +179,7 @@ class DarkTheme extends ThemeBase { ), display4: TextStyle( color: PaletteDark.deepVioletBlue, // switch background (settings page) + backgroundColor: Colors.white, // icon color on support page (moonpay, github) decorationColor: PaletteDark.lightBlueGrey // hint text (exchange page) ), body1: TextStyle( diff --git a/lib/themes/light_theme.dart b/lib/themes/light_theme.dart index 7d1486a91..fa12a90b6 100644 --- a/lib/themes/light_theme.dart +++ b/lib/themes/light_theme.dart @@ -113,6 +113,7 @@ class LightTheme extends ThemeBase { ), display4: TextStyle( color: Palette.darkBlueCraiola, // template title (send page) + backgroundColor: Colors.black, // icon color on order row (moonpay) decorationColor: Palette.niagara // receive amount text (exchange page) ), subtitle: TextStyle( @@ -178,6 +179,7 @@ class LightTheme extends ThemeBase { ), display4: TextStyle( color: Palette.darkGray, // switch background (settings page) + backgroundColor: Colors.black, // icon color on support page (moonpay, github) decorationColor: Colors.white.withOpacity(0.4) // hint text (exchange page) ), body1: TextStyle( diff --git a/lib/view_model/settings/link_list_item.dart b/lib/view_model/settings/link_list_item.dart index bf282d2ca..92a01f444 100644 --- a/lib/view_model/settings/link_list_item.dart +++ b/lib/view_model/settings/link_list_item.dart @@ -1,15 +1,18 @@ import 'package:flutter/foundation.dart'; import 'package:cake_wallet/view_model/settings/settings_list_item.dart'; +import 'package:flutter/material.dart'; class LinkListItem extends SettingsListItem { LinkListItem( {@required String title, @required this.link, @required this.linkTitle, - this.icon}) + this.icon, + this.hasIconColor = false}) : super(title); final String icon; final String link; final String linkTitle; + final bool hasIconColor; } \ No newline at end of file diff --git a/lib/view_model/support_view_model.dart b/lib/view_model/support_view_model.dart index 1937b90ff..9b8dbe426 100644 --- a/lib/view_model/support_view_model.dart +++ b/lib/view_model/support_view_model.dart @@ -31,6 +31,7 @@ abstract class SupportViewModelBase with Store { LinkListItem( title: 'GitHub', icon: 'assets/images/github.png', + hasIconColor: true, linkTitle: S.current.apk_update, link: 'https://github.com/cake-tech/cake_wallet/releases'), LinkListItem( @@ -52,7 +53,13 @@ abstract class SupportViewModelBase with Store { title: 'Wyre', icon: 'assets/images/wyre.png', linkTitle: S.current.submit_request, - link: 'https://wyre-support.zendesk.com/hc/en-us/requests/new') + link: 'https://wyre-support.zendesk.com/hc/en-us/requests/new'), + LinkListItem( + title: 'MoonPay', + icon: 'assets/images/moonpay.png', + hasIconColor: true, + linkTitle: S.current.submit_request, + link: 'https://support.moonpay.com/hc/en-gb/requests/new') ]; } static const url = 'https://cakewallet.com/guide/';