"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")}
);
})}
);
}