import React, {useState} from "react"; import {Container, Box, Typography, TextField, Button, Paper, Alert, AlertColor} from "@mui/material"; import {registerNewUser} from "./register.telefunc"; export default function RegisterPage() { const [username, setUsername] = useState(""); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [loading, setLoading] = useState(false); const [message, setMessage] = useState(null); const [severity, setSeverity] = useState("info"); async function onSubmit(e: React.FormEvent) { e.preventDefault(); setLoading(true); setMessage(null); try { const result = await registerNewUser({username, email, password}); if (result?.success) { setSeverity("success"); setMessage("Registration successful! Redirecting..."); window.location.href = "/auth/login"; } else { setSeverity("error"); setMessage("Registration failed."); } } catch (err) { setSeverity("error"); setMessage("An error occurred. Please try again."); } finally { setLoading(false); } } return ( Register setUsername(e.target.value)} /> setEmail(e.target.value)} /> setPassword(e.target.value)} /> {message && {message}} ); }