import { useState } from "react"
import { FormControl, FormField, FormItem, FormLabel } from "./form"
import { InputComp } from "./inputComp"
import TranslateClient from "./localization/TranslateClient"
import useCurrentLanguage from "@/hooks/useCurrentLanguage"

type TextAreaFieldProps_TP = {
    form: any
    name: string
    placeholder?: string
    label?: string
    className?: string
    required?: boolean
}
const TextAreaField = ({
    form,
    name,
    placeholder,
    label,
    className,
    required,
}: TextAreaFieldProps_TP) => {
    const error = form.formState.errors?.[name]
    const { locale } = useCurrentLanguage()

    return (
        <FormField
            control={form.control}
            name={name}
            render={({ field }) => (
                <FormItem>
                    <FormLabel>
                        {<TranslateClient text={label || name} />}
                    </FormLabel>
                    <FormControl>
                        <>
                            <textarea
                                placeholder={
                                    locale?.[`${[placeholder]}` || name]
                                }
                                {...field}
                                className={`block w-full rounded-xl p-3 rtl:dir-rtl outline-none ${
                                    className ? className : ""
                                } ${
                                    error
                                        ? "!border-red-500 !border-[1px] focus:!border-gray-300"
                                        : ""
                                }`}
                            />
                            {error ? (
                                <div className="text-red-500">
                                    {error?.message}
                                </div>
                            ) : null}
                        </>
                    </FormControl>
                </FormItem>
            )}
        />
    )
}

export default TextAreaField
