59 lines
1.8 KiB
Dart
59 lines
1.8 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_mssql_node_filament_app/helpers/services_repos.dart';
|
|
import 'package:flutter_mssql_node_filament_app/pages/list_view.dart';
|
|
import 'package:flutter_mssql_node_filament_app/pages/signin_view.dart';
|
|
import 'package:get/get.dart';
|
|
|
|
class HomeController extends GetxController {
|
|
final benutzerController = TextEditingController();
|
|
final passwordController = TextEditingController();
|
|
final serviceRepos = ServiceRepos();
|
|
|
|
@override
|
|
void onClose() {
|
|
benutzerController.dispose();
|
|
passwordController.dispose();
|
|
super.onClose();
|
|
}
|
|
|
|
void navigateToSignIn() {
|
|
Get.toNamed(SignInPage.namedRoute);
|
|
}
|
|
|
|
bool validateLogin() {
|
|
final benutzer = benutzerController.text.trim();
|
|
final password = passwordController.text.trim();
|
|
|
|
if (benutzer.isEmpty || password.isEmpty) {
|
|
Get.snackbar(
|
|
'Fehler',
|
|
'Bitte alle Felder ausfüllen',
|
|
snackPosition: SnackPosition.BOTTOM,
|
|
backgroundColor: Get.theme.colorScheme.error.withAlpha(26),
|
|
colorText: Get.theme.colorScheme.error,
|
|
);
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
Future<void> logInAndloadFilaments() async {
|
|
if (!validateLogin()) return;
|
|
String benutzer = benutzerController.text.trim();
|
|
String password = passwordController.text.trim();
|
|
var response = await serviceRepos.getUserIsValide(benutzer, password);
|
|
if (response.statusCode == 200 && response.body['valid'] == true) {
|
|
// Navigiere zur Listenseite
|
|
Get.offAllNamed(ListPage.namedRoute);
|
|
} else {
|
|
Get.snackbar(
|
|
'Fehler',
|
|
'Ungültiger Benutzername oder Passwort',
|
|
snackPosition: SnackPosition.BOTTOM,
|
|
backgroundColor: Get.theme.colorScheme.error.withAlpha(26),
|
|
colorText: Get.theme.colorScheme.error,
|
|
);
|
|
}
|
|
}
|
|
}
|