diff --git a/src/frontend/src/App.tsx b/src/frontend/src/App.tsx index 0088081ae..7335da19d 100644 --- a/src/frontend/src/App.tsx +++ b/src/frontend/src/App.tsx @@ -1,19 +1,20 @@ -import _ from "lodash"; -import { useContext, useEffect, useState } from "react"; -import { useLocation } from "react-router-dom"; import "reactflow/dist/style.css"; +import { useState, useEffect, useContext } from "react"; import "./App.css"; +import { useLocation } from "react-router-dom"; +import _ from "lodash"; -import { ErrorBoundary } from "react-error-boundary"; import ErrorAlert from "./alerts/error"; import NoticeAlert from "./alerts/notice"; import SuccessAlert from "./alerts/success"; -import CrashErrorComponent from "./components/CrashErrorComponent"; -import Header from "./components/headerComponent"; import { alertContext } from "./contexts/alertContext"; import { locationContext } from "./contexts/locationContext"; +import { ErrorBoundary } from "react-error-boundary"; +import CrashErrorComponent from "./components/CrashErrorComponent"; import { TabsContext } from "./contexts/tabsContext"; +import { getVersion } from "./controllers/API"; import Router from "./routes"; +import Header from "./components/headerComponent"; export default function App() { let { setCurrent, setShowSideBar, setIsStackedOpen } = diff --git a/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx b/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx index d8208e5f2..8e22eafac 100644 --- a/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx @@ -1,30 +1,31 @@ -import { Info } from "lucide-react"; -import React, { useContext, useEffect, useRef, useState } from "react"; import { Handle, Position, useUpdateNodeInternals } from "reactflow"; -import ShadTooltip from "../../../../components/ShadTooltipComponent"; -import CodeAreaComponent from "../../../../components/codeAreaComponent"; -import Dropdown from "../../../../components/dropdownComponent"; -import FloatComponent from "../../../../components/floatComponent"; -import InputComponent from "../../../../components/inputComponent"; -import InputFileComponent from "../../../../components/inputFileComponent"; -import InputListComponent from "../../../../components/inputListComponent"; -import IntComponent from "../../../../components/intComponent"; -import PromptAreaComponent from "../../../../components/promptComponent"; -import TextAreaComponent from "../../../../components/textAreaComponent"; -import ToggleShadComponent from "../../../../components/toggleShadComponent"; -import { PopUpContext } from "../../../../contexts/popUpContext"; -import { TabsContext } from "../../../../contexts/tabsContext"; -import { typesContext } from "../../../../contexts/typesContext"; -import { ParameterComponentType } from "../../../../types/components"; import { classNames, getRandomKeyByssmm, groupByFamily, isValidConnection, - nodeColors, nodeIconsLucide, - nodeNames, } from "../../../../utils"; +import { useContext, useEffect, useRef, useState } from "react"; +import InputComponent from "../../../../components/inputComponent"; +import InputListComponent from "../../../../components/inputListComponent"; +import TextAreaComponent from "../../../../components/textAreaComponent"; +import { typesContext } from "../../../../contexts/typesContext"; +import { ParameterComponentType } from "../../../../types/components"; +import FloatComponent from "../../../../components/floatComponent"; +import Dropdown from "../../../../components/dropdownComponent"; +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"; +import { nodeNames } from "../../../../utils"; +import React from "react"; +import { nodeColors } from "../../../../utils"; +import ShadTooltip from "../../../../components/ShadTooltipComponent"; +import { PopUpContext } from "../../../../contexts/popUpContext"; +import ToggleShadComponent from "../../../../components/toggleShadComponent"; +import { Info } from "lucide-react"; export default function ParameterComponent({ left, diff --git a/src/frontend/src/CustomNodes/GenericNode/index.tsx b/src/frontend/src/CustomNodes/GenericNode/index.tsx index 197132e81..313be210c 100644 --- a/src/frontend/src/CustomNodes/GenericNode/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/index.tsx @@ -1,15 +1,3 @@ -import { Zap } from "lucide-react"; -import { useContext, useEffect, useRef, useState } from "react"; -import { NodeToolbar } from "reactflow"; -import ShadTooltip from "../../components/ShadTooltipComponent"; -import Tooltip from "../../components/TooltipComponent"; -import { useSSE } from "../../contexts/SSEContext"; -import { alertContext } from "../../contexts/alertContext"; -import { PopUpContext } from "../../contexts/popUpContext"; -import { typesContext } from "../../contexts/typesContext"; -import NodeModal from "../../modals/NodeModal"; -import NodeToolbarComponent from "../../pages/FlowPage/components/nodeToolbarComponent"; -import { NodeDataType } from "../../types/flow"; import { classNames, nodeColors, @@ -17,6 +5,18 @@ import { toTitleCase, } from "../../utils"; import ParameterComponent from "./components/parameterComponent"; +import { typesContext } from "../../contexts/typesContext"; +import { useContext, useState, useEffect, useRef } from "react"; +import { NodeDataType } from "../../types/flow"; +import { alertContext } from "../../contexts/alertContext"; +import { PopUpContext } from "../../contexts/popUpContext"; +import NodeModal from "../../modals/NodeModal"; +import Tooltip from "../../components/TooltipComponent"; +import { NodeToolbar } from "reactflow"; +import NodeToolbarComponent from "../../pages/FlowPage/components/nodeToolbarComponent"; +import ShadTooltip from "../../components/ShadTooltipComponent"; +import { useSSE } from "../../contexts/SSEContext"; +import { Zap } from "lucide-react"; export default function GenericNode({ data, diff --git a/src/frontend/src/alerts/alertDropDown/components/singleAlertComponent/index.tsx b/src/frontend/src/alerts/alertDropDown/components/singleAlertComponent/index.tsx index 18475b039..857bf0fb4 100644 --- a/src/frontend/src/alerts/alertDropDown/components/singleAlertComponent/index.tsx +++ b/src/frontend/src/alerts/alertDropDown/components/singleAlertComponent/index.tsx @@ -1,8 +1,8 @@ -import { Transition } from "@headlessui/react"; -import { CheckCircle2, Info, X, XCircle } from "lucide-react"; -import { useState } from "react"; import { Link } from "react-router-dom"; +import { Transition } from "@headlessui/react"; +import { useState } from "react"; import { SingleAlertComponentType } from "../../../../types/alerts"; +import { X, CheckCircle2, Info, XCircle } from "lucide-react"; export default function SingleAlert({ dropItem, diff --git a/src/frontend/src/alerts/alertDropDown/index.tsx b/src/frontend/src/alerts/alertDropDown/index.tsx index cd1ed9137..ef703f624 100644 --- a/src/frontend/src/alerts/alertDropDown/index.tsx +++ b/src/frontend/src/alerts/alertDropDown/index.tsx @@ -1,10 +1,10 @@ -import { Trash2, X } from "lucide-react"; -import { useContext, useRef } from "react"; +import { useContext, useEffect, useRef } from "react"; import { alertContext } from "../../contexts/alertContext"; -import { PopUpContext } from "../../contexts/popUpContext"; -import { AlertDropdownType } from "../../types/alerts"; -import { useOnClickOutside } from "../hooks/useOnClickOutside"; import SingleAlert from "./components/singleAlertComponent"; +import { AlertDropdownType } from "../../types/alerts"; +import { PopUpContext } from "../../contexts/popUpContext"; +import { useOnClickOutside } from "../hooks/useOnClickOutside"; +import { X, Trash2 } from "lucide-react"; export default function AlertDropdown({}: AlertDropdownType) { const { closePopUp } = useContext(PopUpContext); diff --git a/src/frontend/src/alerts/error/index.tsx b/src/frontend/src/alerts/error/index.tsx index ed395018e..d71980b7e 100644 --- a/src/frontend/src/alerts/error/index.tsx +++ b/src/frontend/src/alerts/error/index.tsx @@ -1,7 +1,7 @@ import { Transition } from "@headlessui/react"; -import { XCircle } from "lucide-react"; import { useEffect, useState } from "react"; import { ErrorAlertType } from "../../types/alerts"; +import { XCircle } from "lucide-react"; export default function ErrorAlert({ title, diff --git a/src/frontend/src/alerts/notice/index.tsx b/src/frontend/src/alerts/notice/index.tsx index c77a4bcd6..eeb00cd42 100644 --- a/src/frontend/src/alerts/notice/index.tsx +++ b/src/frontend/src/alerts/notice/index.tsx @@ -1,8 +1,8 @@ import { Transition } from "@headlessui/react"; -import { Info } from "lucide-react"; import { useEffect, useState } from "react"; import { Link } from "react-router-dom"; import { NoticeAlertType } from "../../types/alerts"; +import { Info } from "lucide-react"; export default function NoticeAlert({ title, diff --git a/src/frontend/src/alerts/success/index.tsx b/src/frontend/src/alerts/success/index.tsx index 60dba1e93..95eaa1ba4 100644 --- a/src/frontend/src/alerts/success/index.tsx +++ b/src/frontend/src/alerts/success/index.tsx @@ -1,7 +1,7 @@ import { Transition } from "@headlessui/react"; -import { CheckCircle2 } from "lucide-react"; import { useEffect, useState } from "react"; import { SuccessAlertType } from "../../types/alerts"; +import { CheckCircle2 } from "lucide-react"; export default function SuccessAlert({ title, diff --git a/src/frontend/src/components/AccordionComponent/index.tsx b/src/frontend/src/components/AccordionComponent/index.tsx index ceeb938a8..f03a2ad5f 100644 --- a/src/frontend/src/components/AccordionComponent/index.tsx +++ b/src/frontend/src/components/AccordionComponent/index.tsx @@ -1,11 +1,16 @@ -import { useState } from "react"; +import { ReactElement, useContext, useEffect, useRef, useState } from "react"; +import { + AccordionComponentType, + ProgressBarType, +} from "../../types/components"; +import { Progress } from "../../components/ui/progress"; +import { setInterval } from "timers/promises"; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from "../../components/ui/accordion"; -import { AccordionComponentType } from "../../types/components"; export default function AccordionComponent({ trigger, diff --git a/src/frontend/src/components/EditFlowSettingsComponent/index.tsx b/src/frontend/src/components/EditFlowSettingsComponent/index.tsx index a0beb11f3..b51722ad8 100644 --- a/src/frontend/src/components/EditFlowSettingsComponent/index.tsx +++ b/src/frontend/src/components/EditFlowSettingsComponent/index.tsx @@ -1,7 +1,7 @@ -import React, { ChangeEvent, useState } from "react"; -import { Input } from "../../components/ui/input"; -import { Label } from "../../components/ui/label"; +import React, { useState, ChangeEvent } from "react"; import { Textarea } from "../../components/ui/textarea"; +import { Label } from "../../components/ui/label"; +import { Input } from "../../components/ui/input"; type InputProps = { name: string | null; diff --git a/src/frontend/src/components/ExtraSidebarComponent/index.tsx b/src/frontend/src/components/ExtraSidebarComponent/index.tsx index e307e5234..2386e29a8 100644 --- a/src/frontend/src/components/ExtraSidebarComponent/index.tsx +++ b/src/frontend/src/components/ExtraSidebarComponent/index.tsx @@ -1,8 +1,8 @@ import { Disclosure } from "@headlessui/react"; import { useContext } from "react"; import { Link } from "react-router-dom"; -import { locationContext } from "../../contexts/locationContext"; import { classNames } from "../../utils"; +import { locationContext } from "../../contexts/locationContext"; export default function ExtraSidebar() { const { diff --git a/src/frontend/src/components/LightTooltipComponent/index.tsx b/src/frontend/src/components/LightTooltipComponent/index.tsx index 08ea76266..4cdc912d0 100644 --- a/src/frontend/src/components/LightTooltipComponent/index.tsx +++ b/src/frontend/src/components/LightTooltipComponent/index.tsx @@ -1,5 +1,5 @@ -import Tooltip, { TooltipProps, tooltipClasses } from "@mui/material/Tooltip"; import { styled } from "@mui/material/styles"; +import Tooltip, { TooltipProps, tooltipClasses } from "@mui/material/Tooltip"; export const LightTooltip = styled(({ className, ...props }: TooltipProps) => ( diff --git a/src/frontend/src/components/LoadingSpinner/index.tsx b/src/frontend/src/components/LoadingSpinner/index.tsx index ea02a88d6..642df9e22 100644 --- a/src/frontend/src/components/LoadingSpinner/index.tsx +++ b/src/frontend/src/components/LoadingSpinner/index.tsx @@ -1,3 +1,6 @@ +import { useContext, useEffect, useRef, useState } from "react"; +import { RadialProgressType } from "../../types/components"; + export default function LoadingSpinner({}) { return <>; } diff --git a/src/frontend/src/components/RadialProgress/index.tsx b/src/frontend/src/components/RadialProgress/index.tsx index f277a9c80..b468b12e8 100644 --- a/src/frontend/src/components/RadialProgress/index.tsx +++ b/src/frontend/src/components/RadialProgress/index.tsx @@ -1,3 +1,4 @@ +import { useContext, useEffect, useRef, useState } from "react"; import { RadialProgressType } from "../../types/components"; export default function RadialProgressComponent({ diff --git a/src/frontend/src/components/ShadTooltipComponent/index.tsx b/src/frontend/src/components/ShadTooltipComponent/index.tsx index e8b4a6398..d643a4d08 100644 --- a/src/frontend/src/components/ShadTooltipComponent/index.tsx +++ b/src/frontend/src/components/ShadTooltipComponent/index.tsx @@ -1,4 +1,4 @@ -import { ShadToolTipType } from "../../types/components"; +import { RadialProgressType, ShadToolTipType } from "../../types/components"; import { Tooltip, TooltipContent, diff --git a/src/frontend/src/components/TooltipComponent/index.tsx b/src/frontend/src/components/TooltipComponent/index.tsx index 91fa006ec..0e571b1bc 100644 --- a/src/frontend/src/components/TooltipComponent/index.tsx +++ b/src/frontend/src/components/TooltipComponent/index.tsx @@ -1,5 +1,6 @@ -import { TooltipComponentType } from "../../types/components"; +import { ReactElement } from "react"; import { LightTooltip } from "../LightTooltipComponent"; +import { TooltipComponentType } from "../../types/components"; export default function Tooltip({ children, diff --git a/src/frontend/src/components/cardComponent/index.tsx b/src/frontend/src/components/cardComponent/index.tsx index 285aa91b7..276f0a7cd 100644 --- a/src/frontend/src/components/cardComponent/index.tsx +++ b/src/frontend/src/components/cardComponent/index.tsx @@ -1,15 +1,26 @@ -import { Trash2 } from "lucide-react"; +import { Trash2, ExternalLink } from "lucide-react"; import { useContext } from "react"; +import { Link } from "react-router-dom"; import { TabsContext } from "../../contexts/tabsContext"; import { FlowType } from "../../types/flow"; import { gradients } from "../../utils"; import { - Card, + CardTitle, CardDescription, CardFooter, + Card, CardHeader, - CardTitle, } from "../ui/card"; +import { + Dialog, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle, + DialogTrigger, +} from "../ui/dialog"; +import { Button } from "@mui/material"; export const CardComponent = ({ flow, diff --git a/src/frontend/src/components/chatComponent/buildTrigger/index.tsx b/src/frontend/src/components/chatComponent/buildTrigger/index.tsx index 09ab90ff7..4d47e2e1c 100644 --- a/src/frontend/src/components/chatComponent/buildTrigger/index.tsx +++ b/src/frontend/src/components/chatComponent/buildTrigger/index.tsx @@ -1,16 +1,16 @@ +import { useContext, useState } from "react"; import { Transition } from "@headlessui/react"; import { Zap } from "lucide-react"; -import { useContext, useState } from "react"; +import { validateNodes } from "../../../utils"; +import { FlowType } from "../../../types/flow"; import Loading from "../../../components/ui/loading"; import { useSSE } from "../../../contexts/SSEContext"; -import { alertContext } from "../../../contexts/alertContext"; import { typesContext } from "../../../contexts/typesContext"; +import { alertContext } from "../../../contexts/alertContext"; import { postBuildInit } from "../../../controllers/API"; -import { FlowType } from "../../../types/flow"; -import { validateNodes } from "../../../utils"; -import { TabsContext } from "../../../contexts/tabsContext"; import RadialProgressComponent from "../../RadialProgress"; +import { TabsContext } from "../../../contexts/tabsContext"; export default function BuildTrigger({ open, diff --git a/src/frontend/src/components/chatComponent/chatTrigger/index.tsx b/src/frontend/src/components/chatComponent/chatTrigger/index.tsx index c0cd53550..2666e4e92 100644 --- a/src/frontend/src/components/chatComponent/chatTrigger/index.tsx +++ b/src/frontend/src/components/chatComponent/chatTrigger/index.tsx @@ -1,6 +1,7 @@ import { Transition } from "@headlessui/react"; import { MessagesSquare } from "lucide-react"; +import { alertContext } from "../../../contexts/alertContext"; import { useContext } from "react"; import { CHAT_CANNOT_OPEN_DESCRIPTION, @@ -8,7 +9,6 @@ import { FLOW_NOT_BUILT_DESCRIPTION, FLOW_NOT_BUILT_TITLE, } from "../../../constants"; -import { alertContext } from "../../../contexts/alertContext"; export default function ChatTrigger({ open, setOpen, isBuilt, canOpen }) { const { setErrorData } = useContext(alertContext); diff --git a/src/frontend/src/components/chatComponent/index.tsx b/src/frontend/src/components/chatComponent/index.tsx index 829dd5b13..9130be694 100644 --- a/src/frontend/src/components/chatComponent/index.tsx +++ b/src/frontend/src/components/chatComponent/index.tsx @@ -1,14 +1,14 @@ import { useContext, useEffect, useRef, useState } from "react"; import { useNodes } from "reactflow"; import { ChatType } from "../../types/chat"; -import BuildTrigger from "./buildTrigger"; import ChatTrigger from "./chatTrigger"; +import BuildTrigger from "./buildTrigger"; -import * as _ from "lodash"; -import { TabsContext } from "../../contexts/tabsContext"; import { getBuildStatus } from "../../controllers/API"; -import FormModal from "../../modals/formModal"; import { NodeType } from "../../types/flow"; +import FormModal from "../../modals/formModal"; +import { TabsContext } from "../../contexts/tabsContext"; +import * as _ from "lodash"; export default function Chat({ flow }: ChatType) { const [open, setOpen] = useState(false); diff --git a/src/frontend/src/components/codeAreaComponent/index.tsx b/src/frontend/src/components/codeAreaComponent/index.tsx index 07ceb0593..01a1ee9fe 100644 --- a/src/frontend/src/components/codeAreaComponent/index.tsx +++ b/src/frontend/src/components/codeAreaComponent/index.tsx @@ -1,6 +1,7 @@ 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 { ExternalLink } from "lucide-react"; diff --git a/src/frontend/src/components/dropdownComponent/index.tsx b/src/frontend/src/components/dropdownComponent/index.tsx index 0461fa4bc..84c036ec4 100644 --- a/src/frontend/src/components/dropdownComponent/index.tsx +++ b/src/frontend/src/components/dropdownComponent/index.tsx @@ -1,9 +1,9 @@ import { Listbox, Transition } from "@headlessui/react"; -import { Check, ChevronsUpDown } from "lucide-react"; import { Fragment, useContext, useEffect, useState } from "react"; -import { PopUpContext } from "../../contexts/popUpContext"; import { DropDownComponentType } from "../../types/components"; import { classNames } from "../../utils"; +import { ChevronsUpDown, Check } from "lucide-react"; +import { PopUpContext } from "../../contexts/popUpContext"; export default function Dropdown({ value, diff --git a/src/frontend/src/components/floatComponent/index.tsx b/src/frontend/src/components/floatComponent/index.tsx index 548d608a3..1c72c7c45 100644 --- a/src/frontend/src/components/floatComponent/index.tsx +++ b/src/frontend/src/components/floatComponent/index.tsx @@ -1,7 +1,7 @@ import { useContext, useEffect, useState } from "react"; -import { PopUpContext } from "../../contexts/popUpContext"; -import { TabsContext } from "../../contexts/tabsContext"; import { FloatComponentType } from "../../types/components"; +import { TabsContext } from "../../contexts/tabsContext"; +import { PopUpContext } from "../../contexts/popUpContext"; export default function FloatComponent({ value, diff --git a/src/frontend/src/components/headerComponent/components/menuBar/index.tsx b/src/frontend/src/components/headerComponent/components/menuBar/index.tsx index a1536f13d..41cb0bef9 100644 --- a/src/frontend/src/components/headerComponent/components/menuBar/index.tsx +++ b/src/frontend/src/components/headerComponent/components/menuBar/index.tsx @@ -1,25 +1,27 @@ +import { useContext } from "react"; +import { TabsContext } from "../../../../contexts/tabsContext"; +import { PopUpContext } from "../../../../contexts/popUpContext"; import { + Plus, ChevronDown, ChevronLeft, - Plus, + Undo, Redo, Settings2, - Undo, } from "lucide-react"; -import { useContext } from "react"; -import { PopUpContext } from "../../../../contexts/popUpContext"; -import { TabsContext } from "../../../../contexts/tabsContext"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, + DropdownMenuTrigger, + DropdownMenuRadioGroup, + DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, - DropdownMenuTrigger, } from "../../../ui/dropdown-menu"; -import { Link, useNavigate } from "react-router-dom"; import { alertContext } from "../../../../contexts/alertContext"; +import { Link, useNavigate } from "react-router-dom"; import { undoRedoContext } from "../../../../contexts/undoRedoContext"; import FlowSettingsModal from "../../../../modals/flowSettingsModal"; import { Button } from "../../../ui/button"; diff --git a/src/frontend/src/components/headerComponent/index.tsx b/src/frontend/src/components/headerComponent/index.tsx index 895f01d79..e03f53518 100644 --- a/src/frontend/src/components/headerComponent/index.tsx +++ b/src/frontend/src/components/headerComponent/index.tsx @@ -1,18 +1,19 @@ -import { Bell, Home, MoonIcon, SunIcon, Users2 } from "lucide-react"; +import { Home, MoonIcon, SunIcon, Users2 } from "lucide-react"; import { useContext, useEffect, useState } from "react"; import { FaDiscord, FaGithub, FaTwitter } from "react-icons/fa"; -import { Link, useLocation, useParams } from "react-router-dom"; +import { Button } from "../ui/button"; +import { TabsContext } from "../../contexts/tabsContext"; import AlertDropdown from "../../alerts/alertDropDown"; -import { USER_PROJECTS_HEADER } from "../../constants"; import { alertContext } from "../../contexts/alertContext"; import { darkContext } from "../../contexts/darkContext"; import { PopUpContext } from "../../contexts/popUpContext"; -import { TabsContext } from "../../contexts/tabsContext"; import { typesContext } from "../../contexts/typesContext"; -import { getRepoStars } from "../../controllers/API"; -import { Button } from "../ui/button"; -import { Separator } from "../ui/separator"; import MenuBar from "./components/menuBar"; +import { Link, useLocation, useParams } from "react-router-dom"; +import { USER_PROJECTS_HEADER } from "../../constants"; +import { getRepoStars } from "../../controllers/API"; +import { Separator } from "../ui/separator"; +import { Bell } from "lucide-react"; export default function Header() { const { flows, addFlow, tabId } = useContext(TabsContext); diff --git a/src/frontend/src/components/inputComponent/index.tsx b/src/frontend/src/components/inputComponent/index.tsx index 4d6045caf..b5894fe6e 100644 --- a/src/frontend/src/components/inputComponent/index.tsx +++ b/src/frontend/src/components/inputComponent/index.tsx @@ -1,8 +1,8 @@ import { useContext, useEffect, useState } from "react"; -import { PopUpContext } from "../../contexts/popUpContext"; -import { TabsContext } from "../../contexts/tabsContext"; import { InputComponentType } from "../../types/components"; import { classNames } from "../../utils"; +import { TabsContext } from "../../contexts/tabsContext"; +import { PopUpContext } from "../../contexts/popUpContext"; export default function InputComponent({ value, diff --git a/src/frontend/src/components/inputFileComponent/index.tsx b/src/frontend/src/components/inputFileComponent/index.tsx index 59b25a0a7..505515bf5 100644 --- a/src/frontend/src/components/inputFileComponent/index.tsx +++ b/src/frontend/src/components/inputFileComponent/index.tsx @@ -1,9 +1,9 @@ -import { FileSearch2 } from "lucide-react"; import { useContext, useEffect, useState } from "react"; import { alertContext } from "../../contexts/alertContext"; -import { TabsContext } from "../../contexts/tabsContext"; -import { uploadFile } from "../../controllers/API"; import { FileComponentType } from "../../types/components"; +import { TabsContext } from "../../contexts/tabsContext"; +import { FileSearch2 } from "lucide-react"; +import { uploadFile } from "../../controllers/API"; export default function InputFileComponent({ value, diff --git a/src/frontend/src/components/inputListComponent/index.tsx b/src/frontend/src/components/inputListComponent/index.tsx index d165d58a2..7dd6d79c6 100644 --- a/src/frontend/src/components/inputListComponent/index.tsx +++ b/src/frontend/src/components/inputListComponent/index.tsx @@ -1,8 +1,9 @@ import { useContext, useEffect, useState } from "react"; import { InputListComponentType } from "../../types/components"; +import { TabsContext } from "../../contexts/tabsContext"; import _ from "lodash"; -import { Plus, X } from "lucide-react"; +import { X, Plus } from "lucide-react"; import { PopUpContext } from "../../contexts/popUpContext"; export default function InputListComponent({ diff --git a/src/frontend/src/components/intComponent/index.tsx b/src/frontend/src/components/intComponent/index.tsx index 2428d03ee..473febd91 100644 --- a/src/frontend/src/components/intComponent/index.tsx +++ b/src/frontend/src/components/intComponent/index.tsx @@ -1,7 +1,8 @@ import { useContext, useEffect, useState } from "react"; -import { PopUpContext } from "../../contexts/popUpContext"; -import { TabsContext } from "../../contexts/tabsContext"; import { FloatComponentType } from "../../types/components"; +import { TabsContext } from "../../contexts/tabsContext"; +import { classNames } from "../../utils"; +import { PopUpContext } from "../../contexts/popUpContext"; export default function IntComponent({ value, diff --git a/src/frontend/src/components/promptComponent/index.tsx b/src/frontend/src/components/promptComponent/index.tsx index 7385518c8..7e90f323c 100644 --- a/src/frontend/src/components/promptComponent/index.tsx +++ b/src/frontend/src/components/promptComponent/index.tsx @@ -1,13 +1,13 @@ import { useContext, useEffect, useState } from "react"; import { PopUpContext } from "../../contexts/popUpContext"; -import GenericModal from "../../modals/genericModal"; import { TextAreaComponentType } from "../../types/components"; +import GenericModal from "../../modals/genericModal"; import { TypeModal } from "../../utils"; -import * as _ from "lodash"; import { ExternalLink } from "lucide-react"; -import { typesContext } from "../../contexts/typesContext"; import { postValidatePrompt } from "../../controllers/API"; +import { typesContext } from "../../contexts/typesContext"; +import * as _ from "lodash"; export default function PromptAreaComponent({ field_name, diff --git a/src/frontend/src/components/textAreaComponent/index.tsx b/src/frontend/src/components/textAreaComponent/index.tsx index a50969cfb..6b41cbe40 100644 --- a/src/frontend/src/components/textAreaComponent/index.tsx +++ b/src/frontend/src/components/textAreaComponent/index.tsx @@ -1,8 +1,8 @@ import { useContext, useEffect, useState } from "react"; import { PopUpContext } from "../../contexts/popUpContext"; -import GenericModal from "../../modals/genericModal"; import { TextAreaComponentType } from "../../types/components"; -import { TypeModal } from "../../utils"; +import GenericModal from "../../modals/genericModal"; +import { TypeModal, classNames } from "../../utils"; import { ExternalLink } from "lucide-react"; diff --git a/src/frontend/src/components/toggleComponent/index.tsx b/src/frontend/src/components/toggleComponent/index.tsx index 81a2b2d8b..c7b72a025 100644 --- a/src/frontend/src/components/toggleComponent/index.tsx +++ b/src/frontend/src/components/toggleComponent/index.tsx @@ -1,7 +1,7 @@ import { Switch } from "@headlessui/react"; +import { classNames } from "../../utils"; import { useEffect } from "react"; import { ToggleComponentType } from "../../types/components"; -import { classNames } from "../../utils"; export default function ToggleComponent({ enabled, diff --git a/src/frontend/src/components/toggleShadComponent/index.tsx b/src/frontend/src/components/toggleShadComponent/index.tsx index c06d42430..9b73ee07d 100644 --- a/src/frontend/src/components/toggleShadComponent/index.tsx +++ b/src/frontend/src/components/toggleShadComponent/index.tsx @@ -1,3 +1,4 @@ +import { useEffect } from "react"; import { ToggleComponentType } from "../../types/components"; import { Switch } from "../ui/switch"; diff --git a/src/frontend/src/components/ui/accordion.tsx b/src/frontend/src/components/ui/accordion.tsx index 4b5a12384..5e3e76f33 100644 --- a/src/frontend/src/components/ui/accordion.tsx +++ b/src/frontend/src/components/ui/accordion.tsx @@ -1,8 +1,8 @@ "use client"; +import * as React from "react"; import * as AccordionPrimitive from "@radix-ui/react-accordion"; import { ChevronDownIcon } from "@radix-ui/react-icons"; -import * as React from "react"; import { cn } from "../../utils"; const Accordion = AccordionPrimitive.Root; diff --git a/src/frontend/src/components/ui/badge.tsx b/src/frontend/src/components/ui/badge.tsx index 5464f382e..36c44ac4d 100644 --- a/src/frontend/src/components/ui/badge.tsx +++ b/src/frontend/src/components/ui/badge.tsx @@ -1,5 +1,5 @@ -import { cva, type VariantProps } from "class-variance-authority"; import * as React from "react"; +import { cva, type VariantProps } from "class-variance-authority"; import { cn } from "../../utils"; const badgeVariants = cva( diff --git a/src/frontend/src/components/ui/button.tsx b/src/frontend/src/components/ui/button.tsx index 170494927..648ce43c9 100644 --- a/src/frontend/src/components/ui/button.tsx +++ b/src/frontend/src/components/ui/button.tsx @@ -1,6 +1,6 @@ +import * as React from "react"; import { Slot } from "@radix-ui/react-slot"; import { cva, type VariantProps } from "class-variance-authority"; -import * as React from "react"; import { cn } from "../../utils"; const buttonVariants = cva( diff --git a/src/frontend/src/components/ui/checkbox.tsx b/src/frontend/src/components/ui/checkbox.tsx index 18332b073..4e4905bb9 100644 --- a/src/frontend/src/components/ui/checkbox.tsx +++ b/src/frontend/src/components/ui/checkbox.tsx @@ -1,8 +1,8 @@ "use client"; +import * as React from "react"; import * as CheckboxPrimitive from "@radix-ui/react-checkbox"; import { Check } from "lucide-react"; -import * as React from "react"; import { cn } from "../../utils"; const Checkbox = React.forwardRef< diff --git a/src/frontend/src/components/ui/dialog.tsx b/src/frontend/src/components/ui/dialog.tsx index 2ad709f48..a02379087 100644 --- a/src/frontend/src/components/ui/dialog.tsx +++ b/src/frontend/src/components/ui/dialog.tsx @@ -1,6 +1,6 @@ +import * as React from "react"; import * as DialogPrimitive from "@radix-ui/react-dialog"; import { X } from "lucide-react"; -import * as React from "react"; import { cn } from "../../utils"; const Dialog = DialogPrimitive.Root; diff --git a/src/frontend/src/components/ui/dropdown-menu.tsx b/src/frontend/src/components/ui/dropdown-menu.tsx index 0e5468e6e..ee62abc4a 100644 --- a/src/frontend/src/components/ui/dropdown-menu.tsx +++ b/src/frontend/src/components/ui/dropdown-menu.tsx @@ -1,8 +1,8 @@ "use client"; +import * as React from "react"; import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"; import { Check, ChevronRight, Circle } from "lucide-react"; -import * as React from "react"; import { cn } from "../../utils"; const DropdownMenu = DropdownMenuPrimitive.Root; diff --git a/src/frontend/src/components/ui/label.tsx b/src/frontend/src/components/ui/label.tsx index 57fbc9d8a..ab5129253 100644 --- a/src/frontend/src/components/ui/label.tsx +++ b/src/frontend/src/components/ui/label.tsx @@ -1,8 +1,8 @@ "use client"; +import * as React from "react"; import * as LabelPrimitive from "@radix-ui/react-label"; import { cva, type VariantProps } from "class-variance-authority"; -import * as React from "react"; import { cn } from "../../utils"; const labelVariants = cva( diff --git a/src/frontend/src/components/ui/menubar.tsx b/src/frontend/src/components/ui/menubar.tsx index 0a3362ca6..2eb3a61f4 100644 --- a/src/frontend/src/components/ui/menubar.tsx +++ b/src/frontend/src/components/ui/menubar.tsx @@ -1,8 +1,8 @@ "use client"; +import * as React from "react"; import * as MenubarPrimitive from "@radix-ui/react-menubar"; import { Check, ChevronRight, Circle } from "lucide-react"; -import * as React from "react"; import { cn } from "../../utils"; diff --git a/src/frontend/src/components/ui/progress.tsx b/src/frontend/src/components/ui/progress.tsx index a08efeb52..69d1f86fb 100644 --- a/src/frontend/src/components/ui/progress.tsx +++ b/src/frontend/src/components/ui/progress.tsx @@ -1,7 +1,7 @@ "use client"; -import * as ProgressPrimitive from "@radix-ui/react-progress"; import * as React from "react"; +import * as ProgressPrimitive from "@radix-ui/react-progress"; import { cn } from "../../utils"; const Progress = React.forwardRef< diff --git a/src/frontend/src/components/ui/rename-label.tsx b/src/frontend/src/components/ui/rename-label.tsx index e5fef11bf..e703020f5 100644 --- a/src/frontend/src/components/ui/rename-label.tsx +++ b/src/frontend/src/components/ui/rename-label.tsx @@ -1,4 +1,4 @@ -import { useEffect, useRef, useState } from "react"; +import { useState, useEffect, useRef } from "react"; import { cn } from "../../utils"; export default function RenameLabel(props) { diff --git a/src/frontend/src/components/ui/separator.tsx b/src/frontend/src/components/ui/separator.tsx index a770af987..84a16676d 100644 --- a/src/frontend/src/components/ui/separator.tsx +++ b/src/frontend/src/components/ui/separator.tsx @@ -1,7 +1,7 @@ "use client"; -import * as SeparatorPrimitive from "@radix-ui/react-separator"; import * as React from "react"; +import * as SeparatorPrimitive from "@radix-ui/react-separator"; import { cn } from "../../utils"; const Separator = React.forwardRef< diff --git a/src/frontend/src/components/ui/switch.tsx b/src/frontend/src/components/ui/switch.tsx index 8ec7c3c80..8f473a0eb 100644 --- a/src/frontend/src/components/ui/switch.tsx +++ b/src/frontend/src/components/ui/switch.tsx @@ -1,7 +1,7 @@ "use client"; -import * as SwitchPrimitives from "@radix-ui/react-switch"; import * as React from "react"; +import * as SwitchPrimitives from "@radix-ui/react-switch"; import { cn } from "../../utils"; const Switch = React.forwardRef< diff --git a/src/frontend/src/components/ui/tabs.tsx b/src/frontend/src/components/ui/tabs.tsx index 8c382e35e..39864abed 100644 --- a/src/frontend/src/components/ui/tabs.tsx +++ b/src/frontend/src/components/ui/tabs.tsx @@ -1,7 +1,7 @@ "use client"; -import * as TabsPrimitive from "@radix-ui/react-tabs"; import * as React from "react"; +import * as TabsPrimitive from "@radix-ui/react-tabs"; import { cn } from "../../utils"; const Tabs = TabsPrimitive.Root; diff --git a/src/frontend/src/components/ui/tooltip.tsx b/src/frontend/src/components/ui/tooltip.tsx index dc847052e..b2ec0f701 100644 --- a/src/frontend/src/components/ui/tooltip.tsx +++ b/src/frontend/src/components/ui/tooltip.tsx @@ -1,7 +1,7 @@ "use client"; -import * as TooltipPrimitive from "@radix-ui/react-tooltip"; import * as React from "react"; +import * as TooltipPrimitive from "@radix-ui/react-tooltip"; import { cn } from "../../utils"; const TooltipProvider = TooltipPrimitive.Provider; diff --git a/src/frontend/src/constants.tsx b/src/frontend/src/constants.tsx index bb54427f9..c823abc1d 100644 --- a/src/frontend/src/constants.tsx +++ b/src/frontend/src/constants.tsx @@ -1,9 +1,10 @@ // src/constants.tsx -import { MessageSquare } from "lucide-react"; +import { MessageSquareDashed } from "lucide-react"; import { FlowType } from "./types/flow"; import { TabsState } from "./types/tabs"; import { buildInputs, buildTweaks } from "./utils"; +import { MessageSquare } from "lucide-react"; /** * The base text for subtitle of Export Dialog (Toolbar) diff --git a/src/frontend/src/contexts/SSEContext.tsx b/src/frontend/src/contexts/SSEContext.tsx index 9db32310b..83b1d4c89 100644 --- a/src/frontend/src/contexts/SSEContext.tsx +++ b/src/frontend/src/contexts/SSEContext.tsx @@ -1,4 +1,10 @@ -import { createContext, useCallback, useContext, useState } from "react"; +import { + createContext, + useContext, + useState, + useEffect, + useCallback, +} from "react"; const initialValue = { updateSSEData: ({}) => {}, diff --git a/src/frontend/src/contexts/index.tsx b/src/frontend/src/contexts/index.tsx index 13771673c..750df65d2 100644 --- a/src/frontend/src/contexts/index.tsx +++ b/src/frontend/src/contexts/index.tsx @@ -1,13 +1,13 @@ import { ReactNode } from "react"; -import { ReactFlowProvider } from "reactflow"; -import { SSEProvider } from "./SSEContext"; import { AlertProvider } from "./alertContext"; import { DarkProvider } from "./darkContext"; import { LocationProvider } from "./locationContext"; import PopUpProvider from "./popUpContext"; import { TabsProvider } from "./tabsContext"; import { TypesProvider } from "./typesContext"; +import { ReactFlowProvider } from "reactflow"; import { UndoRedoProvider } from "./undoRedoContext"; +import { SSEProvider } from "./SSEContext"; export default function ContextWrapper({ children }: { children: ReactNode }) { //element to wrap all context diff --git a/src/frontend/src/contexts/popUpContext.tsx b/src/frontend/src/contexts/popUpContext.tsx index 8da50278c..d46f51f00 100644 --- a/src/frontend/src/contexts/popUpContext.tsx +++ b/src/frontend/src/contexts/popUpContext.tsx @@ -1,4 +1,5 @@ -import React, { createContext, useState } from "react"; +import { createContext } from "react"; +import React, { useState } from "react"; // context to set JSX element on the DOM export const PopUpContext = createContext({ diff --git a/src/frontend/src/contexts/tabsContext.tsx b/src/frontend/src/contexts/tabsContext.tsx index 001152c9c..8105819a0 100644 --- a/src/frontend/src/contexts/tabsContext.tsx +++ b/src/frontend/src/contexts/tabsContext.tsx @@ -1,33 +1,33 @@ -import _ from "lodash"; import { - ReactNode, createContext, - useContext, useEffect, - useRef, useState, + useRef, + ReactNode, + useContext, } from "react"; -import { addEdge } from "reactflow"; -import ShortUniqueId from "short-unique-id"; -import { - deleteFlowFromDatabase, - downloadFlowsFromDatabase, - readFlowsFromDatabase, - saveFlowToDatabase, - updateFlowInDatabase, - uploadFlowsToDatabase, -} from "../controllers/API"; -import { APIClassType, APITemplateType } from "../types/api"; import { FlowType, NodeType } from "../types/flow"; import { TabsContextType, TabsState } from "../types/tabs"; import { - getRandomDescription, - getRandomName, updateIds, updateTemplate, + getRandomDescription, + getRandomName, } from "../utils"; import { alertContext } from "./alertContext"; import { typesContext } from "./typesContext"; +import { APIClassType, APITemplateType } from "../types/api"; +import ShortUniqueId from "short-unique-id"; +import { addEdge } from "reactflow"; +import { + readFlowsFromDatabase, + deleteFlowFromDatabase, + saveFlowToDatabase, + downloadFlowsFromDatabase, + uploadFlowsToDatabase, + updateFlowInDatabase, +} from "../controllers/API"; +import _ from "lodash"; const uid = new ShortUniqueId({ length: 5 }); diff --git a/src/frontend/src/contexts/typesContext.tsx b/src/frontend/src/contexts/typesContext.tsx index ff4cc1c29..3179e582e 100644 --- a/src/frontend/src/contexts/typesContext.tsx +++ b/src/frontend/src/contexts/typesContext.tsx @@ -1,8 +1,8 @@ import { createContext, ReactNode, useEffect, useState } from "react"; import { Node } from "reactflow"; +import { typesContextType } from "../types/typesContext"; import { getAll } from "../controllers/API"; import { APIKindType } from "../types/api"; -import { typesContextType } from "../types/typesContext"; //context to share types adn functions from nodes to flow diff --git a/src/frontend/src/contexts/undoRedoContext.tsx b/src/frontend/src/contexts/undoRedoContext.tsx index 3df201082..b0f8ca6b9 100644 --- a/src/frontend/src/contexts/undoRedoContext.tsx +++ b/src/frontend/src/contexts/undoRedoContext.tsx @@ -1,4 +1,3 @@ -import { cloneDeep } from "lodash"; import { createContext, useCallback, @@ -7,6 +6,7 @@ import { useState, } from "react"; import { Edge, Node, useReactFlow } from "reactflow"; +import { cloneDeep } from "lodash"; import { TabsContext } from "./tabsContext"; type undoRedoContextType = { diff --git a/src/frontend/src/controllers/API/index.ts b/src/frontend/src/controllers/API/index.ts index 2d6f951f0..72204ee68 100644 --- a/src/frontend/src/controllers/API/index.ts +++ b/src/frontend/src/controllers/API/index.ts @@ -1,15 +1,15 @@ -import axios, { AxiosResponse } from "axios"; -import { ReactFlowJsonObject } from "reactflow"; -import { APIObjectType, sendAllProps } from "../../types/api/index"; -import { FlowStyleType, FlowType } from "../../types/flow"; import { - APIClassType, BuildStatusTypeAPI, - InitTypeAPI, - PromptTypeAPI, - UploadFileTypeAPI, errorsTypeAPI, + InitTypeAPI, + UploadFileTypeAPI, + APIClassType, + PromptTypeAPI, } from "./../../types/api/index"; +import { APIObjectType, sendAllProps } from "../../types/api/index"; +import axios, { AxiosResponse } from "axios"; +import { FlowStyleType, FlowType } from "../../types/flow"; +import { ReactFlowJsonObject } from "reactflow"; /** * Fetches all objects from the API endpoint. diff --git a/src/frontend/src/index.tsx b/src/frontend/src/index.tsx index 794fcbf32..088db15a8 100644 --- a/src/frontend/src/index.tsx +++ b/src/frontend/src/index.tsx @@ -1,8 +1,9 @@ +import React from "react"; import ReactDOM from "react-dom/client"; -import { BrowserRouter } from "react-router-dom"; import App from "./App"; -import ContextWrapper from "./contexts"; import reportWebVitals from "./reportWebVitals"; +import { BrowserRouter } from "react-router-dom"; +import ContextWrapper from "./contexts"; import "./index.css"; diff --git a/src/frontend/src/modals/ApiModal/index.tsx b/src/frontend/src/modals/ApiModal/index.tsx index 3dc9c3f0d..99fd03941 100644 --- a/src/frontend/src/modals/ApiModal/index.tsx +++ b/src/frontend/src/modals/ApiModal/index.tsx @@ -1,15 +1,42 @@ -import "ace-builds/src-noconflict/ext-language_tools"; +import { useContext, useEffect, useRef, useState } from "react"; +import { PopUpContext } from "../../contexts/popUpContext"; import "ace-builds/src-noconflict/mode-python"; import "ace-builds/src-noconflict/theme-github"; import "ace-builds/src-noconflict/theme-twilight"; -import { useContext, useEffect, useRef, useState } from "react"; -import { PopUpContext } from "../../contexts/popUpContext"; +import "ace-builds/src-noconflict/ext-language_tools"; // import "ace-builds/webpack-resolver"; -import { Check, Clipboard, Code2 } from "lucide-react"; +import { darkContext } from "../../contexts/darkContext"; import { Prism as SyntaxHighlighter } from "react-syntax-highlighter"; import { oneDark } from "react-syntax-highlighter/dist/cjs/styles/prism"; +import { + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogTitle, + DialogTrigger, +} from "../../components/ui/dialog"; +import { FlowType } from "../../types/flow/index"; +import { getCurlCode, getPythonApiCode, getPythonCode } from "../../constants"; +import { EXPORT_CODE_DIALOG } from "../../constants"; +import { + Tabs, + TabsContent, + TabsList, + TabsTrigger, +} from "../../components/ui/tabs"; +import { Check, Clipboard, Code2 } from "lucide-react"; +import { + Table, + TableBody, + TableCaption, + TableCell, + TableHead, + TableHeader, + TableRow, +} from "../../components/ui/table"; +import { buildTweaks, classNames, limitScrollFieldsModal } from "../../utils"; import AccordionComponent from "../../components/AccordionComponent"; -import ShadTooltip from "../../components/ShadTooltipComponent"; import CodeAreaComponent from "../../components/codeAreaComponent"; import Dropdown from "../../components/dropdownComponent"; import FloatComponent from "../../components/floatComponent"; @@ -20,38 +47,9 @@ import IntComponent from "../../components/intComponent"; import PromptAreaComponent from "../../components/promptComponent"; import TextAreaComponent from "../../components/textAreaComponent"; import ToggleShadComponent from "../../components/toggleShadComponent"; -import { - Dialog, - DialogContent, - DialogDescription, - DialogHeader, - DialogTitle, - DialogTrigger, -} from "../../components/ui/dialog"; -import { - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, -} from "../../components/ui/table"; -import { - Tabs, - TabsContent, - TabsList, - TabsTrigger, -} from "../../components/ui/tabs"; -import { - EXPORT_CODE_DIALOG, - getCurlCode, - getPythonApiCode, - getPythonCode, -} from "../../constants"; -import { darkContext } from "../../contexts/darkContext"; +import ShadTooltip from "../../components/ShadTooltipComponent"; +import { cloneDeep, filter } from "lodash"; import { TabsContext } from "../../contexts/tabsContext"; -import { FlowType } from "../../types/flow/index"; -import { buildTweaks, classNames } from "../../utils"; export default function ApiModal({ flow }: { flow: FlowType }) { const [open, setOpen] = useState(true); diff --git a/src/frontend/src/modals/EditNodeModal/index.tsx b/src/frontend/src/modals/EditNodeModal/index.tsx index 4a86fb9c6..b0bd8ce4d 100644 --- a/src/frontend/src/modals/EditNodeModal/index.tsx +++ b/src/frontend/src/modals/EditNodeModal/index.tsx @@ -1,17 +1,26 @@ -import { Variable } from "lucide-react"; import { useContext, useEffect, useRef, useState } from "react"; -import CodeAreaComponent from "../../components/codeAreaComponent"; -import Dropdown from "../../components/dropdownComponent"; -import FloatComponent from "../../components/floatComponent"; -import InputComponent from "../../components/inputComponent"; -import InputFileComponent from "../../components/inputFileComponent"; -import InputListComponent from "../../components/inputListComponent"; -import IntComponent from "../../components/intComponent"; -import PromptAreaComponent from "../../components/promptComponent"; -import TextAreaComponent from "../../components/textAreaComponent"; +import { PopUpContext } from "../../contexts/popUpContext"; +import { NodeDataType } from "../../types/flow"; +import { classNames, limitScrollFieldsModal } from "../../utils"; +import { typesContext } from "../../contexts/typesContext"; +import { + Table, + TableBody, + TableCell, + TableHead, + TableHeader, + TableRow, +} from "../../components/ui/table"; import ToggleShadComponent from "../../components/toggleShadComponent"; -import { Badge } from "../../components/ui/badge"; -import { Button } from "../../components/ui/button"; +import InputListComponent from "../../components/inputListComponent"; +import TextAreaComponent from "../../components/textAreaComponent"; +import InputComponent from "../../components/inputComponent"; +import FloatComponent from "../../components/floatComponent"; +import Dropdown from "../../components/dropdownComponent"; +import IntComponent from "../../components/intComponent"; +import InputFileComponent from "../../components/inputFileComponent"; +import PromptAreaComponent from "../../components/promptComponent"; +import CodeAreaComponent from "../../components/codeAreaComponent"; import { Dialog, DialogContent, @@ -21,18 +30,9 @@ import { DialogTitle, DialogTrigger, } from "../../components/ui/dialog"; -import { - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, -} from "../../components/ui/table"; -import { PopUpContext } from "../../contexts/popUpContext"; -import { typesContext } from "../../contexts/typesContext"; -import { NodeDataType } from "../../types/flow"; -import { classNames, limitScrollFieldsModal } from "../../utils"; +import { Button } from "../../components/ui/button"; +import { Badge } from "../../components/ui/badge"; +import { Variable } from "lucide-react"; export default function EditNodeModal({ data }: { data: NodeDataType }) { const [open, setOpen] = useState(true); diff --git a/src/frontend/src/modals/NodeModal/components/ModalField/index.tsx b/src/frontend/src/modals/NodeModal/components/ModalField/index.tsx index 3208b989b..70344a996 100644 --- a/src/frontend/src/modals/NodeModal/components/ModalField/index.tsx +++ b/src/frontend/src/modals/NodeModal/components/ModalField/index.tsx @@ -1,14 +1,14 @@ import { useState } from "react"; -import CodeAreaComponent from "../../../../components/codeAreaComponent"; -import Dropdown from "../../../../components/dropdownComponent"; -import FloatComponent from "../../../../components/floatComponent"; -import InputComponent from "../../../../components/inputComponent"; -import InputFileComponent from "../../../../components/inputFileComponent"; import InputListComponent from "../../../../components/inputListComponent"; -import IntComponent from "../../../../components/intComponent"; -import PromptAreaComponent from "../../../../components/promptComponent"; +import Dropdown from "../../../../components/dropdownComponent"; import TextAreaComponent from "../../../../components/textAreaComponent"; +import InputComponent from "../../../../components/inputComponent"; import ToggleComponent from "../../../../components/toggleComponent"; +import FloatComponent from "../../../../components/floatComponent"; +import IntComponent from "../../../../components/intComponent"; +import InputFileComponent from "../../../../components/inputFileComponent"; +import PromptAreaComponent from "../../../../components/promptComponent"; +import CodeAreaComponent from "../../../../components/codeAreaComponent"; import { classNames } from "../../../../utils"; export default function ModalField({ diff --git a/src/frontend/src/modals/NodeModal/index.tsx b/src/frontend/src/modals/NodeModal/index.tsx index c61af4ff4..41ca699a9 100644 --- a/src/frontend/src/modals/NodeModal/index.tsx +++ b/src/frontend/src/modals/NodeModal/index.tsx @@ -1,8 +1,6 @@ import { Dialog, Transition } from "@headlessui/react"; -import { X } from "lucide-react"; import { Fragment, useContext, useRef, useState } from "react"; import { PopUpContext } from "../../contexts/popUpContext"; -import { typesContext } from "../../contexts/typesContext"; import { NodeDataType } from "../../types/flow"; import { classNames, @@ -11,7 +9,9 @@ import { nodeIconsLucide, toTitleCase, } from "../../utils"; +import { typesContext } from "../../contexts/typesContext"; import ModalField from "./components/ModalField"; +import { X } from "lucide-react"; export default function NodeModal({ data }: { data: NodeDataType }) { const [open, setOpen] = useState(true); diff --git a/src/frontend/src/modals/chatModal/chatMessage/index.tsx b/src/frontend/src/modals/chatModal/chatMessage/index.tsx index 5e130015a..6b1aecca2 100644 --- a/src/frontend/src/modals/chatModal/chatMessage/index.tsx +++ b/src/frontend/src/modals/chatModal/chatMessage/index.tsx @@ -1,17 +1,17 @@ -import Convert from "ansi-to-html"; -import DOMPurify from "dompurify"; -import { MessageCircle, User2 } from "lucide-react"; import { useEffect, useRef, useState } from "react"; +import { ChatMessageType } from "../../../types/chat"; +import { classNames } from "../../../utils"; +import AiIcon from "../../../assets/Gooey Ring-5s-271px.svg"; +import AiIconStill from "../../../assets/froze-flow.png"; +import FileCard from "../fileComponent"; import ReactMarkdown from "react-markdown"; import rehypeMathjax from "rehype-mathjax"; import remarkGfm from "remark-gfm"; import remarkMath from "remark-math"; -import AiIcon from "../../../assets/Gooey Ring-5s-271px.svg"; -import AiIconStill from "../../../assets/froze-flow.png"; -import { ChatMessageType } from "../../../types/chat"; -import { classNames } from "../../../utils"; -import FileCard from "../fileComponent"; import { CodeBlock } from "./codeBlock"; +import Convert from "ansi-to-html"; +import { User2, MessageCircle } from "lucide-react"; +import DOMPurify from "dompurify"; export default function ChatMessage({ chat, lockChat, diff --git a/src/frontend/src/modals/chatModal/index.tsx b/src/frontend/src/modals/chatModal/index.tsx index 5cbc2d17b..8cae31d8c 100644 --- a/src/frontend/src/modals/chatModal/index.tsx +++ b/src/frontend/src/modals/chatModal/index.tsx @@ -1,14 +1,14 @@ import { Dialog, Transition } from "@headlessui/react"; -import { Eraser, MessagesSquare, X } from "lucide-react"; import { Fragment, useContext, useEffect, useRef, useState } from "react"; +import { FlowType } from "../../types/flow"; import { alertContext } from "../../contexts/alertContext"; +import { validateNodes } from "../../utils"; import { typesContext } from "../../contexts/typesContext"; +import ChatMessage from "./chatMessage"; +import { X, MessagesSquare, Eraser } from "lucide-react"; import { sendAllProps } from "../../types/api"; import { ChatMessageType } from "../../types/chat"; -import { FlowType } from "../../types/flow"; -import { validateNodes } from "../../utils"; import ChatInput from "./chatInput"; -import ChatMessage from "./chatMessage"; import _ from "lodash"; import { getHealth } from "../../controllers/API"; diff --git a/src/frontend/src/modals/codeAreaModal/index.tsx b/src/frontend/src/modals/codeAreaModal/index.tsx index b05c1b0d3..8c2ebae86 100644 --- a/src/frontend/src/modals/codeAreaModal/index.tsx +++ b/src/frontend/src/modals/codeAreaModal/index.tsx @@ -1,13 +1,14 @@ -import "ace-builds/src-noconflict/ext-language_tools"; +import { useContext, useRef, useState } from "react"; +import { PopUpContext } from "../../contexts/popUpContext"; +import AceEditor from "react-ace"; import "ace-builds/src-noconflict/mode-python"; import "ace-builds/src-noconflict/theme-github"; import "ace-builds/src-noconflict/theme-twilight"; -import { useContext, useRef, useState } from "react"; -import AceEditor from "react-ace"; -import { PopUpContext } from "../../contexts/popUpContext"; +import "ace-builds/src-noconflict/ext-language_tools"; // import "ace-builds/webpack-resolver"; -import { TerminalSquare } from "lucide-react"; -import { Button } from "../../components/ui/button"; +import { darkContext } from "../../contexts/darkContext"; +import { postValidateCode } from "../../controllers/API"; +import { alertContext } from "../../contexts/alertContext"; import { Dialog, DialogContent, @@ -17,10 +18,9 @@ import { DialogTitle, DialogTrigger, } from "../../components/ui/dialog"; +import { Button } from "../../components/ui/button"; import { CODE_PROMPT_DIALOG_SUBTITLE } from "../../constants"; -import { alertContext } from "../../contexts/alertContext"; -import { darkContext } from "../../contexts/darkContext"; -import { postValidateCode } from "../../controllers/API"; +import { TerminalSquare } from "lucide-react"; import { APIClassType } from "../../types/api"; export default function CodeAreaModal({ diff --git a/src/frontend/src/modals/exportModal/index.tsx b/src/frontend/src/modals/exportModal/index.tsx index f4a66c7b9..bef5b9244 100644 --- a/src/frontend/src/modals/exportModal/index.tsx +++ b/src/frontend/src/modals/exportModal/index.tsx @@ -1,8 +1,8 @@ -import { Download } from "lucide-react"; import { useContext, useRef, useState } from "react"; -import EditFlowSettings from "../../components/EditFlowSettingsComponent"; -import { Button } from "../../components/ui/button"; -import { Checkbox } from "../../components/ui/checkbox"; +import { alertContext } from "../../contexts/alertContext"; +import { PopUpContext } from "../../contexts/popUpContext"; +import { TabsContext } from "../../contexts/tabsContext"; +import { removeApiKeys } from "../../utils"; import { Dialog, DialogContent, @@ -12,11 +12,11 @@ import { DialogTitle, DialogTrigger, } from "../../components/ui/dialog"; +import { Button } from "../../components/ui/button"; +import { Checkbox } from "../../components/ui/checkbox"; import { EXPORT_DIALOG_SUBTITLE } from "../../constants"; -import { alertContext } from "../../contexts/alertContext"; -import { PopUpContext } from "../../contexts/popUpContext"; -import { TabsContext } from "../../contexts/tabsContext"; -import { removeApiKeys } from "../../utils"; +import { Download } from "lucide-react"; +import EditFlowSettings from "../../components/EditFlowSettingsComponent"; export default function ExportModal() { const [open, setOpen] = useState(true); diff --git a/src/frontend/src/modals/flowSettingsModal/index.tsx b/src/frontend/src/modals/flowSettingsModal/index.tsx index 44f82e331..ce9e474b8 100644 --- a/src/frontend/src/modals/flowSettingsModal/index.tsx +++ b/src/frontend/src/modals/flowSettingsModal/index.tsx @@ -1,7 +1,7 @@ -import { Settings2 } from "lucide-react"; import { useContext, useRef, useState } from "react"; -import EditFlowSettings from "../../components/EditFlowSettingsComponent"; -import { Button } from "../../components/ui/button"; +import { alertContext } from "../../contexts/alertContext"; +import { PopUpContext } from "../../contexts/popUpContext"; +import { TabsContext } from "../../contexts/tabsContext"; import { Dialog, DialogContent, @@ -11,10 +11,11 @@ import { DialogTitle, DialogTrigger, } from "../../components/ui/dialog"; +import { Button } from "../../components/ui/button"; import { SETTINGS_DIALOG_SUBTITLE } from "../../constants"; -import { alertContext } from "../../contexts/alertContext"; -import { PopUpContext } from "../../contexts/popUpContext"; -import { TabsContext } from "../../contexts/tabsContext"; +import EditFlowSettings from "../../components/EditFlowSettingsComponent"; +import { Settings2 } from "lucide-react"; +import { updateFlowInDatabase } from "../../controllers/API"; export default function FlowSettingsModal() { const [open, setOpen] = useState(true); diff --git a/src/frontend/src/modals/formModal/chatInput/index.tsx b/src/frontend/src/modals/formModal/chatInput/index.tsx index 3b31b0d42..f5eeed885 100644 --- a/src/frontend/src/modals/formModal/chatInput/index.tsx +++ b/src/frontend/src/modals/formModal/chatInput/index.tsx @@ -1,6 +1,7 @@ -import { Lock, LucideSend } from "lucide-react"; -import { useEffect } from "react"; import { classNames } from "../../../utils"; +import { useContext, useEffect, useRef, useState } from "react"; +import { TabsContext } from "../../../contexts/tabsContext"; +import { Eraser, Lock, LucideSend } from "lucide-react"; export default function ChatInput({ lockChat, diff --git a/src/frontend/src/modals/formModal/chatMessage/index.tsx b/src/frontend/src/modals/formModal/chatMessage/index.tsx index af3388596..19cb40d4d 100644 --- a/src/frontend/src/modals/formModal/chatMessage/index.tsx +++ b/src/frontend/src/modals/formModal/chatMessage/index.tsx @@ -1,17 +1,32 @@ -import Convert from "ansi-to-html"; -import { ChevronDown } from "lucide-react"; -import { useState } from "react"; +import { useEffect, useRef, useState } from "react"; +import { ChatMessageType } from "../../../types/chat"; +import { classNames } from "../../../utils"; +import AiIcon from "../../../assets/Gooey Ring-5s-271px.svg"; +import AiIconStill from "../../../assets/froze-flow.png"; +import Robot from "../../../assets/robot.png"; +import MaleTechnology from "../../../assets/male-technologist.png"; +import FileCard from "../fileComponent"; import ReactMarkdown from "react-markdown"; import rehypeMathjax from "rehype-mathjax"; import remarkGfm from "remark-gfm"; import remarkMath from "remark-math"; -import MaleTechnology from "../../../assets/male-technologist.png"; -import Robot from "../../../assets/robot.png"; -import { THOUGHTS_ICON } from "../../../constants"; -import { ChatMessageType } from "../../../types/chat"; -import { classNames } from "../../../utils"; -import FileCard from "../fileComponent"; import { CodeBlock } from "./codeBlock"; +import Convert from "ansi-to-html"; +import { + User2, + MessageSquare, + ChevronDown, + MessageCircle, + MessageSquareDashed, +} from "lucide-react"; +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "../../../components/ui/accordion"; +import { Badge } from "../../../components/ui/badge"; +import { THOUGHTS_ICON } from "../../../constants"; export default function ChatMessage({ chat, diff --git a/src/frontend/src/modals/formModal/fileComponent/index.tsx b/src/frontend/src/modals/formModal/fileComponent/index.tsx index 6ede4e136..74f6155b7 100644 --- a/src/frontend/src/modals/formModal/fileComponent/index.tsx +++ b/src/frontend/src/modals/formModal/fileComponent/index.tsx @@ -1,6 +1,6 @@ import * as base64js from "base64-js"; -import { DownloadCloud, File } from "lucide-react"; import { useState } from "react"; +import { DownloadCloud, File } from "lucide-react"; export default function FileCard({ fileName, content, fileType }) { const handleDownload = () => { diff --git a/src/frontend/src/modals/formModal/index.tsx b/src/frontend/src/modals/formModal/index.tsx index 0168708ec..a6633265b 100644 --- a/src/frontend/src/modals/formModal/index.tsx +++ b/src/frontend/src/modals/formModal/index.tsx @@ -1,23 +1,15 @@ -import { Eraser, TerminalSquare, Variable } from "lucide-react"; import { useContext, useEffect, useRef, useState } from "react"; +import { FlowType } from "../../types/flow"; import { alertContext } from "../../contexts/alertContext"; +import { classNames, validateNodes } from "../../utils"; import { typesContext } from "../../contexts/typesContext"; +import ChatMessage from "./chatMessage"; +import { TerminalSquare, MessageSquare, Variable, Eraser } from "lucide-react"; import { sendAllProps } from "../../types/api"; import { ChatMessageType } from "../../types/chat"; -import { FlowType } from "../../types/flow"; -import { classNames, validateNodes } from "../../utils"; import ChatInput from "./chatInput"; -import ChatMessage from "./chatMessage"; import _ from "lodash"; -import ToggleShadComponent from "../../components/toggleShadComponent"; -import { - Accordion, - AccordionContent, - AccordionItem, - AccordionTrigger, -} from "../../components/ui/accordion"; -import { Badge } from "../../components/ui/badge"; import { Dialog, DialogContent, @@ -26,9 +18,17 @@ import { DialogTitle, DialogTrigger, } from "../../components/ui/dialog"; -import { Textarea } from "../../components/ui/textarea"; import { CHAT_FORM_DIALOG_SUBTITLE, THOUGHTS_ICON } from "../../constants"; import { TabsContext } from "../../contexts/tabsContext"; +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "../../components/ui/accordion"; +import { Textarea } from "../../components/ui/textarea"; +import { Badge } from "../../components/ui/badge"; +import ToggleShadComponent from "../../components/toggleShadComponent"; export default function FormModal({ flow, diff --git a/src/frontend/src/modals/genericModal/index.tsx b/src/frontend/src/modals/genericModal/index.tsx index 9632b8bc8..aa3c99774 100644 --- a/src/frontend/src/modals/genericModal/index.tsx +++ b/src/frontend/src/modals/genericModal/index.tsx @@ -1,9 +1,8 @@ -import DOMPurify from "dompurify"; -import { FileText, Variable } from "lucide-react"; -import { useContext, useEffect, useRef, useState } from "react"; -import ShadTooltip from "../../components/ShadTooltipComponent"; -import { Badge } from "../../components/ui/badge"; -import { Button } from "../../components/ui/button"; +import { useContext, useRef, useState, useEffect } from "react"; +import { PopUpContext } from "../../contexts/popUpContext"; +import { darkContext } from "../../contexts/darkContext"; +import { postValidatePrompt } from "../../controllers/API"; +import { alertContext } from "../../contexts/alertContext"; import { Dialog, DialogContent, @@ -13,16 +12,14 @@ import { DialogTitle, DialogTrigger, } from "../../components/ui/dialog"; +import { Button } from "../../components/ui/button"; import { Textarea } from "../../components/ui/textarea"; import { HIGHLIGH_CSS, PROMPT_DIALOG_SUBTITLE, TEXT_DIALOG_SUBTITLE, } from "../../constants"; -import { alertContext } from "../../contexts/alertContext"; -import { darkContext } from "../../contexts/darkContext"; -import { PopUpContext } from "../../contexts/popUpContext"; -import { postValidatePrompt } from "../../controllers/API"; +import { FileText } from "lucide-react"; import { APIClassType } from "../../types/api"; import { INVALID_CHARACTERS, @@ -32,6 +29,10 @@ import { regexHighlight, varHighlightHTML, } from "../../utils"; +import { Badge } from "../../components/ui/badge"; +import ShadTooltip from "../../components/ShadTooltipComponent"; +import DOMPurify from "dompurify"; +import { Variable } from "lucide-react"; export default function GenericModal({ field_name = "", @@ -237,40 +238,40 @@ export default function GenericModal({ {type == TypeModal.PROMPT && ( <> -
-
- - - Input Variables:{" "} - {wordsHighlight && wordsHighlight.length == 0 ? "-" : ""} - +
+
+ + + Input Variables:{" "} + {wordsHighlight && wordsHighlight.length == 0 ? "-" : ""} + - {wordsHighlight.map((word, index) => ( - ( + + - -
- - {word.replace(/[{}]/g, "").length > 59 - ? word.replace(/[{}]/g, "").slice(0, 56) + "..." - : word.replace(/[{}]/g, "")} - -
-
-
- ))} -
+
+ + {word.replace(/[{}]/g, "").length > 59 + ? word.replace(/[{}]/g, "").slice(0, 56) + "..." + : word.replace(/[{}]/g, "")} + +
+ + + ))}
- +
+ )} diff --git a/src/frontend/src/modals/importModal/buttonBox/index.tsx b/src/frontend/src/modals/importModal/buttonBox/index.tsx index a1116a8d4..ffe79abaa 100644 --- a/src/frontend/src/modals/importModal/buttonBox/index.tsx +++ b/src/frontend/src/modals/importModal/buttonBox/index.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from "react"; +import React, { ReactNode } from "react"; import { classNames } from "../../../utils"; export default function ButtonBox({ diff --git a/src/frontend/src/modals/importModal/index.tsx b/src/frontend/src/modals/importModal/index.tsx index 4302fd9d8..600192d4c 100644 --- a/src/frontend/src/modals/importModal/index.tsx +++ b/src/frontend/src/modals/importModal/index.tsx @@ -1,11 +1,18 @@ import { - ArrowLeftIcon, - ArrowUpTrayIcon, - ComputerDesktopIcon, DocumentDuplicateIcon, + ComputerDesktopIcon, + ArrowUpTrayIcon, + ArrowLeftIcon, } from "@heroicons/react/24/outline"; import { useContext, useRef, useState } from "react"; +import { PopUpContext } from "../../contexts/popUpContext"; +import { TabsContext } from "../../contexts/tabsContext"; +import ButtonBox from "./buttonBox"; +import { getExamples } from "../../controllers/API"; +import { alertContext } from "../../contexts/alertContext"; import LoadingComponent from "../../components/loadingComponent"; +import { FlowType } from "../../types/flow"; +import { classNames } from "../../utils"; import { Dialog, DialogContent, @@ -16,13 +23,6 @@ import { DialogTrigger, } from "../../components/ui/dialog"; import { IMPORT_DIALOG_SUBTITLE } from "../../constants"; -import { alertContext } from "../../contexts/alertContext"; -import { PopUpContext } from "../../contexts/popUpContext"; -import { TabsContext } from "../../contexts/tabsContext"; -import { getExamples } from "../../controllers/API"; -import { FlowType } from "../../types/flow"; -import { classNames } from "../../utils"; -import ButtonBox from "./buttonBox"; export default function ImportModal() { const [open, setOpen] = useState(true); diff --git a/src/frontend/src/modals/promptModal/index.tsx b/src/frontend/src/modals/promptModal/index.tsx index 54fd46528..1f575ded9 100644 --- a/src/frontend/src/modals/promptModal/index.tsx +++ b/src/frontend/src/modals/promptModal/index.tsx @@ -1,10 +1,10 @@ import { Dialog, Transition } from "@headlessui/react"; -import { DocumentTextIcon, XMarkIcon } from "@heroicons/react/24/outline"; +import { XMarkIcon, DocumentTextIcon } from "@heroicons/react/24/outline"; import { Fragment, useContext, useRef, useState } from "react"; -import { alertContext } from "../../contexts/alertContext"; -import { darkContext } from "../../contexts/darkContext"; import { PopUpContext } from "../../contexts/popUpContext"; +import { darkContext } from "../../contexts/darkContext"; import { checkPrompt } from "../../controllers/API"; +import { alertContext } from "../../contexts/alertContext"; export default function PromptAreaModal({ value, setValue, diff --git a/src/frontend/src/modals/textAreaModal/index.tsx b/src/frontend/src/modals/textAreaModal/index.tsx index 83186bbea..6064b3955 100644 --- a/src/frontend/src/modals/textAreaModal/index.tsx +++ b/src/frontend/src/modals/textAreaModal/index.tsx @@ -1,7 +1,7 @@ import { Dialog, Transition } from "@headlessui/react"; import { - ClipboardDocumentListIcon, XMarkIcon, + ClipboardDocumentListIcon, } from "@heroicons/react/24/outline"; import { Fragment, useContext, useRef, useState } from "react"; import { PopUpContext } from "../../contexts/popUpContext"; diff --git a/src/frontend/src/pages/CommunityPage/index.tsx b/src/frontend/src/pages/CommunityPage/index.tsx index 6d09999cc..b5e197f2c 100644 --- a/src/frontend/src/pages/CommunityPage/index.tsx +++ b/src/frontend/src/pages/CommunityPage/index.tsx @@ -1,13 +1,13 @@ -import { GitFork, GithubIcon, Users2 } from "lucide-react"; import { useContext, useEffect, useState } from "react"; -import { Button } from "../../components/ui/button"; -import { alertContext } from "../../contexts/alertContext"; +import { GithubIcon, Users2, GitFork } from "lucide-react"; import { TabsContext } from "../../contexts/tabsContext"; +import { alertContext } from "../../contexts/alertContext"; +import { Button } from "../../components/ui/button"; -import { useNavigate } from "react-router-dom"; -import { CardComponent } from "../../components/cardComponent"; import { getExamples } from "../../controllers/API"; import { FlowType } from "../../types/flow"; +import { CardComponent } from "../../components/cardComponent"; +import { useNavigate } from "react-router-dom"; export default function CommunityPage() { const { flows, setTabId, downloadFlows, uploadFlows, addFlow } = useContext(TabsContext); diff --git a/src/frontend/src/pages/FlowPage/components/DisclosureComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/DisclosureComponent/index.tsx index d49a099a5..2f3b1d4ff 100644 --- a/src/frontend/src/pages/FlowPage/components/DisclosureComponent/index.tsx +++ b/src/frontend/src/pages/FlowPage/components/DisclosureComponent/index.tsx @@ -1,6 +1,6 @@ import { Disclosure } from "@headlessui/react"; -import { ChevronRight } from "lucide-react"; import { DisclosureComponentType } from "../../../../types/components"; +import { ChevronRight } from "lucide-react"; export default function DisclosureComponent({ button: { title, Icon, buttons = [] }, diff --git a/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx index 51c84580e..48a3f94ff 100644 --- a/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx +++ b/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx @@ -1,21 +1,21 @@ -import _ from "lodash"; -import { useCallback, useContext, useEffect, useRef, useState } from "react"; +import _, { set } from "lodash"; +import { useContext, useRef, useState, useEffect, useCallback } from "react"; import ReactFlow, { - Background, - Connection, - Controls, - Edge, - EdgeChange, - NodeChange, - NodeDragHandler, - OnEdgesDelete, OnSelectionChangeParams, - SelectionDragHandler, - addEdge, - updateEdge, - useEdgesState, useNodesState, + useEdgesState, useReactFlow, + EdgeChange, + Connection, + addEdge, + NodeDragHandler, + SelectionDragHandler, + OnEdgesDelete, + Edge, + updateEdge, + Background, + Controls, + NodeChange, } from "reactflow"; import GenericNode from "../../../../CustomNodes/GenericNode"; import Chat from "../../../../components/chatComponent"; @@ -23,12 +23,12 @@ import { alertContext } from "../../../../contexts/alertContext"; import { locationContext } from "../../../../contexts/locationContext"; import { TabsContext } from "../../../../contexts/tabsContext"; import { typesContext } from "../../../../contexts/typesContext"; -import { undoRedoContext } from "../../../../contexts/undoRedoContext"; import { APIClassType } from "../../../../types/api"; import { FlowType, NodeType } from "../../../../types/flow"; import { isValidConnection } from "../../../../utils"; import ConnectionLineComponent from "../ConnectionLineComponent"; import ExtraSidebar from "../extraSidebarComponent"; +import { undoRedoContext } from "../../../../contexts/undoRedoContext"; const nodeTypes = { genericNode: GenericNode, diff --git a/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx index 4a77975d4..591bdf2d6 100644 --- a/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx +++ b/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx @@ -1,21 +1,22 @@ -import { Code2, FileDown, FileUp, Menu, Save, Search } from "lucide-react"; -import { useContext, useState } from "react"; -import ShadTooltip from "../../../../components/ShadTooltipComponent"; -import { Separator } from "../../../../components/ui/separator"; -import { alertContext } from "../../../../contexts/alertContext"; -import { PopUpContext } from "../../../../contexts/popUpContext"; -import { TabsContext } from "../../../../contexts/tabsContext"; -import { typesContext } from "../../../../contexts/typesContext"; -import ApiModal from "../../../../modals/ApiModal"; -import ExportModal from "../../../../modals/exportModal"; -import { APIClassType, APIObjectType } from "../../../../types/api"; +import DisclosureComponent from "../DisclosureComponent"; import { classNames, nodeColors, nodeIconsLucide, nodeNames, } from "../../../../utils"; -import DisclosureComponent from "../DisclosureComponent"; +import { useContext, useState } from "react"; +import { typesContext } from "../../../../contexts/typesContext"; +import { APIClassType, APIObjectType } from "../../../../types/api"; +import ShadTooltip from "../../../../components/ShadTooltipComponent"; +import { Code2, FileDown, FileUp, Save, Search } from "lucide-react"; +import { PopUpContext } from "../../../../contexts/popUpContext"; +import ExportModal from "../../../../modals/exportModal"; +import ApiModal from "../../../../modals/ApiModal"; +import { TabsContext } from "../../../../contexts/tabsContext"; +import { alertContext } from "../../../../contexts/alertContext"; +import { Separator } from "../../../../components/ui/separator"; +import { Menu } from "lucide-react"; export default function ExtraSidebar() { const { data } = useContext(typesContext); diff --git a/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx index 0183dcb16..0087d3759 100644 --- a/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx +++ b/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx @@ -1,10 +1,10 @@ -import { Copy, FileText, Settings2, Trash2 } from "lucide-react"; import { useContext, useState } from "react"; -import { useReactFlow } from "reactflow"; -import ShadTooltip from "../../../../components/ShadTooltipComponent"; -import { TabsContext } from "../../../../contexts/tabsContext"; -import EditNodeModal from "../../../../modals/EditNodeModal"; +import { Settings2, Copy, Trash2, FileText } from "lucide-react"; import { classNames } from "../../../../utils"; +import { TabsContext } from "../../../../contexts/tabsContext"; +import { useReactFlow } from "reactflow"; +import EditNodeModal from "../../../../modals/EditNodeModal"; +import ShadTooltip from "../../../../components/ShadTooltipComponent"; const NodeToolbarComponent = (props) => { const [nodeLength, setNodeLength] = useState( diff --git a/src/frontend/src/pages/FlowPage/index.tsx b/src/frontend/src/pages/FlowPage/index.tsx index f9b170197..a13fabd98 100644 --- a/src/frontend/src/pages/FlowPage/index.tsx +++ b/src/frontend/src/pages/FlowPage/index.tsx @@ -1,8 +1,8 @@ import { useContext, useEffect, useState } from "react"; -import { useParams } from "react-router-dom"; -import { TabsContext } from "../../contexts/tabsContext"; -import { getVersion } from "../../controllers/API"; import Page from "./components/PageComponent"; +import { TabsContext } from "../../contexts/tabsContext"; +import { useParams } from "react-router-dom"; +import { getVersion } from "../../controllers/API"; export default function FlowPage() { const { flows, tabId, setTabId } = useContext(TabsContext); diff --git a/src/frontend/src/pages/MainPage/index.tsx b/src/frontend/src/pages/MainPage/index.tsx index e2871a313..99df6a8a8 100644 --- a/src/frontend/src/pages/MainPage/index.tsx +++ b/src/frontend/src/pages/MainPage/index.tsx @@ -1,10 +1,10 @@ -import { Download, ExternalLink, Home, Plus, Upload } from "lucide-react"; import { useContext, useEffect } from "react"; +import { Download, Upload, Plus, Home, ExternalLink } from "lucide-react"; +import { TabsContext } from "../../contexts/tabsContext"; +import { Button } from "../../components/ui/button"; import { Link, useNavigate } from "react-router-dom"; import { CardComponent } from "../../components/cardComponent"; -import { Button } from "../../components/ui/button"; import { USER_PROJECTS_HEADER } from "../../constants"; -import { TabsContext } from "../../contexts/tabsContext"; export default function HomePage() { const { flows, setTabId, downloadFlows, uploadFlows, addFlow, removeFlow } = useContext(TabsContext); diff --git a/src/frontend/src/routes.tsx b/src/frontend/src/routes.tsx index 21b73f70b..a208b121a 100644 --- a/src/frontend/src/routes.tsx +++ b/src/frontend/src/routes.tsx @@ -1,7 +1,7 @@ import { Route, Routes } from "react-router-dom"; -import CommunityPage from "./pages/CommunityPage"; -import FlowPage from "./pages/FlowPage"; import HomePage from "./pages/MainPage"; +import FlowPage from "./pages/FlowPage"; +import CommunityPage from "./pages/CommunityPage"; const Router = () => { return ( diff --git a/src/frontend/src/types/api/index.ts b/src/frontend/src/types/api/index.ts index eaf862f29..505aae044 100644 --- a/src/frontend/src/types/api/index.ts +++ b/src/frontend/src/types/api/index.ts @@ -1,4 +1,4 @@ -import { Edge, Node, Viewport } from "reactflow"; +import { Node, Edge, Viewport } from "reactflow"; //kind and class are just representative names to represent the actual structure of the object received by the API export type APIObjectType = { kind: APIKindType; [key: string]: APIKindType }; diff --git a/src/frontend/src/types/components/index.ts b/src/frontend/src/types/components/index.ts index 40998fe46..984652b9a 100644 --- a/src/frontend/src/types/components/index.ts +++ b/src/frontend/src/types/components/index.ts @@ -1,7 +1,7 @@ import { ReactElement, ReactNode } from "react"; -import { APIClassType } from "../api"; import { NodeDataType } from "../flow/index"; import { typesContextType } from "../typesContext"; +import { APIClassType } from "../api"; export type InputComponentType = { value: string; disabled?: boolean; diff --git a/src/frontend/src/types/flow/index.ts b/src/frontend/src/types/flow/index.ts index ccf9933ee..b1f86392b 100644 --- a/src/frontend/src/types/flow/index.ts +++ b/src/frontend/src/types/flow/index.ts @@ -1,5 +1,6 @@ -import { ReactFlowJsonObject, XYPosition } from "reactflow"; +import { ChatMessageType } from "./../chat/index"; import { APIClassType } from "../api/index"; +import { ReactFlowJsonObject, XYPosition } from "reactflow"; export type FlowType = { name: string; diff --git a/src/frontend/src/utils.ts b/src/frontend/src/utils.ts index 7fb0cacb1..f74f0d584 100644 --- a/src/frontend/src/utils.ts +++ b/src/frontend/src/utils.ts @@ -1,9 +1,34 @@ -import clsx, { ClassValue } from "clsx"; +import { Connection, Edge, Node, ReactFlowInstance } from "reactflow"; +import { FlowType, NodeType } from "./types/flow"; +import { APITemplateType } from "./types/api"; import _ from "lodash"; +import { ChromaIcon } from "./icons/ChromaIcon"; +import { AnthropicIcon } from "./icons/Anthropic"; +import { AirbyteIcon } from "./icons/Airbyte"; +import { BingIcon } from "./icons/Bing"; +import { CohereIcon } from "./icons/Cohere"; +import { EvernoteIcon } from "./icons/Evernote"; +import { FBIcon } from "./icons/FacebookMessenger"; +import { GitBookIcon } from "./icons/GitBook"; +import { GoogleIcon } from "./icons/Google"; +import { HackerNewsIcon } from "./icons/hackerNews"; +import { HugginFaceIcon } from "./icons/HuggingFace"; +import { IFixIcon } from "./icons/IFixIt"; +import { MetaIcon } from "./icons/Meta"; +import { MidjourneyIcon } from "./icons/Midjorney"; +import { NotionIcon } from "./icons/Notion"; +import { OpenAiIcon } from "./icons/OpenAi"; +import { QDrantIcon } from "./icons/QDrant"; +import { SearxIcon } from "./icons/Searx"; +import { SlackIcon } from "./icons/Slack"; +import { PineconeIcon } from "./icons/Pinecone"; +import clsx, { ClassValue } from "clsx"; +import { twMerge } from "tailwind-merge"; +import { ADJECTIVES, DESCRIPTIONS, NOUNS } from "./flow_constants"; +import { ComponentType, SVGProps } from "react"; import { Compass, Cpu, - FileSearch, Fingerprint, Gift, Hammer, @@ -16,40 +41,15 @@ import { Paperclip, Rocket, Scissors, + FileSearch, TerminalSquare, Wand2, Wrench, } from "lucide-react"; -import { ComponentType, SVGProps } from "react"; -import { Connection, Edge, Node, ReactFlowInstance } from "reactflow"; -import { twMerge } from "tailwind-merge"; -import { ADJECTIVES, DESCRIPTIONS, NOUNS } from "./flow_constants"; -import { AirbyteIcon } from "./icons/Airbyte"; -import { AnthropicIcon } from "./icons/Anthropic"; -import { BingIcon } from "./icons/Bing"; -import { ChromaIcon } from "./icons/ChromaIcon"; -import { CohereIcon } from "./icons/Cohere"; -import { EvernoteIcon } from "./icons/Evernote"; -import { FBIcon } from "./icons/FacebookMessenger"; -import { GitBookIcon } from "./icons/GitBook"; -import { GoogleIcon } from "./icons/Google"; -import { HugginFaceIcon } from "./icons/HuggingFace"; -import { IFixIcon } from "./icons/IFixIt"; -import { MetaIcon } from "./icons/Meta"; -import { MidjourneyIcon } from "./icons/Midjorney"; -import { MongoDBIcon } from "./icons/MongoDB"; -import { NotionIcon } from "./icons/Notion"; -import { OpenAiIcon } from "./icons/OpenAi"; -import { PineconeIcon } from "./icons/Pinecone"; -import { QDrantIcon } from "./icons/QDrant"; -import { SearxIcon } from "./icons/Searx"; -import { SlackIcon } from "./icons/Slack"; -import { VertexAIIcon } from "./icons/VertexAI"; -import { HackerNewsIcon } from "./icons/hackerNews"; import { SupabaseIcon } from "./icons/supabase"; -import { APITemplateType } from "./types/api"; +import { MongoDBIcon } from "./icons/MongoDB"; +import { VertexAIIcon } from "./icons/VertexAI"; import { IVarHighlightType } from "./types/components"; -import { FlowType, NodeType } from "./types/flow"; export function classNames(...classes: Array) { return classes.filter(Boolean).join(" "); diff --git a/src/frontend/vite.config.ts b/src/frontend/vite.config.ts index f051c2eee..860c690ea 100644 --- a/src/frontend/vite.config.ts +++ b/src/frontend/vite.config.ts @@ -1,5 +1,5 @@ -import react from "@vitejs/plugin-react-swc"; import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react-swc"; import svgr from "vite-plugin-svgr"; const apiRoutes = ["^/api/v1/", "/health"];