import React, { FormEventHandler } from "react"; import Palette, { palettes } from "./Palette"; import PaletteSelect from "./PaletteSelect"; interface Props { onImageSubmit: (image: Blob, palette: Palette) => void; } function ImageInput({ onImageSubmit }: Props) { const fileInputRef = React.useRef(null); const [palette, setPalette] = React.useState(palettes[0]); const handleSubmit: FormEventHandler = (e) => { e.preventDefault(); if ( !fileInputRef.current || !fileInputRef.current.files || fileInputRef.current.files.length === 0 ) { return; } onImageSubmit(fileInputRef.current.files[0], palette); }; const handlePaletteChange = (palette: Palette) => { setPalette(palette); }; return (
); } export default ImageInput;