From 98514ea07c9ca19fa50b7614683de1aff496bcb8 Mon Sep 17 00:00:00 2001 From: redDwarf03 Date: Tue, 8 Oct 2024 11:48:15 +0200 Subject: [PATCH] fix: :bug: Bugs fixing --- .../aeswap_farm_lock_claim/bloc/provider.dart | 2 + .../bloc/provider.dart | 2 + .../bloc/provider.dart | 2 + .../bloc/provider.dart | 2 + .../layouts/components/token_detail_menu.dart | 50 +++++++++---------- 5 files changed, 31 insertions(+), 27 deletions(-) diff --git a/lib/ui/views/aeswap_farm_lock_claim/bloc/provider.dart b/lib/ui/views/aeswap_farm_lock_claim/bloc/provider.dart index df2f663a1..2519d18b0 100644 --- a/lib/ui/views/aeswap_farm_lock_claim/bloc/provider.dart +++ b/lib/ui/views/aeswap_farm_lock_claim/bloc/provider.dart @@ -169,6 +169,8 @@ class FarmLockClaimFormNotifier extends _$FarmLockClaimFormNotifier { state.rewardToken!, ); + ref.invalidate(userBalanceProvider); + return true; } } diff --git a/lib/ui/views/aeswap_farm_lock_deposit/bloc/provider.dart b/lib/ui/views/aeswap_farm_lock_deposit/bloc/provider.dart index c29e40b17..c062adffd 100644 --- a/lib/ui/views/aeswap_farm_lock_deposit/bloc/provider.dart +++ b/lib/ui/views/aeswap_farm_lock_deposit/bloc/provider.dart @@ -274,6 +274,8 @@ class FarmLockDepositFormNotifier extends _$FarmLockDepositFormNotifier { state.level, ); + ref.invalidate(userBalanceProvider); + return true; } } diff --git a/lib/ui/views/aeswap_farm_lock_level_up/bloc/provider.dart b/lib/ui/views/aeswap_farm_lock_level_up/bloc/provider.dart index e61b04e2b..e5f8156f2 100644 --- a/lib/ui/views/aeswap_farm_lock_level_up/bloc/provider.dart +++ b/lib/ui/views/aeswap_farm_lock_level_up/bloc/provider.dart @@ -251,6 +251,8 @@ class FarmLockLevelUpFormNotifier extends _$FarmLockLevelUpFormNotifier { state.level, ); + ref.invalidate(userBalanceProvider); + return true; } } diff --git a/lib/ui/views/aeswap_farm_lock_withdraw/bloc/provider.dart b/lib/ui/views/aeswap_farm_lock_withdraw/bloc/provider.dart index a84731c39..4c7d82be6 100644 --- a/lib/ui/views/aeswap_farm_lock_withdraw/bloc/provider.dart +++ b/lib/ui/views/aeswap_farm_lock_withdraw/bloc/provider.dart @@ -244,6 +244,8 @@ class FarmLockWithdrawFormNotifier extends _$FarmLockWithdrawFormNotifier { state.rewardToken!, ); + ref.invalidate(userBalanceProvider); + return true; } } diff --git a/lib/ui/views/tokens_detail/layouts/components/token_detail_menu.dart b/lib/ui/views/tokens_detail/layouts/components/token_detail_menu.dart index 5a066aa82..e82bbfc72 100644 --- a/lib/ui/views/tokens_detail/layouts/components/token_detail_menu.dart +++ b/lib/ui/views/tokens_detail/layouts/components/token_detail_menu.dart @@ -1,16 +1,17 @@ +import 'dart:convert'; + import 'package:aewallet/application/account/providers.dart'; import 'package:aewallet/application/connectivity_status.dart'; -import 'package:aewallet/application/dapps.dart'; import 'package:aewallet/application/farm_apr.dart'; import 'package:aewallet/application/settings/settings.dart'; -import 'package:aewallet/domain/models/dapp.dart'; +import 'package:aewallet/ui/views/aeswap_earn/bloc/provider.dart'; +import 'package:aewallet/ui/views/aeswap_farm_lock_deposit/layouts/farm_lock_deposit_sheet.dart'; import 'package:aewallet/ui/views/receive/receive_modal.dart'; import 'package:aewallet/ui/views/transfer/bloc/state.dart'; import 'package:aewallet/ui/views/transfer/layouts/transfer_sheet.dart'; import 'package:aewallet/ui/widgets/components/action_button.dart'; import 'package:aewallet/util/get_it_instance.dart'; import 'package:aewallet/util/haptic_util.dart'; -import 'package:aewallet/util/universal_platform.dart'; import 'package:archethic_dapp_framework_flutter/archethic_dapp_framework_flutter.dart' as aedappfm; import 'package:archethic_lib_dart/archethic_lib_dart.dart'; @@ -43,6 +44,8 @@ class TokenDetailMenu extends ConsumerWidget { final preferences = ref.watch(SettingsProviders.settings); final connectivityStatusProvider = ref.watch(connectivityStatusProviders); final apr = ref.watch(FarmAPRProviders.farmAPR); + final farmLock = ref.watch(farmLockFormFarmLockProvider).value; + final pool = ref.watch(farmLockFormPoolProvider).value; if (accountSelected == null) return const SizedBox(); @@ -175,38 +178,31 @@ class TokenDetailMenu extends ConsumerWidget { ConnectivityStatus.isConnected ? ActionButton( text: - '${localizations.tokenDetailMenuEarn.replaceFirst('%1', apr)}\nAPR', + '${localizations.tokenDetailMenuEarn.replaceFirst('%1', apr)}\nUCO', icon: aedappfm.Iconsax.wallet_add, + enabled: pool != null && farmLock != null, onTap: () async { sl.get().feedback( FeedbackType.light, preferences.activeVibrations, ); - final networkSettings = ref.watch( - SettingsProviders.settings.select( - (settings) => settings.network, - ), + final poolJson = jsonEncode(pool!.toJson()); + final poolEncoded = + Uri.encodeComponent(poolJson); + final farmLockJson = + jsonEncode(farmLock!.toJson()); + final farmLockEncoded = + Uri.encodeComponent(farmLockJson); + await context.push( + Uri( + path: FarmLockDepositSheet.routerPage, + queryParameters: { + 'pool': poolEncoded, + 'farmLock': farmLockEncoded, + }, + ).toString(), ); - - final connectivityStatusProvider = - ref.watch(connectivityStatusProviders); - DApp? dapp; - if (connectivityStatusProvider == - ConnectivityStatus.isConnected) { - dapp = await ref.read( - DAppsProviders.getDApp( - networkSettings.network, - 'aeSwap/earn', - ).future, - ); - } - - if (UniversalPlatform.isDesktopOrWeb) { - await launchUrl(Uri.parse(dapp!.url)); - } else { - // TODO(Reddwarf03): Webview - } }, ) .animate()