"use client"; import React from 'react'; import Image from 'next/image'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; import { Badge } from '@/components/ui/badge'; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '@/components/ui/accordion'; import { SearchResult } from '@/components/types'; interface SearchResultCardProps { result: SearchResult; } const SearchResultCard: React.FC = ({ result }) => { // Helper to render content based on content type const renderContent = (content: string, contentType: string) => { if (contentType.startsWith('image/')) { return (
Document content
); } else if (content.startsWith('data:image/png;base64,') || content.startsWith('data:image/jpeg;base64,')) { return (
Base64 image content
); } else { return (
{content}
); } }; return (
{result.filename || `Document ${result.document_id.substring(0, 8)}...`} Chunk {result.chunk_number} • Score: {result.score.toFixed(2)}
{result.content_type}
{renderContent(result.content, result.content_type)} Metadata
                {JSON.stringify(result.metadata, null, 2)}
              
); }; export default SearchResultCard;