/** * Register Page * * User registration */ 'use client'; import { useState } from 'react'; import { useAuth } from '@/lib/context/auth-context'; import Link from 'next/link'; export default function RegisterPage() { const { register } = useAuth(); const [formData, setFormData] = useState({ email: '', password: '', confirmPassword: '', firstName: '', lastName: '', organizationId: '', // TODO: Add organization selection }); const [error, setError] = useState(''); const [loading, setLoading] = useState(false); const handleChange = (e: React.ChangeEvent) => { setFormData({ ...formData, [e.target.name]: e.target.value, }); }; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setError(''); // Validate passwords match if (formData.password !== formData.confirmPassword) { setError('Passwords do not match'); return; } // Validate password length if (formData.password.length < 12) { setError('Password must be at least 12 characters long'); return; } setLoading(true); try { await register({ email: formData.email, password: formData.password, firstName: formData.firstName, lastName: formData.lastName, organizationId: formData.organizationId || 'default-org-id', // TODO: Implement proper org selection }); } catch (err: any) { setError( err.response?.data?.message || 'Registration failed. Please try again.' ); } finally { setLoading(false); } }; return (

Xpeditis

Create your account

Already have an account?{' '} Sign in

{error && (
{error}
)}

Must be at least 12 characters long

By creating an account, you agree to our{' '} Terms of Service {' '} and{' '} Privacy Policy
); }