/* eslint no-console: 0 */ import React, { useCallback, useState } from 'react' import Turnstone from '../../src/lib' import styles from './styles/App.module.css' import autocompleteStyles from './styles/autocomplete.module.css' import { defaultListboxNoRecentSearches } from '../_shared/defaultListbox' import ItemContents from './components/itemContents/itemContents' import GroupName from './components/groupName/groupName' import CancelButton from './components/cancelButton/cancelButton' import ClearButton from './components/clearButton/clearButton' import recentSearchesPlugin from '../../plugins/turnstone-recent-searches' import undef from '../../src/lib/utils/undef' const maxItems = 10 const placeholder = 'Enter a city or airport' const noItemsMessage = 'We found no places that match your search' const listbox = [ { id: 'cities', name: 'Cities', ratio: 8, displayField: 'name', data: (query) => fetch(`http://localhost:3001/api/search/cities?q=${encodeURIComponent(query)}&limit=${maxItems}`) .then(response => response.json()), searchType: 'startswith' }, { id: 'airports', name: 'Airports', ratio: 2, displayField: 'name', data: (query) => fetch(`http://localhost:3001/api/search/airports?q=${encodeURIComponent(query)}&limit=${maxItems}`) .then(response => response.json()), searchType: 'contains' } ] const App = () => { const [selectedItem, setSelectedItem] = useState(undef) const onSelect = useCallback( (item, displayField) => { console.log('onselect', item) setSelectedItem((item && displayField) ? item[displayField] : undef) }, [] ) const onEnter = useCallback( (query, selectedResult) => { console.log('Enter Pressed. Selected Result:', selectedResult, query) }, [] ) const onTab = useCallback( (query, selectedResult) => { console.log('Tab Pressed. Selected Result:', selectedResult, query) }, [] ) return (
 
{!!selectedItem && (
Selected Result
{selectedItem}
)}
) } export default App