|
|
|
@ -35,21 +35,14 @@ export default function useNodeData() {
|
|
|
|
|
const [data, setData] = useState<NodeData>()
|
|
|
|
|
const [isPosting, setIsPosting] = useState<boolean>(false)
|
|
|
|
|
|
|
|
|
|
const fetchNodeData = useCallback(() => {
|
|
|
|
|
const urlParams = new URLSearchParams(window.location.search)
|
|
|
|
|
const nextParams = new URLSearchParams()
|
|
|
|
|
const token = urlParams.get("SynoToken")
|
|
|
|
|
if (token) {
|
|
|
|
|
nextParams.set("SynoToken", token)
|
|
|
|
|
}
|
|
|
|
|
const search = nextParams.toString()
|
|
|
|
|
const url = `api/data${search ? `?${search}` : ""}`
|
|
|
|
|
|
|
|
|
|
apiFetch(url)
|
|
|
|
|
.then((r) => r.json())
|
|
|
|
|
.then((d) => setData(d))
|
|
|
|
|
.catch((error) => console.error(error))
|
|
|
|
|
}, [setData])
|
|
|
|
|
const fetchNodeData = useCallback(
|
|
|
|
|
() =>
|
|
|
|
|
apiFetch("/data")
|
|
|
|
|
.then((r) => r.json())
|
|
|
|
|
.then((d) => setData(d))
|
|
|
|
|
.catch((error) => console.error(error)),
|
|
|
|
|
[setData]
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
const updateNode = useCallback(
|
|
|
|
|
(update: NodeUpdate) => {
|
|
|
|
@ -77,17 +70,7 @@ export default function useNodeData() {
|
|
|
|
|
: data.AdvertiseExitNode,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const urlParams = new URLSearchParams(window.location.search)
|
|
|
|
|
const nextParams = new URLSearchParams({ up: "true" })
|
|
|
|
|
const token = urlParams.get("SynoToken")
|
|
|
|
|
if (token) {
|
|
|
|
|
nextParams.set("SynoToken", token)
|
|
|
|
|
}
|
|
|
|
|
const search = nextParams.toString()
|
|
|
|
|
const url = `api/data${search ? `?${search}` : ""}`
|
|
|
|
|
|
|
|
|
|
var body, contentType: string
|
|
|
|
|
|
|
|
|
|
if (data.IsUnraid) {
|
|
|
|
|
const params = new URLSearchParams()
|
|
|
|
|
params.append("csrf_token", data.UnraidToken)
|
|
|
|
@ -99,11 +82,15 @@ export default function useNodeData() {
|
|
|
|
|
contentType = "application/json"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
apiFetch(url, {
|
|
|
|
|
method: "POST",
|
|
|
|
|
headers: { Accept: "application/json", "Content-Type": contentType },
|
|
|
|
|
body: body,
|
|
|
|
|
})
|
|
|
|
|
apiFetch(
|
|
|
|
|
"/data",
|
|
|
|
|
{
|
|
|
|
|
method: "POST",
|
|
|
|
|
headers: { Accept: "application/json", "Content-Type": contentType },
|
|
|
|
|
body: body,
|
|
|
|
|
},
|
|
|
|
|
{ up: "true" }
|
|
|
|
|
)
|
|
|
|
|
.then((r) => r.json())
|
|
|
|
|
.then((r) => {
|
|
|
|
|
setIsPosting(false)
|
|
|
|
|