import React from 'react' import { Button, ErrorState, Input, Textarea, Card } from '@/components/ui' import { t } from '@/lib/i18n' import type { ReviewFormController } from './useReviewFormController' export function ReviewFormView(params: { ctrl: ReviewFormController; onCancel?: () => void }): React.ReactElement { return (
void params.ctrl.handleSubmit(e)} className="space-y-4" > {params.ctrl.error ? : null}
) } function ReviewFormHeader(): React.ReactElement { return

{t('review.form.title')}

} function ReviewFormFields(params: { ctrl: ReviewFormController }): React.ReactElement { return ( <> ) } function ReviewFormActions(params: { loading: boolean; onCancel?: (() => void) | undefined }): React.ReactElement { return (
{params.onCancel && ( )}
) } function ErrorBox({ message }: { message: string }): React.ReactElement { return } function TextInput(params: { id: string label: string value: string onChange: (value: string) => void placeholder: string optionalLabel?: string }): React.ReactElement { const labelText = params.optionalLabel ? `${params.label} ${params.optionalLabel}` : params.label return ( params.onChange(e.target.value)} placeholder={params.placeholder} /> ) } function TextAreaInput(params: { id: string label: string value: string onChange: (value: string) => void placeholder: string rows: number required?: boolean requiredMark?: boolean optionalLabel?: string helpText?: string }): React.ReactElement { let labelText = params.label if (params.requiredMark) { labelText = `${labelText} *` } if (params.optionalLabel) { labelText = `${labelText} ${params.optionalLabel}` } return (