"use client"; import { Bar, CartesianGrid, ComposedChart, Legend, Line, ResponsiveContainer, Tooltip, XAxis, YAxis } from "recharts"; import { Card } from "@/components/ui/card"; import { useI18n } from "@/lib/i18n"; import { formatForecastRainfall, formatForecastTemperature } from "@/lib/forecast-utils"; import type { HourlyForecast } from "@/types/forecast"; const INITIAL_CHART_DIMENSION = { width: 1, height: 1 }; const CHART_COLORS = { grid: "hsl(var(--border) / 0.65)", tooltipBorder: "hsl(var(--border) / 0.75)", tooltipBackground: "hsl(var(--surface-raised) / 0.96)", tooltipText: "hsl(var(--foreground))", temperature: "hsl(var(--chart-temperature))", feelsLike: "hsl(var(--chart-feels-like))", rainfall: "hsl(var(--chart-rainfall))", probability: "hsl(var(--chart-probability))", }; function formatHour(value: string) { return value.slice(11, 16); } export function DayForecastCharts({ hours }: { hours: HourlyForecast[] }) { const { language, t } = useI18n(); const rows = hours.map((hour) => ({ time: formatHour(hour.time), temperature: hour.temperature, feelsLike: hour.feelsLike, precipitation: hour.precipitation, precipitationProbability: hour.precipitationProbability, })); return (
{t("forecast.temperatureChartDescription")}
{t("forecast.rainfallChartDescription")}