diff --git a/frontend/src/pages/AdminTemplates.jsx b/frontend/src/pages/AdminTemplates.jsx index 6d58c73..22871a6 100644 --- a/frontend/src/pages/AdminTemplates.jsx +++ b/frontend/src/pages/AdminTemplates.jsx @@ -37,8 +37,9 @@ export default function AdminTemplates() { } async function importVm(vm) { + const key = `vm-${vm.vmid}`; setError(""); - setImporting(`vm-${vm.vmid}`); + setImporting(key); try { await api.createTemplate({ name: vm.name || `VM-${vm.vmid}`, @@ -57,19 +58,19 @@ export default function AdminTemplates() { } } - async function importLxc(lxc) { + async function importLxc(archive) { + const key = `lxc-${archive.volid}`; setError(""); - const key = lxc.vmid ? `lxc-vmid-${lxc.vmid}` : `lxc-${lxc.volid}`; setImporting(key); try { await api.createTemplate({ - name: lxc.name || (lxc.vmid ? `LXC-${lxc.vmid}` : "LXC"), + name: archive.name, guest_type: "lxc", - source_vmid: lxc.vmid ? Number(lxc.vmid) : null, - source_template: lxc.vmid ? null : lxc.volid, - cores: lxc.cores || 1, - memory_mb: lxc.memory_mb || 1024, - disk_gb: lxc.disk_gb || 8, + source_vmid: null, + source_template: archive.volid, + cores: 1, + memory_mb: 1024, + disk_gb: 8, }); await refresh(); } catch (err) { @@ -140,44 +141,37 @@ export default function AdminTemplates() { {vmTemplates.length > 0 ? (
| VMID | Имя | vCPU | RAM | |
|---|---|---|---|---|
| {vm.vmid} | {vm.name} | {vm.cores} | {vm.memory_mb} МБ | -- |
| {vm.vmid} | {vm.name} | {vm.cores} | {vm.memory_mb} МБ | ++ |
VM-шаблоны не найдены.
}| VMID | Имя | Источник | vCPU | RAM | |
|---|---|---|---|---|---|
| {lxc.vmid || "—"} | -{lxc.name} | -{source} | -{lxc.cores || 1} | -{lxc.memory_mb || `${lxc.size_mb || 0} МБ`} | -- |
| Имя | Хранилище | Размер | |||
| {archive.name} | +{archive.storage || "—"} | +{archive.size_mb || 0} МБ | ++ |
LXC-шаблоны не найдены.
} + ) :Архивные LXC-шаблоны не найдены.
}