import { formatCurrency, formatPeriodLabel } from "@/lib/utils" import { DetailedTimeSeriesData } from "@/models/stats" interface ChartTooltipProps { data: DetailedTimeSeriesData | null defaultCurrency: string position: { x: number; y: number } visible: boolean containerWidth?: number } export function IncomeExpenceGraphTooltip({ data, defaultCurrency, position, visible }: ChartTooltipProps) { if (!visible || !data) { return null } const incomeCategories = data.categories.filter((cat) => cat.income > 0) const expenseCategories = data.categories.filter((cat) => cat.expenses > 0) const tooltipWidth = 320 // estimated max width const spaceToRight = window.innerWidth - position.x const showToRight = spaceToRight >= tooltipWidth + 20 // 20px margin const horizontalOffset = showToRight ? 15 : -15 // distance from cursor const horizontalTransform = showToRight ? "0%" : "-100%" return (
{data.totalTransactions} transaction{data.totalTransactions !== 1 ? "s" : ""}