import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; import '../helpers/services_repos.dart'; import '../pages/list_view.dart'; import '../pages/signin_view.dart'; import 'package:get/get.dart'; class HomeController extends GetxController { final benutzerController = TextEditingController(); final passwordController = TextEditingController(); final serviceRepos = ServiceRepos(httpClient: http.Client()); @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 user = await serviceRepos.loginService(benutzer, password); if (user.uuid != '') { // Navigiere zur Listenseite Get.offAllNamed(ListPage.namedRoute, arguments: user.username); } else { Get.snackbar( 'Fehler', 'Ungültiger Benutzername oder Passwort', snackPosition: SnackPosition.BOTTOM, backgroundColor: Get.theme.colorScheme.error.withAlpha(26), colorText: Get.theme.colorScheme.error, ); } } }