mirror of
https://github.com/moghtech/komodo.git
synced 2026-04-30 14:25:22 -05:00
add new builder selection config
This commit is contained in:
@@ -2,7 +2,7 @@ import { Configuration } from "@components/config";
|
|||||||
import { useRead, useWrite } from "@hooks";
|
import { useRead, useWrite } from "@hooks";
|
||||||
import { Section } from "@layouts/page";
|
import { Section } from "@layouts/page";
|
||||||
import { Types } from "@monitor/client";
|
import { Types } from "@monitor/client";
|
||||||
import { ServersSelector } from "@resources/deployment/config";
|
// import { ServersSelector } from "@resources/deployment/config";
|
||||||
import { Button } from "@ui/button";
|
import { Button } from "@ui/button";
|
||||||
import { Input } from "@ui/input";
|
import { Input } from "@ui/input";
|
||||||
import {
|
import {
|
||||||
@@ -103,23 +103,23 @@ const EnvVars = ({
|
|||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
const BuilderTypeSelector = ({
|
// const BuilderTypeSelector = ({
|
||||||
selected,
|
// selected,
|
||||||
onSelect,
|
// onSelect,
|
||||||
}: {
|
// }: {
|
||||||
selected: Types.BuildBuilderConfig["type"] | undefined;
|
// selected: string | undefined;
|
||||||
onSelect: (type: Types.BuildBuilderConfig["type"]) => void;
|
// onSelect: (id: string) => void;
|
||||||
}) => (
|
// }) => (
|
||||||
<Select value={selected || undefined} onValueChange={onSelect}>
|
// <Select value={selected || undefined} onValueChange={onSelect}>
|
||||||
<SelectTrigger className="max-w-[150px]">
|
// <SelectTrigger className="max-w-[150px]">
|
||||||
<SelectValue placeholder="Select Type" />
|
// <SelectValue placeholder="Select Type" />
|
||||||
</SelectTrigger>
|
// </SelectTrigger>
|
||||||
<SelectContent>
|
// <SelectContent>
|
||||||
<SelectItem value={"Builder"}>Builder</SelectItem>
|
// <SelectItem value={"Builder"}>Builder</SelectItem>
|
||||||
<SelectItem value={"Server"}>Server</SelectItem>
|
// <SelectItem value={"Server"}>Server</SelectItem>
|
||||||
</SelectContent>
|
// </SelectContent>
|
||||||
</Select>
|
// </Select>
|
||||||
);
|
// );
|
||||||
|
|
||||||
const BuilderSelector = ({
|
const BuilderSelector = ({
|
||||||
selected,
|
selected,
|
||||||
@@ -145,49 +145,49 @@ const BuilderSelector = ({
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const BuilderConfig = ({
|
// const BuilderConfig = ({
|
||||||
builder,
|
// builder,
|
||||||
set,
|
// set,
|
||||||
}: {
|
// }: {
|
||||||
builder: Types.BuildBuilderConfig | undefined;
|
// builder: Types.BuildBuilderConfig | undefined;
|
||||||
set: (input: Partial<Types.BuildConfig>) => void;
|
// set: (input: Partial<Types.BuildConfig>) => void;
|
||||||
}) => (
|
// }) => (
|
||||||
<div className="flex justify-between items-center border-b pb-4 min-h-[40px]">
|
// <div className="flex justify-between items-center border-b pb-4 min-h-[40px]">
|
||||||
<div>Builder</div>
|
// <div>Builder</div>
|
||||||
<div className="flex gap-4 w-full justify-end">
|
// <div className="flex gap-4 w-full justify-end">
|
||||||
<BuilderTypeSelector
|
// <BuilderTypeSelector
|
||||||
selected={builder?.type}
|
// selected={builder?.type}
|
||||||
onSelect={(type) =>
|
// onSelect={(type) =>
|
||||||
set({
|
// set({
|
||||||
builder: {
|
// builder: {
|
||||||
type: type as any,
|
// type: type as any,
|
||||||
params:
|
// params:
|
||||||
type === "Server"
|
// type === "Server"
|
||||||
? ({ server_id: "" } as any)
|
// ? ({ server_id: "" } as any)
|
||||||
: { builder_id: "" },
|
// : { builder_id: "" },
|
||||||
},
|
// },
|
||||||
})
|
// })
|
||||||
}
|
// }
|
||||||
/>
|
// />
|
||||||
{builder?.type === "Server" && (
|
// {builder?.type === "Server" && (
|
||||||
<ServersSelector
|
// <ServersSelector
|
||||||
selected={builder.params.server_id}
|
// selected={builder.params.server_id}
|
||||||
onSelect={(server_id) =>
|
// onSelect={(server_id) =>
|
||||||
set({ builder: { ...builder, params: { server_id } } })
|
// set({ builder: { ...builder, params: { server_id } } })
|
||||||
}
|
// }
|
||||||
/>
|
// />
|
||||||
)}
|
// )}
|
||||||
{builder?.type === "Builder" && (
|
// {builder?.type === "Builder" && (
|
||||||
<BuilderSelector
|
// <BuilderSelector
|
||||||
selected={builder.params.builder_id}
|
// selected={builder.params.builder_id}
|
||||||
onSelect={(builder_id) =>
|
// onSelect={(builder_id) =>
|
||||||
set({ builder: { ...builder, params: { builder_id } } })
|
// set({ builder: { ...builder, params: { builder_id } } })
|
||||||
}
|
// }
|
||||||
/>
|
// />
|
||||||
)}
|
// )}
|
||||||
</div>
|
// </div>
|
||||||
</div>
|
// </div>
|
||||||
);
|
// );
|
||||||
|
|
||||||
export const BuildConfig = () => {
|
export const BuildConfig = () => {
|
||||||
const id = useParams().buildId;
|
const id = useParams().buildId;
|
||||||
@@ -222,7 +222,7 @@ export const BuildConfig = () => {
|
|||||||
update={update}
|
update={update}
|
||||||
set={(input) => set((update) => ({ ...update, ...input }))}
|
set={(input) => set((update) => ({ ...update, ...input }))}
|
||||||
layout={{
|
layout={{
|
||||||
general: ["builder"],
|
general: ["builder_id"],
|
||||||
repo: ["repo", "branch", "github_account"],
|
repo: ["repo", "branch", "github_account"],
|
||||||
docker: [
|
docker: [
|
||||||
"build_path",
|
"build_path",
|
||||||
@@ -238,8 +238,11 @@ export const BuildConfig = () => {
|
|||||||
overrides={{
|
overrides={{
|
||||||
build_args: (args, set) => <EnvVars vars={args} set={set} />,
|
build_args: (args, set) => <EnvVars vars={args} set={set} />,
|
||||||
extra_args: (args, set) => <ExtraArgs args={args} set={set} />,
|
extra_args: (args, set) => <ExtraArgs args={args} set={set} />,
|
||||||
builder: (builder, set) => (
|
builder_id: (id, set) => (
|
||||||
<BuilderConfig builder={builder} set={set} />
|
<BuilderSelector
|
||||||
|
selected={id}
|
||||||
|
onSelect={(builder_id) => set({ builder_id })}
|
||||||
|
/>
|
||||||
),
|
),
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|||||||
Reference in New Issue
Block a user