"use client"; import { CartesianGrid, Line, LineChart, XAxis, YAxis } from "recharts"; import { useDarkMode } from "usehooks-ts"; import { formatDateTime } from "@/components/SearchResults"; import { type ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent, } from "@/components/ui/chart"; const chartConfigLight = { views: { label: "播放", color: "#111417", }, likes: { label: "点赞", }, } satisfies ChartConfig; const chartConfigDark = { views: { label: "播放", color: "#EEEEF0", }, likes: { label: "点赞", }, } satisfies ChartConfig; interface ChartData { createdAt: string; views: number; } const formatDate = (dateStr: string, showYear = false) => formatDateTime(new Date(dateStr), showYear); const formatYAxisLabel = (value: number) => { if (value >= 1000000) { return `${(value / 10000).toPrecision(4)}万`; } else if (value >= 10000) { return `${(value / 10000).toPrecision(3)}万`; } return value.toLocaleString(); }; export function ViewsChart({ chartData }: { chartData: ChartData[] }) { const { isDarkMode } = useDarkMode(); if (!chartData || chartData.length === 0) return; return ( formatDate(e)} minTickGap={30} className="stat-num" /> formatDate(e, true)} /> } /> ); }