'use client' import { useState, useTransition } from 'react' import { useRouter } from 'next/navigation' import { discloseAffiliations } from '@/lib/actions' import { ChipInput } from './chip-input' export function AffiliationsForm({ initial }: { initial: { affiliations: string[] } }) { const router = useRouter() const [affiliations, setAffiliations] = useState(initial.affiliations) const [error, setError] = useState('') const [status, setStatus] = useState<'idle' | 'saved'>('idle') const [isPending, startTransition] = useTransition() function handleSubmit(e: React.FormEvent) { e.preventDefault() setError('') setStatus('idle') startTransition(async () => { const r = await discloseAffiliations({ affiliations }) if ('error' in r && r.error) setError(r.error) else { setStatus('saved') router.refresh() } }) } return (

Organizations, businesses, or roles outside this space that could intersect with space decisions. Visible to all members. Submitting stamps your disclosure date.

{error &&

{error}

} {status === 'saved' && !error && (

Disclosed. Your timestamp is updated.

)}
) }