import React, { type ChangeEvent, type FC, useCallback, useRef } from 'react'; import AlphaPicker from 'components/alphaPicker/AlphaPickerComponent'; import Input from 'elements/emby-input/Input'; import globalize from 'lib/globalize'; import layoutManager from 'components/layoutManager'; import browser from 'scripts/browser'; import 'material-design-icons-iconfont'; import 'styles/flexstyles.scss'; import './searchfields.scss'; interface SearchFieldsProps { query: string, onSearch?: (query: string) => void } const SearchFields: FC = ({ onSearch = () => { /* no-op */ }, query }) => { const inputRef = useRef(null); const onAlphaPicked = useCallback((e: Event) => { const value = (e as CustomEvent).detail.value; const inputValue = inputRef.current?.value || ''; if (value === 'backspace') { onSearch(inputValue.length ? inputValue.substring(0, inputValue.length - 1) : ''); } else { onSearch(inputValue + value); } }, [onSearch]); const onChange = useCallback((e: ChangeEvent) => { onSearch(e.target.value); }, [ onSearch ]); return (
{layoutManager.tv && !browser.tv && }
); }; export default SearchFields;