'use client'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; import Link from 'next/link'; import { useAuthStore } from '@/stores/useAuthStore'; export default function RegisterPage() { const router = useRouter(); const { register, isLoading, error, clearError } = useAuthStore(); const [formData, setFormData] = useState({ email: '', name: '', password: '', confirmPassword: '', role: 'engineer' as 'engineer' | 'BD' | 'admin' | 'exec', }); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); clearError(); if (formData.password !== formData.confirmPassword) { alert('Passwords do not match'); return; } try { await register({ email: formData.email, name: formData.name, password: formData.password, role: formData.role, }); router.push('/channels'); } catch (err) { // Error is handled by the store } }; const handleChange = (e: React.ChangeEvent) => { setFormData(prev => ({ ...prev, [e.target.name]: e.target.value, })); }; return (

Grimlock

Create your account

Or{' '} sign in to existing account

{error && (
{error}
)}
); }