import { useStore } from "@nanostores/react" import { HistoryIcon } from "lucide-react" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import { $chartTime } from "@/lib/stores" import { chartTimeData, cn, compareSemVer, parseSemVer } from "@/lib/utils" import type { ChartTimes, SemVer } from "@/types" import { memo } from "react" export default memo(function ChartTimeSelect({ className, agentVersion, chartTimeStore = $chartTime, allowRealtime = true, }: { className?: string agentVersion: SemVer chartTimeStore?: typeof $chartTime allowRealtime?: boolean }) { const chartTime = useStore(chartTimeStore) // remove chart times that are not supported by the system agent version const availableChartTimes = Object.entries(chartTimeData).filter(([value, { minVersion }]) => { if (value === "1m" && !allowRealtime) { return false } if (!minVersion) { return true } return compareSemVer(agentVersion, parseSemVer(minVersion)) >= 0 }) return ( ) })