Files
flutter_mssql_node_filament…/lib/controllers/home_controller.dart
2026-04-01 14:28:38 +02:00

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,
);
}
}
}