/** * 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)} /> ); }