mirror of
https://github.com/moghtech/komodo.git
synced 2026-05-12 23:38:53 -05:00
setters use maps instead of mutations
This commit is contained in:
@@ -59,8 +59,11 @@ export default function StackConfigFiles({
|
||||
placeholder="configs/config.yaml"
|
||||
value={path}
|
||||
onChange={(e) => {
|
||||
values[i] = { ...values[i], path: e.target.value };
|
||||
set({ config_files: [...values] });
|
||||
set({
|
||||
config_files: values.map((v, index) =>
|
||||
i === index ? { ...v, path: e.target.value } : v,
|
||||
),
|
||||
});
|
||||
}}
|
||||
w={{ base: "100%", md: 400 }}
|
||||
disabled={disabled}
|
||||
@@ -91,8 +94,11 @@ export default function StackConfigFiles({
|
||||
value={services}
|
||||
data={allServices}
|
||||
onChange={(services) => {
|
||||
values[i] = { ...values[i], services };
|
||||
set({ config_files: [...values] });
|
||||
set({
|
||||
config_files: values.map((v, index) =>
|
||||
i === index ? { ...v, services } : v,
|
||||
),
|
||||
});
|
||||
}}
|
||||
disabled={disabled}
|
||||
searchable
|
||||
@@ -102,11 +108,16 @@ export default function StackConfigFiles({
|
||||
value={requires}
|
||||
onChange={(requires) => {
|
||||
if (!requires) return;
|
||||
values[i] = {
|
||||
...values[i],
|
||||
requires: requires as Types.StackFileRequires,
|
||||
};
|
||||
set({ config_files: [...values] });
|
||||
set({
|
||||
config_files: values.map((v, index) =>
|
||||
i === index
|
||||
? {
|
||||
...v,
|
||||
requires: requires as Types.StackFileRequires,
|
||||
}
|
||||
: v,
|
||||
),
|
||||
});
|
||||
}}
|
||||
disabled={disabled}
|
||||
data={Object.values(Types.StackFileRequires)}
|
||||
|
||||
@@ -279,12 +279,16 @@ export default function StackConfig({
|
||||
<TextInput
|
||||
value={file.path || ""}
|
||||
onChange={(e) => {
|
||||
const newFiles = [...files];
|
||||
newFiles[i] = {
|
||||
path: e.target.value,
|
||||
track: file.track ?? true,
|
||||
};
|
||||
set({ additional_env_files: newFiles });
|
||||
set({
|
||||
additional_env_files: files.map((v, index) =>
|
||||
i === index
|
||||
? {
|
||||
path: e.target.value,
|
||||
track: file.track ?? true,
|
||||
}
|
||||
: v,
|
||||
),
|
||||
});
|
||||
}}
|
||||
placeholder=".env"
|
||||
disabled={disabled}
|
||||
@@ -296,9 +300,11 @@ export default function StackConfig({
|
||||
label="Track"
|
||||
checked={file.track ?? true}
|
||||
onCheckedChange={(track) => {
|
||||
const newFiles = [...files];
|
||||
newFiles[i] = { ...newFiles[i], track };
|
||||
set({ additional_env_files: newFiles });
|
||||
set({
|
||||
additional_env_files: files.map((v, index) =>
|
||||
i === index ? { ...v, track } : v,
|
||||
),
|
||||
});
|
||||
}}
|
||||
disabled={disabled}
|
||||
id={`track-${i}`}
|
||||
|
||||
@@ -25,8 +25,11 @@ export default function InputList<T>({
|
||||
key={i}
|
||||
value={arg}
|
||||
onChange={(e) => {
|
||||
values[i] = e.target.value;
|
||||
set({ [field]: [...values] } as Partial<T>);
|
||||
set({
|
||||
[field]: values.map((v, index) =>
|
||||
i === index ? e.target.value : v,
|
||||
),
|
||||
} as Partial<T>);
|
||||
}}
|
||||
disabled={disabled}
|
||||
w={{ base: 230, md: 400 }}
|
||||
|
||||
Reference in New Issue
Block a user