From 85b780b57ec0452254c0bde9d75c221f00c6a101 Mon Sep 17 00:00:00 2001 From: Stephan D Date: Tue, 25 Nov 2025 17:45:47 +0100 Subject: [PATCH] check other approach --- frontend/pweb/lib/main.dart | 8 ++------ frontend/pweb/lib/pages/2fa/page.dart | 7 +++---- frontend/pweb/lib/providers/two_factor.dart | 7 +++++-- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/frontend/pweb/lib/main.dart b/frontend/pweb/lib/main.dart index f3b2716..baad468 100644 --- a/frontend/pweb/lib/main.dart +++ b/frontend/pweb/lib/main.dart @@ -57,12 +57,8 @@ void main() async { ChangeNotifierProvider(create: (_) => LocaleProvider(null)), ChangeNotifierProvider(create: (_) => AccountProvider()), ChangeNotifierProxyProvider( - create: (context) => TwoFactorProvider( - accountProvider: context.read(), - ), - update: (context, accountProvider, previous) => TwoFactorProvider( - accountProvider: accountProvider, - ), + create: (_) => TwoFactorProvider(), + update: (context, accountProvider, provider) => provider!..update(accountProvider), ), ChangeNotifierProvider(create: (_) => OrganizationsProvider()), ChangeNotifierProvider(create: (_) => CarouselIndexProvider()), diff --git a/frontend/pweb/lib/pages/2fa/page.dart b/frontend/pweb/lib/pages/2fa/page.dart index 05c9b77..f4be4a0 100644 --- a/frontend/pweb/lib/pages/2fa/page.dart +++ b/frontend/pweb/lib/pages/2fa/page.dart @@ -1,15 +1,14 @@ import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; + import 'package:pweb/pages/2fa/error_message.dart'; import 'package:pweb/pages/2fa/input.dart'; import 'package:pweb/pages/2fa/prompt.dart'; import 'package:pweb/pages/2fa/resend.dart'; - -import 'package:pweb/generated/i18n/app_localizations.dart'; - -import 'package:provider/provider.dart'; import 'package:pweb/providers/two_factor.dart'; +import 'package:pweb/generated/i18n/app_localizations.dart'; class TwoFactorCodePage extends StatelessWidget { diff --git a/frontend/pweb/lib/providers/two_factor.dart b/frontend/pweb/lib/providers/two_factor.dart index 28327cb..df96904 100644 --- a/frontend/pweb/lib/providers/two_factor.dart +++ b/frontend/pweb/lib/providers/two_factor.dart @@ -9,9 +9,9 @@ import 'package:pshared/service/verification.dart'; class TwoFactorProvider extends ChangeNotifier { static final _logger = Logger('provider.two_factor'); - final AccountProvider _accountProvider; + late AccountProvider _accountProvider; - TwoFactorProvider({required AccountProvider accountProvider}) : _accountProvider = accountProvider; + TwoFactorProvider(); bool _isSubmitting = false; bool _hasError = false; @@ -24,6 +24,9 @@ class TwoFactorProvider extends ChangeNotifier { String? get errorMessage => _errorMessage; PendingLogin? get pendingLogin => _accountProvider.pendingLogin; + void update(AccountProvider accountProvider) { + _accountProvider = accountProvider; + } Future submitCode(String code) async { _isSubmitting = true;