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 '../lib/capitalize'; const CustomTextInput = ({ name, required, minLength, maxLength, setState, state, className }) => { const t = useTranslation(); const verify = useMemo(() => { const errors = []; if (!state && required) { errors.push(t('Field_required')); } if (state.length < minLength && state.length > 0) { errors.push(t('Min_length_is', minLength)); } return errors.join(', '); }, [state, required, minLength, t]); return useMemo(() => {t(name)}{required && '*'} setState(e.currentTarget.value)}/> {verify} , [className, t, name, verify, maxLength, state, required, setState]); }; 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)}{required && '*'}