aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/smartdraw/DrawingFillHandler.tsx
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2024-12-16 11:52:42 -0500
committerbobzel <zzzman@gmail.com>2024-12-16 11:52:42 -0500
commitb7105063030ee29ba644d8fbb5878c8ee41fd389 (patch)
tree519c6949b7d3f7d5c018b4075845cfe53cd99bd5 /src/client/views/smartdraw/DrawingFillHandler.tsx
parent4826ac1b3223376493ea22c0f23095bc0797cd9c (diff)
fixed api for creating an image using another image as a structure reference.
Diffstat (limited to 'src/client/views/smartdraw/DrawingFillHandler.tsx')
-rw-r--r--src/client/views/smartdraw/DrawingFillHandler.tsx70
1 files changed, 21 insertions, 49 deletions
diff --git a/src/client/views/smartdraw/DrawingFillHandler.tsx b/src/client/views/smartdraw/DrawingFillHandler.tsx
index 6f111e95b..32416cec5 100644
--- a/src/client/views/smartdraw/DrawingFillHandler.tsx
+++ b/src/client/views/smartdraw/DrawingFillHandler.tsx
@@ -1,50 +1,22 @@
-// 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';
+import { Doc } from '../../../fields/Doc';
+import { ImageCast } from '../../../fields/Types';
+import { Upload } from '../../../server/SharedMediaTypes';
+import { Docs } from '../../documents/Documents';
+import { Networking } from '../../Network';
+import { DocumentView, DocumentViewInternal } from '../nodes/DocumentView';
+import { OpenWhere } from '../nodes/OpenWhere';
-// 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));
-// // };
-// };
-// }
+export class DrawingFillHandler {
+ static drawingToImage = (drawing: Doc, prompt: string) =>
+ DocumentView.GetDocImage(drawing)?.then(imageField => {
+ if (imageField) {
+ const { href } = ImageCast(imageField).url;
+ const hrefParts = href.split('.');
+ const structureUrl = `${hrefParts[0]}_o.${hrefParts[1]}`;
+ const strength: number = 100;
+ Networking.PostToServer('/queryFireflyImageFromStructure', { prompt, structureUrl, strength }).then((info: Upload.ImageInformation) =>
+ DocumentViewInternal.addDocTabFunc(Docs.Create.ImageDocument(info.accessPaths.agnostic.client, {}), OpenWhere.addRight)) // prettier-ignore
+ }
+ return false;
+ });
+}