import { Box, Icon, TextInput, Button } from '@rocket.chat/fuselage'; import React, { FC, ChangeEvent, FormEvent, memo, useCallback, useEffect, useState } from 'react'; import { useTranslation } from '../contexts/TranslationContext'; type FilterByTextProps = { placeholder?: string; onChange: (filter: { text: string }) => void; displayButton: boolean; textButton: string; onButtonClick: () => void; inputRef: () => void; }; const FilterByText: FC = ({ placeholder, onChange: setFilter, displayButton: display = false, textButton = '', onButtonClick, inputRef, ...props }) => { const t = useTranslation(); const [text, setText] = useState(''); const handleInputChange = useCallback((event: ChangeEvent) => { setText(event.currentTarget.value); }, []); useEffect(() => { setFilter({ text }); }, [setFilter, text]); const handleFormSubmit = useCallback((event: FormEvent) => { event.preventDefault(); }, []); return ( } onChange={handleInputChange} value={text} /> ); }; export default memo(FilterByText);