Edit Site alerts

This commit is contained in:
headlesdev 2025-05-19 12:42:45 +02:00
parent deed90c83c
commit 667dacc865
2 changed files with 24 additions and 12 deletions

View File

@ -24,15 +24,20 @@ export default function EditSite({ site, onSiteEdited }: EditSiteProps) {
setDescription(site.description || "") setDescription(site.description || "")
}, [site]) }, [site])
const handleEditSite = () => { const handleEditSite = async () => {
editSite({ id: site.id, name, description, networks: site.networks }) try {
const result = await editSite({ id: site.id, name, description, networks: site.networks })
setTimeout(() => { if (result) {
if (onSiteEdited) { setError(result)
console.log("onSiteEdited") return
onSiteEdited()
} }
}, 500) if (onSiteEdited) {
onSiteEdited()
setSuccess("Site edited successfully")
}
} catch (err) {
setError("Failed to edit site")
}
} }
return ( return (

View File

@ -24,14 +24,21 @@ const useSite = () => {
loadSite(); loadSite();
}, [loadSite]); }, [loadSite]);
const editSite = (site: Site) => { const editSite = (site: Site): string | void => {
if (!site.id) {
return 'Site ID is required';
}
if(site.name.length < 3) {
return 'Site name must be at least 3 characters long';
}
axios.post('/api/sites/edit', site) axios.post('/api/sites/edit', site)
.then(() => { .then(() => {
console.log("Site edited successfully"); return;
}) })
.catch(err => { .catch(err => {
console.error(err); return err.response?.data?.error || 'An error occurred';
}) });
}; };
const deleteSite = (siteId: string) => { const deleteSite = (siteId: string) => {