From 1269f2c371f9fd2f2d6c3f8e2137f9eef5394b4f Mon Sep 17 00:00:00 2001 From: anovazzi1 Date: Wed, 5 Apr 2023 22:27:21 -0300 Subject: [PATCH 1/3] prompt component created with verification --- .../components/parameterComponent/index.tsx | 15 +- .../src/components/promptComponent/index.tsx | 35 ++++ src/frontend/src/controllers/API/index.ts | 7 +- .../src/modals/codeAreaModal/index.tsx | 1 - src/frontend/src/modals/promptModal/index.tsx | 153 ++++++++++++++++++ src/frontend/src/types/api/index.ts | 3 +- 6 files changed, 208 insertions(+), 6 deletions(-) create mode 100644 src/frontend/src/components/promptComponent/index.tsx create mode 100644 src/frontend/src/modals/promptModal/index.tsx diff --git a/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx b/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx index 6bf038066..1a2eeb9e6 100644 --- a/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx @@ -14,6 +14,7 @@ import CodeAreaComponent from "../../../../components/codeAreaComponent"; import InputFileComponent from "../../../../components/inputFileComponent"; import { TabsContext } from "../../../../contexts/tabsContext"; import IntComponent from "../../../../components/intComponent"; +import PromptAreaComponent from "../../../../components/promptComponent"; export default function ParameterComponent({ left, @@ -63,6 +64,7 @@ export default function ParameterComponent({ type === "bool" || type === "float" || type === "code" || + type === "prompt" || type === "file" || type === "int") ? ( <> @@ -187,9 +189,16 @@ export default function ParameterComponent({ save(); }} /> - ) : ( - <> - )} + ) : left === true && type === "prompt" ? ( + { + data.node.template[name].value = t; + save(); + }} + /> + ):(<>)} ); diff --git a/src/frontend/src/components/promptComponent/index.tsx b/src/frontend/src/components/promptComponent/index.tsx new file mode 100644 index 000000000..6ad51f87b --- /dev/null +++ b/src/frontend/src/components/promptComponent/index.tsx @@ -0,0 +1,35 @@ +import { ArrowTopRightOnSquareIcon } from "@heroicons/react/24/outline"; +import { useContext, useEffect, useState } from "react"; +import { PopUpContext } from "../../contexts/popUpContext"; +import CodeAreaModal from "../../modals/codeAreaModal"; +import TextAreaModal from "../../modals/textAreaModal"; +import { TextAreaComponentType } from "../../types/components"; +import PromptAreaModal from "../../modals/promptModal"; + +export default function PromptAreaComponent({ value, onChange, disabled }:TextAreaComponentType) { + const [myValue, setMyValue] = useState(value); + const { openPopUp } = useContext(PopUpContext); + useEffect(() => { + if (disabled) { + setMyValue(""); + onChange(""); + } + }, [disabled, onChange]); + return ( +
+
+ + {myValue !== "" ? myValue : 'Text empty'} + + +
+
+ ); +} diff --git a/src/frontend/src/controllers/API/index.ts b/src/frontend/src/controllers/API/index.ts index bad966ea9..8fa7ff527 100644 --- a/src/frontend/src/controllers/API/index.ts +++ b/src/frontend/src/controllers/API/index.ts @@ -1,4 +1,4 @@ -import { errorsTypeAPI } from './../../types/api/index'; +import { PromptTypeAPI, errorsTypeAPI } from './../../types/api/index'; import { APIObjectType, sendAllProps } from '../../types/api/index'; import axios, { AxiosResponse } from "axios"; @@ -13,4 +13,9 @@ export async function sendAll(data:sendAllProps) { export async function checkCode(code:string):Promise>{ return await axios.post('/validate/code',{code}) +} + +export async function checkPrompt(template:string):Promise>{ + + return await axios.post('/validate/prompt',{template}) } \ No newline at end of file diff --git a/src/frontend/src/modals/codeAreaModal/index.tsx b/src/frontend/src/modals/codeAreaModal/index.tsx index 72b40ed40..db4de60f4 100644 --- a/src/frontend/src/modals/codeAreaModal/index.tsx +++ b/src/frontend/src/modals/codeAreaModal/index.tsx @@ -96,7 +96,6 @@ export default function CodeAreaModal({
- {/* need to insert code editor */} void; + value: string; +}) { + const [open, setOpen] = useState(true); + const [myValue, setMyValue] = useState(value); + const { dark } = useContext(darkContext); + const { setErrorData, setSuccessData } = useContext(alertContext); + const { closePopUp } = useContext(PopUpContext); + const ref = useRef(); + function setModalOpen(x: boolean) { + setOpen(x); + if (x === false) { + setTimeout(() => { + closePopUp(); + }, 300); + } + } + return ( + + + +
+ + +
+
+ + +
+ +
+
+
+
+
+
+ + Edit Prompt + +
+
+
+
+
+