import React from 'react'; import { Activity, AlertTriangle, ZoomIn } from 'lucide-react'; import MetricCard from '../ui/MetricCard'; import TestExplanation from '../ui/TestExplanation'; const API_BASE = import.meta.env.VITE_API_URL || 'http://127.0.0.1:8000'; const RppgTab = ({ result, setZoomedImage, }) => { return ( <>
Biological Signal (rPPG)
Heartbeat detection via micro-color changes
{/* HERO VISUALS */} {result.rppg_analysis.signal_plot_path && (
setZoomedImage(`${API_BASE}/${result.rppg_analysis.signal_plot_path}`)}> rPPG Signal Spectrum
Dual-Panel PPG Waveform & Power Spectrum (FFT)
)} {/* METRICS GRID */}
1.5 ? 'success' : 'warning'} />
{result.rppg_analysis.warnings && result.rppg_analysis.warnings.length > 0 && (

Analysis Warnings

    {result.rppg_analysis.warnings.map((w, i) =>
  • {w}
  • )}
)}
); }; export default React.memo(RppgTab);