import React, { useMemo, useEffect, useState } from 'react'; import { TextInput, Select, Field } from '@rocket.chat/fuselage'; import { useSetting } from '../contexts/SettingsContext'; import { useForm } from '../hooks/useForm'; import { useTranslation } from '../contexts/TranslationContext'; import { capitalize } from '../helpers/capitalize'; const CustomTextInput = ({ name, required, minLength, maxLength, setState, state, className }) => { const t = useTranslation(); const verify = useMemo(() => { const error = []; if (!state && required) { error.push(t('Field_required')); } if (state.length < minLength && state.length > 0) { error.push(t('Min_length_is', minLength)); } return error.join(', '); }, [state, required, minLength, t]); return useMemo(() => {t(name)} setState(e.currentTarget.value)}/> {verify} , [name, verify, maxLength, state, required, setState, className]); }; const CustomSelect = ({ name, required, options, setState, state, className }) => { const t = useTranslation(); const mappedOptions = useMemo(() => Object.values(options).map((value) => [value, value]), [options]); const verify = useMemo(() => (!state.length && required ? t('Field_required') : ''), [required, state.length, t]); return useMemo(() => {t(name)}