diff --git a/application/src/components/services/ResponseTimeChart.tsx b/application/src/components/services/ResponseTimeChart.tsx index affb107..b8bba74 100644 --- a/application/src/components/services/ResponseTimeChart.tsx +++ b/application/src/components/services/ResponseTimeChart.tsx @@ -37,6 +37,10 @@ export function ResponseTimeChart({ uptimeData }: ResponseTimeChartProps) { date: format(timestamp, 'MMM dd, yyyy'), value: data.status === "paused" ? null : data.responseTime, status: data.status, + // Separate values for different statuses with proper spacing + upValue: data.status === "up" ? data.responseTime : null, + downValue: data.status === "down" ? data.responseTime : null, + warningValue: data.status === "warning" ? data.responseTime : null, }; }); }, [uptimeData]); @@ -79,31 +83,6 @@ export function ResponseTimeChart({ uptimeData }: ResponseTimeChartProps) { return null; }; - // Compute status segments for different areas - const getStatusSegments = () => { - const segments = { - up: [] as any[], - down: [] as any[], - warning: [] as any[] - }; - - chartData.forEach(point => { - if (point.status === "paused") return; - - if (point.status === "up") { - segments.up.push(point); - } else if (point.status === "down") { - segments.down.push(point); - } else if (point.status === "warning") { - segments.warning.push(point); - } - }); - - return segments; - }; - - const segments = getStatusSegments(); - // Check if we have any data to display - be more lenient by checking raw uptimeData const hasData = uptimeData.length > 0; @@ -176,42 +155,36 @@ export function ResponseTimeChart({ uptimeData }: ResponseTimeChartProps) { /> } /> - {/* Area charts for different statuses */} - {segments.up.length > 0 && ( - - )} + {/* Separate area charts for each status - rendered in order so they don't overlap */} + - {segments.down.length > 0 && ( - - )} + - {segments.warning.length > 0 && ( - - )} + {/* Add reference lines for paused periods */} {chartData.map((entry, index) => @@ -231,4 +204,4 @@ export function ResponseTimeChart({ uptimeData }: ResponseTimeChartProps) { ); -} +} \ No newline at end of file