import React, { useRef, useState } from "react";
import { IconButton, Box, Button, Image, Flex, Label, Input } from "theme-ui";
import Modal from "./Modal";
const defaultMapSize = 22;
function AddMapButton({ handleMapChange }) {
const fileInputRef = useRef();
function openImageDialog() {
if (fileInputRef.current) {
fileInputRef.current.click();
}
}
const [isAddModalOpen, setIsAddModalOpen] = useState(false);
function openModal() {
setIsAddModalOpen(true);
}
function closeModal() {
setIsAddModalOpen(false);
}
const mapDataRef = useRef(null);
const [mapSource, setImageSource] = useState(null);
function handleImageUpload(event) {
mapDataRef.current = { file: event.target.files[0], rows, columns };
setImageSource(URL.createObjectURL(mapDataRef.current.file));
}
function handleDone() {
if (mapDataRef.current && mapSource) {
handleMapChange(mapDataRef.current, mapSource);
}
closeModal();
}
const [rows, setRows] = useState(defaultMapSize);
const [columns, setColumns] = useState(defaultMapSize);
return (
<>
{
e.preventDefault();
handleDone();
}}
>
setRows(e.target.value)}
/>
setColumns(e.target.value)}
/>
{mapSource ? (
) : (
)}
>
);
}
export default AddMapButton;