Password field checks for match with old password from db and check so that new password feild matches with the confirm password field

This commit is contained in:
Arseni
2025-12-24 16:18:52 +03:00
parent 964e90767d
commit 43020f3eb6
7 changed files with 93 additions and 10 deletions

View File

@@ -4,6 +4,7 @@ import 'package:pshared/provider/account.dart';
import 'package:pshared/widgets/password/fields.dart';
import 'package:pshared/utils/snackbar.dart';
import 'package:pweb/models/password_field_type.dart';
import 'package:pweb/providers/password_form.dart';
import 'package:pweb/pages/settings/profile/account/password/form/error_text.dart';
import 'package:pweb/pages/settings/profile/account/password/form/submit_button.dart';
@@ -65,6 +66,18 @@ class PasswordForm extends StatelessWidget {
fieldWidth: _fieldWidth,
gapSmall: _gapSmall,
isEnabled: !isFormBusy,
showOldPassword:
formProvider.isPasswordVisible(PasswordFieldType.old),
showNewPassword:
formProvider.isPasswordVisible(PasswordFieldType.newPassword),
showConfirmPassword: formProvider
.isPasswordVisible(PasswordFieldType.confirmPassword),
onToggleOldPassword: () =>
formProvider.togglePasswordVisibility(PasswordFieldType.old),
onToggleNewPassword: () => formProvider
.togglePasswordVisibility(PasswordFieldType.newPassword),
onToggleConfirmPassword: () => formProvider
.togglePasswordVisibility(PasswordFieldType.confirmPassword),
),
const SizedBox(height: _gapMedium),
PasswordSubmitButton(
@@ -72,10 +85,11 @@ class PasswordForm extends StatelessWidget {
label: savePassword,
onSubmit: () async {
try {
await formProvider.submit(
final success = await formProvider.submit(
accountProvider: accountProvider,
errorText: errorText,
);
if (!success) return;
if (!context.mounted) return;
notifyUser(context, successText);
} catch (e) {