IKHSAN
EN Read in EnglishID

homeio

Publik

Fork dari doctor-io/homeio

Branch
main
Commit terakhir
958d74616 Oktober 2026

useDiskMonitor.ts

Buka raw
"use client";

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

async function fetchDiskMonitor(): Promise<DiskMonitorResponse> {
  const response = await fetch("/api/v1/system/disks/activity", { cache: "no-store" });

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

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

/** Disks with live throughput and SMART, polled every 3 s while the Disks tab is open. */
export function useDiskMonitor(enabled: boolean) {
  return useQuery({
    queryKey: queryKeys.diskActivity,
    queryFn: fetchDiskMonitor,
    enabled,
    refetchInterval: enabled ? 3_000 : false,
    refetchOnWindowFocus: false,
  });
}
byte
867
baris
28
Jenis
ts
Commit terakhir
16 Oktober 2026