Add forgot password, reset password, and verify OTP providers and view models
- Implemented `ForgotPasswordViewModel`, `ResetPasswordViewModel`, and `VerifyOtpViewModel` for handling respective functionalities. - Created provider functions for lazy loading of these view models in the app. - Updated routing to utilize the new providers for managing state in the forgot password flow. - Refactored UI components to integrate with the new view models, ensuring proper state management and user feedback during operations.
This commit is contained in:
@@ -18,12 +18,15 @@ import '../../views/splash/pages/splash_screen.dart';
|
||||
import '../../views/tenders/pages/tenders_screen.dart';
|
||||
import '../../views/your_tenders/pages/your_tenders_screen.dart';
|
||||
import '../providers/final_completion_provider.dart';
|
||||
import '../providers/forgot_password_provider.dart';
|
||||
import '../providers/home_provider.dart';
|
||||
import '../providers/liked_tenders_provider.dart';
|
||||
import '../providers/notification_provider.dart';
|
||||
import '../providers/profile_provider.dart';
|
||||
import '../providers/reset_password_provider.dart';
|
||||
import '../providers/tender_detail_provider.dart';
|
||||
import '../providers/tenders_provider.dart';
|
||||
import '../providers/verify_otp_provider.dart';
|
||||
import '../providers/your_tenders_provider.dart';
|
||||
import 'app_shell/app_shell_screen.dart';
|
||||
|
||||
@@ -275,28 +278,32 @@ class ForgotPasswordRouteData extends GoRouteData
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
return const ForgotPasswordScreen();
|
||||
return forgotPasswordProvider(child: const ForgotPasswordScreen());
|
||||
}
|
||||
}
|
||||
|
||||
@TypedGoRoute<ForgotPasswordOtpRouteData>(path: '/forgot-password-otp')
|
||||
class ForgotPasswordOtpRouteData extends GoRouteData
|
||||
with _$ForgotPasswordOtpRouteData {
|
||||
const ForgotPasswordOtpRouteData();
|
||||
final String email;
|
||||
const ForgotPasswordOtpRouteData({required this.email});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
return const ForgotPasswordOtpScreen();
|
||||
return verifyOtpProvider(child: ForgotPasswordOtpScreen(email: email));
|
||||
}
|
||||
}
|
||||
|
||||
@TypedGoRoute<ForgotPasswordCreateRouteData>(path: '/forgot-password-create')
|
||||
class ForgotPasswordCreateRouteData extends GoRouteData
|
||||
with _$ForgotPasswordCreateRouteData {
|
||||
const ForgotPasswordCreateRouteData();
|
||||
final String resetToken;
|
||||
const ForgotPasswordCreateRouteData({required this.resetToken});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
return const ForgotPasswordCreateScreen();
|
||||
return resetPasswordProvider(
|
||||
child: ForgotPasswordCreateScreen(resetToken: resetToken),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user