diff --git a/frontend/src/pages/AdminTemplates.jsx b/frontend/src/pages/AdminTemplates.jsx index 3cf8cf7..c4b22bc 100644 --- a/frontend/src/pages/AdminTemplates.jsx +++ b/frontend/src/pages/AdminTemplates.jsx @@ -20,29 +20,20 @@ export default function AdminTemplates() { const [busy, setBusy] = useState(false); const [importing, setImporting] = useState(null); - const vmTemplates = proxmoxTemplates?.vm_templates || []; - const lxcTemplates = proxmoxTemplates?.lxc_templates || []; + async function refresh() { setTemplates(await api.listTemplates()); } - async function refresh() { - setTemplates(await api.listTemplates()); - } - - async function findTemplates() { + async function fetchProxmox() { setError(""); setBusy(true); - try { - setProxmoxTemplates(await api.fetchProxmoxTemplates()); - } catch (err) { - setError(err.message); - } finally { - setBusy(false); - } + try { setProxmoxTemplates(await api.fetchProxmoxTemplates()); } + catch (err) { setError(err.message); } + finally { setBusy(false); } } async function importVm(vm) { const key = `vm-${vm.vmid}`; - setImporting(key); setError(""); + setImporting(key); try { await api.createTemplate({ name: vm.name || `VM-${vm.vmid}`, @@ -54,17 +45,14 @@ export default function AdminTemplates() { disk_gb: vm.disk_gb || 10, }); await refresh(); - } catch (err) { - setError(err.message); - } finally { - setImporting(null); - } + } catch (err) { setError(err.message); } + finally { setImporting(null); } } async function importLxc(archive) { const key = `lxc-${archive.volid}`; - setImporting(key); setError(""); + setImporting(key); try { await api.createTemplate({ name: archive.name, @@ -76,26 +64,17 @@ export default function AdminTemplates() { disk_gb: 8, }); await refresh(); - } catch (err) { - setError(err.message); - } finally { - setImporting(null); - } + } catch (err) { setError(err.message); } + finally { setImporting(null); } } async function deleteTemplate(id) { if (!confirm("Удалить шаблон?")) return; - try { - await api.deleteTemplate(id); - await refresh(); - } catch (err) { - setError(err.message); - } + try { await api.deleteTemplate(id); await refresh(); } + catch (err) { setError(err.message); } } - useEffect(() => { - refresh().catch((err) => setError(err.message)); - }, []); + useEffect(() => { refresh().catch((err) => setError(err.message)); }, []); function set(field, value) { setForm((current) => ({ ...current, [field]: value })); @@ -116,13 +95,13 @@ export default function AdminTemplates() { }); setForm(empty); await refresh(); - } catch (err) { - setError(err.message); - } finally { - setBusy(false); - } + } catch (err) { setError(err.message); } + finally { setBusy(false); } } + const vmTemplates = proxmoxTemplates?.vm_templates || []; + const lxcTemplates = proxmoxTemplates?.lxc_templates || []; + return (