import { AutoComplete as PrimeAutoComplete } from 'primereact/autocomplete'
import { useState } from 'react'
const AutoComplete = ({ languages, onComplete }) => {
  const [autoComplete, setAutoComplete] = useState('')
  const [suggestions, setSuggestions] = useState([])
  const exampleCodes = ['de', 'fr', 'ar', 'hi', 'sw', 'fa']
  const exampleLanguages = exampleCodes.map(code =>
    languages?.find(item => item.bcp_47 === code)
  )
  const search = e => {
    const matches = languages.filter(language => {
      const query = e.query.toLowerCase()
      return (
        language.language_name.toLowerCase().includes(query) ||
        language.autonym.toLowerCase().includes(query) ||
        language.bcp_47.toLowerCase().includes(query)
      )
    })
    setSuggestions(matches)
  }
  const itemTemplate = item => (
    
      
        {item.autonym}
        
          {item.language_name}
        
      
      {item.bcp_47}
    
  )
  return (
    <>
       setAutoComplete(e.value)}
        onClick={() => {
          setAutoComplete('')
          setSuggestions(languages)
        }}
        onSelect={e => {
          setAutoComplete(e.value.language_name)
          onComplete([e.value])
        }}
        suggestions={suggestions}
        completeMethod={search}
        virtualScrollerOptions={{ itemSize: 50 }} // smaller values give layout problems
        delay={500}
        autoHighlight
        autoFocus
        itemTemplate={itemTemplate}
        field='language_name'
        minLength={0}
      />
      
        Examples:
        {exampleLanguages?.map(language => (
           {
              onComplete([language])
              setAutoComplete(language.language_name)
            }}
            style={{ textDecoration: 'underline', cursor: 'pointer' }}
          >
            {language.language_name} Leaderboard
          
        ))}
        {/* African Leaderboard
              Indic Leaderboard
              Transcription Leaderboard
              Dataset Availability for African Languages
              GPT 4.5 Evaluation
              MMLU Evaluation of Open Models */}
      
    >
  )
}
export default AutoComplete