From 78811bc9b16759e3dd515d8821d90bfb80cac659 Mon Sep 17 00:00:00 2001 From: Denozordec Date: Thu, 20 Aug 2026 00:49:27 +0700 Subject: [PATCH] feat(uptime-chart): enhance tooltip functionality and refactor delta display - Added useEffect to set tooltip portal for improved rendering. - Introduced UptimeDelta component to streamline delta display logic. - Updated ChartTooltip to utilize ChartTooltipContent for better formatting of tooltip data. - Refactored chart margin and overflow properties for improved layout consistency. --- .../src/components/reui-kit/uptime-chart.tsx | 107 +++++++++++------- 1 file changed, 64 insertions(+), 43 deletions(-) diff --git a/apps/web/src/components/reui-kit/uptime-chart.tsx b/apps/web/src/components/reui-kit/uptime-chart.tsx index 82fcc49..e968022 100644 --- a/apps/web/src/components/reui-kit/uptime-chart.tsx +++ b/apps/web/src/components/reui-kit/uptime-chart.tsx @@ -1,4 +1,4 @@ -import { useId, useMemo, useState } from 'react' +import { useEffect, useId, useMemo, useState } from 'react' import { ActivityIcon, InfoIcon, TrendingDownIcon, TrendingUpIcon } from 'lucide-react' import { Area, AreaChart, XAxis } from 'recharts' @@ -12,6 +12,7 @@ import { Button } from '@cfdm/ui/components/button' import { ChartContainer, ChartTooltip, + ChartTooltipContent, type ChartConfig, } from '@cfdm/ui/components/chart' import { Tabs, TabsList, TabsTrigger } from '@cfdm/ui/components/tabs' @@ -87,21 +88,27 @@ function deltaPercent(points: ChartPoint[]): number | null { return next - prev } -interface UptimeTooltipProps { - active?: boolean - payload?: Array<{ payload: ChartPoint }> -} +function UptimeDelta({ delta }: { delta: number }) { + if (Math.abs(delta) < 0.05) { + return без изменений за период + } + + if (delta > 0) { + return ( + <> +