import { motion, AnimatePresence } from "framer-motion"; import { useStableBpm } from "../hooks/useStableBpm"; import { type MeasurementStatus } from "../lib/constants"; import StatusPill from "./StatusPill"; interface MeasureHeaderProps { bpm: number; status: MeasurementStatus; confidence: number; } export default function MeasureHeader({ bpm, status, confidence }: MeasureHeaderProps) { const displayedBpm = useStableBpm(bpm); const isActive = status === "measuring" || status === "calibrating"; return (
{displayedBpm > 0 ? displayedBpm : "—"} BPM
{confidence > 0 && ( = 0.8 ? "var(--color-accent)" : confidence >= 0.5 ? "var(--color-warning)" : "var(--color-danger)" }} > Confidence: {Math.round(confidence * 100)}% )}
); }