"use client" import React, { useState } from 'react'; const CustomSelect = ({ options, value, onChange, placeholder, required }) => { const [isOpen, setIsOpen] = useState(false); return (
{isOpen && (
{options.map((option, index) => ( ))}
)}
); }; const ContactForm = () => { const [formData, setFormData] = useState({ name: '', phone: '', email: '', Organisation: '', // Changed to match API field name service_interest: '', message: '' }); const [isSubmitting, setIsSubmitting] = useState(false); const serviceOptions = [ { value: '', label: 'Service and Product of Interest', disabled: true }, { value: 'DNA Sequencing', label: 'DNA Sequencing' }, { value: 'RNA Sequencing', label: 'RNA Sequencing' }, { value: 'Genotyping', label: 'Genotyping' }, { value: 'Bioinformatics', label: 'Bioinformatics' }, { value: 'Other', label: 'Other' } ]; const handleInputChange = (e) => { const { name, value } = e.target; setFormData(prev => ({ ...prev, [name]: value })); }; const handleSelectChange = (name, value) => { setFormData(prev => ({ ...prev, [name]: value })); }; const handleSubmit = async (e) => { e.preventDefault(); setIsSubmitting(true); try { const formDataToSend = new FormData(); Object.keys(formData).forEach(key => { if (formData[key]) { formDataToSend.append(key, formData[key]); } }); formDataToSend.append('form_type', 'contact'); const response = await fetch('/api/forms', { method: 'POST', body: formDataToSend, }); const result = await response.json(); if (response.ok) { alert(result.message); // Reset form setFormData({ name: '', phone: '', email: '', Organisation: '', service_interest: '', message: '' }); } else { alert(result.error); } } catch (error) { console.error('Error submitting form:', error); alert('Error sending message. Please try again.'); } finally { setIsSubmitting(false); } }; return (

Send a message

handleSelectChange('service_interest', value)} placeholder="Service and Product of Interest" required />