Removed manual syncWith/reset calls and added an update in PaymentFlowProvider
This commit is contained in:
@@ -14,7 +14,6 @@ import 'package:pshared/provider/recipient/provider.dart';
|
||||
import 'package:pshared/models/payment/wallet.dart';
|
||||
import 'package:pshared/provider/payment/wallets.dart';
|
||||
|
||||
|
||||
import 'package:pweb/pages/payment_methods/payment_page/body.dart';
|
||||
import 'package:pweb/widgets/sidebar/destinations.dart';
|
||||
import 'package:pweb/services/posthog.dart';
|
||||
@@ -59,14 +58,8 @@ class _PaymentPageState extends State<PaymentPage> {
|
||||
void _initializePaymentPage() {
|
||||
final flowProvider = context.read<PaymentFlowProvider>();
|
||||
final methodsProvider = context.read<PaymentMethodsProvider>();
|
||||
_handleWalletAutoSelection(methodsProvider, flowProvider);
|
||||
|
||||
final recipient = context.read<RecipientsProvider>().currentObject;
|
||||
flowProvider.syncWith(
|
||||
recipient: recipient,
|
||||
methodsProvider: methodsProvider,
|
||||
preferredType: widget.initialPaymentType,
|
||||
);
|
||||
flowProvider.setPreferredType(widget.initialPaymentType);
|
||||
_handleWalletAutoSelection(methodsProvider);
|
||||
}
|
||||
|
||||
void _handleSearchChanged(String query) {
|
||||
@@ -74,30 +67,14 @@ class _PaymentPageState extends State<PaymentPage> {
|
||||
}
|
||||
|
||||
void _handleRecipientSelected(Recipient recipient) {
|
||||
final flowProvider = context.read<PaymentFlowProvider>();
|
||||
final recipientProvider = context.read<RecipientsProvider>();
|
||||
final methodsProvider = context.read<PaymentMethodsProvider>();
|
||||
|
||||
recipientProvider.setCurrentObject(recipient.id);
|
||||
flowProvider.reset(
|
||||
recipient: recipient,
|
||||
methodsProvider: methodsProvider,
|
||||
preferredType: widget.initialPaymentType,
|
||||
);
|
||||
_clearSearchField();
|
||||
}
|
||||
|
||||
void _handleRecipientCleared() {
|
||||
final flowProvider = context.read<PaymentFlowProvider>();
|
||||
final recipientProvider = context.read<RecipientsProvider>();
|
||||
final methodsProvider = context.read<PaymentMethodsProvider>();
|
||||
|
||||
recipientProvider.setCurrentObject(null);
|
||||
flowProvider.reset(
|
||||
recipient: null,
|
||||
methodsProvider: methodsProvider,
|
||||
preferredType: widget.initialPaymentType,
|
||||
);
|
||||
_clearSearchField();
|
||||
}
|
||||
|
||||
@@ -129,13 +106,6 @@ class _PaymentPageState extends State<PaymentPage> {
|
||||
final recipient = context.select<RecipientsProvider, Recipient?>(
|
||||
(provider) => provider.currentObject,
|
||||
);
|
||||
final flowProvider = context.watch<PaymentFlowProvider>();
|
||||
|
||||
flowProvider.syncWith(
|
||||
recipient: recipient,
|
||||
methodsProvider: methodsProvider,
|
||||
preferredType: recipient != null ? widget.initialPaymentType : null,
|
||||
);
|
||||
|
||||
return PaymentPageBody(
|
||||
onBack: widget.onBack,
|
||||
@@ -152,18 +122,13 @@ class _PaymentPageState extends State<PaymentPage> {
|
||||
);
|
||||
}
|
||||
|
||||
void _handleWalletAutoSelection(PaymentMethodsProvider methodsProvider, PaymentFlowProvider flowProvider) {
|
||||
void _handleWalletAutoSelection(PaymentMethodsProvider methodsProvider) {
|
||||
final wallet = context.read<WalletsProvider>().selectedWallet;
|
||||
if (wallet == null) return;
|
||||
|
||||
final matchingMethod = _getPaymentMethodForWallet(wallet, methodsProvider);
|
||||
if (matchingMethod != null) {
|
||||
methodsProvider.setCurrentObject(matchingMethod.id);
|
||||
flowProvider.syncWith(
|
||||
recipient: context.read<RecipientsProvider>().currentObject,
|
||||
methodsProvider: methodsProvider,
|
||||
preferredType: widget.initialPaymentType,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user