clean up and fixed bugs found while porting themes to duo

This commit is contained in:
julian 2023-05-13 21:24:42 -06:00
parent b2c365797c
commit 539dec13f5
30 changed files with 265 additions and 163 deletions

View file

@ -178,9 +178,6 @@ void main() async {
}
}
//Add Themes directory - TODO
// await StackFileSystem.applicationThemesDirectory();
monero.onStartup();
wownero.onStartup();

View file

@ -1,7 +1,14 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
import 'package:stackwallet/models/isar/stack_theme.dart';
import 'package:stackwallet/models/notification_model.dart';
import 'package:stackwallet/themes/coin_icon_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/theme_providers.dart';
import 'package:stackwallet/utilities/enums/coin_enum.dart';
import 'package:stackwallet/utilities/format.dart';
import 'package:stackwallet/utilities/text_styles.dart';
import 'package:stackwallet/utilities/util.dart';
@ -9,7 +16,7 @@ import 'package:stackwallet/widgets/conditional_parent.dart';
import 'package:stackwallet/widgets/rounded_container.dart';
import 'package:stackwallet/widgets/rounded_white_container.dart';
class NotificationCard extends StatelessWidget {
class NotificationCard extends ConsumerWidget {
const NotificationCard({
Key? key,
required this.notification,
@ -25,8 +32,17 @@ class NotificationCard extends StatelessWidget {
static const double mobileIconSize = 24;
static const double desktopIconSize = 30;
String coinIconPath(ThemeAssets assets, WidgetRef ref) {
try {
final coin = coinFromPrettyName(notification.coinName);
return ref.read(coinIconProvider(coin));
} catch (_) {
return notification.iconAssetName;
}
}
@override
Widget build(BuildContext context) {
Widget build(BuildContext context, WidgetRef ref) {
final isDesktop = Util.isDesktop;
return Stack(
@ -41,8 +57,14 @@ class NotificationCard extends StatelessWidget {
child: Row(
children: [
notification.changeNowId == null
? SvgPicture.asset(
notification.iconAssetName,
? SvgPicture.file(
File(
coinIconPath(
ref.watch(
themeProvider.select((value) => value.assets),
),
ref),
),
width: isDesktop ? desktopIconSize : mobileIconSize,
height: isDesktop ? desktopIconSize : mobileIconSize,
)
@ -53,8 +75,14 @@ class NotificationCard extends StatelessWidget {
color: Colors.transparent,
borderRadius: BorderRadius.circular(24),
),
child: SvgPicture.asset(
notification.iconAssetName,
child: SvgPicture.file(
File(
coinIconPath(
ref.watch(
themeProvider.select((value) => value.assets),
),
ref),
),
color: Theme.of(context)
.extension<StackColors>()!
.accentColorDark,

View file

@ -1,9 +1,11 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
import 'package:stackwallet/providers/global/prefs_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/coin_image_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/constants.dart';
import 'package:stackwallet/utilities/enums/coin_enum.dart';
import 'package:stackwallet/utilities/text_styles.dart';
@ -87,8 +89,10 @@ class CoinSelectSheet extends StatelessWidget {
padding: const EdgeInsets.all(12),
child: Row(
children: [
SvgPicture.asset(
ref.watch(coinImageProvider(coin)),
SvgPicture.file(
File(
ref.watch(coinImageProvider(coin)),
),
height: 20,
width: 20,
),

View file

@ -1,3 +1,5 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
@ -13,8 +15,8 @@ import 'package:stackwallet/providers/global/address_book_service_provider.dart'
import 'package:stackwallet/providers/providers.dart';
import 'package:stackwallet/providers/ui/address_book_providers/address_entry_data_provider.dart';
import 'package:stackwallet/services/coins/manager.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/coin_icon_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/assets.dart';
import 'package:stackwallet/utilities/clipboard_interface.dart';
import 'package:stackwallet/utilities/enums/coin_enum.dart';
@ -334,8 +336,10 @@ class _ContactDetailsViewState extends ConsumerState<ContactDetailsView> {
padding: const EdgeInsets.all(12),
child: Row(
children: [
SvgPicture.asset(
ref.watch(coinIconProvider(e.coin)),
SvgPicture.file(
File(
ref.watch(coinIconProvider(e.coin)),
),
height: 24,
),
const SizedBox(

View file

@ -1,3 +1,5 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
@ -9,8 +11,8 @@ import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_2_view.
import 'package:stackwallet/pages/send_view/send_view.dart';
import 'package:stackwallet/providers/global/address_book_service_provider.dart';
import 'package:stackwallet/providers/providers.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/coin_icon_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/theme_providers.dart';
import 'package:stackwallet/utilities/assets.dart';
import 'package:stackwallet/utilities/clipboard_interface.dart';
@ -110,11 +112,13 @@ class ContactPopUp extends ConsumerWidget {
),
child: contact.id == "default"
? Center(
child: SvgPicture.asset(
ref.watch(
themeProvider.select(
(value) =>
value.assets.stackIcon,
child: SvgPicture.file(
File(
ref.watch(
themeProvider.select(
(value) => value
.assets.stackIcon,
),
),
),
width: 20,
@ -211,9 +215,11 @@ class ContactPopUp extends ConsumerWidget {
const SizedBox(
height: 2,
),
SvgPicture.asset(
ref.watch(
coinIconProvider(e.coin),
SvgPicture.file(
File(
ref.watch(
coinIconProvider(e.coin),
),
),
height: 24,
),

View file

@ -1,3 +1,5 @@
import 'dart:io';
import 'package:dropdown_button2/dropdown_button2.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
@ -7,8 +9,8 @@ import 'package:stackwallet/pages/address_book_views/subviews/coin_select_sheet.
import 'package:stackwallet/providers/providers.dart';
// import 'package:stackwallet/providers/global/should_show_lockscreen_on_resume_state_provider.dart';
import 'package:stackwallet/providers/ui/address_book_providers/address_entry_data_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/coin_icon_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/address_utils.dart';
import 'package:stackwallet/utilities/assets.dart';
import 'package:stackwallet/utilities/barcode_scanner_interface.dart';
@ -141,8 +143,10 @@ class _NewContactAddressEntryFormState
padding: const EdgeInsets.symmetric(vertical: 4),
child: Row(
children: [
SvgPicture.asset(
ref.watch(coinIconProvider(coin)),
SvgPicture.file(
File(
ref.watch(coinIconProvider(coin)),
),
height: 24,
width: 24,
),
@ -211,15 +215,17 @@ class _NewContactAddressEntryFormState
)
: Row(
children: [
SvgPicture.asset(
ref.watch(
coinIconProvider(
ref.watch(
addressEntryDataProvider(widget.id)
.select(
(value) => value.coin,
),
)!,
SvgPicture.file(
File(
ref.watch(
coinIconProvider(
ref.watch(
addressEntryDataProvider(widget.id)
.select(
(value) => value.coin,
),
)!,
),
),
),
height: 20,

View file

@ -144,7 +144,7 @@ class _ReceiveViewState extends ConsumerState<ReceiveView> {
aspectRatio: 1,
child: AppBarIconButton(
semanticsLabel:
"Address List Pop-up Button. Opens A Pop-up For Adress List Button.",
"Address List Pop-up Button. Opens A Pop-up For Address List Button.",
key: const Key("walletNetworkSettingsAddNewNodeViewButton"),
size: 36,
shadows: const [],

View file

@ -191,7 +191,8 @@ class GlobalSettingsView extends StatelessWidget {
title: "Appearance",
onPressed: () {
Navigator.of(context).pushNamed(
AppearanceSettingsView.routeName);
AppearanceSettingsView.routeName,
);
},
),
if (Platform.isIOS)

View file

@ -1,3 +1,5 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
@ -6,8 +8,8 @@ import 'package:stackwallet/pages/settings_views/global_settings_view/stack_back
import 'package:stackwallet/pages/settings_views/global_settings_view/stack_backup_views/sub_widgets/restoring_item_card.dart';
import 'package:stackwallet/providers/stack_restore/stack_restoring_ui_state_provider.dart';
import 'package:stackwallet/route_generator.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/coin_icon_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/assets.dart';
import 'package:stackwallet/utilities/enums/coin_enum.dart';
import 'package:stackwallet/utilities/enums/stack_restoring_status.dart';
@ -81,8 +83,10 @@ class _RestoringWalletCardState extends ConsumerState<RestoringWalletCard> {
.extension<StackColors>()!
.colorForCoin(coin),
child: Center(
child: SvgPicture.asset(
ref.watch(coinIconProvider(coin)),
child: SvgPicture.file(
File(
ref.watch(coinIconProvider(coin)),
),
height: 20,
width: 20,
),
@ -222,9 +226,11 @@ class _RestoringWalletCardState extends ConsumerState<RestoringWalletCard> {
.extension<StackColors>()!
.colorForCoin(coin),
child: Center(
child: SvgPicture.asset(
ref.watch(
coinIconProvider(coin),
child: SvgPicture.file(
File(
ref.watch(
coinIconProvider(coin),
),
),
height: 20,
width: 20,

View file

@ -1,10 +1,12 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:stackwallet/pages/settings_views/global_settings_view/startup_preferences/startup_wallet_selection_view.dart';
import 'package:stackwallet/providers/providers.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/coin_icon_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/constants.dart';
import 'package:stackwallet/utilities/text_styles.dart';
import 'package:stackwallet/widgets/background.dart';
@ -236,22 +238,24 @@ class _StartupPreferencesViewState
.only(top: 12),
child: Row(
children: [
SvgPicture.asset(
ref.watch(
coinIconProvider(
ref
.watch(
walletsChangeNotifierProvider
.select(
(value) =>
value.getManager(
ref.watch(
prefsChangeNotifierProvider.select((value) => value.startupWalletId!),
SvgPicture.file(
File(
ref.watch(
coinIconProvider(
ref
.watch(
walletsChangeNotifierProvider
.select(
(value) =>
value.getManager(
ref.watch(
prefsChangeNotifierProvider.select((value) => value.startupWalletId!),
),
),
),
),
)
.coin,
)
.coin,
),
),
),
),

View file

@ -1,9 +1,11 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
import 'package:stackwallet/providers/providers.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/coin_icon_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/constants.dart';
import 'package:stackwallet/utilities/text_styles.dart';
import 'package:stackwallet/widgets/background.dart';
@ -102,9 +104,11 @@ class _StartupWalletSelectionViewState
),
child: Padding(
padding: const EdgeInsets.all(4),
child: SvgPicture.asset(
ref.watch(
coinIconProvider(manager.coin),
child: SvgPicture.file(
File(
ref.watch(
coinIconProvider(manager.coin),
),
),
width: 20,
height: 20,

View file

@ -1,9 +1,11 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
import 'package:stackwallet/providers/providers.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/coin_icon_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/constants.dart';
import 'package:stackwallet/utilities/enums/coin_enum.dart';
import 'package:stackwallet/utilities/enums/sync_type_enum.dart';
@ -116,9 +118,11 @@ class WalletSyncingOptionsView extends ConsumerWidget {
),
child: Padding(
padding: const EdgeInsets.all(4),
child: SvgPicture.asset(
ref.watch(
coinIconProvider(manager.coin),
child: SvgPicture.file(
File(
ref.watch(
coinIconProvider(manager.coin),
),
),
width: 20,
height: 20,

View file

@ -33,7 +33,7 @@ import 'package:stackwallet/widgets/rounded_white_container.dart';
import 'package:tuple/tuple.dart';
/// [eventBus] should only be set during testing
class WalletSettingsView extends StatefulWidget {
class WalletSettingsView extends ConsumerStatefulWidget {
const WalletSettingsView({
Key? key,
required this.walletId,
@ -52,10 +52,10 @@ class WalletSettingsView extends StatefulWidget {
final EventBus? eventBus;
@override
State<WalletSettingsView> createState() => _WalletSettingsViewState();
ConsumerState<WalletSettingsView> createState() => _WalletSettingsViewState();
}
class _WalletSettingsViewState extends State<WalletSettingsView> {
class _WalletSettingsViewState extends ConsumerState<WalletSettingsView> {
late final String walletId;
late final Coin coin;
late String xpub;
@ -74,7 +74,7 @@ class _WalletSettingsViewState extends State<WalletSettingsView> {
walletId = widget.walletId;
coin = widget.coin;
xPubEnabled =
coin != Coin.monero && coin != Coin.wownero && coin != Coin.epicCash;
ref.read(walletsChangeNotifierProvider).getManager(walletId).hasXPub;
xpub = "";
_currentSyncStatus = widget.initialSyncStatus;

View file

@ -23,19 +23,6 @@ class TxIcon extends ConsumerWidget {
static const Size size = Size(32, 32);
// String _getBundleAssetName(
// bool isCancelled, bool isReceived, bool isPending, BuildContext context) {
// if (!isReceived && transaction.subType == TransactionSubType.mint) {
// if (isCancelled) {
// return Assets.svg.anonymizeFailed;
// }
// if (isPending) {
// return Assets.svg.anonymizePending;
// }
// return Assets.svg.anonymize;
// }
// }
String _getAssetName(
bool isCancelled, bool isReceived, bool isPending, ThemeAssets assets) {
if (!isReceived && transaction.subType == TransactionSubType.mint) {

View file

@ -1,7 +1,10 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:isar/isar.dart';
import 'package:stackwallet/db/isar/main_db.dart';
import 'package:stackwallet/models/contact.dart';
import 'package:stackwallet/models/isar/models/isar_models.dart';
import 'package:stackwallet/pages/address_book_views/subviews/add_new_contact_address_view.dart';
@ -24,8 +27,6 @@ import 'package:stackwallet/widgets/rounded_white_container.dart';
import 'package:stackwallet/widgets/transaction_card.dart';
import 'package:tuple/tuple.dart';
import '../../../db/isar/main_db.dart';
class DesktopContactDetails extends ConsumerStatefulWidget {
const DesktopContactDetails({
Key? key,
@ -119,10 +120,12 @@ class _DesktopContactDetailsState extends ConsumerState<DesktopContactDetails> {
),
child: contact.id == "default"
? Center(
child: SvgPicture.asset(
ref.watch(
themeProvider.select(
(value) => value.assets.stackIcon,
child: SvgPicture.file(
File(
ref.watch(
themeProvider.select(
(value) => value.assets.stackIcon,
),
),
),
width: 32,

View file

@ -1,3 +1,5 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
@ -6,8 +8,8 @@ import 'package:stackwallet/db/isar/main_db.dart';
import 'package:stackwallet/models/isar/models/blockchain_data/utxo.dart';
import 'package:stackwallet/pages_desktop_specific/coin_control/utxo_row.dart';
import 'package:stackwallet/providers/global/wallets_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/coin_icon_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/amount/amount.dart';
import 'package:stackwallet/utilities/assets.dart';
import 'package:stackwallet/utilities/constants.dart';
@ -359,8 +361,10 @@ class _DesktopCoinControlUseDialogState
color: Colors.transparent,
child: Row(
children: [
SvgPicture.asset(
ref.watch(coinIconProvider(coin)),
SvgPicture.file(
File(
ref.watch(coinIconProvider(coin)),
),
width: 24,
height: 24,
),

View file

@ -1,3 +1,5 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
@ -7,8 +9,8 @@ import 'package:stackwallet/models/isar/models/blockchain_data/utxo.dart';
import 'package:stackwallet/pages_desktop_specific/coin_control/freeze_button.dart';
import 'package:stackwallet/pages_desktop_specific/coin_control/utxo_row.dart';
import 'package:stackwallet/providers/global/wallets_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/coin_icon_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/assets.dart';
import 'package:stackwallet/utilities/constants.dart';
import 'package:stackwallet/utilities/enums/coin_enum.dart';
@ -343,8 +345,10 @@ class _DesktopCoinControlViewState
color: Colors.transparent,
child: Row(
children: [
SvgPicture.asset(
ref.watch(coinIconProvider(coin)),
SvgPicture.file(
File(
ref.watch(coinIconProvider(coin)),
),
width: 24,
height: 24,
),

View file

@ -1,4 +1,5 @@
import 'dart:async';
import 'dart:io';
import 'package:decimal/decimal.dart';
import 'package:flutter/material.dart';
@ -522,10 +523,14 @@ class _DesktopTradeRowCardState extends ConsumerState<DesktopTradeRowCard> {
borderRadius: BorderRadius.circular(32),
),
child: Center(
child: SvgPicture.asset(
_fetchIconAssetForStatus(
trade.status,
ref.watch(themeProvider.select((value) => value.assets)),
child: SvgPicture.file(
File(
_fetchIconAssetForStatus(
trade.status,
ref.watch(
themeProvider.select((value) => value.assets),
),
),
),
width: 32,
height: 32,

View file

@ -1,3 +1,5 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
@ -81,28 +83,36 @@ class DesktopNotificationsIcon extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
return SvgPicture.asset(
ref.watch(notificationsProvider
.select((value) => value.hasUnreadNotifications))
? ref.watch(
themeProvider.select(
(value) => value.assets.bellNew,
return ref.watch(notificationsProvider
.select((value) => value.hasUnreadNotifications))
? SvgPicture.file(
File(
ref.watch(
themeProvider.select(
(value) => value.assets.bellNew,
),
),
)
: Assets.svg.bell,
width: 20,
height: 20,
color: ref.watch(notificationsProvider
.select((value) => value.hasUnreadNotifications))
? null
: DesktopMenuItemId.notifications ==
ref.watch(currentDesktopMenuItemProvider.state).state
? Theme.of(context).extension<StackColors>()!.accentColorDark
: Theme.of(context)
.extension<StackColors>()!
.accentColorDark
.withOpacity(0.8),
);
),
width: 20,
height: 20,
)
: SvgPicture.asset(
Assets.svg.bell,
width: 20,
height: 20,
color: ref.watch(notificationsProvider
.select((value) => value.hasUnreadNotifications))
? null
: DesktopMenuItemId.notifications ==
ref.watch(currentDesktopMenuItemProvider.state).state
? Theme.of(context)
.extension<StackColors>()!
.accentColorDark
: Theme.of(context)
.extension<StackColors>()!
.accentColorDark
.withOpacity(0.8),
);
}
}

View file

@ -1,3 +1,5 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/flutter_svg.dart';
@ -53,10 +55,12 @@ class DesktopMyStackTitle extends ConsumerWidget {
SizedBox(
width: 32,
height: 32,
child: SvgPicture.asset(
ref.watch(
themeProvider.select(
(value) => value.assets.stackIcon,
child: SvgPicture.file(
File(
ref.watch(
themeProvider.select(
(value) => value.assets.stackIcon,
),
),
),
),

View file

@ -1,3 +1,5 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
@ -10,8 +12,8 @@ import 'package:stackwallet/providers/global/price_provider.dart';
import 'package:stackwallet/providers/global/wallets_provider.dart';
import 'package:stackwallet/providers/wallet/public_private_balance_state_provider.dart';
import 'package:stackwallet/services/coins/firo/firo_wallet.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/coin_icon_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/amount/amount.dart';
import 'package:stackwallet/utilities/barcode_scanner_interface.dart';
import 'package:stackwallet/utilities/clipboard_interface.dart';
@ -81,8 +83,10 @@ class _DesktopPaynymSendDialogState
// Theme.of(context).extension<StackColors>()!.textSubtitle4,
child: Row(
children: [
SvgPicture.asset(
ref.watch(coinIconProvider(coin)),
SvgPicture.file(
File(
ref.watch(coinIconProvider(coin)),
),
width: 36,
height: 36,
),

View file

@ -1,10 +1,12 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
import 'package:stackwallet/pages/wallets_view/wallets_overview.dart';
import 'package:stackwallet/providers/providers.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/coin_icon_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/amount/amount.dart';
import 'package:stackwallet/utilities/enums/coin_enum.dart';
import 'package:stackwallet/utilities/text_styles.dart';
@ -141,8 +143,10 @@ class _DesktopWalletSummaryRowState
flex: 4,
child: Row(
children: [
SvgPicture.asset(
ref.watch(coinIconProvider(widget.coin)),
SvgPicture.file(
File(
ref.watch(coinIconProvider(widget.coin)),
),
width: 28,
height: 28,
),

View file

@ -94,10 +94,12 @@ class _ForgotPasswordDesktopViewState
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
SvgPicture.asset(
ref.watch(
themeProvider.select(
(value) => value.assets.stackIcon,
SvgPicture.file(
File(
ref.watch(
themeProvider.select(
(value) => value.assets.stackIcon,
),
),
),
width: 100,

View file

@ -1,4 +1,5 @@
import 'dart:async';
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
@ -166,10 +167,12 @@ class _DesktopLoginViewState extends ConsumerState<DesktopLoginView> {
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
SvgPicture.asset(
ref.watch(
themeProvider.select(
(value) => value.assets.stackIcon,
SvgPicture.file(
File(
ref.watch(
themeProvider.select(
(value) => value.assets.stackIcon,
),
),
),
width: 100,

View file

@ -1,3 +1,5 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
@ -47,10 +49,12 @@ class _ForgotPasswordDesktopViewState
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
SvgPicture.asset(
ref.watch(
themeProvider.select(
(value) => value.assets.stackIcon,
SvgPicture.file(
File(
ref.watch(
themeProvider.select(
(value) => value.assets.stackIcon,
),
),
),
width: 100,

View file

@ -6,8 +6,8 @@ import 'package:flutter_svg/svg.dart';
import 'package:stackwallet/pages/settings_views/global_settings_view/manage_nodes_views/coin_nodes_view.dart';
import 'package:stackwallet/providers/providers.dart';
import 'package:stackwallet/route_generator.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/coin_icon_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/assets.dart';
import 'package:stackwallet/utilities/constants.dart';
import 'package:stackwallet/utilities/enums/coin_enum.dart';
@ -250,8 +250,10 @@ class _NodesSettings extends ConsumerState<NodesSettings> {
children: [
Row(
children: [
SvgPicture.asset(
ref.watch(coinIconProvider(coin)),
SvgPicture.file(
File(
ref.watch(coinIconProvider(coin)),
),
width: 24,
height: 24,
),

View file

@ -53,11 +53,11 @@ import 'package:uuid/uuid.dart';
const int MINIMUM_CONFIRMATIONS = 1;
final Amount DUST_LIMIT = Amount(
rawValue: BigInt.from(294),
fractionDigits: Coin.particl.decimals,
fractionDigits: Coin.bitcoin.decimals,
);
final Amount DUST_LIMIT_P2PKH = Amount(
rawValue: BigInt.from(546),
fractionDigits: Coin.particl.decimals,
fractionDigits: Coin.bitcoin.decimals,
);
const String GENESIS_HASH_MAINNET =

View file

@ -1,3 +1,5 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
@ -5,6 +7,7 @@ import 'package:stackwallet/models/contact.dart';
import 'package:stackwallet/pages/address_book_views/subviews/contact_popup.dart';
import 'package:stackwallet/providers/global/address_book_service_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/themes/theme_providers.dart';
import 'package:stackwallet/utilities/assets.dart';
import 'package:stackwallet/utilities/constants.dart';
import 'package:stackwallet/utilities/enums/coin_enum.dart';
@ -14,8 +17,6 @@ import 'package:stackwallet/widgets/conditional_parent.dart';
import 'package:stackwallet/widgets/expandable.dart';
import 'package:stackwallet/widgets/rounded_white_container.dart';
import '../themes/theme_providers.dart';
class AddressBookCard extends ConsumerStatefulWidget {
const AddressBookCard({
Key? key,
@ -92,10 +93,12 @@ class _AddressBookCardState extends ConsumerState<AddressBookCard> {
),
child: contact.id == "default"
? Center(
child: SvgPicture.asset(
ref.watch(
themeProvider.select(
(value) => value.assets.stackIcon,
child: SvgPicture.file(
File(
ref.watch(
themeProvider.select(
(value) => value.assets.stackIcon,
),
),
),
width: 20,

View file

@ -1,3 +1,5 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/flutter_svg.dart';
@ -47,10 +49,12 @@ class _LivingStackIconState extends ConsumerState<LivingStackIcon> {
child: AnimatedScale(
duration: const Duration(milliseconds: 200),
scale: _hovering ? 1.2 : 1,
child: SvgPicture.asset(
ref.watch(
themeProvider.select(
(value) => value.assets.stackIcon,
child: SvgPicture.file(
File(
ref.watch(
themeProvider.select(
(value) => value.assets.stackIcon,
),
),
),
),

View file

@ -343,14 +343,9 @@ flutter:
# exchange icons
- assets/svg/exchange_icons/
# theme selectors
# - assets/svg/dark-theme.svg
# - assets/svg/light-mode.svg
# buy
- assets/svg/buy/
# lottie animations
# basic
- assets/lottie/test2.json