diff --git a/src/frontend/src/components/headerComponent/components/menuBar/index.tsx b/src/frontend/src/components/headerComponent/components/menuBar/index.tsx index 735d9176b..85aa39947 100644 --- a/src/frontend/src/components/headerComponent/components/menuBar/index.tsx +++ b/src/frontend/src/components/headerComponent/components/menuBar/index.tsx @@ -12,6 +12,8 @@ import { ChevronLeft, Undo, Redo, + Settings, + Settings2, } from "lucide-react"; import { DropdownMenu, @@ -33,8 +35,9 @@ import { alertContext } from "../../../../contexts/alertContext"; import { updateFlowInDatabase } from "../../../../controllers/API"; import { Link } from "react-router-dom"; import { undoRedoContext } from "../../../../contexts/undoRedoContext"; +import FlowSettingsModal from "../../../../modals/flowSettingsModal"; -export const MenuBar = ({ setRename, rename, flows, tabId }) => { +export const MenuBar = ({flows, tabId }) => { const { updateFlow, setTabId, addFlow } = useContext(TabsContext); const { setErrorData } = useContext(alertContext); const { openPopUp } = useContext(PopUpContext); @@ -65,7 +68,8 @@ export const MenuBar = ({ setRename, rename, flows, tabId }) => {
- { if (value !== "") { @@ -76,20 +80,21 @@ export const MenuBar = ({ setRename, rename, flows, tabId }) => { }} rename={rename} setRename={setRename} - /> + /> */} - + + {current_flow.name} Edit { - setRename(true); + openPopUp() }} > - - Rename + + Settings { diff --git a/src/frontend/src/components/headerComponent/index.tsx b/src/frontend/src/components/headerComponent/index.tsx index 2caef7b0a..58cad8e64 100644 --- a/src/frontend/src/components/headerComponent/index.tsx +++ b/src/frontend/src/components/headerComponent/index.tsx @@ -18,7 +18,6 @@ export default function Header() { const { id } = useParams(); const AlertWidth = 384; const { dark, setDark } = useContext(darkContext); - const [rename, setRename] = useState(false); const { notificationCenter, setNotificationCenter, setErrorData } = useContext(alertContext); const location = useLocation(); @@ -30,8 +29,6 @@ export default function Header() { {flows.findIndex((f) => tabId === f.id) !== -1 && tabId !== "" && ( @@ -39,16 +36,26 @@ export default function Header() {
- + - +
diff --git a/src/frontend/src/constants.tsx b/src/frontend/src/constants.tsx index 82d256c6e..18b34618f 100644 --- a/src/frontend/src/constants.tsx +++ b/src/frontend/src/constants.tsx @@ -6,6 +6,12 @@ */ export const EXPORT_DIALOG_SUBTITLE = "Export your models."; +/** + * The base text for subtitle of Flow Settings (Menubar) + * @constant + */ +export const SETTINGS_DIALOG_SUBTITLE = "Edit details about your project."; + /** * The base text for subtitle of Code Dialog (Toolbar) * @constant diff --git a/src/frontend/src/modals/flowSettingsModal/index.tsx b/src/frontend/src/modals/flowSettingsModal/index.tsx new file mode 100644 index 000000000..64c2a67f7 --- /dev/null +++ b/src/frontend/src/modals/flowSettingsModal/index.tsx @@ -0,0 +1,109 @@ +import { + XMarkIcon, + ArrowDownTrayIcon, + DocumentDuplicateIcon, + ComputerDesktopIcon, +} from "@heroicons/react/24/outline"; +import { Fragment, useContext, useRef, useState } from "react"; +import { alertContext } from "../../contexts/alertContext"; +import { PopUpContext } from "../../contexts/popUpContext"; +import { TabsContext } from "../../contexts/tabsContext"; +import { + Dialog, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle, + DialogTrigger, +} from "../../components/ui/dialog"; +import { Button } from "../../components/ui/button"; +import { Label } from "@radix-ui/react-label"; +import { Checkbox } from "../../components/ui/checkbox"; +import { Textarea } from "../../components/ui/textarea"; +import { Input } from "../../components/ui/input"; +import { SETTINGS_DIALOG_SUBTITLE } from "../../constants"; + +export default function FlowSettingsModal() { + const [open, setOpen] = useState(true); + const { closePopUp } = useContext(PopUpContext); + const {setErrorData} = useContext(alertContext); + const ref = useRef(); + const { flows, tabId, updateFlow,} = useContext(TabsContext); + function setModalOpen(x: boolean) { + setOpen(x); + if (x === false) { + setTimeout(() => { + closePopUp(); + }, 300); + } + } + const [name, setName] = useState(flows.find((f) => f.id === tabId).name); + const [description, setDescription] = useState(flows.find((f) => f.id === tabId).description); + return ( + + + + + + Settings + + {SETTINGS_DIALOG_SUBTITLE} + + + +