"use client"; import { useState } from "react"; import ErrorToast from "@/components/Error"; import SuccessToast from "@/components/Success"; import useNetworks from "@/hooks/useNetworks"; import { Network } from "@/app/types"; import { PencilLine, Network as NetworkIcon, Globe, Wifi } from "lucide-react"; interface EditNetworkProps { onNetworkEdited?: () => void; siteId: string; network: Network; } export default function EditNetwork({ onNetworkEdited, siteId, network }: EditNetworkProps) { const [editName, setEditName] = useState(network.name); const [editIpv4Subnet, setEditIpv4Subnet] = useState(network.ipv4Subnet); const [editIpv6Subnet, setEditIpv6Subnet] = useState(network.ipv6Subnet); const [editGateway, setEditGateway] = useState(network.gateway); const [error, setError] = useState(""); const [success, setSuccess] = useState(""); const { editNetwork } = useNetworks(); const handleEdit = async () => { const response = editNetwork({ id: network.id, siteId, name: editName, ipv4Subnet: editIpv4Subnet, ipv6Subnet: editIpv6Subnet, gateway: editGateway }); if (typeof response === "string") { setError(response) return } try{ const successMessage = await response if (onNetworkEdited && successMessage) { onNetworkEdited() setSuccess(successMessage) } } catch (apiError: any) { setError(apiError) } finally { setEditName("") setEditIpv4Subnet("") setEditIpv6Subnet("") setEditGateway("") } }; return (