import { SearchResult } from '../types';
import { ResultCard } from './ResultCard';
interface ResultsListProps {
results: SearchResult[];
loading: boolean;
error: string | null;
emptyMessage?: string;
onCardClick: (sourceFile: string) => void;
}
export function ResultsList({
results,
loading,
error,
emptyMessage = 'No results found',
onCardClick,
}: ResultsListProps) {
if (loading) {
return <div className="loading">Loading...</div>;
}
if (error) {
return <div className="error">Error: {error}</div>;
}
if (results.length === 0) {
return <div className="loading">{emptyMessage}</div>;
}
return (
<div className="results">
{results.map((result) => (
<ResultCard key={result.id} result={result} onClick={onCardClick} />
))}
</div>
);
}