merge fixes

This commit is contained in:
Stephan D
2025-11-23 15:45:10 +01:00
228 changed files with 5100 additions and 5433 deletions

View File

@@ -1,6 +1,9 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';
import 'package:pweb/providers/two_factor.dart';
class ResendCodeButton extends StatelessWidget {
@@ -12,9 +15,7 @@ class ResendCodeButton extends StatelessWidget {
final localizations = AppLocalizations.of(context)!;
return TextButton(
onPressed: () {
// TODO: Add resend logic
},
onPressed: () => context.read<TwoFactorProvider>().resendCode(),
style: TextButton.styleFrom(
padding: EdgeInsets.zero,
minimumSize: const Size(0, 0),
@@ -28,4 +29,4 @@ class ResendCodeButton extends StatelessWidget {
child: Text(localizations.twoFactorResend),
);
}
}
}

View File

@@ -2,7 +2,8 @@ import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:pshared/provider/pfe/provider.dart';
import 'package:pshared/provider/account.dart';
import 'package:pshared/provider/locale.dart';
import 'package:pweb/app/router/pages.dart';
import 'package:pweb/pages/login/buttons.dart';
@@ -34,17 +35,22 @@ class _LoginFormState extends State<LoginForm> {
final ValueNotifier<bool> _isPasswordAcceptable = ValueNotifier<bool>(false);
Future<String?> _login(BuildContext context, VoidCallback onLogin, void Function(Object e) onError) async {
final pfeProvider = Provider.of<PfeProvider>(context, listen: false);
final provider = Provider.of<AccountProvider>(context, listen: false);
try {
// final account = await pfeProvider.login(
// email: _usernameController.text,
// password: _passwordController.text,
// );
onLogin();
final outcome = await provider.login(
email: _usernameController.text,
password: _passwordController.text,
locale: context.read<LocaleProvider>().locale.languageCode,
);
if (outcome.isPending) {
navigateAndReplace(context, Pages.sfactor);
} else {
onLogin();
}
return 'ok';
} catch (e) {
onError(pfeProvider.error == null ? e : pfeProvider.error!);
onError(provider.error ?? e);
}
return null;
}
@@ -89,7 +95,7 @@ class _LoginFormState extends State<LoginForm> {
onSignUp: () => navigate(context, Pages.signup),
login: () => _login(
context,
() => navigateAndReplace(context, Pages.sfactor),
() => navigateAndReplace(context, Pages.dashboard),
(e) => postNotifyUserOfErrorX(
context: context,
errorSituation: AppLocalizations.of(context)!.errorLogin,

View File

@@ -1,10 +1,15 @@
import 'package:flutter/material.dart';
import 'package:flutter_timezone/flutter_timezone.dart';
import 'package:go_router/go_router.dart';
import 'package:provider/provider.dart';
import 'package:pshared/provider/pfe/provider.dart';
import 'package:pshared/api/requests/login_data.dart';
import 'package:pshared/models/describable.dart';
import 'package:pshared/provider/account.dart';
import 'package:pshared/provider/locale.dart';
import 'package:pweb/app/router/pages.dart';
import 'package:pweb/pages/signup/form/content.dart';
@@ -31,7 +36,7 @@ class SignUpFormState extends State<SignUpForm> {
VoidCallback onSignUp,
void Function(Object e) onError,
) async {
final pfeProvider = Provider.of<PfeProvider>(context, listen: false);
final provider = Provider.of<AccountProvider>(context, listen: false);
setState(() {
_autoValidateMode = true;
@@ -42,20 +47,34 @@ class SignUpFormState extends State<SignUpForm> {
}
try {
// final account = await pfeProvider.signUp(
// companyName: controllers.companyName.text.trim(),
// description: controllers.description.text.trim().isEmpty
// ? null
// : controllers.description.text.trim(),
// firstName: controllers.firstName.text.trim(),
// lastName: controllers.lastName.text.trim(),
// email: controllers.email.text.trim(),
// password: controllers.password.text,
// );
final orgDescription = controllers.description.text.trim();
final locs = AppLocalizations.of(context)!;
final locale = context.read<LocaleProvider>().locale;
final timezone = await FlutterTimezone.getLocalTimezone(locale.toString());
await provider.signup(
account: AccountData.build(
login: LoginData.build(
login: controllers.email.text.trim(),
password: controllers.password.text,
locale: locale.toLanguageTag(),
),
name: controllers.password.text,
lastName: controllers.lastName.text.trim(),
),
organization: newDescribable(
name: controllers.companyName.text.trim(),
description: orgDescription.isEmpty ? null : orgDescription,
),
timezone: timezone.identifier,
ownerRole: newDescribable(
name: locs.ownerRole,
description: locs.ownerRoleDescription,
),
);
onSignUp();
return 'ok';
} catch (e) {
onError(pfeProvider.error ?? e);
onError(provider.error ?? e);
}
return null;
}