import React, { useCallback } from 'react';
import { useField } from 'react-final-form';
import UploadButton from 'components/UploadButton';
import { AccessoryIcon } from 'indigo-react';
export default function UploadInput({ name, label, ...rest }) {
const {
input,
meta: { validating, submitting, touched, active, error },
} = useField(name, { type: 'text' });
const handleUpload = useCallback(
element => {
input.onFocus();
const file = element.files.item(0);
const reader = new FileReader();
reader.onload = e => {
input.onChange({ target: { value: e.target.result } });
};
const failure = _ => {
input.onBlur();
};
reader.onerror = failure;
reader.onabort = failure;
reader.readAsText(file);
},
[input]
);
return (
) : validating || submitting ? (
) : (
undefined
)
}
{...rest}>
{label}
);
}