UI Fixes & reload

This commit is contained in:
headlesdev
2025-05-19 00:23:43 +02:00
parent 6f7d65bcda
commit 58ae03b535
8 changed files with 44 additions and 16 deletions

View File

@@ -30,9 +30,11 @@ export default function AddNetwork({ onNetworkAdded, siteId }: AddNetworkProps)
gateway
});
if (onNetworkAdded) {
onNetworkAdded();
}
setTimeout(() => {
if (onNetworkAdded) {
onNetworkAdded();
}
}, 500);
};
return (

View File

@@ -4,13 +4,19 @@ import { Trash2, AlertTriangle } from "lucide-react";
interface DeleteNetworkProps {
networkId: string;
onNetworkDeleted?: () => void;
}
export default function DeleteNetwork({ networkId }: DeleteNetworkProps) {
export default function DeleteNetwork({ networkId, onNetworkDeleted }: DeleteNetworkProps) {
const { deleteNetwork } = useNetworks();
const handleDelete = () => {
deleteNetwork(networkId);
setTimeout(() => {
if (onNetworkDeleted) {
onNetworkDeleted();
}
}, 500);
};
return (

View File

@@ -11,6 +11,11 @@ interface DeleteSiteProps {
export default function DeleteSite({ siteId }: DeleteSiteProps) {
const router = useRouter()
const { deleteSite } = useSite()
const handleDeleteSite = () => {
deleteSite(siteId)
router.push("/dashboard/sites")
}
return (
<div>
@@ -41,7 +46,7 @@ export default function DeleteSite({ siteId }: DeleteSiteProps) {
<button className="btn btn-outline">Cancel</button>
<button
className="btn btn-error text-error-content"
onClick={() => deleteSite(siteId)}
onClick={handleDeleteSite}
>
Delete Site
</button>

View File

@@ -8,12 +8,12 @@ import { Network } from "@/app/types";
import { PencilLine, Network as NetworkIcon, Globe, Wifi } from "lucide-react";
interface EditNetworkProps {
onNetworkAdded?: () => void;
onNetworkEdited?: () => void;
siteId: string;
network: Network;
}
export default function EditNetwork({ onNetworkAdded, siteId, network }: EditNetworkProps) {
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);
@@ -31,6 +31,11 @@ export default function EditNetwork({ onNetworkAdded, siteId, network }: EditNet
ipv6Subnet: editIpv6Subnet,
gateway: editGateway
});
setTimeout(() => {
if (onNetworkEdited) {
onNetworkEdited();
}
}, 500);
};
return (

View File

@@ -9,9 +9,10 @@ import useSite from "@/hooks/useSite"
interface EditSiteProps {
site: Site
onSiteEdited?: () => void
}
export default function EditSite({ site }: EditSiteProps) {
export default function EditSite({ site, onSiteEdited }: EditSiteProps) {
const [name, setName] = useState(site.name)
const [description, setDescription] = useState(site.description || "")
const [error, setError] = useState("")
@@ -23,6 +24,17 @@ export default function EditSite({ site }: EditSiteProps) {
setDescription(site.description || "")
}, [site])
const handleEditSite = () => {
editSite({ id: site.id, name, description, networks: site.networks })
setTimeout(() => {
if (onSiteEdited) {
console.log("onSiteEdited")
onSiteEdited()
}
}, 500)
}
return (
<div>
<dialog id="edit_site" className="modal">
@@ -75,7 +87,7 @@ export default function EditSite({ site }: EditSiteProps) {
<button className="btn btn-outline">Cancel</button>
<button
className="btn btn-primary"
onClick={() => editSite({ id: site.id, name, description, networks: site.networks })}
onClick={handleEditSite}
disabled={!name}
>
Save Changes