import Button from "@material-ui/core/Button" import { makeStyles } from "@material-ui/core/styles" import { FormikContextType, useFormik } from "formik" import React from "react" import * as Yup from "yup" import { FormCloseButton, FormTextField, FormTitle, FormSection } from "../components/Form" import { LoadingButton } from "../components/Button" import { Project, Workspace, CreateWorkspaceRequest } from "../api" export interface CreateWorkspaceForm { project: Project onSubmit: (request: CreateWorkspaceRequest) => Promise onCancel: () => void } const validationSchema = Yup.object({ name: Yup.string().required("Name is required"), }) export const CreateWorkspaceForm: React.FC = ({ project, onSubmit, onCancel }) => { const styles = useStyles() const form: FormikContextType<{ name: string }> = useFormik<{ name: string }>({ initialValues: { name: "", }, enableReinitialize: true, validationSchema: validationSchema, onSubmit: ({ name }) => { return onSubmit({ project_id: project.id, name: name, }) }, }) return (
for project {project.name} } />
Submit
) } const useStyles = makeStyles(() => ({ root: { maxWidth: "1380px", width: "100%", display: "flex", flexDirection: "column", alignItems: "center", }, footer: { display: "flex", flex: "0", flexDirection: "row", justifyContent: "center", alignItems: "center", }, button: { margin: "1em", }, }))