diff --git a/src/frontend/src/CustomNodes/GenericNode/index.tsx b/src/frontend/src/CustomNodes/GenericNode/index.tsx index 17131ea7a..783c86072 100644 --- a/src/frontend/src/CustomNodes/GenericNode/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/index.tsx @@ -47,8 +47,6 @@ export default function GenericNode({ } }, []); - useEffect(() => {}, [closePopUp]); - const validateNode = useCallback( debounce(async () => { try { @@ -87,6 +85,8 @@ export default function GenericNode({ return; } + useEffect(() => {}, [closePopUp, data.node.template]); + return ( <> diff --git a/src/frontend/src/components/ShadTooltipComponent/index.tsx b/src/frontend/src/components/ShadTooltipComponent/index.tsx index 6dfde8f8f..44ffac075 100644 --- a/src/frontend/src/components/ShadTooltipComponent/index.tsx +++ b/src/frontend/src/components/ShadTooltipComponent/index.tsx @@ -10,15 +10,14 @@ const ShadTooltip = (props) => { {props.children} - {props.open && ( - - {props.content} - - )} + + + {props.content} + ); diff --git a/src/frontend/src/components/codeAreaComponent/index.tsx b/src/frontend/src/components/codeAreaComponent/index.tsx index 137e0917e..399ab40b2 100644 --- a/src/frontend/src/components/codeAreaComponent/index.tsx +++ b/src/frontend/src/components/codeAreaComponent/index.tsx @@ -20,13 +20,18 @@ export default function CodeAreaComponent({ onChange(""); } }, [disabled, onChange]); + + useEffect(() => { + setMyValue(value); + }, [value]); + return (
-
+
{ openPopUp( @@ -41,7 +46,7 @@ export default function CodeAreaComponent({ }} className={ editNode - ? "truncate cursor-pointer placeholder:text-center text-gray-500 border-0 block w-full pt-0.5 pb-0.5 form-input dark:bg-gray-900 dark:text-gray-300 dark:border-gray-600 rounded-md border-gray-300 shadow-sm sm:text-sm" + + ? "truncate cursor-pointer placeholder:text-center text-gray-500 block w-full pt-0.5 pb-0.5 form-input dark:bg-gray-900 dark:text-gray-300 dark:border-gray-600 rounded-md border-gray-300 border-1 shadow-sm sm:text-sm" + INPUT_STYLE : "truncate block w-full text-gray-500 px-3 py-2 rounded-md border border-gray-300 dark:border-gray-700 shadow-sm sm:text-sm" + INPUT_STYLE + @@ -64,7 +69,7 @@ export default function CodeAreaComponent({ }} > {!editNode && ( - + )}
diff --git a/src/frontend/src/components/dropdownComponent/index.tsx b/src/frontend/src/components/dropdownComponent/index.tsx index c6ed00ab9..641731574 100644 --- a/src/frontend/src/components/dropdownComponent/index.tsx +++ b/src/frontend/src/components/dropdownComponent/index.tsx @@ -31,7 +31,7 @@ export default function Dropdown({ {internalValue} diff --git a/src/frontend/src/components/floatComponent/index.tsx b/src/frontend/src/components/floatComponent/index.tsx index 8fef867ab..2fc80962b 100644 --- a/src/frontend/src/components/floatComponent/index.tsx +++ b/src/frontend/src/components/floatComponent/index.tsx @@ -23,6 +23,11 @@ export default function FloatComponent({ onChange(""); } }, [disabled, onChange]); + + useEffect(() => { + setMyValue(value); + }, [value]); + return (
{ - Edit @@ -119,7 +109,7 @@ export const MenuBar = ({ flows, tabId }) => { - +
); }; diff --git a/src/frontend/src/components/inputFileComponent/index.tsx b/src/frontend/src/components/inputFileComponent/index.tsx index 01613d28e..9f801138f 100644 --- a/src/frontend/src/components/inputFileComponent/index.tsx +++ b/src/frontend/src/components/inputFileComponent/index.tsx @@ -78,7 +78,7 @@ export default function InputFileComponent({ onClick={handleButtonClick} className={ editNode - ? "truncate placeholder:text-center text-gray-500 border-0 block w-full pt-0.5 pb-0.5 form-input dark:bg-gray-900 dark:text-gray-300 dark:border-gray-600 rounded-md border-gray-300 shadow-sm sm:text-sm" + + ? "truncate placeholder:text-center text-gray-500 block w-full pt-0.5 pb-0.5 form-input dark:bg-gray-900 dark:text-gray-300 dark:border-gray-600 rounded-md border-gray-300 shadow-sm sm:text-sm border-1" + INPUT_STYLE : "truncate block w-full text-gray-500 dark:text-gray-300 px-3 py-2 rounded-md border border-gray-300 dark:border-gray-700 shadow-sm sm:text-sm" + INPUT_STYLE + diff --git a/src/frontend/src/components/intComponent/index.tsx b/src/frontend/src/components/intComponent/index.tsx index 962b4dd2b..1c1bc9872 100644 --- a/src/frontend/src/components/intComponent/index.tsx +++ b/src/frontend/src/components/intComponent/index.tsx @@ -21,6 +21,11 @@ export default function IntComponent({ onChange(""); } }, [disabled, onChange]); + + useEffect(() => { + setMyValue(value); + }, [value]); + return (
{ + setMyValue(value); + }, [value]); + return (
{}, - getNodeId: (nodeType:string) => "", + getNodeId: (nodeType: string) => "", paste: ( selection: { nodes: any; edges: any }, position: { x: number; y: number; paneX?: number; paneY?: number } @@ -281,8 +281,8 @@ export function TabsProvider({ children }: { children: ReactNode }) { }); } - function getNodeId(nodeType:string) { - return nodeType+"-"+incrementNodeId(); + function getNodeId(nodeType: string) { + return nodeType + "-" + incrementNodeId(); } /** @@ -376,7 +376,7 @@ export function TabsProvider({ children }: { children: ReactNode }) { ? { x: position.paneX + position.x, y: position.paneY + position.y } : reactFlowInstance.project({ x: position.x, y: position.y }); - selectionInstance.nodes.forEach((n:NodeType) => { + selectionInstance.nodes.forEach((n: NodeType) => { // Generate a unique node ID let newId = getNodeId(n.data.type); idsMap[n.id] = newId; diff --git a/src/frontend/src/index.css b/src/frontend/src/index.css index 4d0274bf7..31c52221c 100644 --- a/src/frontend/src/index.css +++ b/src/frontend/src/index.css @@ -33,8 +33,8 @@ --ring: 215 20.2% 65.1%; /* hsl(215 20% 65%) */ - --radius: 0.5rem; - } + --radius: 0.5rem; + } .dark { --background: 224 71% 4%; /* hsl(224 71% 4%) */ @@ -66,9 +66,9 @@ --ring: 216 34% 17%; /* hsl(216 34% 17%) */ - --radius: 0.5rem; - } + --radius: 0.5rem; } +} :root { --background: 0 0% 100%; /* hsl(0 0% 100%) */ @@ -94,25 +94,44 @@ } .dark { - -background: 224 71% 4%; /* hsl(224 71% 4%) */ - -foreground: 213 31% 91%; /* hsl(213 31% 91%) */ - -muted: 223 47% 11%; /* hsl(223 47% 11%) */ - -muted-foreground: 215.4 16.3% 56.9%; /* hsl(215 16% 56%) */ - -popover: 224 71% 4%; /* hsl(224 71% 4%) */ - -popover-foreground: 215 20.2% 65.1%; /* hsl(215 20% 65%) */ - -card: 224 71% 4%; /* hsl(224 71% 4%) */ - -card-foreground: 213 31% 91%; /* hsl(213 31% 91%) */ - -border: 216 34% 17%; /* hsl(216 34% 17%) */ - -input: 216 34% 17%; /* hsl(216 34% 17%) */ - -primary: 210 40% 98%; /* hsl(210 40% 98%) */ - -primary-foreground: 222.2 47.4% 1.2%; /* hsl(222 47% 1%) */ - -secondary: 222.2 47.4% 11.2%; /* hsl(222 47% 11%) */ - -secondary-foreground: 210 40% 98%; /* hsl(210 40% 98%) */ - -accent: 216 34% 17%; /* hsl(216 34% 17%) */ - -accent-foreground: 210 40% 98%; /* hsl(210 40% 98%) */ - -destructive: 0 63% 31%; /* hsl(0 63% 31%) */ - -destructive-foreground: 210 40% 98%; /* hsl(210 40% 98%) */ - -ring: 216 34% 17%; /* hsl(216 34% 17%) */ + -background: 224 71% 4%; + /* hsl(224 71% 4%) */ + -foreground: 213 31% 91%; + /* hsl(213 31% 91%) */ + -muted: 223 47% 11%; + /* hsl(223 47% 11%) */ + -muted-foreground: 215.4 16.3% 56.9%; + /* hsl(215 16% 56%) */ + -popover: 224 71% 4%; + /* hsl(224 71% 4%) */ + -popover-foreground: 215 20.2% 65.1%; + /* hsl(215 20% 65%) */ + -card: 224 71% 4%; + /* hsl(224 71% 4%) */ + -card-foreground: 213 31% 91%; + /* hsl(213 31% 91%) */ + -border: 216 34% 17%; + /* hsl(216 34% 17%) */ + -input: 216 34% 17%; + /* hsl(216 34% 17%) */ + -primary: 210 40% 98%; + /* hsl(210 40% 98%) */ + -primary-foreground: 222.2 47.4% 1.2%; + /* hsl(222 47% 1%) */ + -secondary: 222.2 47.4% 11.2%; + /* hsl(222 47% 11%) */ + -secondary-foreground: 210 40% 98%; + /* hsl(210 40% 98%) */ + -accent: 216 34% 17%; + /* hsl(216 34% 17%) */ + -accent-foreground: 210 40% 98%; + /* hsl(210 40% 98%) */ + -destructive: 0 63% 31%; + /* hsl(0 63% 31%) */ + -destructive-foreground: 210 40% 98%; + /* hsl(210 40% 98%) */ + -ring: 216 34% 17%; + /* hsl(216 34% 17%) */ -radius: 0.5rem; } diff --git a/src/frontend/src/modals/EditNodeModal/index.tsx b/src/frontend/src/modals/EditNodeModal/index.tsx index cb603b35f..316303c92 100644 --- a/src/frontend/src/modals/EditNodeModal/index.tsx +++ b/src/frontend/src/modals/EditNodeModal/index.tsx @@ -33,6 +33,7 @@ import { DialogTrigger, } from "../../components/ui/dialog"; import { Button } from "../../components/ui/button"; +import { Edit } from "lucide-react"; import { Badge } from "../../components/ui/badge"; export default function EditNodeModal({ data }: { data: NodeDataType }) { @@ -55,7 +56,6 @@ export default function EditNodeModal({ data }: { data: NodeDataType }) { const { closePopUp } = useContext(PopUpContext); const { types } = useContext(typesContext); const ref = useRef(); - const { save } = useContext(TabsContext); const [enabled, setEnabled] = useState(null); if (nodeLength == 0) { closePopUp(); @@ -160,7 +160,6 @@ export default function EditNodeModal({ data }: { data: NodeDataType }) { } onChange={(t: string[]) => { data.node.template[n].value = t; - save(); }} /> ) : data.node.template[n].multiline ? ( @@ -170,7 +169,6 @@ export default function EditNodeModal({ data }: { data: NodeDataType }) { value={data.node.template[n].value ?? ""} onChange={(t: string) => { data.node.template[n].value = t; - save(); }} /> ) : ( @@ -183,7 +181,6 @@ export default function EditNodeModal({ data }: { data: NodeDataType }) { value={data.node.template[n].value ?? ""} onChange={(t) => { data.node.template[n].value = t; - save(); }} /> )} @@ -196,7 +193,6 @@ export default function EditNodeModal({ data }: { data: NodeDataType }) { setEnabled={(e) => { data.node.template[n].value = e; setEnabled(e); - save(); }} size="small" disabled={false} @@ -210,7 +206,6 @@ export default function EditNodeModal({ data }: { data: NodeDataType }) { value={data.node.template[n].value ?? ""} onChange={(t) => { data.node.template[n].value = t; - save(); }} />
@@ -238,7 +233,6 @@ export default function EditNodeModal({ data }: { data: NodeDataType }) { value={data.node.template[n].value ?? ""} onChange={(t) => { data.node.template[n].value = t; - save(); }} />
@@ -255,7 +249,6 @@ export default function EditNodeModal({ data }: { data: NodeDataType }) { suffixes={data.node.template[n].suffixes} onFileChange={(t: string) => { data.node.template[n].content = t; - save(); }} >
@@ -267,7 +260,6 @@ export default function EditNodeModal({ data }: { data: NodeDataType }) { value={data.node.template[n].value ?? ""} onChange={(t: string) => { data.node.template[n].value = t; - save(); }} /> @@ -279,7 +271,6 @@ export default function EditNodeModal({ data }: { data: NodeDataType }) { value={data.node.template[n].value ?? ""} onChange={(t: string) => { data.node.template[n].value = t; - save(); }} /> diff --git a/src/frontend/src/modals/NodeModal/components/ModalField/index.tsx b/src/frontend/src/modals/NodeModal/components/ModalField/index.tsx index 0890b25a1..f5f0fb668 100644 --- a/src/frontend/src/modals/NodeModal/components/ModalField/index.tsx +++ b/src/frontend/src/modals/NodeModal/components/ModalField/index.tsx @@ -21,7 +21,6 @@ export default function ModalField({ type, index, }) { - const { save } = useContext(TabsContext); const [enabled, setEnabled] = useState( data.node.template[name]?.value ?? false ); @@ -71,7 +70,6 @@ export default function ModalField({ } onChange={(t: string[]) => { data.node.template[name].value = t; - save(); }} /> ) : data.node.template[name].multiline ? ( @@ -80,7 +78,6 @@ export default function ModalField({ value={data.node.template[name].value ?? ""} onChange={(t: string) => { data.node.template[name].value = t; - save(); }} /> ) : ( @@ -90,7 +87,6 @@ export default function ModalField({ value={data.node.template[name].value ?? ""} onChange={(t) => { data.node.template[name].value = t; - save(); }} /> )} @@ -104,7 +100,6 @@ export default function ModalField({ setEnabled={(t) => { data.node.template[name].value = t; setEnabled(t); - save(); }} /> @@ -115,7 +110,6 @@ export default function ModalField({ value={data.node.template[name].value ?? ""} onChange={(t) => { data.node.template[name].value = t; - save(); }} /> @@ -134,7 +128,6 @@ export default function ModalField({ value={data.node.template[name].value ?? ""} onChange={(t) => { data.node.template[name].value = t; - save(); }} /> @@ -150,7 +143,6 @@ export default function ModalField({ suffixes={data.node.template[name].suffixes} onFileChange={(t: string) => { data.node.template[name].content = t; - save(); }} > @@ -161,7 +153,6 @@ export default function ModalField({ value={data.node.template[name].value ?? ""} onChange={(t: string) => { data.node.template[name].value = t; - save(); }} /> @@ -172,7 +163,6 @@ export default function ModalField({ value={data.node.template[name].value ?? ""} onChange={(t: string) => { data.node.template[name].value = t; - save(); }} /> diff --git a/src/frontend/src/modals/exportModal/index.tsx b/src/frontend/src/modals/exportModal/index.tsx index 05076665f..5f0977d71 100644 --- a/src/frontend/src/modals/exportModal/index.tsx +++ b/src/frontend/src/modals/exportModal/index.tsx @@ -16,6 +16,7 @@ import { import { Button } from "../../components/ui/button"; import { Checkbox } from "../../components/ui/checkbox"; import { EXPORT_DIALOG_SUBTITLE } from "../../constants"; +import { Download } from "lucide-react"; import EditFlowSettings from "../../components/EditFlowSettingsComponent"; export default function ExportModal() { @@ -45,7 +46,7 @@ export default function ExportModal() { Export -