From 7fb413fd9b8936d00acbf595879962a0353feed4 Mon Sep 17 00:00:00 2001 From: Arseni Date: Tue, 13 Jan 2026 16:04:38 +0300 Subject: [PATCH] Moved the payment flow providers from the global level into the payout shell Try to rebase --- .../pweb/lib/app/router/payout_shell.dart | 38 ++++++++++++++++++- frontend/pweb/lib/main.dart | 35 +---------------- 2 files changed, 38 insertions(+), 35 deletions(-) diff --git a/frontend/pweb/lib/app/router/payout_shell.dart b/frontend/pweb/lib/app/router/payout_shell.dart index 12834f8..344f651 100644 --- a/frontend/pweb/lib/app/router/payout_shell.dart +++ b/frontend/pweb/lib/app/router/payout_shell.dart @@ -6,7 +6,13 @@ import 'package:provider/provider.dart'; import 'package:pshared/models/payment/type.dart'; import 'package:pshared/models/recipient/recipient.dart'; +import 'package:pshared/provider/organizations.dart'; +import 'package:pshared/provider/payment/amount.dart'; +import 'package:pshared/provider/payment/flow.dart'; +import 'package:pshared/provider/payment/provider.dart'; +import 'package:pshared/provider/payment/quotation.dart'; import 'package:pshared/provider/recipient/provider.dart'; +import 'package:pshared/provider/recipient/pmethods.dart'; import 'package:pweb/app/router/pages.dart'; import 'package:pweb/app/router/payout_routes.dart'; @@ -30,10 +36,40 @@ import 'package:pweb/generated/i18n/app_localizations.dart'; RouteBase payoutShellRoute() => ShellRoute( - builder: (context, state, child) => PageSelector( + builder: (context, state, child) => MultiProvider( + providers: [ + ChangeNotifierProxyProvider2( + create: (_) => PaymentMethodsProvider(), + update: (context, organizations, recipients, provider) => provider!..updateProviders(organizations, recipients), + ), + ChangeNotifierProxyProvider2( + create: (_) => PaymentFlowProvider(initialType: PaymentType.bankAccount), + update: (context, recipients, methods, provider) => provider!..update( + recipients, + methods, + ), + ), + ChangeNotifierProvider( + create: (_) => PaymentAmountProvider(), + ), + ChangeNotifierProxyProvider6( + create: (_) => QuotationProvider(), + update: (_, organization, payment, wallet, flow, recipients, methods, provider) => + provider!..update(organization, payment, wallet, flow, recipients, methods), + ), + ChangeNotifierProxyProvider2( + create: (_) => PaymentProvider(), + update: (context, organization, quotation, provider) => provider!..update( + organization, + quotation, + ), + ), + ], + child: PageSelector( child: child, routerState: state, ), + ), routes: [ GoRoute( name: PayoutRoutes.dashboard, diff --git a/frontend/pweb/lib/main.dart b/frontend/pweb/lib/main.dart index b7c85e6..3de6d0e 100644 --- a/frontend/pweb/lib/main.dart +++ b/frontend/pweb/lib/main.dart @@ -13,15 +13,9 @@ import 'package:pshared/provider/permissions.dart'; import 'package:pshared/provider/account.dart'; import 'package:pshared/provider/organizations.dart'; import 'package:pshared/provider/accounts/employees.dart'; -import 'package:pshared/provider/payment/amount.dart'; -import 'package:pshared/provider/payment/flow.dart'; -import 'package:pshared/provider/payment/provider.dart'; -import 'package:pshared/provider/payment/quotation.dart'; import 'package:pshared/provider/recipient/provider.dart'; -import 'package:pshared/provider/recipient/pmethods.dart'; import 'package:pshared/provider/payment/wallets.dart'; import 'package:pshared/provider/invitations.dart'; -import 'package:pshared/models/payment/type.dart'; import 'package:pshared/service/payment/wallets.dart'; import 'package:pweb/app/app.dart'; @@ -91,10 +85,6 @@ void main() async { create: (_) => InvitationsProvider(), update: (context, organizations, provider) => provider!..updateProviders(organizations), ), - ChangeNotifierProxyProvider2( - create: (_) => PaymentMethodsProvider(), - update: (context, organizations, recipients, provider) => provider!..updateProviders(organizations, recipients), - ), ChangeNotifierProxyProvider( create: (_) => WalletsProvider(ApiWalletsService()), update: (context, organizations, provider) => provider!..update(organizations), @@ -102,35 +92,12 @@ void main() async { ChangeNotifierProvider( create: (_) => WalletTransactionsProvider(MockWalletTransactionsService())..load(), ), - ChangeNotifierProxyProvider2( - create: (_) => PaymentFlowProvider(initialType: PaymentType.bankAccount), - update: (context, recipients, methods, provider) => provider!..update( - recipients, - methods, - ), - ), - ChangeNotifierProvider( create: (_) => OperationProvider(OperationService())..loadOperations(), ), - ChangeNotifierProvider( - create: (_) => PaymentAmountProvider(), - ), - ChangeNotifierProxyProvider6( - create: (_) => QuotationProvider(), - update: (_, organization, payment, wallet, flow, recipients, methods, provider) => - provider!..update(organization, payment, wallet, flow, recipients, methods), - ), - ChangeNotifierProxyProvider2( - create: (_) => PaymentProvider(), - update: (context, organization, quotation, provider) => provider!..update( - organization, - quotation, - ), - ), ], child: const PayApp(), ), ); -} +} \ No newline at end of file -- 2.49.1