From ede7aaa19d903a7e55fc60d9bc213988ea602c97 Mon Sep 17 00:00:00 2001
From: bobzel <zzzman@gmail.com>
Date: Thu, 3 Apr 2025 14:15:15 -0400
Subject: fixed image box button sizing. made drawing ai regen a little faster
 by not creating icons when there are no annotqations.

---
 src/client/views/smartdraw/DrawingFillHandler.tsx | 75 +++++++++++------------
 1 file changed, 36 insertions(+), 39 deletions(-)

(limited to 'src/client/views/smartdraw/DrawingFillHandler.tsx')

diff --git a/src/client/views/smartdraw/DrawingFillHandler.tsx b/src/client/views/smartdraw/DrawingFillHandler.tsx
index d8ef8308d..a91ec23b8 100644
--- a/src/client/views/smartdraw/DrawingFillHandler.tsx
+++ b/src/client/views/smartdraw/DrawingFillHandler.tsx
@@ -1,4 +1,3 @@
-import { imageUrlToBase64 } from '../../../ClientUtils';
 import { Doc, StrListCast } from '../../../fields/Doc';
 import { List } from '../../../fields/List';
 import { DocCast, ImageCast, StrCast } from '../../../fields/Types';
@@ -42,44 +41,42 @@ export class DrawingFillHandler {
                 const { href } = ImageCast(imageField).url;
                 const hrefParts = href.split('.');
                 const structureUrl = `${hrefParts.slice(0, -1).join('.')}_o.${hrefParts.lastElement()}`;
-                return imageUrlToBase64(structureUrl)
-                    .then(gptDescribeImage)
-                    .then((prompt, newPrompt = user_prompt || prompt) =>
-                        Networking.PostToServer('/queryFireflyImageFromStructure', { prompt: `${newPrompt}`, width: dims.width, height: dims.height, structureUrl, strength, presets: styles, styleUrl })
-                            .then(res => {
-                                const error = ('error' in res && (res.error as string)) || '';
-                                if (error.includes('Dropbox') && confirm('Create image failed. Try authorizing DropBox?\r\n' + error.replace(/^[^"]*/, ''))) {
-                                    window.open(`https://www.dropbox.com/oauth2/authorize?client_id=${DashDropboxId}&response_type=code&token_access_type=offline&redirect_uri=http://localhost:1050/refreshDropbox`, '_blank')?.focus();
-                                    return;
-                                }
-                                const genratedDocs = DocCast(drawing.ai_firefly_generatedDocs) ?? Docs.Create.MasonryDocument([], { title: StrCast(drawing.title) + ' AI Images', _width: 400, _height: 400 });
-                                drawing.$ai_firefly_generatedDocs = genratedDocs;
-                                (res as Upload.ImageInformation[]).map(info =>
-                                    Doc.AddDocToList(
-                                        genratedDocs,
-                                        undefined,
-                                        Docs.Create.ImageDocument(info.accessPaths.agnostic.client, {
-                                            ai: 'firefly',
-                                            tags: new List<string>(['@ai']),
-                                            title: newPrompt,
-                                            _data_usePath: 'alternate:hover',
-                                            data_alternates: new List<Doc>([drawing]),
-                                            ai_firefly_prompt: newPrompt,
-                                            _width: 500,
-                                            data_nativeWidth: info.nativeWidth,
-                                            data_nativeHeight: info.nativeHeight,
-                                        }),
-                                        undefined,
-                                        undefined,
-                                        true
-                                    )
-                                );
-                                if (!DocumentView.getFirstDocumentView(genratedDocs)) DocumentViewInternal.addDocTabFunc(genratedDocs, OpenWhere.addRight);
-                            })
-                            .catch(e => {
-                                alert(e.toString());
-                            })
-                    ); // prettier-ignore:q
+                return gptDescribeImage(user_prompt, structureUrl).then(newPrompt =>
+                    Networking.PostToServer('/queryFireflyImageFromStructure', { prompt: `${newPrompt}`, width: dims.width, height: dims.height, structureUrl, strength, presets: styles, styleUrl })
+                        .then(res => {
+                            const error = ('error' in res && (res.error as string)) || '';
+                            if (error.includes('Dropbox') && confirm('Create image failed. Try authorizing DropBox?\r\n' + error.replace(/^[^"]*/, ''))) {
+                                window.open(`https://www.dropbox.com/oauth2/authorize?client_id=${DashDropboxId}&response_type=code&token_access_type=offline&redirect_uri=http://localhost:1050/refreshDropbox`, '_blank')?.focus();
+                                return;
+                            }
+                            const genratedDocs = DocCast(drawing.ai_firefly_generatedDocs) ?? Docs.Create.MasonryDocument([], { title: StrCast(drawing.title) + ' AI Images', _width: 400, _height: 400 });
+                            drawing.$ai_firefly_generatedDocs = genratedDocs;
+                            (res as Upload.ImageInformation[]).map(info =>
+                                Doc.AddDocToList(
+                                    genratedDocs,
+                                    undefined,
+                                    Docs.Create.ImageDocument(info.accessPaths.agnostic.client, {
+                                        ai: 'firefly',
+                                        tags: new List<string>(['@ai']),
+                                        title: newPrompt,
+                                        _data_usePath: 'alternate:hover',
+                                        data_alternates: new List<Doc>([drawing]),
+                                        ai_firefly_prompt: newPrompt,
+                                        _width: 500,
+                                        data_nativeWidth: info.nativeWidth,
+                                        data_nativeHeight: info.nativeHeight,
+                                    }),
+                                    undefined,
+                                    undefined,
+                                    true
+                                )
+                            );
+                            if (!DocumentView.getFirstDocumentView(genratedDocs)) DocumentViewInternal.addDocTabFunc(genratedDocs, OpenWhere.addRight);
+                        })
+                        .catch(e => {
+                            alert(e.toString());
+                        })
+                ); // prettier-ignore:q
             }
         });
     };
-- 
cgit v1.2.3-70-g09d2

