From 68a777b230b9cbdf4f0baf4bdce7b0478563392c Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Sun, 10 Dec 2023 23:26:07 -0300 Subject: [PATCH] Put component and flow export into share modal --- src/frontend/src/modals/shareModal/index.tsx | 31 +++++- .../extraSidebarComponent/index.tsx | 100 ++++++++---------- .../components/nodeToolbarComponent/index.tsx | 20 ++-- 3 files changed, 82 insertions(+), 69 deletions(-) diff --git a/src/frontend/src/modals/shareModal/index.tsx b/src/frontend/src/modals/shareModal/index.tsx index a6941c618..996f36dda 100644 --- a/src/frontend/src/modals/shareModal/index.tsx +++ b/src/frontend/src/modals/shareModal/index.tsx @@ -17,6 +17,7 @@ import { } from "../../controllers/API"; import { FlowType } from "../../types/flow"; import { + downloadNode, removeApiKeys, removeFileNameFromComponents, } from "../../utils/reactflowUtils"; @@ -39,7 +40,7 @@ export default function ShareModal({ setOpen?: (open: boolean) => void; disabled?: boolean; }): JSX.Element { - const { version, addFlow } = useContext(FlowsContext); + const { version, addFlow, downloadFlow } = useContext(FlowsContext); const { hasApiKey, hasStore } = useContext(StoreContext); const { setSuccessData, setErrorData } = useContext(alertContext); const { reactFlowInstance } = useContext(typesContext); @@ -155,6 +156,13 @@ export default function ShareModal({ else internalSetOpen(false); }; + const handleExportComponent = () => { + if (!checked) { + component = removeApiKeys(component); + } + downloadNode(component); + }; + let modalConfirmation = useMemo(() => { return ( <> @@ -205,7 +213,9 @@ export default function ShareModal({ open={(!disabled && open) ?? internalOpen} setOpen={setOpen ?? internalSetOpen} > - {children ? children : <>} + + {children ? children : <>} + @@ -262,10 +272,23 @@ export default function ShareModal({ -
+
+ - ) : ( - - - - ), + + ), [hasApiKey, validApiKey, flow, hasStore] ); @@ -270,7 +250,7 @@ export default function ExtraSidebar(): JSX.Element {
-
{ExportMemo}
+ {!hasStore && ExportMemo}
{flow && flow.data && ( @@ -295,36 +275,44 @@ export default function ExtraSidebar(): JSX.Element {
{flow && flow.data && ( -
- -
+ /> +
)}
- -
{ModalMemo}
-
+ {hasStore && ( + +
{ModalMemo}
+
+ )}
diff --git a/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx index e6024e46f..18d242453 100644 --- a/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx +++ b/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx @@ -257,15 +257,17 @@ export default function NodeToolbarComponent({
{" "} )} - -
- {" "} - Download{" "} -
{" "} -
+ {!hasStore && ( + +
+ {" "} + Download{" "} +
{" "} +
+ )} {isMinimal && (