import { useState } from "react"; import { View, Text, Pressable } from "react-native"; import { Link, router } from "expo-router"; import BaseBackground from "../components/BaseBackground"; import AuthButton from "../components/AuthButton"; import CustomTextInput from "../components/CustomTextInput"; import { AuthService } from "../services"; import { useThemeStore } from "../stores/ThemeStore"; const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; const RegisterScreen = () => { const { theme } = useThemeStore(); const [email, setEmail] = useState(""); const [userName, setUserName] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(null); const [isLoading, setIsLoading] = useState(false); const handleRegister = async () => { setError(null); if (!email || !userName || !password) { setError("Bitte alle Felder ausfüllen"); return; } if (!EMAIL_REGEX.test(email)) { setError("Bitte eine gültige E-Mail-Adresse eingeben"); return; } setIsLoading(true); try { await AuthService.register({ email, userName, password }); router.replace("/(tabs)/chat"); } catch { setError("Registrierung fehlgeschlagen. E-Mail bereits vergeben?"); } finally { setIsLoading(false); } }; return ( Registrieren {error && ( {error} )} Bereits ein Konto? Anmelden ); }; export default RegisterScreen;