IKHSAN
ENID Baca dalam Bahasa Indonesia

homeio

Public

Forked from doctor-io/homeio

Branch
main
Latest commit
958d74616 October 2026

useNetworkOverview.ts

Open 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,
  });
}
bytes
873
lines
28
Type
ts
Latest commit
16 October 2026