diff --git a/frontend/src/components/config/util.tsx b/frontend/src/components/config/util.tsx
index f8caa46b8..3955ce37d 100644
--- a/frontend/src/components/config/util.tsx
+++ b/frontend/src/components/config/util.tsx
@@ -26,7 +26,7 @@ export const ConfigItem = ({
}) => (
diff --git a/frontend/src/layouts/page.tsx b/frontend/src/layouts/page.tsx
index d835b0a35..e5017461e 100644
--- a/frontend/src/layouts/page.tsx
+++ b/frontend/src/layouts/page.tsx
@@ -95,11 +95,14 @@ export const ConfigInner = ({
onSave: () => void;
components: Record<
string,
- {
- [K in keyof Partial]:
- | true
- | ((value: T[K], set: (value: Partial) => void) => ReactNode);
- }
+ Record<
+ string,
+ {
+ [K in keyof Partial]:
+ | true
+ | ((value: T[K], set: (value: Partial) => void) => ReactNode);
+ }
+ >
>;
}) => {
const [show, setShow] = useState(keys(components)[0]);
@@ -119,19 +122,23 @@ export const ConfigInner = ({
))}
-
-
- {show}
-
-
- set((p) => ({ ...p, ...u }))}
- components={components[show]}
- />
-
-
+
+ {Object.entries(components[show]).map(([k, v]) => (
+
+
+ {k}
+
+
+ set((p) => ({ ...p, ...u }))}
+ components={v}
+ />
+
+
+ ))}
+
);
diff --git a/frontend/src/resources/deployment/config/index.tsx b/frontend/src/resources/deployment/config/index.tsx
index 816a35129..57e9105ba 100644
--- a/frontend/src/resources/deployment/config/index.tsx
+++ b/frontend/src/resources/deployment/config/index.tsx
@@ -5,6 +5,7 @@ import { useState } from "react";
import {
AccountSelector,
ConfigInput,
+ ConfigItem,
ResourceSelector,
} from "@components/config/util";
import { ImageConfig } from "./components/image";
@@ -22,14 +23,13 @@ export const ServerSelector = ({
selected: string | undefined;
set: (input: Partial) => void;
}) => (
-
- Server
+
set({ server_id })}
/>
-
+
);
export const DeploymentConfig = ({ id }: { id: string }) => {
@@ -53,45 +53,55 @@ export const DeploymentConfig = ({ id }: { id: string }) => {
onSave={() => mutate({ id, config: update })}
components={{
general: {
- server_id: (value, set) => (
-
- ),
- image: (value, set) => ,
- docker_account: (value, set) => (
- set({ docker_account })}
- />
- ),
- restart: (value, set) => (
-
- ),
- extra_args: (value, set) => (
-
- ),
- process_args: (value, set) => (
- set({ process_args })}
- />
- ),
- network: (value, set) => (
- set({ network })}
- />
- ),
- ports: (value, set) =>
- show_ports && ,
- volumes: (v, set) => ,
+ general: {
+ server_id: (value, set) => (
+
+ ),
+ },
+ container: {
+ image: (value, set) => ,
+ docker_account: (value, set) => (
+ set({ docker_account })}
+ />
+ ),
+ restart: (value, set) => (
+
+ ),
+ extra_args: (value, set) => (
+
+ ),
+ process_args: (value, set) => (
+ set({ process_args })}
+ />
+ ),
+ },
+ network: {
+ network: (value, set) => (
+ set({ network })}
+ />
+ ),
+ ports: (value, set) =>
+ show_ports && ,
+ },
+ volumes: {
+ volumes: (v, set) => ,
+ },
},
environment: {
- skip_secret_interp: true,
- environment: (vars, set) => ,
+ environment: {
+ skip_secret_interp: true,
+ environment: (vars, set) => ,
+ },
},
}}
/>