"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.id}`; // Assuming routes are plural (correspondences, rfas, drawings) }; 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")}
); })}
); }