import { PriceChart } from "@/components/PriceChart"; import type { HistoryPoint } from "@/types/api"; const PERIODS = [ { key: "1m", label: "1M" }, { key: "3m", label: "3M" }, { key: "6m", label: "6M" }, { key: "1y", label: "1Y" }, { key: "5y", label: "5Y" } ]; type Props = { symbol: string; period: string; points: HistoryPoint[]; chartState: "idle" | "loading" | "ready" | "error"; chartError: string | null; onChangePeriod: (period: string) => void; }; export function ChartCard({ symbol, period, points, chartState, chartError, onChangePeriod }: Props) { return (
Price History

{symbol}

{PERIODS.map((option) => ( ))}

Chart loading is isolated from the rest of Overview. A history miss only affects this card.

{chartState === "loading" ?
Loading {period.toUpperCase()} history…
: null} {chartState === "error" ?
{chartError || "Could not load chart history."}
: null} {chartState === "ready" ? : null}
); }