upgrade environment to textarea

This commit is contained in:
karamvir
2023-08-17 10:36:02 -07:00
parent c45a617a90
commit 46db31c695

View File

@@ -1,5 +1,8 @@
import { DoubleInput } from "@components/config/util";
import { ConfigItem } from "@components/config/util";
import { Types } from "@monitor/client";
import { Textarea } from "@ui/textarea";
import { parseDotEnvToEnvVars, parseEnvVarseToDotEnv } from "@util/helpers";
import { useEffect, useState } from "react";
export const EnvVars = ({
vars,
@@ -7,27 +10,22 @@ export const EnvVars = ({
}: {
vars: Types.EnvironmentVar[];
set: (input: Partial<Types.DeploymentConfig>) => void;
}) => (
<DoubleInput
values={vars}
leftval="variable"
leftpl="Variable"
rightval="value"
rightpl="Value"
addName="Environment Varialbe"
onLeftChange={(variable, i) => {
vars[i].variable = variable;
set({ environment: [...vars] });
}}
onRightChange={(value, i) => {
vars[i].value = value;
set({ environment: [...vars] });
}}
onAdd={() =>
set({ environment: [...(vars ?? []), { variable: "", value: "" }] })
}
onRemove={(idx) =>
set({ environment: [...vars.filter((_, i) => i !== idx)] })
}
/>
);
}) => {
const [env, setEnv] = useState(parseEnvVarseToDotEnv(vars));
useEffect(() => {
!!env && set({ environment: parseDotEnvToEnvVars(env) });
}, [env]);
return (
<ConfigItem
label="Environment Variables"
className="flex-col gap-4 items-start"
>
<Textarea
placeholder="VARIABLE=value"
value={env}
onChange={(e) => setEnv(e.target.value)}
/>
</ConfigItem>
);
};