import 'package:flutter/material.dart'; import 'package:get/get.dart'; import '../pages/home_view.dart'; import '../pages/login_view.dart'; import '../services/appwrite_service.dart'; class SigninController extends GetxController { final userNameController = TextEditingController(); final emailController = TextEditingController(); final passwordController = TextEditingController(); final appwriteService = AppwriteService(); @override void onReady() {} @override void onClose() { userNameController.dispose(); emailController.dispose(); passwordController.dispose(); } void register() async { //Eingaben überprüfen if (!_checkInputs()) return; //Registrierungslogik var userName = userNameController.text; var email = emailController.text; var password = passwordController.text; // Testausgabe print( 'Registrieren mit Benutzername: $userName, E-Mail: $email, Passwort: $password', ); //appwrite Registrierung und login Logik hier einfügen var registrationSuccess = await appwriteService.register( userName, email, password, ); //Nach erfolgreicher Registrierung Meldung und zur Startseite navigieren if (registrationSuccess) { Get.snackbar( 'Registrierung erfolgreich, sie werden weitergeleitet', 'Willkommen, $userName!', snackPosition: SnackPosition.BOTTOM, ); Get.offAndToNamed(HomePage.namedRoute); } else { Get.snackbar( 'Registrierung fehlgeschlagen', 'Bitte überprüfen Sie Ihre Eingaben und versuchen Sie es erneut.', snackPosition: SnackPosition.BOTTOM, ); } } void goToLoginPage() { Get.offAndToNamed(LoginPage.namedRoute); } bool _checkInputs() { var isOk = false; if (userNameController.text.isEmpty || emailController.text.isEmpty || passwordController.text.isEmpty) { Get.snackbar( 'Fehler', 'Bitte alle Felder ausfüllen', snackPosition: SnackPosition.BOTTOM, ); isOk = false; } else { isOk = true; } if (passwordController.text.length < 6) { Get.snackbar( 'Fehler', 'Passwort muss mindestens 6 Zeichen lang sein', snackPosition: SnackPosition.BOTTOM, ); isOk = false; } else { isOk = true; } return isOk; } }