import { useMachine } from "@xstate/react" import { FC } from "react" import { Helmet } from "react-helmet" import { useNavigate, useParams } from "react-router-dom" import { useOrganizationId } from "../../hooks/useOrganizationId" import { pageTitle } from "../../util/page" import { createWorkspaceMachine } from "../../xServices/createWorkspace/createWorkspaceXService" import { CreateWorkspacePageView } from "./CreateWorkspacePageView" const CreateWorkspacePage: FC = () => { const organizationId = useOrganizationId() const { template } = useParams() const templateName = template ? template : "" const navigate = useNavigate() const [createWorkspaceState, send] = useMachine(createWorkspaceMachine, { context: { organizationId, templateName }, actions: { onCreateWorkspace: (_, event) => { navigate(`/@${event.data.owner_name}/${event.data.name}`) }, }, }) return ( <> {pageTitle("Create Workspace")} { navigate("/templates") }} onSubmit={(request) => { send({ type: "CREATE_WORKSPACE", request, }) }} /> ) } export default CreateWorkspacePage