import React, { useState } from 'react';
import DropZone from './DropZone';
import { convertBytesToKBMB } from '@/lib/helpers';

interface SinglePDFUploadProps {
    title?: string;
    onFile?: (file: File | null) => void;
}

export default function SinglePDFUpload({ title, onFile }: SinglePDFUploadProps) {
    const [uploaded, setUploaded] = useState<File | null>(null);

    const removeFile = () => {
        setUploaded(null);
        onFile?.(null);
    };

    const handleFilesSelected = (files: FileList | null) => {
        if (!files || files.length === 0) return;
        const file = files[0];
        setUploaded(file);
        onFile?.(file);
    };

    if (uploaded) {
        return (
            <ul className="mt-2 divide-y divide-gray-200 border rounded-lg">
                <li className="flex items-center justify-between px-4 py-3">
                    <span className="text-sm">{uploaded.name}</span>
                    <span className="flex items-center space-x-4 text-sm text-indigo-600">
                        <span>{convertBytesToKBMB(uploaded.size)}</span>
                        <button
                            onClick={removeFile}
                            className="px-2 py-1 text-xs bg-red-500 text-white rounded hover:bg-red-600"
                        >
                            Remove
                        </button>
                    </span>
                </li>
            </ul>
        );
    }

    return (
        <DropZone
            onFilesSelected={handleFilesSelected}
            label={title}
            fileType=".pdf,.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document"
        />
    );
}

