diff --git a/frontend/src/layouts/resources.tsx b/frontend/src/layouts/resources.tsx index 03a6253a8..e61af81cf 100644 --- a/frontend/src/layouts/resources.tsx +++ b/frontend/src/layouts/resources.tsx @@ -9,6 +9,7 @@ import { NewServer } from "@resources/server/new"; import { NewBuild } from "@resources/build/new"; import { NewBuilder } from "@resources/builder/new"; import { NewAlerter } from "@resources/alerter/new"; +import { NewRepo } from "@resources/repo/new"; export const Resources = ({ type, @@ -54,6 +55,7 @@ export const Resources = ({ {type === "Build" && } {type === "Builder" && } {type === "Alerter" && } + {type === "Repo" && } } > diff --git a/frontend/src/pages/dashboard/components/create-resource.tsx b/frontend/src/pages/dashboard/components/create-resource.tsx index e1faa85ba..860491ba9 100644 --- a/frontend/src/pages/dashboard/components/create-resource.tsx +++ b/frontend/src/pages/dashboard/components/create-resource.tsx @@ -16,6 +16,9 @@ import { NewDeployment } from "@resources/deployment/new"; import { PlusCircle, ChevronDown } from "lucide-react"; import { useState } from "react"; import { RESOURCE_TYPES } from "@util/config"; +import { NewServer } from "@resources/server/new"; +import { NewAlerter } from "@resources/alerter/new"; +import { NewRepo } from "@resources/repo/new"; export const CreateResource = () => { const [open, set] = useState(false); @@ -54,8 +57,11 @@ export const CreateResource = () => { + + + > ); }; diff --git a/frontend/src/resources/repo/new.tsx b/frontend/src/resources/repo/new.tsx new file mode 100644 index 000000000..ca16fa90e --- /dev/null +++ b/frontend/src/resources/repo/new.tsx @@ -0,0 +1,43 @@ +import { useState } from "react"; +import { useWrite } from "@hooks"; +import { Input } from "@ui/input"; +import { NewResource } from "@components/new-resource"; +import { useNavigate } from "react-router-dom"; + +export const NewRepo = ({ + open, + set, +}: { + open: boolean; + set: (b: false) => void; +}) => { + const nav = useNavigate(); + const { mutate, isLoading } = useWrite("CreateDeployment", { + onSuccess: (d) => { + set(false); + nav(`/deployments/${d._id?.$oid}`); + }, + }); + + const [name, setName] = useState(""); + + return ( + mutate({ name, config: {} })} + > + + Repo Name + setName(e.target.value)} + /> + + + ); +};