import { Editor } from '@tiptap/react' import React, { FC, useEffect, useRef, useState } from 'react' import MenuButton from './menu-button.jsx' interface ImageButtonProps { editor: Editor } const ImageButton: FC = (props) => { const { editor } = props const [image, setImage] = useState() const fileInput = useRef(null) const handleInputChange = (event) => { const { files } = event.target if (!files.length) return const reader = new FileReader() reader.readAsDataURL(files[0]) reader.onload = (e) => { setImage(e.target?.result) } } const handleButtonClick = () => { if (fileInput.current) fileInput.current.click() } useEffect(() => { if (image && typeof image === 'string') { editor.chain().focus().setImage({ src: image }).run() } }, [image]) return ( <> ) } export default ImageButton