import { zodResolver } from '@hookform/resolvers/zod'; import { ExperiencesSchema, type Experiences } from '../../../content/schemas/experiences'; import { FormShell } from '../FormShell'; import { Section } from '../Section'; import { TextField } from '../fields/TextField'; import { TextAreaField } from '../fields/TextAreaField'; import { SelectField } from '../fields/SelectField'; import { ToggleField } from '../fields/ToggleField'; import { ChipsField } from '../fields/ChipsField'; import { ImageUploadField } from '../fields/ImageUploadField'; import { ArrayEditor } from '../fields/ArrayEditor'; type Props = { defaultValues: Experiences }; const TYPE_OPTIONS = [ { value: 'cdi', label: 'CDI' }, { value: 'cdd', label: 'CDD' }, { value: 'stage', label: 'Stage' }, { value: 'alternance', label: 'Alternance' }, { value: 'freelance', label: 'Freelance' }, ]; export function ExperiencesForm({ defaultValues }: Props) { return ( section="experiences" defaultValues={defaultValues as never} resolver={zodResolver(ExperiencesSchema) as never} >
({ id: '', company: '', role: '', period: '', duration: '', description: '', missions: [], stack: [], type: 'cdi' as const, current: false, }) as never } itemLabel={(i) => `track #${String(i + 1).padStart(2, '0')}`} > {({ namePrefix }) => ( <>
)}
); }