IKHSAN
EN Read in EnglishID

homeio

Publik

Fork dari doctor-io/homeio

Branch
main
Commit terakhir
958d74616 Oktober 2026

useNetworkOverview.ts

Buka raw
"use client";

import { useQuery } from "@tanstack/react-query";
import type { NetworkOverview } from "@/lib/shared/contracts/network";
import { queryKeys } from "@/lib/shared/query-keys";

async function fetchNetworkOverview(): Promise<NetworkOverview> {
  const response = await fetch("/api/v1/network/overview", { cache: "no-store" });

  if (!response.ok) {
    throw new Error(`Failed to load network interfaces (${response.status})`);
  }

  const json = (await response.json()) as { data: NetworkOverview };
  return json.data;
}

/** Interfaces, gateway and DNS, polled every 3 s while the Network tab is open. */
export function useNetworkOverview(enabled: boolean) {
  return useQuery({
    queryKey: queryKeys.networkOverview,
    queryFn: fetchNetworkOverview,
    enabled,
    refetchInterval: enabled ? 3_000 : false,
    refetchOnWindowFocus: false,
  });
}
byte
873
baris
28
Jenis
ts
Commit terakhir
16 Oktober 2026