From 7b18a224c1dde5774a0c991a673e34ecce5f305f Mon Sep 17 00:00:00 2001 From: Tola Leng Date: Thu, 26 Jun 2025 14:32:23 +0700 Subject: [PATCH] Update the service detail page to display all monitoring data (default and regional) in separate lines on the graph when "All Monitoring" is selected. Preserve the original functionality of other monitoring source options. --- .../services/RegionalAgentFilter.tsx | 16 +- .../components/services/ResponseTimeChart.tsx | 537 +++++++++++++----- .../hooks/useServiceData.tsx | 65 ++- .../src/components/services/ServiceHeader.tsx | 8 +- .../src/components/services/ServiceRow.tsx | 2 +- .../src/components/services/UptimeBar.tsx | 149 +++-- .../hooks/useConsolidatedUptimeData.ts | 209 +++++++ .../services/hooks/useDefaultUptimeData.ts | 180 ++++++ .../services/hooks/useUptimeData.ts | 67 +-- .../services/uptime/UptimeSummary.tsx | 4 +- 10 files changed, 994 insertions(+), 243 deletions(-) create mode 100644 application/src/components/services/hooks/useConsolidatedUptimeData.ts create mode 100644 application/src/components/services/hooks/useDefaultUptimeData.ts diff --git a/application/src/components/services/RegionalAgentFilter.tsx b/application/src/components/services/RegionalAgentFilter.tsx index 3d5962a..f2396cd 100644 --- a/application/src/components/services/RegionalAgentFilter.tsx +++ b/application/src/components/services/RegionalAgentFilter.tsx @@ -2,7 +2,7 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { useQuery } from "@tanstack/react-query"; import { regionalService } from "@/services/regionalService"; -import { MapPin, Loader2, Globe } from "lucide-react"; +import { MapPin, Loader2, BarChart3 } from "lucide-react"; interface RegionalAgentFilterProps { selectedAgent: string; @@ -19,8 +19,8 @@ export function RegionalAgentFilter({ selectedAgent, onAgentChange }: RegionalAg const onlineAgents = regionalAgents.filter(agent => agent.connection === 'online'); const getCurrentAgentDisplay = () => { - if (!selectedAgent || selectedAgent === "default") { - return "Default Monitoring"; + if (!selectedAgent || selectedAgent === "all") { + return "All Monitoring"; } const [regionName] = selectedAgent.split("|"); @@ -32,7 +32,7 @@ export function RegionalAgentFilter({ selectedAgent, onAgentChange }: RegionalAg return `${agent.region_name} (${agent.agent_ip_address})`; } - return regionName || "Default Monitoring"; + return regionName || "All Monitoring"; }; return ( @@ -43,7 +43,7 @@ export function RegionalAgentFilter({ selectedAgent, onAgentChange }: RegionalAg