"use client" import { useState, useEffect } from "react" import axios from "axios" import { Site } from "@/app/types" import { PencilLine, Building2, FileText } from "lucide-react" import ErrorToast from "@/components/Error" import SuccessToast from "@/components/Success" import useSite from "@/hooks/useSite" interface EditSiteProps { site: Site onSiteEdited?: () => void } export default function EditSite({ site, onSiteEdited }: EditSiteProps) { const [name, setName] = useState(site.name) const [description, setDescription] = useState(site.description || "") const [error, setError] = useState("") const [success, setSuccess] = useState("") const { editSite } = useSite() useEffect(() => { setName(site.name) setDescription(site.description || "") }, [site]) const handleEditSite = async () => { try { const result = await editSite({ id: site.id, name, description, networks: site.networks }) if (result) { setError(result) return } if (onSiteEdited) { onSiteEdited() setSuccess("Site edited successfully") } } catch (err) { setError("Failed to edit site") } } return (

Edit Site

setName(e.target.value)} />