import { useEffect, useState } from "react"; import { Link } from "react-router-dom"; import { api } from "../api/client"; export default function ProjectsPage() { const [projects, setProjects] = useState([]); const [name, setName] = useState(""); const [error, setError] = useState(""); const [loading, setLoading] = useState(true); async function load() { setLoading(true); setError(""); try { setProjects(await api.listProjects()); } catch (e) { setError(e.message); } finally { setLoading(false); } } useEffect(() => { load(); }, []); async function create() { if (!name.trim()) return; try { const p = await api.createProject(name.trim()); setName(""); window.location.href = `/projects/${p.id}`; } catch (e) { setError(e.message); } } async function remove(id) { if (!confirm("Удалить проект?")) return; try { await api.deleteProject(id); load(); } catch (e) { setError(e.message); } } return (
| ID | Название | Статус | Компоненты | Слои | |
|---|---|---|---|---|---|
| {p.id} | {p.name} | {p.status} | {p.component_count} | {p.layer_count} |