import React from 'react'; import { Typography, Empty } from 'antd'; import type { HistogramData, InfoItem } from './types'; interface InfoPanelProps { style: React.CSSProperties; histogramCardStyle: React.CSSProperties; title: string; captureTime: string | number | null; basicList: InfoItem[]; shootingList: InfoItem[]; deviceList: InfoItem[]; miscList: InfoItem[]; histogram: HistogramData | null; } const SectionTitle: React.FC<{ children: React.ReactNode }> = ({ children }) => ( {children} ); const HistogramPlot: React.FC<{ data: HistogramData | null }> = ({ data }) => { if (!data) { return ; } const width = 260; const height = 140; const max = Math.max(...data.r, ...data.g, ...data.b, 1); const toPath = (arr: number[]) => arr .map((value, index) => { const x = (index / 255) * width; const y = height - (value / max) * height; return `${index === 0 ? 'M' : 'L'}${x.toFixed(2)},${y.toFixed(2)}`; }) .join(' '); return ( ); }; const InfoRows: React.FC<{ items: InfoItem[] }> = ({ items }) => (
{items .filter(item => item.value !== null && item.value !== undefined && item.value !== '') .map(item => ( {item.icon && {item.icon}} {item.label} {item.value} ))}
); export const InfoPanel: React.FC = ({ style, histogramCardStyle, title, captureTime, basicList, shootingList, deviceList, miscList, histogram, }) => ( );