'use client' import { zodResolver } from '@hookform/resolvers/zod' import { FormProvider, useForm } from 'react-hook-form' import type { FaqItem } from '@/components/events/create/types' import Button from '@/components/formElements/Button' import TrashIcon from '@/components/icons/TrashIcon' import { EventWizardFaqFormValidation, type EventWizardFaqFormValues } from '@/validation/eventWizard' import { createClientId } from '@/lib/createClientId' import { showFormValidationToast } from '@/lib/formValidationToast' import { texts } from '@/texts' import ConsumerButton from '@/components/consumer/ConsumerButton' import ConsumerInput from '@/components/consumer/ConsumerInput' interface FaqEditorProps { items: FaqItem[] onChange: (items: FaqItem[]) => void } /** Adds and removes optional common questions without coupling to wizard state. */ export default function FaqEditor({ items, onChange }: FaqEditorProps) { const form = useForm({ resolver: zodResolver(EventWizardFaqFormValidation), defaultValues: { answer: '', question: '' }, }) const addFaq = () => { void form.handleSubmit((values) => { onChange([ ...items, { answer: values.answer, id: createClientId(), question: values.question, }, ]) form.reset({ answer: '', question: '' }) }, showFormValidationToast)() } return (
{items.map((item) => (

{item.question}

{item.answer}

))}
{texts.events.addQuestion}
) }