import LoadingSpinner from "./LoadingSpinner";
import EmptyState from "./EmptyState";
import DocumentCard from "./DocumentCard";

interface Document {
  document_type: string;
  original_name: string;
  file_name: string;
}

interface UploadedDocumentsTabProps {
  loading: boolean;
  documents: Document[];
  onDownload: (fileName: string) => void;
}

export default function UploadedDocumentsTab({ loading, documents, onDownload }: UploadedDocumentsTabProps) {
  if (loading) return <LoadingSpinner />;
  
  if (documents.length === 0) {
    return <EmptyState message="No documents uploaded yet" />;
  }

  return (
    <div className="space-y-4">
      <h3 className="text-lg font-semibold text-gray-800 mb-4">Uploaded Documents</h3>
      <div className="grid gap-3">
        {documents.map((doc, index) => (
          <DocumentCard
            key={index}
            documentType={doc.document_type}
            originalName={doc.original_name}
            onDownload={() => onDownload(doc.file_name)}
          />
        ))}
      </div>
    </div>
  );
}
