Spaces:
Running
Running
File size: 779 Bytes
de03c4e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | import { useRef } from 'react';
import Button from './Button';
interface FileUploaderProps {
label: string;
onFileUpload: (file: File) => void;
}
export default function FileUploader({ label, onFileUpload }: FileUploaderProps) {
const fileInputRef = useRef<HTMLInputElement>(null);
const handleButtonClick = () => {
fileInputRef.current?.click();
};
const handleFileChange = (e: React.ChangeEvent<HTMLInputElement>) => {
const file = e.target.files?.[0];
if (file) {
onFileUpload(file);
}
};
return (
<>
<input
type="file"
ref={fileInputRef}
onChange={handleFileChange}
className="hidden"
accept=".csv"
/>
<Button label={label} onClick={handleButtonClick} />
</>
);
} |