import { Anchor, Button, Container, Paper, PasswordInput, Text, TextInput, Title, } from "@mantine/core"; import { createFileRoute, useNavigate } from "@tanstack/react-router"; import { useState } from "react"; import { signUp } from "../utils/auth-client"; export const Route = createFileRoute("/signup")({ component: SignupComponent, }); function SignupComponent() { const navigate = useNavigate(); const [name, setName] = useState(""); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [loading, setLoading] = useState(false); const [error, setError] = useState(""); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); setError(""); try { const { error } = await signUp.email({ name, email, password, }); if (error) { setError(error.message || "Failed to sign up"); } else { navigate({ to: "/admin" }); } } catch { setError("An unexpected error occurred"); } finally { setLoading(false); } }; return ( Create an account Already have an account?{" "} navigate({ to: "/signin" })} > Sign in
setName(e.target.value)} /> setEmail(e.target.value)} /> setPassword(e.target.value)} /> {error && ( {error} )}
); }