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