import { useState, useEffect } from 'react' const ARCHETYPE_DEFAULTS = { consulting: { min_communication: 4, min_adaptability: 3, min_collaboration: 4, min_problem_solving: 3, min_leadership: 3 }, startup: { min_communication: 3, min_adaptability: 4, min_collaboration: 3, min_problem_solving: 3, min_leadership: 4 }, } export default function ClientSetup() { const [clients, setClients] = useState([]) const [loading, setLoading] = useState(true) const [form, setForm] = useState({ name: '', archetype: 'consulting', expectations: '', ...ARCHETYPE_DEFAULTS.consulting, }) const [submitting, setSubmitting] = useState(false) const [success, setSuccess] = useState('') useEffect(() => { fetchClients() }, []) const fetchClients = async () => { try { const res = await fetch('/api/clients') setClients(await res.json()) } catch (err) { console.error(err) } finally { setLoading(false) } } const handleArchetypeChange = (archetype) => { setForm(prev => ({ ...prev, archetype, ...ARCHETYPE_DEFAULTS[archetype] })) } const handleSubmit = async (e) => { e.preventDefault() setSubmitting(true) setSuccess('') try { const res = await fetch('/api/clients', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(form), }) if (res.ok) { setSuccess(`Client "${form.name}" created successfully!`) setForm({ name: '', archetype: 'consulting', expectations: '', ...ARCHETYPE_DEFAULTS.consulting }) fetchClients() } } catch (err) { console.error(err) } finally { setSubmitting(false) } } return ( <>

Client Setup

Add New Client

{success &&
{success}
}
setForm(f => ({ ...f, name: e.target.value }))} placeholder="e.g. Acme Corp" />