'use client'; import { Card } from '@/components/ui/card'; import { Badge } from '@/components/ui/badge'; import Link from 'next/link'; import { FileText, Clipboard, Image, Loader2 } from 'lucide-react'; import { SearchResult } from '@/types/search'; import { format } from 'date-fns'; interface SearchResultsProps { results: SearchResult[]; query: string; loading: boolean; } export function SearchResults({ results, query, loading }: SearchResultsProps) { if (loading) { return (
); } if (results.length === 0) { return ( {query ? `No results found for "${query}"` : 'Enter a search term to start'} ); } const getIcon = (type: string) => { switch (type) { case 'correspondence': return FileText; case 'rfa': return Clipboard; case 'drawing': return Image; default: return FileText; } }; const getLink = (result: SearchResult) => { return `/${result.type}s/${result.uuid}`; // ADR-019: Use UUID for public routes }; return (
{results.map((result, index) => { const Icon = getIcon(result.type); return (

{result.type} {result.status}

{result.description}

{result.documentNumber} {format(new Date(result.createdAt), 'dd MMM yyyy')}
); })}
); }