import axios from "axios"; import { useEffect, useState } from "react"; function Sites() { const [sites, setSites] = useState([]); const [reload, setReload] = useState(0); const [showCreateForm, setShowCreateForm] = useState(false); const [site, setSite] = useState({ name: "", desc: "", address: "", }); useEffect(() => { axios.get("/api/sites").then((res) => { setSites(res.data); }); }, [reload]); const handleEditSite = (siteId) => { alert(`Edit site with ID: ${siteId}`); }; const handleInputChange = (e) => { const { name, value } = e.target; setSite({ ...site, [name]: value }); }; const handleSubmit = (e) => { e.preventDefault(); const params = new URLSearchParams({ name: site.name, description: site.desc, address: site.address, }); axios.post(`/api/sites?${params.toString()}`).then((res) => { if (res.status === 200) { setSite({ name: "", desc: "", address: "" }); setShowCreateForm(false); setReload(reload + 1); } }); }; return (

Manage Sites

{/* Create Site Form */} {showCreateForm && (

Create New Site

)} {/* Sites Table */}
{sites.map((site, index) => ( ))}
# Name Address Roles Actions
{index + 1} {site.name} {site.address} {site.listJi}
); } export default Sites;