forgot password screns logic fixed

This commit is contained in:
amirrezaghabeli
2025-09-22 14:25:59 +03:30
parent a9450a60d7
commit e85ac8d649
13 changed files with 209 additions and 133 deletions
@@ -6,6 +6,7 @@ import 'package:tm_app/core/utils/size_config.dart';
import 'package:tm_app/views/forget_password_create/strings/forgot_password_create_strings.dart';
import '../../../core/constants/assets.dart';
import '../../../core/routes/app_routes.dart';
import '../../../core/theme/colors.dart';
import '../../../core/utils/app_toast.dart';
import '../../../view_models/auth_view_model.dart';
@@ -40,6 +41,10 @@ class _DesktopForgotPasswordCreatePageState
void _viewModelListener() {
if (viewModel.resetPasswordErrorMessage != null) {
AppToast.error(context, viewModel.resetPasswordErrorMessage!);
} else if (viewModel.isResetPasswordLoading == false &&
viewModel.resetPasswordSuccess) {
Router.neglect(context, () => const LoginScreenRoute().go(context));
viewModel.clearResetFlow();
}
}
@@ -146,10 +151,11 @@ class _DesktopForgotPasswordCreatePageState
),
SizedBox(height: 80.0.h()),
viewModel.isResetPasswordLoading
? const BaseButton(
isEnabled: false,
? BaseButton(
isEnabled: viewModel.isNewPasswordValid,
text: ForgotPasswordCreateStrings.resetLink,
onPressed: null,
isLoading: true,
)
: BaseButton(
isEnabled: viewModel.isNewPasswordValid,
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:go_router/go_router.dart';
import 'package:provider/provider.dart';
import 'package:tm_app/core/routes/app_routes.dart';
import 'package:tm_app/core/utils/size_config.dart';
import 'package:tm_app/views/forget_password_create/strings/forgot_password_create_strings.dart';
@@ -40,6 +41,10 @@ class _MobileForgotPasswordCreatePageState
void _viewModelListener() {
if (viewModel.resetPasswordErrorMessage != null) {
AppToast.error(context, viewModel.resetPasswordErrorMessage!);
} else if (viewModel.isResetPasswordLoading == false &&
viewModel.resetPasswordSuccess) {
Router.neglect(context, () => const LoginScreenRoute().go(context));
viewModel.clearResetFlow();
}
}
@@ -143,10 +148,11 @@ class _MobileForgotPasswordCreatePageState
),
SizedBox(height: 80.0.h()),
viewModel.isResetPasswordLoading
? const BaseButton(
isEnabled: false,
? BaseButton(
isEnabled: viewModel.isNewPasswordValid,
text: ForgotPasswordCreateStrings.resetLink,
onPressed: null,
isLoading: true,
)
: BaseButton(
isEnabled: viewModel.isNewPasswordValid,
@@ -6,6 +6,7 @@ import 'package:tm_app/core/utils/size_config.dart';
import 'package:tm_app/views/forget_password_create/strings/forgot_password_create_strings.dart';
import '../../../core/constants/assets.dart';
import '../../../core/routes/app_routes.dart';
import '../../../core/theme/colors.dart';
import '../../../core/utils/app_toast.dart';
import '../../../view_models/auth_view_model.dart';
@@ -40,6 +41,10 @@ class _TabletForgotPasswordCreatePageState
void _viewModelListener() {
if (viewModel.resetPasswordErrorMessage != null) {
AppToast.error(context, viewModel.resetPasswordErrorMessage!);
} else if (viewModel.isResetPasswordLoading == false &&
viewModel.resetPasswordSuccess) {
Router.neglect(context, () => const LoginScreenRoute().go(context));
viewModel.clearResetFlow();
}
}
@@ -146,14 +151,16 @@ class _TabletForgotPasswordCreatePageState
),
SizedBox(height: 80.0.h()),
viewModel.isResetPasswordLoading
? const BaseButton(
isEnabled: false,
? BaseButton(
isEnabled: viewModel.isNewPasswordValid,
text: ForgotPasswordCreateStrings.resetLink,
onPressed: null,
isLoading: true,
)
: BaseButton(
isEnabled: viewModel.isNewPasswordValid,
text: ForgotPasswordCreateStrings.resetLink,
onPressed:
viewModel.isNewPasswordValid
? () async {