interface HNSRightPanelProps {
dispersionResult: {
zones: Array<{
level: string
color: string
radius: number
angle: number
}>
timestamp: string
windDirection: number
substance: string
concentration: {
'AEGL-3': string
'AEGL-2': string
'AEGL-1': string
}
} | null
onOpenRecalc?: () => void
onOpenReport?: () => void
}
export function HNSRightPanel({ dispersionResult, onOpenRecalc, onOpenReport }: HNSRightPanelProps) {
if (!dispersionResult) {
return (
๐
์์ธก ์คํ ํ ๊ฒฐ๊ณผ๊ฐ ํ์๋ฉ๋๋ค
)
}
return (
{/* Header */}
{dispersionResult.substance} ยท ALOHA v5.4.7
{/* KPI Cards */}
ํ๊ท ํ์ฐ ๋ฉด์
8.2 kmยฒ
{/* Zone Details */}
ํ์ฐ ๊ตฌ์ญ ์์ธ
{dispersionResult.zones.map((zone, idx) => (
{zone.level}
{zone.radius}m
{dispersionResult.concentration[zone.level as keyof typeof dispersionResult.concentration]}
))}
{/* Timestamp */}
์์ธก ์๊ฐ: {new Date(dispersionResult.timestamp).toLocaleString('ko-KR')}
{/* Bottom Action Buttons */}
)
}