import React, { useState } from 'react'; import { ref, uploadBytesResumable, getDownloadURL } from 'firebase/storage'; import { storage } from '../firebase'; const UploadForm = ({ onUploadComplete }) => { const [file, setFile] = useState(null); const [progress, setProgress] = useState(0); const handleFileChange = (e) => { setFile(e.target.files[0]); }; const handleUpload = () => { if (!file) return; const storageRef = ref(storage, `ads/${file.name}`); const uploadTask = uploadBytesResumable(storageRef, file); uploadTask.on( 'state_changed', (snapshot) => { const progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100; setProgress(progress); }, (error) => { console.error('Upload failed', error); }, () => { getDownloadURL(uploadTask.snapshot.ref).then((downloadURL) => { onUploadComplete(downloadURL); }); } ); }; return (
Upload Progress: {progress}%
); }; export default UploadForm;