mirror of
https://github.com/crocofied/CoreControl.git
synced 2025-12-29 16:14:43 +00:00
hooks promises
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
import Sidebar from "@/components/Sidebar"
|
||||
import useSite from "@/hooks/useSite"
|
||||
import { useEffect, useState } from "react"
|
||||
import { Network } from "@/app/types"
|
||||
import Loading from "@/components/Loading"
|
||||
import { EditModeToggle } from "@/components/EditModeToggle"
|
||||
import AddNetwork from "@/components/dialogues/AddNetwork"
|
||||
@@ -20,6 +21,9 @@ interface SitesPageProps {
|
||||
export default function SitesPage({ username, name, siteId }: SitesPageProps) {
|
||||
const { site, loadSite, setSiteId, loading } = useSite()
|
||||
const [isEditMode, setIsEditMode] = useState(false)
|
||||
|
||||
const [selectedNetwork, setSelectedNetwork] = useState<Network | null>(null)
|
||||
const [selectedNetworkId, setSelectedNetworkId] = useState('')
|
||||
|
||||
useEffect(() => {
|
||||
if (siteId) {
|
||||
@@ -114,19 +118,23 @@ export default function SitesPage({ username, name, siteId }: SitesPageProps) {
|
||||
<div className="flex gap-1 justify-center">
|
||||
<button
|
||||
className="btn btn-primary btn-s px-2"
|
||||
onClick={() => (document.getElementById('edit_network') as HTMLDialogElement)?.showModal()}
|
||||
onClick={() => {
|
||||
setSelectedNetwork(network);
|
||||
(document.getElementById('edit_network') as HTMLDialogElement)?.showModal();
|
||||
}}
|
||||
>
|
||||
<Pencil className="h-3 w-3" />
|
||||
</button>
|
||||
<button
|
||||
className="btn btn-error btn-s px-2"
|
||||
onClick={() => (document.getElementById('delete_network') as HTMLDialogElement)?.showModal()}
|
||||
onClick={() => {
|
||||
setSelectedNetworkId(network.id);
|
||||
(document.getElementById('delete_network') as HTMLDialogElement)?.showModal();
|
||||
}}
|
||||
>
|
||||
<Trash className="h-3 w-3" />
|
||||
</button>
|
||||
</div>
|
||||
<EditNetwork siteId={site.id} network={network} onNetworkEdited={loadSite}/>
|
||||
<DeleteNetwork networkId={network.id} onNetworkDeleted={loadSite}/>
|
||||
</td>
|
||||
)}
|
||||
</tr>
|
||||
@@ -155,11 +163,25 @@ export default function SitesPage({ username, name, siteId }: SitesPageProps) {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<AddNetwork siteId={site.id} onNetworkAdded={loadSite}/>
|
||||
<EditSite site={site} onSiteEdited={loadSite} />
|
||||
<DeleteSite siteId={site.id} />
|
||||
</div>
|
||||
)}
|
||||
|
||||
<AddNetwork siteId={site.id} onNetworkAdded={loadSite}/>
|
||||
<EditSite site={site} onSiteEdited={loadSite} />
|
||||
<DeleteSite siteId={site.id} />
|
||||
{selectedNetwork && (
|
||||
<EditNetwork
|
||||
siteId={site.id}
|
||||
network={selectedNetwork}
|
||||
onNetworkEdited={loadSite}
|
||||
/>
|
||||
)}
|
||||
{selectedNetworkId && (
|
||||
<DeleteNetwork
|
||||
networkId={selectedNetworkId}
|
||||
onNetworkDeleted={loadSite}
|
||||
/>
|
||||
)}
|
||||
</main>
|
||||
</Sidebar>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user