AddSite useSite

This commit is contained in:
headlesdev 2025-05-20 19:53:23 +02:00
parent d1a289c4fa
commit 4f182ca21d
2 changed files with 33 additions and 44 deletions

View File

@ -21,7 +21,6 @@ export default function AddNetwork({ onNetworkAdded, siteId }: AddNetworkProps)
const { addNetwork } = useNetworks();
const handleAddNetwork = async () => {
try {
const response = addNetwork({
id: "0",
siteId,
@ -43,9 +42,6 @@ export default function AddNetwork({ onNetworkAdded, siteId }: AddNetworkProps)
} catch (apiError: any) {
setError(apiError)
}
} catch (err) {
setError("Failed to add network")
}
};
return (

View File

@ -5,6 +5,7 @@ import axios from "axios";
import ErrorToast from "@/components/Error";
import SuccessToast from "@/components/Success";
import { Building2, MapPin, FileText } from "lucide-react";
import useSite from "@/hooks/useSite";
interface AddSiteProps {
onSiteAdded?: () => void;
@ -15,30 +16,22 @@ export default function AddSite({ onSiteAdded }: AddSiteProps) {
const [description, setDescription] = useState("");
const [error, setError] = useState("");
const [success, setSuccess] = useState("");
const { addSite } = useSite();
const addSite = async () => {
const addSiteHandler = async () => {
const response = addSite({ id: "", name, description, networks: [] });
if (typeof response === "string") {
setError(response)
return
}
try {
const response = await axios.post("/api/sites/add", { name, description });
if (response.status === 201) {
const site = response.data.site;
if (site) {
setName("");
setDescription("");
setSuccess("Site added successfully");
document.getElementById('add_site')?.querySelector('form')?.dispatchEvent(
new Event('submit', { cancelable: true })
);
if (onSiteAdded) {
onSiteAdded();
const successMessage = await response
if (onSiteAdded && successMessage) {
onSiteAdded()
setSuccess("Site added successfully")
}
} else {
setError("No site received");
}
}
} catch (error: any) {
setError(error.response.data.error);
} catch (apiError: any) {
setError(apiError)
}
};
@ -96,7 +89,7 @@ export default function AddSite({ onSiteAdded }: AddSiteProps) {
<button className="btn btn-outline">Cancel</button>
<button
className="btn btn-success text-success-content"
onClick={addSite}
onClick={addSiteHandler}
>
Add Site
</button>