import { useState, useEffect } from 'react'; import { Upload, CheckCircle, AlertCircle, Loader2, FileCheck } from 'lucide-react'; import api from '../api/api'; const VerificationPanel = ({ photographerId }) => { const [verification, setVerification] = useState(null); const [loading, setLoading] = useState(true); const [uploadingID, setUploadingID] = useState(false); const [uploadingPortfolio, setUploadingPortfolio] = useState(false); useEffect(() => { fetchVerificationStatus(); }, []); const fetchVerificationStatus = async () => { try { const res = await api.get(`/verification/status/${photographerId}`); setVerification(res.data); } catch (err) { console.error('Failed to load verification status:', err); } finally { setLoading(false); } }; const handleIDUpload = async (e) => { const file = e.target.files?.[0]; if (!file) return; // In real app, upload to Cloudinary or similar setUploadingID(true); try { // Mock upload - in production use FormData with multipart const idUrl = URL.createObjectURL(file); const res = await api.post('/verification/submit', { idDocumentUrl: idUrl, }); setVerification(res.data); alert('ID uploaded successfully!'); } catch (err) { alert('Failed to upload ID'); } finally { setUploadingID(false); } }; const handlePortfolioUpload = async (e) => { const files = e.target.files; if (!files || files.length === 0) return; setUploadingPortfolio(true); try { const portfolioUrls = Array.from(files).map(file => URL.createObjectURL(file)); const res = await api.post('/verification/submit', { portfolioUrls, }); setVerification(res.data); alert(`${files.length} portfolio images uploaded!`); } catch (err) { alert('Failed to upload portfolio images'); } finally { setUploadingPortfolio(false); } }; if (loading) { return (
Submitted: {new Date(verification.submittedAt).toLocaleDateString()}
)} {verification?.verifiedAt && (Verified: {new Date(verification.verifiedAt).toLocaleDateString()}
)}Verified on {new Date(verification.idVerifiedAt).toLocaleDateString()}
)}Upload a clear copy of your government-issued ID (Aadhar, PAN, Passport, etc.)
{uploadingID &&Uploading...
}✓ {verification.portfolioSamples.length} portfolio images uploaded
Upload 3-5 of your best portfolio samples to showcase your work quality.
{uploadingPortfolio &&Uploading...
}{verification.adminNotes}
{verification.rejectionReason}
{verification?.resubmissionAllowed && ( )}