diff --git a/asset_sources/default_themes/campfire/light.zip b/asset_sources/default_themes/campfire/light.zip index 22aabf120..029293bbc 100644 Binary files a/asset_sources/default_themes/campfire/light.zip and b/asset_sources/default_themes/campfire/light.zip differ diff --git a/lib/app_config.dart b/lib/app_config.dart index 64ce682fa..5f9a95829 100644 --- a/lib/app_config.dart +++ b/lib/app_config.dart @@ -15,6 +15,8 @@ abstract class AppConfig { static const prefix = _prefix; static const suffix = _suffix; + static const emptyWalletsMessage = _emptyWalletsMessage; + static String get appDefaultDataDirName => _appDataDirName; static String get shortDescriptionText => _shortDescriptionText; static String get commitHash => _commitHash; diff --git a/lib/pages/add_wallet_views/frost_ms/new/steps/frost_create_step_5.dart b/lib/pages/add_wallet_views/frost_ms/new/steps/frost_create_step_5.dart index 8f2e87fb0..4640e0abb 100644 --- a/lib/pages/add_wallet_views/frost_ms/new/steps/frost_create_step_5.dart +++ b/lib/pages/add_wallet_views/frost_ms/new/steps/frost_create_step_5.dart @@ -4,6 +4,7 @@ import 'dart:typed_data'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import '../../../../../app_config.dart'; import '../../../../../frost_route_generator.dart'; import '../../../../../notifications/show_flush_bar.dart'; import '../../../../../pages_desktop_specific/desktop_home_view.dart'; @@ -45,7 +46,7 @@ class _FrostCreateStep5State extends ConsumerState { static const _warning = "These are your private keys. Please back them up, " "keep them safe and never share it with anyone. Your private keys are the" " only way you can access your funds if you forget PIN, lose your phone, " - "etc. Stack Wallet does not keep nor is able to restore your private keys" + "etc. ${AppConfig.prefix} does not keep nor is able to restore your private keys" "."; late final String seed, recoveryString, serializedKeys, multisigConfig; diff --git a/lib/pages/add_wallet_views/new_wallet_recovery_phrase_warning_view/new_wallet_recovery_phrase_warning_view.dart b/lib/pages/add_wallet_views/new_wallet_recovery_phrase_warning_view/new_wallet_recovery_phrase_warning_view.dart index 2c1a248e7..c1544fea3 100644 --- a/lib/pages/add_wallet_views/new_wallet_recovery_phrase_warning_view/new_wallet_recovery_phrase_warning_view.dart +++ b/lib/pages/add_wallet_views/new_wallet_recovery_phrase_warning_view/new_wallet_recovery_phrase_warning_view.dart @@ -17,6 +17,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:tuple/tuple.dart'; +import '../../../app_config.dart'; import '../../../pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart'; import '../../../providers/db/main_db_provider.dart'; import '../../../providers/global/secure_store_provider.dart'; @@ -427,7 +428,7 @@ class _NewWalletRecoveryPhraseWarningViewState ), Flexible( child: Text( - "I understand that Stack Wallet does not keep and cannot restore my recovery phrase, and If I lose my recovery phrase, I will not be able to access my funds.", + "I understand that ${AppConfig.appName} does not keep and cannot restore my recovery phrase, and If I lose my recovery phrase, I will not be able to access my funds.", style: isDesktop ? STextStyles.desktopTextMedium( context, diff --git a/lib/pages/intro_view.dart b/lib/pages/intro_view.dart index 27e694ff4..27e1fea48 100644 --- a/lib/pages/intro_view.dart +++ b/lib/pages/intro_view.dart @@ -49,6 +49,8 @@ class _IntroViewState extends ConsumerState { @override Widget build(BuildContext context) { debugPrint("BUILD: $runtimeType "); + final stack = + ref.watch(themeProvider.select((value) => value.assets.stack)); return Background( child: Scaffold( backgroundColor: Theme.of(context).extension()!.background, @@ -68,16 +70,22 @@ class _IntroViewState extends ConsumerState { constraints: const BoxConstraints( maxWidth: 300, ), - child: SvgPicture.file( - File( - ref.watch( - themeProvider.select( - (value) => value.assets.stack, - ), - ), - ), + child: SizedBox( width: isDesktop ? 324 : 266, height: isDesktop ? 324 : 266, + child: (stack.endsWith(".png")) + ? Image.file( + File( + stack, + ), + ) + : SvgPicture.file( + File( + stack, + ), + width: isDesktop ? 324 : 266, + height: isDesktop ? 324 : 266, + ), ), ), ), diff --git a/lib/pages/settings_views/global_settings_view/advanced_views/debug_view.dart b/lib/pages/settings_views/global_settings_view/advanced_views/debug_view.dart index 518cf32da..81297430e 100644 --- a/lib/pages/settings_views/global_settings_view/advanced_views/debug_view.dart +++ b/lib/pages/settings_views/global_settings_view/advanced_views/debug_view.dart @@ -24,6 +24,7 @@ import 'package:flutter_svg/svg.dart'; import 'package:lelantus/git_versions.dart' as FIRO_VERSIONS; import 'package:package_info_plus/package_info_plus.dart'; +import '../../../../app_config.dart'; import '../../../../models/isar/models/log.dart'; import '../../../../notifications/show_flush_bar.dart'; import '../../../../providers/global/debug_service_provider.dart'; @@ -421,7 +422,7 @@ class _DebugViewState extends ConsumerState { }, child: CustomLoadingOverlay( message: - "Generating Stack logs file", + "Generating ${AppConfig.prefix} logs file", eventBus: eventBus, ), ), diff --git a/lib/pages/settings_views/global_settings_view/advanced_views/manage_explorer_view.dart b/lib/pages/settings_views/global_settings_view/advanced_views/manage_explorer_view.dart index a50568e52..1260aa70d 100644 --- a/lib/pages/settings_views/global_settings_view/advanced_views/manage_explorer_view.dart +++ b/lib/pages/settings_views/global_settings_view/advanced_views/manage_explorer_view.dart @@ -11,6 +11,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import '../../../../app_config.dart'; import '../../../../themes/stack_colors.dart'; import '../../../../utilities/block_explorers.dart'; import '../../../../utilities/text_styles.dart'; @@ -91,7 +92,7 @@ class _ManageExplorerViewState extends ConsumerState { "every block explorer has a slightly different URL " "scheme.\n\nPaste in your block explorer of choice," " then edit in [TXID] where the transaction ID " - "should go, and Stack Wallet will auto fill the " + "should go, and ${AppConfig.appName} will auto fill the " "transaction ID in that place of URL.", style: STextStyles.itemSubtitle(context), ), diff --git a/lib/pages/stack_privacy_calls.dart b/lib/pages/stack_privacy_calls.dart index 52b5323c6..8aa34c811 100644 --- a/lib/pages/stack_privacy_calls.dart +++ b/lib/pages/stack_privacy_calls.dart @@ -15,6 +15,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; +import '../app_config.dart'; import '../db/hive/db.dart'; import '../pages_desktop_specific/password/create_password_view.dart'; import '../providers/global/prefs_provider.dart'; @@ -108,7 +109,7 @@ class _StackPrivacyCalls extends ConsumerState { mainAxisAlignment: MainAxisAlignment.center, children: [ Text( - "Choose your Stack experience", + "Choose your ${AppConfig.prefix} experience", style: isDesktop ? STextStyles.desktopH2(context) : STextStyles.pageTitleH1(context), @@ -253,10 +254,12 @@ class _StackPrivacyCalls extends ConsumerState { ) .then((_) { if (isEasy) { - unawaited( - ExchangeDataLoadingService.instance - .loadAll(), - ); + if (AppConfig.hasFeature(AppFeature.swap)) { + unawaited( + ExchangeDataLoadingService.instance + .loadAll(), + ); + } // unawaited( // BuyDataLoadingService().loadAll(ref)); ref diff --git a/lib/pages/wallets_view/sub_widgets/empty_wallets.dart b/lib/pages/wallets_view/sub_widgets/empty_wallets.dart index 53581c2f8..c9a59005f 100644 --- a/lib/pages/wallets_view/sub_widgets/empty_wallets.dart +++ b/lib/pages/wallets_view/sub_widgets/empty_wallets.dart @@ -33,6 +33,9 @@ class EmptyWallets extends ConsumerWidget { final isDesktop = Util.isDesktop; + final stack = + ref.watch(themeProvider.select((value) => value.assets.stack)); + return SafeArea( child: Padding( padding: const EdgeInsets.symmetric( @@ -47,21 +50,28 @@ class EmptyWallets extends ConsumerWidget { const Spacer( flex: 2, ), - SvgPicture.file( - File( - ref.watch( - themeProvider.select( - (value) => value.assets.stack, - ), - ), - ), + SizedBox( width: isDesktop ? 324 : MediaQuery.of(context).size.width / 3, + child: (stack.endsWith(".png")) + ? Image.file( + File( + stack, + ), + ) + : SvgPicture.file( + File( + stack, + ), + width: isDesktop + ? 324 + : MediaQuery.of(context).size.width / 3, + ), ), SizedBox( height: isDesktop ? 30 : 16, ), Text( - "You do not have any wallets yet. Start building your crypto Stack!", + AppConfig.emptyWalletsMessage, textAlign: TextAlign.center, style: isDesktop ? STextStyles.desktopSubtitleH2(context).copyWith( diff --git a/lib/pages_desktop_specific/password/forgotten_passphrase_restore_from_swb.dart b/lib/pages_desktop_specific/password/forgotten_passphrase_restore_from_swb.dart index 173840528..26b42941d 100644 --- a/lib/pages_desktop_specific/password/forgotten_passphrase_restore_from_swb.dart +++ b/lib/pages_desktop_specific/password/forgotten_passphrase_restore_from_swb.dart @@ -245,7 +245,7 @@ class _ForgottenPassphraseRestoreFromSWBState height: 32, ), Text( - "Use your Stack wallet backup file to restore your wallets, address book, and wallet preferences.", + "Use your Stack backup file to restore your wallets, address book, and wallet preferences.", textAlign: TextAlign.center, style: STextStyles.desktopTextSmall(context).copyWith( color: Theme.of(context) diff --git a/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/desktop_manage_block_explorers_dialog.dart b/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/desktop_manage_block_explorers_dialog.dart index e69f90833..41e65e9d7 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/desktop_manage_block_explorers_dialog.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/desktop_manage_block_explorers_dialog.dart @@ -226,9 +226,9 @@ class _DesktopEditBlockExplorerDialogState " every block explorer has a slightly different URL scheme." "\n\n" "Paste in your block explorer of choice, then edit in" - " [TXID] where the transaction ID should go, and Stack" - " Wallet will auto fill the transaction ID in that place" - " of the URL.", + " [TXID] where the transaction ID should go, and " + "${AppConfig.appName} will auto fill the transaction" + " ID in that place of the URL.", style: STextStyles.desktopTextExtraExtraSmall(context), ), ), diff --git a/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/stack_privacy_dialog.dart b/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/stack_privacy_dialog.dart index 20a9d9e62..1cba43b0a 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/stack_privacy_dialog.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/advanced_settings/stack_privacy_dialog.dart @@ -15,6 +15,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; +import '../../../../app_config.dart'; import '../../../../db/hive/db.dart'; import '../../../../providers/global/prefs_provider.dart'; import '../../../../providers/global/price_provider.dart'; @@ -69,7 +70,7 @@ class _StackPrivacyDialog extends ConsumerState { Padding( padding: const EdgeInsets.all(32), child: Text( - "Choose Your Stack Experience", + "Choose Your ${AppConfig.prefix} Experience", style: STextStyles.desktopH3(context), textAlign: TextAlign.center, ), @@ -192,9 +193,11 @@ class _StackPrivacyDialog extends ConsumerState { ) .then((_) { if (isEasy) { - unawaited( - ExchangeDataLoadingService.instance.loadAll(), - ); + if (AppConfig.hasFeature(AppFeature.swap)) { + unawaited( + ExchangeDataLoadingService.instance.loadAll(), + ); + } ref .read(priceAnd24hChangeNotifierProvider) .start(true); diff --git a/lib/pages_desktop_specific/settings/settings_menu/syncing_preferences_settings.dart b/lib/pages_desktop_specific/settings/settings_menu/syncing_preferences_settings.dart index a384ffacf..5b84bb812 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/syncing_preferences_settings.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/syncing_preferences_settings.dart @@ -12,6 +12,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/svg.dart'; +import '../../../app_config.dart'; import '../../../pages/settings_views/global_settings_view/syncing_preferences_views/syncing_options_view.dart'; import '../../../providers/global/prefs_provider.dart'; import '../../../themes/stack_colors.dart'; @@ -115,7 +116,7 @@ class _SyncingPreferencesSettings ), TextSpan( text: - "\n\nSet up your syncing preferences for all wallets in your Stack.", + "\n\nSet up your syncing preferences for all wallets in your ${AppConfig.prefix}.", style: STextStyles.desktopTextExtraExtraSmall( context, ), diff --git a/lib/themes/theme_service.dart b/lib/themes/theme_service.dart index cf4528719..f54cddb35 100644 --- a/lib/themes/theme_service.dart +++ b/lib/themes/theme_service.dart @@ -31,7 +31,7 @@ final pThemeService = Provider((ref) { }); class ThemeService { - static const _currentDefaultThemeVersion = 10; + static const _currentDefaultThemeVersion = 11; ThemeService._(); static ThemeService? _instance; static ThemeService get instance => _instance ??= ThemeService._(); diff --git a/lib/utilities/default_nodes.dart b/lib/utilities/default_nodes.dart index 93872aeef..da12b825c 100644 --- a/lib/utilities/default_nodes.dart +++ b/lib/utilities/default_nodes.dart @@ -8,11 +8,12 @@ * */ +import '../app_config.dart'; import '../wallets/crypto_currency/crypto_currency.dart'; abstract class DefaultNodes { static const String defaultNodeIdPrefix = "default_"; static String buildId(CryptoCurrency cryptoCurrency) => "$defaultNodeIdPrefix${cryptoCurrency.identifier}"; - static const String defaultName = "Stack Default"; + static const String defaultName = "${AppConfig.prefix} Default"; } diff --git a/pubspec.lock b/pubspec.lock index 7a25ed30b..92540b4b2 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -287,21 +287,23 @@ packages: source: hosted version: "4.6.0" coinlib: - dependency: transitive + dependency: "direct overridden" description: - name: coinlib - sha256: "44aa3f7b07d3b03d58353e7657f43cdaf76a70ad2cce5bdac9306208099d8df5" - url: "https://pub.dev" - source: hosted - version: "2.0.0" + path: coinlib + ref: b88e68e2e10ffe54d802deeed6b9e83da7721a1f + resolved-ref: b88e68e2e10ffe54d802deeed6b9e83da7721a1f + url: "https://github.com/peercoin/coinlib.git" + source: git + version: "2.1.0-rc.1" coinlib_flutter: dependency: "direct main" description: - name: coinlib_flutter - sha256: b352378773158dbaec37bd542c297682f3812f9881acb676971f0f4c5893631f - url: "https://pub.dev" - source: hosted - version: "2.0.0" + path: coinlib_flutter + ref: b88e68e2e10ffe54d802deeed6b9e83da7721a1f + resolved-ref: b88e68e2e10ffe54d802deeed6b9e83da7721a1f + url: "https://github.com/peercoin/coinlib.git" + source: git + version: "2.1.0-rc.1" collection: dependency: transitive description: @@ -1588,8 +1590,8 @@ packages: dependency: "direct main" description: path: "packages/solana" - ref: a83e375678eb22fe544dc125d29bbec0fb833882 - resolved-ref: a83e375678eb22fe544dc125d29bbec0fb833882 + ref: "706be5f166d31736c443cca4cd311b7fcfc2a9bf" + resolved-ref: "706be5f166d31736c443cca4cd311b7fcfc2a9bf" url: "https://github.com/cypherstack/espresso-cash-public.git" source: git version: "0.30.4" diff --git a/scripts/app_config/configure_campfire.sh b/scripts/app_config/configure_campfire.sh index 9033255d9..ae6bba36d 100755 --- a/scripts/app_config/configure_campfire.sh +++ b/scripts/app_config/configure_campfire.sh @@ -43,6 +43,8 @@ part of 'app_config.dart'; const _prefix = "Campfire"; const _separator = ""; const _suffix = ""; +const _emptyWalletsMessage = + "Join us around the Campfire and create a wallet!"; const _appDataDirName = "campfire"; const _shortDescriptionText = "Your privacy. Your wallet. Your Firo."; const _commitHash = "$BUILT_COMMIT_HASH"; diff --git a/scripts/app_config/configure_stack_duo.sh b/scripts/app_config/configure_stack_duo.sh index 135d03958..143faf644 100755 --- a/scripts/app_config/configure_stack_duo.sh +++ b/scripts/app_config/configure_stack_duo.sh @@ -37,6 +37,8 @@ part of 'app_config.dart'; const _prefix = "Stack"; const _separator = " "; const _suffix = "Duo"; +const _emptyWalletsMessage = + "You do not have any wallets yet. Start building your crypto Stack!"; const _appDataDirName = "stackduo"; const _shortDescriptionText = "An open-source, multicoin wallet for everyone"; const _commitHash = "$BUILT_COMMIT_HASH"; diff --git a/scripts/app_config/configure_stack_wallet.sh b/scripts/app_config/configure_stack_wallet.sh index 2c798e53f..7f7c51ab7 100755 --- a/scripts/app_config/configure_stack_wallet.sh +++ b/scripts/app_config/configure_stack_wallet.sh @@ -37,6 +37,8 @@ part of 'app_config.dart'; const _prefix = "Stack"; const _separator = " "; const _suffix = "Wallet"; +const _emptyWalletsMessage = + "You do not have any wallets yet. Start building your crypto Stack!"; const _appDataDirName = "stackwallet"; const _shortDescriptionText = "An open-source, multicoin wallet for everyone"; const _commitHash = "$BUILT_COMMIT_HASH";