From 0aec5542b928fcd8ceb639ba26ba058c8db9bef2 Mon Sep 17 00:00:00 2001 From: ali asaria <aliasaria@users.noreply.github.com> Date: Tue, 25 Feb 2025 16:18:53 -0500 Subject: [PATCH] create new workflow modal placeholder --- .../Experiment/Workflows/NewWorkflowModal.tsx | 44 +++++++++++++++++++ .../components/Experiment/Workflows/index.tsx | 11 +++-- 2 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 src/renderer/components/Experiment/Workflows/NewWorkflowModal.tsx diff --git a/src/renderer/components/Experiment/Workflows/NewWorkflowModal.tsx b/src/renderer/components/Experiment/Workflows/NewWorkflowModal.tsx new file mode 100644 index 00000000..b7a2c98e --- /dev/null +++ b/src/renderer/components/Experiment/Workflows/NewWorkflowModal.tsx @@ -0,0 +1,44 @@ +import { + Button, + DialogContent, + DialogTitle, + FormControl, + FormLabel, + Input, + Modal, + ModalDialog, + Stack, + Textarea, +} from '@mui/joy'; +import { useState } from 'react'; + +export default function NewWorkflowModal({ open, setOpen }) { + const [state, setState] = useState(null); + + return ( + <Modal open={open} onClose={() => setOpen(false)}> + <ModalDialog> + <DialogTitle>Create new workflow</DialogTitle> + <DialogContent>Fill in the information.</DialogContent> + <form + onSubmit={(event: React.FormEvent<HTMLFormElement>) => { + event.preventDefault(); + setOpen(false); + }} + > + <Stack spacing={2}> + <FormControl> + <FormLabel>Name</FormLabel> + <Input autoFocus required /> + </FormControl> + <FormControl> + <FormLabel>Nodes</FormLabel> + <Textarea required minRows={6} /> + </FormControl> + <Button type="submit">Submit</Button> + </Stack> + </form> + </ModalDialog> + </Modal> + ); +} diff --git a/src/renderer/components/Experiment/Workflows/index.tsx b/src/renderer/components/Experiment/Workflows/index.tsx index b0618a4f..42f252ef 100644 --- a/src/renderer/components/Experiment/Workflows/index.tsx +++ b/src/renderer/components/Experiment/Workflows/index.tsx @@ -17,12 +17,13 @@ import { useState } from 'react'; import * as chatAPI from '../../../lib/transformerlab-api-sdk'; import useSWR from 'swr'; +import NewWorkflowModal from './NewWorkflowModal'; const fetcher = (url: any) => fetch(url).then((res) => res.json()); export default function Workflows({ experimentInfo }) { const [selectedWorkflow, setSelectedWorkflow] = useState(null); - + const [newWorkflowModalOpen, setNewWorkflowModalOpen] = useState(false); const { data: workflowsData, error: workflowsError, @@ -86,6 +87,10 @@ export default function Workflows({ experimentInfo }) { mb: 3, }} > + <NewWorkflowModal + open={newWorkflowModalOpen} + setOpen={setNewWorkflowModalOpen} + /> <Typography level="h1">Workflows</Typography> <Typography level="body-lg" mb={3}> This is where it will all go @@ -118,11 +123,11 @@ export default function Workflows({ experimentInfo }) { </ListItem> ))} <ListItem> - <ListItemButton> + <ListItemButton onClick={() => setNewWorkflowModalOpen(true)}> <ListItemDecorator> <PlusCircleIcon /> </ListItemDecorator> - <ListItemContent>Create New Workflow</ListItemContent> + <ListItemContent>New Workflow</ListItemContent> </ListItemButton> </ListItem> </List> -- GitLab