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) => , + }, }, }} />