marco.pms.mobile/lib/controller/auth/login_controller.dart
vaibhav.surve 60f863962b revert b94b246731b755ceb0138acab7e1a02d220aefd3
revert Merge pull request 'Feature_Login' (#1) from Feature_Login into main

Reviewed-on: #1
2025-04-22 12:37:25 +00:00

60 lines
1.8 KiB
Dart

import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:marco/controller/my_controller.dart';
import 'package:marco/helpers/services/auth_service.dart';
import 'package:marco/helpers/widgets/my_form_validator.dart';
import 'package:marco/helpers/widgets/my_validators.dart';
class LoginController extends MyController {
MyFormValidator basicValidator = MyFormValidator();
bool showPassword = false, isChecked = false;
final String _dummyEmail = "demo@example.com";
final String _dummyPassword = "1234567";
@override
void onInit() {
basicValidator.addField('email', required: true, label: "Email", validators: [MyEmailValidator()], controller: TextEditingController(text: _dummyEmail));
basicValidator.addField('password',
required: true, label: "Password", validators: [MyLengthValidator(min: 6, max: 10)], controller: TextEditingController(text: _dummyPassword));
super.onInit();
}
void onChangeCheckBox(bool? value) {
isChecked = value ?? isChecked;
update();
}
void onChangeShowPassword() {
showPassword = !showPassword;
update();
}
Future<void> onLogin() async {
if (basicValidator.validateForm()) {
update();
var errors = await AuthService.loginUser(basicValidator.getData());
if (errors != null) {
basicValidator.addErrors(errors);
basicValidator.validateForm();
basicValidator.clearErrors();
} else {
String nextUrl = Uri.parse(ModalRoute.of(Get.context!)?.settings.name ?? "").queryParameters['next'] ?? "/home";
Get.toNamed(nextUrl);
}
update();
}
}
void goToForgotPassword() {
Get.toNamed('/auth/forgot_password');
}
void gotoRegister() {
Get.offAndToNamed('/auth/register_account');
}
}