From f60a8539a4b1fd0c9b3249b94bff011fd7f742e5 Mon Sep 17 00:00:00 2001 From: Nathan-SR <144961007+Nathan-SR@users.noreply.github.com> Date: Fri, 9 May 2025 19:15:29 -0400 Subject: bunch of changes, everything still broken --- .../Menu/SuggestedTemplatesWindow.tsx | 81 ------------- .../DocCreatorMenu/Menu/TemplateEditingWindow.tsx | 134 +++++++++++++++++++++ .../DocCreatorMenu/Menu/TemplatePreviewBox.tsx | 31 ++++- .../Menu/TemplatesSidescrollDisplay.tsx | 60 +++++++++ 4 files changed, 223 insertions(+), 83 deletions(-) delete mode 100644 src/client/views/nodes/DataVizBox/DocCreatorMenu/Menu/SuggestedTemplatesWindow.tsx create mode 100644 src/client/views/nodes/DataVizBox/DocCreatorMenu/Menu/TemplateEditingWindow.tsx create mode 100644 src/client/views/nodes/DataVizBox/DocCreatorMenu/Menu/TemplatesSidescrollDisplay.tsx (limited to 'src/client/views/nodes/DataVizBox/DocCreatorMenu/Menu') diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/Menu/SuggestedTemplatesWindow.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/Menu/SuggestedTemplatesWindow.tsx deleted file mode 100644 index 517a998d9..000000000 --- a/src/client/views/nodes/DataVizBox/DocCreatorMenu/Menu/SuggestedTemplatesWindow.tsx +++ /dev/null @@ -1,81 +0,0 @@ -import { Colors } from "@dash/components/src"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { action, observable, runInAction } from "mobx"; -import React from "react"; -import ReactLoading from "react-loading"; -import { Doc } from "../../../../../../fields/Doc"; -import { StrCast } from "../../../../../../fields/Types"; -import { ObservableReactComponent } from "../../../../ObservableReactComponent"; -import { Template } from "../Template"; -import { observer } from "mobx-react"; -import { DocCreatorMenu } from "../DocCreatorMenu"; -import { TemplatePreviewBox } from "./TemplatePreviewBox"; - -export interface SuggestedTemplatesProps { - menu: DocCreatorMenu; - setupButtonClick: (e: React.PointerEvent, func: () => void) => void; -} - -@observer -export class SuggestedTemplatesWindow extends ObservableReactComponent { - - @observable _GPTLoading: boolean = false; - - @observable _suggestedTemplates: Template[] = []; - @observable _userTemplates: Template[] = []; - - @action addUserTemplate = (template: Template) => { this._userTemplates.push(template) }; - @action removeUserTemplate = (template: Template) => { this._userTemplates.splice(this._userTemplates.indexOf(template), 1) }; - - render() { - return ( -
-
-
-
-
Suggested Templates
- -
-
400 ? 'center' : '' }}> - {this._suggestedTemplates.map(template => ( - { this.props.menu.setExpandedView(template); this.forceUpdate(); }]} - rightButtonOpts={["plus", (template: Template) => this.addUserTemplate(template)]} - /> - ))} -
-
-
- -
-
-
-
-
-
-
Your Templates
- -
-
400 ? 'center' : '' }}> - {this._userTemplates.map(template => ( - - ))} -
-
-
-
- ); - } -} \ No newline at end of file diff --git a/src/client/views/nodes/DataVizBox/DocCreatorMenu/Menu/TemplateEditingWindow.tsx b/src/client/views/nodes/DataVizBox/DocCreatorMenu/Menu/TemplateEditingWindow.tsx new file mode 100644 index 000000000..fe7822087 --- /dev/null +++ b/src/client/views/nodes/DataVizBox/DocCreatorMenu/Menu/TemplateEditingWindow.tsx @@ -0,0 +1,134 @@ +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { action, observable, runInAction } from "mobx"; +import React from "react"; +import { returnFalse, returnEmptyFilter } from "../../../../../../ClientUtils"; +import { emptyFunction } from "../../../../../../Utils"; +import { Doc, returnEmptyDoclist } from "../../../../../../fields/Doc"; +import { DefaultStyleProvider } from "../../../../StyleProvider"; +import { DocumentView, DocumentViewInternal } from "../../../DocumentView"; +import { DocCreatorMenu } from "../DocCreatorMenu"; +import { TemplateSidescrollView } from "./TemplatesSidescrollDisplay"; +import { observer } from "mobx-react"; +import { Transform } from "../../../../../util/Transform"; +import { Template } from "../Template"; +import { TemplateMenuAIUtils } from "../Backend/TemplateMenuAIUtils"; +import { ObservableReactComponent } from "../../../../ObservableReactComponent"; + +interface TemplateEditingWindowProps { + menu: DocCreatorMenu; + template: Template; + setupButtonClick: (e: React.PointerEvent, func: () => void) => void; +} + +@observer +export class TemplateEditingWindow extends ObservableReactComponent { + + private fireflyPrompt: string = 'Use this template to generate an empty baseball card template.'; + private previewWindow: HTMLDivElement | null = null; + + @observable _variationsTabOpen: boolean = false; + @observable _variations: Doc[] = []; + + setContainerRef: React.LegacyRef = (node) => { + this.previewWindow = node; + } + + @action setVariationTab = (open: boolean) => { + this._variationsTabOpen = open; + if (this.previewWindow && open) { + this.previewWindow.style.height = String(Number(this.previewWindow.clientHeight) * .6); + } else if (this.previewWindow && !open) { + this.previewWindow.style.height = String(Number(this.previewWindow.clientHeight) * 5/3); + } + } + + get fireflyVariationsTab() { + + return ( + <> + +
+
+