brand: de-cake the app (hash-bag success art, asset + widget renames, filter, icon padding)

Send-success art: replace the Cake birthday cake with a Hash Bags money sack
that has a # on it and erupts #/$/₿ (assets/images/hash_bag.png). Used by the
success page, send-confirm sheet, exchange-trade, and dEURO savings.

Asset renames (files + refs):
- birthday_cake.png            -> hash_bag.png
- restore_cupcake(.png/_dark)  -> restore_hashbag.png
- qr-cake.png                  -> qr-hashbag.png
- arrow_bottom_cake_green.png  -> arrow_bottom_green.png (+ 2.0x/3.0x)

Identifier renames:
- CakeImageWidget -> HashImageWidget (widget + file + 93 refs)
- typography _cakeRegular/_cakeBold/_cakeSemiBold -> _hash*

Transaction filter: drop the Cake Pay "Orders" row and every non-Trocador
trade provider; the swap gate is already Trocador-only, so this just aligns the
filter UI with reality.

Android launcher: add breathing room to the adaptive-foreground # (all
densities, monochrome included); iOS icon unchanged.

About page: swap the Cake easter eggs for Hash Bags ones.

Deferred (needs a build to verify): new-ui .svg.vec filename renames
(cake_squircle_icon, cakewallet-wordmark, cake-setting) — already Hash Bags in
content, only the filenames are cake, and they route through the .vec precompile.
This commit is contained in:
jwinterm
2026-08-07 02:57:29 -04:00
parent 6dc3da4621
commit 7e368f92e6
125 changed files with 288 additions and 350 deletions
+2 -2
View File
@@ -1,5 +1,5 @@
import 'package:hash_wallet/src/screens/base_page.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/gradient_background.dart';
import 'package:hash_wallet/src/widgets/primary_button.dart';
import 'package:hash_wallet/utils/responsive_layout_util.dart';
@@ -56,7 +56,7 @@ abstract class InfoPage extends BasePage {
),
child: AspectRatio(
aspectRatio: 0.9,
child: CakeImageWidget(imageUrl: image),
child: HashImageWidget(imageUrl: image),
),
),
),
+1 -1
View File
@@ -436,7 +436,7 @@ class BuySellPage extends BasePage {
currencies: buySellViewModel.cryptoCurrencies,
onCurrencySelected: (currency) => buySellViewModel.changeCryptoCurrency(currency: currency),
imageArrow: Image.asset(
'assets/images/arrow_bottom_cake_green.png',
'assets/images/arrow_bottom_green.png',
color: Theme.of(context).colorScheme.primary,
height: 8,
),
@@ -8,7 +8,7 @@ import 'package:hash_wallet/src/screens/base_page.dart';
import 'package:hash_wallet/src/screens/dashboard/widgets/filter_list_widget.dart';
import 'package:hash_wallet/src/screens/wallet_list/filtered_list.dart';
import 'package:hash_wallet/src/widgets/alert_with_two_actions.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/gradient_background.dart';
import 'package:hash_wallet/src/widgets/standard_list.dart';
import 'package:hash_wallet/utils/address_formatter.dart';
@@ -283,7 +283,7 @@ class _ContactPageBodyState extends State<ContactPageBody> with SingleTickerProv
Widget _buildCurrencyIcon(ContactBase contact) {
final image = contact.type.iconPath;
return image != null
? CakeImageWidget(imageUrl: image, height: 24, width: 24)
? HashImageWidget(imageUrl: image, height: 24, width: 24)
: const SizedBox(height: 24, width: 24);
}
}
@@ -1,4 +1,4 @@
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:flutter/material.dart';
class SideMenuItem extends StatelessWidget {
@@ -47,7 +47,7 @@ class SideMenuItem extends StatelessWidget {
color: _setColor(context),
size: 30,
)
: CakeImageWidget(
: HashImageWidget(
imageUrl: imagePath ?? '',
fit: BoxFit.cover,
height: 30,
@@ -5,7 +5,7 @@ import 'package:hash_wallet/src/widgets/address_text_field.dart';
import 'package:hash_wallet/src/widgets/alert_with_one_action.dart';
import 'package:hash_wallet/src/widgets/alert_with_two_actions.dart';
import 'package:hash_wallet/src/widgets/base_text_form_field.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/checkbox_widget.dart';
import 'package:hash_wallet/src/widgets/primary_button.dart';
import 'package:hash_wallet/src/widgets/scrollable_with_bottom_section.dart';
@@ -394,7 +394,7 @@ class _EditTokenPageBodyState extends State<EditTokenPageBody> {
alignment: Alignment.center,
children: [
ClipOval(
child: CakeImageWidget(
child: HashImageWidget(
imageUrl: _tokenIconPathController.text,
width: 75,
height: 75,
@@ -11,7 +11,7 @@ import 'package:hash_wallet/src/screens/base_page.dart';
import 'package:hash_wallet/src/screens/dashboard/favorite_token_modal.dart';
import 'package:hash_wallet/src/screens/settings/widgets/settings_cell_with_arrow.dart';
import 'package:hash_wallet/src/widgets/base_text_form_field.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/screens/settings/widgets/settings_picker_cell.dart';
import 'package:hash_wallet/src/screens/settings/widgets/settings_switcher_cell.dart';
import 'package:hash_wallet/src/widgets/new_list_row/new_list_section.dart';
@@ -189,7 +189,7 @@ class HomeSettingsPage extends BasePage {
leading: Container(
clipBehavior: Clip.hardEdge,
decoration: BoxDecoration(shape: BoxShape.circle),
child: CakeImageWidget(
child: HashImageWidget(
imageUrl: token.iconPath,
height: 40,
width: 40,
@@ -5,7 +5,7 @@ import 'package:hash_wallet/src/screens/base_page.dart';
import 'package:hash_wallet/anonpay/anonpay_donation_link_info.dart';
import 'package:hash_wallet/entities/preferences_key.dart';
import 'package:hash_wallet/src/screens/receive/anonpay_receive_page.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:cw_core/receive_page_option.dart';
import 'package:hash_wallet/src/screens/dashboard/widgets/present_receive_option_picker.dart';
import 'package:hash_wallet/src/widgets/gradient_background.dart';
@@ -182,7 +182,7 @@ class AddressPage extends BasePage {
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
CakeImageWidget(
HashImageWidget(
imageUrl: addressListViewModel.monoImage,
height: 16,
width: 16,
@@ -230,7 +230,7 @@ class AddressPage extends BasePage {
borderRadius: BorderRadius.circular(24),
),
child: ClipOval(
child: CakeImageWidget(
child: HashImageWidget(
height: 35,
width: 35,
imageUrl: walletImages[i],
@@ -5,7 +5,7 @@ import 'package:hash_wallet/bitcoin/bitcoin.dart';
import 'package:hash_wallet/generated/i18n.dart';
import 'package:hash_wallet/routes.dart';
import 'package:hash_wallet/src/screens/exchange_trade/information_page.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/themes/core/theme_extension.dart';
import 'package:hash_wallet/utils/payment_request.dart';
import 'package:hash_wallet/utils/show_pop_up.dart';
@@ -179,7 +179,7 @@ class BalanceRowWidget extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.end,
children: [
CakeImageWidget(
HashImageWidget(
imageUrl: currency.iconPath,
height: 40,
width: 40,
@@ -3,7 +3,7 @@ import 'dart:io';
import 'package:hash_wallet/generated/i18n.dart';
import 'package:hash_wallet/new-ui/widgets/apps_widget.dart';
import 'package:hash_wallet/routes.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/dashboard_card_widget.dart';
import 'package:hash_wallet/utils/feature_flag.dart';
import 'package:hash_wallet/view_model/dashboard/cake_features_view_model.dart';
@@ -4,7 +4,7 @@ import 'package:hash_wallet/entities/wallet_nft_response.dart';
import 'package:hash_wallet/generated/i18n.dart';
import 'package:hash_wallet/src/screens/base_page.dart';
import 'package:hash_wallet/src/screens/dashboard/widgets/menu_widget.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/gradient_background.dart';
import 'package:hash_wallet/view_model/dashboard/dashboard_view_model.dart';
@@ -102,7 +102,7 @@ class _NFTImageWidget extends StatelessWidget {
),
color: Theme.of(context).colorScheme.surface,
),
child: CakeImageWidget(imageUrl: imageUrl),
child: HashImageWidget(imageUrl: imageUrl),
);
}
}
@@ -1,4 +1,4 @@
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/dashboard_card_widget.dart';
import 'package:flutter/material.dart';
@@ -86,7 +86,7 @@ class InfoCard extends StatelessWidget {
color: Theme.of(context).colorScheme.surfaceContainer,
shape: BoxShape.circle,
),
child: CakeImageWidget(
child: HashImageWidget(
imageUrl: image,
height: 40,
width: 40,
@@ -1,6 +1,6 @@
import 'dart:io';
import 'dart:ui';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:flutter/material.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:flutter_svg/flutter_svg.dart';
@@ -220,7 +220,7 @@ class _NEWNewMainNavBarState extends State<NewMainNavBar> {
builder: (context, value, child) {
return Container(
height: NewMainNavBar.barHeight,
child: CakeImageWidget(imageUrl:
child: HashImageWidget(imageUrl:
visibleActions[i].image,
width: iconWidth,
height: iconHeight,
@@ -1,7 +1,7 @@
import 'package:hash_wallet/entities/wallet_nft_response.dart';
import 'package:hash_wallet/routes.dart';
import 'package:hash_wallet/src/screens/dashboard/pages/nft_details_page.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:flutter/material.dart';
class NFTTileWidget extends StatelessWidget {
@@ -45,7 +45,7 @@ class NFTTileWidget extends StatelessWidget {
),
color: Theme.of(context).colorScheme.surface,
),
child: CakeImageWidget(
child: HashImageWidget(
imageUrl: nftAsset.normalizedMetadata?.imageUrl,
),
),
@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:hash_wallet/entities/solana_nft_asset_model.dart';
import 'package:hash_wallet/routes.dart';
import 'package:hash_wallet/src/screens/dashboard/pages/nft_details_page.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
class SolanaNFTTileWidget extends StatelessWidget {
const SolanaNFTTileWidget({super.key, required this.nftAsset});
@@ -49,7 +49,7 @@ class SolanaNFTTileWidget extends StatelessWidget {
),
color: Theme.of(context).colorScheme.surface,
),
child: CakeImageWidget(
child: HashImageWidget(
imageUrl: nftAsset.imageOriginalUrl,
),
),
@@ -49,7 +49,7 @@ class ExchangeTemplatePage extends BasePage {
height: 8,
);
final arrowBottomCakeGreen = Image.asset(
'assets/images/arrow_bottom_cake_green.png',
'assets/images/arrow_bottom_green.png',
color: Theme.of(context).colorScheme.primary,
height: 8,
);
@@ -363,7 +363,7 @@ class ExchangeTradeState extends State<ExchangeTradeForm> {
return InfoBottomSheet(
footerType: FooterType.singleActionButton,
titleText: S.of(bottomSheetContext).transaction_sent,
contentImage: 'assets/images/birthday_cake.png',
contentImage: 'assets/images/hash_bag.png',
singleActionButtonText: S.of(bottomSheetContext).close,
singleActionButtonKey: ValueKey('send_page_sent_dialog_ok_button_key'),
onSingleActionButtonPressed: () {
@@ -277,7 +277,7 @@ class DEuroSavingsPage extends BasePage {
builder: (BuildContext bottomSheetContext) => InfoBottomSheet(
footerType: FooterType.singleActionButton,
titleText: S.of(bottomSheetContext).transaction_sent,
contentImage: 'assets/images/birthday_cake.png',
contentImage: 'assets/images/hash_bag.png',
content: S.of(bottomSheetContext).deuro_tx_commited_content,
singleActionButtonText: S.of(bottomSheetContext).close,
singleActionButtonKey: ValueKey('send_page_sent_dialog_ok_button_key'),
@@ -3,7 +3,7 @@ import 'dart:math';
import 'package:auto_size_text/auto_size_text.dart';
import 'package:hash_wallet/entities/fiat_currency.dart';
import 'package:hash_wallet/generated/i18n.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/themes/core/theme_extension.dart';
import 'package:cw_core/crypto_currency.dart';
import 'package:flutter/cupertino.dart';
@@ -268,7 +268,7 @@ class SavingsCard extends StatelessWidget {
child: Center(
child: Column(
children: [
CakeImageWidget(
HashImageWidget(
imageUrl: currency.iconPath,
height: 40,
width: 40,
@@ -9,7 +9,7 @@ import 'package:hash_wallet/src/screens/base_page.dart';
import 'package:hash_wallet/src/screens/new_wallet/widgets/select_button.dart';
import 'package:hash_wallet/src/widgets/alert_with_one_action.dart';
import 'package:hash_wallet/src/widgets/base_text_form_field.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/gradient_background.dart';
import 'package:hash_wallet/src/widgets/picker.dart';
import 'package:hash_wallet/src/widgets/primary_button.dart';
@@ -157,7 +157,7 @@ class _WalletNameFormState extends State<WalletNameForm> {
child: AspectRatio(
aspectRatio: aspectRatioImage,
child: FittedBox(
child: CakeImageWidget(imageUrl: widget.walletImage),
child: HashImageWidget(imageUrl: widget.walletImage),
fit: BoxFit.contain,
),
),
@@ -7,7 +7,7 @@ import 'package:hash_wallet/reactions/wallet_utils.dart';
import 'package:hash_wallet/routes.dart';
import 'package:hash_wallet/src/screens/base_page.dart';
import 'package:hash_wallet/src/screens/new_wallet/widgets/select_button.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/primary_button.dart';
import 'package:hash_wallet/src/widgets/scrollable_with_bottom_section.dart';
import 'package:hash_wallet/src/widgets/search_bar_widget.dart';
@@ -135,7 +135,7 @@ class WalletTypeFormState extends State<WalletTypeForm> {
padding: EdgeInsets.only(top: 12),
child: SelectButton(
key: ValueKey('new_wallet_type_${type.name}_button_key'),
image: CakeImageWidget(
image: HashImageWidget(
imageUrl: getCryptoCurrencyIconForWalletListItem(type),
height: 24,
width: 24,
@@ -1,5 +1,5 @@
import 'package:hash_wallet/core/new_wallet_arguments.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/gradient_background.dart';
import 'package:hash_wallet/src/widgets/primary_button.dart';
import 'package:cw_core/wallet_type.dart';
@@ -31,7 +31,7 @@ class WalletGroupDescriptionPage extends BasePage {
child: Column(
children: [
SizedBox(height: 48),
CakeImageWidget(
HashImageWidget(
imageUrl: currentTheme.isDark
? 'assets/new-ui/hero/wallet_group_options_dark.svg'
: 'assets/new-ui/hero/wallet_group_options_light.svg',
@@ -3,7 +3,7 @@ import 'package:hash_wallet/generated/i18n.dart';
import 'package:hash_wallet/routes.dart';
import 'package:hash_wallet/src/screens/base_page.dart';
import 'package:hash_wallet/src/screens/new_wallet/widgets/grouped_wallet_expansion_tile.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/primary_button.dart';
import 'package:hash_wallet/themes/core/material_base_theme.dart';
import 'package:hash_wallet/view_model/wallet_groups_display_view_model.dart';
@@ -94,7 +94,7 @@ class WalletGroupsDisplayBody extends StatelessWidget {
title: wallet.name,
isSelected:
walletGroupsDisplayViewModel.selectedSingleWallet == wallet,
leadingWidget: CakeImageWidget(
leadingWidget: HashImageWidget(
imageUrl: getCryptoCurrencyIconForWalletListItem(wallet.type),
width: 32,
height: 32,
@@ -168,7 +168,7 @@ class WalletGroupEmptyStateWidget extends StatelessWidget {
Widget build(BuildContext context) {
return Column(
children: [
CakeImageWidget(
HashImageWidget(
imageUrl: currentTheme.isDark
? 'assets/new-ui/hero/wallet_group_empty_dark.svg'
: 'assets/new-ui/hero/wallet_group_empty_light.svg',
@@ -1,7 +1,7 @@
import 'package:hash_wallet/generated/i18n.dart';
import 'package:hash_wallet/routes.dart';
import 'package:hash_wallet/src/screens/base_page.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/gradient_background.dart';
import 'package:hash_wallet/src/widgets/primary_button.dart';
import 'package:flutter/material.dart';
@@ -33,7 +33,7 @@ class WalletGroupExistingSeedDescriptionPage extends BasePage {
padding: EdgeInsets.all(24),
child: Column(
children: [
CakeImageWidget(
HashImageWidget(
imageUrl: currentTheme.isDark ? walletGroupConfirmedImageDark : walletGroupConfirmedImageLight,
height: 200
),
@@ -1,4 +1,4 @@
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:cw_core/currency_for_wallet_type.dart';
import 'package:flutter/material.dart';
import 'package:hash_wallet/view_model/wallet_list/wallet_list_item.dart';
@@ -129,7 +129,7 @@ class GroupedWalletExpansionTile extends StatelessWidget {
)
: SizedBox(width: 7),
SizedBox(width: 24),
CakeImageWidget(
HashImageWidget(
imageUrl: getCryptoCurrencyIconForWalletListItem(item.type),
width: 32,
height: 32,
@@ -5,7 +5,7 @@ import 'package:hash_wallet/new-ui/widgets/receive_page/receive_top_bar.dart';
import 'package:hash_wallet/src/screens/nodes/widgets/node_form.dart';
import 'package:hash_wallet/src/widgets/alert_with_one_action.dart';
import 'package:hash_wallet/src/widgets/alert_with_two_actions.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/primary_button.dart';
import 'package:hash_wallet/src/widgets/scrollable_with_bottom_section.dart';
import 'package:hash_wallet/utils/show_pop_up.dart';
@@ -90,7 +90,7 @@ class _NodeCreateOrEditPageState extends State<NodeCreateOrEditPage> {
title: widget.editingNode != null ? S.current.edit_node : S.current.node_new,
leadingIcon: Icon(Icons.arrow_back_ios_new),
onLeadingPressed: Navigator.of(context).pop,
trailingIcon: CakeImageWidget(imageUrl:
trailingIcon: HashImageWidget(imageUrl:
"assets/new-ui/scan.svg",width:24,height:24,
colorFilter: ColorFilter.mode(Theme.of(context).colorScheme.primary, BlendMode.srcIn),
),
@@ -4,7 +4,7 @@ import 'package:hash_wallet/new-ui/widgets/receive_page/receive_top_bar.dart';
import 'package:hash_wallet/src/screens/nodes/widgets/node_form.dart';
import 'package:hash_wallet/src/widgets/alert_with_one_action.dart';
import 'package:hash_wallet/src/widgets/alert_with_two_actions.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/utils/show_pop_up.dart';
import 'package:hash_wallet/view_model/node_list/node_create_or_edit_view_model.dart';
import 'package:cw_core/node.dart';
@@ -82,7 +82,7 @@ class _PowNodeCreateOrEditPageState extends State<PowNodeCreateOrEditPage> {
title: widget.editingNode != null ? S.current.edit_node : S.current.node_new,
leadingIcon: Icon(Icons.arrow_back_ios_new),
onLeadingPressed: Navigator.of(context).pop,
trailingIcon: CakeImageWidget(imageUrl:
trailingIcon: HashImageWidget(imageUrl:
"assets/new-ui/scan.svg",width:24,height:24,
colorFilter: ColorFilter.mode(Theme.of(context).colorScheme.primary, BlendMode.srcIn),
),
@@ -1,4 +1,4 @@
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:cw_core/utils/print_verbose.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
@@ -25,7 +25,7 @@ class QrImage extends StatelessWidget {
@override
Widget build(BuildContext context) {
final imagePath = embeddedImagePath ?? 'assets/images/qr-cake.png';
final imagePath = embeddedImagePath ?? 'assets/images/qr-hashbag.png';
final isSvg = imagePath.endsWith('.svg');
if (isSvg) {
@@ -44,7 +44,7 @@ class QrImage extends StatelessWidget {
backgroundColor: backgroundColor,
padding: const EdgeInsets.all(12.0),
),
CakeImageWidget(imageUrl:
HashImageWidget(imageUrl:
imagePath,
width: logoSize * 0.8,
height: logoSize * 0.8,
@@ -46,8 +46,8 @@ class _RestoreOptionsBodyState extends State<_RestoreOptionsBody> {
: 'assets/images/restore_hw.png';
String get imageRestoreCupcakePath => widget.themeType == ThemeType.dark
? 'assets/images/restore_cupcake_dark.png'
: 'assets/images/restore_cupcake.png';
? 'assets/images/restore_hashbag.png'
: 'assets/images/restore_hashbag.png';
String get imageRestoreQRPath => widget.themeType == ThemeType.dark
? 'assets/images/restore_qr_dark.png'
@@ -1,6 +1,6 @@
import 'package:hash_wallet/generated/i18n.dart';
import 'package:hash_wallet/routes.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/primary_button.dart';
import 'package:hash_wallet/themes/core/material_base_theme.dart';
import 'package:cw_core/wallet_type.dart';
@@ -21,7 +21,7 @@ class SeedVerificationSuccessView extends StatelessWidget {
children: [
ConstrainedBox(
constraints: BoxConstraints(maxHeight: MediaQuery.of(context).size.height * 0.3),
child: CakeImageWidget(
child: HashImageWidget(
height: 128,
imageUrl: currentTheme.isDark
? 'assets/images/seed_verified_dark.png'
+1 -1
View File
@@ -684,7 +684,7 @@ class SendPage extends BasePage {
: InfoBottomSheet(
footerType: FooterType.singleActionButton,
titleText: S.of(bottomSheetContext).transaction_sent,
contentImage: 'assets/images/birthday_cake.png',
contentImage: 'assets/images/hash_bag.png',
singleActionButtonText: S.of(bottomSheetContext).close,
singleActionButtonKey: ValueKey('send_page_transaction_sent_button_key'),
onSingleActionButtonPressed: () {
@@ -5,8 +5,8 @@ import 'package:flutter/cupertino.dart';
class TransactionSuccessPage extends InfoPage {
TransactionSuccessPage({required this.content})
: super(
imageLightPath: 'assets/images/birthday_cake.png',
imageDarkPath: 'assets/images/birthday_cake.png',
imageLightPath: 'assets/images/hash_bag.png',
imageDarkPath: 'assets/images/hash_bag.png',
);
final String content;
@@ -1,6 +1,6 @@
import 'package:hash_wallet/generated/i18n.dart';
import 'package:hash_wallet/src/screens/settings/widgets/settings_switcher_cell.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/themes/core/material_base_theme.dart';
import 'package:hash_wallet/themes/theme_classes/black_theme.dart';
import 'package:hash_wallet/view_model/settings/display_settings_view_model.dart';
@@ -65,7 +65,7 @@ class SettingsThemeChoicesCell extends StatelessWidget {
)),
child: ClipRRect(
borderRadius: BorderRadius.circular(cellRadius),
child: CakeImageWidget(
child: HashImageWidget(
imageUrl: _displaySettingsViewModel.getImageForTheme(theme),
fit: BoxFit.cover,
height: previewHeight,
+2 -2
View File
@@ -2,7 +2,7 @@ import 'package:hash_wallet/generated/i18n.dart';
import 'package:hash_wallet/routes.dart';
import 'package:hash_wallet/src/screens/base_page.dart';
import 'package:hash_wallet/src/screens/settings/widgets/settings_cell_with_arrow.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/section_divider.dart';
import 'package:hash_wallet/src/widgets/standard_list.dart';
import 'package:hash_wallet/view_model/set_up_2fa_viewmodel.dart';
@@ -31,7 +31,7 @@ class Setup2FAPage extends BasePage {
constraints: BoxConstraints(maxHeight: MediaQuery.of(context).size.height * 0.3),
child: AspectRatio(
aspectRatio: 0.764,
child: CakeImageWidget(imageUrl: 'assets/images/2fa.png'),
child: HashImageWidget(imageUrl: 'assets/images/2fa.png'),
),
),
),
+4 -4
View File
@@ -1,7 +1,7 @@
import 'package:hash_wallet/generated/i18n.dart';
import 'package:hash_wallet/routes.dart';
import 'package:hash_wallet/src/screens/base_page.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/option_tile.dart';
import 'package:hash_wallet/utils/device_info.dart';
import 'package:hash_wallet/view_model/support_view_model.dart';
@@ -40,19 +40,19 @@ class SupportPage extends BasePage {
spacing: 16,
children: [
OptionTile(
image: CakeImageWidget(imageUrl: _imageSupportChat, width: 55, height: 55),
image: HashImageWidget(imageUrl: _imageSupportChat, width: 55, height: 55),
title: S.of(context).support_title_live_chat,
description: S.of(context).support_description_live_chat,
onPressed: () => _onPressedSupportChat(context),
),
OptionTile(
image: CakeImageWidget(imageUrl: _imageSupportDocs, width: 55, height: 55),
image: HashImageWidget(imageUrl: _imageSupportDocs, width: 55, height: 55),
title: S.of(context).support_title_guides,
description: S.of(context).support_description_guides,
onPressed: () => _launchUrl(supportViewModel.docsUrl),
),
OptionTile(
image: CakeImageWidget(imageUrl: _imageSupportLinks, width: 55, height: 55),
image: HashImageWidget(imageUrl: _imageSupportLinks, width: 55, height: 55),
title: S.of(context).support_title_other_links,
description: S.of(context).support_description_other_links,
onPressed: () => Navigator.pushNamed(context, Routes.supportOtherLinks),
@@ -1,5 +1,5 @@
import 'package:hash_wallet/generated/i18n.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:flutter/material.dart';
import 'package:reown_walletkit/reown_walletkit.dart';
@@ -30,7 +30,7 @@ class WCPairingItemWidget extends StatelessWidget {
leading: SizedBox(
width: 60,
height: 60,
child: CakeImageWidget(
child: HashImageWidget(
borderRadius: 8,
width: 60,
height: 60,
@@ -17,7 +17,7 @@ import 'package:hash_wallet/src/screens/wallet_list/edit_wallet_button_widget.da
import 'package:hash_wallet/src/screens/wallet_list/filtered_list.dart';
import 'package:hash_wallet/src/screens/wallet_unlock/wallet_unlock_arguments.dart';
import 'package:hash_wallet/src/widgets/alert_with_one_action.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/gradient_background.dart';
import 'package:hash_wallet/src/widgets/primary_button.dart';
import 'package:hash_wallet/store/settings_store.dart';
@@ -195,7 +195,7 @@ class WalletListBodyState extends State<WalletListBody> {
borderRadius: BorderRadius.all(Radius.circular(18)),
title: groupName,
tileKey: ValueKey('group_wallets_expansion_tile_widget_$index'),
leadingWidget: CakeImageWidget(
leadingWidget: HashImageWidget(
imageUrl: "assets/new-ui/navbar/wallets.svg",
width: 28,
color: Theme.of(context).colorScheme.onSurfaceVariant,
@@ -296,7 +296,7 @@ class WalletListBodyState extends State<WalletListBody> {
),
)
: SizedBox(width: 6),
CakeImageWidget(
HashImageWidget(
imageUrl: getCryptoCurrencyIconForWalletListItem(
wallet.type,
),
@@ -1,6 +1,6 @@
import 'dart:io';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/scrollable_with_bottom_section.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
@@ -104,7 +104,7 @@ class CreatePinWelcomePage extends BasePage {
AspectRatio(
aspectRatio: imageAspectRatio,
child: FittedBox(
child: CakeImageWidget(
child: HashImageWidget(
imageUrl: welcomeImage,
fit: BoxFit.contain,
),
@@ -137,7 +137,7 @@ class CreatePinWelcomePage extends BasePage {
SizedBox(width: 8),
if (!isMoneroOnly) ...[
SizedBox(width: 8),
CakeImageWidget(
HashImageWidget(
height: 40,
imageUrl: cakeLogoThemed,
fit: BoxFit.contain,
+2 -2
View File
@@ -1,4 +1,4 @@
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/scrollable_with_bottom_section.dart';
import 'package:hash_wallet/utils/responsive_layout_util.dart';
import 'package:flutter/material.dart';
@@ -59,7 +59,7 @@ class WelcomePage extends BasePage {
aspectRatio: aspectRatioImage,
child: FittedBox(
fit: BoxFit.contain,
child: CakeImageWidget(imageUrl: welcomeImage),
child: HashImageWidget(imageUrl: welcomeImage),
),
),
Padding(
@@ -1,6 +1,6 @@
import 'package:hash_wallet/generated/i18n.dart';
import 'package:hash_wallet/src/widgets/base_text_form_field.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/primary_button.dart';
import 'package:hash_wallet/themes/core/theme_extension.dart';
import 'package:flutter/material.dart';
@@ -81,7 +81,7 @@ class _AddPassphraseBottomSheetState extends State<AddPassphraseBottomSheet> {
),
),
SizedBox(height: 20),
CakeImageWidget(imageUrl: passphraseImage, height: 85),
HashImageWidget(imageUrl: passphraseImage, height: 85),
SizedBox(height: 20),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),
@@ -7,7 +7,7 @@ import 'package:hash_wallet/reactions/wallet_connect.dart';
import 'package:hash_wallet/src/screens/exchange/widgets/present_provider_picker.dart';
import 'package:hash_wallet/src/widgets/base_text_form_field.dart';
import 'package:hash_wallet/src/widgets/bottom_sheet/swap_details_bottom_sheet.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/utils/address_formatter.dart';
import 'package:hash_wallet/utils/debounce.dart';
import 'package:cw_core/currency_for_wallet_type.dart';
@@ -151,7 +151,7 @@ class SwapConfirmationContentState extends State<SwapConfirmationContent> {
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
CakeImageWidget(
HashImageWidget(
imageUrl: widget.exchangeViewModel.depositCurrency.iconPath!,
width: 32,
height: 32,
@@ -162,7 +162,7 @@ class SwapConfirmationContentState extends State<SwapConfirmationContent> {
Stack(
clipBehavior: Clip.none,
children: [
CakeImageWidget(
HashImageWidget(
imageUrl: detectedCurrency.iconPath ?? '',
width: 32,
height: 32,
@@ -171,7 +171,7 @@ class SwapConfirmationContentState extends State<SwapConfirmationContent> {
Positioned(
bottom: -4,
right: -4,
child: CakeImageWidget(
child: HashImageWidget(
imageUrl: getCryptoCurrencyIconForWalletListItem(
widget.paymentFlowResult.walletType!,
chainId: widget.paymentFlowResult.chainId,
@@ -1,5 +1,5 @@
import 'package:hash_wallet/exchange/trade.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/utils/address_formatter.dart';
import 'package:hash_wallet/utils/show_bar.dart';
import 'package:flutter/material.dart';
@@ -169,7 +169,7 @@ class _SwapDetailsBottomSheetState extends State<SwapDetailsBottomSheet> {
return InfoBottomSheet(
footerType: FooterType.singleActionButton,
titleText: S.of(bottomSheetContext).transaction_sent,
contentImage: 'assets/images/birthday_cake.png',
contentImage: 'assets/images/hash_bag.png',
singleActionButtonText: S.of(bottomSheetContext).close,
singleActionButtonKey: ValueKey('swap_details_sent_dialog_ok_button_key'),
onSingleActionButtonPressed: () {
@@ -373,7 +373,7 @@ class _SwapDetailsContent extends StatelessWidget {
children: [
Row(
children: [
CakeImageWidget(
HashImageWidget(
imageUrl: trade.provider.image,
width: 36,
height: 36,
@@ -3,7 +3,7 @@ import 'package:hash_wallet/generated/i18n.dart';
import 'package:hash_wallet/reactions/wallet_connect.dart';
import 'package:hash_wallet/src/screens/exchange/widgets/currency_picker.dart';
import 'package:hash_wallet/src/widgets/bottom_sheet/base_bottom_sheet_widget.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/picker.dart';
import 'package:hash_wallet/src/widgets/primary_button.dart';
import 'package:hash_wallet/utils/payment_request.dart';
@@ -148,7 +148,7 @@ class _TokenSelectionContentState extends State<_TokenSelectionContent> {
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
CakeImageWidget(
HashImageWidget(
imageUrl: _getNetworkIcon(),
width: 50,
height: 50,
@@ -240,7 +240,7 @@ class _TokenSelectionContentState extends State<_TokenSelectionContent> {
closeOnItemSelected: true,
hasTitleSpacing: true,
images: evmNetworks
.map((network) => CakeImageWidget(
.map((network) => HashImageWidget(
imageUrl: getChainMonoImage(network),
width: 20,
height: 20,
@@ -381,7 +381,7 @@ class TokenSelectionTileWidget extends StatelessWidget {
child: Row(
children: [
if (imagePath != null) ...[
CakeImageWidget(
HashImageWidget(
imageUrl: imagePath!,
color: color,
width: 20,
+3 -3
View File
@@ -1,4 +1,4 @@
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/evm_switcher.dart';
import 'package:hash_wallet/src/widgets/standard_switch.dart';
import 'package:flutter/material.dart';
@@ -45,7 +45,7 @@ class EvmSwitcherRow extends StatelessWidget {
Row(
spacing: 8.0,
children: [
CakeImageWidget(
HashImageWidget(
imageUrl: data.svgPath,
width: 16,
height: 16,
@@ -55,7 +55,7 @@ class EvmSwitcherRow extends StatelessWidget {
style: TextStyle(color: resolvedForegroundColor, fontSize: 14),
),
if (selected && !editMode)
CakeImageWidget(
HashImageWidget(
imageUrl: "assets/images/evm_switcher_checkmark.svg",
width: 18,
height: 18,
@@ -4,8 +4,8 @@ import 'package:flutter/services.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:vector_graphics/vector_graphics.dart';
class CakeImageWidget extends StatelessWidget {
const CakeImageWidget({
class HashImageWidget extends StatelessWidget {
const HashImageWidget({
super.key,
this.imageUrl,
this.height,
@@ -1,4 +1,4 @@
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/new_list_row/list_Item_style_wrapper.dart';
import 'package:hash_wallet/src/widgets/new_list_row/new_simple_checkbox.dart';
import 'package:flutter/material.dart';
@@ -54,7 +54,7 @@ class _ListItemCheckboxWidgetState extends State<ListItemCheckboxWidget> {
children: [
if (widget.iconPath != null)
widget.iconPath!.toLowerCase().endsWith("svg")
? CakeImageWidget(imageUrl:widget.iconPath!, height: 26, width: 26)
? HashImageWidget(imageUrl:widget.iconPath!, height: 26, width: 26)
: Image.asset(
widget.iconPath!,
width: 26,
@@ -1,6 +1,6 @@
import 'package:hash_wallet/generated/i18n.dart';
import 'package:hash_wallet/new-ui/widgets/copy_wrapper.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/new_list_row/list_Item_style_wrapper.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
@@ -76,7 +76,7 @@ class ListItemRegularRowWidget extends StatelessWidget {
if (iconPath != null)
Padding(
padding: const EdgeInsets.only(right: 12.0),
child: CakeImageWidget(
child: HashImageWidget(
imageUrl: iconPath!,
width: 24,
height: 24,
@@ -121,7 +121,7 @@ class ListItemRegularRowWidget extends StatelessWidget {
if (trailingWidget != null)
trailingWidget!
else if (trailingIconPath != null)
CakeImageWidget(
HashImageWidget(
imageUrl: trailingIconPath!,
height: trailingIconSize ?? 18,
width: trailingIconSize ?? 18,
@@ -132,7 +132,7 @@ class ListItemRegularRowWidget extends StatelessWidget {
else if (showArrow)
Padding(
padding: const EdgeInsets.symmetric(vertical: 7.0),
child: CakeImageWidget(imageUrl:
child: HashImageWidget(imageUrl:
"assets/new-ui/arrow_forward.svg",
height: 14,
color: theme.colorScheme.onSurfaceVariant
@@ -1,4 +1,4 @@
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/new_list_row/list_Item_style_wrapper.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
@@ -45,7 +45,7 @@ class ListItemSelectorWidget extends StatelessWidget {
options[selectedIndex],
style: labelStyle,
),
CakeImageWidget(imageUrl:
HashImageWidget(imageUrl:
"assets/new-ui/chooser.svg",
colorFilter:
ColorFilter.mode(theme.colorScheme.onSurfaceVariant, BlendMode.srcIn),
+2 -2
View File
@@ -3,7 +3,7 @@
import 'dart:math';
import 'package:hash_wallet/entities/seed_type.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/search_bar_widget.dart';
import 'package:hash_wallet/themes/core/theme_extension.dart';
import 'package:hash_wallet/utils/responsive_layout_util.dart';
@@ -498,7 +498,7 @@ class _PickerState<Item> extends State<Picker<Item>> {
Widget? _getItemIcon(Item item) {
if (item is Currency) {
if (item.iconPath != null) {
return CakeImageWidget(
return HashImageWidget(
imageUrl: item.iconPath!,
height: 20.0,
width: 20.0,
+3 -3
View File
@@ -3,7 +3,7 @@ import 'package:hash_wallet/entities/preferences_key.dart';
import 'package:hash_wallet/entities/service_status.dart';
import 'package:hash_wallet/generated/i18n.dart';
import 'package:hash_wallet/src/widgets/alert_with_one_action.dart';
import 'package:hash_wallet/src/widgets/cake_image_widget.dart';
import 'package:hash_wallet/src/widgets/hash_image_widget.dart';
import 'package:hash_wallet/src/widgets/primary_button.dart';
import 'package:hash_wallet/src/widgets/service_status_tile.dart';
import 'package:hash_wallet/utils/device_info.dart';
@@ -41,7 +41,7 @@ class _ServicesUpdatesWidgetState extends State<ServicesUpdatesWidget> {
);
});
},
child: CakeImageWidget(
child: HashImageWidget(
imageUrl: "assets/images/notif.svg",
color: Theme.of(context).colorScheme.primary,
width: DeviceInfo.instance.isDesktop ? 30 : 20,
@@ -133,7 +133,7 @@ class _ServicesUpdatesWidgetState extends State<ServicesUpdatesWidget> {
: null,
child: Stack(
children: [
CakeImageWidget(
HashImageWidget(
imageUrl: "assets/images/notif.svg",
color: Theme.of(context).colorScheme.primary,
width: DeviceInfo.instance.isDesktop ? 30 : 20,