import React from 'react'; import type { IChartData } from '@/app/_trpc/client'; import { useFormatDateInterval } from '@/hooks/useFormatDateInterval'; import { useNumber } from '@/hooks/useNumerFormatter'; import { useRechartDataModel } from '@/hooks/useRechartDataModel'; import { useVisibleSeries } from '@/hooks/useVisibleSeries'; import { getChartColor, theme } from '@/utils/theme'; import { Bar, BarChart, CartesianGrid, Tooltip, XAxis, YAxis } from 'recharts'; import type { IInterval } from '@openpanel/validation'; import { getYAxisWidth } from './chart-utils'; import { useChartContext } from './ChartProvider'; import { ReportChartTooltip } from './ReportChartTooltip'; import { ReportTable } from './ReportTable'; import { ResponsiveContainer } from './ResponsiveContainer'; interface ReportHistogramChartProps { data: IChartData; interval: IInterval; } function BarHover({ x, y, width, height, top, left, right, bottom }: any) { const bg = theme?.colors?.slate?.['200'] as string; return ( ); } export function ReportHistogramChart({ interval, data, }: ReportHistogramChartProps) { const { editMode, previous } = useChartContext(); const formatDate = useFormatDateInterval(interval); const { series, setVisibleSeries } = useVisibleSeries(data); const rechartData = useRechartDataModel(series); const number = useNumber(); return ( <> {({ width, height }) => ( } cursor={} /> {series.map((serie) => { return ( {previous && ( )} ); })} )} {editMode && ( )} ); }