diff --git a/src/app/register/page.tsx b/src/app/register/page.tsx new file mode 100644 index 0000000..b7be357 --- /dev/null +++ b/src/app/register/page.tsx @@ -0,0 +1,118 @@ +'use client'; +import React, { useState } from 'react'; +import { useRouter } from 'next/navigation'; + +export default function SignupPage() { + const router = useRouter(); + const [formData, setFormData] = useState({ + name: '', + email: '', + password: '', + confirmPassword: '' + }); + const [error, setError] = useState(''); + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + setError(''); + + if (formData.password !== formData.confirmPassword) { + setError('Passwords do not match'); + return; + } + + try { + const response = await fetch('/api/auth/signup', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + name: formData.name, + email: formData.email, + password: formData.password, + }), + }); + + if (response.ok) { + router.push('/login'); + } else { + const data = await response.json(); + setError(data.error || 'Something went wrong'); + } + } catch (err) { + setError('Failed to create account'); + } + }; + + return ( +
Ballistics Builder
+Ballistics Builder