diff --git a/frontend/src/resources/deployment/config.tsx b/frontend/src/resources/deployment/config.tsx index 9540e32de..1f63ca333 100644 --- a/frontend/src/resources/deployment/config.tsx +++ b/frontend/src/resources/deployment/config.tsx @@ -1,4 +1,5 @@ import { Configuration } from "@components/config"; +import { ConfirmUpdate } from "@components/config/confirm-update"; import { useRead, useWrite } from "@hooks"; import { Section } from "@layouts/page"; import { Types } from "@monitor/client"; @@ -23,9 +24,9 @@ const ImageTypeSelector = ({ selected: Types.DeploymentImage["type"] | undefined; onSelect: (type: Types.DeploymentImage["type"]) => void; }) => ( - - + Image @@ -43,7 +44,7 @@ const ServersSelector = ({ }) => { const servers = useRead("ListServers", {}).data; return ( - @@ -67,9 +68,9 @@ const BuildsSelector = ({ }) => { const builds = useRead("ListBuilds", {}).data; return ( - - + {builds?.map((b) => ( @@ -93,12 +94,14 @@ const BuildVersionSelector = ({ }) => { const versions = useRead("GetBuildVersions", { id: buildId }).data; return ( - + + - latest + + latest + {versions?.map((v) => ( {readableVersion(v.version)} @@ -118,7 +121,7 @@ const EnvVars = ({ }) => (
{vars?.map((variable, i) => ( -
+
); +const ImageConfig = ({ + image, + set, +}: { + image: Types.DeploymentImage | undefined; + set: (input: Partial) => void; +}) => ( +
+
Image
+
+ + set({ + image: { + type: type as any, + params: + type === "Image" + ? { image: "" } + : ({ + build_id: "", + version: { major: 0, minor: 0, patch: 0 }, + } as any), + }, + }) + } + /> + {image?.type === "Build" && ( +
+ + set({ + image: { + ...image, + params: { ...image.params, build_id: id }, + }, + }) + } + /> + + set({ + image: { + ...image, + params: { + ...image.params, + version: JSON.parse(version), + }, + }, + }) + } + /> +
+ )} + {image?.type === "Image" && ( +
+ + set({ + image: { + ...image, + params: { image: e.target.value }, + }, + }) + } + className="w-full lg:w-[300px]" + placeholder="image name" + /> +
+ )} +
+
+); + export const DeploymentConfig = () => { const id = useParams().deploymentId; const deployment = useRead("GetDeployment", { id }).data; @@ -171,13 +252,10 @@ export const DeploymentConfig = () => { - + mutate({ config: update, id })} + />
} > @@ -201,77 +279,7 @@ export const DeploymentConfig = () => { />
), - image: (image, set) => ( -
-
Image
-
- - set({ - image: { - type: type as any, - params: - type === "Image" - ? { image: "" } - : ({ - build_id: "", - version: { major: 0, minor: 0, patch: 0 }, - } as any), - }, - }) - } - /> - {image?.type === "Build" && ( -
- - set({ - image: { - ...image, - params: { ...image.params, build_id: id }, - }, - }) - } - /> - - set({ - image: { - ...image, - params: { - ...image.params, - version: JSON.parse(version), - }, - }, - }) - } - /> -
- )} - {image?.type === "Image" && ( -
- - set({ - image: { - ...image, - params: { image: e.target.value }, - }, - }) - } - className="w-full lg:w-[300px]" - placeholder="image name" - /> -
- )} -
-
- ), + image: (image, set) => , environment: (vars, set) => , }} />