import React from "react"; import ServiceTrackerClient from "./ServiceTrackerClient"; import { useQuery } from "@tanstack/react-query"; import { fetchService } from "@/lib/nezha-api"; import { ServiceData } from "@/types/nezha-api"; export const ServiceTracker: React.FC = () => { const { data: serviceData, isLoading } = useQuery({ queryKey: ["service"], queryFn: () => fetchService(), refetchOnMount: true, refetchOnWindowFocus: true, refetchInterval: 10000, }); const processServiceData = (serviceData: ServiceData) => { const days = serviceData.up.map((up, index) => ({ completed: up > serviceData.down[index], date: new Date(Date.now() - (29 - index) * 24 * 60 * 60 * 1000), })); const totalUp = serviceData.up.reduce((a, b) => a + b, 0); const totalChecks = serviceData.up.reduce((a, b) => a + b, 0) + serviceData.down.reduce((a, b) => a + b, 0); const uptime = (totalUp / totalChecks) * 100; return { days, uptime }; }; if (isLoading) { return