1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import type { FC } from 'react'
- import { useTranslation } from 'react-i18next'
- import { memo } from 'react'
- import Textarea from '@/app/components/base/textarea'
- type InputProps = {
- form: any
- value: string
- onChange: (variable: string, value: string) => void
- }
- const FormInput: FC<InputProps> = ({
- form,
- value,
- onChange,
- }) => {
- const { t } = useTranslation()
- const {
- type,
- label,
- required,
- max_length,
- variable,
- } = form
- if (type === 'paragraph') {
- return (
- <Textarea
- value={value}
- className='resize-none'
- onChange={e => onChange(variable, e.target.value)}
- placeholder={`${label}${!required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
- />
- )
- }
- return (
- <input
- className='grow h-9 rounded-lg bg-gray-100 px-2.5 outline-none appearance-none'
- value={value || ''}
- maxLength={max_length}
- onChange={e => onChange(variable, e.target.value)}
- placeholder={`${label}${!required ? `(${t('appDebug.variableTable.optional')})` : ''}`}
- />
- )
- }
- export default memo(FormInput)
|