import React, { useRef, useEffect, MutableRefObject } from 'react'; import Button from '../Button'; import Portal from '../Portal'; import { Wrapper, InputWrapper, Input, ResultInfo, ArrowButton, } from './styled'; type Props = { matchesTotal: number; matchIndex: number; onEnter: (val: string) => void; onPrev: () => void; onNext: () => void; isActive?: boolean; close: () => void; }; const Search: React.FunctionComponent = ({ matchesTotal = 0, matchIndex = 1, onPrev, onNext, onEnter, isActive = false, close, }: Props) => { const inputRef = useRef(null) as MutableRefObject; const handleKeyDown = (e: React.KeyboardEvent): void => { if (e.keyCode === 13 && inputRef.current.value) { onEnter(inputRef.current.value); } }; useEffect(() => { if (isActive) { inputRef.current.focus(); } }, [isActive]); return ( {matchesTotal ? `${matchIndex + 1} / ${matchesTotal}` : ''} ); }; export default Search;