// import { action, makeObservable } from 'mobx'; // import { observer } from 'mobx-react'; // import React from 'react'; // import { Doc } from '../../../fields/Doc'; // import { ImageCast } from '../../../fields/Types'; // import { ImageField } from '../../../fields/URLField'; // import { Docs } from '../../documents/Documents'; // import { Networking } from '../../Network'; // import { makeUserTemplateButtonOrImage } from '../../util/DropConverter'; // import { DocumentView, DocumentViewInternal } from '../nodes/DocumentView'; // import { ImageUtility } from '../nodes/imageEditor/imageEditorUtils/ImageHandler'; // import { OpenWhere } from '../nodes/OpenWhere'; // import { ObservableReactComponent } from '../ObservableReactComponent'; // export class DrawingFillHandler { // static drawingToImage = async (drawing: Doc, prompt: string) => { // const imageField = await DocumentView.GetDocImage(drawing); // if (!imageField) return; // const { href } = ImageCast(imageField).url; // const hrefParts = href.split('.'); // const hrefComplete = `${hrefParts[0]}_o.${hrefParts[1]}`; // try { // const response = await fetch(hrefComplete); // const blob: Blob = await response.blob(); // const strength: number = 100; // const img = await Networking.PostToServer('/oldQueryFireflyImage', { prompt, blob, strength }); // DocumentViewInternal.addDocTabFunc(Docs.Create.ImageDocument(img, {}), OpenWhere.addRight); // // Networking.PostToServer('/oldQueryFireflyImage', { prompt, blob, strength }).then(img => DocumentViewInternal.addDocTabFunc(Docs.Create.ImageDocument(img, {}), OpenWhere.addRight)); // } catch (error) { // console.error('Error fetching image:', error); // return; // } // // const image = new Image(); // // image.src = imageField.url?.href; // // // image.onload = async () => { // // const canvas = document.createElement('canvas'); // // canvas.width = image.width; // // canvas.height = image.height; // // const ctx = canvas.getContext('2d'); // // if (!ctx) return; // // ctx.globalCompositeOperation = 'source-over'; // // ctx.clearRect(0, 0, image.width, image.height); // // ctx.drawImage(image, 0, 0); // // const blob: Blob = await ImageUtility.canvasToBlob(canvas); // // const strength: number = 100; // // Networking.PostToServer('/oldQueryFireflyImage', { prompt, blob, strength }).then(img => DocumentViewInternal.addDocTabFunc(Docs.Create.ImageDocument(img, {}), OpenWhere.addRight)); // // }; // }; // }