import { useEffect, useState } from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; import api from '../../api'; import { useAuthToken } from '../../auth/Hooks/use-auth-token'; function RegisterSummary() { const navigate = useNavigate(); const location = useLocation(); const user = location.state?.user; const organisation = location.state?.organisation; const pricing = location.state?.price; const [isSubmitting, setIsSubmitting] = useState(false); const [submitSuccess, setSubmitSuccess] = useState(false); const [submitError, setSubmitError] = useState(null); const [responseMessageUser, setResponseMessageUser] = useState(null); const [responseMessageOrganisation, setResponseMessageOrganisation] = useState(null); const { getToken } = useAuthToken(); const handleSubmit = async () => { setIsSubmitting(true); setSubmitError(null); setResponseMessageUser(null); setResponseMessageOrganisation(null); const payload = { organisation: { name: organisation.organisationName, size: organisation.organisationSize, country: organisation.country, tenant_id: organisation.tenantID }, user: { name: user.userName, email: user.userEmail, azure_id: user.userAzureID, position: user.userPosition, phone: user.phoneNumber, role: "admin" } }; try { const token = await getToken(); const response = await api.post( 'http://localhost:8000/api/organisation/register', payload, { headers: { Authorization: `Bearer ${token}`, }, } ); const message = response.data[0]?.message; setResponseMessageOrganisation(message); setSubmitSuccess(true); } catch (error: any) { const detailMessage = error?.response?.data?.detail; setSubmitError(detailMessage || 'Something went wrong'); } finally { setIsSubmitting(false); }; }; useEffect(() => { if (submitSuccess) { setTimeout(() => { navigate('/'); }, 2000); // 2-second delay } }, [submitSuccess]); return (

Summary of Your Registration

Your Information

  • Name: {user.userName}
  • Email: {user.userEmail}
  • Your Position: {user.userPosition}
  • Phone Number: {user.phoneNumber}
{/* Display Organisation Data */}

Organisation Information

  • Tenant ID: {organisation.tenantID}
  • Organisation Name: {organisation.organisationName}
  • Organisation Size: {organisation.organisationSize}
  • Country: {organisation.country}
{/* Display Pricing Data */}

Pricing Information

  • Price: {pricing}
{submitSuccess &&

{responseMessageUser}

{responseMessageOrganisation}

} {submitError &&

Error: {submitError}

}
); } export default RegisterSummary;