/** * SearchResults component for displaying podcast search results */ import { For, Show } from "solid-js" import type { SearchResult } from "../types/source" import { ResultCard } from "./ResultCard" import { ResultDetail } from "./ResultDetail" type SearchResultsProps = { results: SearchResult[] selectedIndex: number focused: boolean onSelect?: (result: SearchResult) => void onChange?: (index: number) => void isSearching?: boolean error?: string | null } export function SearchResults(props: SearchResultsProps) { const handleSelect = (index: number) => { props.onChange?.(index) } return ( Searching... }> {props.error} } > 0} fallback={ No results found. Try a different search term. } > {(result, index) => ( handleSelect(index())} onSubscribe={() => props.onSelect?.(result)} /> )} props.onSelect?.(result)} /> ) }